<?php
// THIS FILE IS GENERATED
// WARNING! All changes made in this file will be lost!

/**
 * The number of arguments passed to script
 **/
$argc = array();

/**
 * Array of arguments passed to script
 **/
$argv = array();

/**
 * References all variables available in global scope
 *
 * @superglobal
 **/
$GLOBALS = array();

/**
 * HTTP Cookies
 *
 * @deprecated
 **/
$HTTP_COOKIE_VARS = array();

/**
 * Environment variables
 *
 * @deprecated
 **/
$HTTP_ENV_VARS = array();

/**
 * HTTP GET variables
 *
 * @deprecated
 **/
$HTTP_GET_VARS = array();

/**
 * HTTP File Upload variables
 *
 * @deprecated
 **/
$HTTP_POST_FILES = array();

/**
 * HTTP POST variables
 *
 * @deprecated
 **/
$HTTP_POST_VARS = array();

/**
 * Raw POST data
 **/
$HTTP_RAW_POST_DATA = array();

/**
 * HTTP response headers
 **/
$http_response_header = array();

/**
 * Session variables
 *
 * @deprecated
 **/
$HTTP_SESSION_VARS = array();

/**
 * The previous error message
 **/
$php_errormsg = array();

/**
 * HTTP Cookies
 *
 * @superglobal
 **/
$_COOKIE = array();

/**
 * Environment variables
 *
 * @superglobal
 **/
$_ENV = array();

/**
 * HTTP File Upload variables
 *
 * @superglobal
 **/
$_FILES = array();

/**
 * HTTP GET variables
 *
 * @superglobal
 **/
$_GET = array();

/**
 * HTTP POST variables
 *
 * @superglobal
 **/
$_POST = array();

/**
 * HTTP Request variables
 *
 * @superglobal
 **/
$_REQUEST = array();

/**
 * Server and execution environment information
 *
 * @superglobal
 **/
$_SERVER = array();

/**
 * Session variables
 *
 * @superglobal
 **/
$_SESSION = array();

/**
 * Interface to detect if a class is traversable using . Abstract base
 * interface that cannot be implemented alone. Instead it must be
 * implemented by either IteratorAggregate or Iterator. This interface
 * has no methods, its only purpose is to be the base interface for all
 * traversable classes.
 **/
interface Traversable {
}
/**
 * Interface for external iterators or objects that can be iterated
 * themselves internally. PHP already provides a number of iterators for
 * many day to day tasks. See SPL iterators for a list.
 **/
interface Iterator extends Traversable {
    /**
     * Return the current element
     *
     * Returns the current element.
     *
     * @return mixed Can return any type.
     * @since PHP 5, PHP 7
     **/
    public function current();

    /**
     * Return the key of the current element
     *
     * Returns the key of the current element.
     *
     * @return scalar Returns scalar on success, or NULL on failure.
     * @since PHP 5, PHP 7
     **/
    public function key();

    /**
     * Move forward to next element
     *
     * Moves the current position to the next element.
     *
     * @return void Any returned value is ignored.
     * @since PHP 5, PHP 7
     **/
    public function next();

    /**
     * Rewind the Iterator to the first element
     *
     * Rewinds back to the first element of the Iterator.
     *
     * @return void Any returned value is ignored.
     * @since PHP 5, PHP 7
     **/
    public function rewind();

    /**
     * Checks if current position is valid
     *
     * This method is called after Iterator::rewind and Iterator::next to
     * check if the current position is valid.
     *
     * @return bool The return value will be casted to boolean and then
     *   evaluated.
     * @since PHP 5, PHP 7
     **/
    public function valid();

}
/**
 * Throwable is the base interface for any object that can be thrown via
 * a statement in PHP 7, including Error and Exception.
 **/
interface Throwable {
    /**
     * Gets the exception code
     *
     * Returns the error code associated with the thrown object.
     *
     * @return int Returns the exception code as integer in Exception but
     *   possibly as other type in Exception descendants (for example as
     *   string in PDOException).
     * @since PHP 7
     **/
    public function getCode();

    /**
     * Gets the file in which the exception was created
     *
     * Get the name of the file in which the exception was created.
     *
     * @return string Returns the filename in which the exception was
     *   created.
     * @since PHP 7
     **/
    public function getFile();

    /**
     * Gets the line on which the object was instantiated
     *
     * Returns the line number where the thrown object was instantiated.
     *
     * @return int Returns the line number where the thrown object was
     *   instantiated.
     * @since PHP 7
     **/
    public function getLine();

    /**
     * Gets the message
     *
     * Returns the message associated with the thrown object.
     *
     * @return string Returns the message associated with the thrown
     *   object.
     * @since PHP 7
     **/
    public function getMessage();

    /**
     * Returns the previous Throwable
     *
     * Returns any previous Throwable (for example, one provided as the third
     * parameter to Exception::__construct).
     *
     * @return Throwable Returns the previous Throwable if available, or
     *   NULL otherwise.
     * @since PHP 7
     **/
    public function getPrevious();

    /**
     * Gets the stack trace
     *
     * Returns the stack trace as an array.
     *
     * @return array Returns the stack trace as an array in the same format
     *   as {@link debug_backtrace}.
     * @since PHP 7
     **/
    public function getTrace();

    /**
     * Gets the stack trace as a string
     *
     * @return string Returns the stack trace as a string.
     * @since PHP 7
     **/
    public function getTraceAsString();

    /**
     * Gets a string representation of the thrown object
     *
     * @return string Returns the string representation of the thrown
     *   object.
     * @since PHP 7
     **/
    public function __toString();

}
/**
 * Error is the base class for all internal PHP errors.
 **/
class Error implements Throwable {
    /**
     * The error code
     *
     * @var int
     **/
    protected $code;

    /**
     * The filename where the error happened
     *
     * @var string
     **/
    protected $file;

    /**
     * The line where the error happened
     *
     * @var int
     **/
    protected $line;

    /**
     * The error message
     *
     * @var string
     **/
    protected $message;

    /**
     * Gets the error code
     *
     * Returns the error code.
     *
     * @return mixed Returns the error code as integer
     **/
    final public function getCode(){}

    /**
     * Gets the file in which the error occurred
     *
     * Get the name of the file the error occurred.
     *
     * @return string Returns the filename in which the error occurred.
     **/
    final public function getFile(){}

    /**
     * Gets the line in which the error occurred
     *
     * Get line number where the error occurred.
     *
     * @return int Returns the line number where the error occurred.
     **/
    final public function getLine(){}

    /**
     * Gets the error message
     *
     * Returns the error message.
     *
     * @return string Returns the error message as a string.
     **/
    final public function getMessage(){}

    /**
     * Returns previous Throwable
     *
     * Returns previous Throwable (the third parameter of
     * Error::__construct).
     *
     * @return Throwable Returns the previous Throwable if available or
     *   NULL otherwise.
     **/
    final public function getPrevious(){}

    /**
     * Gets the stack trace
     *
     * Returns the stack trace.
     *
     * @return array Returns the stack trace as an array.
     **/
    final public function getTrace(){}

    /**
     * Gets the stack trace as a string
     *
     * Returns the stack trace as a string.
     *
     * @return string Returns the stack trace as a string.
     **/
    final public function getTraceAsString(){}

    /**
     * Clone the error
     *
     * Error can not be clone, so this method results in fatal error.
     *
     * @return void
     **/
    final private function __clone(){}

    /**
     * String representation of the error
     *
     * Returns the string representation of the error.
     *
     * @return string Returns the string representation of the error.
     **/
    public function __toString(){}

}
/**
 * Exception is the base class for all Exceptions in PHP 5, and the base
 * class for all user exceptions in PHP 7. Before PHP 7, Exception did
 * not implement the Throwable interface.
 **/
class Exception implements Throwable {
    /**
     * The exception code
     *
     * @var int
     **/
    protected $code;

    /**
     * The filename where the exception was created
     *
     * @var string
     **/
    protected $file;

    /**
     * The line where the exception was created
     *
     * @var int
     **/
    protected $line;

    /**
     * The exception message
     *
     * @var string
     **/
    protected $message;

    /**
     * Gets the Exception code
     *
     * Returns the Exception code.
     *
     * @return mixed Returns the exception code as integer in Exception but
     *   possibly as other type in Exception descendants (for example as
     *   string in PDOException).
     * @since PHP 5, PHP 7
     **/
    final public function getCode(){}

    /**
     * Gets the file in which the exception was created
     *
     * Get the name of the file in which the exception was created.
     *
     * @return string Returns the filename in which the exception was
     *   created.
     * @since PHP 5, PHP 7
     **/
    final public function getFile(){}

    /**
     * Gets the line in which the exception was created
     *
     * Get line number where the exception was created.
     *
     * @return int Returns the line number where the exception was created.
     * @since PHP 5, PHP 7
     **/
    final public function getLine(){}

    /**
     * Gets the Exception message
     *
     * Returns the Exception message.
     *
     * @return string Returns the Exception message as a string.
     * @since PHP 5, PHP 7
     **/
    final public function getMessage(){}

    /**
     * Returns previous Exception
     *
     * Returns previous exception (the third parameter of
     * Exception::__construct).
     *
     * @return Throwable Returns the previous Throwable if available or
     *   NULL otherwise.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    final public function getPrevious(){}

    /**
     * Gets the stack trace
     *
     * Returns the Exception stack trace.
     *
     * @return array Returns the Exception stack trace as an array.
     * @since PHP 5, PHP 7
     **/
    final public function getTrace(){}

    /**
     * Gets the stack trace as a string
     *
     * Returns the Exception stack trace as a string.
     *
     * @return string Returns the Exception stack trace as a string.
     * @since PHP 5, PHP 7
     **/
    final public function getTraceAsString(){}

    /**
     * Clone the exception
     *
     * Tries to clone the Exception, which results in Fatal error.
     *
     * @return void
     * @since PHP 5, PHP 7
     **/
    final private function __clone(){}

    /**
     * String representation of the exception
     *
     * Returns the string representation of the exception.
     *
     * @return string Returns the string representation of the exception.
     * @since PHP 5, PHP 7
     **/
    public function __toString(){}

}
/**
 * The APCIterator class makes it easier to iterate over large APC
 * caches. This is helpful as it allows iterating over large caches in
 * steps, while grabbing a defined number of entries per lock instance,
 * so it frees the cache locks for other activities rather than hold up
 * the entire cache to grab 100 (the default) entries. Also, using
 * regular expression matching is more efficient as it's been moved to
 * the C level.
 **/
class APCIterator implements Iterator {
    /**
     * Get current item
     *
     * Gets the current item from the APCIterator stack.
     *
     * @return mixed Returns the current item on success, or FALSE if no
     *   more items or exist, or on failure.
     * @since PECL apc >= 3.1.1
     **/
    public function current(){}

    /**
     * Get total count
     *
     * Get the total count.
     *
     * @return int The total count.
     * @since PECL apc >= 3.1.1
     **/
    public function getTotalCount(){}

    /**
     * Get total cache hits
     *
     * Gets the total number of cache hits.
     *
     * @return int The number of hits on success, or FALSE on failure.
     * @since PECL apc >= 3.1.1
     **/
    public function getTotalHits(){}

    /**
     * Get total cache size
     *
     * Gets the total cache size.
     *
     * @return int The total cache size.
     * @since PECL apc >= 3.1.1
     **/
    public function getTotalSize(){}

    /**
     * Get iterator key
     *
     * Gets the current iterator key.
     *
     * @return string Returns the key on success, or FALSE upon failure.
     * @since PECL apc >= 3.1.1
     **/
    public function key(){}

    /**
     * Move pointer to next item
     *
     * Moves the iterator pointer to the next element.
     *
     * @return void
     * @since PECL apc >= 3.1.1
     **/
    public function next(){}

    /**
     * Rewinds iterator
     *
     * Rewinds back the iterator to the first element.
     *
     * @return void
     * @since PECL apc >= 3.1.1
     **/
    public function rewind(){}

    /**
     * Checks if current position is valid
     *
     * Checks if the current iterator position is valid.
     *
     * @return void Returns TRUE if the current iterator position is valid,
     *   otherwise FALSE.
     * @since PECL apc >= 3.1.1
     **/
    public function valid(){}

    /**
     * Constructs an APCIterator iterator object
     *
     * Constructs an APCIterator object.
     *
     * @param string $cache The cache type, which will be user or file.
     * @param mixed $search A PCRE regular expression that matches against
     *   APC key names, either as a string for a single regular expression,
     *   or as an array of regular expressions. Or, optionally pass in NULL
     *   to skip the search.
     * @param int $format The desired format, as configured with one or
     *   more of the APC_ITER_* constants.
     * @param int $chunk_size The chunk size. Must be a value greater than
     *   0. The default value is 100.
     * @param int $list The type to list. Either pass in APC_LIST_ACTIVE or
     *   APC_LIST_DELETED.
     * @since PECL apc >= 3.1.1
     **/
    public function __construct($cache, $search, $format, $chunk_size, $list){}

}
/**
 * The APCUIterator class makes it easier to iterate over large APCu
 * caches. This is helpful as it allows iterating over large caches in
 * steps, while grabbing a defined number of entries per lock instance,
 * so it frees the cache locks for other activities rather than hold up
 * the entire cache to grab 100 (the default) entries. Also, using
 * regular expression matching is more efficient as it's been moved to
 * the C level.
 **/
class APCUIterator implements Iterator {
    /**
     * Get current item
     *
     * Gets the current item from the APCUIterator stack.
     *
     * @return mixed Returns the current item on success, or FALSE if no
     *   more items or exist, or on failure.
     * @since PECL apcu >= 5.0.0
     **/
    public function current(){}

    /**
     * Get total count
     *
     * Get the total count.
     *
     * @return int The total count.
     * @since PECL apcu >= 5.0.0
     **/
    public function getTotalCount(){}

    /**
     * Get total cache hits
     *
     * Gets the total number of cache hits.
     *
     * @return int The number of hits on success, or FALSE on failure.
     * @since PECL apcu >= 5.0.0
     **/
    public function getTotalHits(){}

    /**
     * Get total cache size
     *
     * Gets the total cache size.
     *
     * @return int The total cache size.
     * @since PECL apcu >= 5.0.0
     **/
    public function getTotalSize(){}

    /**
     * Get iterator key
     *
     * Gets the current iterator key.
     *
     * @return string Returns the key on success, or FALSE upon failure.
     * @since PECL apcu >= 5.0.0
     **/
    public function key(){}

    /**
     * Move pointer to next item
     *
     * Moves the iterator pointer to the next element.
     *
     * @return void
     * @since PECL apcu >= 5.0.0
     **/
    public function next(){}

    /**
     * Rewinds iterator
     *
     * Rewinds back the iterator to the first element.
     *
     * @return void
     * @since PECL apcu >= 5.0.0
     **/
    public function rewind(){}

    /**
     * Checks if current position is valid
     *
     * Checks if the current iterator position is valid.
     *
     * @return void Returns TRUE if the current iterator position is valid,
     *   otherwise FALSE.
     * @since PECL apcu >= 5.0.0
     **/
    public function valid(){}

    /**
     * Constructs an APCUIterator iterator object
     *
     * Constructs an APCUIterator object.
     *
     * @param mixed $search A PCRE regular expression that matches against
     *   APCu key names, either as a string for a single regular expression,
     *   or as an array of regular expressions. Or, optionally pass in NULL
     *   to skip the search.
     * @param int $format The desired format, as configured with one or
     *   more of the APC_ITER_* constants.
     * @param int $chunk_size The chunk size. Must be a value greater than
     *   0. The default value is 100.
     * @param int $list The type to list. Either pass in APC_LIST_ACTIVE or
     *   APC_LIST_DELETED.
     * @since PECL apcu >= 5.0.0
     **/
    public function __construct($search, $format, $chunk_size, $list){}

}
/**
 * An Iterator that iterates over several iterators one after the other.
 **/
class AppendIterator extends IteratorIterator implements OuterIterator {
    /**
     * Appends an iterator
     *
     * @param Iterator $iterator The iterator to append.
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function append($iterator){}

    /**
     * Gets the current value
     *
     * @return mixed The current value if it is valid or NULL otherwise.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function current(){}

    /**
     * Gets the ArrayIterator
     *
     * This method gets the ArrayIterator that is used to store the iterators
     * added with AppendIterator::append.
     *
     * @return ArrayIterator Returns an ArrayIterator containing the
     *   appended iterators.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function getArrayIterator(){}

    /**
     * Gets the inner iterator
     *
     * This method returns the current inner iterator.
     *
     * @return Iterator The current inner iterator, or NULL if there is not
     *   one.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function getInnerIterator(){}

    /**
     * Gets an index of iterators
     *
     * Gets the index of the current inner iterator.
     *
     * @return int Returns an integer, which is the zero-based index of the
     *   current inner iterator.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function getIteratorIndex(){}

    /**
     * Gets the current key
     *
     * Get the current key.
     *
     * @return scalar The current key if it is valid or NULL otherwise.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function key(){}

    /**
     * Moves to the next element
     *
     * Moves to the next element. If this means to another Iterator then it
     * rewinds that Iterator.
     *
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function next(){}

    /**
     * Rewinds the Iterator
     *
     * Rewind to the first element of the first inner Iterator.
     *
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function rewind(){}

    /**
     * Checks validity of the current element
     *
     * @return bool Returns TRUE if the current iteration is valid, FALSE
     *   otherwise.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function valid(){}

}
/**
 * ArgumentCountError is thrown when too few arguments are passed to a
 * user-defined function or method.
 **/
class ArgumentCountError extends TypeError {
}
/**
 * ArithmeticError is thrown when an error occurs while performing
 * mathematical operations. In PHP 7.0, these errors include attempting
 * to perform a bitshift by a negative amount, and any call to {@link
 * intdiv} that would result in a value outside the possible bounds of an
 * integer.
 **/
class ArithmeticError extends Error {
}
/**
 * Interface to provide accessing objects as arrays.
 **/
interface ArrayAccess {
    /**
     * Whether an offset exists
     *
     * Whether or not an offset exists.
     *
     * This method is executed when using {@link isset} or {@link empty} on
     * objects implementing ArrayAccess.
     *
     * @param mixed $offset An offset to check for.
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function offsetExists($offset);

    /**
     * Offset to retrieve
     *
     * Returns the value at specified offset.
     *
     * This method is executed when checking if offset is {@link empty}.
     *
     * @param mixed $offset The offset to retrieve.
     * @return mixed Can return all value types.
     * @since PHP 5, PHP 7
     **/
    public function offsetGet($offset);

    /**
     * Assign a value to the specified offset
     *
     * Assigns a value to the specified offset.
     *
     * @param mixed $offset The offset to assign the value to.
     * @param mixed $value The value to set.
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function offsetSet($offset, $value);

    /**
     * Unset an offset
     *
     * Unsets an offset.
     *
     * @param mixed $offset The offset to unset.
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function offsetUnset($offset);

}
/**
 * This iterator allows to unset and modify values and keys while
 * iterating over Arrays and Objects. When you want to iterate over the
 * same array multiple times you need to instantiate ArrayObject and let
 * it create ArrayIterator instances that refer to it either by using or
 * by calling its getIterator() method manually.
 **/
class ArrayIterator implements ArrayAccess, SeekableIterator, Countable, Serializable {
    /**
     * Append an element
     *
     * Appends value as the last element.
     *
     * @param mixed $value The value to append.
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function append($value){}

    /**
     * Sort array by values
     *
     * Sorts an array by values.
     *
     * @return void
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function asort(){}

    /**
     * Count elements
     *
     * Gets the number of elements in the array, or the number of public
     * properties in the object.
     *
     * @return int The number of elements or public properties in the
     *   associated array or object, respectively.
     * @since PHP 5, PHP 7
     **/
    public function count(){}

    /**
     * Return current array entry
     *
     * Get the current array entry.
     *
     * @return mixed The current array entry.
     * @since PHP 5, PHP 7
     **/
    public function current(){}

    /**
     * Get array copy
     *
     * Get a copy of an array.
     *
     * @return array A copy of the array, or array of public properties if
     *   ArrayIterator refers to an object.
     * @since PHP 5, PHP 7
     **/
    public function getArrayCopy(){}

    /**
     * Get flags
     *
     * Get the current flags.
     *
     * @return void The current flags.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function getFlags(){}

    /**
     * Return current array key
     *
     * This function returns the current array key
     *
     * @return mixed The current array key.
     * @since PHP 5, PHP 7
     **/
    public function key(){}

    /**
     * Sort array by keys
     *
     * Sorts an array by the keys.
     *
     * @return void
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function ksort(){}

    /**
     * Sort an array naturally, case insensitive
     *
     * Sort the entries by values using a case insensitive "natural order"
     * algorithm.
     *
     * @return void
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function natcasesort(){}

    /**
     * Sort an array naturally
     *
     * Sort the entries by values using "natural order" algorithm.
     *
     * @return void
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function natsort(){}

    /**
     * Move to next entry
     *
     * The iterator to the next entry.
     *
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function next(){}

    /**
     * Check if offset exists
     *
     * Checks if the offset exists.
     *
     * @param string $index The offset being checked.
     * @return void TRUE if the offset exists, otherwise FALSE
     * @since PHP 5, PHP 7
     **/
    public function offsetExists($index){}

    /**
     * Get value for an offset
     *
     * Gets the value from the provided offset.
     *
     * @param string $index The offset to get the value from.
     * @return mixed The value at offset {@link index}.
     * @since PHP 5, PHP 7
     **/
    public function offsetGet($index){}

    /**
     * Set value for an offset
     *
     * Sets a value for a given offset.
     *
     * @param string $index The index to set for.
     * @param string $newval The new value to store at the index.
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function offsetSet($index, $newval){}

    /**
     * Unset value for an offset
     *
     * Unsets a value for an offset.
     *
     * @param string $index The offset to unset.
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function offsetUnset($index){}

    /**
     * Rewind array back to the start
     *
     * This rewinds the iterator to the beginning.
     *
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function rewind(){}

    /**
     * Seek to position
     *
     * @param int $position The position to seek to.
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function seek($position){}

    /**
     * Serialize
     *
     * @return string The serialized ArrayIterator.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function serialize(){}

    /**
     * Set behaviour flags
     *
     * Sets behaviour flags.
     *
     * @param string $flags A bitmask as follows: 0 = Properties of the
     *   object have their normal functionality when accessed as list
     *   (var_dump, foreach, etc.). 1 = Array indices can be accessed as
     *   properties in read/write.
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function setFlags($flags){}

    /**
     * Sort with a user-defined comparison function and maintain index
     * association
     *
     * This method sorts the elements such that indices maintain their
     * correlation with the values they are associated with, using a
     * user-defined comparison function.
     *
     * @param callable $cmp_function
     * @return void
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function uasort($cmp_function){}

    /**
     * Sort by keys using a user-defined comparison function
     *
     * This method sorts the elements by keys using a user-supplied
     * comparison function.
     *
     * @param callable $cmp_function
     * @return void
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function uksort($cmp_function){}

    /**
     * Unserialize
     *
     * @param string $serialized The serialized ArrayIterator object to be
     *   unserialized.
     * @return string The ArrayIterator.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function unserialize($serialized){}

    /**
     * Check whether array contains more entries
     *
     * Checks if the array contains any more entries.
     *
     * @return bool Returns TRUE if the iterator is valid, otherwise FALSE
     * @since PHP 5, PHP 7
     **/
    public function valid(){}

    /**
     * Construct an ArrayIterator
     *
     * Constructs an ArrayIterator object.
     *
     * @param mixed $array The array or object to be iterated on.
     * @param int $flags Flags to control the behaviour of the
     *   ArrayIterator object. See ArrayIterator::setFlags.
     * @since PHP 5, PHP 7
     **/
    public function __construct($array, $flags){}

}
/**
 * This class allows objects to work as arrays.
 **/
class ArrayObject implements IteratorAggregate, ArrayAccess, Serializable, Countable {
    /**
     * Appends the value
     *
     * Appends a new value as the last element.
     *
     * @param mixed $value The value being appended.
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function append($value){}

    /**
     * Sort the entries by value
     *
     * Sorts the entries such that the keys maintain their correlation with
     * the entries they are associated with. This is used mainly when sorting
     * associative arrays where the actual element order is significant.
     *
     * @return void
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function asort(){}

    /**
     * Get the number of public properties in the ArrayObject
     *
     * Get the number of public properties in the ArrayObject.
     *
     * @return int The number of public properties in the ArrayObject.
     * @since PHP 5, PHP 7
     **/
    public function count(){}

    /**
     * Exchange the array for another one
     *
     * Exchange the current array with another array or object.
     *
     * @param mixed $input The new array or object to exchange with the
     *   current array.
     * @return array Returns the old array.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function exchangeArray($input){}

    /**
     * Creates a copy of the ArrayObject
     *
     * Exports the ArrayObject to an array.
     *
     * @return array Returns a copy of the array. When the ArrayObject
     *   refers to an object, an array of the public properties of that
     *   object will be returned.
     * @since PHP 5, PHP 7
     **/
    public function getArrayCopy(){}

    /**
     * Gets the behavior flags
     *
     * Gets the behavior flags of the ArrayObject. See the
     * ArrayObject::setFlags method for a list of the available flags.
     *
     * @return int Returns the behavior flags of the ArrayObject.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function getFlags(){}

    /**
     * Create a new iterator from an ArrayObject instance
     *
     * Create a new iterator from an ArrayObject instance.
     *
     * @return ArrayIterator An iterator from an ArrayObject.
     * @since PHP 5, PHP 7
     **/
    public function getIterator(){}

    /**
     * Gets the iterator classname for the ArrayObject
     *
     * Gets the class name of the array iterator that is used by
     * ArrayObject::getIterator().
     *
     * @return string Returns the iterator class name that is used to
     *   iterate over this object.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function getIteratorClass(){}

    /**
     * Sort the entries by key
     *
     * Sorts the entries by key, maintaining key to entry correlations. This
     * is useful mainly for associative arrays.
     *
     * @return void
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function ksort(){}

    /**
     * Sort an array using a case insensitive "natural order" algorithm
     *
     * This method is a case insensitive version of ArrayObject::natsort.
     *
     * This method implements a sort algorithm that orders alphanumeric
     * strings in the way a human being would while maintaining key/value
     * associations. This is described as a "natural ordering".
     *
     * @return void
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function natcasesort(){}

    /**
     * Sort entries using a "natural order" algorithm
     *
     * This method implements a sort algorithm that orders alphanumeric
     * strings in the way a human being would while maintaining key/value
     * associations. This is described as a "natural ordering". An example of
     * the difference between this algorithm and the regular computer string
     * sorting algorithms (used in ArrayObject::asort) method can be seen in
     * the example below.
     *
     * @return void
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function natsort(){}

    /**
     * Returns whether the requested index exists
     *
     * @param mixed $index The index being checked.
     * @return bool TRUE if the requested index exists, otherwise FALSE
     * @since PHP 5, PHP 7
     **/
    public function offsetExists($index){}

    /**
     * Returns the value at the specified index
     *
     * @param mixed $index The index with the value.
     * @return mixed The value at the specified index or NULL.
     * @since PHP 5, PHP 7
     **/
    public function offsetGet($index){}

    /**
     * Sets the value at the specified index to newval
     *
     * @param mixed $index The index being set.
     * @param mixed $newval The new value for the {@link index}.
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function offsetSet($index, $newval){}

    /**
     * Unsets the value at the specified index
     *
     * @param mixed $index The index being unset.
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function offsetUnset($index){}

    /**
     * Serialize an ArrayObject
     *
     * Serializes an ArrayObject.
     *
     * @return string The serialized representation of the ArrayObject.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function serialize(){}

    /**
     * Sets the behavior flags
     *
     * Set the flags that change the behavior of the ArrayObject.
     *
     * @param int $flags The new ArrayObject behavior. It takes on either a
     *   bitmask, or named constants. Using named constants is strongly
     *   encouraged to ensure compatibility for future versions. The
     *   available behavior flags are listed below. The actual meanings of
     *   these flags are described in the predefined constants. ArrayObject
     *   behavior flags value constant 1 ArrayObject::STD_PROP_LIST 2
     *   ArrayObject::ARRAY_AS_PROPS
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function setFlags($flags){}

    /**
     * Sets the iterator classname for the ArrayObject
     *
     * Sets the classname of the array iterator that is used by
     * ArrayObject::getIterator().
     *
     * @param string $iterator_class The classname of the array iterator to
     *   use when iterating over this object.
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function setIteratorClass($iterator_class){}

    /**
     * Sort the entries with a user-defined comparison function and maintain
     * key association
     *
     * This function sorts the entries such that keys maintain their
     * correlation with the entry that they are associated with, using a
     * user-defined comparison function.
     *
     * This is used mainly when sorting associative arrays where the actual
     * element order is significant.
     *
     * @param callable $cmp_function Function {@link cmp_function} should
     *   accept two parameters which will be filled by pairs of entries. The
     *   comparison function must return an integer less than, equal to, or
     *   greater than zero if the first argument is considered to be
     *   respectively less than, equal to, or greater than the second.
     * @return void
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function uasort($cmp_function){}

    /**
     * Sort the entries by keys using a user-defined comparison function
     *
     * This function sorts the keys of the entries using a user-supplied
     * comparison function. The key to entry correlations will be maintained.
     *
     * @param callable $cmp_function The callback comparison function.
     *   Function {@link cmp_function} should accept two parameters which
     *   will be filled by pairs of entry keys. The comparison function must
     *   return an integer less than, equal to, or greater than zero if the
     *   first argument is considered to be respectively less than, equal to,
     *   or greater than the second.
     * @return void
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function uksort($cmp_function){}

    /**
     * Unserialize an ArrayObject
     *
     * Unserializes a serialized ArrayObject.
     *
     * @param string $serialized The serialized ArrayObject.
     * @return void The unserialized ArrayObject.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function unserialize($serialized){}

}
/**
 * AssertionError is thrown when an assertion made via {@link assert}
 * fails.
 **/
class AssertionError extends Error {
}
/**
 * Exception thrown if a callback refers to an undefined function or if
 * some arguments are missing.
 **/
class BadFunctionCallException extends LogicException {
}
/**
 * Exception thrown if a callback refers to an undefined method or if
 * some arguments are missing.
 **/
class BadMethodCallException extends BadFunctionCallException {
}
/**
 * This object supports cached iteration over another iterator.
 **/
class CachingIterator extends IteratorIterator implements OuterIterator, ArrayAccess, Countable {
    /**
     * @var integer
     **/
    const CALL_TOSTRING = 0;

    /**
     * @var integer
     **/
    const CATCH_GET_CHILD = 0;

    /**
     * @var integer
     **/
    const FULL_CACHE = 0;

    /**
     * @var integer
     **/
    const TOSTRING_USE_CURRENT = 0;

    /**
     * @var integer
     **/
    const TOSTRING_USE_INNER = 0;

    /**
     * @var integer
     **/
    const TOSTRING_USE_KEY = 0;

    /**
     * The number of elements in the iterator
     *
     * May return the number of elements in the iterator.
     *
     * @return int The count of the elements iterated over.
     * @since PHP 5 >= 5.2.2, PHP 7
     **/
    public function count(){}

    /**
     * Return the current element
     *
     * May return the current element in the iteration.
     *
     * @return void Mixed
     * @since PHP 5, PHP 7
     **/
    public function current(){}

    /**
     * Retrieve the contents of the cache
     *
     * @return array An array containing the cache items.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function getCache(){}

    /**
     * Get flags used
     *
     * Get the bitmask of the flags used for this CachingIterator instance.
     *
     * @return int Description...
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function getFlags(){}

    /**
     * Returns the inner iterator
     *
     * Returns the iterator sent to the constructor.
     *
     * @return Iterator Returns an object implementing the Iterator
     *   interface.
     * @since PHP 5, PHP 7
     **/
    public function getInnerIterator(){}

    /**
     * Check whether the inner iterator has a valid next element
     *
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function hasNext(){}

    /**
     * Return the key for the current element
     *
     * This method may return a key for the current element.
     *
     * @return scalar
     * @since PHP 5, PHP 7
     **/
    public function key(){}

    /**
     * Move the iterator forward
     *
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function next(){}

    /**
     * The offsetExists purpose
     *
     * @param string $index The index being checked.
     * @return void Returns TRUE if an entry referenced by the offset
     *   exists, FALSE otherwise.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function offsetExists($index){}

    /**
     * The offsetGet purpose
     *
     * @param string $index Description...
     * @return void Description...
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function offsetGet($index){}

    /**
     * The offsetSet purpose
     *
     * @param string $index The index of the element to be set.
     * @param string $newval The new value for the {@link index}.
     * @return void
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function offsetSet($index, $newval){}

    /**
     * The offsetUnset purpose
     *
     * @param string $index The index of the element to be unset.
     * @return void
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function offsetUnset($index){}

    /**
     * Rewind the iterator
     *
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function rewind(){}

    /**
     * The setFlags purpose
     *
     * Set the flags for the CachingIterator object.
     *
     * @param int $flags Bitmask of the flags to set.
     * @return void
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function setFlags($flags){}

    /**
     * Check whether the current element is valid
     *
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function valid(){}

    /**
     * Construct a new CachingIterator object for the iterator
     *
     * @param Iterator $iterator Iterator to cache
     * @param int $flags Bitmask of flags.
     * @since PHP 5, PHP 7
     **/
    public function __construct($iterator, $flags){}

    /**
     * Return the string representation of the current element
     *
     * Get the string representation of the current element.
     *
     * @return void The string representation of the current element.
     * @since PHP 5, PHP 7
     **/
    public function __toString(){}

}
/**
 * Simple class with some static helper methods.
 **/
class Cairo {
    /**
     * Retrieves the availables font types
     *
     * Returns an array with the available font backends
     *
     * @return array A list-type array with all available font backends.
     * @since PECL cairo >= 0.1.0
     **/
    public static function availableFonts(){}

    /**
     * Retrieves all available surfaces
     *
     * Returns an array with the available surface backends
     *
     * @return array A list-type array with all available surface backends.
     * @since PECL cairo >= 0.1.0
     **/
    public static function availableSurfaces(){}

    /**
     * Retrieves the current status as string
     *
     * Retrieves the current status as a readable string
     *
     * @param int $status A valid status code given by {@link cairo_status}
     *   or CairoContext::status
     * @return string A string containing the current status of a
     *   CairoContext object
     * @since PECL cairo >= 0.1.0
     **/
    public static function statusToString($status){}

    /**
     * Retrives cairo's library version
     *
     * Retrieves the current version of the cairo library as an integer value
     *
     * @return int Current Cairo library version integer
     * @since PECL cairo >= 0.1.0
     **/
    public static function version(){}

    /**
     * Retrieves cairo version as string
     *
     * Retrieves the current cairo library version as a string.
     *
     * @return string Current Cairo library version string
     * @since PECL cairo >= 0.1.0
     **/
    public static function versionString(){}

}
/**
 * Enum class that specifies the type of antialiasing to do when
 * rendering text or shapes.
 **/
class CairoAntialias {
    /**
     * @var integer
     **/
    const MODE_DEFAULT = 0;

    /**
     * @var integer
     **/
    const MODE_GRAY = 0;

    /**
     * @var integer
     **/
    const MODE_NONE = 0;

    /**
     * @var integer
     **/
    const MODE_SUBPIXEL = 0;

}
/**
 * CairoContent is used to describe the content that a surface will
 * contain, whether color information, alpha information (translucence
 * vs. opacity), or both. Note: The large values here are designed to
 * keep CairoContent values distinct from CairoContent values so that the
 * implementation can detect the error if users confuse the two types.
 **/
class CairoContent {
    /**
     * The surface will hold alpha content only.
     *
     * @var integer
     **/
    const ALPHA = 0;

    /**
     * The surface will hold color content only.
     *
     * @var integer
     **/
    const COLOR = 0;

    /**
     * @var integer
     **/
    const COLOR_ALPHA = 0;

}
/**
 * Context is the main object used when drawing with cairo. To draw with
 * cairo, you create a CairoContext, set the target CairoSurface, and
 * drawing options for the CairoContext, create shapes with functions .
 * like CairoContext::moveTo and CairoContext::lineTo, and then draw
 * shapes with CairoContext::stroke or CairoContext::fill.
 *
 * Contexts can be pushed to a stack via CairoContext::save. They may
 * then safely be changed, without loosing the current state. Use
 * CairoContext::restore to restore to the saved state.
 **/
class CairoContext {
    /**
     * Appends a path to current path
     *
     * Appends the {@link path} onto the current path. The {@link path} may
     * be either the return value from one of CairoContext::copyPath or
     * CairoContext::copyPathFlat;
     *
     * if {@link path} is not a valid CairoPath instance a CairoException
     * will be thrown
     *
     * @param CairoPath $path CairoContext object
     * @return void
     * @since PECL cairo >= 0.1.0
     **/
    public function appendPath($path){}

    /**
     * Adds a circular arc
     *
     * Adds a circular arc of the given radius to the current path. The arc
     * is centered at ({@link x}, {@link y}), begins at {@link angle1} and
     * proceeds in the direction of increasing angles to end at {@link
     * angle2}. If {@link angle2} is less than {@link angle1} it will be
     * progressively increased by 2*M_PI until it is greater than {@link
     * angle1}. If there is a current point, an initial line segment will be
     * added to the path to connect the current point to the beginning of the
     * arc. If this initial line is undesired, it can be avoided by calling
     * CairoContext::newSubPath or procedural {@link cairo_new_sub_path}
     * before calling CairoContext::arc or {@link cairo_arc}.
     *
     * Angles are measured in radians. An angle of 0.0 is in the direction of
     * the positive X axis (in user space). An angle of M_PI/2.0 radians (90
     * degrees) is in the direction of the positive Y axis (in user space).
     * Angles increase in the direction from the positive X axis toward the
     * positive Y axis. So with the default transformation matrix, angles
     * increase in a clockwise direction.
     *
     * (To convert from degrees to radians, use degrees * (M_PI / 180.).)
     * This function gives the arc in the direction of increasing angles; see
     * CairoContext::arcNegative or {@link cairo_arc_negative} to get the arc
     * in the direction of decreasing angles.
     *
     * @param float $x A valid CairoContext object
     * @param float $y x position
     * @param float $radius y position
     * @param float $angle1 Radius of the arc
     * @param float $angle2 start angle
     * @return void
     * @since PECL cairo >= 0.1.0
     **/
    public function arc($x, $y, $radius, $angle1, $angle2){}

    /**
     * Adds a negative arc
     *
     * Adds a circular arc of the given {@link radius} to the current path.
     * The arc is centered at ({@link x}, {@link y}), begins at {@link
     * angle1} and proceeds in the direction of decreasing angles to end at
     * {@link angle2}. If {@link angle2} is greater than {@link angle1} it
     * will be progressively decreased by 2*M_PI until it is less than {@link
     * angle1}.
     *
     * See CairoContext::arc or {@link cairo_arc} for more details. This
     * function differs only in the direction of the arc between the two
     * angles.
     *
     * @param float $x A valid CairoContext object
     * @param float $y double x position
     * @param float $radius double y position
     * @param float $angle1 The radius of the desired negative arc
     * @param float $angle2 Start angle of the arc
     * @return void
     * @since PECL cairo >= 0.1.0
     **/
    public function arcNegative($x, $y, $radius, $angle1, $angle2){}

    /**
     * Establishes a new clip region
     *
     * Establishes a new clip region by intersecting the current clip region
     * with the current path as it would be filled by CairoContext::fill or
     * {@link cairo_fill} and according to the current fill rule (see
     * CairoContext::setFillRule or {@link cairo_set_fill_rule}).
     *
     * After CairoContext::clip or {@link cairo_clip}, the current path will
     * be cleared from the cairo context.
     *
     * The current clip region affects all drawing operations by effectively
     * masking out any changes to the surface that are outside the current
     * clip region.
     *
     * Calling CairoContext::clip or {@link cairo_clip} can only make the
     * clip region smaller, never larger. But the current clip is part of the
     * graphics state, so a temporary restriction of the clip region can be
     * achieved by calling CairoContext::clip or {@link cairo_clip} within a
     * CairoContext::save/CairoContext::restore or {@link cairo_save}/{@link
     * cairo_restore} pair. The only other means of increasing the size of
     * the clip region is CairoContext::resetClip or procedural {@link
     * cairo_reset_clip}.
     *
     * @return void
     * @since PECL cairo >= 0.1.0
     **/
    public function clip(){}

    /**
     * Computes the area inside the current clip
     *
     * Computes a bounding box in user coordinates covering the area inside
     * the current clip.
     *
     * @return array An array containing the (float)x1, (float)y1,
     *   (float)x2, (float)y2, coordinates covering the area inside the
     *   current clip
     * @since PECL cairo >= 0.1.0
     **/
    public function clipExtents(){}

    /**
     * Establishes a new clip region from the current clip
     *
     * Establishes a new clip region by intersecting the current clip region
     * with the current path as it would be filled by Context.fill and
     * according to the current FILL RULE (see CairoContext::setFillRule or
     * {@link cairo_set_fill_rule}).
     *
     * Unlike CairoContext::clip, CairoContext::clipPreserve preserves the
     * path within the Context. The current clip region affects all drawing
     * operations by effectively masking out any changes to the surface that
     * are outside the current clip region.
     *
     * Calling CairoContext::clipPreserve can only make the clip region
     * smaller, never larger. But the current clip is part of the graphics
     * state, so a temporary restriction of the clip region can be achieved
     * by calling CairoContext::clipPreserve within a
     * CairoContext::save/CairoContext::restore pair. The only other means of
     * increasing the size of the clip region is CairoContext::resetClip.
     *
     * @return void
     * @since PECL cairo >= 0.1.0
     **/
    public function clipPreserve(){}

    /**
     * Retrieves the current clip as a list of rectangles
     *
     * Returns a list-type array with the current clip region as a list of
     * rectangles in user coordinates
     *
     * @return array An array of user-space represented rectangles for the
     *   current clip
     * @since PECL cairo >= 0.1.0
     **/
    public function clipRectangleList(){}

    /**
     * Closes the current path
     *
     * Adds a line segment to the path from the current point to the
     * beginning of the current sub-path, (the most recent point passed to
     * CairoContext::moveTo), and closes this sub-path. After this call the
     * current point will be at the joined endpoint of the sub-path.
     *
     * The behavior of close_path() is distinct from simply calling
     * CairoContext::lineTo with the equivalent coordinate in the case of
     * stroking. When a closed sub-path is stroked, there are no caps on the
     * ends of the sub-path. Instead, there is a line join connecting the
     * final and initial segments of the sub-path.
     *
     * If there is no current point before the call to
     * CairoContext::closePath, this function will have no effect.
     *
     * @return void
     * @since PECL cairo >= 0.1.0
     **/
    public function closePath(){}

    /**
     * Emits the current page
     *
     * Emits the current page for backends that support multiple pages, but
     * doesn’t clear it, so, the contents of the current page will be
     * retained for the next page too. Use CairoContext::showPage if you want
     * to get an empty page after the emission.
     *
     * This is a convenience function that simply calls
     * CairoSurface::copyPage on CairoContext’s target.
     *
     * @return void
     * @since PECL cairo >= 0.1.0
     **/
    public function copyPage(){}

    /**
     * Creates a copy of the current path
     *
     * Creates a copy of the current path and returns it to the user as a
     * CairoPath. See CairoPath for hints on how to iterate over the returned
     * data structure.
     *
     * This function will always return a valid CairoPath object, but the
     * result will have no data, if either of the following conditions hold:
     * 1. If there is insufficient memory to copy the path. In this case
     * CairoPath->status will be set to CAIRO_STATUS_NO_MEMORY. 2. If {@link
     * context} is already in an error state. In this case CairoPath->status
     * will contain the same status that would be returned by {@link
     * cairo_status}.
     *
     * In either case, CairoPath->status will be set to
     * CAIRO_STATUS_NO_MEMORY (regardless of what the error status in cr
     * might have been).
     *
     * @return CairoPath A copy of the current CairoPath in the context
     * @since PECL cairo >= 0.1.0
     **/
    public function copyPath(){}

    /**
     * Gets a flattened copy of the current path
     *
     * Gets a flattened copy of the current path and returns it to the user
     * as a CairoPath.
     *
     * This function is like CairoContext::copyPath except that any curves in
     * the path will be approximated with piecewise-linear approximations,
     * (accurate to within the current tolerance value). That is, the result
     * is guaranteed to not have any elements of type CAIRO_PATH_CURVE_TO
     * which will instead be replaced by a series of CAIRO_PATH_LINE_TO
     * elements.
     *
     * @return CairoPath A copy of the current path
     * @since PECL cairo >= 0.1.0
     **/
    public function copyPathFlat(){}

    /**
     * Adds a curve
     *
     * Adds a cubic Bezier spline to the path from the current point to
     * position {@link x3} ,{@link y3} in user-space coordinates, using
     * {@link x1}, {@link y1} and {@link x2}, {@link y2} as the control
     * points. After this call the current point will be {@link x3}, {@link
     * y3}.
     *
     * If there is no current point before the call to CairoContext::curveTo
     * this function will behave as if preceded by a call to
     * CairoContext::moveTo ({@link x1}, {@link y1}).
     *
     * @param float $x1 A valid CairoContext object created with
     *   CairoContext::__construct or {@link cairo_create}
     * @param float $y1 First control point in the x axis for the curve
     * @param float $x2 First control point in the y axis for the curve
     * @param float $y2 Second control point in x axis for the curve
     * @param float $x3 Second control point in y axis for the curve
     * @param float $y3 Final point in the x axis for the curve
     * @return void
     * @since PECL cairo >= 0.1.0
     **/
    public function curveTo($x1, $y1, $x2, $y2, $x3, $y3){}

    /**
     * Transform a coordinate
     *
     * Transform a coordinate from device space to user space by multiplying
     * the given point by the inverse of the current transformation matrix
     * (CTM).
     *
     * @param float $x A valid CairoContext object created with
     *   CairoContext::__construct or {@link cairo_create}
     * @param float $y x value of the coordinate
     * @return array An array containing the x and y coordinates in the
     *   user-space
     * @since PECL cairo >= 0.1.0
     **/
    public function deviceToUser($x, $y){}

    /**
     * Transform a distance
     *
     * Transform a distance vector from device space to user space. This
     * function is similar to CairoContext::deviceToUser or {@link
     * cairo_device_to_user} except that the translation components of the
     * inverse Cairo Transformation Matrix will be ignored when transforming
     * ({@link x},{@link y}).
     *
     * @param float $x A valid CairoContext object created with
     *   CairoContext::__construct or {@link cairo_create}
     * @param float $y X component of a distance vector
     * @return array Returns an array with the x and y values of a distance
     *   vector in the user-space
     * @since PECL cairo >= 0.1.0
     **/
    public function deviceToUserDistance($x, $y){}

    /**
     * Fills the current path
     *
     * A drawing operator that fills the current path according to the
     * current CairoFillRule, (each sub-path is implicitly closed before
     * being filled). After CairoContext::fill or {@link cairo_fill}, the
     * current path will be cleared from the CairoContext.
     *
     * @return void
     * @since PECL cairo >= 0.1.0
     **/
    public function fill(){}

    /**
     * Computes the filled area
     *
     * Computes a bounding box in user coordinates covering the area that
     * would be affected, (the “inked” area), by a CairoContext::fill
     * operation given the current path and fill parameters. If the current
     * path is empty, returns an empty rectangle (0,0,0,0). Surface
     * dimensions and clipping are not taken into account.
     *
     * Contrast with CairoContext::pathExtents, which is similar, but returns
     * non-zero extents for some paths with no inked area, (such as a simple
     * line segment).
     *
     * Note that CairoContext::fillExtents must necessarily do more work to
     * compute the precise inked areas in light of the fill rule, so
     * CairoContext::pathExtents may be more desirable for sake of
     * performance if the non-inked path extents are desired.
     *
     * @return array An array with the coordinates of the afected area
     * @since PECL cairo >= 0.1.0
     **/
    public function fillExtents(){}

    /**
     * Fills and preserve the current path
     *
     * A drawing operator that fills the current path according to the
     * current CairoFillRule, (each sub-path is implicitly closed before
     * being filled). Unlike CairoContext::fill, CairoContext::fillPreserve
     * (Procedural {@link cairo_fill}, {@link cairo_fill_preserve},
     * respectively) preserves the path within the Context.
     *
     * @return void
     * @since PECL cairo >= 0.1.0
     **/
    public function fillPreserve(){}

    /**
     * Get the font extents
     *
     * Gets the font extents for the currently selected font.
     *
     * @return array An array containing the font extents for the current
     *   font.
     * @since PECL cairo >= 0.1.0
     **/
    public function fontExtents(){}

    /**
     * Retrives the current antialias mode
     *
     * Returns the current CairoAntialias mode, as set by
     * CairoContext::setAntialias.
     *
     * @return int The current CairoAntialias mode.
     * @since PECL cairo >= 0.1.0
     **/
    public function getAntialias(){}

    /**
     * The getCurrentPoint purpose
     *
     * Gets the current point of the current path, which is conceptually the
     * final point reached by the path so far.
     *
     * The current point is returned in the user-space coordinate system. If
     * there is no defined current point or if cr is in an error status, x
     * and y will both be set to 0.0. It is possible to check this in advance
     * with CairoContext::hasCurrentPoint.
     *
     * Most path construction functions alter the current point. See the
     * following for details on how they affect the current point:
     * CairoContext::newPath, CairoContext::newSubPath,
     * CairoContext::appendPath, CairoContext::closePath,
     * CairoContext::moveTo, CairoContext::lineTo, CairoContext::curveTo,
     * CairoContext::relMoveTo, CairoContext::relLineTo,
     * CairoContext::relCurveTo, CairoContext::arc,
     * CairoContext::arcNegative, CairoContext::rectangle,
     * CairoContext::textPath, CairoContext::glyphPath.
     *
     * Some functions use and alter the current point but do not otherwise
     * change current path: CairoContext::showText.
     *
     * Some functions unset the current path and as a result, current point:
     * CairoContext::fill, CairoContext::stroke.
     *
     * @return array An array containing the x (index 0) and y (index 1)
     *   coordinates of the current point.
     * @since PECL cairo >= 0.1.0
     **/
    public function getCurrentPoint(){}

    /**
     * The getDash purpose
     *
     * @return array Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getDash(){}

    /**
     * The getDashCount purpose
     *
     * @return int Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getDashCount(){}

    /**
     * The getFillRule purpose
     *
     * @return int Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getFillRule(){}

    /**
     * The getFontFace purpose
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getFontFace(){}

    /**
     * The getFontMatrix purpose
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getFontMatrix(){}

    /**
     * The getFontOptions purpose
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getFontOptions(){}

    /**
     * The getGroupTarget purpose
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getGroupTarget(){}

    /**
     * The getLineCap purpose
     *
     * @return int Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getLineCap(){}

    /**
     * The getLineJoin purpose
     *
     * @return int Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getLineJoin(){}

    /**
     * The getLineWidth purpose
     *
     * @return float Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getLineWidth(){}

    /**
     * The getMatrix purpose
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getMatrix(){}

    /**
     * The getMiterLimit purpose
     *
     * @return float Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getMiterLimit(){}

    /**
     * The getOperator purpose
     *
     * @return int Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getOperator(){}

    /**
     * The getScaledFont purpose
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getScaledFont(){}

    /**
     * The getSource purpose
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getSource(){}

    /**
     * The getTarget purpose
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getTarget(){}

    /**
     * The getTolerance purpose
     *
     * @return float Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getTolerance(){}

    /**
     * The glyphPath purpose
     *
     * Adds closed paths for the glyphs to the current path. The generated
     * path if filled, achieves an effect similar to that of
     * CairoContext::showGlyphs.
     *
     * @param array $glyphs A CairoContext object
     * @return void
     * @since PECL cairo >= 0.1.0
     **/
    public function glyphPath($glyphs){}

    /**
     * The hasCurrentPoint purpose
     *
     * Returns whether a current point is defined on the current path. See
     * CairoContext::getCurrentPoint for details on the current point.
     *
     * @return bool Whether a current point is defined
     * @since PECL cairo >= 0.1.0
     **/
    public function hasCurrentPoint(){}

    /**
     * The identityMatrix purpose
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function identityMatrix(){}

    /**
     * The inFill purpose
     *
     * @param float $x Description...
     * @param float $y Description...
     * @return bool Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function inFill($x, $y){}

    /**
     * The inStroke purpose
     *
     * @param float $x Description...
     * @param float $y Description...
     * @return bool Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function inStroke($x, $y){}

    /**
     * The lineTo purpose
     *
     * @param float $x Description...
     * @param float $y Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function lineTo($x, $y){}

    /**
     * The mask purpose
     *
     * @param CairoPattern $pattern Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function mask($pattern){}

    /**
     * The maskSurface purpose
     *
     * @param CairoSurface $surface Description...
     * @param float $x Description...
     * @param float $y Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function maskSurface($surface, $x, $y){}

    /**
     * The moveTo purpose
     *
     * Begin a new sub-path. After this call the current point will be (x,
     * y).
     *
     * @param float $x A valid CairoContext object.
     * @param float $y The x coordinate of the new position.
     * @return void
     * @since PECL cairo >= 0.1.0
     **/
    public function moveTo($x, $y){}

    /**
     * The newPath purpose
     *
     * Clears the current path. After this call there will be no path and no
     * current point.
     *
     * @return void
     * @since PECL cairo >= 0.1.0
     **/
    public function newPath(){}

    /**
     * The newSubPath purpose
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function newSubPath(){}

    /**
     * The paint purpose
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function paint(){}

    /**
     * The paintWithAlpha purpose
     *
     * @param float $alpha Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function paintWithAlpha($alpha){}

    /**
     * The pathExtents purpose
     *
     * @return array Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function pathExtents(){}

    /**
     * The popGroup purpose
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function popGroup(){}

    /**
     * The popGroupToSource purpose
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function popGroupToSource(){}

    /**
     * The pushGroup purpose
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function pushGroup(){}

    /**
     * The pushGroupWithContent purpose
     *
     * @param int $content Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function pushGroupWithContent($content){}

    /**
     * The rectangle purpose
     *
     * @param float $x Description...
     * @param float $y Description...
     * @param float $width Description...
     * @param float $height Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function rectangle($x, $y, $width, $height){}

    /**
     * The relCurveTo purpose
     *
     * @param float $x1 Description...
     * @param float $y1 Description...
     * @param float $x2 Description...
     * @param float $y2 Description...
     * @param float $x3 Description...
     * @param float $y3 Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function relCurveTo($x1, $y1, $x2, $y2, $x3, $y3){}

    /**
     * The relLineTo purpose
     *
     * @param float $x Description...
     * @param float $y Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function relLineTo($x, $y){}

    /**
     * The relMoveTo purpose
     *
     * @param float $x Description...
     * @param float $y Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function relMoveTo($x, $y){}

    /**
     * The resetClip purpose
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function resetClip(){}

    /**
     * The restore purpose
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function restore(){}

    /**
     * The rotate purpose
     *
     * @param float $angle Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function rotate($angle){}

    /**
     * The save purpose
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function save(){}

    /**
     * The scale purpose
     *
     * @param float $x Description...
     * @param float $y Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function scale($x, $y){}

    /**
     * The selectFontFace purpose
     *
     * @param string $family Description...
     * @param int $slant Description...
     * @param int $weight Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function selectFontFace($family, $slant, $weight){}

    /**
     * The setAntialias purpose
     *
     * @param int $antialias Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setAntialias($antialias){}

    /**
     * The setDash purpose
     *
     * @param array $dashes Description...
     * @param float $offset Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setDash($dashes, $offset){}

    /**
     * The setFillRule purpose
     *
     * @param int $setting Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setFillRule($setting){}

    /**
     * The setFontFace purpose
     *
     * Sets the font-face for a given context.
     *
     * @param CairoFontFace $fontface A CairoContext object to change the
     *   font-face for.
     * @return void No value is returned
     * @since PECL cairo >= 0.1.0
     **/
    public function setFontFace($fontface){}

    /**
     * The setFontMatrix purpose
     *
     * @param CairoMatrix $matrix Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setFontMatrix($matrix){}

    /**
     * The setFontOptions purpose
     *
     * @param CairoFontOptions $fontoptions Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setFontOptions($fontoptions){}

    /**
     * The setFontSize purpose
     *
     * @param float $size Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setFontSize($size){}

    /**
     * The setLineCap purpose
     *
     * @param int $setting Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setLineCap($setting){}

    /**
     * The setLineJoin purpose
     *
     * @param int $setting Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setLineJoin($setting){}

    /**
     * The setLineWidth purpose
     *
     * @param float $width Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setLineWidth($width){}

    /**
     * The setMatrix purpose
     *
     * @param CairoMatrix $matrix Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setMatrix($matrix){}

    /**
     * The setMiterLimit purpose
     *
     * @param float $limit Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setMiterLimit($limit){}

    /**
     * The setOperator purpose
     *
     * @param int $setting Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setOperator($setting){}

    /**
     * The setScaledFont purpose
     *
     * @param CairoScaledFont $scaledfont Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setScaledFont($scaledfont){}

    /**
     * The setSource purpose
     *
     * @param CairoPattern $pattern Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setSource($pattern){}

    /**
     * The setSourceRGB purpose
     *
     * @param float $red Description...
     * @param float $green Description...
     * @param float $blue Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setSourceRGB($red, $green, $blue){}

    /**
     * The setSourceRGBA purpose
     *
     * @param float $red Description...
     * @param float $green Description...
     * @param float $blue Description...
     * @param float $alpha Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setSourceRGBA($red, $green, $blue, $alpha){}

    /**
     * The setSourceSurface purpose
     *
     * @param CairoSurface $surface Description...
     * @param float $x Description...
     * @param float $y Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setSourceSurface($surface, $x, $y){}

    /**
     * The setTolerance purpose
     *
     * @param float $tolerance Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setTolerance($tolerance){}

    /**
     * The showPage purpose
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function showPage(){}

    /**
     * The showText purpose
     *
     * @param string $text Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function showText($text){}

    /**
     * The status purpose
     *
     * @return int Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function status(){}

    /**
     * The stroke purpose
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function stroke(){}

    /**
     * The strokeExtents purpose
     *
     * @return array Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function strokeExtents(){}

    /**
     * The strokePreserve purpose
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function strokePreserve(){}

    /**
     * The textExtents purpose
     *
     * @param string $text Description...
     * @return array Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function textExtents($text){}

    /**
     * The textPath purpose
     *
     * Adds closed paths for text to the current path. The generated path, if
     * filled, achieves an effect similar to that of CairoContext::showText.
     *
     * Text conversion and positioning is done similar to
     * CairoContext::showText.
     *
     * Like CairoContext::showText, after this call the current point is
     * moved to the origin of where the next glyph would be placed in this
     * same progression. That is, the current point will be at the origin of
     * the final glyph offset by its advance values. This allows for chaining
     * multiple calls to CairoContext::showText without having to set current
     * point in between.
     *
     * Note: The CairoContext::textPath function call is part of what the
     * cairo designers call the "toy" text API. It is convenient for short
     * demos and simple programs, but it is not expected to be adequate for
     * serious text-using applications. See CairoContext::glyphPath for the
     * "real" text path API in cairo.
     *
     * @param string $string A CairoContext object
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function textPath($string){}

    /**
     * The transform purpose
     *
     * @param CairoMatrix $matrix Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function transform($matrix){}

    /**
     * The translate purpose
     *
     * @param float $x Description...
     * @param float $y Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function translate($x, $y){}

    /**
     * The userToDevice purpose
     *
     * @param float $x Description...
     * @param float $y Description...
     * @return array Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function userToDevice($x, $y){}

    /**
     * The userToDeviceDistance purpose
     *
     * @param float $x Description...
     * @param float $y Description...
     * @return array Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function userToDeviceDistance($x, $y){}

    /**
     * Creates a new CairoContext
     *
     * Creates a new CairoContext object to draw
     *
     * @param CairoSurface $surface A valid CairoSurface like
     *   CairoImageSurface or CairoPdfSurface
     * @since PECL cairo >= 0.1.0
     **/
    public function __construct($surface){}

}
/**
 * Exception class thrown by Cairo functions and methods
 **/
class CairoException extends Exception {
}
class CairoExtend {
    /**
     * @var integer
     **/
    const NONE = 0;

    /**
     * @var integer
     **/
    const PAD = 0;

    /**
     * @var integer
     **/
    const REFLECT = 0;

    /**
     * @var integer
     **/
    const REPEAT = 0;

}
/**
 * A CairoFillRule is used to select how paths are filled. For both fill
 * rules, whether or not a point is included in the fill is determined by
 * taking a ray from that point to infinity and looking at intersections
 * with the path. The ray can be in any direction, as long as it doesn't
 * pass through the end point of a segment or have a tricky intersection
 * such as intersecting tangent to the path. (Note that filling is not
 * actually implemented in this way. This is just a description of the
 * rule that is applied.) The default fill rule is
 * CairoFillRule::WINDING.
 **/
class CairoFillRule {
    /**
     * @var integer
     **/
    const EVEN_ODD = 0;

    /**
     * If the path crosses the ray from left-to-right, counts +1. If the path
     * crosses the ray from right to left, counts -1. (Left and right are
     * determined from the perspective of looking along the ray from the
     * starting point.) If the total count is non-zero, the point will be
     * filled.
     *
     * @var integer
     **/
    const WINDING = 0;

}
/**
 * A CairoFilter is used to indicate what filtering should be applied
 * when reading pixel values from patterns. See CairoPattern::setSource
 * or {@link cairo_pattern_set_source} for indicating the desired filter
 * to be used with a particular pattern.
 **/
class CairoFilter {
    /**
     * The highest-quality available, performance may not be suitable for
     * interactive use.
     *
     * @var integer
     **/
    const BEST = 0;

    /**
     * Linear interpolation in two dimensions
     *
     * @var integer
     **/
    const BILINEAR = 0;

    /**
     * A high-performance filter, with quality similar to
     * CairoFilter::NEAREST
     *
     * @var integer
     **/
    const FAST = 0;

    /**
     * This filter value is currently unimplemented, and should not be used
     * in current code.
     *
     * @var integer
     **/
    const GAUSSIAN = 0;

    /**
     * A reasonable-performance filter, with quality similar to
     * CairoFilter::BILINEAR
     *
     * @var integer
     **/
    const GOOD = 0;

    /**
     * Nearest-neighbor filtering
     *
     * @var integer
     **/
    const NEAREST = 0;

}
/**
 * CairoFontFace abstract class represents a particular font at a
 * particular weight, slant, and other characteristic but no
 * transformation or size. Note: This class can not be instantiated
 * directly, it is created by CairoContext::getFontFace or {@link
 * cairo_scaled_font_get_font_face}.
 **/
class CairoFontFace {
    /**
     * Retrieves the font face type
     *
     * This function returns the type of the backend used to create a font
     * face. See CairoFontType class constants for available types.
     *
     * @return int A font type that can be any one defined in CairoFontType
     * @since PECL cairo >= 0.1.0
     **/
    public function getType(){}

    /**
     * Check for CairoFontFace errors
     *
     * Checks whether an error has previously occurred for this font face
     *
     * @return int CAIRO_STATUS_SUCCESS or another error such as
     *   CAIRO_STATUS_NO_MEMORY.
     * @since PECL cairo >= 0.1.0
     **/
    public function status(){}

    /**
     * Creates a new CairoFontFace object
     *
     * CairoFontFace class represents a particular font at a particular
     * weight, slant, and other characteristic but no transformation or size.
     *
     * Note: This class can't be instantiated directly it is created by
     * CairoContext::getFontFace or {@link cairo_scaled_font_get_font_face}
     *
     * @since PECL cairo >= 0.1.0
     **/
    public function __construct(){}

}
/**
 * An opaque structure holding all options that are used when rendering
 * fonts. Individual features of a cairo_font_options_t can be set or
 * accessed using functions named cairo_font_options_set_feature_name and
 * cairo_font_options_get_feature_name, like
 * cairo_font_options_set_antialias() and
 * cairo_font_options_get_antialias(). New features may be added to
 * CairoFontOptions in the future. For this reason
 * CairoFontOptions::copy, CairoFontOptions::equal,
 * CairoFontOptions::merge, CairoFontOptions::hash
 * (cairo_font_options_copy(), cairo_font_options_equal(),
 * cairo_font_options_merge(), and cairo_font_options_hash() in
 * procedural way) should be used to copy, check for equality, merge, or
 * compute a hash value of CairoFontOptions objects.
 **/
class CairoFontOptions {
    /**
     * The equal purpose
     *
     * The method description goes here.
     *
     * @param CairoFontOptions $other Description...
     * @return bool Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function equal($other){}

    /**
     * The getAntialias purpose
     *
     * @return int Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getAntialias(){}

    /**
     * The getHintMetrics purpose
     *
     * The method description goes here.
     *
     * @return int Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getHintMetrics(){}

    /**
     * The getHintStyle purpose
     *
     * The method description goes here.
     *
     * @return int Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getHintStyle(){}

    /**
     * The getSubpixelOrder purpose
     *
     * The method description goes here.
     *
     * @return int Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getSubpixelOrder(){}

    /**
     * The hash purpose
     *
     * The method description goes here.
     *
     * @return int Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function hash(){}

    /**
     * The merge purpose
     *
     * The method description goes here.
     *
     * @param CairoFontOptions $other Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function merge($other){}

    /**
     * The setAntialias purpose
     *
     * @param int $antialias Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setAntialias($antialias){}

    /**
     * The setHintMetrics purpose
     *
     * The method description goes here.
     *
     * @param int $hint_metrics Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setHintMetrics($hint_metrics){}

    /**
     * The setHintStyle purpose
     *
     * The method description goes here.
     *
     * @param int $hint_style Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setHintStyle($hint_style){}

    /**
     * The setSubpixelOrder purpose
     *
     * The method description goes here.
     *
     * @param int $subpixel_order Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setSubpixelOrder($subpixel_order){}

    /**
     * The status purpose
     *
     * @return int Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function status(){}

    /**
     * The __construct purpose
     *
     * The method description goes here.
     *
     * @since PECL cairo >= 0.1.0
     **/
    public function __construct(){}

}
/**
 * Specifies variants of a font face based on their slant.
 **/
class CairoFontSlant {
    /**
     * Italic font style
     *
     * @var integer
     **/
    const ITALIC = 0;

    /**
     * Upright font style
     *
     * @var integer
     **/
    const NORMAL = 0;

    /**
     * Oblique font style
     *
     * @var integer
     **/
    const OBLIQUE = 0;

}
/**
 * CairoFontType class is an abstract final class that contains constants
 * used to describe the type of a given CairoFontFace or CairoScaledFont.
 * The font types are also known as "font backends" within cairo. The
 * type of a CairoFontFace is determined by the how it is created, an
 * example would be the CairoToyFontFace::__construct. The CairoFontFace
 * type can be queried with CairoFontFace::getType or {@link
 * cairo_font_face_get_type} The various CairoFontFace functions can be
 * used with a font face of any type. The type of a CairoScaledFont is
 * determined by the type of the CairoFontFace passed to
 * CairoScaledFont::__construct or {@link cairo_scaled_font_create}. The
 * scaled font type can be queried with CairoScaledFont::getType or
 * {@link cairo_scaled_font_get_type}.
 **/
class CairoFontType {
    /**
     * The font is of type CairoFreeType
     *
     * @var integer
     **/
    const FT = 0;

    /**
     * The font is of type Quartz
     *
     * @var integer
     **/
    const QUARTZ = 0;

    /**
     * The font was created using CairoToyFont api
     *
     * @var integer
     **/
    const TOY = 0;

    /**
     * The font is of type Win32
     *
     * @var integer
     **/
    const WIN32 = 0;

}
/**
 * Specifies variants of a font face based on their weight.
 **/
class CairoFontWeight {
    /**
     * Bold font weight
     *
     * @var integer
     **/
    const BOLD = 0;

    /**
     * Normal font weight
     *
     * @var integer
     **/
    const NORMAL = 0;

}
/**
 * CairoFormat enums are used to identify the memory format of the image
 * data.
 **/
class CairoFormat {
    /**
     * Each pixel is a 1-bit quantity holding an alpha value. Pixels are
     * packed together into 32-bit quantities. The ordering of the bits
     * matches the endianess of the platform. On a big-endian machine, the
     * first pixel is in the uppermost bit, on a little-endian machine the
     * first pixel is in the least-significant bit.
     *
     * @var integer
     **/
    const A1 = 0;

    /**
     * Each pixel is a 8-bit quantity holding an alpha value.
     *
     * @var integer
     **/
    const A8 = 0;

    /**
     * Each pixel is a 32-bit quantity, with alpha in the upper 8 bits, then
     * red, then green, then blue. The 32-bit quantities are stored
     * native-endian. Pre-multiplied alpha is used. (That is, 50% transparent
     * red is 0x80800000, not 0x80ff0000.)
     *
     * @var integer
     **/
    const ARGB32 = 0;

    /**
     * Each pixel is a 32-bit quantity, with the upper 8 bits unused. Red,
     * Green, and Blue are stored in the remaining 24 bits in that order.
     *
     * @var integer
     **/
    const RGB24 = 0;

    /**
     * Provides an appropiate stride to use
     *
     * This method provides a stride value that will respect all alignment
     * requirements of the accelerated image-rendering code within cairo.
     *
     * @param int $format The desired CairoFormat to use
     * @param int $width The width of the image
     * @return int The appropriate stride to use given the desired format
     *   and width, or -1 if either the format is invalid or the width too
     *   large.
     * @since PECL cairo >= 0.1.0
     **/
    public static function strideForWidth($format, $width){}

}
/**
 * CairoGradientPattern is an abstract base class from which other
 * Pattern classes derive. It cannot be instantiated directly.
 **/
class CairoGradientPattern extends CairoPattern {
    /**
     * The addColorStopRgb purpose
     *
     * The method description goes here.
     *
     * @param float $offset Description...
     * @param float $red Description...
     * @param float $green Description...
     * @param float $blue Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function addColorStopRgb($offset, $red, $green, $blue){}

    /**
     * The addColorStopRgba purpose
     *
     * The method description goes here.
     *
     * @param float $offset Description...
     * @param float $red Description...
     * @param float $green Description...
     * @param float $blue Description...
     * @param float $alpha Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function addColorStopRgba($offset, $red, $green, $blue, $alpha){}

    /**
     * The getColorStopCount purpose
     *
     * The method description goes here.
     *
     * @return int Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getColorStopCount(){}

    /**
     * The getColorStopRgba purpose
     *
     * The method description goes here.
     *
     * @param int $index Description...
     * @return array Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getColorStopRgba($index){}

    /**
     * The getExtend purpose
     *
     * The method description goes here.
     *
     * @return int Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getExtend(){}

    /**
     * The setExtend purpose
     *
     * The method description goes here.
     *
     * @param int $extend Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setExtend($extend){}

}
/**
 * Specifies whether to hint font metrics; hinting font metrics means
 * quantizing them so that they are integer values in device space. Doing
 * this improves the consistency of letter and line spacing, however it
 * also means that text will be laid out differently at different zoom
 * factors.
 **/
class CairoHintMetrics {
    /**
     * @var integer
     **/
    const METRICS_DEFAULT = 0;

    /**
     * @var integer
     **/
    const METRICS_OFF = 0;

    /**
     * @var integer
     **/
    const METRICS_ON = 0;

}
/**
 * Specifies the type of hinting to do on font outlines. Hinting is the
 * process of fitting outlines to the pixel grid in order to improve the
 * appearance of the result. Since hinting outlines involves distorting
 * them, it also reduces the faithfulness to the original outline shapes.
 * Not all of the outline hinting styles are supported by all font
 * backends.
 **/
class CairoHintStyle {
    /**
     * @var integer
     **/
    const STYLE_DEFAULT = 0;

    /**
     * @var integer
     **/
    const STYLE_FULL = 0;

    /**
     * @var integer
     **/
    const STYLE_MEDIUM = 0;

    /**
     * @var integer
     **/
    const STYLE_NONE = 0;

    /**
     * @var integer
     **/
    const STYLE_SLIGHT = 0;

}
/**
 * CairoImageSurface provide the ability to render to memory buffers
 * either allocated by cairo or by the calling code. The supported image
 * formats are those defined in CairoFormat.
 **/
class CairoImageSurface extends CairoSurface {
    /**
     * The createForData purpose
     *
     * The method description goes here.
     *
     * @param string $data Description...
     * @param int $format Description...
     * @param int $width Description...
     * @param int $height Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public static function createForData($data, $format, $width, $height){}

    /**
     * Creates a new CairoImageSurface form a png image file
     *
     * This method should be called static
     *
     * @param string $file Path to PNG image file
     * @return CairoImageSurface CairoImageSurface object
     * @since PECL cairo >= 0.1.0
     **/
    public static function createFromPng($file){}

    /**
     * Gets the image data as string
     *
     * Returns the image data of this surface or NULL if surface is not an
     * image surface, or if CairoContext::finish, procedural : {@link
     * cairo_surface_finish}, has been called.
     *
     * @return string The image data as string
     * @since PECL cairo >= 0.1.0
     **/
    public function getData(){}

    /**
     * Get the image format
     *
     * Retrieves the image format, as one of the CairoFormat defined
     *
     * @return int One of the CairoFormat enums
     * @since PECL cairo >= 0.1.0
     **/
    public function getFormat(){}

    /**
     * Retrieves the height of the CairoImageSurface
     *
     * This methods returns the CairoImageSurface height.
     *
     * @return int CairoImageSurface object height
     * @since PECL cairo >= 0.1.0
     **/
    public function getHeight(){}

    /**
     * The getStride purpose
     *
     * The method description goes here.
     *
     * @return int Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getStride(){}

    /**
     * Retrieves the width of the CairoImageSurface
     *
     * Gets the width of the CairoImageSurface
     *
     * @return int Returns the width of the CairoImageSurface object
     * @since PECL cairo >= 0.1.0
     **/
    public function getWidth(){}

    /**
     * Creates a new CairoImageSurface
     *
     * Creates a new CairoImageSuface object of type {@link format}
     *
     * @param int $format Can be any defined in CairoFormat
     * @param int $width The width of the image surface
     * @param int $height The height of the image surface
     * @since PECL cairo >= 0.1.0
     **/
    public function __construct($format, $width, $height){}

}
/**
 * Create a new CairoLinearGradient along the line defined
 **/
class CairoLinearGradient extends CairoGradientPattern {
    /**
     * The getPoints purpose
     *
     * The method description goes here.
     *
     * @return array Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getPoints(){}

    /**
     * The __construct purpose
     *
     * The method description goes here.
     *
     * @param float $x0 Description...
     * @param float $y0 Description...
     * @param float $x1 Description...
     * @param float $y1 Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function __construct($x0, $y0, $x1, $y1){}

}
/**
 * Specifies how to render the endpoints of the path when stroking. The
 * default line cap style is CairoLineCap::BUTT.
 **/
class CairoLineCap {
    /**
     * Start(stop) the line exactly at the start(end) point
     *
     * @var integer
     **/
    const BUTT = 0;

    /**
     * Use a round ending, the center of the circle is the end point
     *
     * @var integer
     **/
    const ROUND = 0;

    /**
     * Use squared ending, the center of the square is the end point
     *
     * @var integer
     **/
    const SQUARE = 0;

}
class CairoLineJoin {
    /**
     * @var integer
     **/
    const BEVEL = 0;

    /**
     * @var integer
     **/
    const MITER = 0;

    /**
     * @var integer
     **/
    const ROUND = 0;

}
/**
 * Matrices are used throughout cairo to convert between different
 * coordinate spaces.
 **/
class CairoMatrix {
    /**
     * Creates a new identity matrix
     *
     * Creates a new matrix that is an identity transformation. An identity
     * transformation means the source data is copied into the destination
     * data without change
     *
     * @return void Returns a new CairoMatrix object that can be used with
     *   surfaces, contexts, and patterns.
     * @since PECL cairo >= 0.1.0
     **/
    public static function initIdentity(){}

    /**
     * Creates a new rotated matrix
     *
     * Creats a new matrix to a transformation that rotates by radians
     * provided
     *
     * @param float $radians angle of rotation, in radians. The direction
     *   of rotation is defined such that positive angles rotate in the
     *   direction from the positive X axis toward the positive Y axis. With
     *   the default axis orientation of cairo, positive angles rotate in a
     *   clockwise direction.
     * @return void Returns a new CairoMatrix object that can be used with
     *   surfaces, contexts, and patterns.
     * @since PECL cairo >= 0.1.0
     **/
    public static function initRotate($radians){}

    /**
     * Creates a new scaling matrix
     *
     * Creates a new matrix to a transformation that scales by sx and sy in
     * the X and Y dimensions, respectively.
     *
     * @param float $sx scale factor in the X direction
     * @param float $sy scale factor in the Y direction
     * @return void Returns a new CairoMatrix object that can be used with
     *   surfaces, contexts, and patterns.
     * @since PECL cairo >= 0.1.0
     **/
    public static function initScale($sx, $sy){}

    /**
     * Creates a new translation matrix
     *
     * Creates a new matrix to a transformation that translates by tx and ty
     * in the X and Y dimensions, respectively.
     *
     * @param float $tx amount to translate in the X direction
     * @param float $ty amount to translate in the Y direction
     * @return void Returns a new CairoMatrix object that can be used with
     *   surfaces, contexts, and patterns.
     * @since PECL cairo >= 0.1.0
     **/
    public static function initTranslate($tx, $ty){}

    /**
     * The invert purpose
     *
     * The method description goes here.
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function invert(){}

    /**
     * The multiply purpose
     *
     * The method description goes here.
     *
     * @param CairoMatrix $matrix1 Description...
     * @param CairoMatrix $matrix2 Description...
     * @return CairoMatrix Description...
     * @since PECL cairo >= 0.1.0
     **/
    public static function multiply($matrix1, $matrix2){}

    /**
     * The rotate purpose
     *
     * @param float $radians Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function rotate($radians){}

    /**
     * Applies scaling to a matrix
     *
     * Applies scaling by sx, sy to the transformation in the matrix. The
     * effect of the new transformation is to first scale the coordinates by
     * sx and sy, then apply the original transformation to the coordinates.
     *
     * @param float $sx Procedural only - CairoMatrix instance
     * @param float $sy scale factor in the X direction
     * @return void
     * @since PECL cairo >= 0.1.0
     **/
    public function scale($sx, $sy){}

    /**
     * The transformDistance purpose
     *
     * The method description goes here.
     *
     * @param float $dx Description...
     * @param float $dy Description...
     * @return array Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function transformDistance($dx, $dy){}

    /**
     * The transformPoint purpose
     *
     * The method description goes here.
     *
     * @param float $dx Description...
     * @param float $dy Description...
     * @return array Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function transformPoint($dx, $dy){}

    /**
     * The translate purpose
     *
     * @param float $tx Description...
     * @param float $ty Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function translate($tx, $ty){}

    /**
     * Creates a new CairoMatrix object
     *
     * Returns new CairoMatrix object. Matrices are used throughout cairo to
     * convert between different coordinate spaces. Sets matrix to be the
     * affine transformation given by xx, yx, xy, yy, x0, y0. The
     * transformation is given by: x_new = xx * x + xy * y + x0; and y_new =
     * yx * x + yy * y + y0;
     *
     * @param float $xx xx component of the affine transformation
     * @param float $yx yx component of the affine transformation
     * @param float $xy xy component of the affine transformation
     * @param float $yy yy component of the affine transformation
     * @param float $x0 X translation component of the affine
     *   transformation
     * @param float $y0 Y translation component of the affine
     *   transformation
     * @since PECL cairo >= 0.1.0
     **/
    public function __construct($xx, $yx, $xy, $yy, $x0, $y0){}

}
/**
 * This is used to set the compositing operator for all cairo drawing
 * operations. The default operator is CairoOperator::OVER The operators
 * marked as unbounded modify their destination even outside of the mask
 * layer (that is, their effect is not bound by the mask layer). However,
 * their effect can still be limited by way of clipping. To keep things
 * simple, the operator descriptions here document the behavior for when
 * both source and destination are either fully transparent or fully
 * opaque. The actual implementation works for translucent layers too.
 * For a more detailed explanation of the effects of each operator,
 * including the mathematical definitions, see
 * http://cairographics.org/operators/.
 **/
class CairoOperator {
    /**
     * Source and destination layers are accumulated
     *
     * @var integer
     **/
    const ADD = 0;

    /**
     * Draw source on top of destination content and only there
     *
     * @var integer
     **/
    const ATOP = 0;

    /**
     * Clear destination layer (bounded)
     *
     * @var integer
     **/
    const CLEAR = 0;

    /**
     * Ignore the source
     *
     * @var integer
     **/
    const DEST = 0;

    /**
     * @var integer
     **/
    const DEST_ATOP = 0;

    /**
     * @var integer
     **/
    const DEST_IN = 0;

    /**
     * @var integer
     **/
    const DEST_OUT = 0;

    /**
     * @var integer
     **/
    const DEST_OVER = 0;

    /**
     * Draw source where there was destination content (unbounded)
     *
     * @var integer
     **/
    const IN = 0;

    /**
     * Draw source where there was no destination content (unbounded)
     *
     * @var integer
     **/
    const OUT = 0;

    /**
     * Draw source layer on top of destination layer (bounded)
     *
     * @var integer
     **/
    const OVER = 0;

    /**
     * Like CairoOperator::OVER, but assuming source and dest are disjoint
     * geometries
     *
     * @var integer
     **/
    const SATURATE = 0;

    /**
     * Replace destination layer (bounded)
     *
     * @var integer
     **/
    const SOURCE = 0;

    /**
     * Source and destination are shown where there is only one of them
     *
     * @var integer
     **/
    const XOR = 0;

}
/**
 * Note: CairoPath class cannot be instantiated directly, doing so will
 * result in Fatal Error if used or passed
 **/
class CairoPath {
}
/**
 * CairoPattern is the abstract base class from which all the other
 * pattern classes derive. It cannot be instantiated directly
 **/
class CairoPattern {
    /**
     * The getMatrix purpose
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getMatrix(){}

    /**
     * The getType purpose
     *
     * The method description goes here.
     *
     * @return int Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getType(){}

    /**
     * The setMatrix purpose
     *
     * @param CairoMatrix $matrix Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setMatrix($matrix){}

    /**
     * The status purpose
     *
     * @return int Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function status(){}

    /**
     * The __construct purpose
     *
     * The method description goes here.
     *
     * @since PECL cairo >= 0.1.0
     **/
    public function __construct(){}

}
/**
 * CairoPatternType is used to describe the type of a given pattern. The
 * type of a pattern is determined by the function used to create it. The
 * {@link cairo_pattern_create_rgb} and {@link cairo_pattern_create_rgba}
 * functions create CairoPatternType::SOLID patterns. The remaining
 * cairo_pattern_create_* functions map to pattern types in obvious ways.
 **/
class CairoPatternType {
    /**
     * The pattern is a linear gradient.
     *
     * @var integer
     **/
    const LINEAR = 0;

    /**
     * The pattern is a radial gradient.
     *
     * @var integer
     **/
    const RADIAL = 0;

    /**
     * The pattern is a solid (uniform) color. It may be opaque or
     * translucent.
     *
     * @var integer
     **/
    const SOLID = 0;

    /**
     * The pattern is a based on a surface (an image).
     *
     * @var integer
     **/
    const SURFACE = 0;

}
class CairoPdfSurface extends CairoSurface {
    /**
     * The setSize purpose
     *
     * The method description goes here.
     *
     * @param float $width Description...
     * @param float $height Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setSize($width, $height){}

    /**
     * The __construct purpose
     *
     * The method description goes here.
     *
     * @param string $file Description...
     * @param float $width Description...
     * @param float $height Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function __construct($file, $width, $height){}

}
class CairoPsLevel {
    /**
     * @var integer
     **/
    const LEVEL_2 = 0;

    /**
     * @var integer
     **/
    const LEVEL_3 = 0;

}
class CairoPsSurface extends CairoSurface {
    /**
     * The dscBeginPageSetup purpose
     *
     * The method description goes here.
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function dscBeginPageSetup(){}

    /**
     * The dscBeginSetup purpose
     *
     * The method description goes here.
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function dscBeginSetup(){}

    /**
     * The dscComment purpose
     *
     * The method description goes here.
     *
     * @param string $comment Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function dscComment($comment){}

    /**
     * The getEps purpose
     *
     * The method description goes here.
     *
     * @return bool Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getEps(){}

    /**
     * The getLevels purpose
     *
     * The method description goes here.
     *
     * @return array Description...
     * @since PECL cairo >= 0.1.0
     **/
    public static function getLevels(){}

    /**
     * The levelToString purpose
     *
     * The method description goes here.
     *
     * @param int $level Description...
     * @return string Description...
     * @since PECL cairo >= 0.1.0
     **/
    public static function levelToString($level){}

    /**
     * The restrictToLevel purpose
     *
     * The method description goes here.
     *
     * @param int $level Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function restrictToLevel($level){}

    /**
     * The setEps purpose
     *
     * The method description goes here.
     *
     * @param bool $level Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setEps($level){}

    /**
     * The setSize purpose
     *
     * The method description goes here.
     *
     * @param float $width Description...
     * @param float $height Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setSize($width, $height){}

    /**
     * The __construct purpose
     *
     * The method description goes here.
     *
     * @param string $file Description...
     * @param float $width Description...
     * @param float $height Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function __construct($file, $width, $height){}

}
class CairoRadialGradient extends CairoGradientPattern {
    /**
     * The getCircles purpose
     *
     * The method description goes here.
     *
     * @return array Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getCircles(){}

    /**
     * The __construct purpose
     *
     * Creates a new radial gradient CairoPattern between the two circles
     * defined by (x0, y0, r0) and (x1, y1, r1). Before using the gradient
     * pattern, a number of color stops should be defined using
     * CairoRadialGradient::addColorStopRgb or
     * CairoRadialGradient::addColorStopRgba.
     *
     * Note: The coordinates here are in pattern space. For a new pattern,
     * pattern space is identical to user space, but the relationship between
     * the spaces can be changed with CairoRadialGradient::setMatrix.
     *
     * @param float $x0 x coordinate for the center of the start circle.
     * @param float $y0 y coordinate for the center of the start circle.
     * @param float $r0 radius of the start circle.
     * @param float $x1 x coordinate for the center of the end circle.
     * @param float $y1 y coordinate for the center of the end circle.
     * @param float $r1 radius of the end circle.
     * @since PECL cairo >= 0.1.0
     **/
    public function __construct($x0, $y0, $r0, $x1, $y1, $r1){}

}
class CairoScaledFont {
    /**
     * The extents purpose
     *
     * The method description goes here.
     *
     * @return array Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function extents(){}

    /**
     * The getCtm purpose
     *
     * The method description goes here.
     *
     * @return CairoMatrix Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getCtm(){}

    /**
     * The getFontFace purpose
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getFontFace(){}

    /**
     * The getFontMatrix purpose
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getFontMatrix(){}

    /**
     * The getFontOptions purpose
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getFontOptions(){}

    /**
     * The getScaleMatrix purpose
     *
     * The method description goes here.
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getScaleMatrix(){}

    /**
     * The getType purpose
     *
     * The method description goes here.
     *
     * @return int Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getType(){}

    /**
     * The glyphExtents purpose
     *
     * The method description goes here.
     *
     * @param array $glyphs Description...
     * @return array Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function glyphExtents($glyphs){}

    /**
     * The status purpose
     *
     * @return int Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function status(){}

    /**
     * The textExtents purpose
     *
     * @param string $text Description...
     * @return array Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function textExtents($text){}

    /**
     * The __construct purpose
     *
     * The method description goes here.
     *
     * @param CairoFontFace $font_face Description...
     * @param CairoMatrix $matrix Description...
     * @param CairoMatrix $ctm Description...
     * @param CairoFontOptions $options Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function __construct($font_face, $matrix, $ctm, $options){}

}
class CairoSolidPattern extends CairoPattern {
    /**
     * The getRgba purpose
     *
     * The method description goes here.
     *
     * @return array Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getRgba(){}

    /**
     * The __construct purpose
     *
     * The method description goes here.
     *
     * @param float $red Description...
     * @param float $green Description...
     * @param float $blue Description...
     * @param float $alpha Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function __construct($red, $green, $blue, $alpha){}

}
/**
 * CairoStatus is used to indicate errors that can occur when using
 * Cairo. In some cases it is returned directly by functions. but when
 * using CairoContext, the last error, if any, is stored in the object
 * and can be retrieved with CairoContext::status or {@link
 * cairo_status}. New entries may be added in future versions. Use
 * Cairo::statusToString or {@link cairo_status_to_string} to get a
 * human-readable representation of an error message.
 **/
class CairoStatus {
    /**
     * @var integer
     **/
    const CLIP_NOT_REPRESENTABLE = 0;

    /**
     * @var integer
     **/
    const FILE_NOT_FOUND = 0;

    /**
     * @var integer
     **/
    const INVALID_CONTENT = 0;

    /**
     * @var integer
     **/
    const INVALID_DASH = 0;

    /**
     * @var integer
     **/
    const INVALID_DSC_COMMENT = 0;

    /**
     * @var integer
     **/
    const INVALID_FORMAT = 0;

    /**
     * @var integer
     **/
    const INVALID_INDEX = 0;

    /**
     * @var integer
     **/
    const INVALID_MATRIX = 0;

    /**
     * @var integer
     **/
    const INVALID_PATH_DATA = 0;

    /**
     * @var integer
     **/
    const INVALID_POP_GROUP = 0;

    /**
     * @var integer
     **/
    const INVALID_RESTORE = 0;

    /**
     * @var integer
     **/
    const INVALID_STATUS = 0;

    /**
     * @var integer
     **/
    const INVALID_STRIDE = 0;

    /**
     * @var integer
     **/
    const INVALID_STRING = 0;

    /**
     * @var integer
     **/
    const INVALID_VISUAL = 0;

    /**
     * @var integer
     **/
    const NO_CURRENT_POINT = 0;

    /**
     * @var integer
     **/
    const NO_MEMORY = 0;

    /**
     * @var integer
     **/
    const NULL_POINTER = 0;

    /**
     * @var integer
     **/
    const PATTERN_TYPE_MISMATCH = 0;

    /**
     * @var integer
     **/
    const READ_ERROR = 0;

    /**
     * No error has occurred
     *
     * @var integer
     **/
    const SUCCESS = 0;

    /**
     * @var integer
     **/
    const SURFACE_FINISHED = 0;

    /**
     * @var integer
     **/
    const SURFACE_TYPE_MISMATCH = 0;

    /**
     * @var integer
     **/
    const TEMP_FILE_ERROR = 0;

    /**
     * @var integer
     **/
    const WRITE_ERROR = 0;

}
class CairoSubpixelOrder {
    /**
     * @var integer
     **/
    const ORDER_BGR = 0;

    /**
     * @var integer
     **/
    const ORDER_DEFAULT = 0;

    /**
     * @var integer
     **/
    const ORDER_RGB = 0;

    /**
     * @var integer
     **/
    const ORDER_VBGR = 0;

    /**
     * @var integer
     **/
    const ORDER_VRGB = 0;

}
/**
 * This is the base-class for all other Surface types. CairoSurface is
 * the abstract type representing all different drawing targets that
 * cairo can render to. The actual drawings are performed using a
 * CairoContext.
 **/
class CairoSurface {
    /**
     * The copyPage purpose
     *
     * Emits the current page for backends that support multiple pages, but
     * doesn't clear it, so that the contents of the current page will be
     * retained for the next page. Use CairoSurface::showPage() if you want
     * to get an empty page after the emission.
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function copyPage(){}

    /**
     * The createSimilar purpose
     *
     * Create a new surface that is as compatible as possible with an
     * existing surface. For example the new surface will have the same
     * fallback resolution and font options as other. Generally, the new
     * surface will also use the same backend as other, unless that is not
     * possible for some reason. The type of the returned surface may be
     * examined with CairoSurface::getType(). Initially the surface contents
     * are all 0 (transparent if contents have transparency, black
     * otherwise.)
     *
     * @param CairoSurface $other An existing surface used to select the
     *   backend of the new surface
     * @param int $content The content for the new surface. See the
     *   CairoContent class for possible values.
     * @param string $width Width of the new surface, (in device-space
     *   units).
     * @param string $height Height of the new surface, (in device-space
     *   units).
     * @return void A new CairoSurface
     * @since PECL cairo >= 0.1.0
     **/
    public function createSimilar($other, $content, $width, $height){}

    /**
     * The finish purpose
     *
     * The method description goes here.
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function finish(){}

    /**
     * The flush purpose
     *
     * The method description goes here.
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function flush(){}

    /**
     * The getContent purpose
     *
     * The method description goes here.
     *
     * @return int Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getContent(){}

    /**
     * The getDeviceOffset purpose
     *
     * The method description goes here.
     *
     * @return array Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getDeviceOffset(){}

    /**
     * The getFontOptions purpose
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getFontOptions(){}

    /**
     * The getType purpose
     *
     * The method description goes here.
     *
     * @return int Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getType(){}

    /**
     * The markDirty purpose
     *
     * The method description goes here.
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function markDirty(){}

    /**
     * The markDirtyRectangle purpose
     *
     * The method description goes here.
     *
     * @param float $x Description...
     * @param float $y Description...
     * @param float $width Description...
     * @param float $height Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function markDirtyRectangle($x, $y, $width, $height){}

    /**
     * The setDeviceOffset purpose
     *
     * The method description goes here.
     *
     * @param float $x Description...
     * @param float $y Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setDeviceOffset($x, $y){}

    /**
     * The setFallbackResolution purpose
     *
     * The method description goes here.
     *
     * @param float $x Description...
     * @param float $y Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setFallbackResolution($x, $y){}

    /**
     * The showPage purpose
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function showPage(){}

    /**
     * The status purpose
     *
     * @return int Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function status(){}

    /**
     * The writeToPng purpose
     *
     * The method description goes here.
     *
     * @param string $file Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function writeToPng($file){}

    /**
     * The __construct purpose
     *
     * CairoSurface is an abstract type and, as such, should not be
     * instantiated in your PHP scripts.
     *
     * @since PECL cairo >= 0.1.0
     **/
    public function __construct(){}

}
class CairoSurfacePattern extends CairoPattern {
    /**
     * The getExtend purpose
     *
     * The method description goes here.
     *
     * @return int Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getExtend(){}

    /**
     * The getFilter purpose
     *
     * The method description goes here.
     *
     * @return int Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getFilter(){}

    /**
     * The getSurface purpose
     *
     * The method description goes here.
     *
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function getSurface(){}

    /**
     * The setExtend purpose
     *
     * The method description goes here.
     *
     * @param int $extend Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setExtend($extend){}

    /**
     * The setFilter purpose
     *
     * The method description goes here.
     *
     * @param int $filter Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function setFilter($filter){}

    /**
     * The __construct purpose
     *
     * The method description goes here.
     *
     * @param CairoSurface $surface Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function __construct($surface){}

}
class CairoSurfaceType {
    /**
     * @var integer
     **/
    const BEOS = 0;

    /**
     * @var integer
     **/
    const DIRECTFB = 0;

    /**
     * @var integer
     **/
    const GLITZ = 0;

    /**
     * @var integer
     **/
    const IMAGE = 0;

    /**
     * @var integer
     **/
    const OS2 = 0;

    /**
     * @var integer
     **/
    const PDF = 0;

    /**
     * @var integer
     **/
    const PS = 0;

    /**
     * @var integer
     **/
    const QUARTZ = 0;

    /**
     * @var integer
     **/
    const QUARTZ_IMAGE = 0;

    /**
     * @var integer
     **/
    const SVG = 0;

    /**
     * @var integer
     **/
    const WIN32 = 0;

    /**
     * @var integer
     **/
    const WIN32_PRINTING = 0;

    /**
     * @var integer
     **/
    const XCB = 0;

    /**
     * @var integer
     **/
    const XLIB = 0;

}
/**
 * Svg specific surface class, uses the SVG (standard vector graphics)
 * surface backend.
 **/
class CairoSvgSurface extends CairoSurface {
    /**
     * Used to retrieve a list of supported SVG versions
     *
     * Returns a numerically indexed array of currently available
     * CairoSvgVersion constants. In order to retreive the string values for
     * each item, use CairoSvgSurface::versionToString.
     *
     * @return array Returns a numerically indexed array of integer values.
     * @since PECL cairo >= 0.1.0
     **/
    public static function getVersions(){}

    /**
     * The restrictToVersion purpose
     *
     * The method description goes here.
     *
     * @param int $version Description...
     * @return void Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function restrictToVersion($version){}

    /**
     * The versionToString purpose
     *
     * The method description goes here.
     *
     * @param int $version Description...
     * @return string Description...
     * @since PECL cairo >= 0.1.0
     **/
    public static function versionToString($version){}

    /**
     * The __construct purpose
     *
     * The method description goes here.
     *
     * @param string $file Description...
     * @param float $width Description...
     * @param float $height Description...
     * @since PECL cairo >= 0.1.0
     **/
    public function __construct($file, $width, $height){}

}
class CairoSvgVersion {
    /**
     * @var integer
     **/
    const VERSION_1_1 = 0;

    /**
     * @var integer
     **/
    const VERSION_1_2 = 0;

}
/**
 * The CairoToyFontFace class can be used instead of
 * CairoContext::selectFontFace to create a toy font independently of a
 * context.
 **/
class CairoToyFontFace extends CairoFontFace {
}
/**
 * The callback should accept up to three arguments: the current item,
 * the current key and the iterator, respectively. Any callable may be
 * used; such as a string containing a function name, an array for a
 * method, or an anonymous function.
 **/
class CallbackFilterIterator extends FilterIterator implements OuterIterator {
    /**
     * Calls the callback with the current value, the current key and the
     * inner iterator as arguments
     *
     * This method calls the callback with the current value, current key and
     * the inner iterator.
     *
     * The callback is expected to return TRUE if the current item is to be
     * accepted, or FALSE otherwise.
     *
     * @return string Returns TRUE to accept the current item, or FALSE
     *   otherwise.
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function accept(){}

}
/**
 * Represents a loaded chdb file.
 **/
class chdb {
    /**
     * Gets the value associated with a key
     *
     * Gets the value associated with a key from a chdb database.
     *
     * @param string $key The key for which to get the value.
     * @return string Returns a string containing the value associated with
     *   the given {@link key}, or NULL if not found.
     * @since PECL chdb >= 0.1.0
     **/
    public function get($key){}

    /**
     * Creates a instance
     *
     * Loads a chdb file, by mapping it into memory. While some validity
     * checks are performed on the specified file, they are mostly there to
     * avoid the possibility of common mistakes (for example, loading a file
     * which is not a chdb database, or that is somehow incompatible with the
     * current system). A maliciously crafted chdb file can thus be dangerous
     * if loaded, so chdb files should be trusted and treated with the same
     * security protections used for PHP shared libraries.
     *
     * @param string $pathname The name of the file to load.
     * @since PECL chdb >= 0.1.0
     **/
    public function __construct($pathname){}

}
/**
 * Class used to represent anonymous functions. Anonymous functions,
 * implemented in PHP 5.3, yield objects of this type. This fact used to
 * be considered an implementation detail, but it can now be relied upon.
 * Starting with PHP 5.4, this class has methods that allow further
 * control of the anonymous function after it has been created. Besides
 * the methods listed here, this class also has an __invoke method. This
 * is for consistency with other classes that implement calling magic, as
 * this method is not used for calling the function.
 **/
class Closure {
    /**
     * Duplicates a closure with a specific bound object and class scope
     *
     * This method is a static version of Closure::bindTo. See the
     * documentation of that method for more information.
     *
     * @param Closure $closure The anonymous functions to bind.
     * @param object $newthis The object to which the given anonymous
     *   function should be bound, or NULL for the closure to be unbound.
     * @param mixed $newscope The class scope to which associate the
     *   closure is to be associated, or 'static' to keep the current one. If
     *   an object is given, the type of the object will be used instead.
     *   This determines the visibility of protected and private methods of
     *   the bound object. It is not allowed to pass (an object of) an
     *   internal class as this parameter.
     * @return Closure Returns a new Closure object
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public static function bind($closure, $newthis, $newscope){}

    /**
     * Duplicates the closure with a new bound object and class scope
     *
     * Create and return a new anonymous function with the same body and
     * bound variables as this one, but possibly with a different bound
     * object and a new class scope.
     *
     * The “bound object” determines the value $this will have in the
     * function body and the “class scope” represents a class which
     * determines which private and protected members the anonymous function
     * will be able to access. Namely, the members that will be visible are
     * the same as if the anonymous function were a method of the class given
     * as value of the {@link newscope} parameter.
     *
     * Static closures cannot have any bound object (the value of the
     * parameter {@link newthis} should be NULL), but this function can
     * nevertheless be used to change their class scope.
     *
     * This function will ensure that for a non-static closure, having a
     * bound instance will imply being scoped and vice-versa. To this end,
     * non-static closures that are given a scope but a NULL instance are
     * made static and non-static non-scoped closures that are given a
     * non-null instance are scoped to an unspecified class.
     *
     * @param object $newthis The object to which the given anonymous
     *   function should be bound, or NULL for the closure to be unbound.
     * @param mixed $newscope The class scope to which associate the
     *   closure is to be associated, or 'static' to keep the current one. If
     *   an object is given, the type of the object will be used instead.
     *   This determines the visibility of protected and private methods of
     *   the bound object. It is not allowed to pass (an object of) an
     *   internal class as this parameter.
     * @return Closure Returns the newly created Closure object
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function bindTo($newthis, $newscope){}

    /**
     * Binds and calls the closure
     *
     * Temporarily binds the closure to {@link newthis}, and calls it with
     * any given parameters.
     *
     * @param object $newthis The object to bind the closure to for the
     *   duration of the call.
     * @return mixed Returns the return value of the closure.
     * @since PHP 7
     **/
    public function call($newthis){}

    /**
     * Converts a callable into a closure
     *
     * Create and return a new anonymous function from given {@link callable}
     * using the current scope. This method checks if the {@link callable} is
     * callable in the current scope and throws a TypeError if it is not.
     *
     * @param callable $callable The callable to convert.
     * @return Closure Returns the newly created Closure or throws a
     *   TypeError if the {@link callable} is not callable in the current
     *   scope.
     * @since PHP 7 >= 7.1.0
     **/
    public static function fromCallable($callable){}

    /**
     * Constructor that disallows instantiation
     *
     * This method exists only to disallow instantiation of the Closure
     * class. Objects of this class are created in the fashion described on
     * the anonymous functions page.
     *
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    private function __construct(){}

}
/**
 * Provides string comparison capability with support for appropriate
 * locale-sensitive sort orderings.
 **/
class Collator {
    /**
     * Sort array maintaining index association
     *
     * This function sorts an array such that array indices maintain their
     * correlation with the array elements they are associated with. This is
     * used mainly when sorting associative arrays where the actual element
     * order is significant. Array elements will have sort order according to
     * current locale rules.
     *
     * Equivalent to standard PHP {@link asort}.
     *
     * @param array $arr Collator object.
     * @param int $sort_flag Array of strings to sort.
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function asort(&$arr, $sort_flag){}

    /**
     * Compare two Unicode strings
     *
     * Compare two Unicode strings according to collation rules.
     *
     * @param string $str1 Collator object.
     * @param string $str2 The first string to compare.
     * @return int Return comparison result:
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function compare($str1, $str2){}

    /**
     * Create a collator
     *
     * The strings will be compared using the options already specified.
     *
     * @param string $locale The locale containing the required collation
     *   rules. Special values for locales can be passed in - if null is
     *   passed for the locale, the default locale collation rules will be
     *   used. If empty string ("") or "root" are passed, UCA rules will be
     *   used.
     * @return Collator Return new instance of Collator object, or NULL on
     *   error.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public static function create($locale){}

    /**
     * Get collation attribute value
     *
     * Get a value of an integer collator attribute.
     *
     * @param int $attr Collator object.
     * @return int Attribute value, or boolean FALSE on error.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function getAttribute($attr){}

    /**
     * Get collator's last error code
     *
     * @return int Error code returned by the last Collator API function
     *   call.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function getErrorCode(){}

    /**
     * Get text for collator's last error code
     *
     * Retrieves the message for the last error.
     *
     * @return string Description of an error occurred in the last Collator
     *   API function call.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function getErrorMessage(){}

    /**
     * Get the locale name of the collator
     *
     * Get collector locale name.
     *
     * @param int $type Collator object.
     * @return string Real locale name from which the collation data comes.
     *   If the collator was instantiated from rules or an error occurred,
     *   returns boolean FALSE.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function getLocale($type){}

    /**
     * Get sorting key for a string
     *
     * Return collation key for a string.
     *
     * @param string $str Collator object.
     * @return string Returns the collation key for the string. Collation
     *   keys can be compared directly instead of strings.
     * @since PHP 5 >= 5.3.11, PHP 7, PECL intl >= 1.0.3
     **/
    public function getSortKey($str){}

    /**
     * Get current collation strength
     *
     * @return int Returns current collation strength, or boolean FALSE on
     *   error.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function getStrength(){}

    /**
     * Set collation attribute
     *
     * @param int $attr Collator object.
     * @param int $val Attribute.
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function setAttribute($attr, $val){}

    /**
     * Set collation strength
     *
     * The ICU Collation Service supports many levels of comparison (named
     * "Levels", but also known as "Strengths"). Having these categories
     * enables ICU to sort strings precisely according to local conventions.
     * However, by allowing the levels to be selectively employed, searching
     * for a string in text can be performed with various matching
     * conditions.
     *
     * Primary Level: Typically, this is used to denote differences between
     * base characters (for example, "a" < "b"). It is the strongest
     * difference. For example, dictionaries are divided into different
     * sections by base character. This is also called the level1 strength.
     * Secondary Level: Accents in the characters are considered secondary
     * differences (for example, "as" < "às" < "at"). Other differences
     * between letters can also be considered secondary differences,
     * depending on the language. A secondary difference is ignored when
     * there is a primary difference anywhere in the strings. This is also
     * called the level2 strength. Note: In some languages (such as Danish),
     * certain accented letters are considered to be separate base
     * characters. In most languages, however, an accented letter only has a
     * secondary difference from the unaccented version of that letter.
     * Tertiary Level: Upper and lower case differences in characters are
     * distinguished at the tertiary level (for example, "ao" < "Ao" <
     * "aò"). In addition, a variant of a letter differs from the base form
     * on the tertiary level (such as "A" and " "). Another example is the
     * difference between large and small Kana. A tertiary difference is
     * ignored when there is a primary or secondary difference anywhere in
     * the strings. This is also called the level3 strength. Quaternary
     * Level: When punctuation is ignored (see Ignoring Punctuations ) at
     * level 13, an additional level can be used to distinguish words with
     * and without punctuation (for example, "ab" < "a-b" < "aB"). This
     * difference is ignored when there is a primary, secondary or tertiary
     * difference. This is also known as the level4 strength. The quaternary
     * level should only be used if ignoring punctuation is required or when
     * processing Japanese text (see Hiragana processing). Identical Level:
     * When all other levels are equal, the identical level is used as a
     * tiebreaker. The Unicode code point values of the NFD form of each
     * string are compared at this level, just in case there is no difference
     * at levels 14. For example, Hebrew cantillation marks are only
     * distinguished at this level. This level should be used sparingly, as
     * only code point values differences between two strings is an extremely
     * rare occurrence. Using this level substantially decreases the
     * performance for both incremental comparison and sort key generation
     * (as well as increasing the sort key length). It is also known as level
     * 5 strength.
     *
     * For example, people may choose to ignore accents or ignore accents and
     * case when searching for text. Almost all characters are distinguished
     * by the first three levels, and in most locales the default value is
     * thus Tertiary. However, if Alternate is set to be Shifted, then the
     * Quaternary strength can be used to break ties among whitespace,
     * punctuation, and symbols that would otherwise be ignored. If very fine
     * distinctions among characters are required, then the Identical
     * strength can be used (for example, Identical Strength distinguishes
     * between the Mathematical Bold Small A and the Mathematical Italic
     * Small A.). However, using levels higher than Tertiary the Identical
     * strength result in significantly longer sort keys, and slower string
     * comparison performance for equal strings.
     *
     * @param int $strength Collator object.
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function setStrength($strength){}

    /**
     * Sort array using specified collator
     *
     * This function sorts an array according to current locale rules.
     *
     * Equivalent to standard PHP {@link sort} .
     *
     * @param array $arr Collator object.
     * @param int $sort_flag Array of strings to sort.
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function sort(&$arr, $sort_flag){}

    /**
     * Sort array using specified collator and sort keys
     *
     * Similar to {@link collator_sort} but uses ICU sorting keys produced by
     * ucol_getSortKey() to gain more speed on large arrays.
     *
     * @param array $arr Collator object.
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function sortWithSortKeys(&$arr){}

}
/**
 * Represents a garbage-collectable object.
 **/
interface Collectable {
    /**
     * Determine whether an object has been marked as garbage
     *
     * Can be called in Pool::collect to determine if this object is garbage.
     *
     * @return bool
     * @since PECL pthreads >= 2.0.8
     **/
    public function isGarbage();

    /**
     * Mark an object as garbage
     *
     * Should be called once per object when the object is finished being
     * executed or referenced.
     *
     * @return void
     * @since PECL pthreads < 3.0.0
     **/
    public function setGarbage();

}
namespace CommonMark {
class CQL {
    /**
     * CQL Execution
     *
     * Shall invoke the current CQL function on the given {@link root},
     * executing the given {@link handler} on entry to a \CommonMark\Node
     *
     * @param \CommonMark\Node $root the root node of a tree
     * @param callable $handler should have the prototype: ?boolhandler
     *   \CommonMark\Node{@link root} \CommonMark\Node{@link entering} Should
     *   {@link handler} fail to return (void), or return null, CQL will
     *   continue executing Should the handler return a truthy value, CQL
     *   will continue executing. Should the handler return a falsy value,
     *   CQL will stop executing
     **/
    public function __invoke($root, $handler){}

}
}
namespace CommonMark\Interfaces {
interface IVisitable {
    /**
     * Visitation
     *
     * @param CommonMark\Interfaces\IVisitor $visitor An object
     *   implementing CommonMark\Interfaces\IVisitor
     * @return void
     **/
    public function accept($visitor);

}
}
namespace CommonMark\Interfaces {
interface IVisitor {
    /**
     * Visitation
     *
     * @param IVisitable $visitable The current
     *   CommonMark\Interfaces\IVisitable being entered
     * @return ?int|IVisitable Returning
     *   CommonMark\Interfaces\IVisitor::Done will cause the backing iterator
     *   to exit.
     **/
    public function enter($visitable);

    /**
     * Visitation
     *
     * @param IVisitable $visitable The current
     *   CommonMark\Interfaces\IVisitable being exited
     * @return ?int|IVisitable Returning
     *   CommonMark\Interfaces\IVisitor::Done will cause the backing iterator
     *   to exit.
     **/
    public function leave($visitable);

}
}
namespace CommonMark {
final class Node implements CommonMark\Interfaces\IVisitable, Traversable {
    /**
     * @var int
     **/
    public $endColumn;

    /**
     * @var int
     **/
    public $endLine;

    /**
     * @var ?Node
     **/
    public $firstChild;

    /**
     * @var ?Node
     **/
    public $lastChild;

    /**
     * @var ?Node
     **/
    public $next;

    /**
     * @var ?Node
     **/
    public $parent;

    /**
     * @var ?Node
     **/
    public $previous;

    /**
     * @var int
     **/
    public $startColumn;

    /**
     * @var int
     **/
    public $startLine;

    /**
     * Visitation
     *
     * @param CommonMark\Interfaces\IVisitor $visitor An object
     *   implementing CommonMark\Interfaces\IVisitor
     * @return void
     **/
    public function accept($visitor){}

    /**
     * AST Manipulation
     *
     * @param CommonMark\Node $child
     * @return CommonMark\Node
     **/
    public function appendChild($child){}

    /**
     * AST Manipulation
     *
     * @param CommonMark\Node $sibling
     * @return CommonMark\Node
     **/
    public function insertAfter($sibling){}

    /**
     * AST Manipulation
     *
     * @param CommonMark\Node $sibling
     * @return CommonMark\Node
     **/
    public function insertBefore($sibling){}

    /**
     * AST Manipulation
     *
     * @param CommonMark\Node $child
     * @return CommonMark\Node
     **/
    public function prependChild($child){}

    /**
     * AST Manipulation
     *
     * @param CommonMark\Node $target
     * @return CommonMark\Node
     **/
    public function replace($target){}

    /**
     * AST Manipulation
     *
     * @return void
     **/
    public function unlink(){}

}
}
namespace CommonMark\Node {
final class BlockQuote extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
}
}
namespace CommonMark\Node {
final class BulletList extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
}
}
namespace CommonMark\Node {
final class Code extends CommonMark\Node\Text implements CommonMark\Interfaces\IVisitable, Traversable {
}
}
namespace CommonMark\Node {
final class CodeBlock extends CommonMark\Node\Text implements CommonMark\Interfaces\IVisitable, Traversable {
}
}
namespace CommonMark\Node {
final class CustomBlock extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
}
}
namespace CommonMark\Node {
final class CustomInline extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
}
}
namespace CommonMark\Node {
final class Document extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
}
}
namespace CommonMark\Node {
final class Heading extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
}
}
namespace CommonMark\Node {
final class HTMLBlock extends CommonMark\Node\Text implements CommonMark\Interfaces\IVisitable, Traversable {
}
}
namespace CommonMark\Node {
final class HTMLInline extends CommonMark\Node\Text implements CommonMark\Interfaces\IVisitable, Traversable {
}
}
namespace CommonMark\Node {
final class Image extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
}
}
namespace CommonMark\Node {
final class Item extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
}
}
namespace CommonMark\Node {
final class LineBreak extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
}
}
namespace CommonMark\Node {
final class Link extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
}
}
namespace CommonMark\Node {
final class OrderedList extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
}
}
namespace CommonMark\Node {
final class Paragraph extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
}
}
namespace CommonMark\Node {
final class SoftBreak extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
}
}
namespace CommonMark\Node {
final class Text extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
}
}
namespace CommonMark\Node\Text {
final class Emphasis extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
}
}
namespace CommonMark\Node\Text {
final class Strong extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
}
}
namespace CommonMark\Node {
final class ThematicBreak extends CommonMark\Node implements CommonMark\Interfaces\IVisitable, Traversable {
}
}
namespace CommonMark {
final class Parser {
    /**
     * Parsing
     *
     * @return CommonMark\Node
     **/
    public function finish(){}

    /**
     * Parsing
     *
     * @param string $buffer
     * @return void
     **/
    public function parse($buffer){}

}
}
namespace Componere {
final class Definition {
    /**
     * Add Constant
     *
     * Shall declare a class constant on the current Definition
     *
     * @param string $name The case sensitive name for the constant
     * @param \Componere\Value $value The Value for the constant, must not
     *   be undefined or static
     * @return Definition The current Definition
     **/
    public function addConstant($name, $value){}

    /**
     * Add Interface
     *
     * Shall implement the given interface on the current definition
     *
     * @param string $interface The case insensitive name of an interface
     * @return Definition The current Definition
     **/
    public function addInterface($interface){}

    /**
     * Add Method
     *
     * Shall create or override a method on the current definition.
     *
     * @param string $name The case insensitive name for method
     * @param \Componere\Method $method \Componere\Method not previously
     *   added to another Definition
     * @return Definition The current Definition
     **/
    public function addMethod($name, $method){}

    /**
     * Add Property
     *
     * Shall declare a class property on the current Definition
     *
     * @param string $name The case sensitive name for the property
     * @param \Componere\Value $value The default Value for the property
     * @return Definition The current Definition
     **/
    public function addProperty($name, $value){}

    /**
     * Add Trait
     *
     * Shall use the given trait for the current definition
     *
     * @param string $trait The case insensitive name of a trait
     * @return Definition The current Definition
     **/
    public function addTrait($trait){}

    /**
     * Get Closure
     *
     * Shall return a Closure for the method specified by name
     *
     * @param string $name The case insensitive name of the method
     * @return \Closure A Closure bound to the correct scope
     **/
    public function getClosure($name){}

    /**
     * Get Closures
     *
     * Shall return an array of Closures
     *
     * @return array Shall return all methods as an array of Closure
     *   objects bound to the correct scope
     **/
    public function getClosures(){}

    /**
     * Reflection
     *
     * Shall create or return a ReflectionClass
     *
     * @return \ReflectionClass A ReflectionClass for the current
     *   definition (cached)
     **/
    public function getReflector(){}

    /**
     * State Detection
     *
     * Shall detect the registration state of this Definition
     *
     * @return bool Shall return true if this Definition is registered
     **/
    public function isRegistered(){}

    /**
     * Registration
     *
     * Shall register the current Definition
     *
     * @return void
     **/
    public function register(){}

}
}
namespace Componere {
final class Method {
    /**
     * Reflection
     *
     * Shall create or return a ReflectionMethod
     *
     * @return \ReflectionMethod A ReflectionMethod for the current method
     *   (cached)
     **/
    public function getReflector(){}

    /**
     * Accessibility Modification
     *
     * @return Method The current Method
     **/
    public function setPrivate(){}

    /**
     * Accessibility Modification
     *
     * @return Method The current Method
     **/
    public function setProtected(){}

    /**
     * Accessibility Modification
     *
     * @return Method The current Method
     **/
    public function setStatic(){}

}
}
namespace Componere {
final class Patch {
    /**
     * Add Interface
     *
     * Shall implement the given interface on the current definition
     *
     * @param string $interface The case insensitive name of an interface
     * @return Definition The current Definition
     **/
    public function addInterface($interface){}

    /**
     * Add Method
     *
     * Shall create or override a method on the current definition.
     *
     * @param string $name The case insensitive name for method
     * @param \Componere\Method $method \Componere\Method not previously
     *   added to another Definition
     * @return Definition The current Definition
     **/
    public function addMethod($name, $method){}

    /**
     * Add Trait
     *
     * Shall use the given trait for the current definition
     *
     * @param string $trait The case insensitive name of a trait
     * @return Definition The current Definition
     **/
    public function addTrait($trait){}

    /**
     * Application
     *
     * Shall apply the current patch
     *
     * @return void
     **/
    public function apply(){}

    /**
     * Patch Derivation
     *
     * Shall derive a Patch for the given {@link instance}
     *
     * @param object $instance The target for the derived Patch
     * @return Patch Patch for {@link instance} derived from the current
     *   Patch
     **/
    public function derive($instance){}

    /**
     * Get Closure
     *
     * Shall return a Closure for the method specified by name
     *
     * @param string $name The case insensitive name of the method
     * @return \Closure A Closure bound to the correct scope and object
     **/
    public function getClosure($name){}

    /**
     * Get Closures
     *
     * Shall return an array of Closures
     *
     * @return array Shall return all methods as an array of Closure
     *   objects bound to the correct scope and object
     **/
    public function getClosures(){}

    /**
     * Reflection
     *
     * Shall create or return a ReflectionClass
     *
     * @return \ReflectionClass A ReflectionClass for the current
     *   definition (cached)
     **/
    public function getReflector(){}

    /**
     * State Detection
     *
     * @return bool
     **/
    public function isApplied(){}

    /**
     * Reversal
     *
     * Shall revert the current patch
     *
     * @return void
     **/
    public function revert(){}

}
}
namespace Componere {
final class Value {
    /**
     * Value Interaction
     *
     * @return bool
     **/
    public function hasDefault(){}

    /**
     * Accessibility Detection
     *
     * @return bool
     **/
    public function isPrivate(){}

    /**
     * Accessibility Detection
     *
     * @return bool
     **/
    public function isProtected(){}

    /**
     * Accessibility Detection
     *
     * @return bool
     **/
    public function isStatic(){}

    /**
     * Accessibility Modification
     *
     * @return Value The current Value
     **/
    public function setPrivate(){}

    /**
     * Accessibility Modification
     *
     * @return Value The current Value
     **/
    public function setProtected(){}

    /**
     * Accessibility Modification
     *
     * @return Value The current Value
     **/
    public function setStatic(){}

}
}
/**
 * The static methods contained in the Cond class provide direct access
 * to Posix Condition Variables.
 **/
class Cond {
    /**
     * Broadcast a Condition
     *
     * Broadcast to all Threads blocking on a call to {@link Cond::wait}.
     *
     * @param int $condition A handle to a Condition Variable returned by a
     *   previous call to {@link Cond::create}
     * @return bool A boolean indication of success.
     * @since PECL pthreads < 3.0.0
     **/
    final public static function broadcast($condition){}

    /**
     * Create a Condition
     *
     * Creates a new Condition Variable for the caller.
     *
     * @return int A handle to a Condition Variable
     * @since PECL pthreads < 3.0.0
     **/
    final public static function create(){}

    /**
     * Destroy a Condition
     *
     * Destroying Condition Variable handles must be carried out explicitly
     * by the programmer when they are finished with the Condition Variable.
     * No Threads should be blocking on a call to {@link Cond::wait} when the
     * call to {@link Cond::destroy} takes place.
     *
     * @param int $condition A handle to a Condition Variable returned by a
     *   previous call to {@link Cond::create}
     * @return bool A boolean indication of success.
     * @since PECL pthreads < 3.0.0
     **/
    final public static function destroy($condition){}

    /**
     * Signal a Condition
     *
     * @param int $condition A handle returned by a previous call to {@link
     *   Cond::create}
     * @return bool A boolean indication of success.
     * @since PECL pthreads < 3.0.0
     **/
    final public static function signal($condition){}

    /**
     * Wait for Condition
     *
     * Wait for a signal on a Condition Variable, optionally specifying a
     * timeout to limit waiting time.
     *
     * @param int $condition A handle returned by a previous call to {@link
     *   Cond::create}.
     * @param int $mutex A handle returned by a previous call to {@link
     *   Mutex::create} and owned (locked) by the caller.
     * @param int $timeout An optional timeout, in microseconds (
     *   millionths of a second ).
     * @return bool A boolean indication of success.
     * @since PECL pthreads < 3.0.0
     **/
    final public static function wait($condition, $mutex, $timeout){}

}
/**
 * Classes implementing Countable can be used with the {@link count}
 * function.
 **/
interface Countable {
    /**
     * Count elements of an object
     *
     * This method is executed when using the {@link count} function on an
     * object implementing Countable.
     *
     * @return int The custom count as an integer.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function count();

}
/**
 * CURLFile should be used to upload a file with CURLOPT_POSTFIELDS.
 * {@link curl_setopt}
 **/
class CURLFile {
    /**
     * MIME type of the file (default is application/octet-stream).
     *
     * @var mixed
     **/
    public $mime;

    /**
     * Name of the file to be uploaded.
     *
     * @var mixed
     **/
    public $name;

    /**
     * The name of the file in the upload data (defaults to the name
     * property).
     *
     * @var mixed
     **/
    public $postname;

    /**
     * Get file name
     *
     * @return string Returns file name.
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function getFilename(){}

    /**
     * Get MIME type
     *
     * @return string Returns MIME type.
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function getMimeType(){}

    /**
     * Get file name for POST
     *
     * @return string Returns file name for POST.
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function getPostFilename(){}

    /**
     * Set MIME type
     *
     * @param string $mime MIME type to be used in POST data.
     * @return void
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function setMimeType($mime){}

    /**
     * Set file name for POST
     *
     * @param string $postname Filename to be used in POST data.
     * @return void
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function setPostFilename($postname){}

    /**
     * Create a CURLFile object
     *
     * Creates a CURLFile object, used to upload a file with
     * CURLOPT_POSTFIELDS.
     *
     * @param string $filename Path to the file which will be uploaded.
     * @param string $mimetype Mimetype of the file.
     * @param string $postname Name of the file to be used in the upload
     *   data.
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function __construct($filename, $mimetype, $postname){}

    /**
     * Unserialization handler
     *
     * @return void
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function __wakeup(){}

}
/**
 * Represents a date interval. A date interval stores either a fixed
 * amount of time (in years, months, days, hours etc) or a relative time
 * string in the format that DateTime's constructor supports. 7.1.0 The f
 * property was added.
 **/
class DateInterval {
    /**
     * Number of days.
     *
     * @var integer
     **/
    public $d;

    /**
     * If the DateInterval object was created by {@link DateTime::diff}, then
     * this is the total number of days between the start and end dates.
     * Otherwise, days will be FALSE.
     *
     * Before PHP 5.4.20/5.5.4 instead of FALSE you will receive -99999 upon
     * accessing the property.
     *
     * @var mixed
     **/
    public $days;

    /**
     * Number of microseconds, as a fraction of a second.
     *
     * @var float
     **/
    public $f;

    /**
     * Number of hours.
     *
     * @var integer
     **/
    public $h;

    /**
     * Number of minutes.
     *
     * @var integer
     **/
    public $i;

    /**
     * Is 1 if the interval represents a negative time period and 0
     * otherwise. See DateInterval::format.
     *
     * @var integer
     **/
    public $invert;

    /**
     * Number of months.
     *
     * @var integer
     **/
    public $m;

    /**
     * Number of seconds.
     *
     * @var integer
     **/
    public $s;

    /**
     * Number of years.
     *
     * @var integer
     **/
    public $y;

    /**
     * Sets up a DateInterval from the relative parts of the string
     *
     * Uses the normal date parsers and sets up a DateInterval from the
     * relative parts of the parsed string.
     *
     * @param string $time A date with relative parts. Specifically, the
     *   relative formats supported by the parser used for {@link strtotime}
     *   and DateTime will be used to construct the DateInterval.
     * @return DateInterval Returns a new DateInterval instance.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public static function createFromDateString($time){}

    /**
     * Formats the interval
     *
     * @param string $format The following characters are recognized in the
     *   {@link format} parameter string. Each format character must be
     *   prefixed by a percent sign (%). {@link format} character Description
     *   Example values % Literal % % Y Years, numeric, at least 2 digits
     *   with leading 0 01, 03 y Years, numeric 1, 3 M Months, numeric, at
     *   least 2 digits with leading 0 01, 03, 12 m Months, numeric 1, 3, 12
     *   D Days, numeric, at least 2 digits with leading 0 01, 03, 31 d Days,
     *   numeric 1, 3, 31 a Total number of days as a result of a
     *   DateTime::diff or (unknown) otherwise 4, 18, 8123 H Hours, numeric,
     *   at least 2 digits with leading 0 01, 03, 23 h Hours, numeric 1, 3,
     *   23 I Minutes, numeric, at least 2 digits with leading 0 01, 03, 59 i
     *   Minutes, numeric 1, 3, 59 S Seconds, numeric, at least 2 digits with
     *   leading 0 01, 03, 57 s Seconds, numeric 1, 3, 57 F Microseconds,
     *   numeric, at least 6 digits with leading 0 007701, 052738, 428291 f
     *   Microseconds, numeric 7701, 52738, 428291 R Sign "-" when negative,
     *   "+" when positive -, + r Sign "-" when negative, empty when positive
     *   -,
     * @return string Returns the formatted interval.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function format($format){}

}
/**
 * Represents a date period. A date period allows iteration over a set of
 * dates and times, recurring at regular intervals, over a given period.
 * 5.3.27, 5.4.17 The public properties recurrences, include_start_date,
 * start, current, end and interval have been exposed.
 **/
class DatePeriod implements Traversable {
    /**
     * @var integer
     **/
    const EXCLUDE_START_DATE = 0;

    /**
     * During iteration this will contain the current date within the period.
     *
     * @var DateTimeInterface
     **/
    public $current;

    /**
     * The end date of the period.
     *
     * @var DateTimeInterface
     **/
    public $end;

    /**
     * Whether to include the start date in the set of recurring dates or
     * not.
     *
     * @var boolean
     **/
    public $include_start_date;

    /**
     * An ISO 8601 repeating interval specification.
     *
     * @var DateInterval
     **/
    public $interval;

    /**
     * The number of recurrences.
     *
     * @var integer
     **/
    public $recurrences;

    /**
     * The start date of the period.
     *
     * @var DateTimeInterface
     **/
    public $start;

    /**
     * Gets the interval
     *
     * Gets a DateInterval object representing the interval used for the
     * period.
     *
     * @return DateInterval Returns a DateInterval object
     * @since PHP 5 >= 5.6.5, PHP 7
     **/
    public function getDateInterval(){}

    /**
     * Gets the end date
     *
     * Gets the end date of the period.
     *
     * @return DateTimeInterface Returns NULL if the DatePeriod does not
     *   have an end date. For example, when initialized with the {@link
     *   recurrences} parameter, or the {@link isostr} parameter without an
     *   end date.
     * @since PHP 5 >= 5.6.5, PHP 7
     **/
    public function getEndDate(){}

    /**
     * Gets the start date
     *
     * Gets the start date of the period.
     *
     * @return DateTimeInterface Returns a DateTimeImmutable object when
     *   the DatePeriod is initialized with a DateTimeImmutable object as the
     *   {@link start} parameter.
     * @since PHP 5 >= 5.6.5, PHP 7
     **/
    public function getStartDate(){}

}
/**
 * Representation of date and time. 7.0.0 Added constants:
 * DATE_RFC3339_EXTENDED and DateTime::RFC3339_EXTENDED. 5.5.0 The class
 * now implements DateTimeInterface. 5.4.24 The COOKIE constant was
 * changed to reflect RFC 1036 using a four digit year rather than a two
 * digit year (RFC 850) as prior versions. 5.2.2 DateTime object
 * comparison with the comparison operators changed to work as expected.
 * Previously, all DateTime objects were considered equal (using ==).
 **/
class DateTime implements DateTimeInterface {
    /**
     * @var string
     **/
    const ATOM = '';

    /**
     * @var string
     **/
    const COOKIE = '';

    /**
     * @var string
     **/
    const ISO8601 = '';

    /**
     * @var string
     **/
    const RFC822 = '';

    /**
     * @var string
     **/
    const RFC850 = '';

    /**
     * @var string
     **/
    const RFC1036 = '';

    /**
     * @var string
     **/
    const RFC1123 = '';

    /**
     * @var string
     **/
    const RFC2822 = '';

    /**
     * @var string
     **/
    const RFC3339 = '';

    /**
     * @var string
     **/
    const RFC3339_EXTENDED = '';

    /**
     * @var string
     **/
    const RSS = '';

    /**
     * @var string
     **/
    const W3C = '';

    /**
     * Adds an amount of days, months, years, hours, minutes and seconds to a
     * DateTime object
     *
     * Adds the specified DateInterval object to the specified DateTime
     * object.
     *
     * @param DateInterval $interval A DateInterval object
     * @return DateTime
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function add($interval){}

    /**
     * Parses a time string according to a specified format
     *
     * Returns a new DateTime object representing the date and time specified
     * by the {@link time} string, which was formatted in the given {@link
     * format}.
     *
     * @param string $format The format that the passed in string should be
     *   in. See the formatting options below. In most cases, the same
     *   letters as for the {@link date} can be used.
     *   
     *   The following characters are recognized in the {@link format}
     *   parameter string {@link format} character Description Example
     *   parsable values Day --- --- d and j Day of the month, 2 digits with
     *   or without leading zeros 01 to 31 or 1 to 31 D and l A textual
     *   representation of a day Mon through Sun or Sunday through Saturday S
     *   English ordinal suffix for the day of the month, 2 characters. It's
     *   ignored while processing. st, nd, rd or th. z The day of the year
     *   (starting from 0) 0 through 365 Month --- --- F and M A textual
     *   representation of a month, such as January or Sept January through
     *   December or Jan through Dec m and n Numeric representation of a
     *   month, with or without leading zeros 01 through 12 or 1 through 12
     *   Year --- --- Y A full numeric representation of a year, 4 digits
     *   Examples: 1999 or 2003 y A two digit representation of a year (which
     *   is assumed to be in the range 1970-2069, inclusive) Examples: 99 or
     *   03 (which will be interpreted as 1999 and 2003, respectively) Time
     *   --- --- a and A Ante meridiem and Post meridiem am or pm g and h
     *   12-hour format of an hour with or without leading zero 1 through 12
     *   or 01 through 12 G and H 24-hour format of an hour with or without
     *   leading zeros 0 through 23 or 00 through 23 i Minutes with leading
     *   zeros 00 to 59 s Seconds, with leading zeros 00 through 59 u
     *   Microseconds (up to six digits) Example: 45, 654321 Timezone --- ---
     *   e, O, P and T Timezone identifier, or difference to UTC in hours, or
     *   difference to UTC with colon between hours and minutes, or timezone
     *   abbreviation Examples: UTC, GMT, Atlantic/Azores or +0200 or +02:00
     *   or EST, MDT Full Date/Time --- --- U Seconds since the Unix Epoch
     *   (January 1 1970 00:00:00 GMT) Example: 1292177455 Whitespace and
     *   Separators --- --- (space) One space or one tab Example: # One of
     *   the following separation symbol: ;, :, /, ., ,, -, ( or ) Example: /
     *   ;, :, /, ., ,, -, ( or ) The specified character. Example: - ? A
     *   random byte Example: ^ (Be aware that for UTF-8 characters you might
     *   need more than one ?. In this case, using * is probably what you
     *   want instead) * Random bytes until the next separator or digit
     *   Example: * in Y-*-d with the string 2009-aWord-08 will match aWord !
     *   Resets all fields (year, month, day, hour, minute, second, fraction
     *   and timezone information) to the Unix Epoch Without !, all fields
     *   will be set to the current date and time. | Resets all fields (year,
     *   month, day, hour, minute, second, fraction and timezone information)
     *   to the Unix Epoch if they have not been parsed yet Y-m-d| will set
     *   the year, month and day to the information found in the string to
     *   parse, and sets the hour, minute and second to 0. + If this format
     *   specifier is present, trailing data in the string will not cause an
     *   error, but a warning instead Use DateTime::getLastErrors to find out
     *   whether trailing data was present. Unrecognized characters in the
     *   format string will cause the parsing to fail and an error message is
     *   appended to the returned structure. You can query error messages
     *   with DateTime::getLastErrors. To include literal characters in
     *   {@link format}, you have to escape them with a backslash (\). If
     *   {@link format} does not contain the character ! then portions of the
     *   generated time which are not specified in {@link format} will be set
     *   to the current system time. If {@link format} contains the character
     *   !, then portions of the generated time not provided in {@link
     *   format}, as well as values to the left-hand side of the !, will be
     *   set to corresponding values from the Unix epoch. The Unix epoch is
     *   1970-01-01 00:00:00 UTC.
     * @param string $time String representing the time.
     * @param DateTimeZone $timezone A DateTimeZone object representing the
     *   desired time zone. If {@link timezone} is omitted and {@link time}
     *   contains no timezone, the current timezone will be used.
     * @return DateTime Returns a new DateTime instance.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public static function createFromFormat($format, $time, $timezone){}

    /**
     * Returns the difference between two DateTime objects
     *
     * Returns the difference between two DateTimeInterface objects.
     *
     * @param DateTimeInterface $datetime2 The date to compare to.
     * @param bool $absolute Should the interval be forced to be positive?
     * @return DateInterval The DateInterval object representing the
     *   difference between the two dates.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function diff($datetime2, $absolute){}

    /**
     * Returns date formatted according to given format
     *
     * @param string $format Format accepted by {@link date}.
     * @return string Returns the formatted date string on success.
     * @since PHP 5 >= 5.2.1, PHP 7
     **/
    public function format($format){}

    /**
     * Returns the warnings and errors
     *
     * Returns an array of warnings and errors found while parsing a
     * date/time string.
     *
     * @return array Returns array containing info about warnings and
     *   errors.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public static function getLastErrors(){}

    /**
     * Returns the timezone offset
     *
     * @return int Returns the timezone offset in seconds from UTC on
     *   success .
     * @since PHP 5 >= 5.2.1, PHP 7
     **/
    public function getOffset(){}

    /**
     * Gets the Unix timestamp
     *
     * @return int Returns the Unix timestamp representing the date.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function getTimestamp(){}

    /**
     * Return time zone relative to given DateTime
     *
     * @return DateTimeZone Returns a DateTimeZone object on success .
     * @since PHP 5 >= 5.2.1, PHP 7
     **/
    public function getTimezone(){}

    /**
     * Alters the timestamp
     *
     * Alter the timestamp of a DateTime object by incrementing or
     * decrementing in a format accepted by {@link strtotime}.
     *
     * @param string $modify
     * @return DateTime
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function modify($modify){}

    /**
     * Sets the date
     *
     * Resets the current date of the DateTime object to a different date.
     *
     * @param int $year Year of the date.
     * @param int $month Month of the date.
     * @param int $day Day of the date.
     * @return DateTime
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function setDate($year, $month, $day){}

    /**
     * Sets the ISO date
     *
     * Set a date according to the ISO 8601 standard - using weeks and day
     * offsets rather than specific dates.
     *
     * @param int $year Year of the date.
     * @param int $week Week of the date.
     * @param int $day Offset from the first day of the week.
     * @return DateTime
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function setISODate($year, $week, $day){}

    /**
     * Sets the time
     *
     * Resets the current time of the DateTime object to a different time.
     *
     * @param int $hour Hour of the time.
     * @param int $minute Minute of the time.
     * @param int $second Second of the time.
     * @param int $microseconds Microsecond of the time.
     * @return DateTime
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function setTime($hour, $minute, $second, $microseconds){}

    /**
     * Sets the date and time based on an Unix timestamp
     *
     * @param int $unixtimestamp Unix timestamp representing the date.
     * @return DateTime
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function setTimestamp($unixtimestamp){}

    /**
     * Sets the time zone for the DateTime object
     *
     * Sets a new timezone for a DateTime object.
     *
     * @param DateTimeZone $timezone A DateTimeZone object representing the
     *   desired time zone.
     * @return DateTime
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function setTimezone($timezone){}

    /**
     * Subtracts an amount of days, months, years, hours, minutes and seconds
     * from a DateTime object
     *
     * Subtracts the specified DateInterval object from the specified
     * DateTime object.
     *
     * @param DateInterval $interval A DateInterval object
     * @return DateTime
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function sub($interval){}

    /**
     * The __set_state handler
     *
     * The __set_state() handler.
     *
     * @param array $array Initialization array.
     * @return DateTime Returns a new instance of a DateTime object.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public static function __set_state($array){}

    /**
     * The __wakeup handler
     *
     * The __wakeup() handler.
     *
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function __wakeup(){}

}
/**
 * This class behaves the same as DateTime except it never modifies
 * itself but returns a new object instead.
 **/
class DateTimeImmutable implements DateTimeInterface {
    /**
     * Adds an amount of days, months, years, hours, minutes and seconds
     *
     * Like DateTime::add but works with DateTimeImmutable.
     *
     * @param DateInterval $interval
     * @return DateTimeImmutable
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function add($interval){}

    /**
     * Parses a time string according to a specified format
     *
     * Like DateTime::createFromFormat but works with DateTimeImmutable.
     *
     * @param string $format
     * @param string $time
     * @param DateTimeZone $timezone
     * @return DateTimeImmutable
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public static function createFromFormat($format, $time, $timezone){}

    /**
     * Returns new DateTimeImmutable object encapsulating the given DateTime
     * object
     *
     * @param DateTime $datetime The mutable DateTime object that you want
     *   to convert to an immutable version. This object is not modified, but
     *   instead a new DateTimeImmutable object is created containing the
     *   same date time and timezone information.
     * @return DateTimeImmutable Returns a new DateTimeImmutable instance.
     * @since PHP 5 >= 5.6.0, PHP 7
     **/
    public static function createFromMutable($datetime){}

    /**
     * Returns the difference between two DateTime objects
     *
     * Returns the difference between two DateTimeInterface objects.
     *
     * @param DateTimeInterface $datetime2 The date to compare to.
     * @param bool $absolute Should the interval be forced to be positive?
     * @return DateInterval The DateInterval object representing the
     *   difference between the two dates.
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function diff($datetime2, $absolute){}

    /**
     * Returns date formatted according to given format
     *
     * @param string $format Format accepted by {@link date}.
     * @return string Returns the formatted date string on success.
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function format($format){}

    /**
     * Returns the warnings and errors
     *
     * Like DateTime::getLastErrors but works with DateTimeImmutable.
     *
     * @return array
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public static function getLastErrors(){}

    /**
     * Returns the timezone offset
     *
     * @return int Returns the timezone offset in seconds from UTC on
     *   success .
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function getOffset(){}

    /**
     * Gets the Unix timestamp
     *
     * @return int Returns the Unix timestamp representing the date.
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function getTimestamp(){}

    /**
     * Return time zone relative to given DateTime
     *
     * @return DateTimeZone Returns a DateTimeZone object on success .
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function getTimezone(){}

    /**
     * Creates a new object with modified timestamp
     *
     * Creates a new DateTimeImmutable object with modified timestamp. The
     * original object is not modified.
     *
     * @param string $modify
     * @return DateTimeImmutable Returns the newly created object.
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function modify($modify){}

    /**
     * Sets the date
     *
     * Like DateTime::setDate but works with DateTimeImmutable.
     *
     * @param int $year
     * @param int $month
     * @param int $day
     * @return DateTimeImmutable
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function setDate($year, $month, $day){}

    /**
     * Sets the ISO date
     *
     * Like DateTime::setISODate but works with DateTimeImmutable.
     *
     * @param int $year
     * @param int $week
     * @param int $day
     * @return DateTimeImmutable
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function setISODate($year, $week, $day){}

    /**
     * Sets the time
     *
     * Like DateTime::setTime but works with DateTimeImmutable.
     *
     * @param int $hour
     * @param int $minute
     * @param int $second
     * @param int $microseconds
     * @return DateTimeImmutable
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function setTime($hour, $minute, $second, $microseconds){}

    /**
     * Sets the date and time based on a Unix timestamp
     *
     * Like DateTime::setTimestamp but works with DateTimeImmutable.
     *
     * @param int $unixtimestamp
     * @return DateTimeImmutable
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function setTimestamp($unixtimestamp){}

    /**
     * Sets the time zone
     *
     * Like DateTime::setTimezone but works with DateTimeImmutable.
     *
     * @param DateTimeZone $timezone
     * @return DateTimeImmutable
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function setTimezone($timezone){}

    /**
     * Subtracts an amount of days, months, years, hours, minutes and seconds
     *
     * Like DateTime::sub but works with DateTimeImmutable.
     *
     * @param DateInterval $interval
     * @return DateTimeImmutable
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function sub($interval){}

    /**
     * The __set_state handler
     *
     * Like DateTime::__set_state but works with DateTimeImmutable.
     *
     * @param array $array
     * @return DateTimeImmutable
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public static function __set_state($array){}

    /**
     * The __wakeup handler
     *
     * The __wakeup() handler.
     *
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function __wakeup(){}

}
/**
 * DateTimeInterface is meant so that both DateTime and DateTimeImmutable
 * can be type hinted for. It is not possible to implement this interface
 * with userland classes. 5.5.8 Trying to implement DateTimeInterface
 * raises a fatal error now. Formerly implementing the interface didn't
 * raise an error, but the behavior was erroneous.
 **/
interface DateTimeInterface {
    /**
     * Returns the difference between two DateTime objects
     *
     * Returns the difference between two DateTimeInterface objects.
     *
     * @param DateTimeInterface $datetime2 The date to compare to.
     * @param bool $absolute Should the interval be forced to be positive?
     * @return DateInterval The DateInterval object representing the
     *   difference between the two dates.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function diff($datetime2, $absolute);

    /**
     * Returns date formatted according to given format
     *
     * @param string $format Format accepted by {@link date}.
     * @return string Returns the formatted date string on success.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function format($format);

    /**
     * Returns the timezone offset
     *
     * @return int Returns the timezone offset in seconds from UTC on
     *   success .
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function getOffset();

    /**
     * Gets the Unix timestamp
     *
     * @return int Returns the Unix timestamp representing the date.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function getTimestamp();

    /**
     * Return time zone relative to given DateTime
     *
     * @return DateTimeZone Returns a DateTimeZone object on success .
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function getTimezone();

    /**
     * The __wakeup handler
     *
     * The __wakeup() handler.
     *
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function __wakeup();

}
/**
 * Representation of time zone.
 **/
class DateTimeZone {
    /**
     * Africa time zones.
     *
     * @var integer
     **/
    const AFRICA = 0;

    /**
     * All time zones.
     *
     * @var integer
     **/
    const ALL = 0;

    /**
     * @var integer
     **/
    const ALL_WITH_BC = 0;

    /**
     * America time zones.
     *
     * @var integer
     **/
    const AMERICA = 0;

    /**
     * Antarctica time zones.
     *
     * @var integer
     **/
    const ANTARCTICA = 0;

    /**
     * Arctic time zones.
     *
     * @var integer
     **/
    const ARCTIC = 0;

    /**
     * Asia time zones.
     *
     * @var integer
     **/
    const ASIA = 0;

    /**
     * Atlantic time zones.
     *
     * @var integer
     **/
    const ATLANTIC = 0;

    /**
     * Australia time zones.
     *
     * @var integer
     **/
    const AUSTRALIA = 0;

    /**
     * Europe time zones.
     *
     * @var integer
     **/
    const EUROPE = 0;

    /**
     * Indian time zones.
     *
     * @var integer
     **/
    const INDIAN = 0;

    /**
     * Pacific time zones.
     *
     * @var integer
     **/
    const PACIFIC = 0;

    /**
     * @var integer
     **/
    const PER_COUNTRY = 0;

    /**
     * UTC time zones.
     *
     * @var integer
     **/
    const UTC = 0;

    /**
     * Returns location information for a timezone
     *
     * Returns location information for a timezone, including country code,
     * latitude/longitude and comments.
     *
     * @return array Array containing location information about timezone.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function getLocation(){}

    /**
     * Returns the name of the timezone
     *
     * @return string One of the timezone names in the list of timezones.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function getName(){}

    /**
     * Returns the timezone offset from GMT
     *
     * This function returns the offset to GMT for the date/time specified in
     * the {@link datetime} parameter. The GMT offset is calculated with the
     * timezone information contained in the DateTimeZone object being used.
     *
     * @param DateTime $datetime DateTime that contains the date/time to
     *   compute the offset from.
     * @return int Returns time zone offset in seconds on success.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function getOffset($datetime){}

    /**
     * Returns all transitions for the timezone
     *
     * @param int $timestamp_begin Begin timestamp.
     * @param int $timestamp_end End timestamp.
     * @return array Returns numerically indexed array containing
     *   associative array with all transitions on success.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function getTransitions($timestamp_begin, $timestamp_end){}

    /**
     * Returns associative array containing dst, offset and the timezone name
     *
     * @return array Returns array on success.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public static function listAbbreviations(){}

    /**
     * Returns a numerically indexed array containing all defined timezone
     * identifiers
     *
     * @param int $what One of DateTimeZone class constants.
     * @param string $country A two-letter ISO 3166-1 compatible country
     *   code.
     * @return array Returns array on success.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public static function listIdentifiers($what, $country){}

}
/**
 * Created by {@link dir}.
 **/
class Directory {
    /**
     * Can be used with other directory functions such as {@link readdir},
     * {@link rewinddir} and {@link closedir}.
     *
     * @var resource
     **/
    public $handle;

    /**
     * The directory that was opened.
     *
     * @var string
     **/
    public $path;

    /**
     * Close directory handle
     *
     * Same as {@link closedir}, only dir_handle defaults to $this->handle.
     *
     * @param resource $dir_handle
     * @return void
     * @since PHP 4, PHP 5, PHP 7
     **/
    public function close($dir_handle){}

    /**
     * Read entry from directory handle
     *
     * Same as {@link readdir}, only dir_handle defaults to $this->handle.
     *
     * @param resource $dir_handle
     * @return string
     * @since PHP 4, PHP 5, PHP 7
     **/
    public function read($dir_handle){}

    /**
     * Rewind directory handle
     *
     * Same as {@link rewinddir}, only dir_handle defaults to $this->handle.
     *
     * @param resource $dir_handle
     * @return void
     * @since PHP 4, PHP 5, PHP 7
     **/
    public function rewind($dir_handle){}

}
/**
 * The DirectoryIterator class provides a simple interface for viewing
 * the contents of filesystem directories. 5.1.2 DirectoryIterator
 * extends SplFileInfo.
 **/
class DirectoryIterator extends SplFileInfo implements SeekableIterator {
    /**
     * Return the current DirectoryIterator item
     *
     * Get the current DirectoryIterator item.
     *
     * @return DirectoryIterator The current DirectoryIterator item.
     * @since PHP 5, PHP 7
     **/
    public function current(){}

    /**
     * Get last access time of the current DirectoryIterator item
     *
     * Get the last access time of the current DirectoryIterator item.
     *
     * @return int Returns the time the file was last accessed, as a Unix
     *   timestamp.
     * @since PHP 5, PHP 7
     **/
    public function getATime(){}

    /**
     * Get base name of current DirectoryIterator item
     *
     * Get the base name of the current DirectoryIterator item.
     *
     * @param string $suffix If the base name ends in {@link suffix}, this
     *   will be cut.
     * @return string The base name of the current DirectoryIterator item.
     * @since PHP 5 >= 5.2.2, PHP 7
     **/
    public function getBasename($suffix){}

    /**
     * Get inode change time of the current DirectoryIterator item
     *
     * Get the inode change time for the current DirectoryIterator item.
     *
     * @return int Returns the last change time of the file, as a Unix
     *   timestamp.
     * @since PHP 5, PHP 7
     **/
    public function getCTime(){}

    /**
     * Gets the file extension
     *
     * Retrieves the file extension.
     *
     * @return string Returns a string containing the file extension, or an
     *   empty string if the file has no extension.
     * @since PHP 5 >= 5.3.6, PHP 7
     **/
    public function getExtension(){}

    /**
     * Return file name of current DirectoryIterator item
     *
     * Get the file name of the current DirectoryIterator item.
     *
     * @return string Returns the file name of the current
     *   DirectoryIterator item.
     * @since PHP 5, PHP 7
     **/
    public function getFilename(){}

    /**
     * Get group for the current DirectoryIterator item
     *
     * Get the group id of the file.
     *
     * @return int Returns the group id of the current DirectoryIterator
     *   item in numerical format.
     * @since PHP 5, PHP 7
     **/
    public function getGroup(){}

    /**
     * Get inode for the current DirectoryIterator item
     *
     * Get the inode number for the current DirectoryIterator item.
     *
     * @return int Returns the inode number for the file.
     * @since PHP 5, PHP 7
     **/
    public function getInode(){}

    /**
     * Get last modification time of current DirectoryIterator item
     *
     * Get the last modification time of the current DirectoryIterator item,
     * as a Unix timestamp.
     *
     * @return int The last modification time of the file, as a Unix
     *   timestamp.
     * @since PHP 5, PHP 7
     **/
    public function getMTime(){}

    /**
     * Get owner of current DirectoryIterator item
     *
     * Get the owner of the current DirectoryIterator item, in numerical
     * format.
     *
     * @return int The file owner of the file, in numerical format.
     * @since PHP 5, PHP 7
     **/
    public function getOwner(){}

    /**
     * Get path of current Iterator item without filename
     *
     * Get the path to the current DirectoryIterator item.
     *
     * @return string Returns the path to the file, omitting the file name
     *   and any trailing slash.
     * @since PHP 5, PHP 7
     **/
    public function getPath(){}

    /**
     * Return path and file name of current DirectoryIterator item
     *
     * Get the path and file name of the current file.
     *
     * @return string Returns the path and file name of current file.
     *   Directories do not have a trailing slash.
     * @since PHP 5, PHP 7
     **/
    public function getPathname(){}

    /**
     * Get the permissions of current DirectoryIterator item
     *
     * Get the permissions of the current DirectoryIterator item.
     *
     * @return int Returns the permissions of the file, as a decimal
     *   integer.
     * @since PHP 5, PHP 7
     **/
    public function getPerms(){}

    /**
     * Get size of current DirectoryIterator item
     *
     * Get the file size for the current DirectoryIterator item.
     *
     * @return int Returns the size of the file, in bytes.
     * @since PHP 5, PHP 7
     **/
    public function getSize(){}

    /**
     * Determine the type of the current DirectoryIterator item
     *
     * Determines which file type the current DirectoryIterator item belongs
     * to. One of file, link, or dir.
     *
     * @return string Returns a string representing the type of the file.
     *   May be one of file, link, or dir.
     * @since PHP 5, PHP 7
     **/
    public function getType(){}

    /**
     * Determine if current DirectoryIterator item is a directory
     *
     * Determines if the current DirectoryIterator item is a directory.
     *
     * @return bool Returns TRUE if it is a directory, otherwise FALSE
     * @since PHP 5, PHP 7
     **/
    public function isDir(){}

    /**
     * Determine if current DirectoryIterator item is '.' or '..'
     *
     * Determines if the current DirectoryIterator item is a directory and
     * either . or ..
     *
     * @return bool TRUE if the entry is . or .., otherwise FALSE
     * @since PHP 5, PHP 7
     **/
    public function isDot(){}

    /**
     * Determine if current DirectoryIterator item is executable
     *
     * Determines if the current DirectoryIterator item is executable.
     *
     * @return bool Returns TRUE if the entry is executable, otherwise
     *   FALSE
     * @since PHP 5, PHP 7
     **/
    public function isExecutable(){}

    /**
     * Determine if current DirectoryIterator item is a regular file
     *
     * Determines if the current DirectoryIterator item is a regular file.
     *
     * @return bool Returns TRUE if the file exists and is a regular file
     *   (not a link or dir), otherwise FALSE
     * @since PHP 5, PHP 7
     **/
    public function isFile(){}

    /**
     * Determine if current DirectoryIterator item is a symbolic link
     *
     * Determines if the current DirectoryIterator item is a symbolic link.
     *
     * @return bool Returns TRUE if the item is a symbolic link, otherwise
     *   FALSE
     * @since PHP 5, PHP 7
     **/
    public function isLink(){}

    /**
     * Determine if current DirectoryIterator item can be read
     *
     * Determines if the current DirectoryIterator item is readable.
     *
     * @return bool Returns TRUE if the file is readable, otherwise FALSE
     * @since PHP 5, PHP 7
     **/
    public function isReadable(){}

    /**
     * Determine if current DirectoryIterator item can be written to
     *
     * Determines if the current DirectoryIterator item is writable.
     *
     * @return bool Returns TRUE if the file/directory is writable,
     *   otherwise FALSE
     * @since PHP 5, PHP 7
     **/
    public function isWritable(){}

    /**
     * Return the key for the current DirectoryIterator item
     *
     * Get the key for the current DirectoryIterator item.
     *
     * @return string The key for the current DirectoryIterator item.
     * @since PHP 5, PHP 7
     **/
    public function key(){}

    /**
     * Move forward to next DirectoryIterator item
     *
     * Move forward to the next DirectoryIterator item.
     *
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function next(){}

    /**
     * Rewind the DirectoryIterator back to the start
     *
     * Rewind the DirectoryIterator back to the start.
     *
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function rewind(){}

    /**
     * Seek to a DirectoryIterator item
     *
     * Seek to a given position in the DirectoryIterator.
     *
     * @param int $position The zero-based numeric position to seek to.
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function seek($position){}

    /**
     * Check whether current DirectoryIterator position is a valid file
     *
     * Check whether current DirectoryIterator position is a valid file.
     *
     * @return bool Returns TRUE if the position is valid, otherwise FALSE
     * @since PHP 5, PHP 7
     **/
    public function valid(){}

    /**
     * Get file name as a string
     *
     * Get the file name of the current DirectoryIterator item.
     *
     * @return string Returns the file name of the current
     *   DirectoryIterator item.
     * @since PHP 5, PHP 7
     **/
    public function __toString(){}

}
/**
 * DivisionByZeroError is thrown when an attempt is made to divide a
 * number by zero.
 **/
class DivisionByZeroError extends ArithmeticError {
}
/**
 * Exception thrown if a value does not adhere to a defined valid data
 * domain.
 **/
class DomainException extends LogicException {
}
/**
 * DOMAttr represents an attribute in the DOMElement object.
 **/
class DOMAttr extends DOMNode {
    /**
     * The name of the attribute
     *
     * @var string
     **/
    public $name;

    /**
     * @var DOMElement
     **/
    public $ownerElement;

    /**
     * @var bool
     **/
    public $schemaTypeInfo;

    /**
     * Not implemented yet, always is NULL
     *
     * @var bool
     **/
    public $specified;

    /**
     * The value of the attribute
     *
     * @var string
     **/
    public $value;

    /**
     * Checks if attribute is a defined ID
     *
     * This function checks if the attribute is a defined ID.
     *
     * According to the DOM standard this requires a DTD which defines the
     * attribute ID to be of type ID. You need to validate your document with
     * or DOMDocument::validateOnParse before using this function.
     *
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function isId(){}

    /**
     * Creates a new object
     *
     * Creates a new DOMAttr object. This object is read only. It may be
     * appended to a document, but additional nodes may not be appended to
     * this node until the node is associated with a document. To create a
     * writable node, use .
     *
     * @param string $name The tag name of the attribute.
     * @param string $value The value of the attribute.
     * @since PHP 5, PHP 7
     **/
    public function __construct($name, $value){}

}
/**
 * The DOMCdataSection inherits from DOMText for textural representation
 * of CData constructs.
 **/
class DOMCdataSection extends DOMText {
}
/**
 * Represents nodes with character data. No nodes directly correspond to
 * this class, but other nodes do inherit from it.
 **/
class DomCharacterData extends DOMNode {
    /**
     * The contents of the node.
     *
     * @var string
     **/
    public $data;

    /**
     * The length of the contents.
     *
     * @var int
     **/
    public $length;

    /**
     * Append the string to the end of the character data of the node
     *
     * Append the string {@link data} to the end of the character data of the
     * node.
     *
     * @param string $data The string to append.
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function appendData($data){}

    /**
     * Remove a range of characters from the node
     *
     * Deletes {@link count} characters starting from position {@link
     * offset}.
     *
     * @param int $offset The offset from which to start removing.
     * @param int $count The number of characters to delete. If the sum of
     *   {@link offset} and {@link count} exceeds the length, then all
     *   characters to the end of the data are deleted.
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function deleteData($offset, $count){}

    /**
     * Insert a string at the specified 16-bit unit offset
     *
     * Inserts string {@link data} at position {@link offset}.
     *
     * @param int $offset The character offset at which to insert.
     * @param string $data The string to insert.
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function insertData($offset, $data){}

    /**
     * Replace a substring within the DOMCharacterData node
     *
     * Replace {@link count} characters starting from position {@link offset}
     * with {@link data}.
     *
     * @param int $offset The offset from which to start replacing.
     * @param int $count The number of characters to replace. If the sum of
     *   {@link offset} and {@link count} exceeds the length, then all
     *   characters to the end of the data are replaced.
     * @param string $data The string with which the range must be
     *   replaced.
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function replaceData($offset, $count, $data){}

    /**
     * Extracts a range of data from the node
     *
     * Returns the specified substring.
     *
     * @param int $offset Start offset of substring to extract.
     * @param int $count The number of characters to extract.
     * @return string The specified substring. If the sum of {@link offset}
     *   and {@link count} exceeds the length, then all 16-bit units to the
     *   end of the data are returned.
     * @since PHP 5, PHP 7
     **/
    public function substringData($offset, $count){}

}
/**
 * Represents comment nodes, characters delimited by .
 **/
class DOMComment extends DOMCharacterData {
    /**
     * Creates a new DOMComment object
     *
     * Creates a new DOMComment object. This object is read only. It may be
     * appended to a document, but additional nodes may not be appended to
     * this node until the node is associated with a document. To create a
     * writeable node, use .
     *
     * @param string $value The value of the comment.
     * @since PHP 5, PHP 7
     **/
    public function __construct($value){}

}
/**
 * Represents an entire HTML or XML document; serves as the root of the
 * document tree.
 **/
class DOMDocument extends DOMNode {
    /**
     * @var string
     **/
    public $actualEncoding;

    /**
     * Deprecated. Configuration used when {@link
     * DOMDocument::normalizeDocument} is invoked.
     *
     * @var DOMConfiguration
     **/
    public $config;

    /**
     * The Document Type Declaration associated with this document.
     *
     * @var DOMDocumentType
     **/
    public $doctype;

    /**
     * @var DOMElement
     **/
    public $documentElement;

    /**
     * @var string
     **/
    public $documentURI;

    /**
     * Encoding of the document, as specified by the XML declaration. This
     * attribute is not present in the final DOM Level 3 specification, but
     * is the only way of manipulating XML document encoding in this
     * implementation.
     *
     * @var string
     **/
    public $encoding;

    /**
     * @var bool
     **/
    public $formatOutput;

    /**
     * The DOMImplementation object that handles this document.
     *
     * @var DOMImplementation
     **/
    public $implementation;

    /**
     * @var bool
     **/
    public $preserveWhiteSpace;

    /**
     * Proprietary. Enables recovery mode, i.e. trying to parse non-well
     * formed documents. This attribute is not part of the DOM specification
     * and is specific to libxml.
     *
     * @var bool
     **/
    public $recover;

    /**
     * @var bool
     **/
    public $resolveExternals;

    /**
     * Deprecated. Whether or not the document is standalone, as specified by
     * the XML declaration, corresponds to xmlStandalone.
     *
     * @var bool
     **/
    public $standalone;

    /**
     * @var bool
     **/
    public $strictErrorChecking;

    /**
     * @var bool
     **/
    public $substituteEntities;

    /**
     * @var bool
     **/
    public $validateOnParse;

    /**
     * Deprecated. Version of XML, corresponds to xmlVersion.
     *
     * @var string
     **/
    public $version;

    /**
     * @var string
     **/
    public $xmlEncoding;

    /**
     * @var bool
     **/
    public $xmlStandalone;

    /**
     * @var string
     **/
    public $xmlVersion;

    /**
     * Create new attribute
     *
     * This function creates a new instance of class DOMAttr.
     *
     * @param string $name The name of the attribute.
     * @return DOMAttr The new DOMAttr or FALSE if an error occurred.
     * @since PHP 5, PHP 7
     **/
    public function createAttribute($name){}

    /**
     * Create new attribute node with an associated namespace
     *
     * This function creates a new instance of class DOMAttr.
     *
     * @param string $namespaceURI The URI of the namespace.
     * @param string $qualifiedName The tag name and prefix of the
     *   attribute, as prefix:tagname.
     * @return DOMAttr The new DOMAttr or FALSE if an error occurred.
     * @since PHP 5, PHP 7
     **/
    public function createAttributeNS($namespaceURI, $qualifiedName){}

    /**
     * Create new cdata node
     *
     * This function creates a new instance of class DOMCDATASection.
     *
     * @param string $data The content of the cdata.
     * @return DOMCDATASection The new DOMCDATASection or FALSE if an error
     *   occurred.
     * @since PHP 5, PHP 7
     **/
    public function createCDATASection($data){}

    /**
     * Create new comment node
     *
     * This function creates a new instance of class DOMComment.
     *
     * @param string $data The content of the comment.
     * @return DOMComment The new DOMComment or FALSE if an error occurred.
     * @since PHP 5, PHP 7
     **/
    public function createComment($data){}

    /**
     * Create new document fragment
     *
     * This function creates a new instance of class DOMDocumentFragment.
     *
     * @return DOMDocumentFragment The new DOMDocumentFragment or FALSE if
     *   an error occurred.
     * @since PHP 5, PHP 7
     **/
    public function createDocumentFragment(){}

    /**
     * Create new element node
     *
     * This function creates a new instance of class DOMElement.
     *
     * @param string $name The tag name of the element.
     * @param string $value The value of the element. By default, an empty
     *   element will be created. The value can also be set later with
     *   DOMElement::$nodeValue. The value is used verbatim except that the <
     *   and > entity references will escaped. Note that & has to be manually
     *   escaped; otherwise it is regarded as starting an entity reference.
     *   Also " won't be escaped.
     * @return DOMElement Returns a new instance of class DOMElement or
     *   FALSE if an error occurred.
     * @since PHP 5, PHP 7
     **/
    public function createElement($name, $value){}

    /**
     * Create new element node with an associated namespace
     *
     * This function creates a new element node with an associated namespace.
     *
     * @param string $namespaceURI The URI of the namespace.
     * @param string $qualifiedName The qualified name of the element, as
     *   prefix:tagname.
     * @param string $value The value of the element. By default, an empty
     *   element will be created. You can also set the value later with
     *   DOMElement::$nodeValue.
     * @return DOMElement The new DOMElement or FALSE if an error occurred.
     * @since PHP 5, PHP 7
     **/
    public function createElementNS($namespaceURI, $qualifiedName, $value){}

    /**
     * Create new entity reference node
     *
     * This function creates a new instance of class DOMEntityReference.
     *
     * @param string $name The content of the entity reference, e.g. the
     *   entity reference minus the leading & and the trailing ; characters.
     * @return DOMEntityReference The new DOMEntityReference or FALSE if an
     *   error occurred.
     * @since PHP 5, PHP 7
     **/
    public function createEntityReference($name){}

    /**
     * Creates new PI node
     *
     * This function creates a new instance of class
     * DOMProcessingInstruction.
     *
     * @param string $target The target of the processing instruction.
     * @param string $data The content of the processing instruction.
     * @return DOMProcessingInstruction The new DOMProcessingInstruction or
     *   FALSE if an error occurred.
     * @since PHP 5, PHP 7
     **/
    public function createProcessingInstruction($target, $data){}

    /**
     * Create new text node
     *
     * This function creates a new instance of class DOMText.
     *
     * @param string $content The content of the text.
     * @return DOMText The new DOMText or FALSE if an error occurred.
     * @since PHP 5, PHP 7
     **/
    public function createTextNode($content){}

    /**
     * Searches for an element with a certain id
     *
     * This function is similar to but searches for an element with a given
     * id.
     *
     * For this function to work, you will need either to set some ID
     * attributes with or a DTD which defines an attribute to be of type ID.
     * In the later case, you will need to validate your document with or
     * DOMDocument::$validateOnParse before using this function.
     *
     * @param string $elementId The unique id value for an element.
     * @return DOMElement Returns the DOMElement or NULL if the element is
     *   not found.
     * @since PHP 5, PHP 7
     **/
    public function getElementById($elementId){}

    /**
     * Searches for all elements with given local tag name
     *
     * This function returns a new instance of class DOMNodeList containing
     * all the elements with a given local tag name.
     *
     * @param string $name The local name (without namespace) of the tag to
     *   match on. The special value * matches all tags.
     * @return DOMNodeList A new DOMNodeList object containing all the
     *   matched elements.
     * @since PHP 5, PHP 7
     **/
    public function getElementsByTagName($name){}

    /**
     * Searches for all elements with given tag name in specified namespace
     *
     * Returns a DOMNodeList of all elements with a given local name and a
     * namespace URI.
     *
     * @param string $namespaceURI The namespace URI of the elements to
     *   match on. The special value * matches all namespaces.
     * @param string $localName The local name of the elements to match on.
     *   The special value * matches all local names.
     * @return DOMNodeList A new DOMNodeList object containing all the
     *   matched elements.
     * @since PHP 5, PHP 7
     **/
    public function getElementsByTagNameNS($namespaceURI, $localName){}

    /**
     * Import node into current document
     *
     * This function returns a copy of the node to import and associates it
     * with the current document.
     *
     * @param DOMNode $importedNode The node to import.
     * @param bool $deep If set to TRUE, this method will recursively
     *   import the subtree under the {@link importedNode}.
     * @return DOMNode The copied node or FALSE, if it cannot be copied.
     * @since PHP 5, PHP 7
     **/
    public function importNode($importedNode, $deep){}

    /**
     * Load XML from a file
     *
     * Loads an XML document from a file.
     *
     * @param string $filename The path to the XML document.
     * @param int $options Bitwise OR of the libxml option constants.
     * @return mixed If called statically, returns a DOMDocument.
     * @since PHP 5, PHP 7
     **/
    public function load($filename, $options){}

    /**
     * Load HTML from a string
     *
     * The function parses the HTML contained in the string {@link source}.
     * Unlike loading XML, HTML does not have to be well-formed to load. This
     * function may also be called statically to load and create a
     * DOMDocument object. The static invocation may be used when no
     * DOMDocument properties need to be set prior to loading.
     *
     * @param string $source The HTML string.
     * @param int $options Since PHP 5.4.0 and Libxml 2.6.0, you may also
     *   use the {@link options} parameter to specify additional Libxml
     *   parameters.
     * @return bool If called statically, returns a DOMDocument.
     * @since PHP 5, PHP 7
     **/
    public function loadHTML($source, $options){}

    /**
     * Load HTML from a file
     *
     * The function parses the HTML document in the file named {@link
     * filename}. Unlike loading XML, HTML does not have to be well-formed to
     * load.
     *
     * @param string $filename The path to the HTML file.
     * @param int $options Since PHP 5.4.0 and Libxml 2.6.0, you may also
     *   use the {@link options} parameter to specify additional Libxml
     *   parameters.
     * @return bool If called statically, returns a DOMDocument.
     * @since PHP 5, PHP 7
     **/
    public function loadHTMLFile($filename, $options){}

    /**
     * Load XML from a string
     *
     * Loads an XML document from a string.
     *
     * @param string $source The string containing the XML.
     * @param int $options Bitwise OR of the libxml option constants.
     * @return mixed If called statically, returns a DOMDocument.
     * @since PHP 5, PHP 7
     **/
    public function loadXML($source, $options){}

    /**
     * Normalizes the document
     *
     * This method acts as if you saved and then loaded the document, putting
     * the document in a "normal" form.
     *
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function normalizeDocument(){}

    /**
     * Register extended class used to create base node type
     *
     * This method allows you to register your own extended DOM class to be
     * used afterward by the PHP DOM extension.
     *
     * This method is not part of the DOM standard.
     *
     * @param string $baseclass The DOM class that you want to extend. You
     *   can find a list of these classes in the chapter introduction.
     * @param string $extendedclass Your extended class name. If NULL is
     *   provided, any previously registered class extending {@link
     *   baseclass} will be removed.
     * @return bool
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function registerNodeClass($baseclass, $extendedclass){}

    /**
     * Performs relaxNG validation on the document
     *
     * Performs relaxNG validation on the document based on the given RNG
     * schema.
     *
     * @param string $filename The RNG file.
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function relaxNGValidate($filename){}

    /**
     * Performs relaxNG validation on the document
     *
     * Performs relaxNG validation on the document based on the given RNG
     * source.
     *
     * @param string $source A string containing the RNG schema.
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function relaxNGValidateSource($source){}

    /**
     * Dumps the internal XML tree back into a file
     *
     * Creates an XML document from the DOM representation. This function is
     * usually called after building a new dom document from scratch as in
     * the example below.
     *
     * @param string $filename The path to the saved XML document.
     * @param int $options Additional Options. Currently only
     *   LIBXML_NOEMPTYTAG is supported.
     * @return int Returns the number of bytes written or FALSE if an error
     *   occurred.
     * @since PHP 5, PHP 7
     **/
    public function save($filename, $options){}

    /**
     * Dumps the internal document into a string using HTML formatting
     *
     * Creates an HTML document from the DOM representation. This function is
     * usually called after building a new dom document from scratch as in
     * the example below.
     *
     * @param DOMNode $node Optional parameter to output a subset of the
     *   document.
     * @return string Returns the HTML, or FALSE if an error occurred.
     * @since PHP 5, PHP 7
     **/
    public function saveHTML($node){}

    /**
     * Dumps the internal document into a file using HTML formatting
     *
     * Creates an HTML document from the DOM representation. This function is
     * usually called after building a new dom document from scratch as in
     * the example below.
     *
     * @param string $filename The path to the saved HTML document.
     * @return int Returns the number of bytes written or FALSE if an error
     *   occurred.
     * @since PHP 5, PHP 7
     **/
    public function saveHTMLFile($filename){}

    /**
     * Dumps the internal XML tree back into a string
     *
     * Creates an XML document from the DOM representation. This function is
     * usually called after building a new dom document from scratch as in
     * the example below.
     *
     * @param DOMNode $node Use this parameter to output only a specific
     *   node without XML declaration rather than the entire document.
     * @param int $options Additional Options. Currently only
     *   LIBXML_NOEMPTYTAG is supported.
     * @return string Returns the XML, or FALSE if an error occurred.
     * @since PHP 5, PHP 7
     **/
    public function saveXML($node, $options){}

    /**
     * Validates a document based on a schema
     *
     * Validates a document based on the given schema file.
     *
     * @param string $filename The path to the schema.
     * @param int $flags A bitmask of Libxml schema validation flags.
     *   Currently the only supported value is LIBXML_SCHEMA_CREATE.
     *   Available since PHP 5.5.2 and Libxml 2.6.14.
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function schemaValidate($filename, $flags){}

    /**
     * Validates a document based on a schema
     *
     * Validates a document based on a schema defined in the given string.
     *
     * @param string $source A string containing the schema.
     * @param int $flags A bitmask of Libxml schema validation flags.
     *   Currently the only supported value is LIBXML_SCHEMA_CREATE.
     *   Available since PHP 5.5.2 and Libxml 2.6.14.
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function schemaValidateSource($source, $flags){}

    /**
     * Validates the document based on its DTD
     *
     * Validates the document based on its DTD.
     *
     * You can also use the validateOnParse property of DOMDocument to make a
     * DTD validation.
     *
     * @return bool If the document have no DTD attached, this method will
     *   return FALSE.
     * @since PHP 5, PHP 7
     **/
    public function validate(){}

    /**
     * Substitutes XIncludes in a DOMDocument Object
     *
     * This method substitutes XIncludes in a DOMDocument object.
     *
     * @param int $options libxml parameters. Available since PHP 5.1.0 and
     *   Libxml 2.6.7.
     * @return int Returns the number of XIncludes in the document, -1 if
     *   some processing failed, or FALSE if there were no substitutions.
     * @since PHP 5, PHP 7
     **/
    public function xinclude($options){}

    /**
     * Creates a new DOMDocument object
     *
     * Creates a new DOMDocument object.
     *
     * @param string $version The version number of the document as part of
     *   the XML declaration.
     * @param string $encoding The encoding of the document as part of the
     *   XML declaration.
     * @since PHP 5, PHP 7
     **/
    public function __construct($version, $encoding){}

}
class DOMDocumentFragment extends DOMNode {
    /**
     * Append raw XML data
     *
     * Appends raw XML data to a DOMDocumentFragment.
     *
     * This method is not part of the DOM standard. It was created as a
     * simpler approach for appending an XML DocumentFragment in a
     * DOMDocument.
     *
     * If you want to stick to the standards, you will have to create a
     * temporary DOMDocument with a dummy root and then loop through the
     * child nodes of the root of your XML data to append them.
     *
     * @param string $data XML to append.
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function appendXML($data){}

}
/**
 * Each DOMDocument has a doctype attribute whose value is either NULL or
 * a DOMDocumentType object.
 **/
class DOMDocumentType extends DOMNode {
    /**
     * A DOMNamedNodeMap containing the general entities, both external and
     * internal, declared in the DTD.
     *
     * @var DOMNamedNodeMap
     **/
    public $entities;

    /**
     * @var string
     **/
    public $internalSubset;

    /**
     * The name of DTD; i.e., the name immediately following the DOCTYPE
     * keyword.
     *
     * @var string
     **/
    public $name;

    /**
     * A DOMNamedNodeMap containing the notations declared in the DTD.
     *
     * @var DOMNamedNodeMap
     **/
    public $notations;

    /**
     * @var string
     **/
    public $publicId;

    /**
     * @var string
     **/
    public $systemId;

}
class DomElement extends DOMNode {
    /**
     * Returns value of attribute
     *
     * Gets the value of the attribute with name {@link name} for the current
     * node.
     *
     * @param string $name The name of the attribute.
     * @return string The value of the attribute, or an empty string if no
     *   attribute with the given {@link name} is found.
     * @since PHP 5, PHP 7
     **/
    public function getAttribute($name){}

    /**
     * Returns attribute node
     *
     * Returns the attribute node with name {@link name} for the current
     * element.
     *
     * @param string $name The name of the attribute.
     * @return DOMAttr The attribute node. Note that for XML namespace
     *   declarations (xmlns and xmlns:* attributes) an instance of
     *   DOMNameSpaceNode is returned instead of a DOMAttr.
     * @since PHP 5, PHP 7
     **/
    public function getAttributeNode($name){}

    /**
     * Returns attribute node
     *
     * Returns the attribute node in namespace {@link namespaceURI} with
     * local name {@link localName} for the current node.
     *
     * @param string $namespaceURI The namespace URI.
     * @param string $localName The local name.
     * @return DOMAttr The attribute node. Note that for XML namespace
     *   declarations (xmlns and xmlns:* attributes) an instance of
     *   DOMNameSpaceNode is returned instead of a DOMAttr object.
     * @since PHP 5, PHP 7
     **/
    public function getAttributeNodeNS($namespaceURI, $localName){}

    /**
     * Returns value of attribute
     *
     * Gets the value of the attribute in namespace {@link namespaceURI} with
     * local name {@link localName} for the current node.
     *
     * @param string $namespaceURI The namespace URI.
     * @param string $localName The local name.
     * @return string The value of the attribute, or an empty string if no
     *   attribute with the given {@link localName} and {@link namespaceURI}
     *   is found.
     * @since PHP 5, PHP 7
     **/
    public function getAttributeNS($namespaceURI, $localName){}

    /**
     * Gets elements by tagname
     *
     * This function returns a new instance of the class DOMNodeList of all
     * descendant elements with a given tag {@link name}, in the order in
     * which they are encountered in a preorder traversal of this element
     * tree.
     *
     * @param string $name The tag name. Use * to return all elements
     *   within the element tree.
     * @return DOMNodeList This function returns a new instance of the
     *   class DOMNodeList of all matched elements.
     * @since PHP 5, PHP 7
     **/
    public function getElementsByTagName($name){}

    /**
     * Get elements by namespaceURI and localName
     *
     * This function fetch all the descendant elements with a given {@link
     * localName} and {@link namespaceURI}.
     *
     * @param string $namespaceURI The namespace URI.
     * @param string $localName The local name. Use * to return all
     *   elements within the element tree.
     * @return DOMNodeList This function returns a new instance of the
     *   class DOMNodeList of all matched elements in the order in which they
     *   are encountered in a preorder traversal of this element tree.
     * @since PHP 5, PHP 7
     **/
    public function getElementsByTagNameNS($namespaceURI, $localName){}

    /**
     * Checks to see if attribute exists
     *
     * Indicates whether attribute named {@link name} exists as a member of
     * the element.
     *
     * @param string $name The attribute name.
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function hasAttribute($name){}

    /**
     * Checks to see if attribute exists
     *
     * Indicates whether attribute in namespace {@link namespaceURI} named
     * {@link localName} exists as a member of the element.
     *
     * @param string $namespaceURI The namespace URI.
     * @param string $localName The local name.
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function hasAttributeNS($namespaceURI, $localName){}

    /**
     * Removes attribute
     *
     * Removes attribute named {@link name} from the element.
     *
     * @param string $name The name of the attribute.
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function removeAttribute($name){}

    /**
     * Removes attribute
     *
     * Removes attribute {@link oldnode} from the element.
     *
     * @param DOMAttr $oldnode The attribute node.
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function removeAttributeNode($oldnode){}

    /**
     * Removes attribute
     *
     * Removes attribute {@link localName} in namespace {@link namespaceURI}
     * from the element.
     *
     * @param string $namespaceURI The namespace URI.
     * @param string $localName The local name.
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function removeAttributeNS($namespaceURI, $localName){}

    /**
     * Adds new attribute
     *
     * Sets an attribute with name {@link name} to the given value. If the
     * attribute does not exist, it will be created.
     *
     * @param string $name The name of the attribute.
     * @param string $value The value of the attribute.
     * @return DOMAttr The new DOMAttr or FALSE if an error occurred.
     * @since PHP 5, PHP 7
     **/
    public function setAttribute($name, $value){}

    /**
     * Adds new attribute node to element
     *
     * Adds new attribute node {@link attr} to element.
     *
     * @param DOMAttr $attr The attribute node.
     * @return DOMAttr Returns old node if the attribute has been replaced
     *   or NULL.
     * @since PHP 5, PHP 7
     **/
    public function setAttributeNode($attr){}

    /**
     * Adds new attribute node to element
     *
     * Adds new attribute node {@link attr} to element.
     *
     * @param DOMAttr $attr The attribute node.
     * @return DOMAttr Returns the old node if the attribute has been
     *   replaced.
     * @since PHP 5, PHP 7
     **/
    public function setAttributeNodeNS($attr){}

    /**
     * Adds new attribute
     *
     * Sets an attribute with namespace {@link namespaceURI} and name {@link
     * name} to the given value. If the attribute does not exist, it will be
     * created.
     *
     * @param string $namespaceURI The namespace URI.
     * @param string $qualifiedName The qualified name of the attribute, as
     *   prefix:tagname.
     * @param string $value The value of the attribute.
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function setAttributeNS($namespaceURI, $qualifiedName, $value){}

    /**
     * Declares the attribute specified by name to be of type ID
     *
     * Declares the attribute {@link name} to be of type ID.
     *
     * @param string $name The name of the attribute.
     * @param bool $isId Set it to TRUE if you want {@link name} to be of
     *   type ID, FALSE otherwise.
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function setIdAttribute($name, $isId){}

    /**
     * Declares the attribute specified by node to be of type ID
     *
     * Declares the attribute specified by {@link attr} to be of type ID.
     *
     * @param DOMAttr $attr The attribute node.
     * @param bool $isId Set it to TRUE if you want {@link name} to be of
     *   type ID, FALSE otherwise.
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function setIdAttributeNode($attr, $isId){}

    /**
     * Declares the attribute specified by local name and namespace URI to be
     * of type ID
     *
     * Declares the attribute specified by {@link localName} and {@link
     * namespaceURI} to be of type ID.
     *
     * @param string $namespaceURI The namespace URI of the attribute.
     * @param string $localName The local name of the attribute, as
     *   prefix:tagname.
     * @param bool $isId Set it to TRUE if you want {@link name} to be of
     *   type ID, FALSE otherwise.
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function setIdAttributeNS($namespaceURI, $localName, $isId){}

    /**
     * Creates a new DOMElement object
     *
     * Creates a new DOMElement object. This object is read only. It may be
     * appended to a document, but additional nodes may not be appended to
     * this node until the node is associated with a document. To create a
     * writeable node, use or .
     *
     * @param string $name The tag name of the element. When also passing
     *   in namespaceURI, the element name may take a prefix to be associated
     *   with the URI.
     * @param string $value The value of the element.
     * @param string $namespaceURI A namespace URI to create the element
     *   within a specific namespace.
     * @since PHP 5, PHP 7
     **/
    public function __construct($name, $value, $namespaceURI){}

}
/**
 * This interface represents a known entity, either parsed or unparsed,
 * in an XML document.
 **/
class DOMEntity extends DOMNode {
    /**
     * @var string
     **/
    public $actualEncoding;

    /**
     * An attribute specifying, as part of the text declaration, the encoding
     * of this entity, when it is an external parsed entity. This is NULL
     * otherwise.
     *
     * @var string
     **/
    public $encoding;

    /**
     * @var string
     **/
    public $notationName;

    /**
     * @var string
     **/
    public $publicId;

    /**
     * @var string
     **/
    public $systemId;

    /**
     * An attribute specifying, as part of the text declaration, the version
     * number of this entity, when it is an external parsed entity. This is
     * NULL otherwise.
     *
     * @var string
     **/
    public $version;

}
class DomEntityReference extends DOMNode {
    /**
     * Creates a new DOMEntityReference object
     *
     * Creates a new DOMEntityReference object.
     *
     * @param string $name The name of the entity reference.
     * @since PHP 5, PHP 7
     **/
    public function __construct($name){}

}
/**
 * DOM operations raise exceptions under particular circumstances, i.e.,
 * when an operation is impossible to perform for logical reasons. See
 * also .
 **/
class DOMException extends Exception {
    /**
     * An integer indicating the type of error generated
     *
     * @var int
     **/
    public $code;

}
/**
 * The DOMImplementation interface provides a number of methods for
 * performing operations that are independent of any particular instance
 * of the document object model.
 **/
class DomImplementation {
    /**
     * Creates a DOMDocument object of the specified type with its document
     * element
     *
     * Creates a DOMDocument object of the specified type with its document
     * element.
     *
     * @param string $namespaceURI The namespace URI of the document
     *   element to create.
     * @param string $qualifiedName The qualified name of the document
     *   element to create.
     * @param DOMDocumentType $doctype The type of document to create or
     *   NULL.
     * @return DOMDocument A new DOMDocument object. If {@link
     *   namespaceURI}, {@link qualifiedName}, and {@link doctype} are null,
     *   the returned DOMDocument is empty with no document element
     * @since PHP 5, PHP 7
     **/
    public function createDocument($namespaceURI, $qualifiedName, $doctype){}

    /**
     * Creates an empty DOMDocumentType object
     *
     * Creates an empty DOMDocumentType object. Entity declarations and
     * notations are not made available. Entity reference expansions and
     * default attribute additions do not occur.
     *
     * @param string $qualifiedName The qualified name of the document type
     *   to create.
     * @param string $publicId The external subset public identifier.
     * @param string $systemId The external subset system identifier.
     * @return DOMDocumentType A new DOMDocumentType node with its
     *   ownerDocument set to NULL.
     * @since PHP 5, PHP 7
     **/
    public function createDocumentType($qualifiedName, $publicId, $systemId){}

    /**
     * Test if the DOM implementation implements a specific feature
     *
     * Test if the DOM implementation implements a specific {@link feature}.
     *
     * You can find a list of all features in the Conformance section of the
     * DOM specification.
     *
     * @param string $feature The feature to test.
     * @param string $version The version number of the {@link feature} to
     *   test. In level 2, this can be either 2.0 or 1.0.
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function hasFeature($feature, $version){}

    /**
     * Creates a new DOMImplementation object
     *
     * Creates a new DOMImplementation object.
     *
     * @since PHP 5, PHP 7
     **/
    function __construct(){}

}
class DomNamedNodeMap implements Traversable, Countable {
    /**
     * Retrieves a node specified by name
     *
     * Retrieves a node specified by its nodeName.
     *
     * @param string $name The nodeName of the node to retrieve.
     * @return DOMNode A node (of any type) with the specified nodeName, or
     *   NULL if no node is found.
     * @since PHP 5, PHP 7
     **/
    function getNamedItem($name){}

    /**
     * Retrieves a node specified by local name and namespace URI
     *
     * Retrieves a node specified by {@link localName} and {@link
     * namespaceURI}.
     *
     * @param string $namespaceURI The namespace URI of the node to
     *   retrieve.
     * @param string $localName The local name of the node to retrieve.
     * @return DOMNode A node (of any type) with the specified local name
     *   and namespace URI, or NULL if no node is found.
     * @since PHP 5, PHP 7
     **/
    function getNamedItemNS($namespaceURI, $localName){}

    /**
     * Retrieves a node specified by index
     *
     * Retrieves a node specified by {@link index} within the DOMNamedNodeMap
     * object.
     *
     * @param int $index Index into this map.
     * @return DOMNode The node at the {@link index}th position in the map,
     *   or NULL if that is not a valid index (greater than or equal to the
     *   number of nodes in this map).
     * @since PHP 5, PHP 7
     **/
    function item($index){}

}
class DOMNode {
    /**
     * Adds new child at the end of the children
     *
     * This function appends a child to an existing list of children or
     * creates a new list of children. The child can be created with e.g.
     * DOMDocument::createElement, DOMDocument::createTextNode etc. or simply
     * by using any other node.
     *
     * @param DOMNode $newnode The appended child.
     * @return DOMNode The node added.
     * @since PHP 5, PHP 7
     **/
    public function appendChild($newnode){}

    /**
     * Canonicalize nodes to a string
     *
     * @param bool $exclusive Enable exclusive parsing of only the nodes
     *   matched by the provided xpath or namespace prefixes.
     * @param bool $with_comments Retain comments in output.
     * @param array $xpath An array of xpaths to filter the nodes by.
     * @param array $ns_prefixes An array of namespace prefixes to filter
     *   the nodes by.
     * @return string Returns canonicalized nodes as a string
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function C14N($exclusive, $with_comments, $xpath, $ns_prefixes){}

    /**
     * Canonicalize nodes to a file
     *
     * @param string $uri Path to write the output to.
     * @param bool $exclusive Enable exclusive parsing of only the nodes
     *   matched by the provided xpath or namespace prefixes.
     * @param bool $with_comments Retain comments in output.
     * @param array $xpath An array of xpaths to filter the nodes by.
     * @param array $ns_prefixes An array of namespace prefixes to filter
     *   the nodes by.
     * @return int Number of bytes written
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function C14NFile($uri, $exclusive, $with_comments, $xpath, $ns_prefixes){}

    /**
     * Clones a node
     *
     * Creates a copy of the node.
     *
     * @param bool $deep Indicates whether to copy all descendant nodes.
     *   This parameter is defaulted to FALSE.
     * @return DOMNode The cloned node.
     * @since PHP 5, PHP 7
     **/
    public function cloneNode($deep){}

    /**
     * Get line number for a node
     *
     * Gets line number for where the node is defined.
     *
     * @return int Always returns the line number where the node was
     *   defined in.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function getLineNo(){}

    /**
     * Get an XPath for a node
     *
     * Gets an XPath location path for the node.
     *
     * @return string Returns a string containing the XPath, or NULL in
     *   case of an error.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function getNodePath(){}

    /**
     * Checks if node has attributes
     *
     * This method checks if the node has attributes. The tested node has to
     * be an XML_ELEMENT_NODE.
     *
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function hasAttributes(){}

    /**
     * Checks if node has children
     *
     * This function checks if the node has children.
     *
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function hasChildNodes(){}

    /**
     * Adds a new child before a reference node
     *
     * This function inserts a new node right before the reference node. If
     * you plan to do further modifications on the appended child you must
     * use the returned node.
     *
     * @param DOMNode $newnode The new node.
     * @param DOMNode $refnode The reference node. If not supplied, {@link
     *   newnode} is appended to the children.
     * @return DOMNode The inserted node.
     * @since PHP 5, PHP 7
     **/
    public function insertBefore($newnode, $refnode){}

    /**
     * Checks if the specified namespaceURI is the default namespace or not
     *
     * Tells whether {@link namespaceURI} is the default namespace.
     *
     * @param string $namespaceURI The namespace URI to look for.
     * @return bool Return TRUE if {@link namespaceURI} is the default
     *   namespace, FALSE otherwise.
     * @since PHP 5, PHP 7
     **/
    public function isDefaultNamespace($namespaceURI){}

    /**
     * Indicates if two nodes are the same node
     *
     * This function indicates if two nodes are the same node. The comparison
     * is not based on content
     *
     * @param DOMNode $node The compared node.
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function isSameNode($node){}

    /**
     * Checks if feature is supported for specified version
     *
     * Checks if the asked {@link feature} is supported for the specified
     * {@link version}.
     *
     * @param string $feature The feature to test. See the example of
     *   DOMImplementation::hasFeature for a list of features.
     * @param string $version The version number of the {@link feature} to
     *   test.
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function isSupported($feature, $version){}

    /**
     * Gets the namespace URI of the node based on the prefix
     *
     * Gets the namespace URI of the node based on the {@link prefix}.
     *
     * @param string $prefix The prefix of the namespace.
     * @return string The namespace URI of the node.
     * @since PHP 5, PHP 7
     **/
    public function lookupNamespaceUri($prefix){}

    /**
     * Gets the namespace prefix of the node based on the namespace URI
     *
     * Gets the namespace prefix of the node based on the namespace URI.
     *
     * @param string $namespaceURI The namespace URI.
     * @return string The prefix of the namespace.
     * @since PHP 5, PHP 7
     **/
    public function lookupPrefix($namespaceURI){}

    /**
     * Normalizes the node
     *
     * Remove empty text nodes and merge adjacent text nodes in this node and
     * all its children.
     *
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function normalize(){}

    /**
     * Removes child from list of children
     *
     * This functions removes a child from a list of children.
     *
     * @param DOMNode $oldnode The removed child.
     * @return DOMNode If the child could be removed the function returns
     *   the old child.
     * @since PHP 5, PHP 7
     **/
    public function removeChild($oldnode){}

    /**
     * Replaces a child
     *
     * This function replaces the child {@link oldnode} with the passed new
     * node. If the {@link newnode} is already a child it will not be added a
     * second time. If the replacement succeeds the old node is returned.
     *
     * @param DOMNode $newnode The new node. It must be a member of the
     *   target document, i.e. created by one of the DOMDocument->createXXX()
     *   methods or imported in the document by .
     * @param DOMNode $oldnode The old node.
     * @return DOMNode The old node or FALSE if an error occur.
     * @since PHP 5, PHP 7
     **/
    public function replaceChild($newnode, $oldnode){}

}
/**
 * 7.2.0 The Countable interface is implemented and returns the value of
 * the length property.
 **/
class DOMNodeList implements Traversable, Countable {
    /**
     * Get number of nodes in the list
     *
     * @return int Returns number of nodes in the list.
     **/
    public function count(){}

    /**
     * Retrieves a node specified by index
     *
     * Retrieves a node specified by {@link index} within the DOMNodeList
     * object.
     *
     * @param int $index Index of the node into the collection.
     * @return DOMNode The node at the {@link index}th position in the
     *   DOMNodeList, or NULL if that is not a valid index.
     * @since PHP 5, PHP 7
     **/
    function item($index){}

}
class DOMNotation extends DOMNode {
}
class DOMProcessingInstruction extends DOMNode {
    /**
     * Creates a new object
     *
     * Creates a new DOMProcessingInstruction object. This object is read
     * only. It may be appended to a document, but additional nodes may not
     * be appended to this node until the node is associated with a document.
     * To create a writeable node, use .
     *
     * @param string $name The tag name of the processing instruction.
     * @param string $value The value of the processing instruction.
     * @since PHP 5, PHP 7
     **/
    public function __construct($name, $value){}

}
/**
 * The DOMText class inherits from DOMCharacterData and represents the
 * textual content of a DOMElement or DOMAttr.
 **/
class DOMText extends DOMCharacterData {
    /**
     * @var string
     **/
    public $wholeText;

    /**
     * Returns whether this text node contains whitespace in element content
     *
     * @return bool
     **/
    public function isElementContentWhitespace(){}

    /**
     * Indicates whether this text node contains whitespace
     *
     * Indicates whether this text node contains only whitespace or it is
     * empty. The text node is determined to contain whitespace in element
     * content during the load of the document.
     *
     * @return bool Returns TRUE if node contains zero or more whitespace
     *   characters and nothing else. Returns FALSE otherwise.
     * @since PHP 5, PHP 7
     **/
    public function isWhitespaceInElementContent(){}

    /**
     * Breaks this node into two nodes at the specified offset
     *
     * Breaks this node into two nodes at the specified {@link offset},
     * keeping both in the tree as siblings.
     *
     * After being split, this node will contain all the content up to the
     * {@link offset}. If the original node had a parent node, the new node
     * is inserted as the next sibling of the original node. When the {@link
     * offset} is equal to the length of this node, the new node has no data.
     *
     * @param int $offset The offset at which to split, starting from 0.
     * @return DOMText The new node of the same type, which contains all
     *   the content at and after the {@link offset}.
     * @since PHP 5, PHP 7
     **/
    public function splitText($offset){}

}
/**
 * Supports XPath 1.0
 **/
class DomXPath {
    /**
     * @var DOMDocument
     **/
    public $document;

    /**
     * Evaluates the given XPath expression and returns a typed result if
     * possible
     *
     * Executes the given XPath {@link expression} and returns a typed result
     * if possible.
     *
     * @param string $expression The XPath expression to execute.
     * @param DOMNode $contextnode The optional {@link contextnode} can be
     *   specified for doing relative XPath queries. By default, the queries
     *   are relative to the root element.
     * @param bool $registerNodeNS The optional {@link registerNodeNS} can
     *   be specified to disable automatic registration of the context node.
     * @return mixed Returns a typed result if possible or a DOMNodeList
     *   containing all nodes matching the given XPath {@link expression}.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function evaluate($expression, $contextnode, $registerNodeNS){}

    /**
     * Evaluates the given XPath expression
     *
     * Executes the given XPath {@link expression}.
     *
     * @param string $expression The XPath expression to execute.
     * @param DOMNode $contextnode The optional {@link contextnode} can be
     *   specified for doing relative XPath queries. By default, the queries
     *   are relative to the root element.
     * @param bool $registerNodeNS The optional {@link registerNodeNS} can
     *   be specified to disable automatic registration of the context node.
     * @return DOMNodeList Returns a DOMNodeList containing all nodes
     *   matching the given XPath {@link expression}. Any expression which
     *   does not return nodes will return an empty DOMNodeList.
     * @since PHP 5, PHP 7
     **/
    public function query($expression, $contextnode, $registerNodeNS){}

    /**
     * Registers the namespace with the object
     *
     * Registers the {@link namespaceURI} and {@link prefix} with the
     * DOMXPath object.
     *
     * @param string $prefix The prefix.
     * @param string $namespaceURI The URI of the namespace.
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function registerNamespace($prefix, $namespaceURI){}

    /**
     * Register PHP functions as XPath functions
     *
     * This method enables the ability to use PHP functions within XPath
     * expressions.
     *
     * @param mixed $restrict Use this parameter to only allow certain
     *   functions to be called from XPath. This parameter can be either a
     *   string (a function name) or an array of function names.
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function registerPhpFunctions($restrict){}

    /**
     * Creates a new object
     *
     * Creates a new DOMXPath object.
     *
     * @param DOMDocument $doc The DOMDocument associated with the
     *   DOMXPath.
     * @since PHP 5, PHP 7
     **/
    public function __construct($doc){}

}
namespace Ds {
interface Collection extends Traversable, Countable, JsonSerializable {
    /**
     * Removes all values
     *
     * Removes all values from the collection.
     *
     * @return void
     **/
    public function clear();

    /**
     * Returns a shallow copy of the collection
     *
     * @return Ds\Collection Returns a shallow copy of the collection.
     **/
    public function copy();

    /**
     * Returns whether the collection is empty
     *
     * @return bool Returns TRUE if the collection is empty, FALSE
     *   otherwise.
     **/
    public function isEmpty();

    /**
     * Converts the collection to an
     *
     * Converts the collection to an .
     *
     * @return array An containing all the values in the same order as the
     *   collection.
     **/
    public function toArray();

}
}
namespace Ds {
class Deque implements Ds\Sequence {
    /**
     * Allocates enough memory for a required capacity
     *
     * Ensures that enough memory is allocated for a required capacity. This
     * removes the need to reallocate the internal as values are added.
     *
     * @param int $capacity The number of values for which capacity should
     *   be allocated.
     * @return void
     **/
    public function allocate($capacity){}

    /**
     * Updates all values by applying a callback function to each value
     *
     * Updates all values by applying a {@link callback} function to each
     * value in the deque.
     *
     * @param callable $callback mixed callback mixed{@link value} A
     *   callable to apply to each value in the deque. The callback should
     *   return what the value should be replaced by.
     * @return void
     **/
    public function apply($callback){}

    /**
     * Returns the current capacity
     *
     * @return int The current capacity.
     **/
    public function capacity(){}

    /**
     * Removes all values from the deque
     *
     * @return void
     **/
    public function clear(){}

    /**
     * Determines if the deque contains given values
     *
     * Determines if the deque contains all values.
     *
     * @param mixed ...$values Values to check.
     * @return bool FALSE if any of the provided {@link values} are not in
     *   the deque, TRUE otherwise.
     **/
    public function contains(...$values){}

    /**
     * Returns a shallow copy of the deque
     *
     * @return Ds\Deque A shallow copy of the deque.
     **/
    public function copy(){}

    /**
     * Creates a new deque using a to determine which values to include
     *
     * Creates a new deque using a callable to determine which values to
     * include.
     *
     * @param callable $callback bool callback mixed{@link value} Optional
     *   callable which returns TRUE if the value should be included, FALSE
     *   otherwise. If a callback is not provided, only values which are TRUE
     *   (see converting to boolean) will be included.
     * @return Ds\Deque A new deque containing all the values for which
     *   either the {@link callback} returned TRUE, or all values that
     *   convert to TRUE if a {@link callback} was not provided.
     **/
    public function filter($callback){}

    /**
     * Attempts to find a value's index
     *
     * Returns the index of the {@link value}, or FALSE if not found.
     *
     * @param mixed $value The value to find.
     * @return mixed The index of the value, or FALSE if not found.
     **/
    public function find($value){}

    /**
     * Returns the first value in the deque
     *
     * @return mixed The first value in the deque.
     **/
    public function first(){}

    /**
     * Returns the value at a given index
     *
     * @param int $index The index to access, starting at 0.
     * @return mixed The value at the requested index.
     **/
    public function get($index){}

    /**
     * Inserts values at a given index
     *
     * Inserts values into the deque at a given index.
     *
     * @param int $index The index at which to insert. 0 <= index <= count
     * @param mixed ...$values The value or values to insert.
     * @return void
     **/
    public function insert($index, ...$values){}

    /**
     * Returns whether the deque is empty
     *
     * @return bool Returns TRUE if the deque is empty, FALSE otherwise.
     **/
    public function isEmpty(){}

    /**
     * Joins all values together as a string
     *
     * Joins all values together as a string using an optional separator
     * between each value.
     *
     * @param string $glue An optional string to separate each value.
     * @return string All values of the deque joined together as a string.
     **/
    public function join($glue){}

    /**
     * Returns the last value
     *
     * Returns the last value in the deque.
     *
     * @return mixed The last value in the deque.
     **/
    public function last(){}

    /**
     * Returns the result of applying a callback to each value
     *
     * Returns the result of applying a {@link callback} function to each
     * value in the deque.
     *
     * @param callable $callback mixed callback mixed{@link value} A
     *   callable to apply to each value in the deque. The callable should
     *   return what the new value will be in the new deque.
     * @return Ds\Deque The result of applying a {@link callback} to each
     *   value in the deque.
     **/
    public function map($callback){}

    /**
     * Returns the result of adding all given values to the deque
     *
     * @param mixed $values A traversable object or an .
     * @return Ds\Deque The result of adding all given values to the deque,
     *   effectively the same as adding the values to a copy, then returning
     *   that copy.
     **/
    public function merge($values){}

    /**
     * Removes and returns the last value
     *
     * @return mixed The removed last value.
     **/
    public function pop(){}

    /**
     * Adds values to the end of the deque
     *
     * @param mixed ...$values The values to add.
     * @return void
     **/
    public function push(...$values){}

    /**
     * Reduces the deque to a single value using a callback function
     *
     * @param callable $callback
     * @param mixed $initial The return value of the previous callback, or
     *   {@link initial} if it's the first iteration.
     * @return mixed The return value of the final callback.
     **/
    public function reduce($callback, $initial){}

    /**
     * Removes and returns a value by index
     *
     * @param int $index The index of the value to remove.
     * @return mixed The value that was removed.
     **/
    public function remove($index){}

    /**
     * Reverses the deque in-place
     *
     * Reverses the deque in-place.
     *
     * @return void
     **/
    public function reverse(){}

    /**
     * Returns a reversed copy
     *
     * Returns a reversed copy of the deque.
     *
     * @return Ds\Deque A reversed copy of the deque.
     *   
     *   The current instance is not affected.
     **/
    public function reversed(){}

    /**
     * Rotates the deque by a given number of rotations
     *
     * Rotates the deque by a given number of rotations, which is equivalent
     * to successively calling $deque->push($deque->shift()) if the number of
     * rotations is positive, or $deque->unshift($deque->pop()) if negative.
     *
     * @param int $rotations The number of times the deque should be
     *   rotated.
     * @return void . The deque of the current instance will be rotated.
     **/
    public function rotate($rotations){}

    /**
     * Updates a value at a given index
     *
     * @param int $index The index of the value to update.
     * @param mixed $value The new value.
     * @return void
     **/
    public function set($index, $value){}

    /**
     * Removes and returns the first value
     *
     * @return mixed The first value, which was removed.
     **/
    public function shift(){}

    /**
     * Returns a sub-deque of a given range
     *
     * Creates a sub-deque of a given range.
     *
     * @param int $index The index at which the sub-deque starts. If
     *   positive, the deque will start at that index in the deque. If
     *   negative, the deque will start that far from the end.
     * @param int $length If a length is given and is positive, the
     *   resulting deque will have up to that many values in it.
     *   
     *   If the length results in an overflow, only values up to the end of
     *   the deque will be included.
     *   
     *   If a length is given and is negative, the deque will stop that many
     *   values from the end.
     *   
     *   If a length is not provided, the resulting deque will contain all
     *   values between the index and the end of the deque.
     * @return Ds\Deque A sub-deque of the given range.
     **/
    public function slice($index, $length){}

    /**
     * Sorts the deque in-place
     *
     * Sorts the deque in-place, using an optional {@link comparator}
     * function.
     *
     * @param callable $comparator
     * @return void
     **/
    public function sort($comparator){}

    /**
     * Returns a sorted copy
     *
     * Returns a sorted copy, using an optional {@link comparator} function.
     *
     * @param callable $comparator
     * @return Ds\Deque Returns a sorted copy of the deque.
     **/
    public function sorted($comparator){}

    /**
     * Returns the sum of all values in the deque
     *
     * @return number The sum of all the values in the deque as either a
     *   float or int depending on the values in the deque.
     **/
    public function sum(){}

    /**
     * Converts the deque to an
     *
     * Converts the deque to an .
     *
     * @return array An containing all the values in the same order as the
     *   deque.
     **/
    public function toArray(){}

    /**
     * Adds values to the front of the deque
     *
     * Adds values to the front of the deque, moving all the current values
     * forward to make room for the new values.
     *
     * @param mixed $values The values to add to the front of the deque.
     *   Multiple values will be added in the same order that they are
     *   passed.
     * @return void
     **/
    public function unshift($values){}

}
}
namespace Ds {
interface Hashable {
    /**
     * Determines whether an object is equal to the current instance
     *
     * Determines whether another object is equal to the current instance.
     *
     * This method allows objects to be used as keys in structures such as
     * Ds\Map and Ds\Set, or any other lookup structure that honors this
     * interface.
     *
     * @param object $obj The object to compare the current instance to,
     *   which is always an instance of the same class.
     * @return bool TRUE if equal, FALSE otherwise.
     **/
    public function equals($obj);

    /**
     * Returns a scalar value to be used as a hash value
     *
     * Returns a scalar value to be used as the hash value of the objects.
     *
     * While the hash value does not define equality, all objects that are
     * equal according to {@link Ds\Hashable::equals} must have the same hash
     * value. Hash values of equal objects don't have to be unique, for
     * example you could just return TRUE for all objects and nothing would
     * break - the only implication would be that hash tables then turn into
     * linked lists because all your objects will be hashed to the same
     * bucket. It's therefore very important that you pick a good hash value,
     * such as an ID or email address.
     *
     * This method allows objects to be used as keys in structures such as
     * Ds\Map and Ds\Set, or any other lookup structure that honors this
     * interface.
     *
     * @return mixed A scalar value to be used as this object's hash value.
     **/
    public function hash();

}
}
namespace Ds {
class Map implements Ds\Collection {
    /**
     * Allocates enough memory for a required capacity
     *
     * @param int $capacity The number of values for which capacity should
     *   be allocated.
     * @return void
     **/
    public function allocate($capacity){}

    /**
     * Updates all values by applying a callback function to each value
     *
     * Updates all values by applying a {@link callback} function to each
     * value in the map.
     *
     * @param callable $callback mixed callback mixed{@link key}
     *   mixed{@link value} A callable to apply to each value in the map. The
     *   callback should return what the value should be replaced by.
     * @return void
     **/
    public function apply($callback){}

    /**
     * Returns the current capacity
     *
     * @return int The current capacity.
     **/
    public function capacity(){}

    /**
     * Removes all values
     *
     * Removes all values from the map.
     *
     * @return void
     **/
    public function clear(){}

    /**
     * Returns a shallow copy of the map
     *
     * @return Ds\Map Returns a shallow copy of the map.
     **/
    public function copy(){}

    /**
     * Creates a new map using keys that aren't in another map
     *
     * Returns the result of removing all keys from the current instance that
     * are present in a given {@link map}.
     *
     * A \ B = {x ∈ A | x ∉ B}
     *
     * @param Ds\Map $map The map containing the keys to exclude in the
     *   resulting map.
     * @return Ds\Map The result of removing all keys from the current
     *   instance that are present in a given {@link map}.
     **/
    public function diff($map){}

    /**
     * Creates a new map using a to determine which pairs to include
     *
     * Creates a new map using a callable to determine which pairs to
     * include.
     *
     * @param callable $callback bool callback mixed{@link key} mixed{@link
     *   value} Optional callable which returns TRUE if the pair should be
     *   included, FALSE otherwise. If a callback is not provided, only
     *   values which are TRUE (see converting to boolean) will be included.
     * @return Ds\Map A new map containing all the pairs for which either
     *   the {@link callback} returned TRUE, or all values that convert to
     *   TRUE if a {@link callback} was not provided.
     **/
    public function filter($callback){}

    /**
     * Returns the first pair in the map
     *
     * @return Ds\Pair The first pair in the map.
     **/
    public function first(){}

    /**
     * Returns the value for a given key
     *
     * Returns the value for a given key, or an optional default value if the
     * key could not be found.
     *
     * @param mixed $key The key to look up.
     * @param mixed $default The optional default value, returned if the
     *   key could not be found.
     * @return mixed The value mapped to the given {@link key}, or the
     *   {@link default} value if provided and the key could not be found in
     *   the map.
     **/
    public function get($key, $default){}

    /**
     * Determines whether the map contains a given key
     *
     * @param mixed $key The key to look for.
     * @return bool Returns TRUE if the key could found, FALSE otherwise.
     **/
    public function hasKey($key){}

    /**
     * Determines whether the map contains a given value
     *
     * @param mixed $value The value to look for.
     * @return bool Returns TRUE if the value could found, FALSE otherwise.
     **/
    public function hasValue($value){}

    /**
     * Creates a new map by intersecting keys with another map
     *
     * Creates a new map containing the pairs of the current instance whose
     * keys are also present in the given {@link map}.
     *
     * In other words, returns a copy of the current instance with all keys
     * removed that are not also in the other {@link map}.
     *
     * A ∩ B = {x : x ∈ A ∧ x ∈ B}
     *
     * @param Ds\Map $map The other map, containing the keys to intersect
     *   with.
     * @return Ds\Map The key intersection of the current instance and
     *   another {@link map}.
     **/
    public function intersect($map){}

    /**
     * Returns whether the map is empty
     *
     * @return bool Returns TRUE if the map is empty, FALSE otherwise.
     **/
    public function isEmpty(){}

    /**
     * Returns a set of the map's keys
     *
     * Returns a set containing all the keys of the map, in the same order.
     *
     * @return Ds\Set A Ds\Set containing all the keys of the map.
     **/
    public function keys(){}

    /**
     * Sorts the map in-place by key
     *
     * Sorts the map in-place by key, using an optional {@link comparator}
     * function.
     *
     * @param callable $comparator
     * @return void
     **/
    public function ksort($comparator){}

    /**
     * Returns a copy, sorted by key
     *
     * Returns a copy sorted by key, using an optional {@link comparator}
     * function.
     *
     * @param callable $comparator
     * @return Ds\Map Returns a copy of the map, sorted by key.
     **/
    public function ksorted($comparator){}

    /**
     * Returns the last pair of the map
     *
     * @return Ds\Pair The last pair of the map.
     **/
    public function last(){}

    /**
     * Returns the result of applying a callback to each value
     *
     * Returns the result of applying a {@link callback} function to each
     * value of the map.
     *
     * @param callable $callback mixed callback mixed{@link key}
     *   mixed{@link value} A callable to apply to each value in the map. The
     *   callable should return what the key will be mapped to in the
     *   resulting map.
     * @return Ds\Map The result of applying a {@link callback} to each
     *   value in the map.
     **/
    public function map($callback){}

    /**
     * Returns the result of adding all given associations
     *
     * Returns the result of associating all keys of a given traversable
     * object or with their corresponding values, combined with the current
     * instance.
     *
     * @param mixed $values A traversable object or an .
     * @return Ds\Map The result of associating all keys of a given
     *   traversable object or with their corresponding values, combined with
     *   the current instance.
     **/
    public function merge($values){}

    /**
     * Returns a sequence containing all the pairs of the map
     *
     * Returns a Ds\Sequence containing all the pairs of the map.
     *
     * @return Ds\Sequence Ds\Sequence containing all the pairs of the map.
     **/
    public function pairs(){}

    /**
     * Associates a key with a value
     *
     * Associates a {@link key} with a {@link value}, overwriting a previous
     * association if one exists.
     *
     * @param mixed $key The key to associate the value with.
     * @param mixed $value The value to be associated with the key.
     * @return void
     **/
    public function put($key, $value){}

    /**
     * Associates all key-value pairs of a traversable object or array
     *
     * Associates all key-value {@link pairs} of a traversable object or .
     *
     * @param mixed $pairs traversable object or .
     * @return void
     **/
    public function putAll($pairs){}

    /**
     * Reduces the map to a single value using a callback function
     *
     * @param callable $callback
     * @param mixed $initial The return value of the previous callback, or
     *   {@link initial} if it's the first iteration.
     * @return mixed The return value of the final callback.
     **/
    public function reduce($callback, $initial){}

    /**
     * Removes and returns a value by key
     *
     * Removes and returns a value by key, or return an optional default
     * value if the key could not be found.
     *
     * @param mixed $key The key to remove.
     * @param mixed $default The optional default value, returned if the
     *   key could not be found.
     * @return mixed The value that was removed, or the {@link default}
     *   value if provided and the {@link key} could not be found in the map.
     **/
    public function remove($key, $default){}

    /**
     * Reverses the map in-place
     *
     * Reverses the map in-place.
     *
     * @return void
     **/
    public function reverse(){}

    /**
     * Returns a reversed copy
     *
     * Returns a reversed copy of the map.
     *
     * @return Ds\Map A reversed copy of the map.
     *   
     *   The current instance is not affected.
     **/
    public function reversed(){}

    /**
     * Returns the pair at a given positional index
     *
     * Returns the pair at a given zero-based {@link position}.
     *
     * @param int $position The zero-based positional index to return.
     * @return Ds\Pair Returns the Ds\Pair at the given {@link position}.
     **/
    public function skip($position){}

    /**
     * Returns a subset of the map defined by a starting index and length
     *
     * Returns a subset of the map defined by a starting {@link index} and
     * {@link length}.
     *
     * @param int $index The index at which the range starts. If positive,
     *   the range will start at that index in the map. If negative, the
     *   range will start that far from the end.
     * @param int $length If a length is given and is positive, the
     *   resulting map will have up to that many pairs in it.
     *   
     *   If a length is given and is negative, the range will stop that many
     *   pairs from the end.
     *   
     *   If the length results in an overflow, only pairs up to the end of
     *   the map will be included.
     *   
     *   If a length is not provided, the resulting map will contain all
     *   pairs between the index and the end of the map.
     * @return Ds\Map A subset of the map defined by a starting index and
     *   length.
     **/
    public function slice($index, $length){}

    /**
     * Sorts the map in-place by value
     *
     * Sorts the map in-place by value, using an optional {@link comparator}
     * function.
     *
     * @param callable $comparator
     * @return void
     **/
    public function sort($comparator){}

    /**
     * Returns a copy, sorted by value
     *
     * Returns a copy, sorted by value using an optional {@link comparator}
     * function.
     *
     * @param callable $comparator
     * @return Ds\Map Returns a copy of the map, sorted by value.
     **/
    public function sorted($comparator){}

    /**
     * Returns the sum of all values in the map
     *
     * @return number The sum of all the values in the map as either a
     *   float or int depending on the values in the map.
     **/
    public function sum(){}

    /**
     * Converts the map to an
     *
     * Converts the map to an .
     *
     * @return array An containing all the values in the same order as the
     *   map.
     **/
    public function toArray(){}

    /**
     * Creates a new map using values from the current instance and another
     * map
     *
     * Creates a new map that contains the pairs of the current instance as
     * well as the pairs of another {@link map}.
     *
     * A ∪ B = {x: x ∈ A ∨ x ∈ B}
     *
     * @param Ds\Map $map The other map, to combine with the current
     *   instance.
     * @return Ds\Map A new map containing all the pairs of the current
     *   instance as well as another {@link map}.
     **/
    public function union($map){}

    /**
     * Returns a sequence of the map's values
     *
     * Returns a sequence containing all the values of the map, in the same
     * order.
     *
     * @return Ds\Sequence A Ds\Sequence containing all the values of the
     *   map.
     **/
    public function values(){}

    /**
     * Creates a new map using keys of either the current instance or of
     * another map, but not of both
     *
     * Creates a new map containing keys of the current instance as well as
     * another {@link map}, but not of both.
     *
     * A ⊖ B = {x : x ∈ (A \ B) ∪ (B \ A)}
     *
     * @param Ds\Map $map The other map.
     * @return Ds\Map A new map containing keys in the current instance as
     *   well as another {@link map}, but not in both.
     **/
    public function xor($map){}

}
}
namespace Ds {
class Pair implements JsonSerializable {
    /**
     * Removes all values
     *
     * Removes all values from the pair.
     *
     * @return void
     **/
    public function clear(){}

    /**
     * Returns a shallow copy of the pair
     *
     * @return Ds\Pair Returns a shallow copy of the pair.
     **/
    public function copy(){}

    /**
     * Returns whether the pair is empty
     *
     * @return bool Returns TRUE if the pair is empty, FALSE otherwise.
     **/
    public function isEmpty(){}

    /**
     * Converts the pair to an
     *
     * Converts the pair to an .
     *
     * @return array An containing all the values in the same order as the
     *   pair.
     **/
    public function toArray(){}

}
}
namespace Ds {
class PriorityQueue implements Ds\Collection {
    /**
     * Allocates enough memory for a required capacity
     *
     * Ensures that enough memory is allocated for a required capacity. This
     * removes the need to reallocate the internal as values are added.
     *
     * @param int $capacity The number of values for which capacity should
     *   be allocated.
     * @return void
     **/
    public function allocate($capacity){}

    /**
     * Returns the current capacity
     *
     * @return int The current capacity.
     **/
    public function capacity(){}

    /**
     * Removes all values
     *
     * Removes all values from the queue.
     *
     * @return void
     **/
    public function clear(){}

    /**
     * Returns a shallow copy of the queue
     *
     * @return Ds\PriorityQueue Returns a shallow copy of the queue.
     **/
    public function copy(){}

    /**
     * Returns whether the queue is empty
     *
     * @return bool Returns TRUE if the queue is empty, FALSE otherwise.
     **/
    public function isEmpty(){}

    /**
     * Returns the value at the front of the queue
     *
     * Returns the value at the front of the queue, but does not remove it.
     *
     * @return mixed The value at the front of the queue.
     **/
    public function peek(){}

    /**
     * Removes and returns the value with the highest priority
     *
     * Removes and returns the value at the front of the queue, ie. the value
     * with the highest priority.
     *
     * @return mixed The removed value which was at the front of the queue.
     **/
    public function pop(){}

    /**
     * Pushes values into the queue
     *
     * Pushes a {@link value} with a given {@link priority} into the queue.
     *
     * @param mixed $value The value to push into the queue.
     * @param int $priority The priority associated with the value.
     * @return void
     **/
    public function push($value, $priority){}

    /**
     * Converts the queue to an
     *
     * Converts the queue to an .
     *
     * @return array An containing all the values in the same order as the
     *   queue.
     **/
    public function toArray(){}

}
}
namespace Ds {
class Queue implements Ds\Collection {
    /**
     * Allocates enough memory for a required capacity
     *
     * Ensures that enough memory is allocated for a required capacity. This
     * removes the need to reallocate the internal as values are added.
     *
     * @param int $capacity The number of values for which capacity should
     *   be allocated.
     * @return void
     **/
    public function allocate($capacity){}

    /**
     * Returns the current capacity
     *
     * @return int The current capacity.
     **/
    public function capacity(){}

    /**
     * Removes all values
     *
     * Removes all values from the queue.
     *
     * @return void
     **/
    public function clear(){}

    /**
     * Returns a shallow copy of the queue
     *
     * @return Ds\Queue Returns a shallow copy of the queue.
     **/
    public function copy(){}

    /**
     * Returns whether the queue is empty
     *
     * @return bool Returns TRUE if the queue is empty, FALSE otherwise.
     **/
    public function isEmpty(){}

    /**
     * Returns the value at the front of the queue
     *
     * Returns the value at the front of the queue, but does not remove it.
     *
     * @return mixed The value at the front of the queue.
     **/
    public function peek(){}

    /**
     * Removes and returns the value at the front of the queue
     *
     * @return mixed The removed value which was at the front of the queue.
     **/
    public function pop(){}

    /**
     * Pushes values into the queue
     *
     * Pushes {@link values} into the queue.
     *
     * @param mixed ...$values The values to push into the queue.
     * @return void
     **/
    public function push(...$values){}

    /**
     * Converts the queue to an
     *
     * Converts the queue to an .
     *
     * @return array An containing all the values in the same order as the
     *   queue.
     **/
    public function toArray(){}

}
}
namespace Ds {
interface Sequence extends Ds\Collection {
    /**
     * Allocates enough memory for a required capacity
     *
     * Ensures that enough memory is allocated for a required capacity. This
     * removes the need to reallocate the internal as values are added.
     *
     * @param int $capacity The number of values for which capacity should
     *   be allocated.
     * @return void
     **/
    public function allocate($capacity);

    /**
     * Updates all values by applying a callback function to each value
     *
     * Updates all values by applying a {@link callback} function to each
     * value in the sequence.
     *
     * @param callable $callback mixed callback mixed{@link value} A
     *   callable to apply to each value in the sequence. The callback should
     *   return what the value should be replaced by.
     * @return void
     **/
    public function apply($callback);

    /**
     * Returns the current capacity
     *
     * @return int The current capacity.
     **/
    public function capacity();

    /**
     * Determines if the sequence contains given values
     *
     * Determines if the sequence contains all values.
     *
     * @param mixed ...$values Values to check.
     * @return bool FALSE if any of the provided {@link values} are not in
     *   the sequence, TRUE otherwise.
     **/
    public function contains(...$values);

    /**
     * Creates a new sequence using a to determine which values to include
     *
     * Creates a new sequence using a callable to determine which values to
     * include.
     *
     * @param callable $callback bool callback mixed{@link value} Optional
     *   callable which returns TRUE if the value should be included, FALSE
     *   otherwise. If a callback is not provided, only values which are TRUE
     *   (see converting to boolean) will be included.
     * @return Ds\Sequence A new sequence containing all the values for
     *   which either the {@link callback} returned TRUE, or all values that
     *   convert to TRUE if a {@link callback} was not provided.
     **/
    public function filter($callback);

    /**
     * Attempts to find a value's index
     *
     * Returns the index of the {@link value}, or FALSE if not found.
     *
     * @param mixed $value The value to find.
     * @return mixed The index of the value, or FALSE if not found.
     **/
    public function find($value);

    /**
     * Returns the first value in the sequence
     *
     * @return mixed The first value in the sequence.
     **/
    public function first();

    /**
     * Returns the value at a given index
     *
     * @param int $index The index to access, starting at 0.
     * @return mixed The value at the requested index.
     **/
    public function get($index);

    /**
     * Inserts values at a given index
     *
     * Inserts values into the sequence at a given index.
     *
     * @param int $index The index at which to insert. 0 <= index <= count
     * @param mixed ...$values The value or values to insert.
     * @return void
     **/
    public function insert($index, ...$values);

    /**
     * Joins all values together as a string
     *
     * Joins all values together as a string using an optional separator
     * between each value.
     *
     * @param string $glue An optional string to separate each value.
     * @return string All values of the sequence joined together as a
     *   string.
     **/
    public function join($glue);

    /**
     * Returns the last value
     *
     * Returns the last value in the sequence.
     *
     * @return mixed The last value in the sequence.
     **/
    public function last();

    /**
     * Returns the result of applying a callback to each value
     *
     * Returns the result of applying a {@link callback} function to each
     * value in the sequence.
     *
     * @param callable $callback mixed callback mixed{@link value} A
     *   callable to apply to each value in the sequence. The callable should
     *   return what the new value will be in the new sequence.
     * @return Ds\Sequence The result of applying a {@link callback} to
     *   each value in the sequence.
     **/
    public function map($callback);

    /**
     * Returns the result of adding all given values to the sequence
     *
     * @param mixed $values A traversable object or an .
     * @return Ds\Sequence The result of adding all given values to the
     *   sequence, effectively the same as adding the values to a copy, then
     *   returning that copy.
     **/
    public function merge($values);

    /**
     * Removes and returns the last value
     *
     * @return mixed The removed last value.
     **/
    public function pop();

    /**
     * Adds values to the end of the sequence
     *
     * @param mixed ...$values The values to add.
     * @return void
     **/
    public function push(...$values);

    /**
     * Reduces the sequence to a single value using a callback function
     *
     * @param callable $callback
     * @param mixed $initial The return value of the previous callback, or
     *   {@link initial} if it's the first iteration.
     * @return mixed The return value of the final callback.
     **/
    public function reduce($callback, $initial);

    /**
     * Removes and returns a value by index
     *
     * @param int $index The index of the value to remove.
     * @return mixed The value that was removed.
     **/
    public function remove($index);

    /**
     * Reverses the sequence in-place
     *
     * Reverses the sequence in-place.
     *
     * @return void
     **/
    public function reverse();

    /**
     * Returns a reversed copy
     *
     * Returns a reversed copy of the sequence.
     *
     * @return Ds\Sequence A reversed copy of the sequence.
     *   
     *   The current instance is not affected.
     **/
    public function reversed();

    /**
     * Rotates the sequence by a given number of rotations
     *
     * Rotates the sequence by a given number of rotations, which is
     * equivalent to successively calling $sequence->push($sequence->shift())
     * if the number of rotations is positive, or
     * $sequence->unshift($sequence->pop()) if negative.
     *
     * @param int $rotations The number of times the sequence should be
     *   rotated.
     * @return void . The sequence of the current instance will be rotated.
     **/
    public function rotate($rotations);

    /**
     * Updates a value at a given index
     *
     * @param int $index The index of the value to update.
     * @param mixed $value The new value.
     * @return void
     **/
    public function set($index, $value);

    /**
     * Removes and returns the first value
     *
     * @return mixed The first value, which was removed.
     **/
    public function shift();

    /**
     * Returns a sub-sequence of a given range
     *
     * Creates a sub-sequence of a given range.
     *
     * @param int $index The index at which the sub-sequence starts. If
     *   positive, the sequence will start at that index in the sequence. If
     *   negative, the sequence will start that far from the end.
     * @param int $length If a length is given and is positive, the
     *   resulting sequence will have up to that many values in it.
     *   
     *   If the length results in an overflow, only values up to the end of
     *   the sequence will be included.
     *   
     *   If a length is given and is negative, the sequence will stop that
     *   many values from the end.
     *   
     *   If a length is not provided, the resulting sequence will contain all
     *   values between the index and the end of the sequence.
     * @return Ds\Sequence A sub-sequence of the given range.
     **/
    public function slice($index, $length);

    /**
     * Sorts the sequence in-place
     *
     * Sorts the sequence in-place, using an optional {@link comparator}
     * function.
     *
     * @param callable $comparator
     * @return void
     **/
    public function sort($comparator);

    /**
     * Returns a sorted copy
     *
     * Returns a sorted copy, using an optional {@link comparator} function.
     *
     * @param callable $comparator
     * @return Ds\Sequence Returns a sorted copy of the sequence.
     **/
    public function sorted($comparator);

    /**
     * Returns the sum of all values in the sequence
     *
     * @return number The sum of all the values in the sequence as either a
     *   float or int depending on the values in the sequence.
     **/
    public function sum();

    /**
     * Adds values to the front of the sequence
     *
     * Adds values to the front of the sequence, moving all the current
     * values forward to make room for the new values.
     *
     * @param mixed $values The values to add to the front of the sequence.
     *   Multiple values will be added in the same order that they are
     *   passed.
     * @return void
     **/
    public function unshift($values);

}
}
namespace Ds {
class Set implements Ds\Collection {
    /**
     * Adds values to the set
     *
     * Adds all given values to the set that haven't already been added.
     *
     * @param mixed ...$values Values to add to the set.
     * @return void
     **/
    public function add(...$values){}

    /**
     * Allocates enough memory for a required capacity
     *
     * @param int $capacity The number of values for which capacity should
     *   be allocated.
     * @return void
     **/
    public function allocate($capacity){}

    /**
     * Returns the current capacity
     *
     * @return int The current capacity.
     **/
    public function capacity(){}

    /**
     * Removes all values
     *
     * Removes all values from the set.
     *
     * @return void
     **/
    public function clear(){}

    /**
     * Determines if the set contains all values
     *
     * @param mixed ...$values Values to check.
     * @return bool FALSE if any of the provided {@link values} are not in
     *   the set, TRUE otherwise.
     **/
    public function contains(...$values){}

    /**
     * Returns a shallow copy of the set
     *
     * @return Ds\Set Returns a shallow copy of the set.
     **/
    public function copy(){}

    /**
     * Creates a new set using values that aren't in another set
     *
     * A \ B = {x ∈ A | x ∉ B}
     *
     * @param Ds\Set $set Set containing the values to exclude.
     * @return Ds\Set A new set containing all values that were not in the
     *   other {@link set}.
     **/
    public function diff($set){}

    /**
     * Creates a new set using a to determine which values to include
     *
     * Creates a new set using a callable to determine which values to
     * include.
     *
     * @param callable $callback bool callback mixed{@link value} Optional
     *   callable which returns TRUE if the value should be included, FALSE
     *   otherwise. If a callback is not provided, only values which are TRUE
     *   (see converting to boolean) will be included.
     * @return Ds\Set A new set containing all the values for which either
     *   the {@link callback} returned TRUE, or all values that convert to
     *   TRUE if a {@link callback} was not provided.
     **/
    public function filter($callback){}

    /**
     * Returns the first value in the set
     *
     * @return void The first value in the set.
     **/
    public function first(){}

    /**
     * Returns the value at a given index
     *
     * @param int $index The index to access, starting at 0.
     * @return mixed The value at the requested index.
     **/
    public function get($index){}

    /**
     * Creates a new set by intersecting values with another set
     *
     * Creates a new set using values common to both the current instance and
     * another {@link set}.
     *
     * In other words, returns a copy of the current instance with all values
     * removed that are not in the other {@link set}.
     *
     * A ∩ B = {x : x ∈ A ∧ x ∈ B}
     *
     * @param Ds\Set $set The other set.
     * @return Ds\Set The intersection of the current instance and another
     *   {@link set}.
     **/
    public function intersect($set){}

    /**
     * Returns whether the set is empty
     *
     * @return bool Returns TRUE if the set is empty, FALSE otherwise.
     **/
    public function isEmpty(){}

    /**
     * Joins all values together as a string
     *
     * Joins all values together as a string using an optional separator
     * between each value.
     *
     * @param string $glue An optional string to separate each value.
     * @return string All values of the set joined together as a string.
     **/
    public function join($glue){}

    /**
     * Returns the last value in the set
     *
     * @return void The last value in the set.
     **/
    public function last(){}

    /**
     * Returns the result of adding all given values to the set
     *
     * @param mixed $values A traversable object or an .
     * @return Ds\Set The result of adding all given values to the set,
     *   effectively the same as adding the values to a copy, then returning
     *   that copy.
     **/
    public function merge($values){}

    /**
     * Reduces the set to a single value using a callback function
     *
     * @param callable $callback
     * @param mixed $initial The return value of the previous callback, or
     *   {@link initial} if it's the first iteration.
     * @return mixed The return value of the final callback.
     **/
    public function reduce($callback, $initial){}

    /**
     * Removes all given values from the set
     *
     * Removes all given {@link values} from the set, ignoring any that are
     * not in the set.
     *
     * @param mixed ...$values The values to remove.
     * @return void
     **/
    public function remove(...$values){}

    /**
     * Reverses the set in-place
     *
     * Reverses the set in-place.
     *
     * @return void
     **/
    public function reverse(){}

    /**
     * Returns a reversed copy
     *
     * Returns a reversed copy of the set.
     *
     * @return Ds\Set A reversed copy of the set.
     *   
     *   The current instance is not affected.
     **/
    public function reversed(){}

    /**
     * Returns a sub-set of a given range
     *
     * Creates a sub-set of a given range.
     *
     * @param int $index The index at which the sub-set starts. If
     *   positive, the set will start at that index in the set. If negative,
     *   the set will start that far from the end.
     * @param int $length If a length is given and is positive, the
     *   resulting set will have up to that many values in it.
     *   
     *   If the length results in an overflow, only values up to the end of
     *   the set will be included.
     *   
     *   If a length is given and is negative, the set will stop that many
     *   values from the end.
     *   
     *   If a length is not provided, the resulting set will contain all
     *   values between the index and the end of the set.
     * @return Ds\Set A sub-set of the given range.
     **/
    public function slice($index, $length){}

    /**
     * Sorts the set in-place
     *
     * Sorts the set in-place, using an optional {@link comparator} function.
     *
     * @param callable $comparator
     * @return void
     **/
    public function sort($comparator){}

    /**
     * Returns a sorted copy
     *
     * Returns a sorted copy, using an optional {@link comparator} function.
     *
     * @param callable $comparator
     * @return Ds\Set Returns a sorted copy of the set.
     **/
    public function sorted($comparator){}

    /**
     * Returns the sum of all values in the set
     *
     * @return number The sum of all the values in the set as either a
     *   float or int depending on the values in the set.
     **/
    public function sum(){}

    /**
     * Converts the set to an
     *
     * Converts the set to an .
     *
     * @return array An containing all the values in the same order as the
     *   set.
     **/
    public function toArray(){}

    /**
     * Creates a new set using values from the current instance and another
     * set
     *
     * Creates a new set that contains the values of the current instance as
     * well as the values of another {@link set}.
     *
     * A ∪ B = {x: x ∈ A ∨ x ∈ B}
     *
     * @param Ds\Set $set The other set, to combine with the current
     *   instance.
     * @return Ds\Set A new set containing all the values of the current
     *   instance as well as another {@link set}.
     **/
    public function union($set){}

    /**
     * Creates a new set using values in either the current instance or in
     * another set, but not in both
     *
     * Creates a new set containing values in the current instance as well as
     * another {@link set}, but not in both.
     *
     * A ⊖ B = {x : x ∈ (A \ B) ∪ (B \ A)}
     *
     * @param Ds\Set $set The other set.
     * @return Ds\Set A new set containing values in the current instance
     *   as well as another {@link set}, but not in both.
     **/
    public function xor($set){}

}
}
namespace Ds {
class Stack implements Ds\Collection {
    /**
     * Allocates enough memory for a required capacity
     *
     * Ensures that enough memory is allocated for a required capacity. This
     * removes the need to reallocate the internal as values are added.
     *
     * @param int $capacity The number of values for which capacity should
     *   be allocated.
     * @return void
     **/
    public function allocate($capacity){}

    /**
     * Returns the current capacity
     *
     * @return int The current capacity.
     **/
    public function capacity(){}

    /**
     * Removes all values
     *
     * Removes all values from the stack.
     *
     * @return void
     **/
    public function clear(){}

    /**
     * Returns a shallow copy of the stack
     *
     * @return Ds\Stack Returns a shallow copy of the stack.
     **/
    public function copy(){}

    /**
     * Returns whether the stack is empty
     *
     * @return bool Returns TRUE if the stack is empty, FALSE otherwise.
     **/
    public function isEmpty(){}

    /**
     * Returns the value at the top of the stack
     *
     * Returns the value at the top of the stack, but does not remove it.
     *
     * @return mixed The value at the top of the stack.
     **/
    public function peek(){}

    /**
     * Removes and returns the value at the top of the stack
     *
     * @return mixed The removed value which was at the top of the stack.
     **/
    public function pop(){}

    /**
     * Pushes values onto the stack
     *
     * Pushes {@link values} onto the stack.
     *
     * @param mixed ...$values The values to push onto the stack.
     * @return void
     **/
    public function push(...$values){}

    /**
     * Converts the stack to an
     *
     * Converts the stack to an .
     *
     * @return array An containing all the values in the same order as the
     *   stack.
     **/
    public function toArray(){}

}
}
namespace Ds {
class Vector implements Ds\Sequence {
    /**
     * Allocates enough memory for a required capacity
     *
     * Ensures that enough memory is allocated for a required capacity. This
     * removes the need to reallocate the internal as values are added.
     *
     * @param int $capacity The number of values for which capacity should
     *   be allocated.
     * @return void
     **/
    public function allocate($capacity){}

    /**
     * Updates all values by applying a callback function to each value
     *
     * Updates all values by applying a {@link callback} function to each
     * value in the vector.
     *
     * @param callable $callback mixed callback mixed{@link value} A
     *   callable to apply to each value in the vector. The callback should
     *   return what the value should be replaced by.
     * @return void
     **/
    public function apply($callback){}

    /**
     * Returns the current capacity
     *
     * @return int The current capacity.
     **/
    public function capacity(){}

    /**
     * Removes all values
     *
     * Removes all values from the vector.
     *
     * @return void
     **/
    public function clear(){}

    /**
     * Determines if the vector contains given values
     *
     * Determines if the vector contains all values.
     *
     * @param mixed ...$values Values to check.
     * @return bool FALSE if any of the provided {@link values} are not in
     *   the vector, TRUE otherwise.
     **/
    public function contains(...$values){}

    /**
     * Returns a shallow copy of the vector
     *
     * @return Ds\Vector Returns a shallow copy of the vector.
     **/
    public function copy(){}

    /**
     * Creates a new vector using a to determine which values to include
     *
     * Creates a new vector using a callable to determine which values to
     * include.
     *
     * @param callable $callback bool callback mixed{@link value} Optional
     *   callable which returns TRUE if the value should be included, FALSE
     *   otherwise. If a callback is not provided, only values which are TRUE
     *   (see converting to boolean) will be included.
     * @return Ds\Vector A new vector containing all the values for which
     *   either the {@link callback} returned TRUE, or all values that
     *   convert to TRUE if a {@link callback} was not provided.
     **/
    public function filter($callback){}

    /**
     * Attempts to find a value's index
     *
     * Returns the index of the {@link value}, or FALSE if not found.
     *
     * @param mixed $value The value to find.
     * @return mixed The index of the value, or FALSE if not found.
     **/
    public function find($value){}

    /**
     * Returns the first value in the vector
     *
     * @return mixed The first value in the vector.
     **/
    public function first(){}

    /**
     * Returns the value at a given index
     *
     * @param int $index The index to access, starting at 0.
     * @return mixed The value at the requested index.
     **/
    public function get($index){}

    /**
     * Inserts values at a given index
     *
     * Inserts values into the vector at a given index.
     *
     * @param int $index The index at which to insert. 0 <= index <= count
     * @param mixed ...$values The value or values to insert.
     * @return void
     **/
    public function insert($index, ...$values){}

    /**
     * Returns whether the vector is empty
     *
     * @return bool Returns TRUE if the vector is empty, FALSE otherwise.
     **/
    public function isEmpty(){}

    /**
     * Joins all values together as a string
     *
     * Joins all values together as a string using an optional separator
     * between each value.
     *
     * @param string $glue An optional string to separate each value.
     * @return string All values of the vector joined together as a string.
     **/
    public function join($glue){}

    /**
     * Returns the last value
     *
     * Returns the last value in the vector.
     *
     * @return mixed The last value in the vector.
     **/
    public function last(){}

    /**
     * Returns the result of applying a callback to each value
     *
     * Returns the result of applying a {@link callback} function to each
     * value in the vector.
     *
     * @param callable $callback mixed callback mixed{@link value} A
     *   callable to apply to each value in the vector. The callable should
     *   return what the new value will be in the new vector.
     * @return Ds\Vector The result of applying a {@link callback} to each
     *   value in the vector.
     **/
    public function map($callback){}

    /**
     * Returns the result of adding all given values to the vector
     *
     * @param mixed $values A traversable object or an .
     * @return Ds\Vector The result of adding all given values to the
     *   vector, effectively the same as adding the values to a copy, then
     *   returning that copy.
     **/
    public function merge($values){}

    /**
     * Removes and returns the last value
     *
     * @return mixed The removed last value.
     **/
    public function pop(){}

    /**
     * Adds values to the end of the vector
     *
     * @param mixed ...$values The values to add.
     * @return void
     **/
    public function push(...$values){}

    /**
     * Reduces the vector to a single value using a callback function
     *
     * @param callable $callback
     * @param mixed $initial The return value of the previous callback, or
     *   {@link initial} if it's the first iteration.
     * @return mixed The return value of the final callback.
     **/
    public function reduce($callback, $initial){}

    /**
     * Removes and returns a value by index
     *
     * @param int $index The index of the value to remove.
     * @return mixed The value that was removed.
     **/
    public function remove($index){}

    /**
     * Reverses the vector in-place
     *
     * Reverses the vector in-place.
     *
     * @return void
     **/
    public function reverse(){}

    /**
     * Returns a reversed copy
     *
     * Returns a reversed copy of the vector.
     *
     * @return Ds\Vector A reversed copy of the vector.
     *   
     *   The current instance is not affected.
     **/
    public function reversed(){}

    /**
     * Rotates the vector by a given number of rotations
     *
     * Rotates the vector by a given number of rotations, which is equivalent
     * to successively calling $vector->push($vector->shift()) if the number
     * of rotations is positive, or $vector->unshift($vector->pop()) if
     * negative.
     *
     * @param int $rotations The number of times the vector should be
     *   rotated.
     * @return void . The vector of the current instance will be rotated.
     **/
    public function rotate($rotations){}

    /**
     * Updates a value at a given index
     *
     * @param int $index The index of the value to update.
     * @param mixed $value The new value.
     * @return void
     **/
    public function set($index, $value){}

    /**
     * Removes and returns the first value
     *
     * @return mixed The first value, which was removed.
     **/
    public function shift(){}

    /**
     * Returns a sub-vector of a given range
     *
     * Creates a sub-vector of a given range.
     *
     * @param int $index The index at which the sub-vector starts. If
     *   positive, the vector will start at that index in the vector. If
     *   negative, the vector will start that far from the end.
     * @param int $length If a length is given and is positive, the
     *   resulting vector will have up to that many values in it.
     *   
     *   If the length results in an overflow, only values up to the end of
     *   the vector will be included.
     *   
     *   If a length is given and is negative, the vector will stop that many
     *   values from the end.
     *   
     *   If a length is not provided, the resulting vector will contain all
     *   values between the index and the end of the vector.
     * @return Ds\Vector A sub-vector of the given range.
     **/
    public function slice($index, $length){}

    /**
     * Sorts the vector in-place
     *
     * Sorts the vector in-place, using an optional {@link comparator}
     * function.
     *
     * @param callable $comparator
     * @return void
     **/
    public function sort($comparator){}

    /**
     * Returns a sorted copy
     *
     * Returns a sorted copy, using an optional {@link comparator} function.
     *
     * @param callable $comparator
     * @return Ds\Vector Returns a sorted copy of the vector.
     **/
    public function sorted($comparator){}

    /**
     * Returns the sum of all values in the vector
     *
     * @return number The sum of all the values in the vector as either a
     *   float or int depending on the values in the vector.
     **/
    public function sum(){}

    /**
     * Converts the vector to an
     *
     * Converts the vector to an .
     *
     * @return array An containing all the values in the same order as the
     *   vector.
     **/
    public function toArray(){}

    /**
     * Adds values to the front of the vector
     *
     * Adds values to the front of the vector, moving all the current values
     * forward to make room for the new values.
     *
     * @param mixed $values The values to add to the front of the vector.
     *   Multiple values will be added in the same order that they are
     *   passed.
     * @return void
     **/
    public function unshift($values){}

}
}
/**
 * The EmptyIterator class for an empty iterator.
 **/
class EmptyIterator implements Iterator {
    /**
     * The current() method
     *
     * This function must not be called. It throws an exception upon access.
     *
     * @return mixed
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function current(){}

    /**
     * The key() method
     *
     * This function must not be called. It throws an exception upon access.
     *
     * @return scalar
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function key(){}

    /**
     * The next() method
     *
     * No operation, nothing to do.
     *
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function next(){}

    /**
     * The rewind() method
     *
     * No operation, nothing to do.
     *
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function rewind(){}

    /**
     * The valid() method
     *
     * The EmptyIterator valid() method.
     *
     * @return bool FALSE
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function valid(){}

}
/**
 * Available since PHP 5.1.0. An Error Exception. Use {@link
 * set_error_handler} to change error messages into ErrorException.
 *
 * Fatal error: Uncaught exception 'ErrorException' with message
 * 'strpos() expects at least 2 parameters, 0 given' in
 * /home/bjori/tmp/ex.php:12 Stack trace: #0 [internal function]:
 * exception_error_handler(2, 'strpos() expect...', '/home/bjori/php...',
 * 12, Array) #1 /home/bjori/php/cleandocs/test.php(12): strpos() #2
 * {main} thrown in /home/bjori/tmp/ex.php on line 12
 **/
class ErrorException extends Exception {
    /**
     * The severity of the exception
     *
     * @var int
     **/
    protected $severity;

    /**
     * Gets the exception severity
     *
     * Returns the severity of the exception.
     *
     * @return int Returns the severity level of the exception.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    final public function getSeverity(){}

}
/**
 * Ev is a static class providing access to the default loop and to some
 * common operations. Flags passed to create a loop:
 *
 * Ev::FLAG_AUTO The default flags value Ev::FLAG_NOENV If this flag
 * used(or the program runs setuid or setgid), libev won't look at the
 * environment variable LIBEV_FLAGS . Otherwise(by default), LIBEV_FLAGS
 * will override the flags completely if it is found. Useful for
 * performance tests and searching for bugs. Ev::FLAG_FORKCHECK Makes
 * libev check for a fork in each iteration, instead of calling
 * EvLoop::fork manually. This works by calling getpid() on every
 * iteration of the loop, and thus this might slow down the event loop
 * with lots of loop iterations, but usually is not noticeable. This flag
 * setting cannot be overridden or specified in the LIBEV_FLAGS
 * environment variable. Ev::FLAG_NOINOTIFY When this flag is specified,
 * libev won't attempt to use the inotify API for its ev_stat watchers.
 * The flag can be useful to conserve inotify file descriptors, as
 * otherwise each loop using ev_stat watchers consumes one inotify
 * handle. Ev::FLAG_SIGNALFD When this flag is specified, libev will
 * attempt to use the signalfd API for its ev_signal (and ev_child )
 * watchers. This API delivers signals synchronously, which makes it both
 * faster and might make it possible to get the queued signal data. It
 * can also simplify signal handling with threads, as long as signals are
 * properly blocked in threads. Signalfd will not be used by default.
 * Ev::FLAG_NOSIGMASK When this flag is specified, libev will avoid to
 * modify the signal mask. Specifically, this means having to make sure
 * signals are unblocked before receiving them. This behaviour is useful
 * for custom signal handling, or handling signals only in specific
 * threads. Flags passed to Ev::run , or EvLoop::run
 *
 * Ev::RUN_NOWAIT Means that event loop will look for new events, will
 * handle those events and any already outstanding ones, but will not
 * wait and block the process in case there are no events and will return
 * after one iteration of the loop. This is sometimes useful to poll and
 * handle new events while doing lengthy calculations, to keep the
 * program responsive. Ev::RUN_ONCE Means that event loop will look for
 * new events (waiting if necessary) and will handle those and any
 * already outstanding ones. It will block the process until at least one
 * new event arrives (which could be an event internal to libev itself,
 * so there is no guarantee that a user-registered callback will be
 * called), and will return after one iteration of the loop. Flags passed
 * to Ev::stop , or EvLoop::stop
 *
 * Ev::BREAK_CANCEL Cancel the break operation. Ev::BREAK_ONE Makes the
 * innermost Ev::run (or EvLoop::run ) call return. Ev::BREAK_ALL Makes
 * all nested Ev::run (or EvLoop::run ) calls return. Watcher priorities:
 *
 * Ev::MINPRI Minimum allowed watcher priority. Ev::MAXPRI Maximum
 * allowed watcher priority. Bit masks of (received) events:
 *
 * Ev::READ The file descriptor in the EvIo watcher has become readable.
 * Ev::WRITE The file descriptor in the EvIo watcher has become writable.
 * Ev::TIMER EvTimer watcher has been timed out. Ev::PERIODIC EvPeriodic
 * watcher has been timed out. Ev::SIGNAL A signal specified in
 * EvSignal::__construct has been received. Ev::CHILD The {@link pid}
 * specified in EvChild::__construct has received a status change.
 * Ev::STAT The path specified in EvStat watcher changed its attributes.
 * Ev::IDLE EvIdle watcher works when there is nothing to do with other
 * watchers. Ev::PREPARE All EvPrepare watchers are invoked just before
 * Ev::run starts. Thus, EvPrepare watchers are the last watchers invoked
 * before the event loop sleeps or polls for new events. Ev::CHECK All
 * EvCheck watchers are queued just after Ev::run has gathered the new
 * events, but before it queues any callbacks for any received events.
 * Thus, EvCheck watchers will be invoked before any other watchers of
 * the same or lower priority within an event loop iteration. Ev::EMBED
 * The embedded event loop specified in the EvEmbed watcher needs
 * attention. Ev::CUSTOM Not ever sent(or otherwise used) by libev
 * itself, but can be freely used by libev users to signal watchers (e.g.
 * via EvWatcher::feed ). Ev::ERROR An unspecified error has occurred,
 * the watcher has been stopped. This might happen because the watcher
 * could not be properly started because libev ran out of memory, a file
 * descriptor was found to be closed or any other problem. Libev
 * considers these application bugs. See also ANATOMY OF A WATCHER
 * Backend flags:
 *
 * Ev::BACKEND_SELECT select(2) backend Ev::BACKEND_POLL poll(2) backend
 * Ev::BACKEND_EPOLL Linux-specific epoll(7) backend for both pre- and
 * post-2.6.9 kernels Ev::BACKEND_KQUEUE kqueue backend used on most BSD
 * systems. EvEmbed watcher could be used to embed one loop(with kqueue
 * backend) into another. For instance, one can try to create an event
 * loop with kqueue backend and use it for sockets only.
 * Ev::BACKEND_DEVPOLL Solaris 8 backend. This is not implemented yet.
 * Ev::BACKEND_PORT Solaris 10 event port mechanism with a good scaling.
 * Ev::BACKEND_ALL Try all backends(even currupted ones). It's not
 * recommended to use it explicitly. Bitwise operators should be applied
 * here(e.g. Ev::BACKEND_ALL & ~ Ev::BACKEND_KQUEUE ) Use
 * Ev::recommendedBackends , or don't specify any backends at all.
 * Ev::BACKEND_MASK Not a backend, but a mask to select all backend bits
 * from {@link flags} value to mask out any backends(e.g. when modifying
 * the LIBEV_FLAGS environment variable).
 **/
final class Ev {
    /**
     * @var integer
     **/
    const BACKEND_ALL = 0;

    /**
     * @var integer
     **/
    const BACKEND_DEVPOLL = 0;

    /**
     * @var integer
     **/
    const BACKEND_EPOLL = 0;

    /**
     * @var integer
     **/
    const BACKEND_KQUEUE = 0;

    /**
     * @var integer
     **/
    const BACKEND_MASK = 0;

    /**
     * @var integer
     **/
    const BACKEND_POLL = 0;

    /**
     * @var integer
     **/
    const BACKEND_PORT = 0;

    /**
     * @var integer
     **/
    const BACKEND_SELECT = 0;

    /**
     * @var integer
     **/
    const BREAK_ALL = 0;

    /**
     * @var integer
     **/
    const BREAK_CANCEL = 0;

    /**
     * @var integer
     **/
    const BREAK_ONE = 0;

    /**
     * All EvCheck watchers are queued just after Ev::run has gathered the
     * new events, but before it queues any callbacks for any received
     * events. Thus, EvCheck watchers will be invoked before any other
     * watchers of the same or lower priority within an event loop iteration.
     *
     * @var integer
     **/
    const CHECK = 0;

    /**
     * The {@link pid} specified in EvChild::__construct has received a
     * status change.
     *
     * @var integer
     **/
    const CHILD = 0;

    /**
     * Not ever sent(or otherwise used) by libev itself, but can be freely
     * used by libev users to signal watchers (e.g. via EvWatcher::feed ).
     *
     * @var integer
     **/
    const CUSTOM = 0;

    /**
     * The embedded event loop specified in the EvEmbed watcher needs
     * attention.
     *
     * @var integer
     **/
    const EMBED = 0;

    /**
     * An unspecified error has occurred, the watcher has been stopped. This
     * might happen because the watcher could not be properly started because
     * libev ran out of memory, a file descriptor was found to be closed or
     * any other problem. Libev considers these application bugs. See also
     * ANATOMY OF A WATCHER
     *
     * @var integer
     **/
    const ERROR = 0;

    /**
     * @var integer
     **/
    const FLAG_AUTO = 0;

    /**
     * @var integer
     **/
    const FLAG_FORKCHECK = 0;

    /**
     * @var integer
     **/
    const FLAG_NOENV = 0;

    /**
     * @var integer
     **/
    const FLAG_NOINOTIFY = 0;

    /**
     * @var integer
     **/
    const FLAG_NOSIGMASK = 0;

    /**
     * @var integer
     **/
    const FLAG_SIGNALFD = 0;

    /**
     * EvIdle watcher works when there is nothing to do with other watchers.
     *
     * @var integer
     **/
    const IDLE = 0;

    /**
     * Maximum allowed watcher priority.
     *
     * @var integer
     **/
    const MAXPRI = 0;

    /**
     * Minimum allowed watcher priority.
     *
     * @var integer
     **/
    const MINPRI = 0;

    /**
     * EvPeriodic watcher has been timed out.
     *
     * @var integer
     **/
    const PERIODIC = 0;

    /**
     * All EvPrepare watchers are invoked just before Ev::run starts. Thus,
     * EvPrepare watchers are the last watchers invoked before the event loop
     * sleeps or polls for new events.
     *
     * @var integer
     **/
    const PREPARE = 0;

    /**
     * The file descriptor in the EvIo watcher has become readable.
     *
     * @var integer
     **/
    const READ = 0;

    /**
     * @var integer
     **/
    const RUN_NOWAIT = 0;

    /**
     * @var integer
     **/
    const RUN_ONCE = 0;

    /**
     * A signal specified in EvSignal::__construct has been received.
     *
     * @var integer
     **/
    const SIGNAL = 0;

    /**
     * The path specified in EvStat watcher changed its attributes.
     *
     * @var integer
     **/
    const STAT = 0;

    /**
     * EvTimer watcher has been timed out.
     *
     * @var integer
     **/
    const TIMER = 0;

    /**
     * The file descriptor in the EvIo watcher has become writable.
     *
     * @var integer
     **/
    const WRITE = 0;

    /**
     * Returns an integer describing the backend used by libev
     *
     * Returns an integer describing the backend used by libev . See Backend
     * flags
     *
     * @return int Returns an integer(bit mask) describing the backend used
     *   by libev .
     * @since PECL ev >= 0.2.0
     **/
    final public static function backend(){}

    /**
     * Returns recursion depth
     *
     * The number of times Ev::run was entered minus the number of times
     * Ev::run was exited normally, in other words, the recursion depth.
     * Outside Ev::run , this number is 0 . In a callback, this number is 1 ,
     * unless Ev::run was invoked recursively (or from another thread), in
     * which case it is higher.
     *
     * @return int {@link ev_depth} returns recursion depth of the default
     *   loop.
     * @since PECL ev >= 0.2.0
     **/
    final public static function depth(){}

    /**
     * Returns the set of backends that are embeddable in other event loops
     *
     * @return void Returns a bit mask which can containing backend flags
     *   combined using bitwise OR operator.
     * @since PECL ev >= 0.2.0
     **/
    final public static function embeddableBackends(){}

    /**
     * Feed a signal event info Ev
     *
     * Simulates a signal receive. It is safe to call this function at any
     * time, from any context, including signal handlers or random threads.
     * Its main use is to customise signal handling in the process.
     *
     * Unlike Ev::feedSignalEvent , this works regardless of which loop has
     * registered the signal.
     *
     * @param int $signum Signal number. See signal(7) man page for detals.
     *   You can use constants exported by pcntl extension.
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    final public static function feedSignal($signum){}

    /**
     * Feed signal event into the default loop
     *
     * Feed signal event into the default loop. Ev will react to this call as
     * if the signal specified by {@link signal} had occurred.
     *
     * @param int $signum Signal number. See signal(7) man page for detals.
     *   See also constants exported by pcntl extension.
     * @return void
     **/
    final public static function feedSignalEvent($signum){}

    /**
     * Return the number of times the default event loop has polled for new
     * events
     *
     * Return the number of times the event loop has polled for new events.
     * Sometimes useful as a generation counter.
     *
     * @return int Returns number of polls of the default event loop.
     * @since PECL ev >= 0.2.0
     **/
    final public static function iteration(){}

    /**
     * Returns the time when the last iteration of the default event loop has
     * started
     *
     * Returns the time when the last iteration of the default event loop has
     * started. This is the time that timers( EvTimer and EvPeriodic ) are
     * based on, and referring to it is usually faster then calling Ev::time
     * .
     *
     * @return float Returns number of seconds(fractional) representing the
     *   time when the last iteration of the default event loop has started.
     * @since PECL ev >= 0.2.0
     **/
    final public static function now(){}

    /**
     * Establishes the current time by querying the kernel, updating the time
     * returned by Ev::now in the progress
     *
     * Establishes the current time by querying the kernel, updating the time
     * returned by Ev::now in the progress. This is a costly operation and is
     * usually done automatically within Ev::run .
     *
     * This method is rarely useful, but when some event callback runs for a
     * very long time without entering the event loop, updating libev 's
     * consideration of the current time is a good idea.
     *
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    final public static function nowUpdate(){}

    /**
     * Returns a bit mask of recommended backends for current platform
     *
     * Returns the set of all backends compiled into this binary of libev and
     * also recommended for this platform, meaning it will work for most file
     * descriptor types. This set is often smaller than the one returned by
     * {@link ev_supported_backends} , as for example kqueue is broken on
     * most BSD systems and will not be auto-detected unless it is requested
     * explicitly. This is the set of backends that libev will probe no
     * backends specified explicitly.
     *
     * @return void Returns a bit mask which can containing backend flags
     *   combined using bitwise OR operator.
     * @since PECL ev >= 0.2.0
     **/
    final public static function recommendedBackends(){}

    /**
     * Resume previously suspended default event loop
     *
     * Ev::suspend and Ev::resume methods suspend and resume a loop
     * correspondingly.
     *
     * All timer watchers will be delayed by the time spend between suspend
     * and resume , and all periodic watchers will be rescheduled(that is,
     * they will lose any events that would have occurred while suspended).
     *
     * After calling Ev::suspend it is not allowed to call any function on
     * the given loop other than Ev::resume . Also it is not allowed to call
     * Ev::resume without a previous call to Ev::suspend .
     *
     * Calling suspend / resume has the side effect of updating the event
     * loop time(see Ev::nowUpdate ).
     *
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    final public static function resume(){}

    /**
     * Begin checking for events and calling callbacks for the default loop
     *
     * Begin checking for events and calling callbacks for the default loop .
     * Returns when a callback calls Ev::stop method, or the flags are
     * nonzero(in which case the return value is true) or when there are no
     * active watchers which reference the loop( EvWatcher::keepalive is
     * TRUE), in which case the return value will be FALSE. The return value
     * can generally be interpreted as if TRUE, there is more work left to do
     * .
     *
     * @param int $flags Optional parameter {@link flags} can be one of the
     *   following: List for possible values of {@link flags} {@link flags}
     *   Description 0 The default behavior described above Ev::RUN_ONCE
     *   Block at most one(wait, but don't loop) Ev::RUN_NOWAIT Don't block
     *   at all(fetch/handle events, but don't wait) See the run flag
     *   constants .
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    final public static function run($flags){}

    /**
     * Block the process for the given number of seconds
     *
     * @param float $seconds Fractional number of seconds
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    final public static function sleep($seconds){}

    /**
     * Stops the default event loop
     *
     * @param int $how One of Ev::BREAK_* constants .
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    final public static function stop($how){}

    /**
     * Returns the set of backends supported by current libev configuration
     *
     * Returns the set of backends supported by current libev configuration.
     *
     * @return void Returns a bit mask which can containing backend flags
     *   combined using bitwise OR operator.
     * @since PECL ev >= 0.2.0
     **/
    final public static function supportedBackends(){}

    /**
     * Suspend the default event loop
     *
     * Ev::suspend and Ev::resume methods suspend and resume the default loop
     * correspondingly.
     *
     * All timer watchers will be delayed by the time spend between suspend
     * and resume , and all periodic watchers will be rescheduled(that is,
     * they will lose any events that would have occurred while suspended).
     *
     * After calling Ev::suspend it is not allowed to call any function on
     * the given loop other than Ev::resume . Also it is not allowed to call
     * Ev::resume without a previous call to Ev::suspend .
     *
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    final public static function suspend(){}

    /**
     * Returns the current time in fractional seconds since the epoch
     *
     * Returns the current time in fractional seconds since the epoch.
     * Consider using Ev::now
     *
     * @return float Returns the current time in fractional seconds since
     *   the epoch.
     * @since PECL ev >= 0.2.0
     **/
    final public static function time(){}

    /**
     * Performs internal consistency checks(for debugging)
     *
     * Performs internal consistency checks(for debugging libev ) and abort
     * the program if any data structures were found to be corrupted.
     *
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    final public static function verify(){}

}
/**
 * EvPrepare and EvCheck watchers are usually used in pairs. EvPrepare
 * watchers get invoked before the process blocks, EvCheck afterwards. It
 * is not allowed to call EvLoop::run or similar methods or functions
 * that enter the current event loop from either EvPrepare or EvCheck
 * watchers. Other loops than the current one are fine, however. The
 * rationale behind this is that one dont need to check for recursion in
 * those watchers, i.e. the sequence will always be: EvPrepare ->
 * blocking -> EvCheck , so having a watcher of each kind they will
 * always be called in pairs bracketing the blocking call. The main
 * purpose is to integrate other event mechanisms into libev and their
 * use is somewhat advanced. They could be used, for example, to track
 * variable changes, implement custom watchers, integrate net-snmp or a
 * coroutine library and lots more. They are also occasionally useful to
 * cache some data and want to flush it before blocking. It is
 * recommended to give EvCheck watchers highest( Ev::MAXPRI ) priority,
 * to ensure that they are being run before any other watchers after the
 * poll (this doesn’t matter for EvPrepare watchers). Also, EvCheck
 * watchers should not activate/feed events. While libev fully supports
 * this, they might get executed before other EvCheck watchers did their
 * job.
 **/
class EvCheck extends EvWatcher {
    /**
     * Create instance of a stopped EvCheck watcher
     *
     * @param string $callback See Watcher callbacks .
     * @param string $data Custom data associated with the watcher.
     * @param string $priority Watcher priority
     * @return object Returns EvCheck object on success.
     * @since PECL ev >= 0.2.0
     **/
    final public static function createStopped($callback, $data, $priority){}

    /**
     * Constructs the EvCheck watcher object
     *
     * Constructs the EvCheck watcher object.
     *
     * @param callable $callback See Watcher callbacks .
     * @param mixed $data Custom data associated with the watcher.
     * @param int $priority Watcher priority
     * @since PECL ev >= 0.2.0
     **/
    public function __construct($callback, $data, $priority){}

}
/**
 * EvChild watchers trigger when the process receives a SIGCHLD in
 * response to some child status changes (most typically when a child
 * dies or exits). It is permissible to install an EvChild watcher after
 * the child has been forked(which implies it might have already exited),
 * as long as the event loop isn't entered(or is continued from a
 * watcher), i.e. forking and then immediately registering a watcher for
 * the child is fine, but forking and registering a watcher a few event
 * loop iterations later or in the next callback invocation is not. It is
 * allowed to register EvChild watchers in the default loop only.
 **/
class EvChild extends EvWatcher {
    /**
     * Readonly . The process ID this watcher watches out for, or 0 , meaning
     * any process ID.
     *
     * @var mixed
     **/
    public $pid;

    /**
     * Readonly .The process ID that detected a status change.
     *
     * @var mixed
     **/
    public $rpid;

    /**
     * Readonly . The process exit status caused by rpid .
     *
     * @var mixed
     **/
    public $rstatus;

    /**
     * Create instance of a stopped EvCheck watcher
     *
     * The same as EvChild::__construct , but doesn't start the watcher
     * automatically.
     *
     * @param int $pid The same as for EvChild::__construct
     * @param bool $trace The same as for EvChild::__construct
     * @param callable $callback See Watcher callbacks .
     * @param mixed $data Custom data associated with the watcher.
     * @param int $priority Watcher priority
     * @return object
     * @since PECL ev >= 0.2.0
     **/
    final public static function createStopped($pid, $trace, $callback, $data, $priority){}

    /**
     * Configures the watcher
     *
     * @param int $pid The same as for EvChild::__construct
     * @param bool $trace The same as for EvChild::__construct
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    public function set($pid, $trace){}

    /**
     * Constructs the EvChild watcher object
     *
     * Constructs the EvChild watcher object.
     *
     * Call the callback when a status change for process ID {@link pid} (or
     * any PID if {@link pid} is 0 ) has been received(a status change
     * happens when the process terminates or is killed, or, when {@link
     * trace} is TRUE, additionally when it is stopped or continued). In
     * other words, when the process receives a SIGCHLD , Ev will fetch the
     * outstanding exit/wait status for all changed/zombie children and call
     * the callback.
     *
     * It is valid to install a child watcher after an EvChild has exited but
     * before the event loop has started its next iteration. For example,
     * first one calls fork , then the new child process might exit, and only
     * then an EvChild watcher is installed in the parent for the new PID .
     *
     * You can access both exit/tracing status and {@link pid} by using the
     * rstatus and rpid properties of the watcher object.
     *
     * The number of PID watchers per PID is unlimited. All of them will be
     * called.
     *
     * The EvChild::createStopped method doesnt start(activate) the newly
     * created watcher.
     *
     * @param int $pid Wait for status changes of process PID(or any
     *   process if PID is specified as 0 ).
     * @param bool $trace If FALSE, only activate the watcher when the
     *   process terminates. Otherwise(TRUE) additionally activate the
     *   watcher when the process is stopped or continued.
     * @param callable $callback See Watcher callbacks .
     * @param mixed $data Custom data associated with the watcher.
     * @param int $priority Watcher priority
     * @since PECL ev >= 0.2.0
     **/
    public function __construct($pid, $trace, $callback, $data, $priority){}

}
/**
 * Used to embed one event loop into another.
 **/
class EvEmbed extends EvWatcher {
    /**
     * @var mixed
     **/
    public $embed;

    /**
     * Create stopped EvEmbed watcher object
     *
     * The same as EvEmbed::__construct , but doesn't start the watcher
     * automatically.
     *
     * @param object $other The same as for EvEmbed::__construct
     * @param callable $callback See Watcher callbacks .
     * @param mixed $data Custom data associated with the watcher.
     * @param int $priority Watcher priority
     * @return void Returns stopped EvEmbed object on success.
     * @since PECL ev >= 0.2.0
     **/
    final public static function createStopped($other, $callback, $data, $priority){}

    /**
     * Configures the watcher
     *
     * Configures the watcher to use {@link other} event loop object.
     *
     * @param object $other The same as for EvEmbed::__construct
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    public function set($other){}

    /**
     * Make a single, non-blocking sweep over the embedded loop
     *
     * Make a single, non-blocking sweep over the embedded loop. Works
     * similarly to the following, but in the most appropriate way for
     * embedded loops:
     *
     * <?php $other->start(Ev::RUN_NOWAIT); ?>
     *
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    public function sweep(){}

    /**
     * Constructs the EvEmbed object
     *
     * This is a rather advanced watcher type that lets to embed one event
     * loop into another(currently only IO events are supported in the
     * embedded loop, other types of watchers might be handled in a delayed
     * or incorrect fashion and must not be used).
     *
     * See the libev documentation for details.
     *
     * This watcher is most useful on BSD systems without working kqueue to
     * still be able to handle a large number of sockets. See example below.
     *
     * @param object $other Instance of EvLoop . The loop to embed, this
     *   loop must be embeddable(see Ev::embeddableBackends ).
     * @param callable $callback See Watcher callbacks .
     * @param mixed $data Custom data associated with the watcher.
     * @param int $priority Watcher priority
     * @since PECL ev >= 0.2.0
     **/
    public function __construct($other, $callback, $data, $priority){}

}
/**
 * Event class represents and event firing on a file descriptor being
 * ready to read from or write to; a file descriptor becoming ready to
 * read from or write to(edge-triggered I/O only); a timeout expiring; a
 * signal occuring; a user-triggered event. Every event is associated
 * with EventBase . However, event will never fire until it is added (via
 * Event::add ). An added event remains in pending state until the
 * registered event occurs, thus turning it to active state. To handle
 * events user may register a callback which is called when event becomes
 * active. If event is configured persistent , it remains pending. If it
 * is not persistent, it stops being pending when it's callback runs.
 * Event::del method deletes event, thus making it non-pending. By means
 * of Event::add method it could be added again.
 **/
final class Event {
    /**
     * Indicates that the event should be edge-triggered, if the underlying
     * event base backend supports edge-triggered events. This affects the
     * semantics of Event::READ and Event::WRITE .
     *
     * @var integer
     **/
    const ET = 0;

    /**
     * Indicates that the event is persistent. See About event persistence .
     *
     * @var integer
     **/
    const PERSIST = 0;

    /**
     * This flag indicates an event that becomes active when the provided
     * file descriptor(usually a stream resource, or socket) is ready for
     * reading.
     *
     * @var integer
     **/
    const READ = 0;

    /**
     * Used to implement signal detection. See "Constructing signal events"
     * below.
     *
     * @var integer
     **/
    const SIGNAL = 0;

    /**
     * This flag indicates an event that becomes active after a timeout
     * elapses.
     *
     * The Event::TIMEOUT flag is ignored when constructing an event: one can
     * either set a timeout when event is added , or not. It is set in the
     * $what argument to the callback function when a timeout has occurred.
     *
     * @var integer
     **/
    const TIMEOUT = 0;

    /**
     * This flag indicates an event that becomes active when the provided
     * file descriptor(usually a stream resource, or socket) is ready for
     * reading.
     *
     * @var integer
     **/
    const WRITE = 0;

    /**
     * Whether event is pending. See About event persistence .
     *
     * @var bool
     **/
    public $pending;

    /**
     * Makes event pending
     *
     * Marks event pending. Non-pending event will never occur, and the event
     * callback will never be called. In conjuction with Event::del an event
     * could be re-scheduled by user at any time.
     *
     * If Event::add is called on an already pending event, libevent will
     * leave it pending and re-schedule it with the given timeout(if
     * specified). If in this case timeout is not specified, Event::add has
     * no effect.
     *
     * @param float $timeout Timeout in seconds.
     * @return bool Returns TRUE on success. Otherwise FALSE
     * @since PECL event >= 1.2.6-beta
     **/
    public function add($timeout){}

    /**
     * Makes signal event pending
     *
     * Event::addSignal is an alias of Event::add
     *
     * @param float $timeout
     * @return bool
     * @since PECL event >= 1.2.6-beta
     **/
    public function addSignal($timeout){}

    /**
     * Makes timer event pending
     *
     * Event::addTimer is an alias of Event::add
     *
     * @param float $timeout
     * @return bool
     * @since PECL event >= 1.2.6-beta
     **/
    public function addTimer($timeout){}

    /**
     * Makes event non-pending
     *
     * Removes an event from the set of monitored events, i.e. makes it
     * non-pending.
     *
     * @return bool Returns TRUE on success. Otherwise FALSE
     * @since PECL event >= 1.2.6-beta
     **/
    public function del(){}

    /**
     * Makes signal event non-pending
     *
     * Event::delSignal is an alias of Event::del
     *
     * @return bool
     * @since PECL event >= 1.2.6-beta
     **/
    public function delSignal(){}

    /**
     * Makes timer event non-pending
     *
     * Event::delTimer is an alias of Event::del .
     *
     * @return bool
     * @since PECL event >= 1.2.6-beta
     **/
    public function delTimer(){}

    /**
     * Make event non-pending and free resources allocated for this event
     *
     * Removes event from the list of events monitored by libevent, and free
     * resources allocated for the event.
     *
     * @return void
     * @since PECL event >= 1.2.6-beta
     **/
    public function free(){}

    /**
     * Returns array with of the names of the methods supported in this
     * version of Libevent
     *
     * Returns array with of the names of the methods(backends) supported in
     * this version of Libevent.
     *
     * @return array Returns array.
     * @since PECL event >= 1.2.6-beta
     **/
    public static function getSupportedMethods(){}

    /**
     * Detects whether event is pending or scheduled
     *
     * @param int $flags One of, or a composition of the following
     *   constants: Event::READ , Event::WRITE , Event::TIMEOUT ,
     *   Event::SIGNAL .
     * @return bool Returns TRUE if event is pending or scheduled.
     *   Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function pending($flags){}

    /**
     * Re-configures event
     *
     * Re-configures event. Note, this function doesn't invoke obsolete
     * libevent's event_set. It calls event_assign instead.
     *
     * @param EventBase $base The event base to associate the event with.
     * @param mixed $fd Stream resource, socket resource, or numeric file
     *   descriptor. For timer events pass -1 . For signal events pass the
     *   signal number, e.g. SIGHUP .
     * @param int $what See Event flags .
     * @param callable $cb The event callback. See Event callbacks .
     * @param mixed $arg Custom data associated with the event. It will be
     *   passed to the callback when the event becomes active.
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function set($base, $fd, $what, $cb, $arg){}

    /**
     * Set event priority
     *
     * @param int $priority The event priority.
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function setPriority($priority){}

    /**
     * Re-configures timer event
     *
     * Re-configures timer event. Note, this function doesn't invoke obsolete
     * libevent's event_set . It calls event_assign instead.
     *
     * @param EventBase $base The event base to associate with.
     * @param callable $cb The timer event callback. See Event callbacks .
     * @param mixed $arg Custom data. If specified, it will be passed to
     *   the callback when event triggers.
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function setTimer($base, $cb, $arg){}

    /**
     * Constructs signal event object
     *
     * Constructs signal event object. This is a straightforward method to
     * create a signal event. Note, the generic Event::__construct method can
     * contruct signal event objects too.
     *
     * @param EventBase $base The associated event base object.
     * @param int $signum The signal number.
     * @param callable $cb The signal event callback. See Event callbacks .
     * @param mixed $arg Custom data. If specified, it will be passed to
     *   the callback when event triggers.
     * @return Event Returns Event object on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public static function signal($base, $signum, $cb, $arg){}

    /**
     * Constructs timer event object
     *
     * Constructs timer event object. This is a straightforward method to
     * create a timer event. Note, the generic Event::__construct method can
     * contruct signal event objects too.
     *
     * @param EventBase $base The associated event base object.
     * @param callable $cb The signal event callback. See Event callbacks .
     * @param mixed $arg Custom data. If specified, it will be passed to
     *   the callback when event triggers.
     * @return Event Returns Event object on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public static function timer($base, $cb, $arg){}

    /**
     * Constructs Event object
     *
     * @param EventBase $base The event base to associate with.
     * @param mixed $fd stream resource, socket resource, or numeric file
     *   descriptor. For timer events pass -1 . For signal events pass the
     *   signal number, e.g. SIGHUP .
     * @param int $what Event flags. See Event flags .
     * @param callable $cb The event callback. See Event callbacks .
     * @param mixed $arg Custom data. If specified, it will be passed to
     *   the callback when event triggers.
     * @since PECL event >= 1.2.6-beta
     **/
    public function __construct($base, $fd, $what, $cb, $arg){}

}
/**
 * EventBase class represents libevent's event base structure. It holds a
 * set of events and can poll to determine which events are active. Each
 * event base has a method , or a backend that it uses to determine which
 * events are ready. The recognized methods are: select , poll , epoll ,
 * kqueue , devpoll , evport and win32 . To configure event base to use,
 * or avoid specific backend EventConfig class can be used.
 **/
final class EventBase {
    /**
     * @var integer
     **/
    const EPOLL_USE_CHANGELIST = 0;

    /**
     * @var integer
     **/
    const LOOP_NONBLOCK = 0;

    /**
     * @var integer
     **/
    const LOOP_ONCE = 0;

    /**
     * Configuration flag. Do not allocate a lock for the event base, even if
     * we have locking set up".
     *
     * @var integer
     **/
    const NOLOCK = 0;

    /**
     * @var integer
     **/
    const NO_CACHE_TIME = 0;

    /**
     * @var integer
     **/
    const STARTUP_IOCP = 0;

    /**
     * Dispatch pending events
     *
     * Wait for events to become active, and run their callbacks. The same as
     * EventBase::loop with no flags set.
     *
     * @return void Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function dispatch(){}

    /**
     * Stop dispatching events
     *
     * Tells event base to stop optionally after given number of seconds.
     *
     * @param float $timeout Optional number of seconds after which the
     *   event base should stop dispatching events.
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function exit($timeout){}

    /**
     * Free resources allocated for this event base
     *
     * Deallocates resources allocated by libevent for the EventBase object.
     *
     * @return void
     * @since PECL event >= 1.10.0
     **/
    public function free(){}

    /**
     * Returns bitmask of features supported
     *
     * @return int Returns integer representing a bitmask of supported
     *   features. See EventConfig::FEATURE_* constants .
     * @since PECL event >= 1.2.6-beta
     **/
    public function getFeatures(){}

    /**
     * Returns event method in use
     *
     * @return string String representing used event method(backend).
     * @since PECL event >= 1.2.6-beta
     **/
    public function getMethod(){}

    /**
     * Returns the current event base time
     *
     * On success returns the current time(as returned by gettimeofday() ),
     * looking at the cached value in base if possible, and calling
     * gettimeofday() or clock_gettime() as appropriate if there is no cached
     * time.
     *
     * @return float Returns the current event base time. On failure
     *   returns NULL.
     * @since PECL event >= 1.2.6-beta
     **/
    public function getTimeOfDayCached(){}

    /**
     * Checks if the event loop was told to exit
     *
     * Checks if the event loop was told to exit by EventBase::exit .
     *
     * @return bool Returns TRUE, event loop was told to exit by
     *   EventBase::exit . Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function gotExit(){}

    /**
     * Checks if the event loop was told to exit
     *
     * Checks if the event loop was told to exit by EventBase::stop .
     *
     * @return bool Returns TRUE, event loop was told to stop by
     *   EventBase::stop . Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function gotStop(){}

    /**
     * Dispatch pending events
     *
     * Wait for events to become active, and run their callbacks.
     *
     * @param int $flags Optional flags. One of EventBase::LOOP_*
     *   constants. See EventBase constants .
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function loop($flags){}

    /**
     * Sets number of priorities per event base
     *
     * @param int $n_priorities The number of priorities per event base.
     * @return bool Returns TRUE on success, otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function priorityInit($n_priorities){}

    /**
     * Re-initialize event base(after a fork)
     *
     * Re-initialize event base. Should be called after a fork.
     *
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function reInit(){}

    /**
     * Tells event_base to stop dispatching events
     *
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function stop(){}

    /**
     * Constructs EventBase object
     *
     * @param EventConfig $cfg Optional EventConfig object.
     * @since PECL event >= 1.2.6-beta
     **/
    public function __construct($cfg){}

}
/**
 * EventBuffer represents Libevent's "evbuffer", an utility functionality
 * for buffered I/O. Event buffers are meant to be generally useful for
 * doing the "buffer" part of buffered network I/O.
 **/
class EventBuffer {
    /**
     * @var integer
     **/
    const EOL_ANY = 0;

    /**
     * @var integer
     **/
    const EOL_CRLF = 0;

    /**
     * @var integer
     **/
    const EOL_CRLF_STRICT = 0;

    /**
     * @var integer
     **/
    const EOL_LF = 0;

    /**
     * @var integer
     **/
    const PTR_ADD = 0;

    /**
     * @var integer
     **/
    const PTR_SET = 0;

    /**
     * @var int
     **/
    public $contiguous_space;

    /**
     * The number of bytes stored in an event buffer.
     *
     * @var int
     **/
    public $length;

    /**
     * Append data to the end of an event buffer
     *
     * @param string $data String to be appended to the end of the buffer.
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function add($data){}

    /**
     * Move all data from a buffer provided to the current instance of
     * EventBuffer
     *
     * Move all data from the buffer provided in {@link buf} parameter to the
     * end of current EventBuffer . This is a destructive add. The data from
     * one buffer moves into the other buffer. However, no unnecessary memory
     * copies occur.
     *
     * @param EventBuffer $buf The source EventBuffer object.
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function addBuffer($buf){}

    /**
     * Moves the specified number of bytes from a source buffer to the end of
     * the current buffer
     *
     * Moves the specified number of bytes from a source buffer to the end of
     * the current buffer. If there are fewer number of bytes, it moves all
     * the bytes available from the source buffer.
     *
     * @param EventBuffer $buf Source buffer.
     * @param int $len
     * @return int Returns the number of bytes read.
     * @since PECL event >= 1.6.0
     **/
    public function appendFrom($buf, $len){}

    /**
     * Copies out specified number of bytes from the front of the buffer
     *
     * Behaves just like EventBuffer::read , but does not drain any data from
     * the buffer. I.e. it copies the first {@link max_bytes} bytes from the
     * front of the buffer into {@link data} . If there are fewer than {@link
     * max_bytes} bytes available, the function copies all the bytes there
     * are.
     *
     * @param string $data Output string.
     * @param int $max_bytes The number of bytes to copy.
     * @return int Returns the number of bytes copied, or -1 on failure.
     * @since PECL event >= 1.2.6-beta
     **/
    public function copyout(&$data, $max_bytes){}

    /**
     * Removes specified number of bytes from the front of the buffer without
     * copying it anywhere
     *
     * Behaves as EventBuffer::read , except that it does not copy the data:
     * it just removes it from the front of the buffer.
     *
     * @param int $len The number of bytes to remove from the buffer.
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function drain($len){}

    /**
     * Enable locking on an EventBuffer so that it can safely be used by
     * multiple threads at the same time. When locking is enabled, the lock
     * will be held when callbacks are invoked. This could result in deadlock
     * if you aren't careful. Plan accordingly!
     *
     * @return void
     * @since PECL event >= 1.2.6-beta
     **/
    public function enableLocking(){}

    /**
     * Reserves space in buffer
     *
     * Alters the last chunk of memory in the buffer, or adds a new chunk,
     * such that the buffer is now large enough to contain {@link len} bytes
     * without any further allocations.
     *
     * @param int $len The number of bytes to reserve for the buffer
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function expand($len){}

    /**
     * Prevent calls that modify an event buffer from succeeding
     *
     * @param bool $at_front Whether to disable changes to the front or end
     *   of the buffer.
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function freeze($at_front){}

    /**
     * Acquires a lock on buffer
     *
     * Acquires a lock on buffer. Can be used in pair with
     * EventBuffer::unlock to make a set of operations atomic, i.e.
     * thread-safe. Note, it is not needed to lock buffers for individual
     * operations. When locking is enabled(see EventBuffer::enableLocking ),
     * individual operations on event buffers are already atomic.
     *
     * @return void
     * @since PECL event >= 1.2.6-beta
     **/
    public function lock(){}

    /**
     * Prepend data to the front of the buffer
     *
     * @param string $data String to be prepended to the front of the
     *   buffer.
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function prepend($data){}

    /**
     * Moves all data from source buffer to the front of current buffer
     *
     * Behaves as EventBuffer::addBuffer , except that it moves data to the
     * front of the buffer.
     *
     * @param EventBuffer $buf Source buffer.
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function prependBuffer($buf){}

    /**
     * Linearizes data within buffer and returns it's contents as a string
     *
     * "Linearizes" the first {@link size} bytes of the buffer, copying or
     * moving them as needed to ensure that they are all contiguous and
     * occupying the same chunk of memory. If size is negative, the function
     * linearizes the entire buffer.
     *
     * @param int $size The number of bytes required to be contiguous
     *   within the buffer.
     * @return string If {@link size} is greater than the number of bytes
     *   in the buffer, the function returns NULL. Otherwise,
     *   EventBuffer::pullup returns string.
     * @since PECL event >= 1.2.6-beta
     **/
    public function pullup($size){}

    /**
     * Read data from a file onto the end of the buffer
     *
     * Read data from the file specified by {@link fd} onto the end of the
     * buffer.
     *
     * @param mixed $fd Socket resource, stream, or numeric file
     *   descriptor.
     * @param int $howmuch Maxmimum number of bytes to read.
     * @return int Returns the number of bytes read, or FALSE on failure.
     * @since PECL event >= 1.6.0
     **/
    public function read($fd, $howmuch){}

    /**
     * Extracts a line from the front of the buffer
     *
     * Extracts a line from the front of the buffer and returns it in a newly
     * allocated string. If there is not a whole line to read, the function
     * returns NULL. The line terminator is not included in the copied
     * string.
     *
     * @param int $eol_style One of EventBuffer:EOL_* constants .
     * @return string On success returns the line read from the buffer,
     *   otherwise NULL.
     * @since PECL event >= 1.2.6-beta
     **/
    public function readLine($eol_style){}

    /**
     * Scans the buffer for an occurrence of a string
     *
     * Scans the buffer for an occurrence of the string {@link what} . It
     * returns numeric position of the string, or FALSE if the string was not
     * found.
     *
     * If the {@link start} argument is provided, it points to the position
     * at which the search should begin; otherwise, the search is performed
     * from the start of the string. If {@link end} argument provided, the
     * search is performed between start and end buffer positions.
     *
     * @param string $what String to search.
     * @param int $start Start search position.
     * @param int $end End search position.
     * @return mixed Returns numeric position of the first occurance of the
     *   string in the buffer, or FALSE if string is not found.
     * @since PECL event >= 1.2.6-beta
     **/
    public function search($what, $start, $end){}

    /**
     * Scans the buffer for an occurrence of an end of line
     *
     * Scans the buffer for an occurrence of an end of line specified by
     * {@link eol_style} parameter . It returns numeric position of the
     * string, or FALSE if the string was not found.
     *
     * If the {@link start} argument is provided, it represents the position
     * at which the search should begin; otherwise, the search is performed
     * from the start of the string. If {@link end} argument provided, the
     * search is performed between start and end buffer positions.
     *
     * @param int $start Start search position.
     * @param int $eol_style One of EventBuffer:EOL_* constants .
     * @return mixed Returns numeric position of the first occurance of
     *   end-of-line symbol in the buffer, or FALSE if not found.
     * @since PECL event >= 1.5.0
     **/
    public function searchEol($start, $eol_style){}

    /**
     * Substracts a portion of the buffer data
     *
     * Substracts up to {@link length} bytes of the buffer data beginning at
     * {@link start} position.
     *
     * @param int $start The start position of data to be substracted.
     * @param int $length Maximum number of bytes to substract.
     * @return string Returns the data substracted as a string on success,
     *   or FALSE on failure.
     * @since PECL event >= 1.6.0
     **/
    public function substr($start, $length){}

    /**
     * Re-enable calls that modify an event buffer
     *
     * @param bool $at_front Whether to enable events at the front or at
     *   the end of the buffer.
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function unfreeze($at_front){}

    /**
     * Releases lock acquired by EventBuffer::lock
     *
     * Releases lock acquired by EventBuffer::lock .
     *
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function unlock(){}

    /**
     * Write contents of the buffer to a file or socket
     *
     * Write contents of the buffer to a file descriptor. The buffer will be
     * drained after the bytes have been successfully written.
     *
     * @param mixed $fd Socket resource, stream or numeric file descriptor
     *   associated normally associated with a socket.
     * @param int $howmuch The maximum number of bytes to write.
     * @return int Returns the number of bytes written, or FALSE on error.
     * @since PECL event >= 1.6.0
     **/
    public function write($fd, $howmuch){}

    /**
     * Constructs EventBuffer object
     *
     * @since PECL event >= 1.2.6-beta
     **/
    public function __construct(){}

}
/**
 * Represents Libevents buffer event. Usually an application wants to
 * perform some amount of data buffering in addition to just responding
 * to events. When we want to write data, for example, the usual pattern
 * looks like: This buffered I/O pattern is common enough that Libevent
 * provides a generic mechanism for it. A "buffer event" consists of an
 * underlying transport (like a socket), a read buffer, and a write
 * buffer. Instead of regular events, which give callbacks when the
 * underlying transport is ready to be read or written, a buffer event
 * invokes its user-supplied callbacks when it has read or written enough
 * data.
 **/
final class EventBufferEvent {
    /**
     * Finished a requested connection on the bufferevent.
     *
     * @var integer
     **/
    const CONNECTED = 0;

    /**
     * Got an end-of-file indication on the buffer event.
     *
     * @var integer
     **/
    const EOF = 0;

    /**
     * An error occurred during a bufferevent operation. For more information
     * on what the error was, call EventUtil::getLastSocketErrno and/or
     * EventUtil::getLastSocketError .
     *
     * @var integer
     **/
    const ERROR = 0;

    /**
     * @var integer
     **/
    const OPT_CLOSE_ON_FREE = 0;

    /**
     * @var integer
     **/
    const OPT_DEFER_CALLBACKS = 0;

    /**
     * @var integer
     **/
    const OPT_THREADSAFE = 0;

    /**
     * @var integer
     **/
    const OPT_UNLOCK_CALLBACKS = 0;

    /**
     * An event occured during a read operation on the bufferevent. See the
     * other flags for which event it was.
     *
     * @var integer
     **/
    const READING = 0;

    /**
     * @var integer
     **/
    const SSL_ACCEPTING = 0;

    /**
     * @var integer
     **/
    const SSL_CONNECTING = 0;

    /**
     * @var integer
     **/
    const SSL_OPEN = 0;

    /**
     * @var integer
     **/
    const TIMEOUT = 0;

    /**
     * An event occured during a write operation on the bufferevent. See the
     * other flags for which event it was.
     *
     * @var integer
     **/
    const WRITING = 0;

    /**
     * Numeric file descriptor associated with the buffer event. Normally
     * represents a bound socket. Equals to NULL, if there is no file
     * descriptor(socket) associated with the buffer event.
     *
     * @var integer
     **/
    public $fd;

    /**
     * Underlying input buffer object( EventBuffer )
     *
     * @var EventBuffer
     **/
    public $input;

    /**
     * Underlying output buffer object( EventBuffer )
     *
     * @var EventBuffer
     **/
    public $output;

    /**
     * The priority of the events used to implement the buffer event.
     *
     * @var integer
     **/
    public $priority;

    /**
     * Closes file descriptor associated with the current buffer event
     *
     * This method may be used in cases when the
     * EventBufferEvent::OPT_CLOSE_ON_FREE option is not appropriate.
     *
     * @return void
     * @since PECL event >= 1.10.0
     **/
    public function close(){}

    /**
     * Connect buffer events file descriptor to given address or UNIX socket
     *
     * Connect buffer events file descriptor to given address(optionally with
     * port), or a UNIX domain socket.
     *
     * If socket is not assigned to the buffer event, this function allocates
     * a new socket and makes it non-blocking internally.
     *
     * To resolve DNS names(asyncronously), use EventBufferEvent::connectHost
     * method.
     *
     * @param string $addr Should contain an IP address with optional port
     *   number, or a path to UNIX domain socket. Recognized formats are:
     *   
     *   [IPv6Address]:port [IPv6Address] IPv6Address IPv4Address:port
     *   IPv4Address unix:path
     *   
     *   Note, 'unix:' prefix is currently not case sensitive.
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function connect($addr){}

    /**
     * Connects to a hostname with optionally asyncronous DNS resolving
     *
     * Resolves the DNS name hostname, looking for addresses of type {@link
     * family} ( EventUtil::AF_* constants). If the name resolution fails, it
     * invokes the event callback with an error event. If it succeeds, it
     * launches a connection attempt just as EventBufferEvent::connect would.
     *
     * {@link dns_base} is optional. May be NULL, or an object created with
     * EventDnsBase::__construct . For asyncronous hostname resolving pass a
     * valid event dns base resource. Otherwise the hostname resolving will
     * block.
     *
     * @param EventDnsBase $dns_base Object of EventDnsBase in case if DNS
     *   is to be resolved asyncronously. Otherwise NULL.
     * @param string $hostname Hostname to connect to. Recognized formats
     *   are:
     *   
     *   www.example.com (hostname) 1.2.3.4 (ipv4address) ::1 (ipv6address)
     *   [::1] ([ipv6address])
     * @param int $port Port number
     * @param int $family Address family. EventUtil::AF_UNSPEC ,
     *   EventUtil::AF_INET , or EventUtil::AF_INET6 . See EventUtil
     *   constants .
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function connectHost($dns_base, $hostname, $port, $family){}

    /**
     * Creates two buffer events connected to each other
     *
     * Returns array of two EventBufferEvent objects connected to each other.
     * All the usual options are supported, except for
     * EventBufferEvent::OPT_CLOSE_ON_FREE , which has no effect, and
     * EventBufferEvent::OPT_DEFER_CALLBACKS , which is always on.
     *
     * @param EventBase $base Associated event base
     * @param int $options EventBufferEvent::OPT_* constants combined with
     *   bitwise OR operator.
     * @return array Returns array of two EventBufferEvent objects
     *   connected to each other.
     * @since PECL event >= 1.2.6-beta
     **/
    public static function createPair($base, $options){}

    /**
     * Disable events read, write, or both on a buffer event
     *
     * Disable events Event::READ , Event::WRITE , or Event::READ |
     * Event::WRITE on a buffer event.
     *
     * @param int $events
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function disable($events){}

    /**
     * Enable events read, write, or both on a buffer event
     *
     * Enable events Event::READ , Event::WRITE , or Event::READ |
     * Event::WRITE on a buffer event.
     *
     * @param int $events Event::READ , Event::WRITE , or Event::READ |
     *   Event::WRITE on a buffer event.
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function enable($events){}

    /**
     * Free a buffer event
     *
     * Free resources allocated by buffer event.
     *
     * Usually there is no need to call this method, since normally it is
     * done within internal object destructors. However, sometimes we have a
     * long-time script allocating lots of instances, or a script with a
     * heavy memory usage, where we need to free resources as soon as
     * possible. In such cases EventBufferEvent::free may be used to protect
     * the script against running up to the memory_limit .
     *
     * @return void
     * @since PECL event >= 1.2.6-beta
     **/
    public function free(){}

    /**
     * Returns string describing the last failed DNS lookup attempt
     *
     * Returns string describing the last failed DNS lookup attempt made by
     * EventBufferEvent::connectHost , or an empty string, if there is no DNS
     * error detected.
     *
     * @return string Returns a string describing DNS lookup error, or an
     *   empty string for no error.
     * @since PECL event >= 1.2.6-beta
     **/
    public function getDnsErrorString(){}

    /**
     * Returns bitmask of events currently enabled on the buffer event
     *
     * @return int Returns integer representing a bitmask of events
     *   currently enabled on the buffer event
     * @since PECL event >= 1.2.6-beta
     **/
    public function getEnabled(){}

    /**
     * Returns underlying input buffer associated with current buffer event
     *
     * Returns underlying input buffer associated with current buffer event.
     * An input buffer is a storage for data to read.
     *
     * Note, there is also input property of EventBufferEvent class.
     *
     * @return EventBuffer Returns instance of EventBuffer input buffer
     *   associated with current buffer event.
     * @since PECL event >= 1.2.6-beta
     **/
    public function getInput(){}

    /**
     * Returns underlying output buffer associated with current buffer event
     *
     * Returns underlying output buffer associated with current buffer event.
     * An output buffer is a storage for data to be written.
     *
     * Note, there is also output property of EventBufferEvent class.
     *
     * @return EventBuffer Returns instance of EventBuffer output buffer
     *   associated with current buffer event.
     * @since PECL event >= 1.2.6-beta
     **/
    public function getOutput(){}

    /**
     * Read buffers data
     *
     * Removes up to {@link size} bytes from the input buffer. Returns a
     * string of data read from the input buffer.
     *
     * @param int $size Maximum number of bytes to read
     * @return string Returns string of data read from the input buffer.
     * @since PECL event >= 1.2.6-beta
     **/
    public function read($size){}

    /**
     * Drains the entire contents of the input buffer and places them into
     * buf
     *
     * Drains the entire contents of the input buffer and places them into
     * {@link buf} .
     *
     * @param EventBuffer $buf Target buffer
     * @return bool Returns TRUE on success; Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function readBuffer($buf){}

    /**
     * Assigns read, write and event(status) callbacks
     *
     * @param callable $readcb Read event callback. See About buffer event
     *   callbacks .
     * @param callable $writecb Write event callback. See About buffer
     *   event callbacks .
     * @param callable $eventcb Status-change event callback. See About
     *   buffer event callbacks .
     * @param string $arg A variable that will be passed to all the
     *   callbacks.
     * @return void
     * @since PECL event >= 1.2.6-beta
     **/
    public function setCallbacks($readcb, $writecb, $eventcb, $arg){}

    /**
     * Assign a priority to a bufferevent
     *
     * @param int $priority Priority value.
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function setPriority($priority){}

    /**
     * Set the read and write timeout for a buffer event
     *
     * @param float $timeout_read Read timeout
     * @param float $timeout_write Write timeout
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function setTimeouts($timeout_read, $timeout_write){}

    /**
     * Adjusts read and/or write watermarks
     *
     * Adjusts the read watermarks, the write watermarks , or both, of a
     * single buffer event.
     *
     * A buffer event watermark is an edge, a value specifying number of
     * bytes to be read or written before callback is invoked. By default
     * every read/write event triggers a callback invokation. See Fast
     * portable non-blocking network programming with Libevent: Callbacks and
     * watermarks
     *
     * @param int $events Bitmask of Event::READ , Event::WRITE , or both.
     * @param int $lowmark Minimum watermark value.
     * @param int $highmark Maximum watermark value. 0 means "unlimited".
     * @return void
     * @since PECL event >= 1.2.6-beta
     **/
    public function setWatermark($events, $lowmark, $highmark){}

    /**
     * Returns most recent OpenSSL error reported on the buffer event
     *
     * @return string Returns OpenSSL error string reported on the buffer
     *   event, or FALSE, if there is no more error to return.
     * @since PECL event >= 1.2.6-beta
     **/
    public function sslError(){}

    /**
     * Create a new SSL buffer event to send its data over another buffer
     * event
     *
     * @param EventBase $base Associated event base.
     * @param EventBufferEvent $underlying A socket buffer event to use for
     *   this SSL.
     * @param EventSslContext $ctx Object of EventSslContext class.
     * @param int $state The current state of SSL connection:
     *   EventBufferEvent::SSL_OPEN , EventBufferEvent::SSL_ACCEPTING or
     *   EventBufferEvent::SSL_CONNECTING .
     * @param int $options One or more buffer event options.
     * @return EventBufferEvent Returns a new SSL EventBufferEvent object.
     * @since PECL event >= 1.2.6-beta
     **/
    public static function sslFilter($base, $underlying, $ctx, $state, $options){}

    /**
     * Returns a textual description of the cipher
     *
     * Retrieves description of the current cipher by means of the
     * SSL_CIPHER_description SSL API function (see SSL_CIPHER_get_name(3)
     * man page).
     *
     * @return string Returns a textual description of the cipher on
     *   success, or FALSE on error.
     * @since PECL event >= 1.10.0
     **/
    public function sslGetCipherInfo(){}

    /**
     * Returns the current cipher name of the SSL connection
     *
     * Retrieves name of cipher used by current SSL connection.
     *
     * @return string Returns the current cipher name of the SSL
     *   connection, or FALSE on error.
     * @since PECL event >= 1.10.0
     **/
    public function sslGetCipherName(){}

    /**
     * Returns version of cipher used by current SSL connection
     *
     * Retrieves version of cipher used by current SSL connection.
     *
     * @return string Returns the current cipher version of the SSL
     *   connection, or FALSE on error.
     * @since PECL event >= 1.10.0
     **/
    public function sslGetCipherVersion(){}

    /**
     * Returns the name of the protocol used for current SSL connection
     *
     * @return string Returns the name of the protocol used for current SSL
     *   connection.
     * @since PECL event >= 1.10.0
     **/
    public function sslGetProtocol(){}

    /**
     * Tells a bufferevent to begin SSL renegotiation
     *
     * @return void
     * @since PECL event >= 1.2.6-beta
     **/
    public function sslRenegotiate(){}

    /**
     * Creates a new SSL buffer event to send its data over an SSL on a
     * socket
     *
     * @param EventBase $base Associated event base.
     * @param mixed $socket Socket to use for this SSL. Can be stream or
     *   socket resource, numeric file descriptor, or NULL. If {@link socket}
     *   is NULL, it is assumed that the file descriptor for the socket will
     *   be assigned later, for instance, by means of
     *   EventBufferEvent::connectHost method.
     * @param EventSslContext $ctx Object of EventSslContext class.
     * @param int $state The current state of SSL connection:
     *   EventBufferEvent::SSL_OPEN , EventBufferEvent::SSL_ACCEPTING or
     *   EventBufferEvent::SSL_CONNECTING .
     * @param int $options The buffer event options.
     * @return EventBufferEvent Returns EventBufferEvent object.
     * @since PECL event >= 1.2.6-beta
     **/
    public static function sslSocket($base, $socket, $ctx, $state, $options){}

    /**
     * Adds data to a buffer events output buffer
     *
     * Adds {@link data} to a buffer events output buffer
     *
     * @param string $data Data to be added to the underlying buffer.
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function write($data){}

    /**
     * Adds contents of the entire buffer to a buffer events output buffer
     *
     * Adds contents of the entire buffer to a buffer events output buffer
     *
     * @param EventBuffer $buf Source EventBuffer object.
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function writeBuffer($buf){}

    /**
     * Constructs EventBufferEvent object
     *
     * Create a buffer event on a socket, stream or a file descriptor.
     * Passing NULL to {@link socket} means that the socket should be created
     * later, e.g. by means of EventBufferEvent::connect .
     *
     * @param EventBase $base Event base that should be associated with the
     *   new buffer event.
     * @param mixed $socket May be created as a stream(not necessarily by
     *   means of sockets extension)
     * @param int $options One of EventBufferEvent::OPT_* constants , or 0
     *   .
     * @param callable $readcb Read event callback. See About buffer event
     *   callbacks .
     * @param callable $writecb Write event callback. See About buffer
     *   event callbacks .
     * @param callable $eventcb Status-change event callback. See About
     *   buffer event callbacks .
     * @since PECL event >= 1.2.6-beta
     **/
    public function __construct($base, $socket, $options, $readcb, $writecb, $eventcb){}

}
/**
 * Represents configuration structure which could be used in construction
 * of the EventBase .
 **/
final class EventConfig {
    /**
     * @var integer
     **/
    const FEATURE_ET = 0;

    /**
     * @var integer
     **/
    const FEATURE_FDS = 0;

    /**
     * @var integer
     **/
    const FEATURE_O1 = 0;

    /**
     * Tells libevent to avoid specific event method
     *
     * Tells libevent to avoid specific event method(backend). See Creating
     * an event base .
     *
     * @param string $method The backend method to avoid. See EventConfig
     *   constants .
     * @return bool Returns TRUE on success, otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function avoidMethod($method){}

    /**
     * Enters a required event method feature that the application demands
     *
     * @param int $feature Bitmask of required features. See
     *   EventConfig::FEATURE_* constants
     * @return bool
     * @since PECL event >= 1.2.6-beta
     **/
    public function requireFeatures($feature){}

    /**
     * Prevents priority inversion
     *
     * Prevents priority inversion by limiting how many low-priority event
     * callbacks can be invoked before checking for more high-priority
     * events.
     *
     * @param int $max_interval An interval after which Libevent should
     *   stop running callbacks and check for more events, or 0 , if there
     *   should be no such interval.
     * @param int $max_callbacks A number of callbacks after which Libevent
     *   should stop running callbacks and check for more events, or -1 , if
     *   there should be no such limit.
     * @param int $min_priority A priority below which {@link max_interval}
     *   and {@link max_callbacks} should not be enforced. If this is set to
     *   0 , they are enforced for events of every priority; if its set to 1
     *   , theyre enforced for events of priority 1 and above, and so on.
     * @return void Returns TRUE on success, otherwise FALSE.
     **/
    public function setMaxDispatchInterval($max_interval, $max_callbacks, $min_priority){}

    /**
     * Constructs EventConfig object
     *
     * Constructs EventConfig object which could be passed to
     * EventBase::__construct constructor.
     *
     * @since PECL event >= 1.2.6-beta
     **/
    public function __construct(){}

}
/**
 * Represents Libevents DNS base structure. Used to resolve DNS
 * asyncronously, parse configuration files like resolv.conf etc.
 **/
final class EventDnsBase {
    /**
     * @var integer
     **/
    const OPTIONS_ALL = 0;

    /**
     * @var integer
     **/
    const OPTION_HOSTSFILE = 0;

    /**
     * @var integer
     **/
    const OPTION_MISC = 0;

    /**
     * @var integer
     **/
    const OPTION_NAMESERVERS = 0;

    /**
     * @var integer
     **/
    const OPTION_SEARCH = 0;

    /**
     * Adds a nameserver to the DNS base
     *
     * Adds a nameserver to the evdns_base.
     *
     * @param string $ip The nameserver string, either as an IPv4 address,
     *   an IPv6 address, an IPv4 address with a port ( IPv4:Port ), or an
     *   IPv6 address with a port ( [IPv6]:Port ).
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function addNameserverIp($ip){}

    /**
     * Adds a domain to the list of search domains
     *
     * @param string $domain Search domain.
     * @return void
     * @since PECL event >= 1.2.6-beta
     **/
    public function addSearch($domain){}

    /**
     * Removes all current search suffixes
     *
     * Removes all current search suffixes from the DNS base; the
     * EventDnsBase::addSearch function adds a suffix.
     *
     * @return void
     * @since PECL event >= 1.2.6-beta
     **/
    public function clearSearch(){}

    /**
     * Gets the number of configured nameservers
     *
     * @return int Returns the number of configured nameservers(not
     *   necessarily the number of running nameservers). This is useful for
     *   double-checking whether our calls to the various nameserver
     *   configuration functions have been successful.
     * @since PECL event >= 1.2.6-beta
     **/
    public function countNameservers(){}

    /**
     * Loads a hosts file (in the same format as /etc/hosts) from hosts file
     *
     * Loads a hosts file (in the same format as /etc/hosts ) from hosts
     * file.
     *
     * @param string $hosts Path to the hosts' file.
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function loadHosts($hosts){}

    /**
     * Scans the resolv.conf-formatted file
     *
     * Scans the resolv.conf-formatted file stored in filename, and read in
     * all the options from it that are listed in flags
     *
     * @param int $flags Determines what information is parsed from the
     *   resolv.conf file. See the man page for resolv.conf for the format of
     *   this file. The following directives are not parsed from the file:
     *   sortlist, rotate, no-check-names, inet6, debug . If this function
     *   encounters an error, the possible return values are: 1 = failed to
     *   open file 2 = failed to stat file 3 = file too large 4 = out of
     *   memory 5 = short read from file 6 = no nameservers listed in the
     *   file
     * @param string $filename Path to resolv.conf file.
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function parseResolvConf($flags, $filename){}

    /**
     * Set the value of a configuration option
     *
     * @param string $option The currently available configuration options
     *   are: "ndots" , "timeout" , "max-timeouts" , "max-inflight" , and
     *   "attempts" .
     * @param string $value Option value.
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function setOption($option, $value){}

    /**
     * Set the 'ndots' parameter for searches
     *
     * Set the 'ndots' parameter for searches. Sets the number of dots which,
     * when found in a name, causes the first query to be without any search
     * domain.
     *
     * @param int $ndots The number of dots.
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function setSearchNdots($ndots){}

    /**
     * Constructs EventDnsBase object
     *
     * @param EventBase $base Event base.
     * @param bool $initialize If the {@link initialize} argument is TRUE,
     *   it tries to configure the DNS base sensibly given your operating
     *   system’s default. Otherwise, it leaves the event DNS base empty,
     *   with no nameservers or options configured. In the latter case DNS
     *   base should be configured manually, e.g. with
     *   EventDnsBase::parseResolvConf .
     * @since PECL event >= 1.2.6-beta
     **/
    public function __construct($base, $initialize){}

}
/**
 * Represents HTTP server.
 **/
final class EventHttp {
    /**
     * Makes an HTTP server accept connections on the specified socket stream
     * or resource
     *
     * Makes an HTTP server accept connections on the specified socket stream
     * or resource. The socket should be ready to accept connections.
     *
     * Can be called multiple times to accept connections on different
     * sockets.
     *
     * @param mixed $socket Socket resource, stream or numeric file
     *   descriptor representing a socket ready to accept connections.
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function accept($socket){}

    /**
     * Adds a server alias to the HTTP server object
     *
     * @param string $alias The alias to add.
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.4.0-beta
     **/
    public function addServerAlias($alias){}

    /**
     * Binds an HTTP server on the specified address and port
     *
     * Can be called multiple times to bind the same HTTP server to multiple
     * different ports.
     *
     * @param string $address A string containing the IP address to
     *   listen(2) on.
     * @param int $port The port number to listen on.
     * @return void Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function bind($address, $port){}

    /**
     * Removes server alias
     *
     * Removes server alias added with EventHttp::addServerAlias
     *
     * @param string $alias The alias to remove.
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.4.0-beta
     **/
    public function removeServerAlias($alias){}

    /**
     * Sets the what HTTP methods are supported in requests accepted by this
     * server, and passed to user callbacks
     *
     * Sets the what HTTP methods are supported in requests accepted by this
     * server, and passed to user callbacks
     *
     * If not supported they will generate a "405 Method not allowed"
     * response.
     *
     * By default this includes the following methods: GET , POST , HEAD ,
     * PUT , DELETE . See EventHttpRequest::CMD_* constants.
     *
     * @param int $methods A bit mask of EventHttpRequest::CMD_* constants
     *   .
     * @return void
     * @since PECL event >= 1.4.0-beta
     **/
    public function setAllowedMethods($methods){}

    /**
     * Sets a callback for specified URI
     *
     * @param string $path The path for which to invoke the callback.
     * @param string $cb The callback callable that gets invoked on
     *   requested {@link path} . It should match the following prototype:
     *   
     *   {@link req} EventHttpRequest object. {@link arg} Custom data.
     * @param string $arg EventHttpRequest object.
     * @return void Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.4.0-beta
     **/
    public function setCallback($path, $cb, $arg){}

    /**
     * Sets default callback to handle requests that are not caught by
     * specific callbacks
     *
     * Sets default callback to handle requests that are not caught by
     * specific callbacks
     *
     * @param string $cb The callback callable . It should match the
     *   following prototype:
     *   
     *   {@link req} EventHttpRequest object. {@link arg} Custom data.
     * @param string $arg EventHttpRequest object.
     * @return void Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.4.0-beta
     **/
    public function setDefaultCallback($cb, $arg){}

    /**
     * Sets maximum request body size
     *
     * @param int $value The body size in bytes.
     * @return void
     * @since PECL event >= 1.4.0-beta
     **/
    public function setMaxBodySize($value){}

    /**
     * Sets maximum HTTP header size
     *
     * @param int $value The header size in bytes.
     * @return void
     * @since PECL event >= 1.4.0-beta
     **/
    public function setMaxHeadersSize($value){}

    /**
     * Sets the timeout for an HTTP request
     *
     * @param int $value The timeout in seconds.
     * @return void
     * @since PECL event >= 1.4.0-beta
     **/
    public function setTimeout($value){}

    /**
     * Constructs EventHttp object(the HTTP server)
     *
     * Constructs the HTTP server object.
     *
     * @param EventBase $base Associated event base.
     * @param EventSslContext $ctx EventSslContext class object. Turns
     *   plain HTTP server into HTTPS server. It means that if {@link ctx} is
     *   configured correctly, then the underlying buffer events will be
     *   based on OpenSSL sockets. Thus, all traffic will pass through the
     *   SSL or TLS.
     * @since PECL event >= 1.2.6-beta
     **/
    public function __construct($base, $ctx){}

}
/**
 * Represents an HTTP connection.
 **/
class EventHttpConnection {
    /**
     * Returns event base associated with the connection
     *
     * @return EventBase On success returns EventBase object associated
     *   with the connection. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function getBase(){}

    /**
     * Gets the remote address and port associated with the connection
     *
     * @param string $address Address of the peer.
     * @param int $port Port of the peer.
     * @return void
     * @since PECL event >= 1.2.6-beta
     **/
    public function getPeer(&$address, &$port){}

    /**
     * Makes an HTTP request over the specified connection
     *
     * Makes an HTTP request over the specified connection. {@link type} is
     * one of EventHttpRequest::CMD_* constants.
     *
     * @param EventHttpRequest $req The connection object over which to
     *   send the request.
     * @param int $type One of EventHttpRequest::CMD_* constants .
     * @param string $uri The URI associated with the request.
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.4.0-beta
     **/
    public function makeRequest($req, $type, $uri){}

    /**
     * Set callback for connection close
     *
     * Sets callback for connection close.
     *
     * @param callable $callback Callback which is called when connection
     *   is closed. Should match the following prototype:
     * @param mixed $data
     * @return void
     * @since PECL event >= 1.8.0
     **/
    public function setCloseCallback($callback, $data){}

    /**
     * Sets the IP address from which HTTP connections are made
     *
     * Sets the IP address from which http connections are made.
     *
     * @param string $address The IP address from which HTTP connections
     *   are made.
     * @return void
     * @since PECL event >= 1.2.6-beta
     **/
    public function setLocalAddress($address){}

    /**
     * Sets the local port from which connections are made
     *
     * @param int $port The port number.
     * @return void
     * @since PECL event >= 1.2.6-beta
     **/
    public function setLocalPort($port){}

    /**
     * Sets maximum body size for the connection
     *
     * @param string $max_size The maximum body size in bytes.
     * @return void
     * @since PECL event >= 1.2.6-beta
     **/
    public function setMaxBodySize($max_size){}

    /**
     * Sets maximum header size
     *
     * Sets maximum header size for the connection.
     *
     * @param string $max_size The maximum header size in bytes.
     * @return void
     * @since PECL event >= 1.2.6-beta
     **/
    public function setMaxHeadersSize($max_size){}

    /**
     * Sets the retry limit for the connection
     *
     * @param int $retries The retry limit. -1 means infinity.
     * @return void
     * @since PECL event >= 1.2.6-beta
     **/
    public function setRetries($retries){}

    /**
     * Sets the timeout for the connection
     *
     * @param int $timeout Timeout in seconds.
     * @return void
     * @since PECL event >= 1.2.6-beta
     **/
    public function setTimeout($timeout){}

    /**
     * Constructs EventHttpConnection object
     *
     * @param EventBase $base Associated event base.
     * @param EventDnsBase $dns_base If {@link dns_base} is NULL, hostname
     *   resolution will block.
     * @param string $address The address to connect to.
     * @param int $port The port to connect to.
     * @param EventSslContext $ctx EventSslContext class object. Enables
     *   OpenSSL.
     * @since PECL event >= 1.2.6-beta
     **/
    public function __construct($base, $dns_base, $address, $port, $ctx){}

}
/**
 * Represents an HTTP request.
 **/
class EventHttpRequest {
    /**
     * @var integer
     **/
    const CMD_CONNECT = 0;

    /**
     * @var integer
     **/
    const CMD_DELETE = 0;

    /**
     * @var integer
     **/
    const CMD_GET = 0;

    /**
     * @var integer
     **/
    const CMD_HEAD = 0;

    /**
     * @var integer
     **/
    const CMD_OPTIONS = 0;

    /**
     * @var integer
     **/
    const CMD_PATCH = 0;

    /**
     * @var integer
     **/
    const CMD_POST = 0;

    /**
     * @var integer
     **/
    const CMD_PUT = 0;

    /**
     * @var integer
     **/
    const CMD_TRACE = 0;

    /**
     * @var integer
     **/
    const INPUT_HEADER = 0;

    /**
     * @var integer
     **/
    const OUTPUT_HEADER = 0;

    /**
     * Adds an HTTP header to the headers of the request
     *
     * @param string $key Header name.
     * @param string $value Header value.
     * @param int $type One of EventHttpRequest::*_HEADER constants .
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.4.0-beta
     **/
    public function addHeader($key, $value, $type){}

    /**
     * Cancels a pending HTTP request
     *
     * Cancels an ongoing HTTP request. The callback associated with this
     * request is not executed and the request object is freed. If the
     * request is currently being processed, e.g. it is ongoing, the
     * corresponding EventHttpConnection object is going to get reset.
     *
     * A request cannot be canceled if its callback has executed already. A
     * request may be canceled reentrantly from its chunked callback.
     *
     * @return void
     * @since PECL event >= 1.4.0-beta
     **/
    public function cancel(){}

    /**
     * Removes all output headers from the header list of the request
     *
     * @return void
     * @since PECL event >= 1.4.0-beta
     **/
    public function clearHeaders(){}

    /**
     * Returns EventBufferEvent object
     *
     * Returns EventBufferEvent object which represents buffer event that the
     * connection is using.
     *
     * @return EventBufferEvent Returns EventBufferEvent object.
     * @since PECL event >= 1.8.0
     **/
    public function closeConnection(){}

    /**
     * Finds the value belonging a header
     *
     * @param string $key The header name.
     * @param string $type One of EventHttpRequest::*_HEADER constants .
     * @return void Returns NULL if header not found.
     * @since PECL event >= 1.4.0-beta
     **/
    public function findHeader($key, $type){}

    /**
     * Frees the object and removes associated events
     *
     * @return void
     * @since PECL event >= 1.4.0-beta
     **/
    public function free(){}

    /**
     * Returns the request command(method)
     *
     * Returns the request command, one of EventHttpRequest::CMD_* constants.
     *
     * @return void Returns the request command, one of
     *   EventHttpRequest::CMD_* constants.
     * @since PECL event >= 1.4.0-beta
     **/
    public function getCommand(){}

    /**
     * Returns the request host
     *
     * @return string Returns the request host.
     * @since PECL event >= 1.4.0-beta
     **/
    public function getHost(){}

    /**
     * Returns the input buffer
     *
     * @return EventBuffer Returns the input buffer.
     * @since PECL event >= 1.4.0-beta
     **/
    public function getInputBuffer(){}

    /**
     * Returns associative array of the input headers
     *
     * @return array Returns associative array of the input headers.
     * @since PECL event >= 1.4.0-beta
     **/
    public function getInputHeaders(){}

    /**
     * Returns the output buffer of the request
     *
     * @return EventBuffer Returns the output buffer of the request.
     * @since PECL event >= 1.4.0-beta
     **/
    public function getOutputBuffer(){}

    /**
     * Returns associative array of the output headers
     *
     * @return void
     * @since PECL event >= 1.4.0-beta
     **/
    public function getOutputHeaders(){}

    /**
     * Returns the response code
     *
     * @return int Returns the response code of the request.
     * @since PECL event >= 1.4.0-beta
     **/
    public function getResponseCode(){}

    /**
     * Returns the request URI
     *
     * @return string Returns the request URI
     * @since PECL event >= 1.4.0-beta
     **/
    public function getUri(){}

    /**
     * Removes an HTTP header from the headers of the request
     *
     * @param string $key The header name.
     * @param string $type {@link type} is one of
     *   EventHttpRequest::*_HEADER constants.
     * @return void Removes an HTTP header from the headers of the request.
     * @since PECL event >= 1.4.0-beta
     **/
    public function removeHeader($key, $type){}

    /**
     * Send an HTML error message to the client
     *
     * @param int $error The HTTP error code.
     * @param string $reason A brief explanation ofthe error. If NULL, the
     *   standard meaning of the error code will be used.
     * @return void
     * @since PECL event >= 1.4.0-beta
     **/
    public function sendError($error, $reason){}

    /**
     * Send an HTML reply to the client
     *
     * Send an HTML reply to the client. The body of the reply consists of
     * data in optional {@link buf} parameter.
     *
     * @param int $code The HTTP response code to send.
     * @param string $reason A brief message to send with the response
     *   code.
     * @param EventBuffer $buf The body of the response.
     * @return void
     * @since PECL event >= 1.4.0-beta
     **/
    public function sendReply($code, $reason, $buf){}

    /**
     * Send another data chunk as part of an ongoing chunked reply
     *
     * Send another data chunk as part of an ongoing chunked reply. After
     * calling this method {@link buf} will be empty.
     *
     * @param EventBuffer $buf The data chunk to send as part of the reply.
     * @return void
     * @since PECL event >= 1.4.0-beta
     **/
    public function sendReplyChunk($buf){}

    /**
     * Complete a chunked reply, freeing the request as appropriate
     *
     * @return void
     * @since PECL event >= 1.4.0-beta
     **/
    public function sendReplyEnd(){}

    /**
     * Initiate a chunked reply
     *
     * Initiate a reply that uses Transfer-Encoding chunked .
     *
     * This allows the caller to stream the reply back to the client and is
     * useful when either not all of the reply data is immediately available
     * or when sending very large replies.
     *
     * The caller needs to supply data chunks with
     * EventHttpRequest::sendReplyChunk and complete the reply by calling
     * EventHttpRequest::sendReplyEnd .
     *
     * @param int $code The HTTP response code to send.
     * @param string $reason A brief message to send with the response
     *   code.
     * @return void
     * @since PECL event >= 1.4.0-beta
     **/
    public function sendReplyStart($code, $reason){}

    /**
     * Constructs EventHttpRequest object
     *
     * @param callable $callback Gets invoked on requesting path. Should
     *   match the following prototype:
     * @param mixed $data User custom data passed to the callback.
     * @since PECL event >= 1.4.0-beta
     **/
    public function __construct($callback, $data){}

}
/**
 * Represents a connection listener.
 **/
final class EventListener {
    /**
     * @var integer
     **/
    const OPT_CLOSE_ON_EXEC = 0;

    /**
     * @var integer
     **/
    const OPT_CLOSE_ON_FREE = 0;

    /**
     * @var integer
     **/
    const OPT_LEAVE_SOCKETS_BLOCKING = 0;

    /**
     * @var integer
     **/
    const OPT_REUSEABLE = 0;

    /**
     * @var integer
     **/
    const OPT_THREADSAFE = 0;

    /**
     * Numeric file descriptor of the underlying socket. (Added in
     * event-1.6.0 .)
     *
     * @var int
     **/
    public $fd;

    /**
     * Disables an event connect listener object
     *
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function disable(){}

    /**
     * Enables an event connect listener object
     *
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.2.6-beta
     **/
    public function enable(){}

    /**
     * Returns event base associated with the event listener
     *
     * @return void Returns event base associated with the event listener.
     * @since PECL event >= 1.2.6-beta
     **/
    public function getBase(){}

    /**
     * Retreives the current address to which the listeners socket is bound
     *
     * Retreives the current address to which the listeners socket is bound.
     *
     * @param string $address Output parameter. IP-address depending on the
     *   socket address family.
     * @param mixed $port Output parameter. The port the socket is bound
     *   to.
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.5.0
     **/
    public static function getSocketName(&$address, &$port){}

    /**
     * The setCallback purpose
     *
     * Adjust event connect listeners callback and optionally the callback
     * argument.
     *
     * @param callable $cb The new callback for new connections. Ignored if
     *   NULL. Should match the following prototype:
     *   
     *   {@link listener} The EventListener object. {@link fd} The file
     *   descriptor or a resource associated with the listener. {@link
     *   address} Array of two elements: IP address and the server port.
     *   {@link arg} User custom data attached to the callback.
     * @param mixed $arg The EventListener object.
     * @return void
     * @since PECL event >= 1.2.6-beta
     **/
    public function setCallback($cb, $arg){}

    /**
     * Set event listener's error callback
     *
     * @param string $cb The error callback. Should match the following
     *   prototype:
     *   
     *   {@link listener} The EventListener object. {@link data} User custom
     *   data attached to the callback.
     * @return void
     * @since PECL event >= 1.2.6-beta
     **/
    public function setErrorCallback($cb){}

    /**
     * Creates new connection listener associated with an event base
     *
     * @param EventBase $base Associated event base.
     * @param callable $cb A callable that will be invoked when new
     *   connection received.
     * @param mixed $data Custom user data attached to {@link cb} .
     * @param int $flags Bit mask of EventListener::OPT_* constants. See
     *   EventListener constants .
     * @param int $backlog Controls the maximum number of pending
     *   connections that the network stack should allow to wait in a
     *   not-yet-accepted state at any time; see documentation for your
     *   system’s listen function for more details. If {@link backlog} is
     *   negative, Libevent tries to pick a good value for the {@link
     *   backlog} ; if it is zero, Event assumes that listen is already
     *   called on the socket( {@link target} )
     * @param mixed $target May be string, socket resource, or a stream
     *   associated with a socket. In case if {@link target} is a string, the
     *   string will be parsed as network address. It will be interpreted as
     *   a UNIX domain socket path, if prefixed with 'unix:' , e.g.
     *   'unix:/tmp/my.sock' .
     * @since PECL event >= 1.2.6-beta
     **/
    public function __construct($base, $cb, $data, $flags, $backlog, $target){}

}
/**
 * Represents SSL_CTX structure. Provides methods and properties to
 * configure the SSL context.
 **/
final class EventSslContext {
    /**
     * @var integer
     **/
    const OPT_ALLOW_SELF_SIGNED = 0;

    /**
     * @var integer
     **/
    const OPT_CA_FILE = 0;

    /**
     * @var integer
     **/
    const OPT_CA_PATH = 0;

    /**
     * @var integer
     **/
    const OPT_CIPHERS = 0;

    /**
     * @var integer
     **/
    const OPT_LOCAL_CERT = 0;

    /**
     * @var integer
     **/
    const OPT_LOCAL_PK = 0;

    /**
     * @var integer
     **/
    const OPT_PASSPHRASE = 0;

    /**
     * @var integer
     **/
    const OPT_VERIFY_DEPTH = 0;

    /**
     * @var integer
     **/
    const OPT_VERIFY_PEER = 0;

    /**
     * @var integer
     **/
    const SSLv2_CLIENT_METHOD = 0;

    /**
     * @var integer
     **/
    const SSLv2_SERVER_METHOD = 0;

    /**
     * @var integer
     **/
    const SSLv3_CLIENT_METHOD = 0;

    /**
     * @var integer
     **/
    const SSLv3_SERVER_METHOD = 0;

    /**
     * @var integer
     **/
    const SSLv23_CLIENT_METHOD = 0;

    /**
     * @var integer
     **/
    const SSLv23_SERVER_METHOD = 0;

    /**
     * @var integer
     **/
    const TLS_CLIENT_METHOD = 0;

    /**
     * @var integer
     **/
    const TLS_SERVER_METHOD = 0;

    /**
     * @var string
     **/
    public $local_cert;

    /**
     * @var string
     **/
    public $local_pk;

    /**
     * Constructs an OpenSSL context for use with Event classes
     *
     * Creates SSL context holding pointer to SSL_CTX (see the system
     * manual).
     *
     * @param string $method One of EventSslContext::*_METHOD constants .
     * @param string $options Associative array of SSL context options One
     *   of EventSslContext::OPT_* constants .
     * @since PECL event >= 1.2.6-beta
     **/
    public function __construct($method, $options){}

}
/**
 * EventUtil is a singleton with supplimentary methods and constants.
 **/
final class EventUtil {
    /**
     * @var integer
     **/
    const AF_INET = 0;

    /**
     * @var integer
     **/
    const AF_INET6 = 0;

    /**
     * @var integer
     **/
    const AF_UNSPEC = 0;

    /**
     * @var integer
     **/
    const IPPROTO_IP = 0;

    /**
     * @var integer
     **/
    const IPPROTO_IPV6 = 0;

    /**
     * @var integer
     **/
    const LIBEVENT_VERSION_NUMBER = 0;

    /**
     * @var integer
     **/
    const SOL_SOCKET = 0;

    /**
     * @var integer
     **/
    const SOL_TCP = 0;

    /**
     * @var integer
     **/
    const SOL_UDP = 0;

    /**
     * @var integer
     **/
    const SO_BROADCAST = 0;

    /**
     * @var integer
     **/
    const SO_DEBUG = 0;

    /**
     * @var integer
     **/
    const SO_DONTROUTE = 0;

    /**
     * @var integer
     **/
    const SO_ERROR = 0;

    /**
     * @var integer
     **/
    const SO_KEEPALIVE = 0;

    /**
     * @var integer
     **/
    const SO_LINGER = 0;

    /**
     * @var integer
     **/
    const SO_OOBINLINE = 0;

    /**
     * @var integer
     **/
    const SO_RCVBUF = 0;

    /**
     * @var integer
     **/
    const SO_RCVLOWAT = 0;

    /**
     * @var integer
     **/
    const SO_RCVTIMEO = 0;

    /**
     * @var integer
     **/
    const SO_REUSEADDR = 0;

    /**
     * @var integer
     **/
    const SO_SNDBUF = 0;

    /**
     * @var integer
     **/
    const SO_SNDLOWAT = 0;

    /**
     * @var integer
     **/
    const SO_SNDTIMEO = 0;

    /**
     * @var integer
     **/
    const SO_TYPE = 0;

    /**
     * Returns the most recent socket error number
     *
     * Returns the most recent socket error number( errno ).
     *
     * @param mixed $socket Socket resource, stream or a file descriptor of
     *   a socket.
     * @return int Returns the most recent socket error number( errno ).
     * @since PECL event >= 1.2.6-beta
     **/
    public static function getLastSocketErrno($socket){}

    /**
     * Returns the most recent socket error
     *
     * @param mixed $socket Socket resource, stream or a file descriptor of
     *   a socket.
     * @return string Returns the most recent socket error.
     * @since PECL event >= 1.2.6-beta
     **/
    public static function getLastSocketError($socket){}

    /**
     * Returns numeric file descriptor of a socket, or stream
     *
     * Returns numeric file descriptor of a socket or stream specified by
     * {@link socket} argument just like the Event extension does it
     * internally for all methods accepting socket resource or stream.
     *
     * @param mixed $socket Socket resource or stream.
     * @return int Returns numeric file descriptor of a socket, or stream.
     *   EventUtil::getSocketFd returns FALSE in case if it is whether failed
     *   to recognize the type of the underlying file, or detected that the
     *   file descriptor associated with {@link socket} is not valid.
     * @since PECL event >= 1.7.0
     **/
    public static function getSocketFd($socket){}

    /**
     * Retreives the current address to which the socket is bound
     *
     * Retreives the current address to which the {@link socket} is bound.
     *
     * @param mixed $socket Socket resource, stream or a file descriptor of
     *   a socket.
     * @param string $address Output parameter. IP-address, or the UNIX
     *   domain socket path depending on the socket address family.
     * @param mixed $port Output parameter. The port the socket is bound
     *   to. Has no meaning for UNIX domain sockets.
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.5.0
     **/
    public static function getSocketName($socket, &$address, &$port){}

    /**
     * Sets socket options
     *
     * @param mixed $socket Socket resource, stream, or numeric file
     *   descriptor associated with the socket.
     * @param int $level One of EventUtil::SOL_* constants. Specifies the
     *   protocol level at which the option resides. For example, to retrieve
     *   options at the socket level, a {@link level} parameter of
     *   EventUtil::SOL_SOCKET would be used. Other levels, such as TCP, can
     *   be used by specifying the protocol number of that level. Protocol
     *   numbers can be found by using the {@link getprotobyname} function.
     *   See EventUtil constants .
     * @param int $optname Option name(type). Has the same meaning as
     *   corresponding parameter of {@link socket_get_option} function. See
     *   EventUtil constants .
     * @param mixed $optval Accepts the same values as {@link optval}
     *   parameter of the {@link socket_get_option} function.
     * @return bool Returns TRUE on success. Otherwise FALSE.
     * @since PECL event >= 1.6.0
     **/
    public static function setSocketOption($socket, $level, $optname, $optval){}

    /**
     * Generates entropy by means of OpenSSL's RAND_poll()
     *
     * Generates entropy by means of OpenSSL's RAND_poll() (see the system
     * manual).
     *
     * @return void
     * @since PECL event >= 1.2.6-beta
     **/
    public static function sslRandPoll(){}

    /**
     * The abstract constructor
     *
     * EventUtil is a singleton. Therefore the constructor is abstract, and
     * it is impossible to create objects based on this class.
     *
     * @since PECL event >= 1.2.6-beta
     **/
    private function __construct(){}

}
/**
 * Fork watchers are called when a fork() was detected (usually because
 * whoever signalled libev about it by calling EvLoop::fork ). The
 * invocation is done before the event loop blocks next and before
 * EvCheck watchers are being called, and only in the child after the
 * fork. Note, that if whoever calling EvLoop::fork calls it in the wrong
 * process, the fork handlers will be invoked, too.
 **/
class EvFork extends EvWatcher {
    /**
     * Creates a stopped instance of EvFork watcher class
     *
     * The same as EvFork::__construct , but doesn't start the watcher
     * automatically.
     *
     * @param string $callback See Watcher callbacks .
     * @param string $data Custom data associated with the watcher.
     * @param string $priority Watcher priority
     * @return object Returns EvFork(stopped) object on success.
     * @since PECL ev >= 0.2.0
     **/
    final public static function createStopped($callback, $data, $priority){}

    /**
     * Constructs the EvFork watcher object
     *
     * Constructs the EvFork watcher object and starts the watcher
     * automatically.
     *
     * @param callable $callback See Watcher callbacks .
     * @param mixed $data Custom data associated with the watcher.
     * @param int $priority Watcher priority
     * @since PECL ev >= 0.2.0
     **/
    public function __construct($callback, $data, $priority){}

}
/**
 * EvIdle watchers trigger events when no other events of the same or
 * higher priority are pending ( EvPrepare , EvCheck and other EvIdle
 * watchers do not count as receiving events ). Thus, as long as the
 * process is busy handling sockets or timeouts(or even signals) of the
 * same or higher priority it will not be triggered. But when the process
 * is in idle(or only lower-priority watchers are pending), the EvIdle
 * watchers are being called once per event loop iteration - until
 * stopped, that is, or the process receives more events and becomes busy
 * again with higher priority stuff. Apart from keeping the process
 * non-blocking(which is a useful on its own sometimes), EvIdle watchers
 * are a good place to do "pseudo-background processing" , or delay
 * processing stuff to after the event loop has handled all outstanding
 * events. The most noticeable effect is that as long as any idle
 * watchers are active, the process will not block when waiting for new
 * events.
 **/
class EvIdle extends EvWatcher {
    /**
     * Creates instance of a stopped EvIdle watcher object
     *
     * The same as EvIdle::__construct , but doesn't start the watcher
     * automatically.
     *
     * @param string $callback See Watcher callbacks .
     * @param mixed $data Custom data associated with the watcher.
     * @param int $priority Watcher priority
     * @return object Returns EvIdle object on success.
     * @since PECL ev >= 0.2.0
     **/
    final public static function createStopped($callback, $data, $priority){}

    /**
     * Constructs the EvIdle watcher object
     *
     * Constructs the EvIdle watcher object and starts the watcher
     * automatically.
     *
     * @param callable $callback See Watcher callbacks .
     * @param mixed $data Custom data associated with the watcher.
     * @param int $priority Watcher priority
     * @since PECL ev >= 0.2.0
     **/
    public function __construct($callback, $data, $priority){}

}
/**
 * EvIo watchers check whether a file descriptor(or socket, or a stream
 * castable to numeric file descriptor) is readable or writable in each
 * iteration of the event loop, or, more precisely, when reading would
 * not block the process and writing would at least be able to write some
 * data. This behaviour is called level-triggering because events are
 * kept receiving as long as the condition persists. To stop receiving
 * events just stop the watcher. The number of read and/or write event
 * watchers per {@link fd} is unlimited. Setting all file descriptors to
 * non-blocking mode is also usually a good idea(but not required).
 * Another thing to watch out for is that it is quite easy to receive
 * false readiness notifications, i.e. the callback might be called with
 * Ev::READ but a subsequent read() will actually block because there is
 * no data. It is very easy to get into this situation. Thus it is best
 * to always use non-blocking I/O: An extra read() returning EAGAIN (or
 * similar) is far preferable to a program hanging until some data
 * arrives. If for some reason it is impossible to run the {@link fd} in
 * non-blocking mode, then separately re-test whether a file descriptor
 * is really ready. Some people additionally use SIGALRM and an interval
 * timer, just to be sure thry won't block infinitely. Always consider
 * using non-blocking mode.
 **/
class EvIo extends EvWatcher {
    /**
     * @var mixed
     **/
    public $events;

    /**
     * @var mixed
     **/
    public $fd;

    /**
     * Create stopped EvIo watcher object
     *
     * The same as EvIo::__construct , but doesn't start the watcher
     * automatically.
     *
     * @param mixed $fd The same as for EvIo::__construct
     * @param int $events The same as for EvIo::__construct
     * @param callable $callback See Watcher callbacks .
     * @param mixed $data Custom data associated with the watcher.
     * @param int $priority Watcher priority
     * @return EvIo Returns EvIo object on success.
     * @since PECL ev >= 0.2.0
     **/
    final public static function createStopped($fd, $events, $callback, $data, $priority){}

    /**
     * Configures the watcher
     *
     * Configures the EvIo watcher
     *
     * @param mixed $fd The same as for EvIo::__construct
     * @param int $events The same as for EvIo::__construct
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    public function set($fd, $events){}

    /**
     * Constructs EvIo watcher object
     *
     * Constructs EvIo watcher object and starts the watcher automatically.
     *
     * @param mixed $fd Can be a stream opened with {@link fopen} or
     *   similar functions, numeric file descriptor, or socket.
     * @param int $events Ev::READ and/or Ev::WRITE . See the bit masks .
     * @param callable $callback See Watcher callbacks .
     * @param mixed $data Custom data associated with the watcher.
     * @param int $priority Watcher priority
     * @since PECL ev >= 0.2.0
     **/
    public function __construct($fd, $events, $callback, $data, $priority){}

}
/**
 * Represents an event loop that is always distinct from the default loop
 * . Unlike the default loop , it cannot handle EvChild watchers. Having
 * threads we have to create a loop per thread, and use the default loop
 * in the parent thread. The default event loop is initialized
 * automatically by Ev . It is accessible via methods of the Ev class, or
 * via EvLoop::defaultLoop method.
 **/
final class EvLoop {
    /**
     * Readonly . The backend flags indicating the event backend in use.
     *
     * @var mixed
     **/
    public $backend;

    /**
     * Custom data attached to loop
     *
     * @var mixed
     **/
    public $data;

    /**
     * The recursion depth. See Ev::depth .
     *
     * @var mixed
     **/
    public $depth;

    /**
     * @var mixed
     **/
    public $io_interval;

    /**
     * @var mixed
     **/
    public $is_default_loop;

    /**
     * The current iteration count of the loop. See Ev::iteration
     *
     * @var mixed
     **/
    public $iteration;

    /**
     * The number of pending watchers. 0 indicates that there are no watchers
     * pending.
     *
     * @var mixed
     **/
    public $pending;

    /**
     * @var mixed
     **/
    public $timeout_interval;

    /**
     * Returns an integer describing the backend used by libev
     *
     * The same as Ev::backend , but for the loop instance.
     *
     * @return int Returns an integer describing the backend used by libev.
     *   See Ev::backend .
     * @since PECL ev >= 0.2.0
     **/
    public function backend(){}

    /**
     * Creates EvCheck object associated with the current event loop instance
     *
     * Creates EvCheck object associated with the current event loop
     * instance.
     *
     * @param string $callback
     * @param string $data
     * @param string $priority
     * @return EvCheck Returns EvCheck object on success.
     * @since PECL ev >= 0.2.0
     **/
    final public function check($callback, $data, $priority){}

    /**
     * Creates EvChild object associated with the current event loop
     *
     * @param string $pid
     * @param string $trace
     * @param string $callback
     * @param string $data
     * @param string $priority
     * @return EvChild Returns EvChild object on success.
     * @since PECL ev >= 0.2.0
     **/
    final public function child($pid, $trace, $callback, $data, $priority){}

    /**
     * Returns or creates the default event loop
     *
     * If the default event loop is not created, EvLoop::defaultLoop creates
     * it with the specified parameters. Otherwise, it just returns the
     * object representing previously created instance ignoring all the
     * parameters.
     *
     * @param int $flags One of the event loop flags
     * @param mixed $data Custom data to associate with the loop.
     * @param float $io_interval See io_interval
     * @param float $timeout_interval See timeout_interval
     * @return EvLoop Returns EvLoop object on success.
     * @since PECL ev >= 0.2.0
     **/
    public static function defaultLoop($flags, $data, $io_interval, $timeout_interval){}

    /**
     * Creates an instance of EvEmbed watcher associated with the current
     * EvLoop object
     *
     * Creates an instance of EvEmbed watcher associated with the current
     * EvLoop object.
     *
     * @param string $other
     * @param string $callback
     * @param string $data
     * @param string $priority
     * @return EvEmbed Returns EvEmbed object on success.
     * @since PECL ev >= 0.2.0
     **/
    final public function embed($other, $callback, $data, $priority){}

    /**
     * Creates EvFork watcher object associated with the current event loop
     * instance
     *
     * Creates EvFork watcher object associated with the current event loop
     * instance
     *
     * @param callable $callback
     * @param mixed $data
     * @param int $priority
     * @return EvFork Returns EvFork object on success.
     * @since PECL ev >= 0.2.0
     **/
    final public function fork($callback, $data, $priority){}

    /**
     * Creates EvIdle watcher object associated with the current event loop
     * instance
     *
     * Creates EvIdle watcher object associated with the current event loop
     * instance
     *
     * @param callable $callback
     * @param mixed $data
     * @param int $priority
     * @return EvIdle Returns EvIdle object on success.
     * @since PECL ev >= 0.2.0
     **/
    final public function idle($callback, $data, $priority){}

    /**
     * Invoke all pending watchers while resetting their pending state
     *
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    public function invokePending(){}

    /**
     * Create EvIo watcher object associated with the current event loop
     * instance
     *
     * Create EvIo watcher object associated with the current event loop
     * instance.
     *
     * @param mixed $fd
     * @param int $events
     * @param callable $callback
     * @param mixed $data
     * @param int $priority
     * @return EvIo Returns EvIo object on success.
     * @since PECL ev >= 0.2.0
     **/
    final public function io($fd, $events, $callback, $data, $priority){}

    /**
     * Must be called after a fork
     *
     * Must be called after a fork in the child, before entering or
     * continuing the event loop. An alternative is to use Ev::FLAG_FORKCHECK
     * which calls this function automatically, at some performance loss
     * (refer to the libev documentation ).
     *
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    public function loopFork(){}

    /**
     * Returns the current "event loop time"
     *
     * Returns the current "event loop time", which is the time the event
     * loop received events and started processing them. This timestamp does
     * not change as long as callbacks are being processed, and this is also
     * the base time used for relative timers. You can treat it as the
     * timestamp of the event occurring(or more correctly, libev finding out
     * about it).
     *
     * @return float Returns time of the event loop in (fractional)
     *   seconds.
     * @since PECL ev >= 0.2.0
     **/
    public function now(){}

    /**
     * Establishes the current time by querying the kernel, updating the time
     * returned by EvLoop::now in the progress
     *
     * Establishes the current time by querying the kernel, updating the time
     * returned by EvLoop::now in the progress. This is a costly operation
     * and is usually done automatically within EvLoop::run .
     *
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    public function nowUpdate(){}

    /**
     * Creates EvPeriodic watcher object associated with the current event
     * loop instance
     *
     * Creates EvPeriodic watcher object associated with the current event
     * loop instance
     *
     * @param float $offset
     * @param float $interval
     * @param callable $callback
     * @param mixed $data
     * @param int $priority
     * @return EvPeriodic Returns EvPeriodic object on success.
     * @since PECL ev >= 0.2.0
     **/
    final public function periodic($offset, $interval, $callback, $data, $priority){}

    /**
     * Creates EvPrepare watcher object associated with the current event
     * loop instance
     *
     * Creates EvPrepare watcher object associated with the current event
     * loop instance
     *
     * @param callable $callback
     * @param mixed $data
     * @param int $priority
     * @return EvPrepare Returns EvPrepare object on success
     * @since PECL ev >= 0.2.0
     **/
    final public function prepare($callback, $data, $priority){}

    /**
     * Resume previously suspended default event loop
     *
     * EvLoop::suspend and EvLoop::resume methods suspend and resume a loop
     * correspondingly.
     *
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    public function resume(){}

    /**
     * Begin checking for events and calling callbacks for the loop
     *
     * Begin checking for events and calling callbacks for the current event
     * loop. Returns when a callback calls Ev::stop method, or the flags are
     * nonzero(in which case the return value is true) or when there are no
     * active watchers which reference the loop( EvWatcher::keepalive is
     * TRUE), in which case the return value will be FALSE. The return value
     * can generally be interpreted as if TRUE, there is more work left to do
     * .
     *
     * @param int $flags Optional parameter {@link flags} can be one of the
     *   following: List for possible values of {@link flags} {@link flags}
     *   Description 0 The default behavior described above Ev::RUN_ONCE
     *   Block at most one(wait, but don't loop) Ev::RUN_NOWAIT Don't block
     *   at all(fetch/handle events, but don't wait) See the run flag
     *   constants .
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    public function run($flags){}

    /**
     * Creates EvSignal watcher object associated with the current event loop
     * instance
     *
     * Creates EvSignal watcher object associated with the current event loop
     * instance
     *
     * @param int $signum
     * @param callable $callback
     * @param mixed $data
     * @param int $priority
     * @return EvSignal Returns EvSignal object on success
     * @since PECL ev >= 0.2.0
     **/
    final public function signal($signum, $callback, $data, $priority){}

    /**
     * Creates EvStat watcher object associated with the current event loop
     * instance
     *
     * Creates EvStat watcher object associated with the current event loop
     * instance
     *
     * @param string $path
     * @param float $interval
     * @param callable $callback
     * @param mixed $data
     * @param int $priority
     * @return EvStat Returns EvStat object on success
     * @since PECL ev >= 0.2.0
     **/
    final public function stat($path, $interval, $callback, $data, $priority){}

    /**
     * Stops the event loop
     *
     * @param int $how One of Ev::BREAK_* constants .
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    public function stop($how){}

    /**
     * Suspend the loop
     *
     * EvLoop::suspend and EvLoop::resume methods suspend and resume a loop
     * correspondingly.
     *
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    public function suspend(){}

    /**
     * Creates EvTimer watcher object associated with the current event loop
     * instance
     *
     * Creates EvTimer watcher object associated with the current event loop
     * instance
     *
     * @param float $after
     * @param float $repeat
     * @param callable $callback
     * @param mixed $data
     * @param int $priority
     * @return EvTimer Returns EvTimer object on success
     * @since PECL ev >= 0.2.0
     **/
    final public function timer($after, $repeat, $callback, $data, $priority){}

    /**
     * Performs internal consistency checks(for debugging)
     *
     * Performs internal consistency checks(for debugging libev ) and abort
     * the program if any data structures were found to be corrupted.
     *
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    public function verify(){}

    /**
     * Constructs the event loop object
     *
     * @param int $flags One of the event loop flags
     * @param mixed $data Custom data associated with the loop.
     * @param float $io_interval See io_interval
     * @param float $timeout_interval See timeout_interval
     * @since PECL ev >= 0.2.0
     **/
    public function __construct($flags, $data, $io_interval, $timeout_interval){}

}
/**
 * Periodic watchers are also timers of a kind, but they are very
 * versatile. Unlike EvTimer , EvPeriodic watchers are not based on real
 * time(or relative time, the physical time that passes) but on wall
 * clock time(absolute time, calendar or clock). The difference is that
 * wall clock time can run faster or slower than real time, and time
 * jumps are not uncommon(e.g. when adjusting it). EvPeriodic watcher can
 * be configured to trigger after some specific point in time. For
 * example, if an EvPeriodic watcher is configured to trigger "in 10
 * seconds" (e.g. EvLoop::now + 10.0 , i.e. an absolute time, not a
 * delay), and the system clock is reset to January of the previous year
 * , then it will take a year or more to trigger the event (unlike an
 * EvTimer , which would still trigger roughly 10 seconds after starting
 * it as it uses a relative timeout). As with timers, the callback is
 * guaranteed to be invoked only when the point in time where it is
 * supposed to trigger has passed. If multiple timers become ready during
 * the same loop iteration then the ones with earlier time-out values are
 * invoked before ones with later time-out values (but this is no longer
 * true when a callback calls EvLoop::run recursively).
 **/
class EvPeriodic extends EvWatcher {
    /**
     * The current interval value. Can be modified any time, but changes only
     * take effect when the periodic timer fires or EvPeriodic::again is
     * being called.
     *
     * @var mixed
     **/
    public $interval;

    /**
     * When repeating, this contains the offset value, otherwise this is the
     * absolute point in time(the offset value passed to EvPeriodic::set ,
     * although libev might modify this value for better numerical
     * stability).
     *
     * @var mixed
     **/
    public $offset;

    /**
     * Simply stops and restarts the periodic watcher again
     *
     * Simply stops and restarts the periodic watcher again. This is only
     * useful when attributes are changed.
     *
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    public function again(){}

    /**
     * Returns the absolute time that this watcher is supposed to trigger
     * next
     *
     * When the watcher is active, returns the absolute time that this
     * watcher is supposed to trigger next. This is not the same as the
     * offset argument to EvPeriodic::set or EvPeriodic::__construct , but
     * indeed works even in interval mode.
     *
     * @return float Returns the absolute time this watcher is supposed to
     *   trigger next in seconds.
     * @since PECL ev >= 0.2.0
     **/
    public function at(){}

    /**
     * Create a stopped EvPeriodic watcher
     *
     * Create EvPeriodic object. Unlike EvPeriodic::__construct this method
     * doesnt start the watcher automatically.
     *
     * @param float $offset See Periodic watcher operation modes
     * @param float $interval See Periodic watcher operation modes
     * @param callable $reschedule_cb Reschedule callback. You can pass
     *   NULL. See Periodic watcher operation modes
     * @param callable $callback See Watcher callbacks .
     * @param mixed $data Custom data associated with the watcher.
     * @param int $priority Watcher priority
     * @return EvPeriodic Returns EvPeriodic watcher object on success.
     * @since PECL ev >= 0.2.0
     **/
    final public static function createStopped($offset, $interval, $reschedule_cb, $callback, $data, $priority){}

    /**
     * Configures the watcher
     *
     * (Re-)Configures EvPeriodic watcher
     *
     * @param float $offset The same meaning as for EvPeriodic::__construct
     *   . See Periodic watcher operation modes
     * @param float $interval The same meaning as for
     *   EvPeriodic::__construct . See Periodic watcher operation modes
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    public function set($offset, $interval){}

    /**
     * Constructs EvPeriodic watcher object
     *
     * Constructs EvPeriodic watcher object and starts it automatically.
     * EvPeriodic::createStopped method creates stopped periodic watcher.
     *
     * @param float $offset See Periodic watcher operation modes
     * @param string $interval See Periodic watcher operation modes
     * @param callable $reschedule_cb Reschedule callback. You can pass
     *   NULL. See Periodic watcher operation modes
     * @param callable $callback See Watcher callbacks .
     * @param mixed $data Custom data associated with the watcher.
     * @param int $priority Watcher priority
     * @since PECL ev >= 0.2.0
     **/
    public function __construct($offset, $interval, $reschedule_cb, $callback, $data, $priority){}

}
class EvPrepare extends EvWatcher {
    /**
     * Creates a stopped instance of EvPrepare watcher
     *
     * Creates a stopped instance of EvPrepare watcher. Unlike
     * EvPrepare::__construct , this method doesn start the watcher
     * automatically.
     *
     * @param callable $callback See Watcher callbacks .
     * @param mixed $data Custom data associated with the watcher.
     * @param int $priority Watcher priority
     * @return EvPrepare Return EvPrepare object on success.
     * @since PECL ev >= 0.2.0
     **/
    final public static function createStopped($callback, $data, $priority){}

    /**
     * Constructs EvPrepare watcher object
     *
     * Constructs EvPrepare watcher object. And starts the watcher
     * automatically. If need a stopped watcher consider using
     * EvPrepare::createStopped
     *
     * @param string $callback See Watcher callbacks .
     * @param string $data Custom data associated with the watcher.
     * @param string $priority Watcher priority
     * @since PECL ev >= 0.2.0
     **/
    public function __construct($callback, $data, $priority){}

}
/**
 * EvSignal watchers will trigger an event when the process receives a
 * specific signal one or more times. Even though signals are very
 * asynchronous, libev will try its best to deliver signals
 * synchronously, i.e. as part of the normal event processing, like any
 * other event. There is no limit for the number of watchers for the same
 * signal, but only within the same loop, i.e. one can watch for SIGINT
 * in the default loop and for SIGIO in another loop, but it is not
 * allowed to watch for SIGINT in both the default loop and another loop
 * at the same time. At the moment, SIGCHLD is permanently tied to the
 * default loop. If possible and supported, libev will install its
 * handlers with SA_RESTART (or equivalent) behaviour enabled, so system
 * calls should not be unduly interrupted. In case of a problem with
 * system calls getting interrupted by signals, all the signals can be
 * blocked in an EvCheck watcher and unblocked in a EvPrepare watcher.
 **/
class EvSignal extends EvWatcher {
    /**
     * Signal number. See the constants exported by pcntl extension. See also
     * signal(7) man page.
     *
     * @var mixed
     **/
    public $signum;

    /**
     * Create stopped EvSignal watcher object
     *
     * Create stopped EvSignal watcher object. Unlike EvSignal::__construct ,
     * this method doest start the watcher automatically.
     *
     * @param int $signum Signal number. See constants exported by pcntl
     *   extension. See also signal(7) man page.
     * @param callable $callback See Watcher callbacks .
     * @param mixed $data Custom data associated with the watcher.
     * @param int $priority Watcher priority
     * @return EvSignal Returns EvSignal object on success.
     * @since PECL ev >= 0.2.0
     **/
    final public static function createStopped($signum, $callback, $data, $priority){}

    /**
     * Configures the watcher
     *
     * @param int $signum Signal number. The same as for
     *   EvSignal::__construct
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    public function set($signum){}

    /**
     * Constructs EvSignal watcher object
     *
     * Constructs EvSignal watcher object and starts it automatically. For a
     * stopped periodic watcher consider using EvSignal::createStopped
     * method.
     *
     * @param int $signum Signal number. See constants exported by pcntl
     *   extension. See also signal(7) man page.
     * @param callable $callback See Watcher callbacks .
     * @param mixed $data Custom data associated with the watcher.
     * @param int $priority Watcher priority
     * @since PECL ev >= 0.2.0
     **/
    public function __construct($signum, $callback, $data, $priority){}

}
/**
 * EvStat monitors a file system path for attribute changes. It calls
 * stat() on that path in regular intervals(or when the OS signals it
 * changed) and sees if it changed compared to the last time, invoking
 * the callback if it did. The path does not need to exist: changing from
 * "path exists" to "path does not exist" is a status change like any
 * other. The condition "path does not exist" is signified by the 'nlink'
 * item being 0(returned by EvStat::attr method). The path must not end
 * in a slash or contain special components such as '.' or .. . The path
 * should be absolute: if it is relative and the working directory
 * changes, then the behaviour is undefined. Since there is no portable
 * change notification interface available, the portable implementation
 * simply calls stat() regularly on the path to see if it changed
 * somehow. For this case a recommended polling interval can be
 * specified. If one specifies a polling interval of 0.0 (highly
 * recommended) then a suitable, unspecified default value will be
 * used(which could be expected to be around 5 seconds, although this
 * might change dynamically). libev will also impose a minimum interval
 * which is currently around 0.1 , but that’s usually overkill. This
 * watcher type is not meant for massive numbers of EvStat watchers, as
 * even with OS-supported change notifications, this can be
 * resource-intensive.
 **/
class EvStat extends EvWatcher {
    /**
     * Readonly . Hint on how quickly a change is expected to be detected and
     * should normally be specified as 0.0 to let libev choose a suitable
     * value.
     *
     * @var mixed
     **/
    public $interval;

    /**
     * Readonly . The path to wait for status changes on.
     *
     * @var mixed
     **/
    public $path;

    /**
     * Returns the values most recently detected by Ev
     *
     * Returns array of the values most recently detected by Ev
     *
     * @return array Returns array with the values most recently detect by
     *   Ev(without actual stat ing): List for item keys of the array
     *   returned by EvStat::attr Key Description 'dev' ID of device
     *   containing file 'ino' inode number 'mode' protection 'nlink' number
     *   of hard links 'uid' user ID of owner 'size' total size, in bytes
     *   'gid' group ID of owner 'rdev' device ID (if special file) 'blksize'
     *   blocksize for file system I/O 'blocks' number of 512B blocks
     *   allocated 'atime' time of last access 'ctime' time of last status
     *   change 'mtime' time of last modification
     * @since PECL ev >= 0.2.0
     **/
    public function attr(){}

    /**
     * Create a stopped EvStat watcher object
     *
     * Creates EvStat watcher object, but doesnt start it
     * automatically(unlike EvStat::__construct ).
     *
     * @param string $path The path to wait for status changes on.
     * @param float $interval Hint on how quickly a change is expected to
     *   be detected and should normally be specified as 0.0 to let libev
     *   choose a suitable value.
     * @param callable $callback See Watcher callbacks .
     * @param mixed $data Custom data associated with the watcher.
     * @param int $priority Watcher priority
     * @return void Returns a stopped EvStat watcher object on success.
     * @since PECL ev >= 0.2.0
     **/
    final public static function createStopped($path, $interval, $callback, $data, $priority){}

    /**
     * Returns the previous set of values returned by EvStat::attr
     *
     * Just like EvStat::attr , but returns the previous set of values.
     *
     * @return void Returns an array with the same structure as the array
     *   returned by EvStat::attr . The array contains previously detected
     *   values.
     * @since PECL ev >= 0.2.0
     **/
    public function prev(){}

    /**
     * Configures the watcher
     *
     * @param string $path The path to wait for status changes on.
     * @param float $interval Hint on how quickly a change is expected to
     *   be detected and should normally be specified as 0.0 to let libev
     *   choose a suitable value.
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    public function set($path, $interval){}

    /**
     * Initiates the stat call
     *
     * Initiates the stat call(updates internal cache). It stats(using lstat
     * ) the path specified in the watcher and sets to the values found.
     *
     * @return bool Returns TRUE if path exists. Otherwise FALSE.
     * @since PECL ev >= 0.2.0
     **/
    public function stat(){}

    /**
     * Constructs EvStat watcher object
     *
     * Constructs EvStat watcher object and starts the watcher automatically.
     *
     * @param string $path The path to wait for status changes on.
     * @param float $interval Hint on how quickly a change is expected to
     *   be detected and should normally be specified as 0.0 to let libev
     *   choose a suitable value.
     * @param callable $callback See Watcher callbacks .
     * @param mixed $data Custom data associated with the watcher.
     * @param int $priority Watcher priority
     * @since PECL ev >= 0.2.0
     **/
    public function __construct($path, $interval, $callback, $data, $priority){}

}
/**
 * EvTimer watchers are simple relative timers that generate an event
 * after a given time, and optionally repeating in regular intervals
 * after that. The timers are based on real time, that is, if one
 * registers an event that times out after an hour and resets the system
 * clock to January last year , it will still time out after(roughly) one
 * hour. "Roughly" because detecting time jumps is hard, and some
 * inaccuracies are unavoidable. The callback is guaranteed to be invoked
 * only after its timeout has passed (not at, so on systems with very
 * low-resolution clocks this might introduce a small delay). If multiple
 * timers become ready during the same loop iteration then the ones with
 * earlier time-out values are invoked before ones of the same priority
 * with later time-out values (but this is no longer true when a callback
 * calls EvLoop::run recursively). The timer itself will do a best-effort
 * at avoiding drift, that is, if a timer is configured to trigger every
 * 10 seconds, then it will normally trigger at exactly 10 second
 * intervals. If, however, the script cannot keep up with the timer
 * because it takes longer than those 10 seconds to do) the timer will
 * not fire more than once per event loop iteration.
 **/
class EvTimer extends EvWatcher {
    /**
     * Returns the remaining time until a timer fires. If the timer is
     * active, then this time is relative to the current event loop time,
     * otherwise its the timeout value currently configured.
     *
     * That is, after instanciating an EvTimer with an {@link after} value of
     * 5.0 and {@link repeat} value of 7.0 , remaining returns 5.0 . When the
     * timer is started and one second passes, remaining will return 4.0 .
     * When the timer expires and is restarted, it will return roughly 7.0
     * (likely slightly less as callback invocation takes some time too), and
     * so on.
     *
     * @var mixed
     **/
    public $remaining;

    /**
     * If repeat is 0.0 , then it will automatically be stopped once the
     * timeout is reached. If it is positive, then the timer will
     * automatically be configured to trigger again every repeat seconds
     * later, until stopped manually.
     *
     * @var mixed
     **/
    public $repeat;

    /**
     * Restarts the timer watcher
     *
     * This will act as if the timer timed out and restart it again if it is
     * repeating. The exact semantics are:
     *
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    public function again(){}

    /**
     * Creates EvTimer stopped watcher object
     *
     * Creates EvTimer stopped watcher object. Unlike EvTimer::__construct ,
     * this method doesn't start the watcher automatically.
     *
     * @param float $after Configures the timer to trigger after {@link
     *   after} seconds.
     * @param float $repeat If repeat is 0.0 , then it will automatically
     *   be stopped once the timeout is reached. If it is positive, then the
     *   timer will automatically be configured to trigger again every repeat
     *   seconds later, until stopped manually.
     * @param callable $callback See Watcher callbacks .
     * @param mixed $data Custom data associated with the watcher.
     * @param int $priority Watcher priority
     * @return EvTimer Returns EvTimer watcher object on success.
     * @since PECL ev >= 0.2.0
     **/
    final public static function createStopped($after, $repeat, $callback, $data, $priority){}

    /**
     * Configures the watcher
     *
     * @param float $after Configures the timer to trigger after {@link
     *   after} seconds.
     * @param float $repeat If repeat is 0.0 , then it will automatically
     *   be stopped once the timeout is reached. If it is positive, then the
     *   timer will automatically be configured to trigger again every repeat
     *   seconds later, until stopped manually.
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    public function set($after, $repeat){}

    /**
     * Constructs an EvTimer watcher object
     *
     * @param float $after Configures the timer to trigger after {@link
     *   after} seconds.
     * @param float $repeat If repeat is 0.0 , then it will automatically
     *   be stopped once the timeout is reached. If it is positive, then the
     *   timer will automatically be configured to trigger again every repeat
     *   seconds later, until stopped manually.
     * @param callable $callback See Watcher callbacks .
     * @param mixed $data Custom data associated with the watcher.
     * @param int $priority Watcher priority
     * @since PECL ev >= 0.2.0
     **/
    public function __construct($after, $repeat, $callback, $data, $priority){}

}
/**
 * EvWatcher is a base class for all watchers( EvCheck , EvChild etc.).
 * Since EvWatcher s constructor is abstract , one cant(and dont need to)
 * create EvWatcher objects directly.
 **/
abstract class EvWatcher {
    /**
     * User custom data associated with the watcher
     *
     * @var mixed
     **/
    public $data;

    /**
     * @var mixed
     **/
    public $is_active;

    /**
     * @var mixed
     **/
    public $is_pending;

    /**
     * Integer between Ev::MINPRI and Ev::MAXPRI . Pending watchers with
     * higher priority will be invoked before watchers with lower priority,
     * but priority will not keep watchers from being executed(except for
     * EvIdle watchers). EvIdle watchers provide functionality to suppress
     * invocation when higher priority events are pending.
     *
     * @var mixed
     **/
    public $priority;

    /**
     * Clear watcher pending status
     *
     * If the watcher is pending, this method clears its pending status and
     * returns its revents bitset(as if its callback was invoked). If the
     * watcher isnt pending it does nothing and returns 0 .
     *
     * Sometimes it can be useful to "poll" a watcher instead of waiting for
     * its callback to be invoked, which can be accomplished with this
     * function.
     *
     * @return int In case if the watcher is pending, returns revents
     *   bitset as if the watcher callback had been invoked. Otherwise
     *   returns 0 .
     * @since PECL ev >= 0.2.0
     **/
    public function clear(){}

    /**
     * Feeds the given revents set into the event loop
     *
     * Feeds the given revents set into the event loop, as if the specified
     * event had happened for the watcher.
     *
     * @param int $revents Bit mask of watcher received events .
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    public function feed($revents){}

    /**
     * Returns the loop responsible for the watcher
     *
     * @return EvLoop Returns EvLoop event loop object responsible for the
     *   watcher.
     * @since PECL ev >= 0.2.0
     **/
    public function getLoop(){}

    /**
     * Invokes the watcher callback with the given received events bit mask
     *
     * Invokes the watcher callback with the given received events bit mask.
     *
     * @param int $revents Bit mask of watcher received events .
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    public function invoke($revents){}

    /**
     * Configures whether to keep the loop from returning
     *
     * Configures whether to keep the loop from returning. With keepalive
     * {@link value} set to FALSE the watcher wont keep Ev::run / EvLoop::run
     * from returning even though the watcher is active.
     *
     * Watchers have keepalive {@link value} TRUE by default.
     *
     * Clearing keepalive status is useful when returning from Ev::run /
     * EvLoop::run just because of the watcher is undesirable. It could be a
     * long running UDP socket watcher or so.
     *
     * @param bool $value With keepalive {@link value} set to FALSE the
     *   watcher wont keep Ev::run / EvLoop::run from returning even though
     *   the watcher is active.
     * @return bool Returns the previous state.
     * @since PECL ev >= 0.2.0
     **/
    public function keepalive($value){}

    /**
     * Sets new callback for the watcher
     *
     * @param callable $callback See Watcher callbacks .
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    public function setCallback($callback){}

    /**
     * Starts the watcher
     *
     * Marks the watcher as active. Note that only active watchers will
     * receive events.
     *
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    public function start(){}

    /**
     * Stops the watcher
     *
     * Marks the watcher as inactive. Note that only active watchers will
     * receive events.
     *
     * @return void
     * @since PECL ev >= 0.2.0
     **/
    public function stop(){}

    /**
     * Abstract constructor of a watcher object
     *
     * EvWatcher::__construct is an abstract constructor of a watcher object
     * implemented in the derived classes.
     *
     * @since PECL ev >= 0.2.0
     **/
    abstract public function __construct();

}
/**
 * FANNConnection is used for the neural network connection. The objects
 * of this class are used in {@link fann_get_connection_array} and {@link
 * fann_set_weight_array}.
 **/
class FANNConnection {
    /**
     * @var mixed
     **/
    public $from_neuron;

    /**
     * @var mixed
     **/
    public $to_neuron;

    /**
     * The weight of the connection.
     *
     * @var mixed
     **/
    public $weight;

    /**
     * Returns the postions of starting neuron
     *
     * @return int The postions of starting neuron.
     * @since PECL fann >= 1.0.0
     **/
    public function getFromNeuron(){}

    /**
     * Returns the postions of terminating neuron
     *
     * @return int The postions of terminating neuron.
     * @since PECL fann >= 1.0.0
     **/
    public function getToNeuron(){}

    /**
     * Returns the connection weight
     *
     * @return void The connection weight.
     * @since PECL fann >= 1.0.0
     **/
    public function getWeight(){}

    /**
     * Sets the connections weight
     *
     * Sets the connection weight.
     *
     * This method is different than {@link fann_set_weight}. It does not
     * update the weight value in the network. The network value is updated
     * only after calling {@link fann_set_weight_array}.
     *
     * @param float $weight The connection weight.
     * @return void
     * @since PECL fann >= 1.0.0
     **/
    public function setWeight($weight){}

    /**
     * The connection constructor
     *
     * Create new connection and initialize its params. After creating the
     * connection, only weight can be changed.
     *
     * @param int $from_neuron The postion number of starting neuron.
     * @param int $to_neuron The postion number of terminating neuron.
     * @param float $weight The connection weight value.
     * @since PECL fann >= 1.0.0
     **/
    public function __construct($from_neuron, $to_neuron, $weight){}

}
/**
 * The Filesystem iterator
 **/
class FilesystemIterator extends DirectoryIterator implements SeekableIterator {
    /**
     * @var integer
     **/
    const CURRENT_AS_FILEINFO = 0;

    /**
     * @var integer
     **/
    const CURRENT_AS_PATHNAME = 0;

    /**
     * @var integer
     **/
    const CURRENT_AS_SELF = 0;

    /**
     * @var integer
     **/
    const CURRENT_MODE_MASK = 0;

    /**
     * @var integer
     **/
    const FOLLOW_SYMLINKS = 0;

    /**
     * @var integer
     **/
    const KEY_AS_FILENAME = 0;

    /**
     * @var integer
     **/
    const KEY_AS_PATHNAME = 0;

    /**
     * @var integer
     **/
    const KEY_MODE_MASK = 0;

    /**
     * @var integer
     **/
    const NEW_CURRENT_AND_KEY = 0;

    /**
     * @var integer
     **/
    const SKIP_DOTS = 0;

    /**
     * @var integer
     **/
    const UNIX_PATHS = 0;

    /**
     * The current file
     *
     * Get file information of the current element.
     *
     * @return mixed The filename, file information, or $this depending on
     *   the set flags. See the FilesystemIterator constants.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function current(){}

    /**
     * Get the handling flags
     *
     * Gets the handling flags, as set in FilesystemIterator::__construct or
     * FilesystemIterator::setFlags.
     *
     * @return int The integer value of the set flags.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function getFlags(){}

    /**
     * Retrieve the key for the current file
     *
     * @return string Returns the pathname or filename depending on the set
     *   flags. See the FilesystemIterator constants.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function key(){}

    /**
     * Move to the next file
     *
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function next(){}

    /**
     * Rewinds back to the beginning
     *
     * Rewinds the directory back to the start.
     *
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function rewind(){}

    /**
     * Sets handling flags
     *
     * @param int $flags The handling flags to set. See the
     *   FilesystemIterator constants.
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function setFlags($flags){}

    /**
     * Constructs a new filesystem iterator
     *
     * Constructs a new filesystem iterator from the {@link path}.
     *
     * @param string $path The path of the filesystem item to be iterated
     *   over.
     * @param int $flags Flags may be provided which will affect the
     *   behavior of some methods. A list of the flags can found under
     *   FilesystemIterator predefined constants. They can also be set later
     *   with FilesystemIterator::setFlags
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function __construct($path, $flags){}

}
/**
 * This abstract iterator filters out unwanted values. This class should
 * be extended to implement custom iterator filters. The
 * FilterIterator::accept must be implemented in the subclass.
 **/
abstract class FilterIterator extends IteratorIterator implements OuterIterator {
    /**
     * Check whether the current element of the iterator is acceptable
     *
     * Returns whether the current element of the iterator is acceptable
     * through this filter.
     *
     * @return bool TRUE if the current element is acceptable, otherwise
     *   FALSE.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public abstract function accept();

    /**
     * Get the current element value
     *
     * @return mixed The current element value.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function current(){}

    /**
     * Get the inner iterator
     *
     * @return Iterator The inner iterator.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function getInnerIterator(){}

    /**
     * Get the current key
     *
     * @return mixed The current key.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function key(){}

    /**
     * Move the iterator forward
     *
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function next(){}

    /**
     * Rewind the iterator
     *
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function rewind(){}

    /**
     * Check whether the current element is valid
     *
     * Checks whether the current element is valid.
     *
     * @return bool TRUE if the current element is valid, otherwise FALSE
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function valid(){}

    /**
     * Construct a filterIterator
     *
     * Constructs a new FilterIterator, which consists of a passed in {@link
     * iterator} with filters applied to it.
     *
     * @param Iterator $iterator The iterator that is being filtered.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function __construct($iterator){}

}
/**
 * This class provides an object oriented interface into the fileinfo
 * functions.
 **/
class finfo {
    /**
     * finfo_buffer()
     *
     * @param string $string
     * @param int $options
     * @param resource $context
     * @return string
     * @since PHP 5 >= 5.3.0, PHP 7, PECL fileinfo >= 0.1.0
     **/
    public function buffer($string, $options, $context){}

    /**
     * finfo_file()
     *
     * @param string $file_name
     * @param int $options
     * @param resource $context
     * @return string
     * @since PHP >= 5.3.0, PECL fileinfo >= 0.1.0
     **/
    public function file($file_name, $options, $context){}

    /**
     * finfo_set_flags()
     *
     * @param int $options
     * @return bool
     * @since PHP >= 5.3.0, PECL fileinfo >= 0.1.0
     **/
    public function set_flags($options){}

}
/**
 * Represents a class for connecting to a Gearman job server and making
 * requests to perform some function on provided data. The function
 * performed must be one registered by a Gearman worker and the data
 * passed is opaque to the job server.
 **/
class GearmanClient {
    /**
     * Add client options
     *
     * Adds one or more options to those already set.
     *
     * @param int $options The options to add. One of the following
     *   constants, or a combination of them using the bitwise OR operator
     *   (|): GEARMAN_CLIENT_GENERATE_UNIQUE, GEARMAN_CLIENT_NON_BLOCKING,
     *   GEARMAN_CLIENT_UNBUFFERED_RESULT or GEARMAN_CLIENT_FREE_TASKS.
     * @return bool Always returns TRUE.
     * @since PECL gearman >= 0.6.0
     **/
    public function addOptions($options){}

    /**
     * Add a job server to the client
     *
     * Adds a job server to a list of servers that can be used to run a task.
     * No socket I/O happens here; the server is simply added to the list.
     *
     * @param string $host
     * @param int $port
     * @return bool
     * @since PECL gearman >= 0.5.0
     **/
    public function addServer($host, $port){}

    /**
     * Add a list of job servers to the client
     *
     * Adds a list of job servers that can be used to run a task. No socket
     * I/O happens here; the servers are simply added to the full list of
     * servers.
     *
     * @param string $servers A comma-separated list of servers, each
     *   server specified in the format host:port.
     * @return bool
     * @since PECL gearman >= 0.5.0
     **/
    public function addServers($servers){}

    /**
     * Add a task to be run in parallel
     *
     * Adds a task to be run in parallel with other tasks. Call this method
     * for all the tasks to be run in parallel, then call
     * GearmanClient::runTasks to perform the work. Note that enough workers
     * need to be available for the tasks to all run in parallel.
     *
     * @param string $function_name
     * @param string $workload
     * @param mixed $context
     * @param string $unique
     * @return GearmanTask A GearmanTask object or FALSE if the task could
     *   not be added.
     * @since PECL gearman >= 0.5.0
     **/
    public function addTask($function_name, $workload, &$context, $unique){}

    /**
     * Add a background task to be run in parallel
     *
     * Adds a background task to be run in parallel with other tasks. Call
     * this method for all the tasks to be run in parallel, then call
     * GearmanClient::runTasks to perform the work.
     *
     * @param string $function_name
     * @param string $workload
     * @param mixed $context
     * @param string $unique
     * @return GearmanTask A GearmanTask object or FALSE if the task could
     *   not be added.
     * @since PECL gearman >= 0.5.0
     **/
    public function addTaskBackground($function_name, $workload, &$context, $unique){}

    /**
     * Add a high priority task to run in parallel
     *
     * Adds a high priority task to be run in parallel with other tasks. Call
     * this method for all the high priority tasks to be run in parallel,
     * then call GearmanClient::runTasks to perform the work. Tasks with a
     * high priority will be selected from the queue before those of normal
     * or low priority.
     *
     * @param string $function_name
     * @param string $workload
     * @param mixed $context
     * @param string $unique
     * @return GearmanTask A GearmanTask object or FALSE if the task could
     *   not be added.
     * @since PECL gearman >= 0.5.0
     **/
    public function addTaskHigh($function_name, $workload, &$context, $unique){}

    /**
     * Add a high priority background task to be run in parallel
     *
     * Adds a high priority background task to be run in parallel with other
     * tasks. Call this method for all the tasks to be run in parallel, then
     * call GearmanClient::runTasks to perform the work. Tasks with a high
     * priority will be selected from the queue before those of normal or low
     * priority.
     *
     * @param string $function_name
     * @param string $workload
     * @param mixed $context
     * @param string $unique
     * @return GearmanTask A GearmanTask object or FALSE if the task could
     *   not be added.
     * @since PECL gearman >= 0.5.0
     **/
    public function addTaskHighBackground($function_name, $workload, &$context, $unique){}

    /**
     * Add a low priority task to run in parallel
     *
     * Adds a low priority background task to be run in parallel with other
     * tasks. Call this method for all the tasks to be run in parallel, then
     * call GearmanClient::runTasks to perform the work. Tasks with a low
     * priority will be selected from the queue after those of normal or low
     * priority.
     *
     * @param string $function_name
     * @param string $workload
     * @param mixed $context
     * @param string $unique
     * @return GearmanTask A GearmanTask object or FALSE if the task could
     *   not be added.
     * @since PECL gearman >= 0.5.0
     **/
    public function addTaskLow($function_name, $workload, &$context, $unique){}

    /**
     * Add a low priority background task to be run in parallel
     *
     * Adds a low priority background task to be run in parallel with other
     * tasks. Call this method for all the tasks to be run in parallel, then
     * call GearmanClient::runTasks to perform the work. Tasks with a low
     * priority will be selected from the queue after those of normal or high
     * priority.
     *
     * @param string $function_name
     * @param string $workload
     * @param mixed $context
     * @param string $unique
     * @return GearmanTask A GearmanTask object or FALSE if the task could
     *   not be added.
     * @since PECL gearman >= 0.5.0
     **/
    public function addTaskLowBackground($function_name, $workload, &$context, $unique){}

    /**
     * Add a task to get status
     *
     * Used to request status information from the Gearman server, which will
     * call the specified status callback (set using
     * GearmanClient::setStatusCallback).
     *
     * @param string $job_handle The job handle for the task to get status
     *   for
     * @param string $context Data to be passed to the status callback,
     *   generally a reference to an array or object
     * @return GearmanTask A GearmanTask object.
     * @since PECL gearman >= 0.5.0
     **/
    public function addTaskStatus($job_handle, &$context){}

    /**
     * Clear all task callback functions
     *
     * Clears all the task callback functions that have previously been set.
     *
     * @return bool Always returns TRUE.
     * @since PECL gearman >= 0.5.0
     **/
    public function clearCallbacks(){}

    /**
     * Get the application context
     *
     * Get the application context previously set with
     * GearmanClient::setContext.
     *
     * @return string The same context data structure set with
     *   GearmanClient::setContext
     * @since PECL gearman >= 0.6.0
     **/
    public function context(){}

    /**
     * Get the application data (deprecated)
     *
     * Get the application data previously set with GearmanClient::setData.
     *
     * @return string The same string data set with GearmanClient::setData
     * @since PECL gearman
     **/
    public function data(){}

    /**
     * Run a task in the background
     *
     * Runs a task in the background, returning a job handle which can be
     * used to get the status of the running task.
     *
     * @param string $function_name
     * @param string $workload
     * @param string $unique
     * @return string The job handle for the submitted task.
     * @since PECL gearman >= 0.5.0
     **/
    public function doBackground($function_name, $workload, $unique){}

    /**
     * Run a single high priority task
     *
     * Runs a single high priority task and returns a string representation
     * of the result. It is up to the GearmanClient and GearmanWorker to
     * agree on the format of the result. High priority tasks will get
     * precedence over normal and low priority tasks in the job queue.
     *
     * @param string $function_name
     * @param string $workload
     * @param string $unique
     * @return string A string representing the results of running a task.
     * @since PECL gearman >= 0.5.0
     **/
    public function doHigh($function_name, $workload, $unique){}

    /**
     * Run a high priority task in the background
     *
     * Runs a high priority task in the background, returning a job handle
     * which can be used to get the status of the running task. High priority
     * tasks take precedence over normal and low priority tasks in the job
     * queue.
     *
     * @param string $function_name
     * @param string $workload
     * @param string $unique
     * @return string The job handle for the submitted task.
     * @since PECL gearman >= 0.5.0
     **/
    public function doHighBackground($function_name, $workload, $unique){}

    /**
     * Get the job handle for the running task
     *
     * Gets that job handle for a running task. This should be used between
     * repeated GearmanClient::doNormal calls. The job handle can then be
     * used to get information on the task.
     *
     * @return string The job handle for the running task.
     * @since PECL gearman >= 0.5.0
     **/
    public function doJobHandle(){}

    /**
     * Run a single low priority task
     *
     * Runs a single low priority task and returns a string representation of
     * the result. It is up to the GearmanClient and GearmanWorker to agree
     * on the format of the result. Normal and high priority tasks will get
     * precedence over low priority tasks in the job queue.
     *
     * @param string $function_name
     * @param string $workload
     * @param string $unique
     * @return string A string representing the results of running a task.
     * @since PECL gearman >= 0.5.0
     **/
    public function doLow($function_name, $workload, $unique){}

    /**
     * Run a low priority task in the background
     *
     * Runs a low priority task in the background, returning a job handle
     * which can be used to get the status of the running task. Normal and
     * high priority tasks take precedence over low priority tasks in the job
     * queue.
     *
     * @param string $function_name
     * @param string $workload
     * @param string $unique
     * @return string The job handle for the submitted task.
     * @since PECL gearman >= 0.5.0
     **/
    public function doLowBackground($function_name, $workload, $unique){}

    /**
     * Run a single task and return a result
     *
     * Runs a single task and returns a string representation of the result.
     * It is up to the GearmanClient and GearmanWorker to agree on the format
     * of the result.
     *
     * @param string $function_name
     * @param string $workload
     * @param string $unique
     * @return string A string representing the results of running a task.
     **/
    public function doNormal($function_name, $workload, $unique){}

    /**
     * Get the status for the running task
     *
     * Returns the status for the running task. This should be used between
     * repeated GearmanClient::doNormal calls.
     *
     * @return array An array representing the percentage completion given
     *   as a fraction, with the first element the numerator and the second
     *   element the denomintor.
     * @since PECL gearman >= 0.5.0
     **/
    public function doStatus(){}

    /**
     * Returns an error string for the last error encountered
     *
     * @return string A human readable error string.
     * @since PECL gearman >= 0.5.0
     **/
    public function error(){}

    /**
     * Get an errno value
     *
     * Value of errno in the case of a GEARMAN_ERRNO return value.
     *
     * @return int A valid Gearman errno.
     * @since PECL gearman >= 0.5.0
     **/
    public function getErrno(){}

    /**
     * Get the status of a background job
     *
     * Gets the status for a background job given a job handle. The status
     * information will specify whether the job is known, whether the job is
     * currently running, and the percentage completion.
     *
     * @param string $job_handle
     * @return array An array containing status information for the job
     *   corresponding to the supplied job handle. The first array element is
     *   a boolean indicating whether the job is even known, the second is a
     *   boolean indicating whether the job is still running, and the third
     *   and fourth elements correspond to the numerator and denominator of
     *   the fractional completion percentage, respectively.
     * @since PECL gearman >= 0.5.0
     **/
    public function jobStatus($job_handle){}

    /**
     * Send data to all job servers to see if they echo it back
     *
     * Sends some arbitrary data to all job servers to see if they echo it
     * back. The data sent is not used or processed in any other way.
     * Primarily used for testing and debugging.
     *
     * @param string $workload Some arbitrary serialized data to be echo
     *   back
     * @return bool
     **/
    public function ping($workload){}

    /**
     * Remove client options
     *
     * Removes (unsets) one or more options.
     *
     * @param int $options The options to be removed (unset)
     * @return bool Always returns TRUE.
     * @since PECL gearman >= 0.6.0
     **/
    public function removeOptions($options){}

    /**
     * Get the last Gearman return code
     *
     * Returns the last Gearman return code.
     *
     * @return int A valid Gearman return code.
     * @since PECL gearman >= 0.5.0
     **/
    public function returnCode(){}

    /**
     * Run a list of tasks in parallel
     *
     * For a set of tasks previously added with GearmanClient::addTask,
     * GearmanClient::addTaskHigh, GearmanClient::addTaskLow,
     * GearmanClient::addTaskBackground,
     * GearmanClient::addTaskHighBackground, or
     * GearmanClient::addTaskLowBackground, this call starts running the
     * tasks in parallel.
     *
     * @return bool
     * @since PECL gearman >= 0.5.0
     **/
    public function runTasks(){}

    /**
     * Callback function when there is a data packet for a task (deprecated)
     *
     * Sets the callback function for accepting data packets for a task. The
     * callback function should take a single argument, a GearmanTask object.
     *
     * @param callable $callback A function or method to call
     * @return void
     * @since PECL gearman
     **/
    public function setClientCallback($callback){}

    /**
     * Set a function to be called on task completion
     *
     * Use to set a function to be called when a GearmanTask is completed, or
     * when GearmanJob::sendComplete is invoked by a worker (whichever
     * happens first).
     *
     * This callback executes only when executing a GearmanTask using
     * GearmanClient::runTasks. It is not used for individual jobs.
     *
     * @param callable $callback A function to be called
     * @return bool
     * @since PECL gearman >= 0.5.0
     **/
    public function setCompleteCallback($callback){}

    /**
     * Set application context
     *
     * Sets an arbitrary string to provide application context that can later
     * be retrieved by GearmanClient::context.
     *
     * @param string $context Arbitrary context data
     * @return bool Always returns TRUE.
     * @since PECL gearman >= 0.6.0
     **/
    public function setContext($context){}

    /**
     * Set a callback for when a task is queued
     *
     * Sets a function to be called when a task is received and queued by the
     * Gearman job server. The callback should accept a single argument, a
     * GearmanTask object.
     *
     * @param string $callback A function to call
     * @return bool
     * @since PECL gearman >= 0.5.0
     **/
    public function setCreatedCallback($callback){}

    /**
     * Set application data (deprecated)
     *
     * Sets some arbitrary application data that can later be retrieved by
     * GearmanClient::data.
     *
     * @param string $data
     * @return bool Always returns TRUE.
     * @since PECL gearman
     **/
    public function setData($data){}

    /**
     * Callback function when there is a data packet for a task
     *
     * Sets the callback function for accepting data packets for a task. The
     * callback function should take a single argument, a GearmanTask object.
     *
     * @param callable $callback A function or method to call
     * @return bool
     * @since PECL gearman >= 0.6.0
     **/
    public function setDataCallback($callback){}

    /**
     * Set a callback for worker exceptions
     *
     * Specifies a function to call when a worker for a task sends an
     * exception.
     *
     * @param callable $callback Function to call when the worker throws an
     *   exception
     * @return bool
     * @since PECL gearman >= 0.5.0
     **/
    public function setExceptionCallback($callback){}

    /**
     * Set callback for job failure
     *
     * Sets the callback function to be used when a task does not complete
     * successfully. The function should accept a single argument, a
     * GearmanTask object.
     *
     * @param callable $callback A function to call
     * @return bool
     * @since PECL gearman >= 0.5.0
     **/
    public function setFailCallback($callback){}

    /**
     * Set client options
     *
     * Sets one or more client options.
     *
     * @param int $options The options to be set
     * @return bool Always returns TRUE.
     * @since PECL gearman >= 0.5.0
     **/
    public function setOptions($options){}

    /**
     * Set a callback for collecting task status
     *
     * Sets a callback function used for getting updated status information
     * from a worker. The function should accept a single argument, a
     * GearmanTask object.
     *
     * @param callable $callback A function to call
     * @return bool
     * @since PECL gearman >= 0.5.0
     **/
    public function setStatusCallback($callback){}

    /**
     * Set socket I/O activity timeout
     *
     * Sets the timeout for socket I/O activity.
     *
     * @param int $timeout An interval of time in milliseconds
     * @return bool Always returns TRUE.
     * @since PECL gearman >= 0.6.0
     **/
    public function setTimeout($timeout){}

    /**
     * Set a callback for worker warnings
     *
     * Sets a function to be called when a worker sends a warning. The
     * callback should accept a single argument, a GearmanTask object.
     *
     * @param callable $callback A function to call
     * @return bool
     * @since PECL gearman >= 0.5.0
     **/
    public function setWarningCallback($callback){}

    /**
     * Set a callback for accepting incremental data updates
     *
     * Sets a function to be called when a worker needs to send back data
     * prior to job completion. A worker can do this when it needs to send
     * updates, send partial results, or flush data during long running jobs.
     * The callback should accept a single argument, a GearmanTask object.
     *
     * @param callable $callback A function to call
     * @return bool
     * @since PECL gearman >= 0.5.0
     **/
    public function setWorkloadCallback($callback){}

    /**
     * Get current socket I/O activity timeout value
     *
     * Returns the timeout in milliseconds to wait for I/O activity.
     *
     * @return int Timeout in milliseconds to wait for I/O activity. A
     *   negative value means an infinite timeout.
     * @since PECL gearman >= 0.6.0
     **/
    public function timeout(){}

    /**
     * Create a GearmanClient instance
     *
     * Creates a GearmanClient instance representing a client that connects
     * to the job server and submits tasks to complete.
     *
     * @since PECL gearman >= 0.5.0
     **/
    public function __construct(){}

}
class GearmanException extends Exception {
}
class GearmanJob {
    /**
     * Send the result and complete status (deprecated)
     *
     * Sends result data and the complete status update for this job.
     *
     * @param string $result Serialized result data.
     * @return bool
     * @since PECL gearman
     **/
    public function complete($result){}

    /**
     * Send data for a running job (deprecated)
     *
     * Sends data to the job server (and any listening clients) for this job.
     *
     * @param string $data Arbitrary serialized data.
     * @return bool
     * @since PECL gearman
     **/
    public function data($data){}

    /**
     * Send exception for running job (deprecated)
     *
     * Sends the supplied exception when this job is running.
     *
     * @param string $exception An exception description.
     * @return bool
     * @since PECL gearman
     **/
    public function exception($exception){}

    /**
     * Send fail status (deprecated)
     *
     * Sends failure status for this job, indicating that the job failed in a
     * known way (as opposed to failing due to a thrown exception).
     *
     * @return bool
     * @since PECL gearman
     **/
    public function fail(){}

    /**
     * Get function name
     *
     * Returns the function name for this job. This is the function the work
     * will execute to perform the job.
     *
     * @return string The name of a function.
     * @since PECL gearman >= 0.5.0
     **/
    public function functionName(){}

    /**
     * Get the job handle
     *
     * Returns the opaque job handle assigned by the job server.
     *
     * @return string An opaque job handle.
     * @since PECL gearman >= 0.5.0
     **/
    public function handle(){}

    /**
     * Get last return code
     *
     * Returns the last return code issued by the job server.
     *
     * @return int A valid Gearman return code.
     * @since PECL gearman >= 0.5.0
     **/
    public function returnCode(){}

    /**
     * Send the result and complete status
     *
     * Sends result data and the complete status update for this job.
     *
     * @param string $result Serialized result data.
     * @return bool
     * @since PECL gearman >= 0.6.0
     **/
    public function sendComplete($result){}

    /**
     * Send data for a running job
     *
     * Sends data to the job server (and any listening clients) for this job.
     *
     * @param string $data Arbitrary serialized data.
     * @return bool
     * @since PECL gearman >= 0.6.0
     **/
    public function sendData($data){}

    /**
     * Send exception for running job (exception)
     *
     * Sends the supplied exception when this job is running.
     *
     * @param string $exception An exception description.
     * @return bool
     * @since PECL gearman >= 0.6.0
     **/
    public function sendException($exception){}

    /**
     * Send fail status
     *
     * Sends failure status for this job, indicating that the job failed in a
     * known way (as opposed to failing due to a thrown exception).
     *
     * @return bool
     * @since PECL gearman >= 0.6.0
     **/
    public function sendFail(){}

    /**
     * Send status
     *
     * Sends status information to the job server and any listening clients.
     * Use this to specify what percentage of the job has been completed.
     *
     * @param int $numerator The numerator of the precentage completed
     *   expressed as a fraction.
     * @param int $denominator The denominator of the precentage completed
     *   expressed as a fraction.
     * @return bool
     * @since PECL gearman >= 0.6.0
     **/
    public function sendStatus($numerator, $denominator){}

    /**
     * Send a warning
     *
     * Sends a warning for this job while it is running.
     *
     * @param string $warning A warning message.
     * @return bool
     * @since PECL gearman >= 0.6.0
     **/
    public function sendWarning($warning){}

    /**
     * Set a return value
     *
     * Sets the return value for this job, indicates how the job completed.
     *
     * @param int $gearman_return_t A valid Gearman return value.
     * @return bool Description...
     * @since PECL gearman >= 0.5.0
     **/
    public function setReturn($gearman_return_t){}

    /**
     * Send status (deprecated)
     *
     * Sends status information to the job server and any listening clients.
     * Use this to specify what percentage of the job has been completed.
     *
     * @param int $numerator The numerator of the precentage completed
     *   expressed as a fraction.
     * @param int $denominator The denominator of the precentage completed
     *   expressed as a fraction.
     * @return bool
     * @since PECL gearman
     **/
    public function status($numerator, $denominator){}

    /**
     * Get the unique identifier
     *
     * Returns the unique identifiter for this job. The identifier is
     * assigned by the client.
     *
     * @return string An opaque unique identifier.
     * @since PECL gearman >= 0.5.0
     **/
    public function unique(){}

    /**
     * Send a warning (deprecated)
     *
     * Sends a warning for this job while it is running.
     *
     * @param string $warning A warning messages.
     * @return bool
     * @since PECL gearman
     **/
    public function warning($warning){}

    /**
     * Get workload
     *
     * Returns the workload for the job. This is serialized data that is to
     * be processed by the worker.
     *
     * @return string Serialized data.
     * @since PECL gearman >= 0.5.0
     **/
    public function workload(){}

    /**
     * Get size of work load
     *
     * Returns the size of the job's work load (the data the worker is to
     * process) in bytes.
     *
     * @return int The size in bytes.
     * @since PECL gearman >= 0.5.0
     **/
    public function workloadSize(){}

    /**
     * Create a GearmanJob instance
     *
     * Creates a GearmanJob instance representing a job the worker is to
     * complete.
     *
     * @since PECL gearman >= 0.5.0
     **/
    public function __construct(){}

}
class GearmanTask {
    /**
     * Create a task (deprecated)
     *
     * Returns a new GearmanTask object.
     *
     * @return GearmanTask A GearmanTask oject.
     * @since PECL gearman
     **/
    public function create(){}

    /**
     * Get data returned for a task
     *
     * Returns data being returned for a task by a worker.
     *
     * @return string The serialized data, or FALSE if no data is present.
     * @since PECL gearman >= 0.5.0
     **/
    public function data(){}

    /**
     * Get the size of returned data
     *
     * Returns the size of the data being returned for a task.
     *
     * @return int The data size, or FALSE if there is no data.
     * @since PECL gearman >= 0.5.0
     **/
    public function dataSize(){}

    /**
     * Get associated function name
     *
     * Returns the name of the function this task is associated with, i.e.,
     * the function the Gearman worker calls.
     *
     * @return string A function name.
     * @since PECL gearman >= 0.6.0
     **/
    public function functionName(){}

    /**
     * Determine if task is known
     *
     * Gets the status information for whether or not this task is known to
     * the job server.
     *
     * @return bool TRUE if the task is known, FALSE otherwise.
     * @since PECL gearman >= 0.5.0
     **/
    public function isKnown(){}

    /**
     * Test whether the task is currently running
     *
     * Indicates whether or not this task is currently running.
     *
     * @return bool TRUE if the task is running, FALSE otherwise.
     * @since PECL gearman >= 0.5.0
     **/
    public function isRunning(){}

    /**
     * Get the job handle
     *
     * Returns the job handle for this task.
     *
     * @return string The opaque job handle.
     * @since PECL gearman >= 0.5.0
     **/
    public function jobHandle(){}

    /**
     * Read work or result data into a buffer for a task
     *
     * @param int $data_len Length of data to be read.
     * @return array An array whose first element is the length of data
     *   read and the second is the data buffer. Returns FALSE if the read
     *   failed.
     * @since PECL gearman >= 0.5.0
     **/
    public function recvData($data_len){}

    /**
     * Get the last return code
     *
     * Returns the last Gearman return code for this task.
     *
     * @return int A valid Gearman return code.
     * @since PECL gearman >= 0.5.0
     **/
    public function returnCode(){}

    /**
     * Send data for a task (deprecated)
     *
     * @param string $data Data to send to the worker.
     * @return int The length of data sent, or FALSE if the send failed.
     * @since PECL gearman
     **/
    public function sendData($data){}

    /**
     * Send data for a task
     *
     * @param string $data Data to send to the worker.
     * @return int The length of data sent, or FALSE if the send failed.
     * @since PECL gearman >= 0.6.0
     **/
    public function sendWorkload($data){}

    /**
     * Get completion percentage denominator
     *
     * Returns the denominator of the percentage of the task that is complete
     * expressed as a fraction.
     *
     * @return int A number between 0 and 100, or FALSE if cannot be
     *   determined.
     * @since PECL gearman >= 0.5.0
     **/
    public function taskDenominator(){}

    /**
     * Get completion percentage numerator
     *
     * Returns the numerator of the percentage of the task that is complete
     * expressed as a fraction.
     *
     * @return int A number between 0 and 100, or FALSE if cannot be
     *   determined.
     * @since PECL gearman >= 0.5.0
     **/
    public function taskNumerator(){}

    /**
     * Get the unique identifier for a task
     *
     * Returns the unique identifier for this task. This is assigned by the
     * GearmanClient, as opposed to the job handle which is set by the
     * Gearman job server.
     *
     * @return string The unique identifier, or FALSE if no identifier is
     *   assigned.
     * @since PECL gearman >= 0.6.0
     **/
    public function unique(){}

    /**
     * Get the unique identifier for a task (deprecated)
     *
     * Returns the unique identifier for this task. This is assigned by the
     * GearmanClient, as opposed to the job handle which is set by the
     * Gearman job server.
     *
     * @return string The unique identifier, or FALSE if no identifier is
     *   assigned.
     * @since PECL gearman
     **/
    public function uuid(){}

    /**
     * Create a GearmanTask instance
     *
     * Creates a GearmanTask instance representing a task to be submitted to
     * a job server.
     *
     * @since PECL gearman >= 0.5.0
     **/
    public function __construct(){}

}
class GearmanWorker {
    /**
     * Register and add callback function
     *
     * Registers a function name with the job server and specifies a callback
     * corresponding to that function. Optionally specify extra application
     * context data to be used when the callback is called and a timeout.
     *
     * @param string $function_name The name of a function to register with
     *   the job server
     * @param callable $function A callback that gets called when a job for
     *   the registered function name is submitted
     * @param mixed $context A reference to arbitrary application context
     *   data that can be modified by the worker function
     * @param int $timeout An interval of time in seconds
     * @return bool
     * @since PECL gearman >= 0.5.0
     **/
    public function addFunction($function_name, $function, &$context, $timeout){}

    /**
     * Add worker options
     *
     * Adds one or more options to the options previously set.
     *
     * @param int $option The options to be added
     * @return bool Always returns TRUE.
     * @since PECL gearman >= 0.6.0
     **/
    public function addOptions($option){}

    /**
     * Add a job server
     *
     * Adds a job server to this worker. This goes into a list of servers
     * than can be used to run jobs. No socket I/O happens here.
     *
     * @param string $host
     * @param int $port
     * @return bool
     * @since PECL gearman >= 0.5.0
     **/
    public function addServer($host, $port){}

    /**
     * Add job servers
     *
     * Adds one or more job servers to this worker. These go into a list of
     * servers that can be used to run jobs. No socket I/O happens here.
     *
     * @param string $servers A comma separated list of job servers in the
     *   format host:port. If no port is specified, it defaults to 4730.
     * @return bool
     * @since PECL gearman >= 0.5.0
     **/
    public function addServers($servers){}

    /**
     * Get the last error encountered
     *
     * Returns an error string for the last error encountered.
     *
     * @return string An error string.
     * @since PECL gearman >= 0.5.0
     **/
    public function error(){}

    /**
     * Get errno
     *
     * Returns the value of errno in the case of a GEARMAN_ERRNO return
     * value.
     *
     * @return int A valid errno.
     * @since PECL gearman >= 0.5.0
     **/
    public function getErrno(){}

    /**
     * Get worker options
     *
     * Gets the options previously set for the worker.
     *
     * @return int The options currently set for the worker.
     * @since PECL gearman >= 0.6.0
     **/
    public function options(){}

    /**
     * Register a function with the job server
     *
     * Registers a function name with the job server with an optional
     * timeout. The timeout specifies how many seconds the server will wait
     * before marking a job as failed. If the timeout is set to zero, there
     * is no timeout.
     *
     * @param string $function_name The name of a function to register with
     *   the job server
     * @param int $timeout An interval of time in seconds
     * @return bool A standard Gearman return value.
     * @since PECL gearman >= 0.6.0
     **/
    public function register($function_name, $timeout){}

    /**
     * Remove worker options
     *
     * Removes (unsets) one or more worker options.
     *
     * @param int $option The options to be removed (unset)
     * @return bool Always returns TRUE.
     * @since PECL gearman >= 0.6.0
     **/
    public function removeOptions($option){}

    /**
     * Get last Gearman return code
     *
     * Returns the last Gearman return code.
     *
     * @return int A valid Gearman return code.
     * @since PECL gearman >= 0.5.0
     **/
    public function returnCode(){}

    /**
     * Give the worker an identifier so it can be tracked when asking
     * gearmand for the list of available workers
     *
     * Assigns the worker an identifier.
     *
     * @param string $id A string identifier.
     * @return bool
     **/
    public function setId($id){}

    /**
     * Set worker options
     *
     * Sets one or more options to the supplied value.
     *
     * @param int $option The options to be set
     * @return bool Always returns TRUE.
     * @since PECL gearman >= 0.5.0
     **/
    public function setOptions($option){}

    /**
     * Set socket I/O activity timeout
     *
     * Sets the interval of time to wait for socket I/O activity.
     *
     * @param int $timeout An interval of time in milliseconds. A negative
     *   value indicates an infinite timeout.
     * @return bool Always returns TRUE.
     * @since PECL gearman >= 0.6.0
     **/
    public function setTimeout($timeout){}

    /**
     * Get socket I/O activity timeout
     *
     * Returns the current time to wait, in milliseconds, for socket I/O
     * activity.
     *
     * @return int A time period is milliseconds. A negative value
     *   indicates an infinite timeout.
     * @since PECL gearman >= 0.6.0
     **/
    public function timeout(){}

    /**
     * Unregister a function name with the job servers
     *
     * Unregisters a function name with the job servers ensuring that no more
     * jobs (for that function) are sent to this worker.
     *
     * @param string $function_name The name of a function to register with
     *   the job server
     * @return bool A standard Gearman return value.
     * @since PECL gearman >= 0.6.0
     **/
    public function unregister($function_name){}

    /**
     * Unregister all function names with the job servers
     *
     * Unregisters all previously registered functions, ensuring that no more
     * jobs are sent to this worker.
     *
     * @return bool A standard Gearman return value.
     * @since PECL gearman >= 0.6.0
     **/
    public function unregisterAll(){}

    /**
     * Wait for activity from one of the job servers
     *
     * Causes the worker to wait for activity from one of the Gearman job
     * servers when operating in non-blocking I/O mode. On failure, issues a
     * E_WARNING with the last Gearman error encountered.
     *
     * @return bool
     * @since PECL gearman >= 0.6.0
     **/
    public function wait(){}

    /**
     * Wait for and perform jobs
     *
     * Waits for a job to be assigned and then calls the appropriate callback
     * function. Issues an E_WARNING with the last Gearman error if the
     * return code is not one of GEARMAN_SUCCESS, GEARMAN_IO_WAIT, or
     * GEARMAN_WORK_FAIL.
     *
     * @return bool
     * @since PECL gearman >= 0.5.0
     **/
    public function work(){}

    /**
     * Create a GearmanWorker instance
     *
     * Creates a GearmanWorker instance representing a worker that connects
     * to the job server and accepts tasks to run.
     *
     * @since PECL gearman >= 0.5.0
     **/
    public function __construct(){}

}
namespace Gender {
class Gender {
    /**
     * Connect to an external name dictionary
     *
     * Connect to an external name dictionary. Currently only streams are
     * supported.
     *
     * @param string $dsn DSN to open.
     * @return bool Boolean as success of failure.
     **/
    public function connect($dsn){}

    /**
     * Get textual country representation
     *
     * Returns the textual representation of a country from a Gender class
     * constant.
     *
     * @param int $country A country ID specified by a Gender\Gender class
     *   constant.
     * @return array Returns an array with the short and full names of the
     *   country on success .
     **/
    public function country($country){}

    /**
     * Get gender of a name
     *
     * Get the gender of the name in a particular country.
     *
     * @param string $name Name to check.
     * @param int $country Country id identified by Gender class constant.
     * @return int Returns gender of the name.
     **/
    public function get($name, $country){}

    /**
     * Check if the name0 is an alias of the name1
     *
     * Check whether the name0 is a nick of the name1.
     *
     * @param string $name0 Name to check.
     * @param string $name1 Name to check.
     * @param int $country Country id identified by Gender class constant.
     *   If ommited ANY_COUNTRY is used.
     * @return array
     **/
    public function isNick($name0, $name1, $country){}

    /**
     * Get similar names
     *
     * Get similar names for the given name and country.
     *
     * @param string $name Name to check.
     * @param int $country Country id identified by Gender class constant.
     *   If ommited ANY_COUNTRY is used.
     * @return array Returns an array with the similar names found.
     **/
    public function similarNames($name, $country){}

    /**
     * Construct the Gender object
     *
     * Create a Gender object optionally connecting to an external name
     * dictionary. When no external database was given, compiled in data will
     * be used.
     *
     * @param string $dsn DSN to open.
     **/
    public function __construct($dsn){}

}
}
/**
 * Generator objects are returned from generators.
 **/
class Generator implements Iterator {
    /**
     * Get the yielded value
     *
     * @return mixed Returns the yielded value.
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function current(){}

    /**
     * Get the return value of a generator
     *
     * @return mixed Returns the generator's return value once it has
     *   finished executing.
     * @since PHP 7
     **/
    public function getReturn(){}

    /**
     * Get the yielded key
     *
     * Gets the key of the yielded value.
     *
     * @return mixed Returns the yielded key.
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function key(){}

    /**
     * Resume execution of the generator
     *
     * Calling Generator::next is equivalent to calling Generator::send with
     * NULL as argument.
     *
     * @return void
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function next(){}

    /**
     * Rewind the iterator
     *
     * If iteration has already begun, this will throw an exception.
     *
     * @return void
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function rewind(){}

    /**
     * Send a value to the generator
     *
     * Sends the given value to the generator as the result of the current
     * expression and resumes execution of the generator.
     *
     * If the generator is not at a expression when this method is called, it
     * will first be let to advance to the first expression before sending
     * the value. As such it is not necessary to "prime" PHP generators with
     * a Generator::next call (like it is done in Python).
     *
     * @param mixed $value Value to send into the generator. This value
     *   will be the return value of the expression the generator is
     *   currently at.
     * @return mixed Returns the yielded value.
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function send($value){}

    /**
     * Throw an exception into the generator
     *
     * Throws an exception into the generator and resumes execution of the
     * generator. The behavior will be the same as if the current expression
     * was replaced with a throw $exception statement.
     *
     * If the generator is already closed when this method is invoked, the
     * exception will be thrown in the caller's context instead.
     *
     * @param Throwable $exception Exception to throw into the generator.
     * @return mixed Returns the yielded value.
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function throw($exception){}

    /**
     * Check if the iterator has been closed
     *
     * @return bool Returns FALSE if the iterator has been closed.
     *   Otherwise returns TRUE.
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function valid(){}

    /**
     * Serialize callback
     *
     * Throws an exception as generators can't be serialized.
     *
     * @return void
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function __wakeup(){}

}
/**
 * Absolute value
 *
 * Returns the absolute value of {@link number}.
 *
 * @param mixed $number The numeric value to process
 * @return number The absolute value of {@link number}. If the argument
 *   {@link number} is of type float, the return type is also float,
 *   otherwise it is integer (as float usually has a bigger value range
 *   than integer).
 * @since PHP 4, PHP 5, PHP 7
 **/
function abs($number){}

/**
 * Arc cosine
 *
 * Returns the arc cosine of {@link arg} in radians. {@link acos} is the
 * inverse function of {@link cos}, which means that a==cos(acos(a)) for
 * every value of a that is within {@link acos}' range.
 *
 * @param float $arg The argument to process
 * @return float The arc cosine of {@link arg} in radians.
 * @since PHP 4, PHP 5, PHP 7
 **/
function acos($arg){}

/**
 * Inverse hyperbolic cosine
 *
 * Returns the inverse hyperbolic cosine of {@link arg}, i.e. the value
 * whose hyperbolic cosine is {@link arg}.
 *
 * @param float $arg The value to process
 * @return float The inverse hyperbolic cosine of {@link arg}
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function acosh($arg){}

/**
 * Quote string with slashes in a C style
 *
 * Returns a string with backslashes before characters that are listed in
 * {@link charlist} parameter.
 *
 * @param string $str The string to be escaped.
 * @param string $charlist A list of characters to be escaped. If
 *   {@link charlist} contains characters \n, \r etc., they are converted
 *   in C-like style, while other non-alphanumeric characters with ASCII
 *   codes lower than 32 and higher than 126 converted to octal
 *   representation. When you define a sequence of characters in the
 *   charlist argument make sure that you know what characters come
 *   between the characters that you set as the start and end of the
 *   range.
 *   
 *   <?php echo addcslashes('foo[ ]', 'A..z'); // output: \f\o\o\[ \] //
 *   All upper and lower-case letters will be escaped // ... but so will
 *   the [\]^_` ?>
 *   
 *   Also, if the first character in a range has a higher ASCII value
 *   than the second character in the range, no range will be
 *   constructed. Only the start, end and period characters will be
 *   escaped. Use the {@link ord} function to find the ASCII value for a
 *   character.
 *   
 *   <?php echo addcslashes("zoo['.']", 'z..A'); // output: \zoo['\.'] ?>
 *   
 *   Be careful if you choose to escape characters 0, a, b, f, n, r, t
 *   and v. They will be converted to \0, \a, \b, \f, \n, \r, \t and \v,
 *   all of which are predefined escape sequences in C. Many of these
 *   sequences are also defined in other C-derived languages, including
 *   PHP, meaning that you may not get the desired result if you use the
 *   output of {@link addcslashes} to generate code in those languages
 *   with these characters defined in {@link charlist}.
 * @return string Returns the escaped string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function addcslashes($str, $charlist){}

/**
 * Adds a solid fill to the shape
 *
 * {@link SWFShape::addFill} adds a solid fill to the shape's list of
 * fill styles. {@link SWFShape::addFill} accepts three different types
 * of arguments.
 *
 * {@link red}, {@link green}, {@link blue} is a color (RGB mode).
 *
 * The {@link bitmap} argument is an {@link SWFBitmap} object. The {@link
 * flags} argument can be one of the following values:
 * SWFFILL_CLIPPED_BITMAP, SWFFILL_TILED_BITMAP, SWFFILL_LINEAR_GRADIENT
 * or SWFFILL_RADIAL_GRADIENT. Default is SWFFILL_TILED_BITMAP for
 * SWFBitmap and SWFFILL_LINEAR_GRADIENT for SWFGradient.
 *
 * The {@link gradient} argument is an {@link SWFGradient} object. The
 * flags argument can be one of the following values :
 * SWFFILL_RADIAL_GRADIENT or SWFFILL_LINEAR_GRADIENT. Default is
 * SWFFILL_LINEAR_GRADIENT. I'm sure about this one. Really.
 *
 * {@link SWFShape::addFill} returns an {@link SWFFill} object for use
 * with the {@link SWFShape::setLeftFill} and {@link
 * SWFShape::setRightFill} functions described below.
 *
 * @param SWFBitmap $bitmap
 * @param int $flags
 * @return SWFFill
 **/
function addFill($bitmap, $flags){}

/**
 * Quote string with slashes
 *
 * Returns a string with backslashes added before characters that need to
 * be escaped. These characters are: single quote (') double quote (")
 * backslash (\) NUL (the NUL byte)
 *
 * A use case of {@link addslashes} is escaping the aforementioned
 * characters in a string that is to be evaluated by PHP:
 *
 * <?php $str = "O'Reilly?"; eval("echo '" . addslashes($str) . "';"); ?>
 *
 * Prior to PHP 5.4.0, the PHP directive magic_quotes_gpc was on by
 * default and it essentially ran {@link addslashes} on all GET, POST and
 * COOKIE data. {@link addslashes} must not be used on strings that have
 * already been escaped with magic_quotes_gpc, as the strings will be
 * double escaped. {@link get_magic_quotes_gpc} can be used to check if
 * magic_quotes_gpc is on.
 *
 * The {@link addslashes} is sometimes incorrectly used to try to prevent
 * SQL Injection. Instead, database-specific escaping functions and/or
 * prepared statements should be used.
 *
 * @param string $str The string to be escaped.
 * @return string Returns the escaped string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function addslashes($str){}

/**
 * Terminate apache process after this request
 *
 * {@link apache_child_terminate} will register the Apache process
 * executing the current PHP request for termination once execution of
 * PHP code is completed. It may be used to terminate a process after a
 * script with high memory consumption has been run as memory will
 * usually only be freed internally but not given back to the operating
 * system.
 *
 * @return bool Returns TRUE if PHP is running as an Apache 1 module,
 *   the Apache version is non-multithreaded, and the child_terminate PHP
 *   directive is enabled (disabled by default). If these conditions are
 *   not met, FALSE is returned and an error of level E_WARNING is
 *   generated.
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7
 **/
function apache_child_terminate(){}

/**
 * Get an Apache subprocess_env variable
 *
 * Retrieve an Apache environment variable specified by {@link variable}.
 *
 * This function requires Apache 2 otherwise it's undefined.
 *
 * @param string $variable The Apache environment variable
 * @param bool $walk_to_top Whether to get the top-level variable
 *   available to all Apache layers.
 * @return string The value of the Apache environment variable on
 *   success, or FALSE on failure
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function apache_getenv($variable, $walk_to_top){}

/**
 * Get a list of loaded Apache modules
 *
 * @return array An array of loaded Apache modules.
 * @since PHP 4 >= 4.3.2, PHP 5, PHP 7
 **/
function apache_get_modules(){}

/**
 * Fetch Apache version
 *
 * Fetch the Apache version.
 *
 * @return string Returns the Apache version on success.
 * @since PHP 4 >= 4.3.2, PHP 5, PHP 7
 **/
function apache_get_version(){}

/**
 * Perform a partial request for the specified URI and return all info
 * about it
 *
 * This performs a partial request for a URI. It goes just far enough to
 * obtain all the important information about the given resource.
 *
 * @param string $filename The filename (URI) that's being requested.
 * @return object An object of related URI information. The properties
 *   of this object are:
 * @since PHP 4, PHP 5, PHP 7
 **/
function apache_lookup_uri($filename){}

/**
 * Get and set apache request notes
 *
 * This function is a wrapper for Apache's table_get and table_set. It
 * edits the table of notes that exists during a request. The table's
 * purpose is to allow Apache modules to communicate.
 *
 * The main use for {@link apache_note} is to pass information from one
 * module to another within the same request.
 *
 * @param string $note_name The name of the note.
 * @param string $note_value The value of the note.
 * @return string If called with one argument, it returns the current
 *   value of note note_name. If called with two arguments, it sets the
 *   value of note note_name to note_value and returns the previous value
 *   of note note_name. If the note cannot be retrieved, FALSE is
 *   returned.
 * @since PHP 4, PHP 5, PHP 7
 **/
function apache_note($note_name, $note_value){}

/**
 * Fetch all HTTP request headers
 *
 * Fetches all HTTP request headers from the current request.
 *
 * @return array An associative array of all the HTTP headers in the
 *   current request, or FALSE on failure.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function apache_request_headers(){}

/**
 * Reset the Apache write timer
 *
 * {@link apache_reset_timeout} resets the Apache write timer, which
 * defaults to 300 seconds. With set_time_limit(0);
 * ignore_user_abort(true) and periodic {@link apache_reset_timeout}
 * calls, Apache can theoretically run forever.
 *
 * This function requires Apache 1.
 *
 * @return bool
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function apache_reset_timeout(){}

/**
 * Fetch all HTTP response headers
 *
 * @return array An array of all Apache response headers on success.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function apache_response_headers(){}

/**
 * Set an Apache subprocess_env variable
 *
 * {@link apache_setenv} sets the value of the Apache environment
 * variable specified by {@link variable}.
 *
 * @param string $variable The environment variable that's being set.
 * @param string $value The new {@link variable} value.
 * @param bool $walk_to_top Whether to set the top-level variable
 *   available to all Apache layers.
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function apache_setenv($variable, $value, $walk_to_top){}

/**
 * Cache a new variable in the data store
 *
 * Caches a variable in the data store, only if it's not already stored.
 *
 * @param string $key Store the variable using this name. {@link key}s
 *   are cache-unique, so attempting to use {@link apcu_add} to store
 *   data with a key that already exists will not overwrite the existing
 *   data, and will instead return FALSE. (This is the only difference
 *   between {@link apcu_add} and {@link apcu_store}.)
 * @param mixed $var The variable to store
 * @param int $ttl Time To Live; store {@link var} in the cache for
 *   {@link ttl} seconds. After the {@link ttl} has passed, the stored
 *   variable will be expunged from the cache (on the next request). If
 *   no {@link ttl} is supplied (or if the {@link ttl} is 0), the value
 *   will persist until it is removed from the cache manually, or
 *   otherwise fails to exist in the cache (clear, restart, etc.).
 * @return bool Returns TRUE if something has effectively been added
 *   into the cache, FALSE otherwise. Second syntax returns array with
 *   error keys.
 * @since PECL apcu >= 4.0.0
 **/
function apcu_add($key, $var, $ttl){}

/**
 * Retrieves cached information from APCu's data store
 *
 * Retrieves cached information and meta-data from APC's data store.
 *
 * @param bool $limited If {@link limited} is TRUE, the return value
 *   will exclude the individual list of cache entries. This is useful
 *   when trying to optimize calls for statistics gathering.
 * @return array Array of cached data (and meta-data)
 * @since PECL apcu >= 4.0.0
 **/
function apcu_cache_info($limited){}

/**
 * Updates an old value with a new value
 *
 * {@link apcu_cas} updates an already existing integer value if the
 * {@link old} parameter matches the currently stored value with the
 * value of the {@link new} parameter.
 *
 * @param string $key The key of the value being updated.
 * @param int $old The old value (the value currently stored).
 * @param int $new The new value to update to.
 * @return bool
 * @since PECL apcu >= 4.0.0
 **/
function apcu_cas($key, $old, $new){}

/**
 * Clears the APCu cache
 *
 * Clears the cache.
 *
 * @return bool Returns TRUE always
 * @since PECL apcu >= 4.0.0
 **/
function apcu_clear_cache(){}

/**
 * Decrease a stored number
 *
 * Decreases a stored integer value.
 *
 * @param string $key The key of the value being decreased.
 * @param int $step The step, or value to decrease.
 * @param bool $success Optionally pass the success or fail boolean
 *   value to this referenced variable.
 * @return int Returns the current value of {@link key}'s value on
 *   success,
 * @since PECL apcu >= 4.0.0
 **/
function apcu_dec($key, $step, &$success){}

/**
 * Removes a stored variable from the cache
 *
 * Removes a stored variable from the cache.
 *
 * @param mixed $key A {@link key} used to store the value as a string
 *   for a single key, or as an array of strings for several keys, or as
 *   an APCUIterator object.
 * @return bool
 * @since PECL apcu >= 4.0.0
 **/
function apcu_delete($key){}

/**
 * Atomically fetch or generate a cache entry
 *
 * Atomically attempts to find {@link key} in the cache, if it cannot be
 * found {@link generator} is called, passing {@link key} as the only
 * argument. The return value of the call is then cached with the
 * optionally specified {@link ttl}, and returned.
 *
 * @param string $key Identity of cache entry
 * @param callable $generator A callable that accepts {@link key} as
 *   the only argument and returns the value to cache.
 * @param int $ttl Time To Live; store {@link var} in the cache for
 *   {@link ttl} seconds. After the {@link ttl} has passed, the stored
 *   variable will be expunged from the cache (on the next request). If
 *   no {@link ttl} is supplied (or if the {@link ttl} is 0), the value
 *   will persist until it is removed from the cache manually, or
 *   otherwise fails to exist in the cache (clear, restart, etc.).
 * @return mixed Returns the cached value
 * @since PECL apcu >= 5.1.0
 **/
function apcu_entry($key, $generator, $ttl){}

/**
 * Checks if entry exists
 *
 * Checks if one or more APCu entries exist.
 *
 * @param mixed $keys A string, or an array of strings, that contain
 *   keys.
 * @return mixed Returns TRUE if the key exists, otherwise FALSE Or if
 *   an array was passed to {@link keys}, then an array is returned that
 *   contains all existing keys, or an empty array if none exist.
 * @since PECL apcu >= 4.0.0
 **/
function apcu_exists($keys){}

/**
 * Fetch a stored variable from the cache
 *
 * Fetchs an entry from the cache.
 *
 * @param mixed $key The {@link key} used to store the value (with
 *   {@link apcu_store}). If an array is passed then each element is
 *   fetched and returned.
 * @param bool $success Set to TRUE in success and FALSE in failure.
 * @return mixed The stored variable or array of variables on success;
 *   FALSE on failure
 * @since PECL apcu >= 4.0.0
 **/
function apcu_fetch($key, &$success){}

/**
 * Increase a stored number
 *
 * Increases a stored number.
 *
 * @param string $key The key of the value being increased.
 * @param int $step The step, or value to increase.
 * @param bool $success Optionally pass the success or fail boolean
 *   value to this referenced variable.
 * @return int Returns the current value of {@link key}'s value on
 *   success,
 * @since PECL apcu >= 4.0.0
 **/
function apcu_inc($key, $step, &$success){}

/**
 * Retrieves APCu Shared Memory Allocation information
 *
 * Retrieves APCu Shared Memory Allocation information.
 *
 * @param bool $limited When set to FALSE (default) {@link
 *   apcu_sma_info} will return a detailed information about each
 *   segment.
 * @return array Array of Shared Memory Allocation data; FALSE on
 *   failure.
 * @since PECL apcu >= 4.0.0
 **/
function apcu_sma_info($limited){}

/**
 * Cache a variable in the data store
 *
 * Cache a variable in the data store.
 *
 * @param string $key Store the variable using this name. {@link key}s
 *   are cache-unique, so storing a second value with the same {@link
 *   key} will overwrite the original value.
 * @param mixed $var The variable to store
 * @param int $ttl Time To Live; store {@link var} in the cache for
 *   {@link ttl} seconds. After the {@link ttl} has passed, the stored
 *   variable will be expunged from the cache (on the next request). If
 *   no {@link ttl} is supplied (or if the {@link ttl} is 0), the value
 *   will persist until it is removed from the cache manually, or
 *   otherwise fails to exist in the cache (clear, restart, etc.).
 * @return bool Second syntax returns array with error keys.
 * @since PECL apcu >= 4.0.0
 **/
function apcu_store($key, $var, $ttl){}

/**
 * Cache a new variable in the data store
 *
 * Caches a variable in the data store, only if it's not already stored.
 *
 * @param string $key Store the variable using this name. {@link key}s
 *   are cache-unique, so attempting to use {@link apc_add} to store data
 *   with a key that already exists will not overwrite the existing data,
 *   and will instead return FALSE. (This is the only difference between
 *   {@link apc_add} and {@link apc_store}.)
 * @param mixed $var The variable to store
 * @param int $ttl Time To Live; store {@link var} in the cache for
 *   {@link ttl} seconds. After the {@link ttl} has passed, the stored
 *   variable will be expunged from the cache (on the next request). If
 *   no {@link ttl} is supplied (or if the {@link ttl} is 0), the value
 *   will persist until it is removed from the cache manually, or
 *   otherwise fails to exist in the cache (clear, restart, etc.).
 * @return bool Returns TRUE if something has effectively been added
 *   into the cache, FALSE otherwise. Second syntax returns array with
 *   error keys.
 * @since PECL apc >= 3.0.13
 **/
function apc_add($key, $var, $ttl){}

/**
 * Get a binary dump of the given files and user variables
 *
 * Returns a binary dump of the given files and user variables from the
 * APC cache. A NULL for files or user_vars signals a dump of every
 * entry, whereas array() will dump nothing.
 *
 * @param array $files The files. Passing in NULL signals a dump of
 *   every entry, while passing in {@link array} will dump nothing.
 * @param array $user_vars The user vars. Passing in NULL signals a
 *   dump of every entry, while passing in {@link array} will dump
 *   nothing.
 * @return string Returns a binary dump of the given files and user
 *   variables from the APC cache, FALSE if APC is not enabled, or NULL
 *   if an unknown error is encountered.
 * @since PECL apc >= 3.1.4
 **/
function apc_bin_dump($files, $user_vars){}

/**
 * Output a binary dump of cached files and user variables to a file
 *
 * Outputs a binary dump of the given files and user variables from the
 * APC cache to the named file.
 *
 * @param array $files The file names being dumped.
 * @param array $user_vars The user variables being dumped.
 * @param string $filename The filename where the dump is being saved.
 * @param int $flags Flags passed to the {@link filename} stream. See
 *   the {@link file_put_contents} documentation for details.
 * @param resource $context The context passed to the {@link filename}
 *   stream. See the {@link file_put_contents} documentation for details.
 * @return int The number of bytes written to the file, otherwise FALSE
 *   if APC is not enabled, {@link filename} is an invalid file name,
 *   {@link filename} can't be opened, the file dump can't be completed
 *   (e.g., the hard drive is out of disk space), or an unknown error was
 *   encountered.
 * @since PECL apc >= 3.1.4
 **/
function apc_bin_dumpfile($files, $user_vars, $filename, $flags, $context){}

/**
 * Load a binary dump into the APC file/user cache
 *
 * Loads the given binary dump into the APC file/user cache.
 *
 * @param string $data The binary dump being loaded, likely from {@link
 *   apc_bin_dump}.
 * @param int $flags Either APC_BIN_VERIFY_CRC32, APC_BIN_VERIFY_MD5,
 *   or both.
 * @return bool Returns TRUE if the binary dump {@link data} was loaded
 *   with success, otherwise FALSE is returned. FALSE is returned if APC
 *   is not enabled, or if the {@link data} is not a valid APC binary
 *   dump (e.g., unexpected size).
 * @since PECL apc >= 3.1.4
 **/
function apc_bin_load($data, $flags){}

/**
 * Load a binary dump from a file into the APC file/user cache
 *
 * Loads a binary dump from a file into the APC file/user cache.
 *
 * @param string $filename The file name containing the dump, likely
 *   from {@link apc_bin_dumpfile}.
 * @param resource $context The files context.
 * @param int $flags Either APC_BIN_VERIFY_CRC32, APC_BIN_VERIFY_MD5,
 *   or both.
 * @return bool Returns TRUE on success, otherwise FALSE Reasons it may
 *   return FALSE include APC is not enabled, {@link filename} is an
 *   invalid file name or empty, {@link filename} can't be opened, the
 *   file dump can't be completed, or if the {@link data} is not a valid
 *   APC binary dump (e.g., unexpected size).
 * @since PECL apc >= 3.1.4
 **/
function apc_bin_loadfile($filename, $context, $flags){}

/**
 * Retrieves cached information from APC's data store
 *
 * Retrieves cached information and meta-data from APC's data store.
 *
 * @param string $cache_type If {@link cache_type} is "user",
 *   information about the user cache will be returned. If {@link
 *   cache_type} is "filehits", information about which files have been
 *   served from the bytecode cache for the current request will be
 *   returned. This feature must be enabled at compile time using
 *   --enable-filehits. If an invalid or no {@link cache_type} is
 *   specified, information about the system cache (cached files) will be
 *   returned.
 * @param bool $limited If {@link limited} is TRUE, the return value
 *   will exclude the individual list of cache entries. This is useful
 *   when trying to optimize calls for statistics gathering.
 * @return array Array of cached data (and meta-data)
 * @since PECL apc >= 2.0.0
 **/
function apc_cache_info($cache_type, $limited){}

/**
 * Updates an old value with a new value
 *
 * {@link apc_cas} updates an already existing integer value if the
 * {@link old} parameter matches the currently stored value with the
 * value of the {@link new} parameter.
 *
 * @param string $key The key of the value being updated.
 * @param int $old The old value (the value currently stored).
 * @param int $new The new value to update to.
 * @return bool
 * @since PECL apc >= 3.1.1
 **/
function apc_cas($key, $old, $new){}

/**
 * Clears the APC cache
 *
 * Clears the user/system cache.
 *
 * @param string $cache_type If {@link cache_type} is "user", the user
 *   cache will be cleared; otherwise, the system cache (cached files)
 *   will be cleared.
 * @return bool Returns TRUE always
 * @since PECL apc >= 2.0.0
 **/
function apc_clear_cache($cache_type){}

/**
 * Stores a file in the bytecode cache, bypassing all filters
 *
 * Stores a file in the bytecode cache, bypassing all filters.
 *
 * @param string $filename Full or relative path to a PHP file that
 *   will be compiled and stored in the bytecode cache.
 * @param bool $atomic
 * @return mixed
 * @since PECL apc >= 3.0.13
 **/
function apc_compile_file($filename, $atomic){}

/**
 * Decrease a stored number
 *
 * Decreases a stored integer value.
 *
 * @param string $key The key of the value being decreased.
 * @param int $step The step, or value to decrease.
 * @param bool $success Optionally pass the success or fail boolean
 *   value to this referenced variable.
 * @return int Returns the current value of {@link key}'s value on
 *   success,
 * @since PECL apc >= 3.1.1
 **/
function apc_dec($key, $step, &$success){}

/**
 * Defines a set of constants for retrieval and mass-definition
 *
 * {@link define} is notoriously slow. Since the main benefit of APC is
 * to increase the performance of scripts/applications, this mechanism is
 * provided to streamline the process of mass constant definition.
 * However, this function does not perform as well as anticipated.
 *
 * For a better-performing solution, try the hidef extension from PECL.
 *
 * @param string $key The {@link key} serves as the name of the
 *   constant set being stored. This {@link key} is used to retrieve the
 *   stored constants in {@link apc_load_constants}.
 * @param array $constants An associative array of constant_name =>
 *   value pairs. The constant_name must follow the normal constant
 *   naming rules. value must evaluate to a scalar value.
 * @param bool $case_sensitive The default behaviour for constants is
 *   to be declared case-sensitive; i.e. CONSTANT and Constant represent
 *   different values. If this parameter evaluates to FALSE the constants
 *   will be declared as case-insensitive symbols.
 * @return bool
 * @since PECL apc >= 3.0.0
 **/
function apc_define_constants($key, $constants, $case_sensitive){}

/**
 * Removes a stored variable from the cache
 *
 * Removes a stored variable from the cache.
 *
 * @param string $key The {@link key} used to store the value (with
 *   {@link apc_store}).
 * @return mixed
 * @since PECL apc >= 3.0.0
 **/
function apc_delete($key){}

/**
 * Deletes files from the opcode cache
 *
 * Deletes the given files from the opcode cache.
 *
 * @param mixed $keys The files to be deleted. Accepts a string, array
 *   of strings, or an APCIterator object.
 * @return mixed Or if {@link keys} is an array, then an empty array is
 *   returned on success, or an array of failed files is returned.
 * @since PECL apc >= 3.1.1
 **/
function apc_delete_file($keys){}

/**
 * Checks if APC key exists
 *
 * Checks if one or more APC keys exist.
 *
 * @param mixed $keys A string, or an array of strings, that contain
 *   keys.
 * @return mixed Returns TRUE if the key exists, otherwise FALSE Or if
 *   an array was passed to {@link keys}, then an array is returned that
 *   contains all existing keys, or an empty array if none exist.
 * @since PECL apc >= 3.1.4
 **/
function apc_exists($keys){}

/**
 * Fetch a stored variable from the cache
 *
 * Fetchs a stored variable from the cache.
 *
 * @param mixed $key The {@link key} used to store the value (with
 *   {@link apc_store}). If an array is passed then each element is
 *   fetched and returned.
 * @param bool $success Set to TRUE in success and FALSE in failure.
 * @return mixed The stored variable or array of variables on success;
 *   FALSE on failure
 * @since PECL apc >= 3.0.0
 **/
function apc_fetch($key, &$success){}

/**
 * Increase a stored number
 *
 * Increases a stored number.
 *
 * @param string $key The key of the value being increased.
 * @param int $step The step, or value to increase.
 * @param bool $success Optionally pass the success or fail boolean
 *   value to this referenced variable.
 * @return int Returns the current value of {@link key}'s value on
 *   success,
 * @since PECL apc >= 3.1.1
 **/
function apc_inc($key, $step, &$success){}

/**
 * Loads a set of constants from the cache
 *
 * Loads a set of constants from the cache.
 *
 * @param string $key The name of the constant set (that was stored
 *   with {@link apc_define_constants}) to be retrieved.
 * @param bool $case_sensitive The default behaviour for constants is
 *   to be declared case-sensitive; i.e. CONSTANT and Constant represent
 *   different values. If this parameter evaluates to FALSE the constants
 *   will be declared as case-insensitive symbols.
 * @return bool
 * @since PECL apc >= 3.0.0
 **/
function apc_load_constants($key, $case_sensitive){}

/**
 * Retrieves APC's Shared Memory Allocation information
 *
 * Retrieves APC's Shared Memory Allocation information.
 *
 * @param bool $limited When set to FALSE (default) {@link
 *   apc_sma_info} will return a detailed information about each segment.
 * @return array Array of Shared Memory Allocation data; FALSE on
 *   failure.
 * @since PECL apc >= 2.0.0
 **/
function apc_sma_info($limited){}

/**
 * Cache a variable in the data store
 *
 * Cache a variable in the data store.
 *
 * @param string $key Store the variable using this name. {@link key}s
 *   are cache-unique, so storing a second value with the same {@link
 *   key} will overwrite the original value.
 * @param mixed $var The variable to store
 * @param int $ttl Time To Live; store {@link var} in the cache for
 *   {@link ttl} seconds. After the {@link ttl} has passed, the stored
 *   variable will be expunged from the cache (on the next request). If
 *   no {@link ttl} is supplied (or if the {@link ttl} is 0), the value
 *   will persist until it is removed from the cache manually, or
 *   otherwise fails to exist in the cache (clear, restart, etc.).
 * @return bool Second syntax returns array with error keys.
 * @since PECL apc >= 3.0.0
 **/
function apc_store($key, $var, $ttl){}

/**
 * Stops the interpreter and waits on a CR from the socket
 *
 * This can be used to stop the running of your script, and await
 * responses on the connected socket. To step the program, just send
 * enter (a blank line), or enter a php command to be executed.
 *
 * @param int $debug_level
 * @return bool
 * @since PECL apd >= 0.2
 **/
function apd_breakpoint($debug_level){}

/**
 * Returns the current call stack as an array
 *
 * @return array An array containing the current call stack.
 * @since PECL apd 0.2-0.4
 **/
function apd_callstack(){}

/**
 * Throw a warning and a callstack
 *
 * Behaves like perl's Carp::cluck. Throw a warning and a callstack.
 *
 * @param string $warning The warning to throw.
 * @param string $delimiter The delimiter. Default to <BR />.
 * @return void
 * @since PECL apd 0.2-0.4
 **/
function apd_clunk($warning, $delimiter){}

/**
 * Restarts the interpreter
 *
 * Usually sent via the socket to restart the interpreter.
 *
 * @param int $debug_level
 * @return bool
 * @since PECL apd >= 0.2
 **/
function apd_continue($debug_level){}

/**
 * Throw an error, a callstack and then exit
 *
 * Behaves like perl's Carp::croak. Throw an error, a callstack and then
 * exit.
 *
 * @param string $warning The warning to throw.
 * @param string $delimiter The delimiter. Default to <BR />.
 * @return void
 * @since PECL apd 0.2-0.4
 **/
function apd_croak($warning, $delimiter){}

/**
 * Outputs the current function table
 *
 * @return void
 * @since Unknown
 **/
function apd_dump_function_table(){}

/**
 * Return all persistent resources as an array
 *
 * @return array An array containing the current persistent resources.
 * @since PECL apd 0.2-0.4
 **/
function apd_dump_persistent_resources(){}

/**
 * Return all current regular resources as an array
 *
 * @return array An array containing the current regular resources.
 * @since PECL apd 0.2-0.4
 **/
function apd_dump_regular_resources(){}

/**
 * Echo to the debugging socket
 *
 * Usually sent via the socket to request information about the running
 * script.
 *
 * @param string $output The debugged variable.
 * @return bool
 * @since PECL apd >= 0.2
 **/
function apd_echo($output){}

/**
 * Get an array of the current variables names in the local scope
 *
 * Returns the names of all the variables defined in the active scope,
 * (not their values).
 *
 * @return array A multidimensional array with all the variables.
 * @since PECL apd 0.2
 **/
function apd_get_active_symbols(){}

/**
 * Starts the session debugging
 *
 * Starts debugging to pprof_{process_id} in the dump directory.
 *
 * @param string $dump_directory The directory in which the profile
 *   dump file is written. If not set, the apd.dumpdir setting from the
 *   file is used.
 * @param string $fragment
 * @return string Returns path of the destination file.
 * @since PECL apd >= 0.2
 **/
function apd_set_pprof_trace($dump_directory, $fragment){}

/**
 * Changes or sets the current debugging level
 *
 * This can be used to increase or decrease debugging in a different area
 * of your application.
 *
 * @param int $debug_level
 * @return void
 * @since PECL apd 0.2-0.4
 **/
function apd_set_session($debug_level){}

/**
 * Starts the session debugging
 *
 * Starts debugging to apd_dump_{process_id} in the dump directory.
 *
 * @param int $debug_level The directory in which the profile dump file
 *   is written. If not set, the apd.dumpdir setting from the file is
 *   used.
 * @param string $dump_directory
 * @return void
 * @since PECL apd 0.2-0.4
 **/
function apd_set_session_trace($debug_level, $dump_directory){}

/**
 * Starts the remote session debugging
 *
 * Connects to the specified {@link tcp_server} (eg. tcplisten) and sends
 * debugging data to the socket.
 *
 * @param string $tcp_server IP or Unix Domain socket (like a file) of
 *   the TCP server.
 * @param int $socket_type Can be AF_UNIX for file based sockets or
 *   APD_AF_INET for standard tcp/ip.
 * @param int $port You can use any port, but higher numbers are better
 *   as most of the lower numbers may be used by other system services.
 * @param int $debug_level
 * @return bool
 * @since PECL apd >= 0.2
 **/
function apd_set_session_trace_socket($tcp_server, $socket_type, $port, $debug_level){}

/**
 * Changes the case of all keys in an array
 *
 * Returns an array with all keys from {@link array} lowercased or
 * uppercased. Numbered indices are left as is.
 *
 * @param array $array The array to work on
 * @param int $case Either CASE_UPPER or CASE_LOWER (default)
 * @return array Returns an array with its keys lower or uppercased, or
 *   FALSE if {@link array} is not an array.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function array_change_key_case($array, $case){}

/**
 * Split an array into chunks
 *
 * Chunks an array into arrays with {@link size} elements. The last chunk
 * may contain less than {@link size} elements.
 *
 * @param array $array The array to work on
 * @param int $size The size of each chunk
 * @param bool $preserve_keys When set to TRUE keys will be preserved.
 *   Default is FALSE which will reindex the chunk numerically
 * @return array Returns a multidimensional numerically indexed array,
 *   starting with zero, with each dimension containing {@link size}
 *   elements.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function array_chunk($array, $size, $preserve_keys){}

/**
 * Return the values from a single column in the input array
 *
 * {@link array_column} returns the values from a single column of the
 * {@link input}, identified by the {@link column_key}. Optionally, an
 * {@link index_key} may be provided to index the values in the returned
 * array by the values from the {@link index_key} column of the input
 * array.
 *
 * @param array $input A multi-dimensional array or an array of objects
 *   from which to pull a column of values from. If an array of objects
 *   is provided, then public properties can be directly pulled. In order
 *   for protected or private properties to be pulled, the class must
 *   implement both the {@link __get} and {@link __isset} magic methods.
 * @param mixed $column_key The column of values to return. This value
 *   may be an integer key of the column you wish to retrieve, or it may
 *   be a string key name for an associative array or property name. It
 *   may also be NULL to return complete arrays or objects (this is
 *   useful together with {@link index_key} to reindex the array).
 * @param mixed $index_key The column to use as the index/keys for the
 *   returned array. This value may be the integer key of the column, or
 *   it may be the string key name.
 * @return array Returns an array of values representing a single
 *   column from the input array.
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function array_column($input, $column_key, $index_key){}

/**
 * Creates an array by using one array for keys and another for its
 * values
 *
 * Creates an array by using the values from the {@link keys} array as
 * keys and the values from the {@link values} array as the corresponding
 * values.
 *
 * @param array $keys Array of keys to be used. Illegal values for key
 *   will be converted to string.
 * @param array $values Array of values to be used
 * @return array Returns the combined array, FALSE if the number of
 *   elements for each array isn't equal.
 * @since PHP 5, PHP 7
 **/
function array_combine($keys, $values){}

/**
 * Counts all the values of an array
 *
 * {@link array_count_values} returns an array using the values of {@link
 * array} as keys and their frequency in {@link array} as values.
 *
 * @param array $array The array of values to count
 * @return array Returns an associative array of values from {@link
 *   array} as keys and their count as value.
 * @since PHP 4, PHP 5, PHP 7
 **/
function array_count_values($array){}

/**
 * Computes the difference of arrays
 *
 * Compares {@link array1} against one or more other arrays and returns
 * the values in {@link array1} that are not present in any of the other
 * arrays.
 *
 * @param array $array1 The array to compare from
 * @param array $array2 An array to compare against
 * @return array Returns an array containing all the entries from
 *   {@link array1} that are not present in any of the other arrays.
 * @since PHP 4 >= 4.0.1, PHP 5, PHP 7
 **/
function array_diff($array1, $array2){}

/**
 * Computes the difference of arrays with additional index check
 *
 * Compares {@link array1} against {@link array2} and returns the
 * difference. Unlike {@link array_diff} the array keys are also used in
 * the comparison.
 *
 * @param array $array1 The array to compare from
 * @param array $array2 An array to compare against
 * @return array Returns an array containing all the values from {@link
 *   array1} that are not present in any of the other arrays.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function array_diff_assoc($array1, $array2){}

/**
 * Computes the difference of arrays using keys for comparison
 *
 * Compares the keys from {@link array1} against the keys from {@link
 * array2} and returns the difference. This function is like {@link
 * array_diff} except the comparison is done on the keys instead of the
 * values.
 *
 * @param array $array1 The array to compare from
 * @param array $array2 An array to compare against
 * @return array Returns an array containing all the entries from
 *   {@link array1} whose keys are absent from all of the other arrays.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function array_diff_key($array1, $array2){}

/**
 * Computes the difference of arrays with additional index check which is
 * performed by a user supplied callback function
 *
 * Compares {@link array1} against {@link array2} and returns the
 * difference. Unlike {@link array_diff} the array keys are used in the
 * comparison.
 *
 * Unlike {@link array_diff_assoc} a user supplied callback function is
 * used for the indices comparison, not internal function.
 *
 * @param array $array1 The array to compare from
 * @param array $array2 An array to compare against
 * @param callable $key_compare_func More arrays to compare against
 * @return array Returns an array containing all the entries from
 *   {@link array1} that are not present in any of the other arrays.
 * @since PHP 5, PHP 7
 **/
function array_diff_uassoc($array1, $array2, $key_compare_func){}

/**
 * Computes the difference of arrays using a callback function on the
 * keys for comparison
 *
 * Compares the keys from {@link array1} against the keys from {@link
 * array2} and returns the difference. This function is like {@link
 * array_diff} except the comparison is done on the keys instead of the
 * values.
 *
 * Unlike {@link array_diff_key} a user supplied callback function is
 * used for the indices comparison, not internal function.
 *
 * @param array $array1 The array to compare from
 * @param array $array2 An array to compare against
 * @param callable $key_compare_func More arrays to compare against
 * @return array Returns an array containing all the entries from
 *   {@link array1} that are not present in any of the other arrays.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function array_diff_ukey($array1, $array2, $key_compare_func){}

/**
 * Fill an array with values
 *
 * Fills an array with {@link num} entries of the value of the {@link
 * value} parameter, keys starting at the {@link start_index} parameter.
 *
 * @param int $start_index The first index of the returned array. If
 *   {@link start_index} is negative, the first index of the returned
 *   array will be {@link start_index} and the following indices will
 *   start from zero (see example).
 * @param int $num Number of elements to insert. Must be greater than
 *   or equal to zero.
 * @param mixed $value Value to use for filling
 * @return array Returns the filled array
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function array_fill($start_index, $num, $value){}

/**
 * Fill an array with values, specifying keys
 *
 * Fills an array with the value of the {@link value} parameter, using
 * the values of the {@link keys} array as keys.
 *
 * @param array $keys Array of values that will be used as keys.
 *   Illegal values for key will be converted to string.
 * @param mixed $value Value to use for filling
 * @return array Returns the filled array
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function array_fill_keys($keys, $value){}

/**
 * Filters elements of an array using a callback function
 *
 * Iterates over each value in the {@link array} passing them to the
 * {@link callback} function. If the {@link callback} function returns
 * true, the current value from {@link array} is returned into the result
 * array. Array keys are preserved.
 *
 * @param array $array The array to iterate over
 * @param callable $callback The callback function to use If no {@link
 *   callback} is supplied, all entries of {@link array} equal to FALSE
 *   (see converting to boolean) will be removed.
 * @param int $flag Flag determining what arguments are sent to {@link
 *   callback}: ARRAY_FILTER_USE_KEY - pass key as the only argument to
 *   {@link callback} instead of the value ARRAY_FILTER_USE_BOTH - pass
 *   both value and key as arguments to {@link callback} instead of the
 *   value Default is 0 which will pass value as the only argument to
 *   {@link callback} instead.
 * @return array Returns the filtered array.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function array_filter($array, $callback, $flag){}

/**
 * Exchanges all keys with their associated values in an array
 *
 * {@link array_flip} returns an array in flip order, i.e. keys from
 * {@link array} become values and values from {@link array} become keys.
 *
 * Note that the values of {@link array} need to be valid keys, i.e. they
 * need to be either integer or string. A warning will be emitted if a
 * value has the wrong type, and the key/value pair in question will not
 * be included in the result.
 *
 * If a value has several occurrences, the latest key will be used as its
 * value, and all others will be lost.
 *
 * @param array $array An array of key/value pairs to be flipped.
 * @return array Returns the flipped array on success and NULL on
 *   failure.
 * @since PHP 4, PHP 5, PHP 7
 **/
function array_flip($array){}

/**
 * Computes the intersection of arrays
 *
 * {@link array_intersect} returns an array containing all the values of
 * {@link array1} that are present in all the arguments. Note that keys
 * are preserved.
 *
 * @param array $array1 The array with master values to check.
 * @param array $array2 An array to compare values against.
 * @return array Returns an array containing all of the values in
 *   {@link array1} whose values exist in all of the parameters.
 * @since PHP 4 >= 4.0.1, PHP 5, PHP 7
 **/
function array_intersect($array1, $array2){}

/**
 * Computes the intersection of arrays with additional index check
 *
 * @param array $array1 The array with master values to check.
 * @param array $array2 An array to compare values against.
 * @return array Returns an associative array containing all the values
 *   in {@link array1} that are present in all of the arguments.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function array_intersect_assoc($array1, $array2){}

/**
 * Computes the intersection of arrays using keys for comparison
 *
 * {@link array_intersect_key} returns an array containing all the
 * entries of {@link array1} which have keys that are present in all the
 * arguments.
 *
 * @param array $array1 The array with master keys to check.
 * @param array $array2 An array to compare keys against.
 * @return array Returns an associative array containing all the
 *   entries of {@link array1} which have keys that are present in all
 *   arguments.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function array_intersect_key($array1, $array2){}

/**
 * Computes the intersection of arrays with additional index check,
 * compares indexes by a callback function
 *
 * {@link array_intersect_uassoc} returns an array containing all the
 * values of {@link array1} that are present in all the arguments. Note
 * that the keys are used in the comparison unlike in {@link
 * array_intersect}.
 *
 * @param array $array1 Initial array for comparison of the arrays.
 * @param array $array2 First array to compare keys against.
 * @param callable $key_compare_func Variable list of array arguments
 *   to compare values against.
 * @return array Returns the values of {@link array1} whose values
 *   exist in all of the arguments.
 * @since PHP 5, PHP 7
 **/
function array_intersect_uassoc($array1, $array2, $key_compare_func){}

/**
 * Computes the intersection of arrays using a callback function on the
 * keys for comparison
 *
 * {@link array_intersect_ukey} returns an array containing all the
 * values of {@link array1} which have matching keys that are present in
 * all the arguments.
 *
 * @param array $array1 Initial array for comparison of the arrays.
 * @param array $array2 First array to compare keys against.
 * @param callable $key_compare_func Variable list of array arguments
 *   to compare keys against.
 * @return array Returns the values of {@link array1} whose keys exist
 *   in all the arguments.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function array_intersect_ukey($array1, $array2, $key_compare_func){}

/**
 * Return all the keys or a subset of the keys of an array
 *
 * {@link array_keys} returns the keys, numeric and string, from the
 * {@link array}.
 *
 * If the optional {@link search_value} is specified, then only the keys
 * for that value are returned. Otherwise, all the keys from the {@link
 * array} are returned.
 *
 * @param array $array An array containing keys to return.
 * @param mixed $search_value If specified, then only keys containing
 *   these values are returned.
 * @param bool $strict Determines if strict comparison (===) should be
 *   used during the search.
 * @return array Returns an array of all the keys in {@link array}.
 * @since PHP 4, PHP 5, PHP 7
 **/
function array_keys($array, $search_value, $strict){}

/**
 * Checks if the given key or index exists in the array
 *
 * {@link array_key_exists} returns TRUE if the given {@link key} is set
 * in the array. {@link key} can be any value possible for an array
 * index.
 *
 * @param mixed $key Value to check.
 * @param array $array An array with keys to check.
 * @return bool
 * @since PHP 4 >= 4.0.7, PHP 5, PHP 7
 **/
function array_key_exists($key, $array){}

/**
 * Gets the first key of an array
 *
 * Get the first key of the given {@link array} without affecting the
 * internal array pointer.
 *
 * @param array $array An array.
 * @return mixed Returns the first key of {@link array} if the array is
 *   not empty; NULL otherwise.
 * @since PHP 7 >= 7.3.0
 **/
function array_key_first($array){}

/**
 * Gets the last key of an array
 *
 * Get the last key of the given {@link array} without affecting the
 * internal array pointer.
 *
 * @param array $array An array.
 * @return mixed Returns the last key of {@link array} if the array is
 *   not empty; NULL otherwise.
 * @since PHP 7 >= 7.3.0
 **/
function array_key_last($array){}

/**
 * Applies the callback to the elements of the given arrays
 *
 * {@link array_map} returns an array containing all the elements of
 * {@link array1} after applying the {@link callback} function to each
 * one. The number of parameters that the {@link callback} function
 * accepts should match the number of arrays passed to the {@link
 * array_map}
 *
 * @param callable $callback Callback function to run for each element
 *   in each array.
 * @param array $array1 An array to run through the {@link callback}
 *   function.
 * @return array Returns an array containing all the elements of {@link
 *   array1} after applying the {@link callback} function to each one.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function array_map($callback, $array1){}

/**
 * Merge one or more arrays
 *
 * Merges the elements of one or more arrays together so that the values
 * of one are appended to the end of the previous one. It returns the
 * resulting array.
 *
 * If the input arrays have the same string keys, then the later value
 * for that key will overwrite the previous one. If, however, the arrays
 * contain numeric keys, the later value will not overwrite the original
 * value, but will be appended.
 *
 * Values in the input array with numeric keys will be renumbered with
 * incrementing keys starting from zero in the result array.
 *
 * @param array $array1 Initial array to merge.
 * @return array Returns the resulting array.
 * @since PHP 4, PHP 5, PHP 7
 **/
function array_merge($array1){}

/**
 * Merge one or more arrays recursively
 *
 * {@link array_merge_recursive} merges the elements of one or more
 * arrays together so that the values of one are appended to the end of
 * the previous one. It returns the resulting array.
 *
 * If the input arrays have the same string keys, then the values for
 * these keys are merged together into an array, and this is done
 * recursively, so that if one of the values is an array itself, the
 * function will merge it with a corresponding entry in another array
 * too. If, however, the arrays have the same numeric key, the later
 * value will not overwrite the original value, but will be appended.
 *
 * @param array $array1 Initial array to merge.
 * @return array An array of values resulted from merging the arguments
 *   together.
 * @since PHP 4 >= 4.0.1, PHP 5, PHP 7
 **/
function array_merge_recursive($array1){}

/**
 * Sort multiple or multi-dimensional arrays
 *
 * {@link array_multisort} can be used to sort several arrays at once, or
 * a multi-dimensional array by one or more dimensions.
 *
 * Associative (string) keys will be maintained, but numeric keys will be
 * re-indexed.
 *
 * @param array $array1 An array being sorted.
 * @param mixed $array1_sort_order The order used to sort the previous
 *   array argument. Either SORT_ASC to sort ascendingly or SORT_DESC to
 *   sort descendingly. This argument can be swapped with {@link
 *   array1_sort_flags} or omitted entirely, in which case SORT_ASC is
 *   assumed.
 * @param mixed $array1_sort_flags Sort options for the previous array
 *   argument: Sorting type flags: SORT_REGULAR - compare items normally
 *   (don't change types) SORT_NUMERIC - compare items numerically
 *   SORT_STRING - compare items as strings SORT_LOCALE_STRING - compare
 *   items as strings, based on the current locale. It uses the locale,
 *   which can be changed using {@link setlocale} SORT_NATURAL - compare
 *   items as strings using "natural ordering" like {@link natsort}
 *   SORT_FLAG_CASE - can be combined (bitwise OR) with SORT_STRING or
 *   SORT_NATURAL to sort strings case-insensitively This argument can be
 *   swapped with {@link array1_sort_order} or omitted entirely, in which
 *   case SORT_REGULAR is assumed.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function array_multisort(&$array1, $array1_sort_order, $array1_sort_flags){}

/**
 * Pad array to the specified length with a value
 *
 * {@link array_pad} returns a copy of the {@link array} padded to size
 * specified by {@link size} with value {@link value}. If {@link size} is
 * positive then the array is padded on the right, if it's negative then
 * on the left. If the absolute value of {@link size} is less than or
 * equal to the length of the {@link array} then no padding takes place.
 * It is possible to add at most 1048576 elements at a time.
 *
 * @param array $array Initial array of values to pad.
 * @param int $size New size of the array.
 * @param mixed $value Value to pad if {@link array} is less than
 *   {@link size}.
 * @return array Returns a copy of the {@link array} padded to size
 *   specified by {@link size} with value {@link value}. If {@link size}
 *   is positive then the array is padded on the right, if it's negative
 *   then on the left. If the absolute value of {@link size} is less than
 *   or equal to the length of the {@link array} then no padding takes
 *   place.
 * @since PHP 4, PHP 5, PHP 7
 **/
function array_pad($array, $size, $value){}

/**
 * Pop the element off the end of array
 *
 * {@link array_pop} pops and returns the value of the last element of
 * {@link array}, shortening the {@link array} by one element.
 *
 * @param array $array The array to get the value from.
 * @return mixed Returns the value of the last element of {@link
 *   array}. If {@link array} is empty (or is not an array), NULL will be
 *   returned.
 * @since PHP 4, PHP 5, PHP 7
 **/
function array_pop(&$array){}

/**
 * Calculate the product of values in an array
 *
 * {@link array_product} returns the product of values in an array.
 *
 * @param array $array The array.
 * @return number Returns the product as an integer or float.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function array_product($array){}

/**
 * Push one or more elements onto the end of array
 *
 * {@link array_push} treats {@link array} as a stack, and pushes the
 * passed variables onto the end of {@link array}. The length of {@link
 * array} increases by the number of variables pushed. Has the same
 * effect as:
 *
 * <?php $array[] = $var; ?>
 *
 * repeated for each passed value.
 *
 * @param array $array The input array.
 * @return int Returns the new number of elements in the array.
 * @since PHP 4, PHP 5, PHP 7
 **/
function array_push(&$array){}

/**
 * Pick one or more random keys out of an array
 *
 * Picks one or more random entries out of an array, and returns the key
 * (or keys) of the random entries. It uses a pseudo random number
 * generator that is not suitable for cryptographic purposes.
 *
 * @param array $array The input array.
 * @param int $num Specifies how many entries should be picked.
 * @return mixed When picking only one entry, {@link array_rand}
 *   returns the key for a random entry. Otherwise, an array of keys for
 *   the random entries is returned. This is done so that random keys can
 *   be picked from the array as well as random values. Trying to pick
 *   more elements than there are in the array will result in an
 *   E_WARNING level error, and NULL will be returned.
 * @since PHP 4, PHP 5, PHP 7
 **/
function array_rand($array, $num){}

/**
 * Iteratively reduce the array to a single value using a callback
 * function
 *
 * {@link array_reduce} applies iteratively the {@link callback} function
 * to the elements of the {@link array}, so as to reduce the array to a
 * single value.
 *
 * @param array $array The input array.
 * @param callable $callback
 * @param mixed $initial Holds the return value of the previous
 *   iteration; in the case of the first iteration it instead holds the
 *   value of {@link initial}.
 * @return mixed Returns the resulting value.
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7
 **/
function array_reduce($array, $callback, $initial){}

/**
 * Replaces elements from passed arrays into the first array
 *
 * {@link array_replace} replaces the values of {@link array1} with
 * values having the same keys in each of the following arrays. If a key
 * from the first array exists in the second array, its value will be
 * replaced by the value from the second array. If the key exists in the
 * second array, and not the first, it will be created in the first
 * array. If a key only exists in the first array, it will be left as is.
 * If several arrays are passed for replacement, they will be processed
 * in order, the later arrays overwriting the previous values.
 *
 * {@link array_replace} is not recursive : it will replace values in the
 * first array by whatever type is in the second array.
 *
 * @param array $array1 The array in which elements are replaced.
 * @return array Returns an array, or NULL if an error occurs.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function array_replace($array1){}

/**
 * Replaces elements from passed arrays into the first array recursively
 *
 * {@link array_replace_recursive} replaces the values of {@link array1}
 * with the same values from all the following arrays. If a key from the
 * first array exists in the second array, its value will be replaced by
 * the value from the second array. If the key exists in the second
 * array, and not the first, it will be created in the first array. If a
 * key only exists in the first array, it will be left as is. If several
 * arrays are passed for replacement, they will be processed in order,
 * the later array overwriting the previous values.
 *
 * {@link array_replace_recursive} is recursive : it will recurse into
 * arrays and apply the same process to the inner value.
 *
 * When the value in the first array is scalar, it will be replaced by
 * the value in the second array, may it be scalar or array. When the
 * value in the first array and the second array are both arrays, {@link
 * array_replace_recursive} will replace their respective value
 * recursively.
 *
 * @param array $array1 The array in which elements are replaced.
 * @return array Returns an array, or NULL if an error occurs.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function array_replace_recursive($array1){}

/**
 * Return an array with elements in reverse order
 *
 * Takes an input {@link array} and returns a new array with the order of
 * the elements reversed.
 *
 * @param array $array The input array.
 * @param bool $preserve_keys If set to TRUE numeric keys are
 *   preserved. Non-numeric keys are not affected by this setting and
 *   will always be preserved.
 * @return array Returns the reversed array.
 * @since PHP 4, PHP 5, PHP 7
 **/
function array_reverse($array, $preserve_keys){}

/**
 * Searches the array for a given value and returns the first
 * corresponding key if successful
 *
 * Searches {@link haystack} for {@link needle}.
 *
 * @param mixed $needle The searched value.
 * @param array $haystack The array.
 * @param bool $strict If the third parameter {@link strict} is set to
 *   TRUE then the {@link array_search} function will search for
 *   identical elements in the {@link haystack}. This means it will also
 *   perform a strict type comparison of the {@link needle} in the {@link
 *   haystack}, and objects must be the same instance.
 * @return mixed Returns the key for {@link needle} if it is found in
 *   the array, FALSE otherwise.
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7
 **/
function array_search($needle, $haystack, $strict){}

/**
 * Shift an element off the beginning of array
 *
 * {@link array_shift} shifts the first value of the {@link array} off
 * and returns it, shortening the {@link array} by one element and moving
 * everything down. All numerical array keys will be modified to start
 * counting from zero while literal keys won't be touched.
 *
 * @param array $array The input array.
 * @return mixed Returns the shifted value, or NULL if {@link array} is
 *   empty or is not an array.
 * @since PHP 4, PHP 5, PHP 7
 **/
function array_shift(&$array){}

/**
 * Extract a slice of the array
 *
 * {@link array_slice} returns the sequence of elements from the array
 * {@link array} as specified by the {@link offset} and {@link length}
 * parameters.
 *
 * @param array $array The input array.
 * @param int $offset If {@link offset} is non-negative, the sequence
 *   will start at that offset in the {@link array}. If {@link offset} is
 *   negative, the sequence will start that far from the end of the
 *   {@link array}. Note that the {@link offset} denotes the position in
 *   the array, not the key.
 * @param int $length If {@link length} is given and is positive, then
 *   the sequence will have up to that many elements in it. If the array
 *   is shorter than the {@link length}, then only the available array
 *   elements will be present. If {@link length} is given and is negative
 *   then the sequence will stop that many elements from the end of the
 *   array. If it is omitted, then the sequence will have everything from
 *   {@link offset} up until the end of the {@link array}.
 * @param bool $preserve_keys Note that {@link array_slice} will
 *   reorder and reset the integer array indices by default. You can
 *   change this behaviour by setting {@link preserve_keys} to TRUE.
 *   String keys are always preserved, regardless of this parameter.
 * @return array Returns the slice. If the offset is larger than the
 *   size of the array then returns an empty array.
 * @since PHP 4, PHP 5, PHP 7
 **/
function array_slice($array, $offset, $length, $preserve_keys){}

/**
 * Remove a portion of the array and replace it with something else
 *
 * Removes the elements designated by {@link offset} and {@link length}
 * from the {@link input} array, and replaces them with the elements of
 * the {@link replacement} array, if supplied.
 *
 * Note that numeric keys in {@link input} are not preserved.
 *
 * @param array $input The input array.
 * @param int $offset If {@link offset} is positive then the start of
 *   removed portion is at that offset from the beginning of the {@link
 *   input} array. If {@link offset} is negative then it starts that far
 *   from the end of the {@link input} array.
 * @param int $length If {@link length} is omitted, removes everything
 *   from {@link offset} to the end of the array. If {@link length} is
 *   specified and is positive, then that many elements will be removed.
 *   If {@link length} is specified and is negative then the end of the
 *   removed portion will be that many elements from the end of the
 *   array. If {@link length} is specified and is zero, no elements will
 *   be removed. Tip: to remove everything from {@link offset} to the end
 *   of the array when {@link replacement} is also specified, use
 *   count($input) for {@link length}.
 * @param mixed $replacement If {@link replacement} array is specified,
 *   then the removed elements are replaced with elements from this
 *   array. If {@link offset} and {@link length} are such that nothing is
 *   removed, then the elements from the {@link replacement} array are
 *   inserted in the place specified by the {@link offset}. Note that
 *   keys in replacement array are not preserved. If {@link replacement}
 *   is just one element it is not necessary to put array() around it,
 *   unless the element is an array itself, an object or NULL.
 * @return array Returns an array consisting of the extracted elements.
 * @since PHP 4, PHP 5, PHP 7
 **/
function array_splice(&$input, $offset, $length, $replacement){}

/**
 * Calculate the sum of values in an array
 *
 * {@link array_sum} returns the sum of values in an array.
 *
 * @param array $array The input array.
 * @return number Returns the sum of values as an integer or float; 0
 *   if the {@link array} is empty.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function array_sum($array){}

/**
 * Computes the difference of arrays by using a callback function for
 * data comparison
 *
 * Computes the difference of arrays by using a callback function for
 * data comparison. This is unlike {@link array_diff} which uses an
 * internal function for comparing the data.
 *
 * @param array $array1 The first array.
 * @param array $array2 The second array.
 * @param callable $value_compare_func The callback comparison
 *   function.
 * @return array Returns an array containing all the values of {@link
 *   array1} that are not present in any of the other arguments.
 * @since PHP 5, PHP 7
 **/
function array_udiff($array1, $array2, $value_compare_func){}

/**
 * Computes the difference of arrays with additional index check,
 * compares data by a callback function
 *
 * Computes the difference of arrays with additional index check,
 * compares data by a callback function.
 *
 * @param array $array1 The first array.
 * @param array $array2 The second array.
 * @param callable $value_compare_func
 * @return array {@link array_udiff_assoc} returns an array containing
 *   all the values from {@link array1} that are not present in any of
 *   the other arguments. Note that the keys are used in the comparison
 *   unlike {@link array_diff} and {@link array_udiff}. The comparison of
 *   arrays' data is performed by using an user-supplied callback. In
 *   this aspect the behaviour is opposite to the behaviour of {@link
 *   array_diff_assoc} which uses internal function for comparison.
 * @since PHP 5, PHP 7
 **/
function array_udiff_assoc($array1, $array2, $value_compare_func){}

/**
 * Computes the difference of arrays with additional index check,
 * compares data and indexes by a callback function
 *
 * Computes the difference of arrays with additional index check,
 * compares data and indexes by a callback function.
 *
 * Note that the keys are used in the comparison unlike {@link
 * array_diff} and {@link array_udiff}.
 *
 * @param array $array1 The first array.
 * @param array $array2 The second array.
 * @param callable $value_compare_func
 * @param callable $key_compare_func The comparison of keys (indices)
 *   is done also by the callback function {@link key_compare_func}. This
 *   behaviour is unlike what {@link array_udiff_assoc} does, since the
 *   latter compares the indices by using an internal function.
 * @return array Returns an array containing all the values from {@link
 *   array1} that are not present in any of the other arguments.
 * @since PHP 5, PHP 7
 **/
function array_udiff_uassoc($array1, $array2, $value_compare_func, $key_compare_func){}

/**
 * Computes the intersection of arrays, compares data by a callback
 * function
 *
 * @param array $array1 The first array.
 * @param array $array2 The second array.
 * @param callable $value_compare_func
 * @return array Returns an array containing all the values of {@link
 *   array1} that are present in all the arguments.
 * @since PHP 5, PHP 7
 **/
function array_uintersect($array1, $array2, $value_compare_func){}

/**
 * Computes the intersection of arrays with additional index check,
 * compares data by a callback function
 *
 * Computes the intersection of arrays with additional index check,
 * compares data by a callback function.
 *
 * Note that the keys are used in the comparison unlike in {@link
 * array_uintersect}. The data is compared by using a callback function.
 *
 * @param array $array1 The first array.
 * @param array $array2 The second array.
 * @param callable $value_compare_func
 * @return array Returns an array containing all the values of {@link
 *   array1} that are present in all the arguments.
 * @since PHP 5, PHP 7
 **/
function array_uintersect_assoc($array1, $array2, $value_compare_func){}

/**
 * Computes the intersection of arrays with additional index check,
 * compares data and indexes by separate callback functions
 *
 * Computes the intersection of arrays with additional index check,
 * compares data and indexes by separate callback functions.
 *
 * @param array $array1 The first array.
 * @param array $array2 The second array.
 * @param callable $value_compare_func
 * @param callable $key_compare_func Key comparison callback function.
 * @return array Returns an array containing all the values of {@link
 *   array1} that are present in all the arguments.
 * @since PHP 5, PHP 7
 **/
function array_uintersect_uassoc($array1, $array2, $value_compare_func, $key_compare_func){}

/**
 * Removes duplicate values from an array
 *
 * Takes an input {@link array} and returns a new array without duplicate
 * values.
 *
 * Note that keys are preserved. If multiple elements compare equal under
 * the given {@link sort_flags}, then the key and value of the first
 * equal element will be retained.
 *
 * @param array $array The input array.
 * @param int $sort_flags The optional second parameter {@link
 *   sort_flags} may be used to modify the sorting behavior using these
 *   values: Sorting type flags: SORT_REGULAR - compare items normally
 *   (don't change types) SORT_NUMERIC - compare items numerically
 *   SORT_STRING - compare items as strings SORT_LOCALE_STRING - compare
 *   items as strings, based on the current locale.
 * @return array Returns the filtered array.
 * @since PHP 4 >= 4.0.1, PHP 5, PHP 7
 **/
function array_unique($array, $sort_flags){}

/**
 * Prepend one or more elements to the beginning of an array
 *
 * {@link array_unshift} prepends passed elements to the front of the
 * {@link array}. Note that the list of elements is prepended as a whole,
 * so that the prepended elements stay in the same order. All numerical
 * array keys will be modified to start counting from zero while literal
 * keys won't be changed.
 *
 * @param array $array The input array.
 * @return int Returns the new number of elements in the {@link array}.
 * @since PHP 4, PHP 5, PHP 7
 **/
function array_unshift(&$array){}

/**
 * Return all the values of an array
 *
 * {@link array_values} returns all the values from the {@link array} and
 * indexes the array numerically.
 *
 * @param array $array The array.
 * @return array Returns an indexed array of values.
 * @since PHP 4, PHP 5, PHP 7
 **/
function array_values($array){}

/**
 * Apply a user supplied function to every member of an array
 *
 * {@link array_walk} is not affected by the internal array pointer of
 * {@link array}. {@link array_walk} will walk through the entire array
 * regardless of pointer position.
 *
 * @param array $array The input array.
 * @param callable $callback Typically, {@link callback} takes on two
 *   parameters. The {@link array} parameter's value being the first, and
 *   the key/index second. Only the values of the {@link array} may
 *   potentially be changed; its structure cannot be altered, i.e., the
 *   programmer cannot add, unset or reorder elements. If the callback
 *   does not respect this requirement, the behavior of this function is
 *   undefined, and unpredictable.
 * @param mixed $userdata If the optional {@link userdata} parameter is
 *   supplied, it will be passed as the third parameter to the {@link
 *   callback}.
 * @return bool Returns TRUE.
 * @since PHP 4, PHP 5, PHP 7
 **/
function array_walk(&$array, $callback, $userdata){}

/**
 * Apply a user function recursively to every member of an array
 *
 * Applies the user-defined {@link callback} function to each element of
 * the {@link array}. This function will recurse into deeper arrays.
 *
 * @param array $array The input array.
 * @param callable $callback Typically, {@link callback} takes on two
 *   parameters. The {@link array} parameter's value being the first, and
 *   the key/index second.
 * @param mixed $userdata If the optional {@link userdata} parameter is
 *   supplied, it will be passed as the third parameter to the {@link
 *   callback}.
 * @return bool
 * @since PHP 5, PHP 7
 **/
function array_walk_recursive(&$array, $callback, $userdata){}

/**
 * Sort an array in reverse order and maintain index association
 *
 * This function sorts an array such that array indices maintain their
 * correlation with the array elements they are associated with.
 *
 * This is used mainly when sorting associative arrays where the actual
 * element order is significant.
 *
 * @param array $array The input array.
 * @param int $sort_flags You may modify the behavior of the sort using
 *   the optional parameter {@link sort_flags}, for details see {@link
 *   sort}.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function arsort(&$array, $sort_flags){}

/**
 * Arc sine
 *
 * Returns the arc sine of {@link arg} in radians. {@link asin} is the
 * inverse function of {@link sin}, which means that a==sin(asin(a)) for
 * every value of a that is within {@link asin}'s range.
 *
 * @param float $arg The argument to process
 * @return float The arc sine of {@link arg} in radians
 * @since PHP 4, PHP 5, PHP 7
 **/
function asin($arg){}

/**
 * Inverse hyperbolic sine
 *
 * Returns the inverse hyperbolic sine of {@link arg}, i.e. the value
 * whose hyperbolic sine is {@link arg}.
 *
 * @param float $arg The argument to process
 * @return float The inverse hyperbolic sine of {@link arg}
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function asinh($arg){}

/**
 * Sort an array and maintain index association
 *
 * This function sorts an array such that array indices maintain their
 * correlation with the array elements they are associated with. This is
 * used mainly when sorting associative arrays where the actual element
 * order is significant.
 *
 * @param array $array The input array.
 * @param int $sort_flags You may modify the behavior of the sort using
 *   the optional parameter {@link sort_flags}, for details see {@link
 *   sort}.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function asort(&$array, $sort_flags){}

/**
 * Checks if assertion is FALSE
 *
 * PHP 5 and 7
 *
 * PHP 7
 *
 * {@link assert} will check the given {@link assertion} and take
 * appropriate action if its result is FALSE.
 *
 * @param mixed $assertion The assertion. In PHP 5, this must be either
 *   a string to be evaluated or a boolean to be tested. In PHP 7, this
 *   may also be any expression that returns a value, which will be
 *   executed and the result used to indicate whether the assertion
 *   succeeded or failed.
 * @param string $description An optional description that will be
 *   included in the failure message if the {@link assertion} fails.
 * @return bool FALSE if the assertion is false, TRUE otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function assert($assertion, $description){}

/**
 * Set/get the various assert flags
 *
 * Set the various {@link assert} control options or just query their
 * current settings.
 *
 * @param int $what Assert Options Option INI Setting Default value
 *   Description ASSERT_ACTIVE assert.active 1 enable {@link assert}
 *   evaluation ASSERT_WARNING assert.warning 1 issue a PHP warning for
 *   each failed assertion ASSERT_BAIL assert.bail 0 terminate execution
 *   on failed assertions ASSERT_QUIET_EVAL assert.quiet_eval 0 disable
 *   error_reporting during assertion expression evaluation
 *   ASSERT_CALLBACK assert.callback (NULL) Callback to call on failed
 *   assertions
 * @param mixed $value An optional new value for the option.
 * @return mixed Returns the original setting of any option or FALSE on
 *   errors.
 * @since PHP 4, PHP 5, PHP 7
 **/
function assert_options($what, $value){}

/**
 * Arc tangent
 *
 * Returns the arc tangent of {@link arg} in radians. {@link atan} is the
 * inverse function of {@link tan}, which means that a==tan(atan(a)) for
 * every value of a that is within {@link atan}'s range.
 *
 * @param float $arg The argument to process
 * @return float The arc tangent of {@link arg} in radians.
 * @since PHP 4, PHP 5, PHP 7
 **/
function atan($arg){}

/**
 * Arc tangent of two variables
 *
 * @param float $y Dividend parameter
 * @param float $x Divisor parameter
 * @return float The arc tangent of {@link y}/{@link x} in radians.
 * @since PHP 4, PHP 5, PHP 7
 **/
function atan2($y, $x){}

/**
 * Inverse hyperbolic tangent
 *
 * Returns the inverse hyperbolic tangent of {@link arg}, i.e. the value
 * whose hyperbolic tangent is {@link arg}.
 *
 * @param float $arg The argument to process
 * @return float Inverse hyperbolic tangent of {@link arg}
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function atanh($arg){}

/**
 * Decodes data encoded with MIME base64
 *
 * Decodes a base64 encoded {@link data}.
 *
 * @param string $data The encoded data.
 * @param bool $strict If the {@link strict} parameter is set to TRUE
 *   then the {@link base64_decode} function will return FALSE if the
 *   input contains character from outside the base64 alphabet. Otherwise
 *   invalid characters will be silently discarded.
 * @return string Returns the decoded data. The returned data may be
 *   binary.
 * @since PHP 4, PHP 5, PHP 7
 **/
function base64_decode($data, $strict){}

/**
 * Encodes data with MIME base64
 *
 * Encodes the given {@link data} with base64.
 *
 * This encoding is designed to make binary data survive transport
 * through transport layers that are not 8-bit clean, such as mail
 * bodies.
 *
 * Base64-encoded data takes about 33% more space than the original data.
 *
 * @param string $data The data to encode.
 * @return string The encoded data, as a string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function base64_encode($data){}

/**
 * Returns trailing name component of path
 *
 * Given a string containing the path to a file or directory, this
 * function will return the trailing name component.
 *
 * @param string $path A path. On Windows, both slash (/) and backslash
 *   (\) are used as directory separator character. In other
 *   environments, it is the forward slash (/).
 * @param string $suffix If the name component ends in {@link suffix}
 *   this will also be cut off.
 * @return string Returns the base name of the given {@link path}.
 * @since PHP 4, PHP 5, PHP 7
 **/
function basename($path, $suffix){}

/**
 * Convert a number between arbitrary bases
 *
 * Returns a string containing {@link number} represented in base {@link
 * tobase}. The base in which {@link number} is given is specified in
 * {@link frombase}. Both {@link frombase} and {@link tobase} have to be
 * between 2 and 36, inclusive. Digits in numbers with a base higher than
 * 10 will be represented with the letters a-z, with a meaning 10, b
 * meaning 11 and z meaning 35. The case of the letters doesn't matter,
 * i.e. {@link number} is interpreted case-insensitively.
 *
 * @param string $number The number to convert. Any invalid characters
 *   in {@link number} are silently ignored.
 * @param int $frombase The base {@link number} is in
 * @param int $tobase The base to convert {@link number} to
 * @return string {@link number} converted to base {@link tobase}
 * @since PHP 4, PHP 5, PHP 7
 **/
function base_convert($number, $frombase, $tobase){}

/**
 * Adds a bbcode element
 *
 * Adds a tag to an existing BBCode_Container tag_set using tag_rules.
 *
 * @param resource $bbcode_container BBCode_Container resource,
 *   returned by {@link bbcode_create}.
 * @param string $tag_name The new tag to add to the BBCode_Container
 *   tag_set.
 * @param array $tag_rules An associative array containing the parsing
 *   rules; see {@link bbcode_create} for the available keys.
 * @return bool
 * @since PECL bbcode >= 0.9.0
 **/
function bbcode_add_element($bbcode_container, $tag_name, $tag_rules){}

/**
 * Adds a smiley to the parser
 *
 * @param resource $bbcode_container BBCode_Container resource,
 *   returned by {@link bbcode_create}.
 * @param string $smiley The string that will be replaced when found.
 * @param string $replace_by The string that replace smiley when found.
 * @return bool
 * @since PECL bbcode >= 0.10.2
 **/
function bbcode_add_smiley($bbcode_container, $smiley, $replace_by){}

/**
 * Create a BBCode Resource
 *
 * This function returns a new BBCode Resource used to parse BBCode
 * strings.
 *
 * @param array $bbcode_initial_tags An associative array containing
 *   the tag names as keys and parameters required to correctly parse
 *   BBCode as their value. The following key/value pairs are supported:
 *   flags optional - a flag set based on the BBCODE_FLAGS_* constants.
 *   type required - an int indicating the type of tag. Use the
 *   BBCODE_TYPE_* constants. open_tag required - the HTML replacement
 *   string for the open tag. close_tag required - the HTML replacement
 *   string for the close tag. default_arg optional - use this value as
 *   the default argument if none is provided and tag_type is of type
 *   OPTARG. content_handling optional - Gives the callback used for
 *   modification of the content. Object Oriented Notation supported only
 *   since 0.10.1 callback prototype is string name(string $content,
 *   string $argument) param_handling optional - Gives the callback used
 *   for modification of the argument. Object Oriented Notation supported
 *   only since 0.10.1 callback prototype is string name(string $content,
 *   string $argument) childs optional - List of accepted children for
 *   the tag. The format of the list is a comma separated string. If the
 *   list starts with ! it will be the list of rejected children for the
 *   tag. parent optional - List of accepted parents for the tag. The
 *   format of the list is a comma separated string.
 * @return resource Returns a BBCode_Container
 * @since PECL bbcode >= 0.9.0
 **/
function bbcode_create($bbcode_initial_tags){}

/**
 * Close BBCode_container resource
 *
 * This function closes the resource opened by {@link bbcode_create}.
 *
 * @param resource $bbcode_container BBCode_Container resource returned
 *   by {@link bbcode_create}.
 * @return bool
 * @since PECL bbcode >= 0.9.0
 **/
function bbcode_destroy($bbcode_container){}

/**
 * Parse a string following a given rule set
 *
 * This function parse the string to_parse following the rules in the
 * bbcode_container created by {@link bbcode_create}
 *
 * @param resource $bbcode_container BBCode_Container resource returned
 *   by {@link bbcode_create}.
 * @param string $to_parse The string we need to parse.
 * @return string Returns the parsed string, .
 * @since PECL bbcode >= 0.9.0
 **/
function bbcode_parse($bbcode_container, $to_parse){}

/**
 * Attach another parser in order to use another rule set for argument
 * parsing
 *
 * Attaches another parser to the bbcode_container. This parser is used
 * only when arguments must be parsed. If this function is not used, the
 * default argument parser is the parser itself.
 *
 * @param resource $bbcode_container BBCode_Container resource,
 *   returned by {@link bbcode_create}.
 * @param resource $bbcode_arg_parser BBCode_Container resource,
 *   returned by {@link bbcode_create}. It will be used only for parsed
 *   arguments
 * @return bool
 * @since PECL bbcode >= 0.10.2
 **/
function bbcode_set_arg_parser($bbcode_container, $bbcode_arg_parser){}

/**
 * Set or alter parser options
 *
 * @param resource $bbcode_container BBCode_Container resource,
 *   returned by {@link bbcode_create}.
 * @param int $flags The flag set that must be applied to the
 *   bbcode_container options
 * @param int $mode One of the BBCODE_SET_FLAGS_* constant to set,
 *   unset a specific flag set or to replace the flag set by flags.
 * @return bool
 * @since PECL bbcode >= 0.10.2
 **/
function bbcode_set_flags($bbcode_container, $flags, $mode){}

/**
 * Add two arbitrary precision numbers
 *
 * Sums {@link left_operand} and {@link right_operand}.
 *
 * @param string $left_operand The left operand, as a string.
 * @param string $right_operand The right operand, as a string.
 * @param int $scale
 * @return string The sum of the two operands, as a string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function bcadd($left_operand, $right_operand, $scale){}

/**
 * Compare two arbitrary precision numbers
 *
 * Compares the {@link left_operand} to the {@link right_operand} and
 * returns the result as an integer.
 *
 * @param string $left_operand The left operand, as a string.
 * @param string $right_operand The right operand, as a string.
 * @param int $scale The optional {@link scale} parameter is used to
 *   set the number of digits after the decimal place which will be used
 *   in the comparison.
 * @return int Returns 0 if the two operands are equal, 1 if the {@link
 *   left_operand} is larger than the {@link right_operand}, -1
 *   otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function bccomp($left_operand, $right_operand, $scale){}

/**
 * Divide two arbitrary precision numbers
 *
 * Divides the {@link dividend} by the {@link divisor}.
 *
 * @param string $dividend The dividend, as a string.
 * @param string $divisor The divisor, as a string.
 * @param int $scale
 * @return string Returns the result of the division as a string, or
 *   NULL if {@link divisor} is 0.
 * @since PHP 4, PHP 5, PHP 7
 **/
function bcdiv($dividend, $divisor, $scale){}

/**
 * Get modulus of an arbitrary precision number
 *
 * Get the remainder of dividing {@link dividend} by {@link divisor}.
 * Unless {@link divisor} is zero, the result has the same sign as {@link
 * dividend}.
 *
 * @param string $dividend The dividend, as a string.
 * @param string $divisor The divisor, as a string.
 * @param int $scale
 * @return string Returns the modulus as a string, or NULL if {@link
 *   divisor} is 0.
 * @since PHP 4, PHP 5, PHP 7
 **/
function bcmod($dividend, $divisor, $scale){}

/**
 * Multiply two arbitrary precision numbers
 *
 * Multiply the {@link left_operand} by the {@link right_operand}.
 *
 * @param string $left_operand The left operand, as a string.
 * @param string $right_operand The right operand, as a string.
 * @param int $scale
 * @return string Returns the result as a string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function bcmul($left_operand, $right_operand, $scale){}

/**
 * Reads and creates classes from a bz compressed file
 *
 * Reads data from a bzcompressed file and creates classes from the
 * bytecodes.
 *
 * @param string $filename The bzcompressed file path, as a string.
 * @return bool
 * @since PECL bcompiler >= 0.4
 **/
function bcompiler_load($filename){}

/**
 * Reads and creates classes from a bcompiler exe file
 *
 * Reads data from a bcompiler exe file and creates classes from the
 * bytecodes.
 *
 * @param string $filename The exe file path, as a string.
 * @return bool
 * @since PECL bcompiler >= 0.4
 **/
function bcompiler_load_exe($filename){}

/**
 * Reads the bytecodes of a class and calls back to a user function
 *
 * @param string $class The class name, as a string.
 * @param string $callback
 * @return bool
 * @since PECL bcompiler >= 0.4
 **/
function bcompiler_parse_class($class, $callback){}

/**
 * Reads and creates classes from a filehandle
 *
 * Reads data from a open file handle and creates classes from the
 * bytecodes.
 *
 * @param resource $filehandle A file handle as returned by {@link
 *   fopen}.
 * @return bool
 * @since PECL bcompiler >= 0.4
 **/
function bcompiler_read($filehandle){}

/**
 * Writes a defined class as bytecodes
 *
 * Reads the bytecodes from PHP for an existing class, and writes them to
 * the open file handle.
 *
 * @param resource $filehandle A file handle as returned by {@link
 *   fopen}.
 * @param string $className The class name, as a string.
 * @param string $extends
 * @return bool
 * @since PECL bcompiler >= 0.4
 **/
function bcompiler_write_class($filehandle, $className, $extends){}

/**
 * Writes a defined constant as bytecodes
 *
 * Reads the bytecodes from PHP for an existing constant, and writes them
 * to the open file handle.
 *
 * @param resource $filehandle A file handle as returned by {@link
 *   fopen}.
 * @param string $constantName The name of the defined constant, as a
 *   string.
 * @return bool
 * @since PECL bcompiler >= 0.5
 **/
function bcompiler_write_constant($filehandle, $constantName){}

/**
 * Writes the start pos, and sig to the end of a exe type file
 *
 * An EXE (or self executable) file consists of 3 parts: The stub
 * (executable code, e.g. a compiled C program) that loads PHP
 * interpreter, bcompiler extension, stored Bytecodes and initiates a
 * call for the specified function (e.g. main) or class method (e.g.
 * main::main) The Bytecodes (uncompressed only for the moment) The
 * bcompiler EXE footer
 *
 * To obtain a suitable stub you can compile php_embed-based stub phpe.c
 * located in the examples/embed directory on bcompiler's CVS.
 *
 * @param resource $filehandle A file handle as returned by {@link
 *   fopen}.
 * @param int $startpos The file position at which the Bytecodes start,
 *   and can be obtained using {@link ftell}.
 * @return bool
 * @since PECL bcompiler >= 0.4
 **/
function bcompiler_write_exe_footer($filehandle, $startpos){}

/**
 * Writes a php source file as bytecodes
 *
 * This function compiles specified source file into bytecodes, and
 * writes them to the open file handle.
 *
 * @param resource $filehandle A file handle as returned by {@link
 *   fopen}.
 * @param string $filename The source file path, as a string.
 * @return bool
 * @since PECL bcompiler >= 0.6
 **/
function bcompiler_write_file($filehandle, $filename){}

/**
 * Writes the single character \x00 to indicate End of compiled data
 *
 * Writes the single character \x00 to indicate End of compiled data.
 *
 * @param resource $filehandle A file handle as returned by {@link
 *   fopen}.
 * @return bool
 * @since PECL bcompiler >= 0.4
 **/
function bcompiler_write_footer($filehandle){}

/**
 * Writes a defined function as bytecodes
 *
 * Reads the bytecodes from PHP for an existing function, and writes them
 * to the open file handle. Order is not important, (eg. if function b
 * uses function a, and you compile it like the example below, it will
 * work perfectly OK).
 *
 * @param resource $filehandle A file handle as returned by {@link
 *   fopen}.
 * @param string $functionName The function name, as a string.
 * @return bool
 * @since PECL bcompiler >= 0.5
 **/
function bcompiler_write_function($filehandle, $functionName){}

/**
 * Writes all functions defined in a file as bytecodes
 *
 * Searches for all functions declared in the given file, and writes
 * their correspondent bytecodes to the open file handle.
 *
 * @param resource $filehandle A file handle as returned by {@link
 *   fopen}.
 * @param string $fileName The file to be compiled. You must always
 *   include or require the file you intend to compile.
 * @return bool
 * @since PECL bcompiler >= 0.5
 **/
function bcompiler_write_functions_from_file($filehandle, $fileName){}

/**
 * Writes the bcompiler header
 *
 * Writes the header part of a bcompiler file.
 *
 * @param resource $filehandle A file handle as returned by {@link
 *   fopen}.
 * @param string $write_ver Can be used to write bytecode in a
 *   previously used format, so that you can use it with older versions
 *   of bcompiler.
 * @return bool
 * @since PECL bcompiler >= 0.3
 **/
function bcompiler_write_header($filehandle, $write_ver){}

/**
 * Writes an included file as bytecodes
 *
 * @param resource $filehandle
 * @param string $filename
 * @return bool
 * @since PECL bcompiler >= 0.5
 **/
function bcompiler_write_included_filename($filehandle, $filename){}

/**
 * Raise an arbitrary precision number to another
 *
 * Raise {@link base} to the power {@link exponent}.
 *
 * @param string $base The base, as a string.
 * @param string $exponent The exponent, as a string. If the exponent
 *   is non-integral, it is truncated. The valid range of the exponent is
 *   platform specific, but is at least -2147483648 to 2147483647.
 * @param int $scale
 * @return string Returns the result as a string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function bcpow($base, $exponent, $scale){}

/**
 * Raise an arbitrary precision number to another, reduced by a specified
 * modulus
 *
 * Use the fast-exponentiation method to raise {@link base} to the power
 * {@link exponent} with respect to the modulus {@link modulus}.
 *
 * @param string $base The base, as an integral string (i.e. the scale
 *   has to be zero).
 * @param string $exponent The exponent, as an non-negative, integral
 *   string (i.e. the scale has to be zero).
 * @param string $modulus The modulus, as an integral string (i.e. the
 *   scale has to be zero).
 * @param int $scale
 * @return string Returns the result as a string, or NULL if {@link
 *   modulus} is 0 or {@link exponent} is negative.
 * @since PHP 5, PHP 7
 **/
function bcpowmod($base, $exponent, $modulus, $scale){}

/**
 * Set default scale parameter for all bc math functions
 *
 * Sets the default scale parameter for all subsequent calls to bc math
 * functions that do not explicitly specify a scale parameter. If {@link
 * scale} is omitted, the function gets the current scale factor.
 *
 * @param int $scale The scale factor.
 * @return int Returns the old scale.
 * @since PHP 4, PHP 5, PHP 7
 **/
function bcscale($scale){}

/**
 * Get the square root of an arbitrary precision number
 *
 * Return the square root of the {@link operand}.
 *
 * @param string $operand The operand, as a string.
 * @param int $scale
 * @return string Returns the square root as a string, or NULL if
 *   {@link operand} is negative.
 * @since PHP 4, PHP 5, PHP 7
 **/
function bcsqrt($operand, $scale){}

/**
 * Subtract one arbitrary precision number from another
 *
 * Subtracts the {@link right_operand} from the {@link left_operand}.
 *
 * @param string $left_operand The left operand, as a string.
 * @param string $right_operand The right operand, as a string.
 * @param int $scale
 * @return string The result of the subtraction, as a string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function bcsub($left_operand, $right_operand, $scale){}

/**
 * Convert binary data into hexadecimal representation
 *
 * Returns an ASCII string containing the hexadecimal representation of
 * {@link str}. The conversion is done byte-wise with the high-nibble
 * first.
 *
 * @param string $str A string.
 * @return string Returns the hexadecimal representation of the given
 *   string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function bin2hex($str){}

/**
 * Binary to decimal
 *
 * Returns the decimal equivalent of the binary number represented by the
 * {@link binary_string} argument.
 *
 * {@link bindec} converts a binary number to an integer or, if needed
 * for size reasons, float.
 *
 * {@link bindec} interprets all {@link binary_string} values as unsigned
 * integers. This is because {@link bindec} sees the most significant bit
 * as another order of magnitude rather than as the sign bit.
 *
 * @param string $binary_string The binary string to convert
 * @return number The decimal value of {@link binary_string}
 * @since PHP 4, PHP 5, PHP 7
 **/
function bindec($binary_string){}

/**
 * Sets the path for a domain
 *
 * The {@link bindtextdomain} function sets the path for a domain.
 *
 * @param string $domain The domain
 * @param string $directory The directory path
 * @return string The full pathname for the {@link domain} currently
 *   being set.
 * @since PHP 4, PHP 5, PHP 7
 **/
function bindtextdomain($domain, $directory){}

/**
 * Specify the character encoding in which the messages from the DOMAIN
 * message catalog will be returned
 *
 * With {@link bind_textdomain_codeset}, you can set in which encoding
 * will be messages from {@link domain} returned by {@link gettext} and
 * similar functions.
 *
 * @param string $domain The domain
 * @param string $codeset The code set
 * @return string A string on success.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function bind_textdomain_codeset($domain, $codeset){}

/**
 * Encrypt a PHP script with BLENC
 *
 * Encrypt the {@link plaintext} content and write it into {@link
 * encodedfile}
 *
 * @param string $plaintext A source code to encrypt. Does not need to
 *   contain opening/closing PHP tags
 * @param string $encodedfile The filename where BLENC will save the
 *   encoded source.
 * @param string $encryption_key The key that BLENC will use to encrypt
 *   plaintext content. If not given BLENC will create a valid key.
 * @return string BLENC will return the redistributable key that must
 *   be saved into key_file: the path of key_file is specified at runtime
 *   with the option blenc.key_file
 * @since PECL blenc >= 5
 **/
function blenc_encrypt($plaintext, $encodedfile, $encryption_key){}

/**
 * Get the boolean value of a variable
 *
 * Returns the boolean value of {@link var}.
 *
 * @param mixed $var The scalar value being converted to a boolean.
 * @return bool The boolean value of {@link var}.
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function boolval($var){}

/**
 * Deserializes a BSON object into a PHP array
 *
 * This function is very beta and entirely useless for 99% of users. It
 * is only useful if you're doing something weird, such as writing your
 * own driver on top of the PHP driver.
 *
 * @param string $bson The BSON to be deserialized.
 * @return array Returns the deserialized BSON object.
 * @since PECL mongo >=1.0.1
 **/
function bson_decode($bson){}

/**
 * Serializes a PHP variable into a BSON string
 *
 * This function is very beta and entirely useless for 99% of users. It
 * is only useful if you're doing something weird, such as writing your
 * own driver on top of the PHP driver.
 *
 * @param mixed $anything The variable to be serialized.
 * @return string Returns the serialized string.
 * @since PECL mongo >=1.0.1
 **/
function bson_encode($anything){}

/**
 * Close a bzip2 file
 *
 * Closes the given bzip2 file pointer.
 *
 * @param resource $bz The file pointer. It must be valid and must
 *   point to a file successfully opened by {@link bzopen}.
 * @return int
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function bzclose($bz){}

/**
 * Compress a string into bzip2 encoded data
 *
 * {@link bzcompress} compresses the given string and returns it as bzip2
 * encoded data.
 *
 * @param string $source The string to compress.
 * @param int $blocksize Specifies the blocksize used during
 *   compression and should be a number from 1 to 9 with 9 giving the
 *   best compression, but using more resources to do so.
 * @param int $workfactor Controls how the compression phase behaves
 *   when presented with worst case, highly repetitive, input data. The
 *   value can be between 0 and 250 with 0 being a special case.
 *   Regardless of the {@link workfactor}, the generated output is the
 *   same.
 * @return mixed The compressed string, or an error number if an error
 *   occurred.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function bzcompress($source, $blocksize, $workfactor){}

/**
 * Decompresses bzip2 encoded data
 *
 * {@link bzdecompress} decompresses the given string containing bzip2
 * encoded data.
 *
 * @param string $source The string to decompress.
 * @param int $small If TRUE, an alternative decompression algorithm
 *   will be used which uses less memory (the maximum memory requirement
 *   drops to around 2300K) but works at roughly half the speed. See the
 *   bzip2 documentation for more information about this feature.
 * @return mixed The decompressed string, or an error number if an
 *   error occurred.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function bzdecompress($source, $small){}

/**
 * Returns a bzip2 error number
 *
 * Returns the error number of any bzip2 error returned by the given file
 * pointer.
 *
 * @param resource $bz The file pointer. It must be valid and must
 *   point to a file successfully opened by {@link bzopen}.
 * @return int Returns the error number as an integer.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function bzerrno($bz){}

/**
 * Returns the bzip2 error number and error string in an array
 *
 * Returns the error number and error string of any bzip2 error returned
 * by the given file pointer.
 *
 * @param resource $bz The file pointer. It must be valid and must
 *   point to a file successfully opened by {@link bzopen}.
 * @return array Returns an associative array, with the error code in
 *   the errno entry, and the error message in the errstr entry.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function bzerror($bz){}

/**
 * Returns a bzip2 error string
 *
 * Gets the error string of any bzip2 error returned by the given file
 * pointer.
 *
 * @param resource $bz The file pointer. It must be valid and must
 *   point to a file successfully opened by {@link bzopen}.
 * @return string Returns a string containing the error message.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function bzerrstr($bz){}

/**
 * Force a write of all buffered data
 *
 * Forces a write of all buffered bzip2 data for the file pointer {@link
 * bz}.
 *
 * @param resource $bz The file pointer. It must be valid and must
 *   point to a file successfully opened by {@link bzopen}.
 * @return bool
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function bzflush($bz){}

/**
 * Opens a bzip2 compressed file
 *
 * {@link bzopen} opens a bzip2 (.bz2) file for reading or writing.
 *
 * @param mixed $file The name of the file to open, or an existing
 *   stream resource.
 * @param string $mode The modes 'r' (read), and 'w' (write) are
 *   supported. Everything else will cause {@link bzopen} to return
 *   FALSE.
 * @return resource If the open fails, {@link bzopen} returns FALSE,
 *   otherwise it returns a pointer to the newly opened file.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function bzopen($file, $mode){}

/**
 * Binary safe bzip2 file read
 *
 * {@link bzread} reads from the given bzip2 file pointer.
 *
 * Reading stops when {@link length} (uncompressed) bytes have been read
 * or EOF is reached, whichever comes first.
 *
 * @param resource $bz The file pointer. It must be valid and must
 *   point to a file successfully opened by {@link bzopen}.
 * @param int $length If not specified, {@link bzread} will read 1024
 *   (uncompressed) bytes at a time. A maximum of 8192 uncompressed bytes
 *   will be read at a time.
 * @return string Returns the uncompressed data, or FALSE on error.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function bzread($bz, $length){}

/**
 * Binary safe bzip2 file write
 *
 * {@link bzwrite} writes a string into the given bzip2 file stream.
 *
 * @param resource $bz The file pointer. It must be valid and must
 *   point to a file successfully opened by {@link bzopen}.
 * @param string $data The written data.
 * @param int $length If supplied, writing will stop after {@link
 *   length} (uncompressed) bytes have been written or the end of {@link
 *   data} is reached, whichever comes first.
 * @return int Returns the number of bytes written, or FALSE on error.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function bzwrite($bz, $data, $length){}

/**
 * Appends a path to current path
 *
 * Appends the {@link path} onto the current path. The {@link path} may
 * be either the return value from one of CairoContext::copyPath or
 * CairoContext::copyPathFlat;
 *
 * if {@link path} is not a valid CairoPath instance a CairoException
 * will be thrown
 *
 * @param CairoContext $context CairoContext object
 * @param CairoPath $path CairoPath object
 * @return void
 * @since PECL cairo >= 0.1.0
 **/
function cairo_append_path($context, $path){}

/**
 * Adds a circular arc
 *
 * Adds a circular arc of the given radius to the current path. The arc
 * is centered at ({@link x}, {@link y}), begins at {@link angle1} and
 * proceeds in the direction of increasing angles to end at {@link
 * angle2}. If {@link angle2} is less than {@link angle1} it will be
 * progressively increased by 2*M_PI until it is greater than {@link
 * angle1}. If there is a current point, an initial line segment will be
 * added to the path to connect the current point to the beginning of the
 * arc. If this initial line is undesired, it can be avoided by calling
 * CairoContext::newSubPath or procedural {@link cairo_new_sub_path}
 * before calling CairoContext::arc or {@link cairo_arc}.
 *
 * Angles are measured in radians. An angle of 0.0 is in the direction of
 * the positive X axis (in user space). An angle of M_PI/2.0 radians (90
 * degrees) is in the direction of the positive Y axis (in user space).
 * Angles increase in the direction from the positive X axis toward the
 * positive Y axis. So with the default transformation matrix, angles
 * increase in a clockwise direction.
 *
 * (To convert from degrees to radians, use degrees * (M_PI / 180.).)
 * This function gives the arc in the direction of increasing angles; see
 * CairoContext::arcNegative or {@link cairo_arc_negative} to get the arc
 * in the direction of decreasing angles.
 *
 * @param CairoContext $context A valid CairoContext object
 * @param float $x x position
 * @param float $y y position
 * @param float $radius Radius of the arc
 * @param float $angle1 start angle
 * @param float $angle2 end angle
 * @return void
 * @since PECL cairo >= 0.1.0
 **/
function cairo_arc($context, $x, $y, $radius, $angle1, $angle2){}

/**
 * Adds a negative arc
 *
 * Adds a circular arc of the given {@link radius} to the current path.
 * The arc is centered at ({@link x}, {@link y}), begins at {@link
 * angle1} and proceeds in the direction of decreasing angles to end at
 * {@link angle2}. If {@link angle2} is greater than {@link angle1} it
 * will be progressively decreased by 2*M_PI until it is less than {@link
 * angle1}.
 *
 * See CairoContext::arc or {@link cairo_arc} for more details. This
 * function differs only in the direction of the arc between the two
 * angles.
 *
 * @param CairoContext $context A valid CairoContext object
 * @param float $x double x position
 * @param float $y double y position
 * @param float $radius The radius of the desired negative arc
 * @param float $angle1 Start angle of the arc
 * @param float $angle2 End angle of the arc
 * @return void
 * @since PECL cairo >= 0.1.0
 **/
function cairo_arc_negative($context, $x, $y, $radius, $angle1, $angle2){}

/**
 * Retrieves the availables font types
 *
 * Returns an array with the available font backends
 *
 * @return array A list-type array with all available font backends.
 **/
function cairo_available_fonts(){}

/**
 * Retrieves all available surfaces
 *
 * Returns an array with the available surface backends
 *
 * @return array A list-type array with all available surface backends.
 **/
function cairo_available_surfaces(){}

/**
 * Establishes a new clip region
 *
 * Establishes a new clip region by intersecting the current clip region
 * with the current path as it would be filled by CairoContext::fill or
 * {@link cairo_fill} and according to the current fill rule (see
 * CairoContext::setFillRule or {@link cairo_set_fill_rule}).
 *
 * After CairoContext::clip or {@link cairo_clip}, the current path will
 * be cleared from the cairo context.
 *
 * The current clip region affects all drawing operations by effectively
 * masking out any changes to the surface that are outside the current
 * clip region.
 *
 * Calling CairoContext::clip or {@link cairo_clip} can only make the
 * clip region smaller, never larger. But the current clip is part of the
 * graphics state, so a temporary restriction of the clip region can be
 * achieved by calling CairoContext::clip or {@link cairo_clip} within a
 * CairoContext::save/CairoContext::restore or {@link cairo_save}/{@link
 * cairo_restore} pair. The only other means of increasing the size of
 * the clip region is CairoContext::resetClip or procedural {@link
 * cairo_reset_clip}.
 *
 * @param CairoContext $context A valid CairoContext object
 * @return void
 * @since PECL cairo >= 0.1.0
 **/
function cairo_clip($context){}

/**
 * Computes the area inside the current clip
 *
 * Computes a bounding box in user coordinates covering the area inside
 * the current clip.
 *
 * @param CairoContext $context A valid CairoContext object
 * @return array An array containing the (float)x1, (float)y1,
 *   (float)x2, (float)y2, coordinates covering the area inside the
 *   current clip
 * @since PECL cairo >= 0.1.0
 **/
function cairo_clip_extents($context){}

/**
 * Establishes a new clip region from the current clip
 *
 * Establishes a new clip region by intersecting the current clip region
 * with the current path as it would be filled by Context.fill and
 * according to the current FILL RULE (see CairoContext::setFillRule or
 * {@link cairo_set_fill_rule}).
 *
 * Unlike CairoContext::clip, CairoContext::clipPreserve preserves the
 * path within the Context. The current clip region affects all drawing
 * operations by effectively masking out any changes to the surface that
 * are outside the current clip region.
 *
 * Calling CairoContext::clipPreserve can only make the clip region
 * smaller, never larger. But the current clip is part of the graphics
 * state, so a temporary restriction of the clip region can be achieved
 * by calling CairoContext::clipPreserve within a
 * CairoContext::save/CairoContext::restore pair. The only other means of
 * increasing the size of the clip region is CairoContext::resetClip.
 *
 * @param CairoContext $context A valid CairoContext object
 * @return void
 * @since PECL cairo >= 0.1.0
 **/
function cairo_clip_preserve($context){}

/**
 * Retrieves the current clip as a list of rectangles
 *
 * Returns a list-type array with the current clip region as a list of
 * rectangles in user coordinates
 *
 * @param CairoContext $context A valid CairoContext object created
 *   with CairoContext::__construct or {@link cairo_create}
 * @return array An array of user-space represented rectangles for the
 *   current clip
 * @since PECL cairo >= 0.1.0
 **/
function cairo_clip_rectangle_list($context){}

/**
 * Closes the current path
 *
 * Adds a line segment to the path from the current point to the
 * beginning of the current sub-path, (the most recent point passed to
 * CairoContext::moveTo), and closes this sub-path. After this call the
 * current point will be at the joined endpoint of the sub-path.
 *
 * The behavior of close_path() is distinct from simply calling
 * CairoContext::lineTo with the equivalent coordinate in the case of
 * stroking. When a closed sub-path is stroked, there are no caps on the
 * ends of the sub-path. Instead, there is a line join connecting the
 * final and initial segments of the sub-path.
 *
 * If there is no current point before the call to
 * CairoContext::closePath, this function will have no effect.
 *
 * @param CairoContext $context A valid CairoContext object created
 *   with CairoContext::__construct or {@link cairo_create}
 * @return void
 * @since PECL cairo >= 0.1.0
 **/
function cairo_close_path($context){}

/**
 * The copyPage purpose
 *
 * Emits the current page for backends that support multiple pages, but
 * doesn't clear it, so that the contents of the current page will be
 * retained for the next page. Use CairoSurface::showPage() if you want
 * to get an empty page after the emission.
 *
 * @param CairoContext $context A CairoContext object
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_copy_page($context){}

/**
 * Creates a copy of the current path
 *
 * Creates a copy of the current path and returns it to the user as a
 * CairoPath. See CairoPath for hints on how to iterate over the returned
 * data structure.
 *
 * This function will always return a valid CairoPath object, but the
 * result will have no data, if either of the following conditions hold:
 * 1. If there is insufficient memory to copy the path. In this case
 * CairoPath->status will be set to CAIRO_STATUS_NO_MEMORY. 2. If {@link
 * context} is already in an error state. In this case CairoPath->status
 * will contain the same status that would be returned by {@link
 * cairo_status}.
 *
 * In either case, CairoPath->status will be set to
 * CAIRO_STATUS_NO_MEMORY (regardless of what the error status in cr
 * might have been).
 *
 * @param CairoContext $context A valid CairoContext object created
 *   with CairoContext::__construct or {@link cairo_create}
 * @return CairoPath A copy of the current CairoPath in the context
 * @since PECL cairo >= 0.1.0
 **/
function cairo_copy_path($context){}

/**
 * Gets a flattened copy of the current path
 *
 * Gets a flattened copy of the current path and returns it to the user
 * as a CairoPath.
 *
 * This function is like CairoContext::copyPath except that any curves in
 * the path will be approximated with piecewise-linear approximations,
 * (accurate to within the current tolerance value). That is, the result
 * is guaranteed to not have any elements of type CAIRO_PATH_CURVE_TO
 * which will instead be replaced by a series of CAIRO_PATH_LINE_TO
 * elements.
 *
 * @param CairoContext $context A CairoContext object
 * @return CairoPath A copy of the current path
 * @since PECL cairo >= 0.1.0
 **/
function cairo_copy_path_flat($context){}

/**
 * Returns a new CairoContext object on the requested surface
 *
 * @param CairoSurface $surface Description...
 * @return CairoContext What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_create($surface){}

/**
 * Adds a curve
 *
 * Adds a cubic Bezier spline to the path from the current point to
 * position {@link x3} ,{@link y3} in user-space coordinates, using
 * {@link x1}, {@link y1} and {@link x2}, {@link y2} as the control
 * points. After this call the current point will be {@link x3}, {@link
 * y3}.
 *
 * If there is no current point before the call to CairoContext::curveTo
 * this function will behave as if preceded by a call to
 * CairoContext::moveTo ({@link x1}, {@link y1}).
 *
 * @param CairoContext $context A valid CairoContext object created
 *   with CairoContext::__construct or {@link cairo_create}
 * @param float $x1 First control point in the x axis for the curve
 * @param float $y1 First control point in the y axis for the curve
 * @param float $x2 Second control point in x axis for the curve
 * @param float $y2 Second control point in y axis for the curve
 * @param float $x3 Final point in the x axis for the curve
 * @param float $y3 Final point in the y axis for the curve
 * @return void
 * @since PECL cairo >= 0.1.0
 **/
function cairo_curve_to($context, $x1, $y1, $x2, $y2, $x3, $y3){}

/**
 * Transform a coordinate
 *
 * Transform a coordinate from device space to user space by multiplying
 * the given point by the inverse of the current transformation matrix
 * (CTM).
 *
 * @param CairoContext $context A valid CairoContext object created
 *   with CairoContext::__construct or {@link cairo_create}
 * @param float $x x value of the coordinate
 * @param float $y y value of the coordinate
 * @return array An array containing the x and y coordinates in the
 *   user-space
 * @since PECL cairo >= 0.1.0
 **/
function cairo_device_to_user($context, $x, $y){}

/**
 * Transform a distance
 *
 * Transform a distance vector from device space to user space. This
 * function is similar to CairoContext::deviceToUser or {@link
 * cairo_device_to_user} except that the translation components of the
 * inverse Cairo Transformation Matrix will be ignored when transforming
 * ({@link x},{@link y}).
 *
 * @param CairoContext $context A valid CairoContext object created
 *   with CairoContext::__construct or {@link cairo_create}
 * @param float $x X component of a distance vector
 * @param float $y Y component of a distance vector
 * @return array Returns an array with the x and y values of a distance
 *   vector in the user-space
 * @since PECL cairo >= 0.1.0
 **/
function cairo_device_to_user_distance($context, $x, $y){}

/**
 * Fills the current path
 *
 * A drawing operator that fills the current path according to the
 * current CairoFillRule, (each sub-path is implicitly closed before
 * being filled). After CairoContext::fill or {@link cairo_fill}, the
 * current path will be cleared from the CairoContext.
 *
 * @param CairoContext $context A valid CairoContext object created
 *   with CairoContext::__construct or {@link cairo_create}
 * @return void
 * @since PECL cairo >= 0.1.0
 **/
function cairo_fill($context){}

/**
 * Computes the filled area
 *
 * Computes a bounding box in user coordinates covering the area that
 * would be affected, (the “inked” area), by a CairoContext::fill
 * operation given the current path and fill parameters. If the current
 * path is empty, returns an empty rectangle (0,0,0,0). Surface
 * dimensions and clipping are not taken into account.
 *
 * Contrast with CairoContext::pathExtents, which is similar, but returns
 * non-zero extents for some paths with no inked area, (such as a simple
 * line segment).
 *
 * Note that CairoContext::fillExtents must necessarily do more work to
 * compute the precise inked areas in light of the fill rule, so
 * CairoContext::pathExtents may be more desirable for sake of
 * performance if the non-inked path extents are desired.
 *
 * @param CairoContext $context A valid CairoContext object created
 *   with CairoContext::__construct or {@link cairo_create}
 * @return array An array with the coordinates of the afected area
 * @since PECL cairo >= 0.1.0
 **/
function cairo_fill_extents($context){}

/**
 * Fills and preserve the current path
 *
 * A drawing operator that fills the current path according to the
 * current CairoFillRule, (each sub-path is implicitly closed before
 * being filled). Unlike CairoContext::fill, CairoContext::fillPreserve
 * (Procedural {@link cairo_fill}, {@link cairo_fill_preserve},
 * respectively) preserves the path within the Context.
 *
 * @param CairoContext $context A valid CairoContext object created
 *   with CairoContext::__construct or {@link cairo_create}
 * @return void
 * @since PECL cairo >= 0.1.0
 **/
function cairo_fill_preserve($context){}

/**
 * Get the font extents
 *
 * Gets the font extents for the currently selected font.
 *
 * @param CairoContext $context Description...
 * @return array An array containing the font extents for the current
 *   font.
 * @since PECL cairo >= 0.1.0
 **/
function cairo_font_extents($context){}

/**
 * Retrieves the font face type
 *
 * This function returns the type of the backend used to create a font
 * face. See CairoFontType class constants for available types.
 *
 * @param CairoFontFace $fontface
 * @return int A font type that can be any one defined in CairoFontType
 * @since PECL cairo >= 0.1.0
 **/
function cairo_font_face_get_type($fontface){}

/**
 * Check for CairoFontFace errors
 *
 * Checks whether an error has previously occurred for this font face
 *
 * @param CairoFontFace $fontface A valid CairoFontFace object
 * @return int CAIRO_STATUS_SUCCESS or another error such as
 *   CAIRO_STATUS_NO_MEMORY.
 * @since PECL cairo >= 0.1.0
 **/
function cairo_font_face_status($fontface){}

/**
 * @return CairoFontOptions What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_font_options_create(){}

/**
 * @param CairoFontOptions $options Description...
 * @param CairoFontOptions $other Description...
 * @return bool What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_font_options_equal($options, $other){}

/**
 * @param CairoFontOptions $options Description...
 * @return int What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_font_options_get_antialias($options){}

/**
 * @param CairoFontOptions $options Description...
 * @return int What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_font_options_get_hint_metrics($options){}

/**
 * @param CairoFontOptions $options Description...
 * @return int What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_font_options_get_hint_style($options){}

/**
 * @param CairoFontOptions $options Description...
 * @return int What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_font_options_get_subpixel_order($options){}

/**
 * @param CairoFontOptions $options Description...
 * @return int What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_font_options_hash($options){}

/**
 * @param CairoFontOptions $options Description...
 * @param CairoFontOptions $other Description...
 * @return void What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_font_options_merge($options, $other){}

/**
 * @param CairoFontOptions $options Description...
 * @param int $antialias Description...
 * @return void What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_font_options_set_antialias($options, $antialias){}

/**
 * @param CairoFontOptions $options Description...
 * @param int $hint_metrics Description...
 * @return void What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_font_options_set_hint_metrics($options, $hint_metrics){}

/**
 * @param CairoFontOptions $options Description...
 * @param int $hint_style Description...
 * @return void What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_font_options_set_hint_style($options, $hint_style){}

/**
 * @param CairoFontOptions $options Description...
 * @param int $subpixel_order Description...
 * @return void What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_font_options_set_subpixel_order($options, $subpixel_order){}

/**
 * @param CairoFontOptions $options Description...
 * @return int What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_font_options_status($options){}

/**
 * @param int $format Description...
 * @param int $width Description...
 * @return int What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_format_stride_for_width($format, $width){}

/**
 * The getAntialias purpose
 *
 * @param CairoContext $context Description...
 * @return int Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_get_antialias($context){}

/**
 * The getCurrentPoint purpose
 *
 * Gets the current point of the current path, which is conceptually the
 * final point reached by the path so far.
 *
 * The current point is returned in the user-space coordinate system. If
 * there is no defined current point or if cr is in an error status, x
 * and y will both be set to 0.0. It is possible to check this in advance
 * with CairoContext::hasCurrentPoint.
 *
 * Most path construction functions alter the current point. See the
 * following for details on how they affect the current point:
 * CairoContext::newPath, CairoContext::newSubPath,
 * CairoContext::appendPath, CairoContext::closePath,
 * CairoContext::moveTo, CairoContext::lineTo, CairoContext::curveTo,
 * CairoContext::relMoveTo, CairoContext::relLineTo,
 * CairoContext::relCurveTo, CairoContext::arc,
 * CairoContext::arcNegative, CairoContext::rectangle,
 * CairoContext::textPath, CairoContext::glyphPath.
 *
 * Some functions use and alter the current point but do not otherwise
 * change current path: CairoContext::showText.
 *
 * Some functions unset the current path and as a result, current point:
 * CairoContext::fill, CairoContext::stroke.
 *
 * @param CairoContext $context A valid CairoContext object.
 * @return array An array containing the x (index 0) and y (index 1)
 *   coordinates of the current point.
 * @since PECL cairo >= 0.1.0
 **/
function cairo_get_current_point($context){}

/**
 * The getDash purpose
 *
 * @param CairoContext $context Description...
 * @return array Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_get_dash($context){}

/**
 * The getDashCount purpose
 *
 * @param CairoContext $context Description...
 * @return int Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_get_dash_count($context){}

/**
 * The getFillRule purpose
 *
 * @param CairoContext $context Description...
 * @return int Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_get_fill_rule($context){}

/**
 * The getFontFace purpose
 *
 * @param CairoContext $context Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_get_font_face($context){}

/**
 * The getFontMatrix purpose
 *
 * @param CairoContext $context Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_get_font_matrix($context){}

/**
 * The getFontOptions purpose
 *
 * @param CairoContext $context Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_get_font_options($context){}

/**
 * The getGroupTarget purpose
 *
 * @param CairoContext $context Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_get_group_target($context){}

/**
 * The getLineCap purpose
 *
 * @param CairoContext $context Description...
 * @return int Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_get_line_cap($context){}

/**
 * The getLineJoin purpose
 *
 * @param CairoContext $context Description...
 * @return int Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_get_line_join($context){}

/**
 * The getLineWidth purpose
 *
 * @param CairoContext $context Description...
 * @return float Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_get_line_width($context){}

/**
 * The getMatrix purpose
 *
 * @param CairoContext $context Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_get_matrix($context){}

/**
 * The getMiterLimit purpose
 *
 * @param CairoContext $context Description...
 * @return float Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_get_miter_limit($context){}

/**
 * The getOperator purpose
 *
 * @param CairoContext $context Description...
 * @return int Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_get_operator($context){}

/**
 * The getScaledFont purpose
 *
 * @param CairoContext $context Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_get_scaled_font($context){}

/**
 * The getSource purpose
 *
 * @param CairoContext $context Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_get_source($context){}

/**
 * The getTarget purpose
 *
 * @param CairoContext $context Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_get_target($context){}

/**
 * The getTolerance purpose
 *
 * @param CairoContext $context Description...
 * @return float Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_get_tolerance($context){}

/**
 * The glyphPath purpose
 *
 * Adds closed paths for the glyphs to the current path. The generated
 * path if filled, achieves an effect similar to that of
 * CairoContext::showGlyphs.
 *
 * @param CairoContext $context A CairoContext object
 * @param array $glyphs Array of glyphs
 * @return void
 * @since PECL cairo >= 0.1.0
 **/
function cairo_glyph_path($context, $glyphs){}

/**
 * The hasCurrentPoint purpose
 *
 * Returns whether a current point is defined on the current path. See
 * CairoContext::getCurrentPoint for details on the current point.
 *
 * @param CairoContext $context A valid CairoContext object.
 * @return bool Whether a current point is defined
 * @since PECL cairo >= 0.1.0
 **/
function cairo_has_current_point($context){}

/**
 * The identityMatrix purpose
 *
 * @param CairoContext $context Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_identity_matrix($context){}

/**
 * @param int $format Description...
 * @param int $width Description...
 * @param int $height Description...
 * @return CairoImageSurface What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_image_surface_create($format, $width, $height){}

/**
 * @param string $data Description...
 * @param int $format Description...
 * @param int $width Description...
 * @param int $height Description...
 * @param int $stride Description...
 * @return CairoImageSurface What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_image_surface_create_for_data($data, $format, $width, $height, $stride){}

/**
 * @param mixed $file Description...
 * @return CairoImageSurface What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_image_surface_create_from_png($file){}

/**
 * @param CairoImageSurface $surface Description...
 * @return string What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_image_surface_get_data($surface){}

/**
 * @param CairoImageSurface $surface Description...
 * @return int What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_image_surface_get_format($surface){}

/**
 * @param CairoImageSurface $surface Description...
 * @return int What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_image_surface_get_height($surface){}

/**
 * @param CairoImageSurface $surface Description...
 * @return int What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_image_surface_get_stride($surface){}

/**
 * @param CairoImageSurface $surface Description...
 * @return int What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_image_surface_get_width($surface){}

/**
 * The inFill purpose
 *
 * @param CairoContext $context Description...
 * @param float $x Description...
 * @param float $y Description...
 * @return bool Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_in_fill($context, $x, $y){}

/**
 * The inStroke purpose
 *
 * @param CairoContext $context Description...
 * @param float $x Description...
 * @param float $y Description...
 * @return bool Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_in_stroke($context, $x, $y){}

/**
 * The lineTo purpose
 *
 * @param CairoContext $context Description...
 * @param float $x Description...
 * @param float $y Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_line_to($context, $x, $y){}

/**
 * The mask purpose
 *
 * @param CairoContext $context Description...
 * @param CairoPattern $pattern Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_mask($context, $pattern){}

/**
 * The maskSurface purpose
 *
 * @param CairoContext $context Description...
 * @param CairoSurface $surface Description...
 * @param float $x Description...
 * @param float $y Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_mask_surface($context, $surface, $x, $y){}

/**
 * Creates a new CairoMatrix object
 *
 * Returns new CairoMatrix object. Matrices are used throughout cairo to
 * convert between different coordinate spaces. Sets matrix to be the
 * affine transformation given by xx, yx, xy, yy, x0, y0. The
 * transformation is given by: x_new = xx * x + xy * y + x0; and y_new =
 * yx * x + yy * y + y0;
 *
 * @param float $xx xx component of the affine transformation
 * @param float $yx yx component of the affine transformation
 * @param float $xy xy component of the affine transformation
 * @param float $yy yy component of the affine transformation
 * @param float $x0 X translation component of the affine
 *   transformation
 * @param float $y0 Y translation component of the affine
 *   transformation
 * @return object Returns a new CairoMatrix object that can be used
 *   with surfaces, contexts, and patterns.
 **/
function cairo_matrix_init($xx, $yx, $xy, $yy, $x0, $y0){}

/**
 * Creates a new identity matrix
 *
 * Creates a new matrix that is an identity transformation. An identity
 * transformation means the source data is copied into the destination
 * data without change
 *
 * @return object Returns a new CairoMatrix object that can be used
 *   with surfaces, contexts, and patterns.
 **/
function cairo_matrix_init_identity(){}

/**
 * Creates a new rotated matrix
 *
 * Creats a new matrix to a transformation that rotates by radians
 * provided
 *
 * @param float $radians angle of rotation, in radians. The direction
 *   of rotation is defined such that positive angles rotate in the
 *   direction from the positive X axis toward the positive Y axis. With
 *   the default axis orientation of cairo, positive angles rotate in a
 *   clockwise direction.
 * @return object Returns a new CairoMatrix object that can be used
 *   with surfaces, contexts, and patterns.
 **/
function cairo_matrix_init_rotate($radians){}

/**
 * Creates a new scaling matrix
 *
 * Creates a new matrix to a transformation that scales by sx and sy in
 * the X and Y dimensions, respectively.
 *
 * @param float $sx scale factor in the X direction
 * @param float $sy scale factor in the Y direction
 * @return object Returns a new CairoMatrix object that can be used
 *   with surfaces, contexts, and patterns.
 **/
function cairo_matrix_init_scale($sx, $sy){}

/**
 * Creates a new translation matrix
 *
 * Creates a new matrix to a transformation that translates by tx and ty
 * in the X and Y dimensions, respectively.
 *
 * @param float $tx amount to translate in the X direction
 * @param float $ty amount to translate in the Y direction
 * @return object Returns a new CairoMatrix object that can be used
 *   with surfaces, contexts, and patterns.
 **/
function cairo_matrix_init_translate($tx, $ty){}

/**
 * @param CairoMatrix $matrix Description...
 * @return void What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_matrix_invert($matrix){}

/**
 * @param CairoMatrix $matrix1 Description...
 * @param CairoMatrix $matrix2 Description...
 * @return CairoMatrix What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_matrix_multiply($matrix1, $matrix2){}

/**
 * The rotate purpose
 *
 * @param CairoContext $context Description...
 * @param string $radians Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_matrix_rotate($context, $radians){}

/**
 * Applies scaling to a matrix
 *
 * Applies scaling by sx, sy to the transformation in the matrix. The
 * effect of the new transformation is to first scale the coordinates by
 * sx and sy, then apply the original transformation to the coordinates.
 *
 * @param CairoContext $context Procedural only - CairoMatrix instance
 * @param float $sx scale factor in the X direction
 * @param float $sy scale factor in the Y direction
 * @return void
 * @since PECL cairo >= 0.1.0
 **/
function cairo_matrix_scale($context, $sx, $sy){}

/**
 * @param CairoMatrix $matrix Description...
 * @param float $dx Description...
 * @param float $dy Description...
 * @return array What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_matrix_transform_distance($matrix, $dx, $dy){}

/**
 * @param CairoMatrix $matrix Description...
 * @param float $dx Description...
 * @param float $dy Description...
 * @return array What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_matrix_transform_point($matrix, $dx, $dy){}

/**
 * @param CairoMatrix $matrix Description...
 * @param float $tx Description...
 * @param float $ty Description...
 * @return void What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_matrix_translate($matrix, $tx, $ty){}

/**
 * The moveTo purpose
 *
 * Begin a new sub-path. After this call the current point will be (x,
 * y).
 *
 * @param CairoContext $context A valid CairoContext object.
 * @param float $x The x coordinate of the new position.
 * @param float $y The y coordinate of the new position
 * @return void
 * @since PECL cairo >= 0.1.0
 **/
function cairo_move_to($context, $x, $y){}

/**
 * The newPath purpose
 *
 * Clears the current path. After this call there will be no path and no
 * current point.
 *
 * @param CairoContext $context A valid CairoContext object.
 * @return void
 * @since PECL cairo >= 0.1.0
 **/
function cairo_new_path($context){}

/**
 * The newSubPath purpose
 *
 * @param CairoContext $context Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_new_sub_path($context){}

/**
 * The paint purpose
 *
 * @param CairoContext $context Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_paint($context){}

/**
 * The paintWithAlpha purpose
 *
 * @param CairoContext $context Description...
 * @param float $alpha Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_paint_with_alpha($context, $alpha){}

/**
 * The pathExtents purpose
 *
 * @param CairoContext $context Description...
 * @return array Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_path_extents($context){}

/**
 * @param CairoGradientPattern $pattern Description...
 * @param float $offset Description...
 * @param float $red Description...
 * @param float $green Description...
 * @param float $blue Description...
 * @return void What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_pattern_add_color_stop_rgb($pattern, $offset, $red, $green, $blue){}

/**
 * @param CairoGradientPattern $pattern Description...
 * @param float $offset Description...
 * @param float $red Description...
 * @param float $green Description...
 * @param float $blue Description...
 * @param float $alpha Description...
 * @return void What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_pattern_add_color_stop_rgba($pattern, $offset, $red, $green, $blue, $alpha){}

/**
 * @param CairoSurface $surface Description...
 * @return CairoPattern What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_pattern_create_for_surface($surface){}

/**
 * @param float $x0 Description...
 * @param float $y0 Description...
 * @param float $x1 Description...
 * @param float $y1 Description...
 * @return CairoPattern What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_pattern_create_linear($x0, $y0, $x1, $y1){}

/**
 * @param float $x0 Description...
 * @param float $y0 Description...
 * @param float $r0 Description...
 * @param float $x1 Description...
 * @param float $y1 Description...
 * @param float $r1 Description...
 * @return CairoPattern What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_pattern_create_radial($x0, $y0, $r0, $x1, $y1, $r1){}

/**
 * @param float $red Description...
 * @param float $green Description...
 * @param float $blue Description...
 * @return CairoPattern What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_pattern_create_rgb($red, $green, $blue){}

/**
 * @param float $red Description...
 * @param float $green Description...
 * @param float $blue Description...
 * @param float $alpha Description...
 * @return CairoPattern What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_pattern_create_rgba($red, $green, $blue, $alpha){}

/**
 * @param CairoGradientPattern $pattern Description...
 * @return int What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_pattern_get_color_stop_count($pattern){}

/**
 * @param CairoGradientPattern $pattern Description...
 * @param int $index Description...
 * @return array What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_pattern_get_color_stop_rgba($pattern, $index){}

/**
 * @param string $pattern Description...
 * @return int What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_pattern_get_extend($pattern){}

/**
 * @param CairoSurfacePattern $pattern Description...
 * @return int What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_pattern_get_filter($pattern){}

/**
 * @param CairoLinearGradient $pattern Description...
 * @return array What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_pattern_get_linear_points($pattern){}

/**
 * @param CairoPattern $pattern Description...
 * @return CairoMatrix What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_pattern_get_matrix($pattern){}

/**
 * @param CairoRadialGradient $pattern Description...
 * @return array What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_pattern_get_radial_circles($pattern){}

/**
 * @param CairoSolidPattern $pattern Description...
 * @return array What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_pattern_get_rgba($pattern){}

/**
 * @param CairoSurfacePattern $pattern Description...
 * @return CairoSurface What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_pattern_get_surface($pattern){}

/**
 * @param CairoPattern $pattern Description...
 * @return int What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_pattern_get_type($pattern){}

/**
 * @param string $pattern Description...
 * @param string $extend Description...
 * @return void What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_pattern_set_extend($pattern, $extend){}

/**
 * @param CairoSurfacePattern $pattern Description...
 * @param int $filter Description...
 * @return void What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_pattern_set_filter($pattern, $filter){}

/**
 * @param CairoPattern $pattern Description...
 * @param CairoMatrix $matrix Description...
 * @return void What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_pattern_set_matrix($pattern, $matrix){}

/**
 * @param CairoPattern $pattern Description...
 * @return int What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_pattern_status($pattern){}

/**
 * @param string $file Description...
 * @param float $width Description...
 * @param float $height Description...
 * @return CairoPdfSurface What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_pdf_surface_create($file, $width, $height){}

/**
 * @param CairoPdfSurface $surface Description...
 * @param float $width Description...
 * @param float $height Description...
 * @return void What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_pdf_surface_set_size($surface, $width, $height){}

/**
 * The popGroup purpose
 *
 * @param CairoContext $context Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_pop_group($context){}

/**
 * The popGroupToSource purpose
 *
 * @param CairoContext $context Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_pop_group_to_source($context){}

/**
 * @return array What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_ps_get_levels(){}

/**
 * @param int $level Description...
 * @return string What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_ps_level_to_string($level){}

/**
 * @param string $file Description...
 * @param float $width Description...
 * @param float $height Description...
 * @return CairoPsSurface What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_ps_surface_create($file, $width, $height){}

/**
 * @param CairoPsSurface $surface Description...
 * @return void What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_ps_surface_dsc_begin_page_setup($surface){}

/**
 * @param CairoPsSurface $surface Description...
 * @return void What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_ps_surface_dsc_begin_setup($surface){}

/**
 * @param CairoPsSurface $surface Description...
 * @param string $comment Description...
 * @return void What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_ps_surface_dsc_comment($surface, $comment){}

/**
 * @param CairoPsSurface $surface Description...
 * @return bool What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_ps_surface_get_eps($surface){}

/**
 * @param CairoPsSurface $surface Description...
 * @param int $level Description...
 * @return void What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_ps_surface_restrict_to_level($surface, $level){}

/**
 * @param CairoPsSurface $surface Description...
 * @param bool $level Description...
 * @return void What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_ps_surface_set_eps($surface, $level){}

/**
 * @param CairoPsSurface $surface Description...
 * @param float $width Description...
 * @param float $height Description...
 * @return void What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_ps_surface_set_size($surface, $width, $height){}

/**
 * The pushGroup purpose
 *
 * @param CairoContext $context Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_push_group($context){}

/**
 * The pushGroupWithContent purpose
 *
 * @param CairoContext $context Description...
 * @param int $content Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_push_group_with_content($context, $content){}

/**
 * The rectangle purpose
 *
 * @param CairoContext $context Description...
 * @param float $x Description...
 * @param float $y Description...
 * @param float $width Description...
 * @param float $height Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_rectangle($context, $x, $y, $width, $height){}

/**
 * The relCurveTo purpose
 *
 * @param CairoContext $context Description...
 * @param float $x1 Description...
 * @param float $y1 Description...
 * @param float $x2 Description...
 * @param float $y2 Description...
 * @param float $x3 Description...
 * @param float $y3 Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_rel_curve_to($context, $x1, $y1, $x2, $y2, $x3, $y3){}

/**
 * The relLineTo purpose
 *
 * @param CairoContext $context Description...
 * @param float $x Description...
 * @param float $y Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_rel_line_to($context, $x, $y){}

/**
 * The relMoveTo purpose
 *
 * @param CairoContext $context Description...
 * @param float $x Description...
 * @param float $y Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_rel_move_to($context, $x, $y){}

/**
 * The resetClip purpose
 *
 * @param CairoContext $context Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_reset_clip($context){}

/**
 * The restore purpose
 *
 * @param CairoContext $context Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_restore($context){}

/**
 * The rotate purpose
 *
 * @param CairoContext $context Description...
 * @param float $angle Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_rotate($context, $angle){}

/**
 * The save purpose
 *
 * @param CairoContext $context Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_save($context){}

/**
 * The scale purpose
 *
 * @param CairoContext $context Description...
 * @param float $x Description...
 * @param float $y Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_scale($context, $x, $y){}

/**
 * @param CairoFontFace $fontface Description...
 * @param CairoMatrix $matrix Description...
 * @param CairoMatrix $ctm Description...
 * @param CairoFontOptions $fontoptions Description...
 * @return CairoScaledFont What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_scaled_font_create($fontface, $matrix, $ctm, $fontoptions){}

/**
 * @param CairoScaledFont $scaledfont Description...
 * @return array What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_scaled_font_extents($scaledfont){}

/**
 * @param CairoScaledFont $scaledfont Description...
 * @return CairoMatrix What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_scaled_font_get_ctm($scaledfont){}

/**
 * @param CairoScaledFont $scaledfont Description...
 * @return CairoFontFace What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_scaled_font_get_font_face($scaledfont){}

/**
 * @param CairoScaledFont $scaledfont Description...
 * @return CairoFontOptions What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_scaled_font_get_font_matrix($scaledfont){}

/**
 * @param CairoScaledFont $scaledfont Description...
 * @return CairoFontOptions What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_scaled_font_get_font_options($scaledfont){}

/**
 * @param CairoScaledFont $scaledfont Description...
 * @return CairoMatrix What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_scaled_font_get_scale_matrix($scaledfont){}

/**
 * @param CairoScaledFont $scaledfont Description...
 * @return int What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_scaled_font_get_type($scaledfont){}

/**
 * @param CairoScaledFont $scaledfont Description...
 * @param array $glyphs Description...
 * @return array What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_scaled_font_glyph_extents($scaledfont, $glyphs){}

/**
 * @param CairoScaledFont $scaledfont Description...
 * @return int What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_scaled_font_status($scaledfont){}

/**
 * @param CairoScaledFont $scaledfont Description...
 * @param string $text Description...
 * @return array What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_scaled_font_text_extents($scaledfont, $text){}

/**
 * The selectFontFace purpose
 *
 * @param CairoContext $context Description...
 * @param string $family Description...
 * @param int $slant Description...
 * @param int $weight Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_select_font_face($context, $family, $slant, $weight){}

/**
 * The setAntialias purpose
 *
 * @param CairoContext $context Description...
 * @param int $antialias Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_set_antialias($context, $antialias){}

/**
 * The setDash purpose
 *
 * @param CairoContext $context Description...
 * @param array $dashes Description...
 * @param float $offset Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_set_dash($context, $dashes, $offset){}

/**
 * The setFillRule purpose
 *
 * @param CairoContext $context Description...
 * @param int $setting Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_set_fill_rule($context, $setting){}

/**
 * The setFontFace purpose
 *
 * Sets the font-face for a given context.
 *
 * @param CairoContext $context A CairoContext object to change the
 *   font-face for.
 * @param CairoFontFace $fontface A CairoFontFace object
 * @return void No value is returned
 * @since PECL cairo >= 0.1.0
 **/
function cairo_set_font_face($context, $fontface){}

/**
 * The setFontMatrix purpose
 *
 * @param CairoContext $context Description...
 * @param CairoMatrix $matrix Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_set_font_matrix($context, $matrix){}

/**
 * The setFontOptions purpose
 *
 * @param CairoContext $context Description...
 * @param CairoFontOptions $fontoptions Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_set_font_options($context, $fontoptions){}

/**
 * The setFontSize purpose
 *
 * @param CairoContext $context Description...
 * @param float $size Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_set_font_size($context, $size){}

/**
 * The setLineCap purpose
 *
 * @param CairoContext $context Description...
 * @param int $setting Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_set_line_cap($context, $setting){}

/**
 * The setLineJoin purpose
 *
 * @param CairoContext $context Description...
 * @param int $setting Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_set_line_join($context, $setting){}

/**
 * The setLineWidth purpose
 *
 * @param CairoContext $context Description...
 * @param float $width Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_set_line_width($context, $width){}

/**
 * The setMatrix purpose
 *
 * @param CairoContext $context Description...
 * @param CairoMatrix $matrix Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_set_matrix($context, $matrix){}

/**
 * The setMiterLimit purpose
 *
 * @param CairoContext $context Description...
 * @param float $limit Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_set_miter_limit($context, $limit){}

/**
 * The setOperator purpose
 *
 * @param CairoContext $context Description...
 * @param int $setting Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_set_operator($context, $setting){}

/**
 * The setScaledFont purpose
 *
 * @param CairoContext $context Description...
 * @param CairoScaledFont $scaledfont Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_set_scaled_font($context, $scaledfont){}

/**
 * The setSourceRGB purpose
 *
 * @param CairoContext $context Description...
 * @param float $red Description...
 * @param float $green Description...
 * @param float $blue Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_set_source($context, $red, $green, $blue){}

/**
 * The setSourceSurface purpose
 *
 * @param CairoContext $context Description...
 * @param CairoSurface $surface Description...
 * @param float $x Description...
 * @param float $y Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_set_source_surface($context, $surface, $x, $y){}

/**
 * The setTolerance purpose
 *
 * @param CairoContext $context Description...
 * @param float $tolerance Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_set_tolerance($context, $tolerance){}

/**
 * The showPage purpose
 *
 * @param CairoContext $context Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_show_page($context){}

/**
 * The showText purpose
 *
 * @param CairoContext $context Description...
 * @param string $text Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_show_text($context, $text){}

/**
 * The status purpose
 *
 * @param CairoContext $context Description...
 * @return int Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_status($context){}

/**
 * Retrieves the current status as string
 *
 * Retrieves the current status as a readable string
 *
 * @param int $status A valid status code given by {@link cairo_status}
 *   or CairoContext::status
 * @return string A string containing the current status of a
 *   CairoContext object
 **/
function cairo_status_to_string($status){}

/**
 * The stroke purpose
 *
 * @param CairoContext $context Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_stroke($context){}

/**
 * The strokeExtents purpose
 *
 * @param CairoContext $context Description...
 * @return array Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_stroke_extents($context){}

/**
 * The strokePreserve purpose
 *
 * @param CairoContext $context Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_stroke_preserve($context){}

/**
 * @param CairoSurface $surface Description...
 * @return void What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_surface_copy_page($surface){}

/**
 * @param CairoSurface $surface Description...
 * @param int $content Description...
 * @param float $width Description...
 * @param float $height Description...
 * @return CairoSurface What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_surface_create_similar($surface, $content, $width, $height){}

/**
 * @param CairoSurface $surface Description...
 * @return void What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_surface_finish($surface){}

/**
 * @param CairoSurface $surface Description...
 * @return void What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_surface_flush($surface){}

/**
 * @param CairoSurface $surface Description...
 * @return int What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_surface_get_content($surface){}

/**
 * @param CairoSurface $surface Description...
 * @return array What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_surface_get_device_offset($surface){}

/**
 * @param CairoSurface $surface Description...
 * @return CairoFontOptions What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_surface_get_font_options($surface){}

/**
 * @param CairoSurface $surface Description...
 * @return int What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_surface_get_type($surface){}

/**
 * @param CairoSurface $surface Description...
 * @return void What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_surface_mark_dirty($surface){}

/**
 * @param CairoSurface $surface Description...
 * @param float $x Description...
 * @param float $y Description...
 * @param float $width Description...
 * @param float $height Description...
 * @return void What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_surface_mark_dirty_rectangle($surface, $x, $y, $width, $height){}

/**
 * @param CairoSurface $surface Description...
 * @param float $x Description...
 * @param float $y Description...
 * @return void What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_surface_set_device_offset($surface, $x, $y){}

/**
 * @param CairoSurface $surface Description...
 * @param float $x Description...
 * @param float $y Description...
 * @return void What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_surface_set_fallback_resolution($surface, $x, $y){}

/**
 * @param CairoSurface $surface Description...
 * @return void What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_surface_show_page($surface){}

/**
 * @param CairoSurface $surface Description...
 * @return int What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_surface_status($surface){}

/**
 * @param CairoSurface $surface Description...
 * @param resource $stream Description...
 * @return void What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_surface_write_to_png($surface, $stream){}

/**
 * Used to retrieve a list of supported SVG versions
 *
 * Returns a numerically indexed array of currently available
 * CairoSvgVersion constants. In order to retreive the string values for
 * each item, use CairoSvgSurface::versionToString.
 *
 * @return array Returns a numerically indexed array of integer values.
 * @since PECL cairo >= 0.1.0
 **/
function cairo_svg_get_versions(){}

/**
 * @param string $file Description...
 * @param float $width Description...
 * @param float $height Description...
 * @return CairoSvgSurface What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_svg_surface_create($file, $width, $height){}

/**
 * @param CairoSvgSurface $surface Description...
 * @param int $version Description...
 * @return void What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_svg_surface_restrict_to_version($surface, $version){}

/**
 * @param int $version Description...
 * @return string What is returned on success and failure
 * @since PECL cairo >= 0.1.0
 **/
function cairo_svg_version_to_string($version){}

/**
 * The textExtents purpose
 *
 * @param CairoContext $context Description...
 * @return array Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_text_extents($context){}

/**
 * The textPath purpose
 *
 * Adds closed paths for text to the current path. The generated path, if
 * filled, achieves an effect similar to that of CairoContext::showText.
 *
 * Text conversion and positioning is done similar to
 * CairoContext::showText.
 *
 * Like CairoContext::showText, after this call the current point is
 * moved to the origin of where the next glyph would be placed in this
 * same progression. That is, the current point will be at the origin of
 * the final glyph offset by its advance values. This allows for chaining
 * multiple calls to CairoContext::showText without having to set current
 * point in between.
 *
 * Note: The CairoContext::textPath function call is part of what the
 * cairo designers call the "toy" text API. It is convenient for short
 * demos and simple programs, but it is not expected to be adequate for
 * serious text-using applications. See CairoContext::glyphPath for the
 * "real" text path API in cairo.
 *
 * @param CairoContext $context A CairoContext object
 * @param string $text Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_text_path($context, $text){}

/**
 * The transform purpose
 *
 * @param CairoContext $context Description...
 * @param CairoMatrix $matrix Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_transform($context, $matrix){}

/**
 * The translate purpose
 *
 * @param CairoContext $context Description...
 * @param float $x Description...
 * @param float $y Description...
 * @return void Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_translate($context, $x, $y){}

/**
 * The userToDevice purpose
 *
 * @param CairoContext $context Description...
 * @param float $x Description...
 * @param float $y Description...
 * @return array Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_user_to_device($context, $x, $y){}

/**
 * The userToDeviceDistance purpose
 *
 * @param CairoContext $context Description...
 * @param float $x Description...
 * @param float $y Description...
 * @return array Description...
 * @since PECL cairo >= 0.1.0
 **/
function cairo_user_to_device_distance($context, $x, $y){}

/**
 * Retrives cairo's library version
 *
 * Retrieves the current version of the cairo library as an integer value
 *
 * @return int Current Cairo library version integer
 **/
function cairo_version(){}

/**
 * Retrieves cairo version as string
 *
 * Retrieves the current cairo library version as a string.
 *
 * @return string Current Cairo library version string
 **/
function cairo_version_string(){}

/**
 * Call the callback given by the first parameter
 *
 * Calls the {@link callback} given by the first parameter and passes the
 * remaining parameters as arguments.
 *
 * @param callable $callback The callable to be called.
 * @param mixed $parameter Zero or more parameters to be passed to the
 *   callback.
 * @return mixed Returns the return value of the callback.
 * @since PHP 4, PHP 5, PHP 7
 **/
function call_user_func($callback, $parameter){}

/**
 * Call a callback with an array of parameters
 *
 * Calls the {@link callback} given by the first parameter with the
 * parameters in {@link param_arr}.
 *
 * @param callable $callback The callable to be called.
 * @param array $param_arr The parameters to be passed to the callback,
 *   as an indexed array.
 * @return mixed Returns the return value of the callback, or FALSE on
 *   error.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function call_user_func_array($callback, $param_arr){}

/**
 * Call a user method on an specific object
 *
 * @param string $method_name The method name being called.
 * @param object $obj The object that {@link method_name} is being
 *   called on.
 * @param mixed $parameter The optional parameters.
 * @return mixed
 * @since PHP 4, PHP 5
 **/
function call_user_method($method_name, &$obj, $parameter){}

/**
 * Call a user method given with an array of parameters
 *
 * @param string $method_name The method name being called.
 * @param object $obj The object that {@link method_name} is being
 *   called on.
 * @param array $params An array of parameters.
 * @return mixed
 * @since PHP 4 >= 4.0.5, PHP 5
 **/
function call_user_method_array($method_name, &$obj, $params){}

/**
 * Return the number of days in a month for a given year and calendar
 *
 * This function will return the number of days in the {@link month} of
 * {@link year} for the specified {@link calendar}.
 *
 * @param int $calendar Calendar to use for calculation
 * @param int $month Month in the selected calendar
 * @param int $year Year in the selected calendar
 * @return int The length in days of the selected month in the given
 *   calendar
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function cal_days_in_month($calendar, $month, $year){}

/**
 * Converts from Julian Day Count to a supported calendar
 *
 * {@link cal_from_jd} converts the Julian day given in {@link jd} into a
 * date of the specified {@link calendar}. Supported {@link calendar}
 * values are CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH and CAL_FRENCH.
 *
 * @param int $jd Julian day as integer
 * @param int $calendar Calendar to convert to
 * @return array Returns an array containing calendar information like
 *   month, day, year, day of week (dow), abbreviated and full names of
 *   weekday and month and the date in string form "month/day/year". The
 *   day of week ranges from 0 (Sunday) to 6 (Saturday).
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function cal_from_jd($jd, $calendar){}

/**
 * Returns information about a particular calendar
 *
 * {@link cal_info} returns information on the specified {@link
 * calendar}.
 *
 * Calendar information is returned as an array containing the elements
 * calname, calsymbol, month, abbrevmonth and maxdaysinmonth. The names
 * of the different calendars which can be used as {@link calendar} are
 * as follows: 0 or CAL_GREGORIAN - Gregorian Calendar 1 or CAL_JULIAN -
 * Julian Calendar 2 or CAL_JEWISH - Jewish Calendar 3 or CAL_FRENCH -
 * French Revolutionary Calendar
 *
 * If no {@link calendar} is specified information on all supported
 * calendars is returned as an array.
 *
 * @param int $calendar Calendar to return information for. If no
 *   calendar is specified information about all calendars is returned.
 * @return array
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function cal_info($calendar){}

/**
 * Converts from a supported calendar to Julian Day Count
 *
 * {@link cal_to_jd} calculates the Julian day count for a date in the
 * specified {@link calendar}. Supported {@link calendar}s are
 * CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH and CAL_FRENCH.
 *
 * @param int $calendar Calendar to convert from, one of CAL_GREGORIAN,
 *   CAL_JULIAN, CAL_JEWISH or CAL_FRENCH.
 * @param int $month The month as a number, the valid range depends on
 *   the {@link calendar}
 * @param int $day The day as a number, the valid range depends on the
 *   {@link calendar}
 * @param int $year The year as a number, the valid range depends on
 *   the {@link calendar}
 * @return int A Julian Day number.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function cal_to_jd($calendar, $month, $day, $year){}

/**
 * Round fractions up
 *
 * @param float $value The value to round
 * @return float {@link value} rounded up to the next highest integer.
 *   The return value of {@link ceil} is still of type float as the value
 *   range of float is usually bigger than that of integer.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ceil($value){}

/**
 * Creates a chdb file
 *
 * {@link chdb_create} creates a chdb file containing the specified
 * key-value pairs.
 *
 * @param string $pathname The name of the file to create. If a file
 *   with the same name already exists, it is overwritten.
 * @param array $data An array containing the key-value pairs to store
 *   in the chdb file. Keys and values are converted to strings before
 *   being written to the file, as chdb only support the string type.
 *   Note that binary strings are supported as well, both as keys and
 *   values.
 * @return bool
 * @since PECL chdb >= 0.1.0
 **/
function chdb_create($pathname, $data){}

/**
 * Change directory
 *
 * Changes PHP's current directory to {@link directory}.
 *
 * @param string $directory The new current directory
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function chdir($directory){}

/**
 * Validate a Gregorian date
 *
 * Checks the validity of the date formed by the arguments. A date is
 * considered valid if each parameter is properly defined.
 *
 * @param int $month The month is between 1 and 12 inclusive.
 * @param int $day The day is within the allowed number of days for the
 *   given {@link month}. Leap {@link year}s are taken into
 *   consideration.
 * @param int $year The year is between 1 and 32767 inclusive.
 * @return bool Returns TRUE if the date given is valid; otherwise
 *   returns FALSE.
 * @since PHP 4, PHP 5, PHP 7
 **/
function checkdate($month, $day, $year){}

/**
 * Check DNS records corresponding to a given Internet host name or IP
 * address
 *
 * Searches DNS for records of type {@link type} corresponding to {@link
 * host}.
 *
 * @param string $host {@link host} may either be the IP address in
 *   dotted-quad notation or the host name.
 * @param string $type {@link type} may be any one of: A, MX, NS, SOA,
 *   PTR, CNAME, AAAA, A6, SRV, NAPTR, TXT or ANY.
 * @return bool Returns TRUE if any records are found; returns FALSE if
 *   no records were found or if an error occurred.
 * @since PHP 4, PHP 5, PHP 7
 **/
function checkdnsrr($host, $type){}

/**
 * Changes file group
 *
 * Attempts to change the group of the file {@link filename} to {@link
 * group}.
 *
 * Only the superuser may change the group of a file arbitrarily; other
 * users may change the group of a file to any group of which that user
 * is a member.
 *
 * @param string $filename Path to the file.
 * @param mixed $group A group name or number.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function chgrp($filename, $group){}

/**
 * Changes file mode
 *
 * Attempts to change the mode of the specified file to that given in
 * {@link mode}.
 *
 * @param string $filename Path to the file.
 * @param int $mode Note that {@link mode} is not automatically assumed
 *   to be an octal value, so to ensure the expected operation, you need
 *   to prefix {@link mode} with a zero (0). Strings such as "g+w" will
 *   not work properly.
 *   
 *   <?php chmod("/somedir/somefile", 755); // decimal; probably
 *   incorrect chmod("/somedir/somefile", "u+rwx,go+rx"); // string;
 *   incorrect chmod("/somedir/somefile", 0755); // octal; correct value
 *   of mode ?>
 *   
 *   The {@link mode} parameter consists of three octal number components
 *   specifying access restrictions for the owner, the user group in
 *   which the owner is in, and to everybody else in this order. One
 *   component can be computed by adding up the needed permissions for
 *   that target user base. Number 1 means that you grant execute rights,
 *   number 2 means that you make the file writeable, number 4 means that
 *   you make the file readable. Add up these numbers to specify needed
 *   rights. You can also read more about modes on Unix systems with 'man
 *   1 chmod' and 'man 2 chmod'.
 *   
 *   <?php // Read and write for owner, nothing for everybody else
 *   chmod("/somedir/somefile", 0600);
 *   
 *   // Read and write for owner, read for everybody else
 *   chmod("/somedir/somefile", 0644);
 *   
 *   // Everything for owner, read and execute for others
 *   chmod("/somedir/somefile", 0755);
 *   
 *   // Everything for owner, read and execute for owner's group
 *   chmod("/somedir/somefile", 0750); ?>
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function chmod($filename, $mode){}

/**
 * Strip whitespace (or other characters) from the end of a string
 *
 * This function returns a string with whitespace (or other characters)
 * stripped from the end of {@link str}.
 *
 * Without the second parameter, {@link chop} will strip these
 * characters: " " (ASCII 32 (0x20)), an ordinary space. "\t" (ASCII 9
 * (0x09)), a tab. "\n" (ASCII 10 (0x0A)), a new line (line feed). "\r"
 * (ASCII 13 (0x0D)), a carriage return. "\0" (ASCII 0 (0x00)), the
 * NULL-byte. "\x0B" (ASCII 11 (0x0B)), a vertical tab.
 *
 * @param string $str The input string.
 * @param string $character_mask You can also specify the characters
 *   you want to strip, by means of the {@link character_mask} parameter.
 *   Simply list all characters that you want to be stripped. With .. you
 *   can specify a range of characters.
 * @return string Returns the modified string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function chop($str, $character_mask){}

/**
 * Changes file owner
 *
 * Attempts to change the owner of the file {@link filename} to user
 * {@link user}. Only the superuser may change the owner of a file.
 *
 * @param string $filename Path to the file.
 * @param mixed $user A user name or number.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function chown($filename, $user){}

/**
 * Generate a single-byte string from a number
 *
 * Returns a one-character string containing the character specified by
 * interpreting {@link bytevalue} as an unsigned integer.
 *
 * This can be used to create a one-character string in a single-byte
 * encoding such as ASCII, ISO-8859, or Windows 1252, by passing the
 * position of a desired character in the encoding's mapping table.
 * However, note that this function is not aware of any string encoding,
 * and in particular cannot be passed a Unicode code point value to
 * generate a string in a multibyte encoding like UTF-8 or UTF-16.
 *
 * This function complements {@link ord}.
 *
 * @param int $bytevalue An integer between 0 and 255. Values outside
 *   the valid range (0..255) will be bitwise and'ed with 255, which is
 *   equivalent to the following algorithm:
 *   
 *   while ($bytevalue < 0) { $bytevalue += 256; } $bytevalue %= 256;
 * @return string A single-character string containing the specified
 *   byte.
 * @since PHP 4, PHP 5, PHP 7
 **/
function chr($bytevalue){}

/**
 * Change the root directory
 *
 * Changes the root directory of the current process to {@link
 * directory}, and changes the current working directory to "/".
 *
 * This function is only available to GNU and BSD systems, and only when
 * using the CLI, CGI or Embed SAPI. Also, this function requires root
 * privileges.
 *
 * @param string $directory The path to change the root directory to.
 * @return bool
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7
 **/
function chroot($directory){}

/**
 * Split a string into smaller chunks
 *
 * Can be used to split a string into smaller chunks which is useful for
 * e.g. converting {@link base64_encode} output to match RFC 2045
 * semantics. It inserts {@link end} every {@link chunklen} characters.
 *
 * @param string $body The string to be chunked.
 * @param int $chunklen The chunk length.
 * @param string $end The line ending sequence.
 * @return string Returns the chunked string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function chunk_split($body, $chunklen, $end){}

/**
 * Import new class method definitions from a file
 *
 * @param string $filename The filename of the class method definitions
 *   to import
 * @return array Associative array of imported methods
 * @since PECL classkit >= 0.3
 **/
function classkit_import($filename){}

/**
 * Dynamically adds a new method to a given class
 *
 * @param string $classname The class to which this method will be
 *   added
 * @param string $methodname The name of the method to add
 * @param string $args Comma-delimited list of arguments for the
 *   newly-created method
 * @param string $code The code to be evaluated when {@link methodname}
 *   is called
 * @param int $flags The type of method to create, can be
 *   CLASSKIT_ACC_PUBLIC, CLASSKIT_ACC_PROTECTED or CLASSKIT_ACC_PRIVATE
 * @return bool
 * @since PECL classkit >= 0.1
 **/
function classkit_method_add($classname, $methodname, $args, $code, $flags){}

/**
 * Copies a method from class to another
 *
 * @param string $dClass Destination class for copied method
 * @param string $dMethod Destination method name
 * @param string $sClass Source class of the method to copy
 * @param string $sMethod Name of the method to copy from the source
 *   class. If this parameter is omitted, the value of {@link dMethod} is
 *   assumed.
 * @return bool
 * @since PECL classkit >= 0.2
 **/
function classkit_method_copy($dClass, $dMethod, $sClass, $sMethod){}

/**
 * Dynamically changes the code of the given method
 *
 * @param string $classname The class in which to redefine the method
 * @param string $methodname The name of the method to redefine
 * @param string $args Comma-delimited list of arguments for the
 *   redefined method
 * @param string $code The new code to be evaluated when {@link
 *   methodname} is called
 * @param int $flags The redefined method can be CLASSKIT_ACC_PUBLIC,
 *   CLASSKIT_ACC_PROTECTED or CLASSKIT_ACC_PRIVATE
 * @return bool
 * @since PECL classkit >= 0.1
 **/
function classkit_method_redefine($classname, $methodname, $args, $code, $flags){}

/**
 * Dynamically removes the given method
 *
 * @param string $classname The class in which to remove the method
 * @param string $methodname The name of the method to remove
 * @return bool
 * @since PECL classkit >= 0.1
 **/
function classkit_method_remove($classname, $methodname){}

/**
 * Dynamically changes the name of the given method
 *
 * @param string $classname The class in which to rename the method
 * @param string $methodname The name of the method to rename
 * @param string $newname The new name to give to the renamed method
 * @return bool
 * @since PECL classkit >= 0.1
 **/
function classkit_method_rename($classname, $methodname, $newname){}

/**
 * Creates an alias for a class
 *
 * Creates an alias named {@link alias} based on the user defined class
 * {@link original}. The aliased class is exactly the same as the
 * original class.
 *
 * @param string $original The original class.
 * @param string $alias The alias name for the class.
 * @param bool $autoload Whether to autoload if the original class is
 *   not found.
 * @return bool
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function class_alias($original, $alias, $autoload){}

/**
 * Checks if the class has been defined
 *
 * This function checks whether or not the given class has been defined.
 *
 * @param string $class_name The class name. The name is matched in a
 *   case-insensitive manner.
 * @param bool $autoload Whether or not to call by default.
 * @return bool Returns TRUE if {@link class_name} is a defined class,
 *   FALSE otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function class_exists($class_name, $autoload){}

/**
 * Return the interfaces which are implemented by the given class or
 * interface
 *
 * This function returns an array with the names of the interfaces that
 * the given {@link class} and its parents implement.
 *
 * @param mixed $class An object (class instance) or a string (class or
 *   interface name).
 * @param bool $autoload Whether to allow this function to load the
 *   class automatically through the {@link __autoload} magic method.
 * @return array An array on success, or FALSE on error.
 * @since PHP 5, PHP 7
 **/
function class_implements($class, $autoload){}

/**
 * Return the parent classes of the given class
 *
 * This function returns an array with the name of the parent classes of
 * the given {@link class}.
 *
 * @param mixed $class An object (class instance) or a string (class
 *   name).
 * @param bool $autoload Whether to allow this function to load the
 *   class automatically through the {@link __autoload} magic method.
 * @return array An array on success, or FALSE on error.
 * @since PHP 5, PHP 7
 **/
function class_parents($class, $autoload){}

/**
 * Return the traits used by the given class
 *
 * This function returns an array with the names of the traits that the
 * given {@link class} uses. This does however not include any traits
 * used by a parent class.
 *
 * @param mixed $class An object (class instance) or a string (class
 *   name).
 * @param bool $autoload Whether to allow this function to load the
 *   class automatically through the {@link __autoload} magic method.
 * @return array An array on success, or FALSE on error.
 * @since PHP 5 >= 5.4.0, PHP 7
 **/
function class_uses($class, $autoload){}

/**
 * Clears file status cache
 *
 * When you use {@link stat}, {@link lstat}, or any of the other
 * functions listed in the affected functions list (below), PHP caches
 * the information those functions return in order to provide faster
 * performance. However, in certain cases, you may want to clear the
 * cached information. For instance, if the same file is being checked
 * multiple times within a single script, and that file is in danger of
 * being removed or changed during that script's operation, you may elect
 * to clear the status cache. In these cases, you can use the {@link
 * clearstatcache} function to clear the information that PHP caches
 * about a file.
 *
 * You should also note that PHP doesn't cache information about
 * non-existent files. So, if you call {@link file_exists} on a file that
 * doesn't exist, it will return FALSE until you create the file. If you
 * create the file, it will return TRUE even if you then delete the file.
 * However {@link unlink} clears the cache automatically.
 *
 * Affected functions include {@link stat}, {@link lstat}, {@link
 * file_exists}, {@link is_writable}, {@link is_readable}, {@link
 * is_executable}, {@link is_file}, {@link is_dir}, {@link is_link},
 * {@link filectime}, {@link fileatime}, {@link filemtime}, {@link
 * fileinode}, {@link filegroup}, {@link fileowner}, {@link filesize},
 * {@link filetype}, and {@link fileperms}.
 *
 * @param bool $clear_realpath_cache Whether to clear the realpath
 *   cache or not.
 * @param string $filename Clear the realpath and the stat cache for a
 *   specific filename only; only used if {@link clear_realpath_cache} is
 *   TRUE.
 * @return void
 * @since PHP 4, PHP 5, PHP 7
 **/
function clearstatcache($clear_realpath_cache, $filename){}

/**
 * Returns the current process title
 *
 * Returns the current process title, as set by {@link
 * cli_set_process_title}. Note that this may not exactly match what is
 * shown in ps or top, depending on your operating system.
 *
 * This function is available only in CLI mode.
 *
 * @return string Return a string with the current process title or
 *   NULL on error.
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function cli_get_process_title(){}

/**
 * Sets the process title
 *
 * Sets the process title visible in tools such as top and ps. This
 * function is available only in CLI mode.
 *
 * @param string $title The new title.
 * @return bool
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function cli_set_process_title($title){}

/**
 * Close directory handle
 *
 * Closes the directory stream indicated by {@link dir_handle}. The
 * stream must have previously been opened by {@link opendir}.
 *
 * @param resource $dir_handle The directory handle resource previously
 *   opened with {@link opendir}. If the directory handle is not
 *   specified, the last link opened by {@link opendir} is assumed.
 * @return void
 * @since PHP 4, PHP 5, PHP 7
 **/
function closedir($dir_handle){}

/**
 * Close connection to system logger
 *
 * {@link closelog} closes the descriptor being used to write to the
 * system logger. The use of {@link closelog} is optional.
 *
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function closelog(){}

/**
 * Sort array maintaining index association
 *
 * This function sorts an array such that array indices maintain their
 * correlation with the array elements they are associated with. This is
 * used mainly when sorting associative arrays where the actual element
 * order is significant. Array elements will have sort order according to
 * current locale rules.
 *
 * Equivalent to standard PHP {@link asort}.
 *
 * @param Collator $coll Collator object.
 * @param array $arr Array of strings to sort.
 * @param int $sort_flag Optional sorting type, one of the following:
 *   Collator::SORT_REGULAR - compare items normally (don't change types)
 *   Collator::SORT_NUMERIC - compare items numerically
 *   Collator::SORT_STRING - compare items as strings Default $sort_flag
 *   value is Collator::SORT_REGULAR. It is also used if an invalid
 *   $sort_flag value has been specified.
 * @return bool
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function collator_asort($coll, &$arr, $sort_flag){}

/**
 * Compare two Unicode strings
 *
 * Compare two Unicode strings according to collation rules.
 *
 * @param Collator $coll Collator object.
 * @param string $str1 The first string to compare.
 * @param string $str2 The second string to compare.
 * @return int Return comparison result:
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function collator_compare($coll, $str1, $str2){}

/**
 * Create a collator
 *
 * The strings will be compared using the options already specified.
 *
 * @param string $locale The locale containing the required collation
 *   rules. Special values for locales can be passed in - if null is
 *   passed for the locale, the default locale collation rules will be
 *   used. If empty string ("") or "root" are passed, UCA rules will be
 *   used.
 * @return Collator Return new instance of Collator object, or NULL on
 *   error.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function collator_create($locale){}

/**
 * Get collation attribute value
 *
 * Get a value of an integer collator attribute.
 *
 * @param Collator $coll Collator object.
 * @param int $attr Attribute to get value for.
 * @return int Attribute value, or boolean FALSE on error.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function collator_get_attribute($coll, $attr){}

/**
 * Get collator's last error code
 *
 * @param Collator $coll Collator object.
 * @return int Error code returned by the last Collator API function
 *   call.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function collator_get_error_code($coll){}

/**
 * Get text for collator's last error code
 *
 * Retrieves the message for the last error.
 *
 * @param Collator $coll Collator object.
 * @return string Description of an error occurred in the last Collator
 *   API function call.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function collator_get_error_message($coll){}

/**
 * Get the locale name of the collator
 *
 * Get collector locale name.
 *
 * @param Collator $coll Collator object.
 * @param int $type You can choose between valid and actual locale (
 *   Locale::VALID_LOCALE and Locale::ACTUAL_LOCALE, respectively).
 * @return string Real locale name from which the collation data comes.
 *   If the collator was instantiated from rules or an error occurred,
 *   returns boolean FALSE.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function collator_get_locale($coll, $type){}

/**
 * Get sorting key for a string
 *
 * Return collation key for a string.
 *
 * @param Collator $coll Collator object.
 * @param string $str The string to produce the key from.
 * @return string Returns the collation key for the string. Collation
 *   keys can be compared directly instead of strings.
 * @since PHP 5 >= 5.3.2, PHP 7
 **/
function collator_get_sort_key($coll, $str){}

/**
 * Get current collation strength
 *
 * @param Collator $coll Collator object.
 * @return int Returns current collation strength, or boolean FALSE on
 *   error.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function collator_get_strength($coll){}

/**
 * Set collation attribute
 *
 * @param Collator $coll Collator object.
 * @param int $attr Attribute.
 * @param int $val Attribute value.
 * @return bool
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function collator_set_attribute($coll, $attr, $val){}

/**
 * Set collation strength
 *
 * The ICU Collation Service supports many levels of comparison (named
 * "Levels", but also known as "Strengths"). Having these categories
 * enables ICU to sort strings precisely according to local conventions.
 * However, by allowing the levels to be selectively employed, searching
 * for a string in text can be performed with various matching
 * conditions.
 *
 * Primary Level: Typically, this is used to denote differences between
 * base characters (for example, "a" < "b"). It is the strongest
 * difference. For example, dictionaries are divided into different
 * sections by base character. This is also called the level1 strength.
 * Secondary Level: Accents in the characters are considered secondary
 * differences (for example, "as" < "às" < "at"). Other differences
 * between letters can also be considered secondary differences,
 * depending on the language. A secondary difference is ignored when
 * there is a primary difference anywhere in the strings. This is also
 * called the level2 strength. Note: In some languages (such as Danish),
 * certain accented letters are considered to be separate base
 * characters. In most languages, however, an accented letter only has a
 * secondary difference from the unaccented version of that letter.
 * Tertiary Level: Upper and lower case differences in characters are
 * distinguished at the tertiary level (for example, "ao" < "Ao" <
 * "aò"). In addition, a variant of a letter differs from the base form
 * on the tertiary level (such as "A" and " "). Another example is the
 * difference between large and small Kana. A tertiary difference is
 * ignored when there is a primary or secondary difference anywhere in
 * the strings. This is also called the level3 strength. Quaternary
 * Level: When punctuation is ignored (see Ignoring Punctuations ) at
 * level 13, an additional level can be used to distinguish words with
 * and without punctuation (for example, "ab" < "a-b" < "aB"). This
 * difference is ignored when there is a primary, secondary or tertiary
 * difference. This is also known as the level4 strength. The quaternary
 * level should only be used if ignoring punctuation is required or when
 * processing Japanese text (see Hiragana processing). Identical Level:
 * When all other levels are equal, the identical level is used as a
 * tiebreaker. The Unicode code point values of the NFD form of each
 * string are compared at this level, just in case there is no difference
 * at levels 14. For example, Hebrew cantillation marks are only
 * distinguished at this level. This level should be used sparingly, as
 * only code point values differences between two strings is an extremely
 * rare occurrence. Using this level substantially decreases the
 * performance for both incremental comparison and sort key generation
 * (as well as increasing the sort key length). It is also known as level
 * 5 strength.
 *
 * For example, people may choose to ignore accents or ignore accents and
 * case when searching for text. Almost all characters are distinguished
 * by the first three levels, and in most locales the default value is
 * thus Tertiary. However, if Alternate is set to be Shifted, then the
 * Quaternary strength can be used to break ties among whitespace,
 * punctuation, and symbols that would otherwise be ignored. If very fine
 * distinctions among characters are required, then the Identical
 * strength can be used (for example, Identical Strength distinguishes
 * between the Mathematical Bold Small A and the Mathematical Italic
 * Small A.). However, using levels higher than Tertiary the Identical
 * strength result in significantly longer sort keys, and slower string
 * comparison performance for equal strings.
 *
 * @param Collator $coll Collator object.
 * @param int $strength Strength to set. Possible values are:
 *   Collator::PRIMARY Collator::SECONDARY Collator::TERTIARY
 *   Collator::QUATERNARY Collator::IDENTICAL Collator::DEFAULT_STRENGTH
 * @return bool
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function collator_set_strength($coll, $strength){}

/**
 * Sort array using specified collator
 *
 * This function sorts an array according to current locale rules.
 *
 * Equivalent to standard PHP {@link sort} .
 *
 * @param Collator $coll Collator object.
 * @param array $arr Array of strings to sort.
 * @param int $sort_flag Optional sorting type, one of the following:
 *   
 *   Collator::SORT_REGULAR - compare items normally (don't change types)
 *   Collator::SORT_NUMERIC - compare items numerically
 *   Collator::SORT_STRING - compare items as strings Default sorting
 *   type is Collator::SORT_REGULAR. It is also used if an invalid {@link
 *   sort_flag} value has been specified.
 * @return bool
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function collator_sort($coll, &$arr, $sort_flag){}

/**
 * Sort array using specified collator and sort keys
 *
 * Similar to {@link collator_sort} but uses ICU sorting keys produced by
 * ucol_getSortKey() to gain more speed on large arrays.
 *
 * @param Collator $coll Collator object.
 * @param array $arr Array of strings to sort
 * @return bool
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function collator_sort_with_sort_keys($coll, &$arr){}

namespace CommonMark {

/**
 * Parsing
 *
 * Shall parse {@link content}
 *
 * @param string $content markdown string
 * @param int $options A mask of:
 * @return CommonMark\Node Shall return root CommonMark\Node
 **/
function Parse($content, $options){}

}

namespace CommonMark {

/**
 * Rendering
 *
 * @param CommonMark\Node $node
 * @param int $options A mask of:
 * @param int $width
 * @return string
 **/
function Render($node, $options, $width){}

}

namespace CommonMark\Render {

/**
 * Rendering
 *
 * @param CommonMark\Node $node
 * @param int $options A mask of:
 * @return string
 **/
function HTML($node, $options){}

}

namespace CommonMark\Render {

/**
 * Rendering
 *
 * @param CommonMark\Node $node
 * @param int $options A mask of:
 * @param int $width
 * @return string
 **/
function Latex($node, $options, $width){}

}

namespace CommonMark\Render {

/**
 * Rendering
 *
 * @param CommonMark\Node $node
 * @param int $options A mask of:
 * @param int $width
 * @return string
 **/
function Man($node, $options, $width){}

}

namespace CommonMark\Render {

/**
 * Rendering
 *
 * @param CommonMark\Node $node
 * @param int $options A mask of:
 * @return string
 **/
function XML($node, $options){}

}

/**
 * Create array containing variables and their values
 *
 * Creates an array containing variables and their values.
 *
 * For each of these, {@link compact} looks for a variable with that name
 * in the current symbol table and adds it to the output array such that
 * the variable name becomes the key and the contents of the variable
 * become the value for that key. In short, it does the opposite of
 * {@link extract}.
 *
 * @param mixed $varname1 {@link compact} takes a variable number of
 *   parameters. Each parameter can be either a string containing the
 *   name of the variable, or an array of variable names. The array can
 *   contain other arrays of variable names inside it; {@link compact}
 *   handles it recursively.
 * @return array Returns the output array with all the variables added
 *   to it.
 * @since PHP 4, PHP 5, PHP 7
 **/
function compact($varname1){}

namespace Componere {

/**
 * Casting
 *
 * @param $object A user defined type
 * @return Type An object of type Type, cast from {@link object}
 **/
function cast($object){}

}

namespace Componere {

/**
 * Casting
 *
 * @param $object A user defined type
 * @return Type An object of type Type, cast from {@link object}, where
 *   members are references to {@link object} members
 **/
function cast_by_ref($object){}

}

/**
 * Generate a globally unique identifier (GUID)
 *
 * Generates a Globally Unique Identifier (GUID).
 *
 * A GUID is generated in the same way as DCE UUID's, except that the
 * Microsoft convention is to enclose a GUID in curly braces.
 *
 * @return string Returns the GUID as a string.
 * @since PHP 5, PHP 7
 **/
function com_create_guid(){}

/**
 * Connect events from a COM object to a PHP object
 *
 * Instructs COM to sink events generated by {@link comobject} into the
 * PHP object {@link sinkobject}.
 *
 * Be careful how you use this feature; if you are doing something
 * similar to the example below, then it doesn't really make sense to run
 * it in a web server context.
 *
 * @param variant $comobject
 * @param object $sinkobject {@link sinkobject} should be an instance
 *   of a class with methods named after those of the desired
 *   dispinterface; you may use {@link com_print_typeinfo} to help
 *   generate a template class for this purpose.
 * @param mixed $sinkinterface PHP will attempt to use the default
 *   dispinterface type specified by the typelibrary associated with
 *   {@link comobject}, but you may override this choice by setting
 *   {@link sinkinterface} to the name of the dispinterface that you want
 *   to use.
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function com_event_sink($comobject, $sinkobject, $sinkinterface){}

/**
 * Returns a handle to an already running instance of a COM object
 *
 * {@link com_get_active_object} is similar to creating a new instance of
 * a object, except that it will only return an object to your script if
 * the object is already running. OLE applications use something known as
 * the "Running Object Table" to allow well-known applications to be
 * launched only once; this function exposes the COM library function
 * GetActiveObject() to get a handle on a running instance.
 *
 * @param string $progid {@link progid} must be either the ProgID or
 *   CLSID for the object that you want to access (for example
 *   Word.Application).
 * @param int $code_page Acts in precisely the same way that it does
 *   for the class.
 * @return variant If the requested object is running, it will be
 *   returned to your script just like any other COM object.
 * @since PHP 5, PHP 7
 **/
function com_get_active_object($progid, $code_page){}

/**
 * Loads a Typelib
 *
 * Loads a type-library and registers its constants in the engine, as
 * though they were defined using {@link define}.
 *
 * Note that it is much more efficient to use the configuration setting
 * to pre-load and register the constants, although not so flexible.
 *
 * If you have turned on , then PHP will attempt to automatically
 * register the constants associated with a COM object when you
 * instantiate it. This depends on the interfaces provided by the COM
 * object itself, and may not always be possible.
 *
 * @param string $typelib_name {@link typelib_name} can be one of the
 *   following: The filename of a .tlb file or the executable module that
 *   contains the type library. The type library GUID, followed by its
 *   version number, for example
 *   {00000200-0000-0010-8000-00AA006D2EA4},2,0. The type library name,
 *   e.g. Microsoft OLE DB ActiveX Data Objects 1.0 Library. PHP will
 *   attempt to resolve the type library in this order, as the process
 *   gets more and more expensive as you progress down the list;
 *   searching for the type library by name is handled by physically
 *   enumerating the registry until we find a match.
 * @param bool $case_insensitive The {@link case_insensitive} behaves
 *   in the same way as the parameter with the same name in the {@link
 *   define} function.
 * @return bool
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function com_load_typelib($typelib_name, $case_insensitive){}

/**
 * Process COM messages, sleeping for up to timeoutms milliseconds
 *
 * This function will sleep for up to {@link timeoutms} milliseconds, or
 * until a message arrives in the queue.
 *
 * The purpose of this function is to route COM calls between apartments
 * and handle various synchronization issues. This allows your script to
 * wait efficiently for events to be triggered, while still handling
 * other events or running other code in the background. You should use
 * it in a loop, as demonstrated by the example in the {@link
 * com_event_sink} function, until you are finished using event bound COM
 * objects.
 *
 * @param int $timeoutms The timeout, in milliseconds. If you do not
 *   specify a value for {@link timeoutms}, then 0 will be assumed. A 0
 *   value means that no waiting will be performed; if there are messages
 *   pending they will be dispatched as before; if there are no messages
 *   pending, the function will return FALSE immediately without
 *   sleeping.
 * @return bool If a message or messages arrives before the timeout,
 *   they will be dispatched, and the function will return TRUE. If the
 *   timeout occurs and no messages were processed, the return value will
 *   be FALSE.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function com_message_pump($timeoutms){}

/**
 * Print out a PHP class definition for a dispatchable interface
 *
 * The purpose of this function is to help generate a skeleton class for
 * use as an event sink. You may also use it to generate a dump of any
 * COM object, provided that it supports enough of the introspection
 * interfaces, and that you know the name of the interface you want to
 * display.
 *
 * @param object $comobject {@link comobject} should be either an
 *   instance of a COM object, or be the name of a typelibrary (which
 *   will be resolved according to the rules set out in {@link
 *   com_load_typelib}).
 * @param string $dispinterface The name of an IDispatch descendant
 *   interface that you want to display.
 * @param bool $wantsink If set to TRUE, the corresponding sink
 *   interface will be displayed instead.
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function com_print_typeinfo($comobject, $dispinterface, $wantsink){}

/**
 * Check whether client disconnected
 *
 * Checks whether the client disconnected.
 *
 * @return int Returns 1 if client disconnected, 0 otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function connection_aborted(){}

/**
 * Returns connection status bitfield
 *
 * Gets the connection status bitfield.
 *
 * @return int Returns the connection status bitfield, which can be
 *   used against the CONNECTION_XXX constants to determine the
 *   connection status.
 * @since PHP 4, PHP 5, PHP 7
 **/
function connection_status(){}

/**
 * Returns the value of a constant
 *
 * @param string $name The constant name.
 * @return mixed Returns the value of the constant, or NULL if the
 *   constant is not defined.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function constant($name){}

/**
 * Convert from one Cyrillic character set to another
 *
 * Converts from one Cyrillic character set to another.
 *
 * @param string $str The string to be converted.
 * @param string $from The source Cyrillic character set, as a single
 *   character.
 * @param string $to The target Cyrillic character set, as a single
 *   character.
 * @return string Returns the converted string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function convert_cyr_string($str, $from, $to){}

/**
 * Decode a uuencoded string
 *
 * {@link convert_uudecode} decodes a uuencoded string.
 *
 * @param string $data The uuencoded data.
 * @return string Returns the decoded data as a string .
 * @since PHP 5, PHP 7
 **/
function convert_uudecode($data){}

/**
 * Uuencode a string
 *
 * {@link convert_uuencode} encodes a string using the uuencode
 * algorithm.
 *
 * Uuencode translates all strings (including binary data) into printable
 * characters, making them safe for network transmissions. Uuencoded data
 * is about 35% larger than the original.
 *
 * @param string $data The data to be encoded.
 * @return string Returns the uuencoded data .
 * @since PHP 5, PHP 7
 **/
function convert_uuencode($data){}

/**
 * Copies file
 *
 * Makes a copy of the file {@link source} to {@link dest}.
 *
 * If you wish to move a file, use the {@link rename} function.
 *
 * @param string $source Path to the source file.
 * @param string $dest The destination path. If {@link dest} is a URL,
 *   the copy operation may fail if the wrapper does not support
 *   overwriting of existing files.
 * @param resource $context A valid context resource created with
 *   {@link stream_context_create}.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function copy($source, $dest, $context){}

/**
 * Cosine
 *
 * {@link cos} returns the cosine of the {@link arg} parameter. The
 * {@link arg} parameter is in radians.
 *
 * @param float $arg An angle in radians
 * @return float The cosine of {@link arg}
 * @since PHP 4, PHP 5, PHP 7
 **/
function cos($arg){}

/**
 * Hyperbolic cosine
 *
 * Returns the hyperbolic cosine of {@link arg}, defined as (exp(arg) +
 * exp(-arg))/2.
 *
 * @param float $arg The argument to process
 * @return float The hyperbolic cosine of {@link arg}
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function cosh($arg){}

/**
 * Count all elements in an array, or something in an object
 *
 * Counts all elements in an array, or something in an object.
 *
 * For objects, if you have SPL installed, you can hook into {@link
 * count} by implementing interface Countable. The interface has exactly
 * one method, Countable::count, which returns the return value for the
 * {@link count} function.
 *
 * Please see the Array section of the manual for a detailed explanation
 * of how arrays are implemented and used in PHP.
 *
 * @param mixed $array_or_countable An array or Countable object.
 * @param int $mode If the optional {@link mode} parameter is set to
 *   COUNT_RECURSIVE (or 1), {@link count} will recursively count the
 *   array. This is particularly useful for counting all the elements of
 *   a multidimensional array.
 * @return int Returns the number of elements in {@link
 *   array_or_countable}. When the parameter is neither an array nor an
 *   object with implemented Countable interface, 1 will be returned.
 *   There is one exception, if {@link array_or_countable} is NULL, 0
 *   will be returned.
 * @since PHP 4, PHP 5, PHP 7
 **/
function count($array_or_countable, $mode){}

/**
 * Return information about characters used in a string
 *
 * Counts the number of occurrences of every byte-value (0..255) in
 * {@link string} and returns it in various ways.
 *
 * @param string $string The examined string.
 * @param int $mode See return values.
 * @return mixed Depending on {@link mode} {@link count_chars} returns
 *   one of the following: 0 - an array with the byte-value as key and
 *   the frequency of every byte as value. 1 - same as 0 but only
 *   byte-values with a frequency greater than zero are listed. 2 - same
 *   as 0 but only byte-values with a frequency equal to zero are listed.
 *   3 - a string containing all unique characters is returned. 4 - a
 *   string containing all not used characters is returned.
 * @since PHP 4, PHP 5, PHP 7
 **/
function count_chars($string, $mode){}

/**
 * Performs an obscure check with the given password
 *
 * Performs an obscure check with the given password on the specified
 * dictionary. The alternative signature also takes into account the
 * username and the GECOS information.
 *
 * @param resource $dictionary The crack lib dictionary. If not
 *   specified, the last opened dictionary is used.
 * @param string $password The password to be checked.
 * @return bool Returns TRUE if {@link password} is strong, or FALSE
 *   otherwise.
 * @since PECL crack >= 0.1
 **/
function crack_check($dictionary, $password){}

/**
 * Closes an open CrackLib dictionary
 *
 * {@link crack_closedict} closes the specified {@link dictionary}
 * identifier.
 *
 * @param resource $dictionary The dictionary to close. If not
 *   specified, the current dictionary is closed.
 * @return bool
 * @since PECL crack >= 0.1
 **/
function crack_closedict($dictionary){}

/**
 * Returns the message from the last obscure check
 *
 * {@link crack_getlastmessage} returns the message from the last obscure
 * check.
 *
 * @return string The message from the last obscure check or FALSE if
 *   there was no obscure checks made so far.
 * @since PECL crack >= 0.1
 **/
function crack_getlastmessage(){}

/**
 * Opens a new CrackLib dictionary
 *
 * {@link crack_opendict} opens the specified CrackLib {@link dictionary}
 * for use with {@link crack_check}.
 *
 * @param string $dictionary The path to the Cracklib dictionary.
 * @return resource Returns a dictionary resource identifier on
 *   success.
 * @since PECL crack >= 0.1
 **/
function crack_opendict($dictionary){}

/**
 * Calculates the crc32 polynomial of a string
 *
 * Generates the cyclic redundancy checksum polynomial of 32-bit lengths
 * of the {@link str}. This is usually used to validate the integrity of
 * data being transmitted.
 *
 * @param string $str The data.
 * @return int Returns the crc32 checksum of {@link str} as an integer.
 * @since PHP 4 >= 4.0.1, PHP 5, PHP 7
 **/
function crc32($str){}

/**
 * Create an anonymous (lambda-style) function
 *
 * Creates an anonymous function from the parameters passed, and returns
 * a unique name for it.
 *
 * @param string $args The function arguments.
 * @param string $code The function code.
 * @return string Returns a unique function name as a string, or FALSE
 *   on error.
 * @since PHP 4 >= 4.0.1, PHP 5, PHP 7
 **/
function create_function($args, $code){}

/**
 * One-way string hashing
 *
 * {@link crypt} will return a hashed string using the standard Unix
 * DES-based algorithm or alternative algorithms that may be available on
 * the system.
 *
 * The {@link salt} parameter is optional. However, {@link crypt} creates
 * a weak hash without the {@link salt}. PHP 5.6 or later raise an
 * E_NOTICE error without it. Make sure to specify a strong enough salt
 * for better security.
 *
 * {@link password_hash} uses a strong hash, generates a strong salt, and
 * applies proper rounds automatically. {@link password_hash} is a simple
 * {@link crypt} wrapper and compatible with existing password hashes.
 * Use of {@link password_hash} is encouraged.
 *
 * Some operating systems support more than one type of hash. In fact,
 * sometimes the standard DES-based algorithm is replaced by an MD5-based
 * algorithm. The hash type is triggered by the salt argument. Prior to
 * 5.3, PHP would determine the available algorithms at install-time
 * based on the system's crypt(). If no salt is provided, PHP will
 * auto-generate either a standard two character (DES) salt, or a twelve
 * character (MD5), depending on the availability of MD5 crypt(). PHP
 * sets a constant named CRYPT_SALT_LENGTH which indicates the longest
 * valid salt allowed by the available hashes.
 *
 * The standard DES-based {@link crypt} returns the salt as the first two
 * characters of the output. It also only uses the first eight characters
 * of {@link str}, so longer strings that start with the same eight
 * characters will generate the same result (when the same salt is used).
 *
 * @param string $str The string to be hashed.
 * @param string $salt An optional salt string to base the hashing on.
 *   If not provided, the behaviour is defined by the algorithm
 *   implementation and can lead to unexpected results.
 * @return string Returns the hashed string or a string that is shorter
 *   than 13 characters and is guaranteed to differ from the salt on
 *   failure.
 * @since PHP 4, PHP 5, PHP 7
 **/
function crypt($str, $salt){}

/**
 * Check for alphanumeric character(s)
 *
 * Checks if all of the characters in the provided string, {@link text},
 * are alphanumeric.
 *
 * @param string $text The tested string.
 * @return bool Returns TRUE if every character in {@link text} is
 *   either a letter or a digit, FALSE otherwise.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function ctype_alnum($text){}

/**
 * Check for alphabetic character(s)
 *
 * Checks if all of the characters in the provided string, {@link text},
 * are alphabetic. In the standard C locale letters are just [A-Za-z] and
 * {@link ctype_alpha} is equivalent to (ctype_upper($text) ||
 * ctype_lower($text)) if $text is just a single character, but other
 * languages have letters that are considered neither upper nor lower
 * case.
 *
 * @param string $text The tested string.
 * @return bool Returns TRUE if every character in {@link text} is a
 *   letter from the current locale, FALSE otherwise.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function ctype_alpha($text){}

/**
 * Check for control character(s)
 *
 * Checks if all of the characters in the provided string, {@link text},
 * are control characters. Control characters are e.g. line feed, tab,
 * escape.
 *
 * @param string $text The tested string.
 * @return bool Returns TRUE if every character in {@link text} is a
 *   control character from the current locale, FALSE otherwise.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function ctype_cntrl($text){}

/**
 * Check for numeric character(s)
 *
 * Checks if all of the characters in the provided string, {@link text},
 * are numerical.
 *
 * @param string $text The tested string.
 * @return bool Returns TRUE if every character in the string {@link
 *   text} is a decimal digit, FALSE otherwise.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function ctype_digit($text){}

/**
 * Check for any printable character(s) except space
 *
 * Checks if all of the characters in the provided string, {@link text},
 * creates visible output.
 *
 * @param string $text The tested string.
 * @return bool Returns TRUE if every character in {@link text} is
 *   printable and actually creates visible output (no white space),
 *   FALSE otherwise.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function ctype_graph($text){}

/**
 * Check for lowercase character(s)
 *
 * Checks if all of the characters in the provided string, {@link text},
 * are lowercase letters.
 *
 * @param string $text The tested string.
 * @return bool Returns TRUE if every character in {@link text} is a
 *   lowercase letter in the current locale.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function ctype_lower($text){}

/**
 * Check for printable character(s)
 *
 * Checks if all of the characters in the provided string, {@link text},
 * are printable.
 *
 * @param string $text The tested string.
 * @return bool Returns TRUE if every character in {@link text} will
 *   actually create output (including blanks). Returns FALSE if {@link
 *   text} contains control characters or characters that do not have any
 *   output or control function at all.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function ctype_print($text){}

/**
 * Check for any printable character which is not whitespace or an
 * alphanumeric character
 *
 * Checks if all of the characters in the provided string, {@link text},
 * are punctuation character.
 *
 * @param string $text The tested string.
 * @return bool Returns TRUE if every character in {@link text} is
 *   printable, but neither letter, digit or blank, FALSE otherwise.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function ctype_punct($text){}

/**
 * Check for whitespace character(s)
 *
 * Checks if all of the characters in the provided string, {@link text},
 * creates whitespace.
 *
 * @param string $text The tested string.
 * @return bool Returns TRUE if every character in {@link text} creates
 *   some sort of white space, FALSE otherwise. Besides the blank
 *   character this also includes tab, vertical tab, line feed, carriage
 *   return and form feed characters.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function ctype_space($text){}

/**
 * Check for uppercase character(s)
 *
 * Checks if all of the characters in the provided string, {@link text},
 * are uppercase characters.
 *
 * @param string $text The tested string.
 * @return bool Returns TRUE if every character in {@link text} is an
 *   uppercase letter in the current locale.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function ctype_upper($text){}

/**
 * Check for character(s) representing a hexadecimal digit
 *
 * Checks if all of the characters in the provided string, {@link text},
 * are hexadecimal 'digits'.
 *
 * @param string $text The tested string.
 * @return bool Returns TRUE if every character in {@link text} is a
 *   hexadecimal 'digit', that is a decimal digit or a character from
 *   [A-Fa-f] , FALSE otherwise.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function ctype_xdigit($text){}

/**
 * Return the number of rows affected by the last SQL statement
 *
 * The {@link cubrid_affected_rows} function is used to get the number of
 * rows affected by the SQL statement (INSERT, DELETE, UPDATE).
 *
 * @param resource $conn_identifier The CUBRID connection. If the
 *   connection identifier is not specified, the last link opend by
 *   {@link cubrid_connect} is assumed.
 * @return int Number of rows affected by the SQL statement, when
 *   process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_affected_rows($conn_identifier){}

/**
 * Bind variables to a prepared statement as parameters
 *
 * The {@link cubrid_bind} function is used to bind values to a
 * corresponding named or question mark placeholder in the SQL statement
 * that was passed to {@link cubrid_prepare}. If {@link bind_value_type}
 * is not given, string will be the default.
 *
 * The following table shows the types of substitute values.
 *
 * CUBRID Bind Date Types Support Bind Type Corresponding SQL Type
 * Supported STRING CHAR, VARCHAR NCHAR NCHAR, NVARCHAR BIT BIT, VARBIT
 * NUMERIC or NUMBER SHORT, INT, NUMERIC FLOAT FLOAT DOUBLE DOUBLE TIME
 * TIME DATE DATE TIMESTAMP TIMESTAMP OBJECT OBJECT ENUM ENUM BLOB BLOB
 * CLOB CLOB NULL NULL Not supported SET SET MULTISET MULTISET SEQUENCE
 * SEQUENCE
 *
 * @param resource $req_identifier Request identifier as a result of
 *   {@link cubrid_prepare}.
 * @param int $bind_index Location of binding parameters. It starts
 *   with 1.
 * @param mixed $bind_value Actual value for binding.
 * @param string $bind_value_type A type of the value to bind. (It is
 *   omitted by default. Thus, the system internally uses string by
 *   default. However, you need to specify the exact type of the value as
 *   an argument when they are NCHAR, BIT, or BLOB/CLOB).
 * @return bool TRUE, when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_bind($req_identifier, $bind_index, $bind_value, $bind_value_type){}

/**
 * Return the current CUBRID connection charset
 *
 * This function returns the current CUBRID connection charset and is
 * similar to the CUBRID function {@link cubrid_get_charset}.
 *
 * @param resource $conn_identifier The CUBRID connection. If the
 *   connection identifier is not specified, the last link opened by
 *   {@link cubrid_connect} is assumed.
 * @return string A string that represents the CUBRID connection
 *   charset; on success.
 * @since PECL CUBRID >= 8.3.1
 **/
function cubrid_client_encoding($conn_identifier){}

/**
 * Close CUBRID connection
 *
 * The {@link cubrid_close} function ends the transaction currently in
 * process, closes the connection handle and disconnects from server. If
 * there is any request handles not closed yet at this point, they will
 * be closed. It is similar to the CUBRID function {@link
 * cubrid_disconnect}.
 *
 * @param resource $conn_identifier The CUBRID connection identifier.
 *   If the connection identifier is not specified, the last connection
 *   opened by {@link cubrid_connect} is assumed.
 * @return bool TRUE, when process is successful.
 * @since PECL CUBRID >= 8.3.1
 **/
function cubrid_close($conn_identifier){}

/**
 * Close the request handle
 *
 * The {@link cubrid_close_prepare} function closes the request handle
 * given by the {@link req_identifier} argument, and releases the memory
 * region related to the handle. It is an alias of {@link
 * cubrid_close_request}.
 *
 * @param resource $req_identifier Request identifier.
 * @return bool Return TRUE on success.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_close_prepare($req_identifier){}

/**
 * Close the request handle
 *
 * The {@link cubrid_close_request} function closes the request handle
 * given by the {@link req_identifier} argument, and releases the memory
 * region related to the handle. It is an alias of {@link
 * cubrid_close_prepare}.
 *
 * @param resource $req_identifier Request identifier.
 * @return bool Return TRUE on success.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_close_request($req_identifier){}

/**
 * Get the column names in result
 *
 * The {@link cubrid_column_names} function is used to get the column
 * names of the query result by using {@link req_identifier}.
 *
 * @param resource $req_identifier Request identifier.
 * @return array Array of string values containing the column names,
 *   when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_column_names($req_identifier){}

/**
 * Get column types in result
 *
 * The {@link cubrid_column_types} function gets column types of query
 * results by using {@link req_identifier}.
 *
 * @param resource $req_identifier Request identifier.
 * @return array Array of string values containing the column types,
 *   when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_column_types($req_identifier){}

/**
 * Get contents of collection type column using OID
 *
 * The {@link cubrid_col_get} function is used to get contents of the
 * elements of the collection type (set, multiset, sequence) attribute
 * you requested as an array.
 *
 * @param resource $conn_identifier Connection identifier.
 * @param string $oid OID of the instance that you want to read.
 * @param string $attr_name Attribute name that you want to read from
 *   the instance.
 * @return array Array (0-based numerical array) containing the
 *   elements you requested, when process is successful;
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_col_get($conn_identifier, $oid, $attr_name){}

/**
 * Get the number of elements in collection type column using OID
 *
 * The {@link cubrid_col_size} function is used to get the number of
 * elements in a collection type (set, multiset, sequence) attribute.
 *
 * @param resource $conn_identifier Connection identifier.
 * @param string $oid OID the instance that you want to work with.
 * @param string $attr_name Name of the attribute that you want to work
 *   with.
 * @return int Number of elements, when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_col_size($conn_identifier, $oid, $attr_name){}

/**
 * Commit a transaction
 *
 * The {@link cubrid_commit} function is used to execute commit on the
 * transaction pointed by {@link conn_identifier}, currently in progress.
 * Connection to the server is closed after the {@link cubrid_commit}
 * function is called; However, the connection handle is still valid.
 *
 * In CUBRID PHP, auto-commit mode is disabled by default for transaction
 * management. You can set it by using {@link cubrid_set_autocommit}. You
 * can get its status by using {@link cubrid_get_autocommit}. Before you
 * start a transaction, remember to disable the auto-commit mode.
 *
 * @param resource $conn_identifier Connection identifier.
 * @return bool TRUE, when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_commit($conn_identifier){}

/**
 * Open a connection to a CUBRID Server
 *
 * The {@link cubrid_connect} function is used to establish the
 * environment for connecting to your server by using your server
 * address, port number, database name, user name, and password. If the
 * user name and password is not given, then the "PUBLIC" connection will
 * be made by default.
 *
 * @param string $host Host name or IP address of CUBRID CAS server.
 * @param int $port Port number of CUBRID CAS server (BROKER_PORT
 *   configured in $CUBRID/conf/cubrid_broker.conf).
 * @param string $dbname Name of database.
 * @param string $userid User name for the database. If not given, the
 *   default value is "public".
 * @param string $passwd User password. If not given, the default value
 *   is "".
 * @param bool $new_link If a second call is made to {@link
 *   cubrid_connect} with the same arguments, no new connection will be
 *   established, but instead, the connection identifier of the already
 *   opened connection will be returned. The {@link new_link} parameter
 *   modifies this behavior and makes {@link cubrid_connect} always open
 *   a new connection, even if {@link cubrid_connect} was called before
 *   with the same parameters.
 * @return resource Connection identifier, when process is successful.
 * @since PECL CUBRID >= 8.3.1
 **/
function cubrid_connect($host, $port, $dbname, $userid, $passwd, $new_link){}

/**
 * Establish the environment for connecting to CUBRID server
 *
 * The {@link cubrid_connect_with_url} function is used to establish the
 * environment for connecting to your server by using connection
 * information passed with an url string argument. If the HA feature is
 * enabled in CUBRID, you must specify the connection information of the
 * standby server, which is used for failover when failure occurs, in the
 * url string argument of this function. If the user name and password is
 * not given, then the "PUBLIC" connection will be made by default.
 *
 * <url> ::=
 * CUBRID:<host>:<db_name>:<db_user>:<db_password>:[?<properties>]
 *
 * <properties> ::= <property> [&<property>]
 *
 * <properties> ::= alhosts=<alternative_hosts>[ &rctime=<time>]
 *
 * <properties> ::= login_timeout=<milli_sec>
 *
 * <properties> ::= query_timeout=<milli_sec>
 *
 * <properties> ::= disconnect_on_query_timeout=true|false
 *
 * <alternative_hosts> ::= <standby_broker1_host>:<port>
 * [,<standby_broker2_host>:<port>]
 *
 * <host> := HOSTNAME | IP_ADDR
 *
 * <time> := SECOND
 *
 * <milli_sec> := MILLI SECOND
 *
 * host : A host name or IP address of the master database db_name : A
 * name of the database db_user : A name of the database user db_password
 * : A database user password alhosts : Specifies the broker information
 * of the standby server, which is used for failover when it is
 * impossible to connect to the active server. You can specify multiple
 * brokers for failover, and the connection to the brokers is attempted
 * in the order listed in alhosts rctime : An interval between the
 * attempts to connect to the active broker in which failure occurred.
 * After a failure occurs, the system connects to the broker specified by
 * althosts (failover), terminates the transaction, and then attempts to
 * connect to the active broker of the master database at every rctime.
 * The default value is 600 seconds. login_timeout : Timeout value (unit:
 * msec.) for database login. The default value is 0, which means
 * infinite postponement. query_timeout : Timeout value (unit: msec.) for
 * query request. Upon timeout, a message to cancel requesting a query
 * transferred to server is sent. The return value can depend on the
 * disconnect_on_query_timeout configuration; even though the message to
 * cancel a request is sent to server, that request may succeed.
 * disconnect_on_query_timeout : Configures a value whether to
 * immediately return an error of function being executed upon timeout.
 * The default value is false.
 *
 * @param string $conn_url A character string that contains server
 *   connection information.
 * @param string $userid User name for the database.
 * @param string $passwd User password.
 * @param bool $new_link If a second call is made to {@link
 *   cubrid_connect_with_url} with the same arguments, no new connection
 *   will be established, but instead, the connection identifier of the
 *   already opened connection will be returned. The {@link new_link}
 *   parameter modifies this behavior and makes {@link
 *   cubrid_connect_with_url} always open a new connection, even if
 *   {@link cubrid_connect_with_url} was called before with the same
 *   parameters.
 * @return resource Connection identifier, when process is successful.
 **/
function cubrid_connect_with_url($conn_url, $userid, $passwd, $new_link){}

/**
 * Get OID of the current cursor location
 *
 * The {@link cubrid_current_oid} function is used to get the oid of the
 * current cursor location from the query result. To use {@link
 * cubrid_current_oid}, the query executed must be a updatable query, and
 * the CUBRID_INCLUDE_OID option must be included during the query
 * execution.
 *
 * @param resource $req_identifier Request identifier.
 * @return string Oid of current cursor location, when process is
 *   successful
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_current_oid($req_identifier){}

/**
 * Move the internal row pointer of the CUBRID result
 *
 * This function performs the moving of the internal row pointer of the
 * CUBRID result (associated with the specified result identifier) to
 * point to a specific row number. There are functions, such as {@link
 * cubrid_fetch_assoc}, which use the current stored value of {@link row
 * number}.
 *
 * @param resource $result The result.
 * @param int $row_number This is the desired row number of the new
 *   result pointer.
 * @return bool Returns TRUE on success or FALSE on failure.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_data_seek($result, $row_number){}

/**
 * Get db name from results of cubrid_list_dbs
 *
 * Retrieve the database name from a call to {@link cubrid_list_dbs}.
 *
 * @param array $result The result pointer from a call to {@link
 *   cubrid_list_dbs}.
 * @param int $index The index into the result set.
 * @return string Returns the database name on success, and FALSE on
 *   failure. If FALSE is returned, use {@link cubrid_error} to determine
 *   the nature of the error.
 * @since PECL CUBRID >= 8.3.1
 **/
function cubrid_db_name($result, $index){}

/**
 * Close a database connection
 *
 * The {@link cubrid_disconnect} function closes the connection handle
 * and disconnects from server. If any request handle is not closed at
 * this point, it will be closed. It is similar to the CUBRID MySQL
 * compatible function {@link cubrid_close}.
 *
 * @param resource $conn_identifier Connection identifier.
 * @return bool TRUE, when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_disconnect($conn_identifier){}

/**
 * Delete an instance using OID
 *
 * The {@link cubrid_drop} function is used to delete an instance from
 * database by using the {@link oid} of the instance.
 *
 * @param resource $conn_identifier Connection identifier.
 * @param string $oid Oid of the instance that you want to delete.
 * @return bool TRUE, when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_drop($conn_identifier, $oid){}

/**
 * Return the numerical value of the error message from previous CUBRID
 * operation
 *
 * Returns the error number from the last CUBRID function.
 *
 * The {@link cubrid_errno} function is used to get the error code of the
 * error that occurred during the API execution. Usually, it gets the
 * error code when API returns false as its return value.
 *
 * @param resource $conn_identifier The CUBRID connection identifier.
 *   If the connection identifier is not specified, the last connection
 *   opened by {@link cubrid_connect} is assumed.
 * @return int Returns the error number from the last CUBRID function,
 *   or 0 (zero) if no error occurred.
 * @since PECL CUBRID >= 8.3.1
 **/
function cubrid_errno($conn_identifier){}

/**
 * Get the error message
 *
 * The {@link cubrid_error} function is used to get the error message
 * that occurred during the use of CUBRID API. Usually, it gets error
 * message when API returns false as its return value.
 *
 * @param resource $connection The CUBRID connection.
 * @return string Error message that occurred.
 * @since PECL CUBRID >= 8.3.1
 **/
function cubrid_error($connection){}

/**
 * Get error code for the most recent function call
 *
 * The {@link cubrid_error_code} function is used to get the error code
 * of the error that occurred during the API execution. Usually, it gets
 * the error code when API returns false as its return value.
 *
 * @return int Error code of the error that occurred, or 0 (zero) if no
 *   error occurred.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_error_code(){}

/**
 * Get the facility code of error
 *
 * The {@link cubrid_error_code_facility} function is used to get the
 * facility code (level in which the error occurred) from the error code
 * of the error that occurred during the API execution. Usually, you can
 * get the error code when API returns false as its return value.
 *
 * @return int Facility code of the error code that occurred:
 *   CUBRID_FACILITY_DBMS, CUBRID_FACILITY_CAS, CUBRID_FACILITY_CCI,
 *   CUBRID_FACILITY_CLIENT
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_error_code_facility(){}

/**
 * Get last error message for the most recent function call
 *
 * The {@link cubrid_error_msg} function is used to get the error message
 * that occurred during the use of CUBRID API. Usually, it gets error
 * message when API returns false as its return value.
 *
 * @return string Error message that occurred.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_error_msg(){}

/**
 * Execute a prepared SQL statement
 *
 * The {@link cubrid_execute} function is used to execute the given SQL
 * statement. It executes the query by using {@link conn_identifier} and
 * SQL, and then returns the request identifier created. It is used for
 * simple execution of query, where the parameter binding is not needed.
 * In addition, the {@link cubrid_execute} function is used to execute
 * the prepared statement by means of {@link cubrid_prepare} and {@link
 * cubrid_bind}. At this time, you need to specify arguments of {@link
 * request_identifier} and {@link option}.
 *
 * The {@link option} is used to determine whether to get OID after query
 * execution and whether to execute the query in synchronous or
 * asynchronous mode. CUBRID_INCLUDE_OID and CUBRID_ASYNC (or
 * CUBRID_EXEC_QUERY_ALL if you want to execute multiple SQL statements)
 * can be specified by using a bitwise OR operator. If not specified,
 * neither of them isselected. If the flag CUBRID_EXEC_QUERY_ALL is set,
 * a synchronous mode (sync_mode) is used to retrieve query results, and
 * in such cases the following rules are applied:
 *
 * The return value is the result of the first query. If an error occurs
 * in any query, the execution is processed as a failure. In a query
 * composed of q1 q2 q3, if an error occurs in q2 after q1 succeeds the
 * execution, the result of q1 remains valid. That is, the previous
 * successful query executions are not rolled back when an error occurs.
 * If a query is executed successfully, the result of the second query
 * can be obtained using {@link cubrid_next_result}.
 *
 * If the first argument is {@link request_identifier} to execute the
 * {@link cubrid_prepare} function, you can specify an option,
 * CUBRID_ASYNC only.
 *
 * @param resource $conn_identifier Connection identifier.
 * @param string $sql SQL to be executed.
 * @param int $option Query execution option CUBRID_INCLUDE_OID,
 *   CUBRID_ASYNC, CUBRID_EXEC_QUERY_ALL.
 * @return resource Request identifier, when process is successful and
 *   first param is conn_identifier; TRUE, when process is successful and
 *   first argument is request_identifier.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_execute($conn_identifier, $sql, $option){}

/**
 * Fetch the next row from a result set
 *
 * The {@link cubrid_fetch} function is used to get a single row from the
 * query result. The cursor automatically moves to the next row after
 * getting the result.
 *
 * @param resource $result {@link result} comes from a call to {@link
 *   cubrid_execute}
 * @param int $type Array type of the fetched result CUBRID_NUM,
 *   CUBRID_ASSOC, CUBRID_BOTH, CUBRID_OBJECT. If you want to operate the
 *   lob object, you can use CUBRID_LOB.
 * @return mixed Result array or object, when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_fetch($result, $type){}

/**
 * Fetch a result row as an associative array, a numeric array, or both
 *
 * The {@link cubrid_fetch_array} function is used to get a single row
 * from the query result and returns an array. The cursor automatically
 * moves to the next row after getting the result.
 *
 * @param resource $result {@link Result} comes from a call to {@link
 *   cubrid_execute}
 * @param int $type Array type of the fetched result CUBRID_NUM,
 *   CUBRID_ASSOC, CUBRID_BOTH. If you need to operate the lob object,
 *   you can use CUBRID_LOB.
 * @return array Returns an array of strings that corresponds to the
 *   fetched row, when process is successful.
 * @since PECL CUBRID >=8.3.0
 **/
function cubrid_fetch_array($result, $type){}

/**
 * Return the associative array that corresponds to the fetched row
 *
 * This function returns the associative array, that corresponds to the
 * fetched row, and then moves the internal data pointer ahead, or
 * returns FALSE when the end is reached.
 *
 * @param resource $result {@link result} comes from a call to {@link
 *   cubrid_execute}
 * @param int $type Type can only be CUBRID_LOB, this parameter will be
 *   used only when you need to operate the lob object.
 * @return array Associative array, when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_fetch_assoc($result, $type){}

/**
 * Get column information from a result and return as an object
 *
 * This function returns an object with certain properties of the
 * specific column. The properties of the object are:
 *
 * {@link name} column name {@link table} name of the table that the
 * column belongs to {@link def} default value of the column {@link
 * max_length} maximum length of the column {@link not_null} 1 if the
 * column cannot be NULL {@link primary_key} 1 if the column is a primary
 * key {@link unique_key} 1 if the column is an unique key {@link
 * multiple_key} 1 if the column is a non-unique key {@link numeric} 1 if
 * the column is numeric {@link blob} 1 if the column is a BLOB {@link
 * type} the type of the column {@link unsigned} 1 if the column is
 * unsigned {@link zerofill} 1 if the column is zero-filled
 *
 * @param resource $result {@link result} comes from a call to {@link
 *   cubrid_execute}
 * @param int $field_offset The numerical field offset. If the field
 *   offset is not specified, the next field (that was not yet retrieved
 *   by this function) is retrieved. The {@link field_offset} starts at
 *   0.
 * @return object Object with certain properties of the specific
 *   column, when process is successful.
 * @since PECL CUBRID >= 8.3.1
 **/
function cubrid_fetch_field($result, $field_offset){}

/**
 * Return an array with the lengths of the values of each field from the
 * current row
 *
 * This function returns an numeric array with the lengths of the values
 * of each field from the current row of the result set or it returns
 * FALSE on failure.
 *
 * @param resource $result {@link result} comes from a call to {@link
 *   cubrid_execute}
 * @return array An numeric array, when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_fetch_lengths($result){}

/**
 * Fetch the next row and return it as an object
 *
 * This function returns an object with the column names of the result
 * set as properties. The values of these properties are extracted from
 * the current row of the result.
 *
 * @param resource $result {@link result} comes from a call to {@link
 *   cubrid_execute}
 * @param string $class_name The name of the class to instantiate. If
 *   not specified, a stdClass (stdClass is PHP's generic empty class
 *   that's used when casting other types to objects) object is returned.
 * @param array $params An optional array of parameters to pass to the
 *   constructor for {@link class_name} objects.
 * @param int $type Type can only be CUBRID_LOB, this parameter will be
 *   used only when you need to operate the lob object.
 * @return object An object, when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_fetch_object($result, $class_name, $params, $type){}

/**
 * Return a numerical array with the values of the current row
 *
 * This function returns a numerical array with the values of the current
 * row from the result set, starting from 0, and moves the internal data
 * pointer ahead.
 *
 * @param resource $result {@link result} comes from a call to {@link
 *   cubrid_execute}
 * @param int $type Type can only be CUBRID_LOB, this parameter will be
 *   used only when you need to operate the lob object.
 * @return array A numerical array, when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_fetch_row($result, $type){}

/**
 * Return a string with the flags of the given field offset
 *
 * This function returns a string with the flags of the given field
 * offset separated by space. You can split the returned value using
 * explode. The possible flags could be: not_null, primary_key,
 * unique_key, foreign_key, auto_increment, shared, reverse_index,
 * reverse_unique and timestamp.
 *
 * @param resource $result {@link result} comes from a call to {@link
 *   cubrid_execute}
 * @param int $field_offset The numerical field offset. The {@link
 *   field_offset} starts at 0. If {@link field_offset} does not exist,
 *   an error of level E_WARNING is also issued.
 * @return string A string with flags, when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_field_flags($result, $field_offset){}

/**
 * Get the maximum length of the specified field
 *
 * This function returns the maximum length of the specified field on
 * success, or it returns FALSE on failure.
 *
 * @param resource $result {@link result} comes from a call to {@link
 *   cubrid_execute}
 * @param int $field_offset The numerical field offset. The {@link
 *   field_offset} starts at 0. If {@link field_offset} does not exist,
 *   an error of level E_WARNING is also issued.
 * @return int Maximum length, when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_field_len($result, $field_offset){}

/**
 * Return the name of the specified field index
 *
 * This function returns the name of the specified field index on success
 * or it returns FALSE on failure.
 *
 * @param resource $result {@link result} comes from a call to {@link
 *   cubrid_execute}
 * @param int $field_offset The numerical field offset. The {@link
 *   field_offset} starts at 0. If {@link field_offset} does not exist,
 *   an error of level E_WARNING is also issued.
 * @return string Name of specified field index, on success.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_field_name($result, $field_offset){}

/**
 * Move the result set cursor to the specified field offset
 *
 * This function moves the result set cursor to the specified field
 * offset. This offset is used by {@link cubrid_fetch_field} if it
 * doesn't include a field offset. It returns TRUE on success or FALSE on
 * failure.
 *
 * @param resource $result {@link result} comes from a call to {@link
 *   cubrid_execute}
 * @param int $field_offset The numerical field offset. The {@link
 *   field_offset} starts at 0. If {@link field_offset} does not exist,
 *   an error of level E_WARNING is also issued.
 * @return bool TRUE on success.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_field_seek($result, $field_offset){}

/**
 * Return the name of the table of the specified field
 *
 * This function returns the name of the table of the specified field.
 * This is useful when using large select queries with JOINS.
 *
 * @param resource $result {@link result} comes from a call to {@link
 *   cubrid_execute}
 * @param int $field_offset The numerical field offset. The {@link
 *   field_offset} starts at 0. If {@link field_offset} does not exist,
 *   an error of level E_WARNING is also issued.
 * @return string Name of the table of the specified field, on success.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_field_table($result, $field_offset){}

/**
 * Return the type of the column corresponding to the given field offset
 *
 * This function returns the type of the column corresponding to the
 * given field offset. The returned field type could be one of the
 * following: "int", "real", "string", etc.
 *
 * @param resource $result {@link result} comes from a call to {@link
 *   cubrid_execute}
 * @param int $field_offset The numerical field offset. The {@link
 *   field_offset} starts at 0. If {@link field_offset} does not exist,
 *   an error of level E_WARNING is also issued.
 * @return string Type of the column, on success.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_field_type($result, $field_offset){}

/**
 * Free the memory occupied by the result data
 *
 * This function frees the memory occupied by the result data. It returns
 * TRUE on success or FALSE on failure. Note that it can only frees the
 * client fetch buffer now, and if you want free all memory, use function
 * {@link cubrid_close_request}.
 *
 * @param resource $req_identifier This is the request identifier.
 * @return bool TRUE on success.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_free_result($req_identifier){}

/**
 * Get a column using OID
 *
 * The {@link cubrid_get} function is used to get the attribute of the
 * instance of the given {@link oid}. You can get single attribute by
 * using string data type for the {@link attr} argument, or many
 * attributes by using array data type for the {@link attr} argument.
 *
 * @param resource $conn_identifier Connection identifier.
 * @param string $oid OID of the instance that you want to read.
 * @param mixed $attr Name of the attribute that you want to read.
 * @return mixed Content of the requested attribute, when process is
 *   successful; When {@link attr} is set with string data type, the
 *   result is returned as a string; when {@link attr} is set with array
 *   data type (0-based numerical array), then the result is returned in
 *   associative array. When {@link attr} is omitted, then all attributes
 *   are received in array form.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_get($conn_identifier, $oid, $attr){}

/**
 * Get auto-commit mode of the connection
 *
 * The {@link cubrid_get_autocommit} function is used to get the status
 * of CUBRID database connection auto-commit mode.
 *
 * For CUBRID 8.4.0, auto-commit mode is disabled by default for
 * transaction management.
 *
 * For CUBRID 8.4.1, auto-commit mode is enabled by default for
 * transaction management.
 *
 * @param resource $conn_identifier Connection identifier.
 * @return bool TRUE, when auto-commit is on.
 * @since PECL CUBRID >= 8.4.0
 **/
function cubrid_get_autocommit($conn_identifier){}

/**
 * Return the current CUBRID connection charset
 *
 * This function returns the current CUBRID connection charset and is
 * similar to the CUBRID MySQL compatible function {@link
 * cubrid_client_encoding}.
 *
 * @param resource $conn_identifier The CUBRID connection.
 * @return string A string that represents the CUBRID connection
 *   charset; on success.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_get_charset($conn_identifier){}

/**
 * Get the class name using OID
 *
 * The {@link cubrid_get_class_name} function is used to get the class
 * name from {@link oid}. It doesn't work when selecting data from the
 * system tables, for example db_class.
 *
 * @param resource $conn_identifier Connection identifier.
 * @param string $oid OID of the instance that you want to check the
 *   existence.
 * @return string Class name when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_get_class_name($conn_identifier, $oid){}

/**
 * Return the client library version
 *
 * This function returns a string that represents the client library
 * version.
 *
 * @return string A string that represents the client library version;
 *   on success.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_get_client_info(){}

/**
 * Returns the CUBRID database parameters
 *
 * This function returns the CUBRID database parameters or it returns
 * FALSE on failure. It returns an associative array with the values for
 * the following parameters:
 *
 * PARAM_ISOLATION_LEVEL PARAM_LOCK_TIMEOUT PARAM_MAX_STRING_LENGTH
 * PARAM_AUTO_COMMIT
 *
 * Database parameters Parameter Description PARAM_ISOLATION_LEVEL The
 * transaction isolation level. LOCK_TIMEOUT CUBRID provides the lock
 * timeout feature, which sets the waiting time (in seconds) for the lock
 * until the transaction lock setting is allowed. The default value of
 * the lock_timeout_in_secs parameter is -1, which means the application
 * client will wait indefinitely until the transaction lock is allowed.
 * PARAM_AUTO_COMMIT In CUBRID PHP, auto-commit mode is disabled by
 * default for transaction management. It can be set by using {@link
 * cubrid_set_autocommit}.
 *
 * The following table shows the isolation levels from 1 to 6. It
 * consists of table schema (row) and isolation level: Levels of
 * Isolation Supported by CUBRID Name Description SERIALIZABLE (6) In
 * this isolation level, problems concerning concurrency (e.g. dirty
 * read, non-repeatable read, phantom read, etc.) do not occur.
 * REPEATABLE READ CLASS with REPEATABLE READ INSTANCES (5) Another
 * transaction T2 cannot update the schema of table A while transaction
 * T1 is viewing table A. Transaction T1 may experience phantom read for
 * the record R that was inserted by another transaction T2 when it is
 * repeatedly retrieving a specific record. REPEATABLE READ CLASS with
 * READ COMMITTED INSTANCES (or CURSOR STABILITY) (4) Another transaction
 * T2 cannot update the schema of table A while transaction T1 is viewing
 * table A. Transaction T1 may experience R read (non-repeatable read)
 * that was updated and committed by another transaction T2 when it is
 * repeatedly retrieving the record R. REPEATABLE READ CLASS with READ
 * UNCOMMITTED INSTANCES (3) Default isolation level. Another transaction
 * T2 cannot update the schema of table A while transaction T1 is viewing
 * table A. Transaction T1 may experience R' read (dirty read) for the
 * record that was updated but not committed by another transaction T2.
 * READ COMMITTED CLASS with READ COMMITTED INSTANCES (2) Transaction T1
 * may experience A' read (non-repeatable read) for the table that was
 * updated and committed by another transaction T2 while it is viewing
 * table A repeatedly. Transaction T1 may experience R' read
 * (non-repeatable read) for the record that was updated and committed by
 * another transaction T2 while it is retrieving the record R repeatedly.
 * READ COMMITTED CLASS with READ UNCOMMITTED INSTANCES (1) Transaction
 * T1 may experience A' read (non-repeatable read) for the table that was
 * updated and committed by another transaction T2 while it is repeatedly
 * viewing table A. Transaction T1 may experience R' read (dirty read)
 * for the record that was updated but not committed by another
 * transaction T2.
 *
 * @param resource $conn_identifier The CUBRID connection. If the
 *   connection identifier is not specified, the last link opened by
 *   {@link cubrid_connect} is assumed.
 * @return array An associative array with CUBRID database parameters;
 *   on success.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_get_db_parameter($conn_identifier){}

/**
 * Get the query timeout value of the request
 *
 * The {@link cubrid_get_query_timeout} function is used to get the query
 * timeout of the request.
 *
 * @param resource $req_identifier Request identifier.
 * @return int Success: the query timeout value of the current request.
 *   Units of msec.
 * @since PECL CUBRID >= 8.4.1
 **/
function cubrid_get_query_timeout($req_identifier){}

/**
 * Return the CUBRID server version
 *
 * This function returns a string that represents the CUBRID server
 * version.
 *
 * @param resource $conn_identifier The CUBRID connection.
 * @return string A string that represents the CUBRID server version;
 *   on success.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_get_server_info($conn_identifier){}

/**
 * Return the ID generated for the last updated column
 *
 * The {@link cubrid_insert_id} function retrieves the ID generated for
 * the AUTO_INCREMENT column which is updated by the previous INSERT
 * query. It returns 0 if the previous query does not generate new rows,
 * or FALSE on failure.
 *
 * @param resource $conn_identifier The connection identifier
 *   previously obtained by a call to {@link cubrid_connect}.
 * @return string A string representing the ID generated for an
 *   AUTO_INCREMENT column by the previous query, on success.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_insert_id($conn_identifier){}

/**
 * Check whether the instance pointed by OID exists
 *
 * The {@link cubrid_is_instance} function is used to check whether the
 * instance pointed by the given {@link oid} exists or not.
 *
 * @param resource $conn_identifier Connection identifier.
 * @param string $oid OID of the instance that you want to check the
 *   existence.
 * @return int 1, if such instance exists;
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_is_instance($conn_identifier, $oid){}

/**
 * Return an array with the list of all existing CUBRID databases
 *
 * This function returns an array with the list of all existing Cubrid
 * databases.
 *
 * @param resource $conn_identifier The CUBRID connection.
 * @return array An numeric array with all existing Cubrid databases;
 *   on success.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_list_dbs($conn_identifier){}

/**
 * Read data from a GLO instance and save it in a file
 *
 * The {@link cubrid_load_from_glo} function is used to read a data from
 * a glo instance, and saves it in a designated file.
 *
 * @param resource $conn_identifier Connection identifier.
 * @param string $oid Oid of the glo instance that you want to read the
 *   data from.
 * @param string $file_name Name of the file where you want to save the
 *   data in.
 * @return int TRUE, when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_load_from_glo($conn_identifier, $oid, $file_name){}

/**
 * Bind a lob object or a string as a lob object to a prepared statement
 * as parameters
 *
 * The {@link cubrid_lob2_bind} function is used to bind BLOB/CLOB datas
 * to a corresponding question mark placeholder in the SQL statement that
 * was passed to {@link cubrid_prepare}. If {@link bind_value_type} is
 * not given, string will be "BLOB" as the default. But if you use {@link
 * cubrid_lob2_new} before, {@link bind_value_type} will be consistent
 * with {@link type} in {@link cubrid_lob2_new} as the default.
 *
 * @param resource $req_identifier Request identifier as a result of
 *   {@link cubrid_prepare}.
 * @param int $bind_index Location of binding parameters. It starts
 *   with 1.
 * @param mixed $bind_value Actual value for binding.
 * @param string $bind_value_type It must be "BLOB" or "CLOB" and it
 *   won't be case-sensitive. If it not be given, the default value is
 *   "BLOB".
 * @return bool TRUE, when process is successful.
 * @since PECL CUBRID >= 8.4.1
 **/
function cubrid_lob2_bind($req_identifier, $bind_index, $bind_value, $bind_value_type){}

/**
 * Close LOB object
 *
 * The {@link cubrid_lob2_close} function is used to close LOB object
 * returned from {@link cubrid_lob2_new} or got from the result set.
 *
 * @param resource $lob_identifier Lob identifier as a result of {@link
 *   cubrid_lob2_new} or get from the result set.
 * @return bool TRUE, on success.
 * @since PECL CUBRID >= 8.4.1
 **/
function cubrid_lob2_close($lob_identifier){}

/**
 * Export the lob object to a file
 *
 * The {@link cubrid_lob2_export} function is used to save the contents
 * of BLOB/CLOB data to a file. To use this function, you must use {@link
 * cubrid_lob2_new} or fetch a lob object from CUBRID database first. If
 * the file already exists, the operation will fail. This function will
 * not influence the cursor position of the lob object. It operates the
 * entire lob object.
 *
 * @param resource $lob_identifier Lob identifier as a result of {@link
 *   cubrid_lob2_new} or get from the result set.
 * @param string $file_name File name you want to store BLOB/CLOB data.
 *   It also supports the path of the file.
 * @return bool TRUE if the process is successful and FALSE for
 *   failure.
 * @since PECL CUBRID >= 8.4.1
 **/
function cubrid_lob2_export($lob_identifier, $file_name){}

/**
 * Import BLOB/CLOB data from a file
 *
 * The {@link cubrid_lob2_import} function is used to save the contents
 * of BLOB/CLOB data from a file. To use this function, you must use
 * {@link cubrid_lob2_new} or fetch a lob object from CUBRID database
 * first. If the file already exists, the operation will fail. This
 * function will not influence the cursor position of the lob object. It
 * operates the entire lob object.
 *
 * @param resource $lob_identifier Lob identifier as a result of {@link
 *   cubrid_lob2_new} or get from the result set.
 * @param string $file_name File name you want to import BLOB/CLOB
 *   data. It also supports the path of the file.
 * @return bool TRUE if the process is successful and FALSE for
 *   failure.
 * @since PECL CUBRID >= 8.4.1
 **/
function cubrid_lob2_import($lob_identifier, $file_name){}

/**
 * Create a lob object
 *
 * The {@link cubrid_lob2_new} function is used to create a lob object
 * (both BLOB and CLOB). This function should be used before you bind a
 * lob object.
 *
 * @param resource $conn_identifier Connection identifier. If the
 *   connection identifier is not specified, the last connection opened
 *   by {@link cubrid_connect} or {@link cubrid_connect_with_url} is
 *   assumed.
 * @param string $type It may be "BLOB" or "CLOB", it won't be
 *   case-sensitive. The default value is "BLOB".
 * @return resource Lob identifier when it is successful.
 * @since PECL CUBRID >= 8.4.1
 **/
function cubrid_lob2_new($conn_identifier, $type){}

/**
 * Read from BLOB/CLOB data
 *
 * The {@link cubrid_lob2_read} function reads {@link len} bytes from the
 * LOB data and returns the bytes read.
 *
 * @param resource $lob_identifier Lob identifier as a result of {@link
 *   cubrid_lob2_new} or get from the result set.
 * @param int $len Length from buffer you want to read from the lob
 *   data.
 * @return string Returns the contents as a string.
 * @since PECL CUBRID >= 8.4.1
 **/
function cubrid_lob2_read($lob_identifier, $len){}

/**
 * Move the cursor of a lob object
 *
 * The {@link cubrid_lob2_seek} function is used to move the cursor
 * position of a lob object by the value set in the {@link offset}
 * argument, to the direction set in the {@link origin} argument.
 *
 * To set the {@link origin} argument, you can use CUBRID_CURSOR_FIRST to
 * set the cursor position moving forward {@link offset} units from the
 * first beginning. In this case, {@link offset} must be a positive
 * value.
 *
 * If you use CUBRID_CURSOR_CURRENT for {@link origin}, you can move
 * forward or backward. and {@link offset} can be positive or negative.
 *
 * If you use CUBRID_CURSOR_LAST for {@link origin}, you can move
 * backward {@link offset} units from the end of LOB object and {@link
 * offset} only can be positive.
 *
 * @param resource $lob_identifier Lob identifier as a result of {@link
 *   cubrid_lob2_new} or get from the result set.
 * @param int $offset Number of units you want to move the cursor.
 * @param int $origin This parameter can be the following values:
 *   CUBRID_CURSOR_FIRST: move forward from the first beginning.
 *   CUBRID_CURSOR_CURRENT: move forward or backward from the current
 *   position. CUBRID_CURSOR_LAST: move backward at the end of LOB
 *   object.
 * @return bool TRUE if the process is successful and FALSE for
 *   failure.
 * @since PECL CUBRID >= 8.4.1
 **/
function cubrid_lob2_seek($lob_identifier, $offset, $origin){}

/**
 * Move the cursor of a lob object
 *
 * The {@link cubrid_lob2_seek64} function is used to move the cursor
 * position of a lob object by the value set in the {@link offset}
 * argument, to the direction set in the {@link origin} argument. If the
 * {@link offset} you want to move is larger than an integer data can be
 * stored, you can use this function.
 *
 * To set the {@link origin} argument, you can use CUBRID_CURSOR_FIRST to
 * set the cursor position moving forward {@link offset} units from the
 * first beginning. In this case, {@link offset} must be a positive
 * value.
 *
 * If you use CUBRID_CURSOR_CURRENT for {@link origin}, you can move
 * forward or backward. and {@link offset} can be positive or negative.
 *
 * If you use CUBRID_CURSOR_LAST for {@link origin}, you can move
 * backward {@link offset} units from the end of LOB object and {@link
 * offset} only can be positive.
 *
 * @param resource $lob_identifier Lob identifier as a result of {@link
 *   cubrid_lob2_new} or get from the result set.
 * @param string $offset Number of units you want to move the cursor.
 * @param int $origin This parameter can be the following values:
 *   CUBRID_CURSOR_FIRST: move forward from the first beginning.
 *   CUBRID_CURSOR_CURRENT: move forward or backward from the current
 *   position. CUBRID_CURSOR_LAST: move backward at the end of LOB
 *   object.
 * @return bool TRUE if the process is successful and FALSE for
 *   failure.
 * @since PECL CUBRID >= 8.4.1
 **/
function cubrid_lob2_seek64($lob_identifier, $offset, $origin){}

/**
 * Get a lob object's size
 *
 * The {@link cubrid_lob2_size} function is used to get the size of a lob
 * object.
 *
 * @param resource $lob_identifier Lob identifier as a result of {@link
 *   cubrid_lob2_new} or get from the result set.
 * @return int It will return the size of the LOB object when it
 *   processes successfully.
 * @since PECL CUBRID >= 8.4.1
 **/
function cubrid_lob2_size($lob_identifier){}

/**
 * Get a lob object's size
 *
 * The {@link cubrid_lob2_size64} function is used to get the size of a
 * lob object. If the size of a lob object is larger than an integer data
 * can be stored, you can use this function and it will return the size
 * as a string.
 *
 * @param resource $lob_identifier Lob identifier as a result of {@link
 *   cubrid_lob2_new} or get from the result set.
 * @return string It will return the size of the LOB object as a string
 *   when it processes successfully.
 * @since PECL CUBRID >= 8.4.1
 **/
function cubrid_lob2_size64($lob_identifier){}

/**
 * Tell the cursor position of the LOB object
 *
 * The {@link cubrid_lob2_tell} function is used to tell the cursor
 * position of the LOB object.
 *
 * @param resource $lob_identifier Lob identifier as a result of {@link
 *   cubrid_lob2_new} or get from the result set.
 * @return int It will return the cursor position on the LOB object
 *   when it processes successfully.
 * @since PECL CUBRID >= 8.4.1
 **/
function cubrid_lob2_tell($lob_identifier){}

/**
 * Tell the cursor position of the LOB object
 *
 * The {@link cubrid_lob2_tell64} function is used to tell the cursor
 * position of the LOB object. If the size of a lob object is larger than
 * an integer data can be stored, you can use this function and it will
 * return the position information as a string.
 *
 * @param resource $lob_identifier Lob identifier as a result of {@link
 *   cubrid_lob2_new} or get from the result set.
 * @return string It will return the cursor position on the LOB object
 *   as a string when it processes successfully.
 * @since PECL CUBRID >= 8.4.1
 **/
function cubrid_lob2_tell64($lob_identifier){}

/**
 * Write to a lob object
 *
 * The {@link cubrid_lob2_write} function reads as much as data from
 * {@link buf} and stores it to the LOB object. Note that this function
 * can only append characters now.
 *
 * @param resource $lob_identifier Lob identifier as a result of {@link
 *   cubrid_lob2_new} or get from the result set.
 * @param string $buf Data that need to be written to the lob object.
 * @return bool TRUE if the process is successful and FALSE for
 *   failure.
 * @since PECL CUBRID >= 8.4.1
 **/
function cubrid_lob2_write($lob_identifier, $buf){}

/**
 * Close BLOB/CLOB data
 *
 * {@link cubrid_lob_close} is used to close all BLOB/CLOB returned from
 * {@link cubrid_lob_get}.
 *
 * @param array $lob_identifier_array LOB identifier array return from
 *   cubrid_lob_get.
 * @return bool TRUE, when process is successful.
 * @since PECL CUBRID >= 8.3.1
 **/
function cubrid_lob_close($lob_identifier_array){}

/**
 * Export BLOB/CLOB data to file
 *
 * {@link cubrid_lob_export} is used to get BLOB/CLOB data from CUBRID
 * database, and saves its contents to a file. To use this function, you
 * must use {@link cubrid_lob_get} first to get BLOB/CLOB info from
 * CUBRID.
 *
 * @param resource $conn_identifier Connection identifier.
 * @param resource $lob_identifier LOB identifier.
 * @param string $path_name Path name of the file.
 * @return bool TRUE, when process is successful.
 * @since PECL CUBRID >= 8.3.1
 **/
function cubrid_lob_export($conn_identifier, $lob_identifier, $path_name){}

/**
 * Get BLOB/CLOB data
 *
 * {@link cubrid_lob_get} is used to get BLOB/CLOB meta info from CUBRID
 * database, CUBRID gets BLOB/CLOB by executing the SQL statement, and
 * returns all LOBs as a resource array. Be sure that the SQL retrieves
 * only one column and its data type is BLOB or CLOB.
 *
 * Remember to use {@link cubrid_lob_close} to release the LOBs if you
 * don't need it any more.
 *
 * @param resource $conn_identifier Connection identifier.
 * @param string $sql SQL statement to be executed.
 * @return array Return an array of LOB resources, when process is
 *   successful.
 * @since PECL CUBRID >= 8.3.1
 **/
function cubrid_lob_get($conn_identifier, $sql){}

/**
 * Read BLOB/CLOB data and send straight to browser
 *
 * {@link cubrid_lob_send} reads BLOB/CLOB data and passes it straight
 * through to the browser. To use this function, you must use {@link
 * cubrid_lob_get} first to get BLOB/CLOB info from CUBRID.
 *
 * @param resource $conn_identifier Connection identifier.
 * @param resource $lob_identifier LOB identifier.
 * @return bool TRUE, when process is successful.
 * @since PECL CUBRID >= 8.3.1
 **/
function cubrid_lob_send($conn_identifier, $lob_identifier){}

/**
 * Get BLOB/CLOB data size
 *
 * {@link cubrid_lob_size} is used to get BLOB/CLOB data size.
 *
 * @param resource $lob_identifier LOB identifier.
 * @return string A string representing LOB data size, when process is
 *   successful.
 * @since PECL CUBRID >= 8.3.1
 **/
function cubrid_lob_size($lob_identifier){}

/**
 * Set a read lock on the given OID
 *
 * The {@link cubrid_lock_read} function is used to put read lock on the
 * instance pointed by given {@link oid}.
 *
 * @param resource $conn_identifier Connection identifier.
 * @param string $oid OID of the instance that you want to put read
 *   lock on.
 * @return bool TRUE, when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_lock_read($conn_identifier, $oid){}

/**
 * Set a write lock on the given OID
 *
 * The {@link cubrid_lock_write} function is used to put write lock on
 * the instance pointed by the given {@link oid}.
 *
 * @param resource $conn_identifier Connection identifier.
 * @param string $oid OID of the instance that you want to put write
 *   lock on.
 * @return bool TRUE, when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_lock_write($conn_identifier, $oid){}

/**
 * Move the cursor in the result
 *
 * The {@link cubrid_move_cursor} function is used to move the current
 * cursor location of {@link req_identifier} by the value set in the
 * {@link offset} argument, to the direction set in the {@link origin}
 * argument. To set the {@link origin} argument, you can use
 * CUBRID_CURSOR_FIRST for the first part of the result,
 * CUBRID_CURSOR_CURRENT for the current location of the result, or
 * CUBRID_CURSOR_LAST for the last part of the result. If {@link origin}
 * argument is not explicitly designated, then the function uses
 * CUBRID_CURSOR_CURRENT as its default value.
 *
 * If the value of cursor movement range goes over the valid limit, then
 * the cursor moves to the next location after the valid range for the
 * cursor. For example, if you move 20 units in the result with the size
 * of 10, then the cursor will move to 11th place and return
 * CUBRID_NO_MORE_DATA.
 *
 * @param resource $req_identifier Request identifier.
 * @param int $offset Number of units you want to move the cursor.
 * @param int $origin Location where you want to move the cursor from
 *   CUBRID_CURSOR_FIRST, CUBRID_CURSOR_CURRENT, CUBRID_CURSOR_LAST.
 * @return bool TRUE, when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_move_cursor($req_identifier, $offset, $origin){}

/**
 * Create a glo instance
 *
 * The {@link cubrid_new_glo} function is used to create a glo instance
 * in the requested class (glo class). The glo created is a LO type, and
 * is stored in the {@link file_name} file.
 *
 * @param resource $conn_identifier Connection identifier.
 * @param string $class_name Name of the class that you want to create
 *   a glo in.
 * @param string $file_name The file name that you want to save in the
 *   newly created glo.
 * @return string Oid of the instance created, when process is
 *   successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_new_glo($conn_identifier, $class_name, $file_name){}

/**
 * Get result of next query when executing multiple SQL statements
 *
 * The {@link cubrid_next_result} function is used to get results of next
 * query if multiple SQL statements are executed and
 * CUBRID_EXEC_QUERY_ALL flag is set upon {@link cubrid_execute}.
 *
 * @param resource $result {@link result} comes from a call to {@link
 *   cubrid_execute}
 * @return bool TRUE, when process is successful.
 * @since PECL CUBRID >= 8.4.0
 **/
function cubrid_next_result($result){}

/**
 * Return the number of columns in the result set
 *
 * The {@link cubrid_num_cols} function is used to get the number of
 * columns from the query result. It can only be used when the query
 * executed is a select statement.
 *
 * @param resource $result Result.
 * @return int Number of columns, when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_num_cols($result){}

/**
 * Return the number of columns in the result set
 *
 * This function returns the number of columns in the result set, on
 * success, or it returns FALSE on failure.
 *
 * @param resource $result {@link result} comes from a call to {@link
 *   cubrid_execute}, {@link cubrid_query} and {@link cubrid_prepare}
 * @return int Number of columns, on success.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_num_fields($result){}

/**
 * Get the number of rows in the result set
 *
 * The {@link cubrid_num_rows} function is used to get the number of rows
 * from the query result. You can use it only when the query executed is
 * a select statement. When you want to know such value for INSERT,
 * UPDATE, or DELETE query, you have to use the {@link
 * cubrid_affected_rows} function.
 *
 * Note: The {@link cubrid_num_rows} function can only be used for
 * synchronous query; it returns 0 when it is used for asynchronous
 * query.
 *
 * @param resource $result {@link result} comes from a call to {@link
 *   cubrid_execute}, {@link cubrid_query} and {@link cubrid_prepare}
 * @return int Number of rows, when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_num_rows($result){}

/**
 * Open a persistent connection to a CUBRID server
 *
 * Establishes a persistent connection to a CUBRID server.
 *
 * {@link cubrid_pconnect} acts very much like {@link cubrid_connect}
 * with two major differences.
 *
 * First, when connecting, the function would first try to find a
 * (persistent) link that's already open with the same host, port, dbname
 * and userid. If one is found, an identifier for it will be returned
 * instead of opening a new connection.
 *
 * Second, the connection to the SQL server will not be closed when the
 * execution of the script ends. Instead, the link will remain open for
 * future use ({@link cubrid_close} or {@link cubrid_disconnect} will not
 * close links established by {@link cubrid_pconnect}).
 *
 * This type of link is therefore called 'persistent'.
 *
 * @param string $host Host name or IP address of CUBRID CAS server.
 * @param int $port Port number of CUBRID CAS server (BROKER_PORT
 *   configured in $CUBRID/conf/cubrid_broker.conf).
 * @param string $dbname Name of database.
 * @param string $userid User name for the database.
 * @param string $passwd User password.
 * @return resource Connection identifier, when process is successful.
 * @since PECL CUBRID >= 8.3.1
 **/
function cubrid_pconnect($host, $port, $dbname, $userid, $passwd){}

/**
 * Open a persistent connection to CUBRID server
 *
 * Establishes a persistent connection to a CUBRID server.
 *
 * {@link cubrid_pconnect_with_url} acts very much like {@link
 * cubrid_connect_with_url} with two major differences.
 *
 * First, when connecting, the function would first try to find a
 * (persistent) link that's already open with the same host, port, dbname
 * and userid. If one is found, an identifier for it will be returned
 * instead of opening a new connection.
 *
 * Second, the connection to the SQL server will not be closed when the
 * execution of the script ends. Instead, the link will remain open for
 * future use ({@link cubrid_close} or {@link cubrid_disconnect} will not
 * close links established by {@link cubrid_pconnect_with_url}).
 *
 * This type of link is therefore called 'persistent'.
 *
 * <url> ::=
 * CUBRID:<host>:<db_name>:<db_user>:<db_password>:[?<properties>]
 *
 * <properties> ::= <property> [&<property>]
 *
 * <properties> ::= alhosts=<alternative_hosts>[ &rctime=<time>]
 *
 * <properties> ::= login_timeout=<milli_sec>
 *
 * <properties> ::= query_timeout=<milli_sec>
 *
 * <properties> ::= disconnect_on_query_timeout=true|false
 *
 * <alternative_hosts> ::= <standby_broker1_host>:<port>
 * [,<standby_broker2_host>:<port>]
 *
 * <host> := HOSTNAME | IP_ADDR
 *
 * <time> := SECOND
 *
 * <milli_sec> := MILLI SECOND
 *
 * host : A host name or IP address of the master database db_name : A
 * name of the database db_user : A name of the database user db_password
 * : A database user password alhosts : Specifies the broker information
 * of the standby server, which is used for failover when it is
 * impossible to connect to the active server. You can specify multiple
 * brokers for failover, and the connection to the brokers is attempted
 * in the order listed in alhosts rctime : An interval between the
 * attempts to connect to the active broker in which failure occurred.
 * After a failure occurs, the system connects to the broker specified by
 * althosts (failover), terminates the transaction, and then attempts to
 * connect to the active broker of the master database at every rctime.
 * The default value is 600 seconds. login_timeout : Timeout value (unit:
 * msec.) for database login. The default value is 0, which means
 * infinite postponement. query_timeout : Timeout value (unit: msec.) for
 * query request. Upon timeout, a message to cancel requesting a query
 * transferred to server is sent. The return value can depend on the
 * disconnect_on_query_timeout configuration; even though the message to
 * cancel a request is sent to server, that request may succeed.
 * disconnect_on_query_timeout : Configures a value whether to
 * immediately return an error of function being executed upon timeout.
 * The default value is false.
 *
 * @param string $conn_url A character string that contains server
 *   connection information.
 * @param string $userid User name for the database.
 * @param string $passwd User password.
 * @return resource Connection identifier, when process is successful.
 * @since PECL CUBRID >= 8.3.1
 **/
function cubrid_pconnect_with_url($conn_url, $userid, $passwd){}

/**
 * Ping a server connection or reconnect if there is no connection
 *
 * Checks whether or not the connection to the server is working.
 *
 * @param resource $conn_identifier The CUBRID connection identifier.
 *   If the connection identifier is not specified, the last connection
 *   opened by {@link cubrid_connect} is assumed.
 * @return bool Returns TRUE if the connection to the server CUBRID
 *   server is working, otherwise FALSE.
 * @since PECL CUBRID >= 8.3.1
 **/
function cubrid_ping($conn_identifier){}

/**
 * Prepare a SQL statement for execution
 *
 * The {@link cubrid_prepare} function is a sort of API which represents
 * SQL statements compiled previously to a given connection handle. This
 * pre-compiled SQL statement will be included in the {@link
 * cubrid_prepare}.
 *
 * Accordingly, you can use this statement effectively to execute several
 * times repeatedly or to process long data. Only a single statement can
 * be used and a parameter may put a question mark (?) to appropriate
 * area in the SQL statement. Add a parameter when you bind a value in
 * the VALUES clause of INSERT statement or in the WHERE clause. Note
 * that it is allowed to bind a value to a MARK(?) by using the {@link
 * cubrid_bind} function only.
 *
 * @param resource $conn_identifier Connection identifier.
 * @param string $prepare_stmt Prepare query.
 * @param int $option OID return option CUBRID_INCLUDE_OID.
 * @return resource Request identifier, if process is successful;
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_prepare($conn_identifier, $prepare_stmt, $option){}

/**
 * Update a column using OID
 *
 * The {@link cubrid_put} function is used to update an attribute of the
 * instance of the given {@link oid}.
 *
 * You can update single attribute by using string data type to set
 * {@link attr}. In such case, you can use integer, floating point or
 * string type data for the {@link value} argument. To update multiple
 * number of attributes, you can disregard the {@link attr} argument, and
 * set {@link value} argument with associative array data type.
 *
 * @param resource $conn_identifier Connection identifier.
 * @param string $oid OID of the instance that you want to update.
 * @param string $attr Name of the attribute that you want to update.
 * @param mixed $value New value that you want to assign to the
 *   attribute.
 * @return bool TRUE, when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_put($conn_identifier, $oid, $attr, $value){}

/**
 * Send a CUBRID query
 *
 * {@link cubrid_query} sends a unique query (multiple queries are not
 * supported) to the currently active database on the server that's
 * associated with the specified {@link conn_identifier}.
 *
 * @param string $query An SQL query Data inside the query should be
 *   properly escaped.
 * @param resource $conn_identifier The CUBRID connection. If the
 *   connection identifier is not specified, the last connection opened
 *   by {@link cubrid_connect} is assumed.
 * @return resource For SELECT, SHOW, DESCRIBE, EXPLAIN and other
 *   statements returning resultset, {@link cubrid_query} returns a
 *   resource on success, or FALSE on error.
 * @since PECL CUBRID >= 8.3.1
 **/
function cubrid_query($query, $conn_identifier){}

/**
 * Escape special characters in a string for use in an SQL statement
 *
 * This function returns the escaped string version of the given string.
 * It will escape the following characters: '.
 *
 * In general, single quotations are used to enclose character string.
 * Double quotations may be used as well depending on the value of
 * ansi_quotes, which is a parameter related to SQL statement. If the
 * ansi_quotes value is set to no, character string enclosed by double
 * quotations is handled as character string, not as an identifier. The
 * default value is yes.
 *
 * If you want to include a single quote as part of a character string,
 * enter two single quotes in a row.
 *
 * @param string $unescaped_string The string that is to be escaped.
 * @param resource $conn_identifier The CUBRID connection. If the
 *   connection identifier is not specified, the last connection opened
 *   by {@link cubrid_connect} is assumed.
 * @return string Escaped string version of the given string, on
 *   success.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_real_escape_string($unescaped_string, $conn_identifier){}

/**
 * Return the value of a specific field in a specific row
 *
 * This function returns the value of a specific field in a specific row
 * from a result set.
 *
 * @param resource $result {@link result} comes from a call to {@link
 *   cubrid_execute}
 * @param int $row The row number from the result that is being
 *   retrieved. Row numbers start at 0.
 * @param mixed $field The name or offset of the {@link field} being
 *   retrieved. It can be the field's offset, the field's name, or the
 *   field's table dot field name (tablename.fieldname). If the column
 *   name has been aliased ('select foo as bar from...'), use the alias
 *   instead of the column name. If undefined, the first field is
 *   retrieved.
 * @return string Value of a specific field, on success (NULL if value
 *   if null).
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_result($result, $row, $field){}

/**
 * Roll back a transaction
 *
 * The {@link cubrid_rollback} function executes rollback on the
 * transaction pointed by {@link conn_identifier}, currently in progress.
 *
 * Connection to server is closed after calling {@link cubrid_rollback}.
 * Connection handle, however, is still valid.
 *
 * @param resource $conn_identifier Connection identifier.
 * @return bool TRUE, when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_rollback($conn_identifier){}

/**
 * Save requested file in a GLO instance
 *
 * The {@link cubrid_save_to_glo} function is used to save requested file
 * in a glo instance.
 *
 * @param resource $conn_identifier Connection identifier.
 * @param string $oid Oid of the glo instance that you want to save a
 *   file in.
 * @param string $file_name The name of the file that you want to save.
 * @return int TRUE, when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_save_to_glo($conn_identifier, $oid, $file_name){}

/**
 * Get the requested schema information
 *
 * The {@link cubrid_schema} function is used to get the requested schema
 * information from database. You have to designate {@link class_name},
 * if you want to get information on certain class, {@link attr_name}, if
 * you want to get information on certain attribute (can be used only
 * with CUBRID_ SCH_ATTR_PRIVILEGE).
 *
 * The result of the cubrid_schema function is returned as a
 * two-dimensional array (column (associative array) * row (numeric
 * array)). The following tables shows types of schema and the column
 * structure of the result array to be returned based on the schema type.
 *
 * Result Composition of Each Type Schema Column Number Column Name Value
 * CUBRID_SCH_CLASS 1 NAME 2 TYPE 0:system class 1:vclass 2:class
 *
 * CUBRID_SCH_VCLASS 1 NAME 2 TYPE 1:vclass
 *
 * CUBRID_SCH_QUERY_SPEC 1 QUERY_SPEC
 *
 * CUBRID_SCH_ATTRIBUTE / CUBRID_SCH_CLASS_ATTRIBUTE 1 ATTR_NAME 2 DOMAIN
 * 3 SCALE 4 PRECISION 5 INDEXED 1:indexed 6 NOT NULL 1:not null 7 SHARED
 * 1:shared 8 UNIQUE 1:unique 9 DEFAULT 10 ATTR_ORDER base:1 11
 * CLASS_NAME 12 SOURCE_CLASS 13 IS_KEY 1:key
 *
 * CUBRID_SCH_METHOD / CUBRID_SCH_CLASS_METHOD 1 NAME 2 RET_DOMAIN 3
 * ARG_DOMAIN
 *
 * CUBRID_SCH_METHOD_FILE 1 METHOD_FILE
 *
 * CUBRID_SCH_SUPERCLASS / CUBRID_SCH_DIRECT_SUPER_CLASS /
 * CUBRID_SCH_SUBCLASS 1 CLASS_NAME 2 TYPE 0:system class 1:vclass
 * 2:class
 *
 * CUBRID_SCH_CONSTRAINT 1 TYPE 0:unique 1:index 2:reverse unique
 * 3:reverse index 2 NAME 3 ATTR_NAME 4 NUM_PAGES 5 NUM_KEYS 6
 * PRIMARY_KEY 1:primary key 7 KEY_ORDER base:1
 *
 * CUBRID_SCH_TRIGGER 1 NAME 2 STATUS 3 EVENT 4 TARGET_CLASS 5
 * TARGET_ATTR 6 ACTION_TIME 7 ACTION 8 PRIORITY 9 CONDITION_TIME 10
 * CONDITION
 *
 * CUBRID_SCH_CLASS_PRIVILEGE / CUBRID_SCH_ATTR_PRIVILEGE 1 CLASS_NAME /
 * ATTR_NAME 2 PRIVILEGE 3 GRANTABLE
 *
 * CUBRID_SCH_PRIMARY_KEY 1 CLASS_NAME 2 ATTR_NAME 3 KEY_SEQ base:1 4
 * KEY_NAME
 *
 * CUBRID_SCH_IMPORTED_KEYS / CUBRID_SCH_EXPORTED_KEYS /
 * CUBRID_SCH_CROSS_REFERENCE 1 PKTABLE_NAME 2 PKCOLUMN_NAME 3
 * FKTABLE_NAME base:1 4 FKCOLUMN_NAME 5 KEY_SEQ base:1 6 UPDATE_ACTION
 * 0:cascade 1:restrict 2:no action 3:set null 7 DELETE_ACTION 0:cascade
 * 1:restrict 2:no action 3:set null 8 FK_NAME 9 PK_NAME
 *
 * @param resource $conn_identifier Connection identifier.
 * @param int $schema_type Schema data that you want to know.
 * @param string $class_name Class you want to know the schema of.
 * @param string $attr_name Attribute you want to know the schema of.
 * @return array Array containing the schema information, when process
 *   is successful;
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_schema($conn_identifier, $schema_type, $class_name, $attr_name){}

/**
 * Read data from glo and send it to std output
 *
 * The {@link cubrid_send_glo} function is used to read data from glo
 * instance and sends it to the PHP standard output.
 *
 * @param resource $conn_identifier Connection identifier.
 * @param string $oid Oid of the glo instance that you want to read
 *   data from.
 * @return int TRUE, when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_send_glo($conn_identifier, $oid){}

/**
 * Delete an element from sequence type column using OID
 *
 * The {@link cubrid_seq_drop} function is used to delete an element you
 * request from the given sequence type attribute in the database.
 *
 * @param resource $conn_identifier Connection identifier.
 * @param string $oid OID of the instance you want to work with.
 * @param string $attr_name Name of the attribute that you want to
 *   delete an element from.
 * @param int $index Index of the element that you want to delete
 *   (1-based).
 * @return bool TRUE, when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_seq_drop($conn_identifier, $oid, $attr_name, $index){}

/**
 * Insert an element to a sequence type column using OID
 *
 * The {@link cubrid_col_insert} function is used to insert an element to
 * a sequence type attribute in a requested location.
 *
 * @param resource $conn_identifier Connection identifier.
 * @param string $oid OID of the instance you want to work with.
 * @param string $attr_name Name of the attribute you want to insert an
 *   instance to.
 * @param int $index Location of the element, you want to insert the
 *   element to (1-based).
 * @param string $seq_element Content of the element that you want to
 *   insert.
 * @return bool TRUE, when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_seq_insert($conn_identifier, $oid, $attr_name, $index, $seq_element){}

/**
 * Update the element value of sequence type column using OID
 *
 * The {@link cubrid_seq_put} function is used to update the content of
 * the requested element in a sequent type attribute using OID.
 *
 * @param resource $conn_identifier Connection identifier.
 * @param string $oid OID of the instance you want to work with.
 * @param string $attr_name Name of the attribute that you want to
 *   update an element.
 * @param int $index Index (1-based) of the element that you want to
 *   update.
 * @param string $seq_element New content that you want to use for the
 *   update.
 * @return bool TRUE, when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_seq_put($conn_identifier, $oid, $attr_name, $index, $seq_element){}

/**
 * Insert a single element to set type column using OID
 *
 * The {@link cubrid_set_add} function is used to insert a single element
 * to a set type attribute (set, multiset, sequence) you requested.
 *
 * @param resource $conn_identifier Connection identifier.
 * @param string $oid OID of the instance you want to work with.
 * @param string $attr_name Name of the attribute you want to insert an
 *   element.
 * @param string $set_element Content of the element you want to
 *   insert.
 * @return bool TRUE, when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_set_add($conn_identifier, $oid, $attr_name, $set_element){}

/**
 * Set autocommit mode of the connection
 *
 * The {@link cubrid_set_autocommit} function is used to set the CUBRID
 * database auto-commit mode of the current database connection.
 *
 * In CUBRID PHP, auto-commit mode is disabled by default for transaction
 * management. When auto-commit mode is truned from off to on, any
 * pending work is automatically committed.
 *
 * @param resource $conn_identifier Connection identifier.
 * @param bool $mode Auto-commit mode. The following constants can be
 *   used:
 *   
 *   CUBRID_AUTOCOMMIT_FALSE CUBRID_AUTOCOMMIT_TRUE
 * @return bool TRUE, when process is successful.
 * @since PECL CUBRID >= 8.4.0
 **/
function cubrid_set_autocommit($conn_identifier, $mode){}

/**
 * Sets the CUBRID database parameters
 *
 * The {@link cubrid_set_db_parameter} function is used to set the CUBRID
 * database parameters. It can set the following CUBRID database
 * parameters:
 *
 * PARAM_ISOLATION_LEVEL PARAM_LOCK_TIMEOUT
 *
 * @param resource $conn_identifier The CUBRID connection. If the
 *   connection identifier is not specified, the last link opened by
 *   {@link cubrid_connect} is assumed.
 * @param int $param_type Database parameter type.
 * @param int $param_value Isolation level value (1-6) or lock timeout
 *   (in seconds) value.
 * @return bool TRUE on success.
 * @since PECL CUBRID >= 8.4.0
 **/
function cubrid_set_db_parameter($conn_identifier, $param_type, $param_value){}

/**
 * Delete an element from set type column using OID
 *
 * The {@link cubrid_set_drop} function is used to delete an element that
 * you request from the given set type (set, multiset) attribute of the
 * database.
 *
 * @param resource $conn_identifier Connection identifier.
 * @param string $oid OID of the instance you want to work with.
 * @param string $attr_name Name of the attribute you want to delete an
 *   element from.
 * @param string $set_element Content of the element you want to
 *   delete.
 * @return bool TRUE, when process is successful.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_set_drop($conn_identifier, $oid, $attr_name, $set_element){}

/**
 * Set the timeout time of query execution
 *
 * The {@link cubrid_set_query_timeout} function is used to set the
 * timeout time of query execution.
 *
 * @param resource $req_identifier Request identifier.
 * @param int $timeout Timeout time, unit of msec.
 * @return bool TRUE, when process is successful.
 * @since PECL CUBRID >= 8.4.1
 **/
function cubrid_set_query_timeout($req_identifier, $timeout){}

/**
 * Perform a query without fetching the results into memory
 *
 * This function performs a query without waiting for that all query
 * results have been complete. It will return when the results are being
 * generated.
 *
 * @param string $query A SQL query.
 * @param resource $conn_identifier The CUBRID connection. If the
 *   connection identifier is not specified, the last connection opened
 *   by {@link cubrid_connect} is assumed.
 * @return resource For SELECT, SHOW, DESCRIBE or EXPLAIN statements
 *   returns a request identifier resource on success.
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_unbuffered_query($query, $conn_identifier){}

/**
 * Get the CUBRID PHP module's version
 *
 * The {@link cubrid_version} function is used to get the CUBRID PHP
 * module's version.
 *
 * @return string Version information (eg. "8.3.1.0001").
 * @since PECL CUBRID >= 8.3.0
 **/
function cubrid_version(){}

/**
 * Close a cURL session
 *
 * Closes a cURL session and frees all resources. The cURL handle, {@link
 * ch}, is also deleted.
 *
 * @param resource $ch
 * @return void
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function curl_close($ch){}

/**
 * Copy a cURL handle along with all of its preferences
 *
 * Copies a cURL handle keeping the same preferences.
 *
 * @param resource $ch
 * @return resource Returns a new cURL handle.
 * @since PHP 5, PHP 7
 **/
function curl_copy_handle($ch){}

/**
 * Return the last error number
 *
 * Returns the error number for the last cURL operation.
 *
 * @param resource $ch
 * @return int Returns the error number or 0 (zero) if no error
 *   occurred.
 * @since PHP 4 >= 4.0.3, PHP 5, PHP 7
 **/
function curl_errno($ch){}

/**
 * Return a string containing the last error for the current session
 *
 * Returns a clear text error message for the last cURL operation.
 *
 * @param resource $ch
 * @return string Returns the error message or '' (the empty string) if
 *   no error occurred.
 * @since PHP 4 >= 4.0.3, PHP 5, PHP 7
 **/
function curl_error($ch){}

/**
 * URL encodes the given string
 *
 * This function URL encodes the given string according to RFC 3986.
 *
 * @param resource $ch The string to be encoded.
 * @param string $str
 * @return string Returns escaped string.
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function curl_escape($ch, $str){}

/**
 * Perform a cURL session
 *
 * Execute the given cURL session.
 *
 * This function should be called after initializing a cURL session and
 * all the options for the session are set.
 *
 * @param resource $ch
 * @return mixed However, if the CURLOPT_RETURNTRANSFER option is set,
 *   it will return the result on success, FALSE on failure.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function curl_exec($ch){}

/**
 * Create a CURLFile object
 *
 * Creates a CURLFile object, used to upload a file with
 * CURLOPT_POSTFIELDS.
 *
 * @param string $filename Path to the file which will be uploaded.
 * @param string $mimetype Mimetype of the file.
 * @param string $postname Name of the file to be used in the upload
 *   data.
 * @return CURLFile Returns a CURLFile object.
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function curl_file_create($filename, $mimetype, $postname){}

/**
 * Get information regarding a specific transfer
 *
 * Gets information about the last transfer.
 *
 * @param resource $ch This may be one of the following constants:
 *   CURLINFO_EFFECTIVE_URL - Last effective URL CURLINFO_HTTP_CODE - The
 *   last response code. As of PHP 5.5.0 and cURL 7.10.8, this is a
 *   legacy alias of CURLINFO_RESPONSE_CODE CURLINFO_FILETIME - Remote
 *   time of the retrieved document, with the CURLOPT_FILETIME enabled;
 *   if -1 is returned the time of the document is unknown
 *   CURLINFO_TOTAL_TIME - Total transaction time in seconds for last
 *   transfer CURLINFO_NAMELOOKUP_TIME - Time in seconds until name
 *   resolving was complete CURLINFO_CONNECT_TIME - Time in seconds it
 *   took to establish the connection CURLINFO_PRETRANSFER_TIME - Time in
 *   seconds from start until just before file transfer begins
 *   CURLINFO_STARTTRANSFER_TIME - Time in seconds until the first byte
 *   is about to be transferred CURLINFO_REDIRECT_COUNT - Number of
 *   redirects, with the CURLOPT_FOLLOWLOCATION option enabled
 *   CURLINFO_REDIRECT_TIME - Time in seconds of all redirection steps
 *   before final transaction was started, with the
 *   CURLOPT_FOLLOWLOCATION option enabled CURLINFO_REDIRECT_URL - With
 *   the CURLOPT_FOLLOWLOCATION option disabled: redirect URL found in
 *   the last transaction, that should be requested manually next. With
 *   the CURLOPT_FOLLOWLOCATION option enabled: this is empty. The
 *   redirect URL in this case is available in CURLINFO_EFFECTIVE_URL
 *   CURLINFO_PRIMARY_IP - IP address of the most recent connection
 *   CURLINFO_PRIMARY_PORT - Destination port of the most recent
 *   connection CURLINFO_LOCAL_IP - Local (source) IP address of the most
 *   recent connection CURLINFO_LOCAL_PORT - Local (source) port of the
 *   most recent connection CURLINFO_SIZE_UPLOAD - Total number of bytes
 *   uploaded CURLINFO_SIZE_DOWNLOAD - Total number of bytes downloaded
 *   CURLINFO_SPEED_DOWNLOAD - Average download speed
 *   CURLINFO_SPEED_UPLOAD - Average upload speed CURLINFO_HEADER_SIZE -
 *   Total size of all headers received CURLINFO_HEADER_OUT - The request
 *   string sent. For this to work, add the CURLINFO_HEADER_OUT option to
 *   the handle by calling {@link curl_setopt} CURLINFO_REQUEST_SIZE -
 *   Total size of issued requests, currently only for HTTP requests
 *   CURLINFO_SSL_VERIFYRESULT - Result of SSL certification verification
 *   requested by setting CURLOPT_SSL_VERIFYPEER
 *   CURLINFO_CONTENT_LENGTH_DOWNLOAD - Content length of download, read
 *   from Content-Length: field CURLINFO_CONTENT_LENGTH_UPLOAD -
 *   Specified size of upload CURLINFO_CONTENT_TYPE - Content-Type: of
 *   the requested document. NULL indicates server did not send valid
 *   Content-Type: header CURLINFO_PRIVATE - Private data associated with
 *   this cURL handle, previously set with the CURLOPT_PRIVATE option of
 *   {@link curl_setopt} CURLINFO_RESPONSE_CODE - The last response code
 *   CURLINFO_HTTP_CONNECTCODE - The CONNECT response code
 *   CURLINFO_HTTPAUTH_AVAIL - Bitmask indicating the authentication
 *   method(s) available according to the previous response
 *   CURLINFO_PROXYAUTH_AVAIL - Bitmask indicating the proxy
 *   authentication method(s) available according to the previous
 *   response CURLINFO_OS_ERRNO - Errno from a connect failure. The
 *   number is OS and system specific. CURLINFO_NUM_CONNECTS - Number of
 *   connections curl had to create to achieve the previous transfer
 *   CURLINFO_SSL_ENGINES - OpenSSL crypto-engines supported
 *   CURLINFO_COOKIELIST - All known cookies CURLINFO_FTP_ENTRY_PATH -
 *   Entry path in FTP server CURLINFO_APPCONNECT_TIME - Time in seconds
 *   it took from the start until the SSL/SSH connect/handshake to the
 *   remote host was completed CURLINFO_CERTINFO - TLS certificate chain
 *   CURLINFO_CONDITION_UNMET - Info on unmet time conditional
 *   CURLINFO_RTSP_CLIENT_CSEQ - Next RTSP client CSeq
 *   CURLINFO_RTSP_CSEQ_RECV - Recently received CSeq
 *   CURLINFO_RTSP_SERVER_CSEQ - Next RTSP server CSeq
 *   CURLINFO_RTSP_SESSION_ID - RTSP session ID
 * @param int $opt
 * @return mixed If {@link opt} is given, returns its value. Otherwise,
 *   returns an associative array with the following elements (which
 *   correspond to {@link opt}), or FALSE on failure: "url"
 *   "content_type" "http_code" "header_size" "request_size" "filetime"
 *   "ssl_verify_result" "redirect_count" "total_time" "namelookup_time"
 *   "connect_time" "pretransfer_time" "size_upload" "size_download"
 *   "speed_download" "speed_upload" "download_content_length"
 *   "upload_content_length" "starttransfer_time" "redirect_time"
 *   "certinfo" "primary_ip" "primary_port" "local_ip" "local_port"
 *   "redirect_url" "request_header" (This is only set if the
 *   CURLINFO_HEADER_OUT is set by a previous call to {@link
 *   curl_setopt}) Note that private data is not included in the
 *   associative array and must be retrieved individually with the
 *   CURLINFO_PRIVATE option.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function curl_getinfo($ch, $opt){}

/**
 * Initialize a cURL session
 *
 * Initializes a new session and return a cURL handle for use with the
 * {@link curl_setopt}, {@link curl_exec}, and {@link curl_close}
 * functions.
 *
 * @param string $url If provided, the CURLOPT_URL option will be set
 *   to its value. You can manually set this using the {@link
 *   curl_setopt} function.
 * @return resource Returns a cURL handle on success, FALSE on errors.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function curl_init($url){}

/**
 * Add a normal cURL handle to a cURL multi handle
 *
 * Adds the {@link ch} handle to the multi handle {@link mh}
 *
 * @param resource $mh
 * @param resource $ch
 * @return int Returns 0 on success, or one of the CURLM_XXX errors
 *   code.
 * @since PHP 5, PHP 7
 **/
function curl_multi_add_handle($mh, $ch){}

/**
 * Close a set of cURL handles
 *
 * Closes a set of cURL handles.
 *
 * @param resource $mh
 * @return void
 * @since PHP 5, PHP 7
 **/
function curl_multi_close($mh){}

/**
 * Return the last multi curl error number
 *
 * Return an integer containing the last multi curl error number.
 *
 * @param resource $mh
 * @return int Return an integer containing the last multi curl error
 *   number, .
 * @since PHP 7 >= 7.1.0
 **/
function curl_multi_errno($mh){}

/**
 * Run the sub-connections of the current cURL handle
 *
 * Processes each of the handles in the stack. This method can be called
 * whether or not a handle needs to read or write data.
 *
 * @param resource $mh A reference to a flag to tell whether the
 *   operations are still running.
 * @param int $still_running
 * @return int A cURL code defined in the cURL Predefined Constants.
 * @since PHP 5, PHP 7
 **/
function curl_multi_exec($mh, &$still_running){}

/**
 * Return the content of a cURL handle if is set
 *
 * If CURLOPT_RETURNTRANSFER is an option that is set for a specific
 * handle, then this function will return the content of that cURL handle
 * in the form of a string.
 *
 * @param resource $ch
 * @return string Return the content of a cURL handle if
 *   CURLOPT_RETURNTRANSFER is set.
 * @since PHP 5, PHP 7
 **/
function curl_multi_getcontent($ch){}

/**
 * Get information about the current transfers
 *
 * Ask the multi handle if there are any messages or information from the
 * individual transfers. Messages may include information such as an
 * error code from the transfer or just the fact that a transfer is
 * completed.
 *
 * Repeated calls to this function will return a new result each time,
 * until a FALSE is returned as a signal that there is no more to get at
 * this point. The integer pointed to with {@link msgs_in_queue} will
 * contain the number of remaining messages after this function was
 * called.
 *
 * @param resource $mh Number of messages that are still in the queue
 * @param int $msgs_in_queue
 * @return array On success, returns an associative array for the
 *   message, FALSE on failure.
 * @since PHP 5, PHP 7
 **/
function curl_multi_info_read($mh, &$msgs_in_queue){}

/**
 * Returns a new cURL multi handle
 *
 * Allows the processing of multiple cURL handles asynchronously.
 *
 * @return resource Returns a cURL multi handle resource on success,
 *   FALSE on failure.
 * @since PHP 5, PHP 7
 **/
function curl_multi_init(){}

/**
 * Remove a multi handle from a set of cURL handles
 *
 * Removes a given {@link ch} handle from the given {@link mh} handle.
 * When the {@link ch} handle has been removed, it is again perfectly
 * legal to run {@link curl_exec} on this handle. Removing the {@link ch}
 * handle while being used, will effectively halt the transfer in
 * progress involving that handle.
 *
 * @param resource $mh
 * @param resource $ch
 * @return int Returns 0 on success, or one of the CURLM_XXX error
 *   codes.
 * @since PHP 5, PHP 7
 **/
function curl_multi_remove_handle($mh, $ch){}

/**
 * Wait for activity on any curl_multi connection
 *
 * Blocks until there is activity on any of the curl_multi connections.
 *
 * @param resource $mh Time, in seconds, to wait for a response.
 * @param float $timeout
 * @return int On success, returns the number of descriptors contained
 *   in the descriptor sets. This may be 0 if there was no activity on
 *   any of the descriptors. On failure, this function will return -1 on
 *   a select failure (from the underlying select system call).
 * @since PHP 5, PHP 7
 **/
function curl_multi_select($mh, $timeout){}

/**
 * Set an option for the cURL multi handle
 *
 * @param resource $mh
 * @param int $option One of the CURLMOPT_* constants.
 * @param mixed $value The value to be set on {@link option}. {@link
 *   value} should be an int for the following values of the {@link
 *   option} parameter: Option Set {@link value} to CURLMOPT_PIPELINING
 *   Pass 1 to enable or 0 to disable. Enabling pipelining on a multi
 *   handle will make it attempt to perform HTTP Pipelining as far as
 *   possible for transfers using this handle. This means that if you add
 *   a second request that can use an already existing connection, the
 *   second request will be "piped" on the same connection. As of cURL
 *   7.43.0 you can also pass 2 to try to multiplex the new transfer over
 *   an existing HTTP/2 connection if possible. Instead of integer
 *   literals, you can also use the CURLPIPE_* constants if available.
 *   CURLMOPT_MAXCONNECTS Pass a number that will be used as the maximum
 *   amount of simultaneously open connections that libcurl may cache. By
 *   default the size will be enlarged to fit four times the number of
 *   handles added via {@link curl_multi_add_handle}. When the cache is
 *   full, curl closes the oldest one in the cache to prevent the number
 *   of open connections from increasing.
 *   CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE Pass a number that specifies the
 *   chunk length threshold for pipelining in bytes.
 *   CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE Pass a number that specifies
 *   the size threshold for pipelining penalty in bytes.
 *   CURLMOPT_MAX_HOST_CONNECTIONS Pass a number that specifies the
 *   maximum number of connections to a single host.
 *   CURLMOPT_MAX_PIPELINE_LENGTH Pass a number that specifies the
 *   maximum number of requests in a pipeline.
 *   CURLMOPT_MAX_TOTAL_CONNECTIONS Pass a number that specifies the
 *   maximum number of simultaneously open connections.
 *   CURLMOPT_PUSHFUNCTION Pass a callable that will be registered to
 *   handle server pushes and should have the following signature:
 *   intpushfunction resource{@link parent_ch} resource{@link pushed_ch}
 *   array{@link headers} {@link parent_ch} The parent cURL handle (the
 *   request the client made). {@link pushed_ch} A new cURL handle for
 *   the pushed request. {@link headers} The push promise headers. The
 *   push function is supposed to return either CURL_PUSH_OK if it can
 *   handle the push, or CURL_PUSH_DENY to reject it.
 * @return bool
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function curl_multi_setopt($mh, $option, $value){}

/**
 * Return string describing error code
 *
 * Returns a text error message describing the given CURLM error code.
 *
 * @param int $errornum One of the CURLM error codes constants.
 * @return string Returns error string for valid error code, NULL
 *   otherwise.
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function curl_multi_strerror($errornum){}

/**
 * Pause and unpause a connection
 *
 * @param resource $ch One of CURLPAUSE_* constants.
 * @param int $bitmask
 * @return int Returns an error code (CURLE_OK for no error).
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function curl_pause($ch, $bitmask){}

/**
 * Reset all options of a libcurl session handle
 *
 * This function re-initializes all options set on the given cURL handle
 * to the default values.
 *
 * @param resource $ch
 * @return void
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function curl_reset($ch){}

/**
 * Set an option for a cURL transfer
 *
 * Sets an option on the given cURL session handle.
 *
 * @param resource $ch The CURLOPT_XXX option to set.
 * @param int $option The value to be set on {@link option}. {@link
 *   value} should be a bool for the following values of the {@link
 *   option} parameter: Option Set {@link value} to Notes
 *   CURLOPT_AUTOREFERER TRUE to automatically set the Referer: field in
 *   requests where it follows a Location: redirect.
 *   CURLOPT_BINARYTRANSFER TRUE to return the raw output when
 *   CURLOPT_RETURNTRANSFER is used. From PHP 5.1.3, this option has no
 *   effect: the raw output will always be returned when
 *   CURLOPT_RETURNTRANSFER is used. CURLOPT_COOKIESESSION TRUE to mark
 *   this as a new cookie "session". It will force libcurl to ignore all
 *   cookies it is about to load that are "session cookies" from the
 *   previous session. By default, libcurl always stores and loads all
 *   cookies, independent if they are session cookies or not. Session
 *   cookies are cookies without expiry date and they are meant to be
 *   alive and existing for this "session" only. CURLOPT_CERTINFO TRUE to
 *   output SSL certification information to STDERR on secure transfers.
 *   Added in cURL 7.19.1. Available since PHP 5.3.2. Requires
 *   CURLOPT_VERBOSE to be on to have an effect. CURLOPT_CONNECT_ONLY
 *   TRUE tells the library to perform all the required proxy
 *   authentication and connection setup, but no data transfer. This
 *   option is implemented for HTTP, SMTP and POP3. Added in 7.15.2.
 *   Available since PHP 5.5.0. CURLOPT_CRLF TRUE to convert Unix
 *   newlines to CRLF newlines on transfers. CURLOPT_DNS_USE_GLOBAL_CACHE
 *   TRUE to use a global DNS cache. This option is not thread-safe and
 *   is enabled by default. CURLOPT_FAILONERROR TRUE to fail verbosely if
 *   the HTTP code returned is greater than or equal to 400. The default
 *   behavior is to return the page normally, ignoring the code.
 *   CURLOPT_SSL_FALSESTART TRUE to enable TLS false start. Added in cURL
 *   7.42.0. Available since PHP 7.0.7. CURLOPT_FILETIME TRUE to attempt
 *   to retrieve the modification date of the remote document. This value
 *   can be retrieved using the {@link CURLINFO_FILETIME} option with
 *   {@link curl_getinfo}. CURLOPT_FOLLOWLOCATION TRUE to follow any
 *   "Location: " header that the server sends as part of the HTTP header
 *   (note this is recursive, PHP will follow as many "Location: "
 *   headers that it is sent, unless CURLOPT_MAXREDIRS is set).
 *   CURLOPT_FORBID_REUSE TRUE to force the connection to explicitly
 *   close when it has finished processing, and not be pooled for reuse.
 *   CURLOPT_FRESH_CONNECT TRUE to force the use of a new connection
 *   instead of a cached one. CURLOPT_FTP_USE_EPRT TRUE to use EPRT (and
 *   LPRT) when doing active FTP downloads. Use FALSE to disable EPRT and
 *   LPRT and use PORT only. CURLOPT_FTP_USE_EPSV TRUE to first try an
 *   EPSV command for FTP transfers before reverting back to PASV. Set to
 *   FALSE to disable EPSV. CURLOPT_FTP_CREATE_MISSING_DIRS TRUE to
 *   create missing directories when an FTP operation encounters a path
 *   that currently doesn't exist. CURLOPT_FTPAPPEND TRUE to append to
 *   the remote file instead of overwriting it. CURLOPT_TCP_NODELAY TRUE
 *   to disable TCP's Nagle algorithm, which tries to minimize the number
 *   of small packets on the network. Available since PHP 5.2.1 for
 *   versions compiled with libcurl 7.11.2 or greater. CURLOPT_FTPASCII
 *   An alias of CURLOPT_TRANSFERTEXT. Use that instead.
 *   CURLOPT_FTPLISTONLY TRUE to only list the names of an FTP directory.
 *   CURLOPT_HEADER TRUE to include the header in the output.
 *   CURLINFO_HEADER_OUT TRUE to track the handle's request string.
 *   Available since PHP 5.1.3. The CURLINFO_ prefix is intentional.
 *   CURLOPT_HTTPGET TRUE to reset the HTTP request method to GET. Since
 *   GET is the default, this is only necessary if the request method has
 *   been changed. CURLOPT_HTTPPROXYTUNNEL TRUE to tunnel through a given
 *   HTTP proxy. CURLOPT_MUTE TRUE to be completely silent with regards
 *   to the cURL functions. Removed in cURL 7.15.5 (You can use
 *   CURLOPT_RETURNTRANSFER instead) CURLOPT_NETRC TRUE to scan the
 *   ~/.netrc file to find a username and password for the remote site
 *   that a connection is being established with. CURLOPT_NOBODY TRUE to
 *   exclude the body from the output. Request method is then set to
 *   HEAD. Changing this to FALSE does not change it to GET.
 *   CURLOPT_NOPROGRESS TRUE to disable the progress meter for cURL
 *   transfers. PHP automatically sets this option to TRUE, this should
 *   only be changed for debugging purposes. CURLOPT_NOSIGNAL TRUE to
 *   ignore any cURL function that causes a signal to be sent to the PHP
 *   process. This is turned on by default in multi-threaded SAPIs so
 *   timeout options can still be used. Added in cURL 7.10.
 *   CURLOPT_PATH_AS_IS TRUE to not handle dot dot sequences. Added in
 *   cURL 7.42.0. Available since PHP 7.0.7. CURLOPT_PIPEWAIT TRUE to
 *   wait for pipelining/multiplexing. Added in cURL 7.43.0. Available
 *   since PHP 7.0.7. CURLOPT_POST TRUE to do a regular HTTP POST. This
 *   POST is the normal application/x-www-form-urlencoded kind, most
 *   commonly used by HTML forms. CURLOPT_PUT TRUE to HTTP PUT a file.
 *   The file to PUT must be set with CURLOPT_INFILE and
 *   CURLOPT_INFILESIZE. CURLOPT_RETURNTRANSFER TRUE to return the
 *   transfer as a string of the return value of {@link curl_exec}
 *   instead of outputting it directly. CURLOPT_SAFE_UPLOAD TRUE to
 *   disable support for the @ prefix for uploading files in
 *   CURLOPT_POSTFIELDS, which means that values starting with @ can be
 *   safely passed as fields. CURLFile may be used for uploads instead.
 *   Added in PHP 5.5.0 with FALSE as the default value. PHP 5.6.0
 *   changes the default value to TRUE. PHP 7 removes this option; the
 *   CURLFile interface must be used to upload files. CURLOPT_SASL_IR
 *   TRUE to enable sending the initial response in the first packet.
 *   Added in cURL 7.31.10. Available since PHP 7.0.7.
 *   CURLOPT_SSL_ENABLE_ALPN FALSE to disable ALPN in the SSL handshake
 *   (if the SSL backend libcurl is built to use supports it), which can
 *   be used to negotiate http2. Added in cURL 7.36.0. Available since
 *   PHP 7.0.7. CURLOPT_SSL_ENABLE_NPN FALSE to disable NPN in the SSL
 *   handshake (if the SSL backend libcurl is built to use supports it),
 *   which can be used to negotiate http2. Added in cURL 7.36.0.
 *   Available since PHP 7.0.7. CURLOPT_SSL_VERIFYPEER FALSE to stop cURL
 *   from verifying the peer's certificate. Alternate certificates to
 *   verify against can be specified with the CURLOPT_CAINFO option or a
 *   certificate directory can be specified with the CURLOPT_CAPATH
 *   option. TRUE by default as of cURL 7.10. Default bundle installed as
 *   of cURL 7.10. CURLOPT_SSL_VERIFYSTATUS TRUE to verify the
 *   certificate's status. Added in cURL 7.41.0. Available since PHP
 *   7.0.7. CURLOPT_TCP_FASTOPEN TRUE to enable TCP Fast Open. Added in
 *   cURL 7.49.0. Available since PHP 7.0.7. CURLOPT_TFTP_NO_OPTIONS TRUE
 *   to not send TFTP options requests. Added in cURL 7.48.0. Available
 *   since PHP 7.0.7. CURLOPT_TRANSFERTEXT TRUE to use ASCII mode for FTP
 *   transfers. For LDAP, it retrieves data in plain text instead of
 *   HTML. On Windows systems, it will not set STDOUT to binary mode.
 *   CURLOPT_UNRESTRICTED_AUTH TRUE to keep sending the username and
 *   password when following locations (using CURLOPT_FOLLOWLOCATION),
 *   even when the hostname has changed. CURLOPT_UPLOAD TRUE to prepare
 *   for an upload. CURLOPT_VERBOSE TRUE to output verbose information.
 *   Writes output to STDERR, or the file specified using CURLOPT_STDERR.
 *   {@link value} should be an integer for the following values of the
 *   {@link option} parameter: Option Set {@link value} to Notes
 *   CURLOPT_BUFFERSIZE The size of the buffer to use for each read.
 *   There is no guarantee this request will be fulfilled, however. Added
 *   in cURL 7.10. CURLOPT_CLOSEPOLICY One of the CURLCLOSEPOLICY_*
 *   values. This option is deprecated, as it was never implemented in
 *   cURL and never had any effect. Removed in PHP 5.6.0.
 *   CURLOPT_CONNECTTIMEOUT The number of seconds to wait while trying to
 *   connect. Use 0 to wait indefinitely. CURLOPT_CONNECTTIMEOUT_MS The
 *   number of milliseconds to wait while trying to connect. Use 0 to
 *   wait indefinitely. If libcurl is built to use the standard system
 *   name resolver, that portion of the connect will still use
 *   full-second resolution for timeouts with a minimum timeout allowed
 *   of one second. Added in cURL 7.16.2. Available since PHP 5.2.3.
 *   CURLOPT_DNS_CACHE_TIMEOUT The number of seconds to keep DNS entries
 *   in memory. This option is set to 120 (2 minutes) by default.
 *   CURLOPT_EXPECT_100_TIMEOUT_MS The timeout for Expect: 100-continue
 *   responses in milliseconds. Defaults to 1000 milliseconds. Added in
 *   cURL 7.36.0. Available since PHP 7.0.7. CURLOPT_FTPSSLAUTH The FTP
 *   authentication method (when is activated): CURLFTPAUTH_SSL (try SSL
 *   first), CURLFTPAUTH_TLS (try TLS first), or CURLFTPAUTH_DEFAULT (let
 *   cURL decide). Added in cURL 7.12.2. CURLOPT_HEADEROPT How to deal
 *   with headers. One of the following constants: CURLHEADER_UNIFIED:
 *   the headers specified in CURLOPT_HTTPHEADER will be used in requests
 *   both to servers and proxies. With this option enabled,
 *   CURLOPT_PROXYHEADER will not have any effect. CURLHEADER_SEPARATE:
 *   makes CURLOPT_HTTPHEADER headers only get sent to a server and not
 *   to a proxy. Proxy headers must be set with CURLOPT_PROXYHEADER to
 *   get used. Note that if a non-CONNECT request is sent to a proxy,
 *   libcurl will send both server headers and proxy headers. When doing
 *   CONNECT, libcurl will send CURLOPT_PROXYHEADER headers only to the
 *   proxy and then CURLOPT_HTTPHEADER headers only to the server.
 *   Defaults to CURLHEADER_SEPARATE as of cURL 7.42.1, and
 *   CURLHEADER_UNIFIED before. Added in cURL 7.37.0. Available since PHP
 *   7.0.7. CURLOPT_HTTP_VERSION {@link CURL_HTTP_VERSION_NONE} (default,
 *   lets CURL decide which version to use), {@link
 *   CURL_HTTP_VERSION_1_0} (forces HTTP/1.0), or {@link
 *   CURL_HTTP_VERSION_1_1} (forces HTTP/1.1). CURLOPT_HTTPAUTH The HTTP
 *   authentication method(s) to use. The options are: {@link
 *   CURLAUTH_BASIC}, {@link CURLAUTH_DIGEST}, {@link
 *   CURLAUTH_GSSNEGOTIATE}, {@link CURLAUTH_NTLM}, {@link CURLAUTH_ANY},
 *   and {@link CURLAUTH_ANYSAFE}. The bitwise | (or) operator can be
 *   used to combine more than one method. If this is done, cURL will
 *   poll the server to see what methods it supports and pick the best
 *   one. {@link CURLAUTH_ANY} is an alias for CURLAUTH_BASIC |
 *   CURLAUTH_DIGEST | CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM. {@link
 *   CURLAUTH_ANYSAFE} is an alias for CURLAUTH_DIGEST |
 *   CURLAUTH_GSSNEGOTIATE | CURLAUTH_NTLM. CURLOPT_INFILESIZE The
 *   expected size, in bytes, of the file when uploading a file to a
 *   remote site. Note that using this option will not stop libcurl from
 *   sending more data, as exactly what is sent depends on
 *   CURLOPT_READFUNCTION. CURLOPT_LOW_SPEED_LIMIT The transfer speed, in
 *   bytes per second, that the transfer should be below during the count
 *   of CURLOPT_LOW_SPEED_TIME seconds before PHP considers the transfer
 *   too slow and aborts. CURLOPT_LOW_SPEED_TIME The number of seconds
 *   the transfer speed should be below CURLOPT_LOW_SPEED_LIMIT before
 *   PHP considers the transfer too slow and aborts. CURLOPT_MAXCONNECTS
 *   The maximum amount of persistent connections that are allowed. When
 *   the limit is reached, CURLOPT_CLOSEPOLICY is used to determine which
 *   connection to close. CURLOPT_MAXREDIRS The maximum amount of HTTP
 *   redirections to follow. Use this option alongside
 *   CURLOPT_FOLLOWLOCATION. CURLOPT_PORT An alternative port number to
 *   connect to. CURLOPT_POSTREDIR A bitmask of 1 (301 Moved
 *   Permanently), 2 (302 Found) and 4 (303 See Other) if the HTTP POST
 *   method should be maintained when CURLOPT_FOLLOWLOCATION is set and a
 *   specific type of redirect occurs. Added in cURL 7.19.1. Available
 *   since PHP 5.3.2. CURLOPT_PROTOCOLS Bitmask of CURLPROTO_* values. If
 *   used, this bitmask limits what protocols libcurl may use in the
 *   transfer. This allows you to have a libcurl built to support a wide
 *   range of protocols but still limit specific transfers to only be
 *   allowed to use a subset of them. By default libcurl will accept all
 *   protocols it supports. See also CURLOPT_REDIR_PROTOCOLS. Valid
 *   protocol options are: {@link CURLPROTO_HTTP}, {@link
 *   CURLPROTO_HTTPS}, {@link CURLPROTO_FTP}, {@link CURLPROTO_FTPS},
 *   {@link CURLPROTO_SCP}, {@link CURLPROTO_SFTP}, {@link
 *   CURLPROTO_TELNET}, {@link CURLPROTO_LDAP}, {@link CURLPROTO_LDAPS},
 *   {@link CURLPROTO_DICT}, {@link CURLPROTO_FILE}, {@link
 *   CURLPROTO_TFTP}, {@link CURLPROTO_ALL} Added in cURL 7.19.4.
 *   CURLOPT_PROXYAUTH The HTTP authentication method(s) to use for the
 *   proxy connection. Use the same bitmasks as described in
 *   CURLOPT_HTTPAUTH. For proxy authentication, only {@link
 *   CURLAUTH_BASIC} and {@link CURLAUTH_NTLM} are currently supported.
 *   Added in cURL 7.10.7. CURLOPT_PROXYPORT The port number of the proxy
 *   to connect to. This port number can also be set in CURLOPT_PROXY.
 *   CURLOPT_PROXYTYPE Either CURLPROXY_HTTP (default), CURLPROXY_SOCKS4,
 *   CURLPROXY_SOCKS5, CURLPROXY_SOCKS4A or CURLPROXY_SOCKS5_HOSTNAME.
 *   Added in cURL 7.10. CURLOPT_REDIR_PROTOCOLS Bitmask of CURLPROTO_*
 *   values. If used, this bitmask limits what protocols libcurl may use
 *   in a transfer that it follows to in a redirect when
 *   CURLOPT_FOLLOWLOCATION is enabled. This allows you to limit specific
 *   transfers to only be allowed to use a subset of protocols in
 *   redirections. By default libcurl will allow all protocols except for
 *   FILE and SCP. This is a difference compared to pre-7.19.4 versions
 *   which unconditionally would follow to all protocols supported. See
 *   also CURLOPT_PROTOCOLS for protocol constant values. Added in cURL
 *   7.19.4. CURLOPT_RESUME_FROM The offset, in bytes, to resume a
 *   transfer from. CURLOPT_SSL_OPTIONS Set SSL behavior options, which
 *   is a bitmask of any of the following constants:
 *   CURLSSLOPT_ALLOW_BEAST: do not attempt to use any workarounds for a
 *   security flaw in the SSL3 and TLS1.0 protocols.
 *   CURLSSLOPT_NO_REVOKE: disable certificate revocation checks for
 *   those SSL backends where such behavior is present. Added in cURL
 *   7.25.0. Available since PHP 7.0.7. CURLOPT_SSL_VERIFYHOST 1 to check
 *   the existence of a common name in the SSL peer certificate. 2 to
 *   check the existence of a common name and also verify that it matches
 *   the hostname provided. 0 to not check the names. In production
 *   environments the value of this option should be kept at 2 (default
 *   value). Support for value 1 removed in cURL 7.28.1.
 *   CURLOPT_SSLVERSION One of CURL_SSLVERSION_DEFAULT (0),
 *   CURL_SSLVERSION_TLSv1 (1), CURL_SSLVERSION_SSLv2 (2),
 *   CURL_SSLVERSION_SSLv3 (3), CURL_SSLVERSION_TLSv1_0 (4),
 *   CURL_SSLVERSION_TLSv1_1 (5) or CURL_SSLVERSION_TLSv1_2 (6). Your
 *   best bet is to not set this and let it use the default. Setting it
 *   to 2 or 3 is very dangerous given the known vulnerabilities in SSLv2
 *   and SSLv3. CURLOPT_STREAM_WEIGHT Set the numerical stream weight (a
 *   number between 1 and 256). Added in cURL 7.46.0. Available since PHP
 *   7.0.7. CURLOPT_TIMECONDITION How CURLOPT_TIMEVALUE is treated. Use
 *   {@link CURL_TIMECOND_IFMODSINCE} to return the page only if it has
 *   been modified since the time specified in CURLOPT_TIMEVALUE. If it
 *   hasn't been modified, a "304 Not Modified" header will be returned
 *   assuming CURLOPT_HEADER is TRUE. Use {@link
 *   CURL_TIMECOND_IFUNMODSINCE} for the reverse effect. {@link
 *   CURL_TIMECOND_IFMODSINCE} is the default. CURLOPT_TIMEOUT The
 *   maximum number of seconds to allow cURL functions to execute.
 *   CURLOPT_TIMEOUT_MS The maximum number of milliseconds to allow cURL
 *   functions to execute. If libcurl is built to use the standard system
 *   name resolver, that portion of the connect will still use
 *   full-second resolution for timeouts with a minimum timeout allowed
 *   of one second. Added in cURL 7.16.2. Available since PHP 5.2.3.
 *   CURLOPT_TIMEVALUE The time in seconds since January 1st, 1970. The
 *   time will be used by CURLOPT_TIMECONDITION. By default, {@link
 *   CURL_TIMECOND_IFMODSINCE} is used. CURLOPT_MAX_RECV_SPEED_LARGE If a
 *   download exceeds this speed (counted in bytes per second) on
 *   cumulative average during the transfer, the transfer will pause to
 *   keep the average rate less than or equal to the parameter value.
 *   Defaults to unlimited speed. Added in cURL 7.15.5. Available since
 *   PHP 5.4.0. CURLOPT_MAX_SEND_SPEED_LARGE If an upload exceeds this
 *   speed (counted in bytes per second) on cumulative average during the
 *   transfer, the transfer will pause to keep the average rate less than
 *   or equal to the parameter value. Defaults to unlimited speed. Added
 *   in cURL 7.15.5. Available since PHP 5.4.0. CURLOPT_SSH_AUTH_TYPES A
 *   bitmask consisting of one or more of CURLSSH_AUTH_PUBLICKEY,
 *   CURLSSH_AUTH_PASSWORD, CURLSSH_AUTH_HOST, CURLSSH_AUTH_KEYBOARD. Set
 *   to CURLSSH_AUTH_ANY to let libcurl pick one. Added in cURL 7.16.1.
 *   CURLOPT_IPRESOLVE Allows an application to select what kind of IP
 *   addresses to use when resolving host names. This is only interesting
 *   when using host names that resolve addresses using more than one
 *   version of IP, possible values are CURL_IPRESOLVE_WHATEVER,
 *   CURL_IPRESOLVE_V4, CURL_IPRESOLVE_V6, by default
 *   CURL_IPRESOLVE_WHATEVER. Added in cURL 7.10.8.
 *   CURLOPT_FTP_FILEMETHOD Tell curl which method to use to reach a file
 *   on a FTP(S) server. Possible values are CURLFTPMETHOD_MULTICWD,
 *   CURLFTPMETHOD_NOCWD and CURLFTPMETHOD_SINGLECWD. Added in cURL
 *   7.15.1. Available since PHP 5.3.0. {@link value} should be a string
 *   for the following values of the {@link option} parameter: Option Set
 *   {@link value} to Notes CURLOPT_CAINFO The name of a file holding one
 *   or more certificates to verify the peer with. This only makes sense
 *   when used in combination with CURLOPT_SSL_VERIFYPEER. Might require
 *   an absolute path. CURLOPT_CAPATH A directory that holds multiple CA
 *   certificates. Use this option alongside CURLOPT_SSL_VERIFYPEER.
 *   CURLOPT_COOKIE The contents of the "Cookie: " header to be used in
 *   the HTTP request. Note that multiple cookies are separated with a
 *   semicolon followed by a space (e.g., "fruit=apple; colour=red")
 *   CURLOPT_COOKIEFILE The name of the file containing the cookie data.
 *   The cookie file can be in Netscape format, or just plain HTTP-style
 *   headers dumped into a file. If the name is an empty string, no
 *   cookies are loaded, but cookie handling is still enabled.
 *   CURLOPT_COOKIEJAR The name of a file to save all internal cookies to
 *   when the handle is closed, e.g. after a call to curl_close.
 *   CURLOPT_CUSTOMREQUEST A custom request method to use instead of
 *   "GET" or "HEAD" when doing a HTTP request. This is useful for doing
 *   "DELETE" or other, more obscure HTTP requests. Valid values are
 *   things like "GET", "POST", "CONNECT" and so on; i.e. Do not enter a
 *   whole HTTP request line here. For instance, entering "GET
 *   /index.html HTTP/1.0\r\n\r\n" would be incorrect. Don't do this
 *   without making sure the server supports the custom request method
 *   first. CURLOPT_DEFAULT_PROTOCOL The default protocol to use if the
 *   URL is missing a scheme name. Added in cURL 7.45.0. Available since
 *   PHP 7.0.7. CURLOPT_DNS_INTERFACE Set the name of the network
 *   interface that the DNS resolver should bind to. This must be an
 *   interface name (not an address). Added in cURL 7.33.0. Available
 *   since PHP 7.0.7. CURLOPT_DNS_LOCAL_IP4 Set the local IPv4 address
 *   that the resolver should bind to. The argument should contain a
 *   single numerical IPv4 address as a string. Added in cURL 7.33.0.
 *   Available since PHP 7.0.7. CURLOPT_DNS_LOCAL_IP6 Set the local IPv6
 *   address that the resolver should bind to. The argument should
 *   contain a single numerical IPv6 address as a string. Added in cURL
 *   7.33.0. Available since PHP 7.0.7. CURLOPT_EGDSOCKET Like
 *   CURLOPT_RANDOM_FILE, except a filename to an Entropy Gathering
 *   Daemon socket. CURLOPT_ENCODING The contents of the
 *   "Accept-Encoding: " header. This enables decoding of the response.
 *   Supported encodings are "identity", "deflate", and "gzip". If an
 *   empty string, "", is set, a header containing all supported encoding
 *   types is sent. Added in cURL 7.10. CURLOPT_FTPPORT The value which
 *   will be used to get the IP address to use for the FTP "PORT"
 *   instruction. The "PORT" instruction tells the remote server to
 *   connect to our specified IP address. The string may be a plain IP
 *   address, a hostname, a network interface name (under Unix), or just
 *   a plain '-' to use the systems default IP address. CURLOPT_INTERFACE
 *   The name of the outgoing network interface to use. This can be an
 *   interface name, an IP address or a host name. CURLOPT_KEYPASSWD The
 *   password required to use the CURLOPT_SSLKEY or
 *   CURLOPT_SSH_PRIVATE_KEYFILE private key. Added in cURL 7.16.1.
 *   CURLOPT_KRB4LEVEL The KRB4 (Kerberos 4) security level. Any of the
 *   following values (in order from least to most powerful) are valid:
 *   "clear", "safe", "confidential", "private".. If the string does not
 *   match one of these, "private" is used. Setting this option to NULL
 *   will disable KRB4 security. Currently KRB4 security only works with
 *   FTP transactions. CURLOPT_LOGIN_OPTIONS Can be used to set protocol
 *   specific login options, such as the preferred authentication
 *   mechanism via "AUTH=NTLM" or "AUTH=*", and should be used in
 *   conjunction with the CURLOPT_USERNAME option. Added in cURL 7.34.0.
 *   Available since PHP 7.0.7. CURLOPT_PINNEDPUBLICKEY Set the pinned
 *   public key. The string can be the file name of your pinned public
 *   key. The file format expected is "PEM" or "DER". The string can also
 *   be any number of base64 encoded sha256 hashes preceded by "sha256//"
 *   and separated by ";". Added in cURL 7.39.0. Available since PHP
 *   7.0.7. CURLOPT_POSTFIELDS The full data to post in a HTTP "POST"
 *   operation. To post a file, prepend a filename with @ and use the
 *   full path. The filetype can be explicitly specified by following the
 *   filename with the type in the format ';type=mimetype'. This
 *   parameter can either be passed as a urlencoded string like
 *   'para1=val1&para2=val2&...' or as an array with the field name as
 *   key and field data as value. If {@link value} is an array, the
 *   Content-Type header will be set to multipart/form-data. As of PHP
 *   5.2.0, {@link value} must be an array if files are passed to this
 *   option with the @ prefix. As of PHP 5.5.0, the @ prefix is
 *   deprecated and files can be sent using CURLFile. The @ prefix can be
 *   disabled for safe passing of values beginning with @ by setting the
 *   CURLOPT_SAFE_UPLOAD option to TRUE. CURLOPT_PRIVATE Any data that
 *   should be associated with this cURL handle. This data can
 *   subsequently be retrieved with the CURLINFO_PRIVATE option of {@link
 *   curl_getinfo}. cURL does nothing with this data. When using a cURL
 *   multi handle, this private data is typically a unique key to
 *   identify a standard cURL handle. Added in cURL 7.10.3. CURLOPT_PROXY
 *   The HTTP proxy to tunnel requests through.
 *   CURLOPT_PROXY_SERVICE_NAME The proxy authentication service name.
 *   Added in cURL 7.34.0. Available since PHP 7.0.7.
 *   CURLOPT_PROXYUSERPWD A username and password formatted as
 *   "[username]:[password]" to use for the connection to the proxy.
 *   CURLOPT_RANDOM_FILE A filename to be used to seed the random number
 *   generator for SSL. CURLOPT_RANGE Range(s) of data to retrieve in the
 *   format "X-Y" where X or Y are optional. HTTP transfers also support
 *   several intervals, separated with commas in the format "X-Y,N-M".
 *   CURLOPT_REFERER The contents of the "Referer: " header to be used in
 *   a HTTP request. CURLOPT_SERVICE_NAME The authentication service
 *   name. Added in cURL 7.43.0. Available since PHP 7.0.7.
 *   CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 A string containing 32 hexadecimal
 *   digits. The string should be the MD5 checksum of the remote host's
 *   public key, and libcurl will reject the connection to the host
 *   unless the md5sums match. This option is only for SCP and SFTP
 *   transfers. Added in cURL 7.17.1. CURLOPT_SSH_PUBLIC_KEYFILE The file
 *   name for your public key. If not used, libcurl defaults to
 *   $HOME/.ssh/id_dsa.pub if the HOME environment variable is set, and
 *   just "id_dsa.pub" in the current directory if HOME is not set. Added
 *   in cURL 7.16.1. CURLOPT_SSH_PRIVATE_KEYFILE The file name for your
 *   private key. If not used, libcurl defaults to $HOME/.ssh/id_dsa if
 *   the HOME environment variable is set, and just "id_dsa" in the
 *   current directory if HOME is not set. If the file is
 *   password-protected, set the password with CURLOPT_KEYPASSWD. Added
 *   in cURL 7.16.1. CURLOPT_SSL_CIPHER_LIST A list of ciphers to use for
 *   SSL. For example, RC4-SHA and TLSv1 are valid cipher lists.
 *   CURLOPT_SSLCERT The name of a file containing a PEM formatted
 *   certificate. CURLOPT_SSLCERTPASSWD The password required to use the
 *   CURLOPT_SSLCERT certificate. CURLOPT_SSLCERTTYPE The format of the
 *   certificate. Supported formats are "PEM" (default), "DER", and
 *   "ENG". Added in cURL 7.9.3. CURLOPT_SSLENGINE The identifier for the
 *   crypto engine of the private SSL key specified in CURLOPT_SSLKEY.
 *   CURLOPT_SSLENGINE_DEFAULT The identifier for the crypto engine used
 *   for asymmetric crypto operations. CURLOPT_SSLKEY The name of a file
 *   containing a private SSL key. CURLOPT_SSLKEYPASSWD The secret
 *   password needed to use the private SSL key specified in
 *   CURLOPT_SSLKEY. Since this option contains a sensitive password,
 *   remember to keep the PHP script it is contained within safe.
 *   CURLOPT_SSLKEYTYPE The key type of the private SSL key specified in
 *   CURLOPT_SSLKEY. Supported key types are "PEM" (default), "DER", and
 *   "ENG". CURLOPT_UNIX_SOCKET_PATH Enables the use of Unix domain
 *   sockets as connection endpoint and sets the path to the given
 *   string. Added in cURL 7.40.0. Available since PHP 7.0.7. CURLOPT_URL
 *   The URL to fetch. This can also be set when initializing a session
 *   with {@link curl_init}. CURLOPT_USERAGENT The contents of the
 *   "User-Agent: " header to be used in a HTTP request. CURLOPT_USERNAME
 *   The user name to use in authentication. Added in cURL 7.19.1.
 *   Available since PHP 5.5.0. CURLOPT_USERPWD A username and password
 *   formatted as "[username]:[password]" to use for the connection.
 *   CURLOPT_XOAUTH2_BEARER Specifies the OAuth 2.0 access token. Added
 *   in cURL 7.33.0. Available since PHP 7.0.7. {@link value} should be
 *   an array for the following values of the {@link option} parameter:
 *   Option Set {@link value} to Notes CURLOPT_CONNECT_TO Connect to a
 *   specific host and port instead of the URL's host and port. Accepts
 *   an array of strings with the format
 *   HOST:PORT:CONNECT-TO-HOST:CONNECT-TO-PORT. Added in cURL 7.49.0.
 *   Available since PHP 7.0.7. CURLOPT_HTTP200ALIASES An array of HTTP
 *   200 responses that will be treated as valid responses and not as
 *   errors. Added in cURL 7.10.3. CURLOPT_HTTPHEADER An array of HTTP
 *   header fields to set, in the format array('Content-type:
 *   text/plain', 'Content-length: 100') CURLOPT_POSTQUOTE An array of
 *   FTP commands to execute on the server after the FTP request has been
 *   performed. CURLOPT_PROXYHEADER An array of custom HTTP headers to
 *   pass to proxies. Added in cURL 7.37.0. Available since PHP 7.0.7.
 *   CURLOPT_QUOTE An array of FTP commands to execute on the server
 *   prior to the FTP request. CURLOPT_RESOLVE Provide a custom address
 *   for a specific host and port pair. An array of hostname, port, and
 *   IP address strings, each element separated by a colon. In the
 *   format: array("example.com:80:127.0.0.1") Added in cURL 7.21.3.
 *   Available since PHP 5.5.0. {@link value} should be a stream resource
 *   (using {@link fopen}, for example) for the following values of the
 *   {@link option} parameter: Option Set {@link value} to CURLOPT_FILE
 *   The file that the transfer should be written to. The default is
 *   STDOUT (the browser window). CURLOPT_INFILE The file that the
 *   transfer should be read from when uploading. CURLOPT_STDERR An
 *   alternative location to output errors to instead of STDERR.
 *   CURLOPT_WRITEHEADER The file that the header part of the transfer is
 *   written to. {@link value} should be the name of a valid function or
 *   a Closure for the following values of the {@link option} parameter:
 *   Option Set {@link value} to CURLOPT_HEADERFUNCTION A callback
 *   accepting two parameters. The first is the cURL resource, the second
 *   is a string with the header data to be written. The header data must
 *   be written by this callback. Return the number of bytes written.
 *   CURLOPT_PASSWDFUNCTION A callback accepting three parameters. The
 *   first is the cURL resource, the second is a string containing a
 *   password prompt, and the third is the maximum password length.
 *   Return the string containing the password. CURLOPT_PROGRESSFUNCTION
 *   A callback accepting five parameters. The first is the cURL
 *   resource, the second is the total number of bytes expected to be
 *   downloaded in this transfer, the third is the number of bytes
 *   downloaded so far, the fourth is the total number of bytes expected
 *   to be uploaded in this transfer, and the fifth is the number of
 *   bytes uploaded so far. The callback is only called when the
 *   CURLOPT_NOPROGRESS option is set to FALSE. Return a non-zero value
 *   to abort the transfer. In which case, the transfer will set a
 *   CURLE_ABORTED_BY_CALLBACK error. CURLOPT_READFUNCTION A callback
 *   accepting three parameters. The first is the cURL resource, the
 *   second is a stream resource provided to cURL through the option
 *   CURLOPT_INFILE, and the third is the maximum amount of data to be
 *   read. The callback must return a string with a length equal or
 *   smaller than the amount of data requested, typically by reading it
 *   from the passed stream resource. It should return an empty string to
 *   signal EOF. CURLOPT_WRITEFUNCTION A callback accepting two
 *   parameters. The first is the cURL resource, and the second is a
 *   string with the data to be written. The data must be saved by this
 *   callback. It must return the exact number of bytes written or the
 *   transfer will be aborted with an error. Other values: Option Set
 *   {@link value} to CURLOPT_SHARE A result of {@link curl_share_init}.
 *   Makes the cURL handle to use the data from the shared handle.
 * @param mixed $value
 * @return bool
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function curl_setopt($ch, $option, $value){}

/**
 * Set multiple options for a cURL transfer
 *
 * Sets multiple options for a cURL session. This function is useful for
 * setting a large number of cURL options without repetitively calling
 * {@link curl_setopt}.
 *
 * @param resource $ch An array specifying which options to set and
 *   their values. The keys should be valid {@link curl_setopt} constants
 *   or their integer equivalents.
 * @param array $options
 * @return bool Returns TRUE if all options were successfully set. If
 *   an option could not be successfully set, FALSE is immediately
 *   returned, ignoring any future options in the {@link options} array.
 * @since PHP 5 >= 5.1.3, PHP 7
 **/
function curl_setopt_array($ch, $options){}

/**
 * Close a cURL share handle
 *
 * Closes a cURL share handle and frees all resources.
 *
 * @param resource $sh A cURL share handle returned by {@link
 *   curl_share_init}
 * @return void
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function curl_share_close($sh){}

/**
 * Return the last share curl error number
 *
 * Return an integer containing the last share curl error number.
 *
 * @param resource $sh A cURL share handle returned by {@link
 *   curl_share_init}.
 * @return int Returns an integer containing the last share curl error
 *   number, .
 * @since PHP 7 >= 7.1.0
 **/
function curl_share_errno($sh){}

/**
 * Initialize a cURL share handle
 *
 * Allows to share data between cURL handles.
 *
 * @return resource Returns resource of type "cURL Share Handle".
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function curl_share_init(){}

/**
 * Set an option for a cURL share handle
 *
 * Sets an option on the given cURL share handle.
 *
 * @param resource $sh A cURL share handle returned by {@link
 *   curl_share_init}.
 * @param int $option Option Description CURLSHOPT_SHARE Specifies a
 *   type of data that should be shared. CURLSHOPT_UNSHARE Specifies a
 *   type of data that will be no longer shared.
 * @param string $value Value Description CURL_LOCK_DATA_COOKIE Shares
 *   cookie data. CURL_LOCK_DATA_DNS Shares DNS cache. Note that when you
 *   use cURL multi handles, all handles added to the same multi handle
 *   will share DNS cache by default. CURL_LOCK_DATA_SSL_SESSION Shares
 *   SSL session IDs, reducing the time spent on the SSL handshake when
 *   reconnecting to the same server. Note that SSL session IDs are
 *   reused within the same handle by default.
 * @return bool
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function curl_share_setopt($sh, $option, $value){}

/**
 * Return string describing the given error code
 *
 * Returns a text error message describing the given error code.
 *
 * @param int $errornum One of the cURL error codes constants.
 * @return string Returns error description or NULL for invalid error
 *   code.
 * @since PHP 7 >= 7.1.0
 **/
function curl_share_strerror($errornum){}

/**
 * Return string describing the given error code
 *
 * Returns a text error message describing the given error code.
 *
 * @param int $errornum One of the cURL error codes constants.
 * @return string Returns error description or NULL for invalid error
 *   code.
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function curl_strerror($errornum){}

/**
 * Decodes the given URL encoded string
 *
 * This function decodes the given URL encoded string.
 *
 * @param resource $ch The URL encoded string to be decoded.
 * @param string $str
 * @return string Returns decoded string .
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function curl_unescape($ch, $str){}

/**
 * Gets cURL version information
 *
 * Returns information about the cURL version.
 *
 * @param int $age
 * @return array Returns an associative array with the following
 *   elements: Indice Value description version_number cURL 24 bit
 *   version number version cURL version number, as a string
 *   ssl_version_number OpenSSL 24 bit version number ssl_version OpenSSL
 *   version number, as a string libz_version zlib version number, as a
 *   string host Information about the host where cURL was built age
 *   features A bitmask of the CURL_VERSION_XXX constants protocols An
 *   array of protocols names supported by cURL
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function curl_version($age){}

/**
 * Return the current element in an array
 *
 * Every array has an internal pointer to its "current" element, which is
 * initialized to the first element inserted into the array.
 *
 * @param array $array The array.
 * @return mixed The {@link current} function simply returns the value
 *   of the array element that's currently being pointed to by the
 *   internal pointer. It does not move the pointer in any way. If the
 *   internal pointer points beyond the end of the elements list or the
 *   array is empty, {@link current} returns FALSE.
 * @since PHP 4, PHP 5, PHP 7
 **/
function current($array){}

/**
 * Authenticate against a Cyrus IMAP server
 *
 * @param resource $connection
 * @param string $mechlist
 * @param string $service
 * @param string $user
 * @param int $minssf
 * @param int $maxssf
 * @param string $authname
 * @param string $password
 * @return void
 * @since PHP 4 >= 4.1.0, PECL cyrus 1.0
 **/
function cyrus_authenticate($connection, $mechlist, $service, $user, $minssf, $maxssf, $authname, $password){}

/**
 * Bind callbacks to a Cyrus IMAP connection
 *
 * Binds callbacks to a Cyrus IMAP connection.
 *
 * @param resource $connection The connection handle.
 * @param array $callbacks An array of callbacks.
 * @return bool
 * @since PHP 4 >= 4.1.0, PECL cyrus 1.0
 **/
function cyrus_bind($connection, $callbacks){}

/**
 * Close connection to a Cyrus IMAP server
 *
 * Closes the connection to a Cyrus IMAP server.
 *
 * @param resource $connection The connection handle.
 * @return bool
 * @since PHP 4 >= 4.1.0, PECL cyrus 1.0
 **/
function cyrus_close($connection){}

/**
 * Connect to a Cyrus IMAP server
 *
 * Connects to a Cyrus IMAP server.
 *
 * @param string $host The Cyrus IMAP host name.
 * @param string $port The port number.
 * @param int $flags
 * @return resource Returns a connection handler on success.
 * @since PHP 4 >= 4.1.0, PECL cyrus 1.0
 **/
function cyrus_connect($host, $port, $flags){}

/**
 * Send a query to a Cyrus IMAP server
 *
 * Sends a query to a Cyrus IMAP server.
 *
 * @param resource $connection The connection handle.
 * @param string $query The query string.
 * @return array Returns an associative array with the following keys:
 *   text, msgno, and keyword.
 * @since PHP 4 >= 4.1.0, PECL cyrus 1.0
 **/
function cyrus_query($connection, $query){}

/**
 * Unbind ...
 *
 * @param resource $connection The connection handle.
 * @param string $trigger_name The trigger name.
 * @return bool
 * @since PHP 4 >= 4.1.0, PECL cyrus 1.0
 **/
function cyrus_unbind($connection, $trigger_name){}

/**
 * Format a local time/date
 *
 * Returns a string formatted according to the given format string using
 * the given integer {@link timestamp} or the current time if no
 * timestamp is given. In other words, {@link timestamp} is optional and
 * defaults to the value of {@link time}.
 *
 * @param string $format The format of the outputted date string. See
 *   the formatting options below. There are also several predefined date
 *   constants that may be used instead, so for example DATE_RSS contains
 *   the format string 'D, d M Y H:i:s'.
 *   
 *   The following characters are recognized in the {@link format}
 *   parameter string {@link format} character Description Example
 *   returned values Day --- --- d Day of the month, 2 digits with
 *   leading zeros 01 to 31 D A textual representation of a day, three
 *   letters Mon through Sun j Day of the month without leading zeros 1
 *   to 31 l (lowercase 'L') A full textual representation of the day of
 *   the week Sunday through Saturday N ISO-8601 numeric representation
 *   of the day of the week (added in PHP 5.1.0) 1 (for Monday) through 7
 *   (for Sunday) S English ordinal suffix for the day of the month, 2
 *   characters st, nd, rd or th. Works well with j w Numeric
 *   representation of the day of the week 0 (for Sunday) through 6 (for
 *   Saturday) z The day of the year (starting from 0) 0 through 365 Week
 *   --- --- W ISO-8601 week number of year, weeks starting on Monday
 *   Example: 42 (the 42nd week in the year) Month --- --- F A full
 *   textual representation of a month, such as January or March January
 *   through December m Numeric representation of a month, with leading
 *   zeros 01 through 12 M A short textual representation of a month,
 *   three letters Jan through Dec n Numeric representation of a month,
 *   without leading zeros 1 through 12 t Number of days in the given
 *   month 28 through 31 Year --- --- L Whether it's a leap year 1 if it
 *   is a leap year, 0 otherwise. o ISO-8601 week-numbering year. This
 *   has the same value as Y, except that if the ISO week number (W)
 *   belongs to the previous or next year, that year is used instead.
 *   (added in PHP 5.1.0) Examples: 1999 or 2003 Y A full numeric
 *   representation of a year, 4 digits Examples: 1999 or 2003 y A two
 *   digit representation of a year Examples: 99 or 03 Time --- --- a
 *   Lowercase Ante meridiem and Post meridiem am or pm A Uppercase Ante
 *   meridiem and Post meridiem AM or PM B Swatch Internet time 000
 *   through 999 g 12-hour format of an hour without leading zeros 1
 *   through 12 G 24-hour format of an hour without leading zeros 0
 *   through 23 h 12-hour format of an hour with leading zeros 01 through
 *   12 H 24-hour format of an hour with leading zeros 00 through 23 i
 *   Minutes with leading zeros 00 to 59 s Seconds, with leading zeros 00
 *   through 59 u Microseconds (added in PHP 5.2.2). Note that {@link
 *   date} will always generate 000000 since it takes an integer
 *   parameter, whereas DateTime::format does support microseconds if
 *   DateTime was created with microseconds. Example: 654321 v
 *   Milliseconds (added in PHP 7.0.0). Same note applies as for u.
 *   Example: 654 Timezone --- --- e Timezone identifier (added in PHP
 *   5.1.0) Examples: UTC, GMT, Atlantic/Azores I (capital i) Whether or
 *   not the date is in daylight saving time 1 if Daylight Saving Time, 0
 *   otherwise. O Difference to Greenwich time (GMT) in hours Example:
 *   +0200 P Difference to Greenwich time (GMT) with colon between hours
 *   and minutes (added in PHP 5.1.3) Example: +02:00 T Timezone
 *   abbreviation Examples: EST, MDT ... Z Timezone offset in seconds.
 *   The offset for timezones west of UTC is always negative, and for
 *   those east of UTC is always positive. -43200 through 50400 Full
 *   Date/Time --- --- c ISO 8601 date (added in PHP 5)
 *   2004-02-12T15:19:21+00:00 r RFC 2822 formatted date Example: Thu, 21
 *   Dec 2000 16:01:07 +0200 U Seconds since the Unix Epoch (January 1
 *   1970 00:00:00 GMT) See also {@link time} Unrecognized characters in
 *   the format string will be printed as-is. The Z format will always
 *   return 0 when using {@link gmdate}.
 * @param int $timestamp
 * @return string Returns a formatted date string. If a non-numeric
 *   value is used for {@link timestamp}, FALSE is returned and an
 *   E_WARNING level error is emitted.
 * @since PHP 4, PHP 5, PHP 7
 **/
function date($format, $timestamp){}

/**
 * Create a date formatter
 *
 * (constructor)
 *
 * @param string $locale Locale to use when formatting or parsing or
 *   NULL to use the value specified in the ini setting
 *   intl.default_locale.
 * @param int $datetype Date type to use (none, short, medium, long,
 *   full). This is one of the IntlDateFormatter constants. It can also
 *   be NULL, in which case ICUʼs default date type will be used.
 * @param int $timetype Time type to use (none, short, medium, long,
 *   full). This is one of the IntlDateFormatter constants. It can also
 *   be NULL, in which case ICUʼs default time type will be used.
 * @param mixed $timezone Time zone ID. The default (and the one used
 *   if NULL is given) is the one returned by {@link
 *   date_default_timezone_get} or, if applicable, that of the
 *   IntlCalendar object passed for the {@link calendar} parameter. This
 *   ID must be a valid identifier on ICUʼs database or an ID
 *   representing an explicit offset, such as GMT-05:30. This can also be
 *   an IntlTimeZone or a DateTimeZone object.
 * @param mixed $calendar Calendar to use for formatting or parsing.
 *   The default value is NULL, which corresponds to
 *   IntlDateFormatter::GREGORIAN. This can either be one of the
 *   IntlDateFormatter calendar constants or an IntlCalendar. Any
 *   IntlCalendar object passed will be clone; it will not be changed by
 *   the IntlDateFormatter. This will determine the calendar type used
 *   (gregorian, islamic, persian, etc.) and, if NULL is given for the
 *   {@link timezone} parameter, also the timezone used.
 * @param string $pattern Optional pattern to use when formatting or
 *   parsing. Possible patterns are documented at .
 * @return IntlDateFormatter The created IntlDateFormatter or FALSE in
 *   case of failure.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function datefmt_create($locale, $datetype, $timetype, $timezone, $calendar, $pattern){}

/**
 * Format the date/time value as a string
 *
 * Formats the time value as a string.
 *
 * @param IntlDateFormatter $fmt The date formatter resource.
 * @param mixed $value Value to format. This may be a DateTimeInterface
 *   object, an IntlCalendar object, a numeric type representing a
 *   (possibly fractional) number of seconds since epoch or an array in
 *   the format output by {@link localtime}. If a DateTime or an
 *   IntlCalendar object is passed, its timezone is not considered. The
 *   object will be formatted using the formaterʼs configured timezone.
 *   If one wants to use the timezone of the object to be formatted,
 *   {@link IntlDateFormatter::setTimeZone} must be called before with
 *   the objectʼs timezone. Alternatively, the static function {@link
 *   IntlDateFormatter::formatObject} may be used instead.
 * @return string The formatted string or, if an error occurred, FALSE.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function datefmt_format($fmt, $value){}

/**
 * Formats an object
 *
 * This function allows formatting an IntlCalendar or DateTime object
 * without first explicitly creating a IntlDateFormatter object.
 *
 * The temporary IntlDateFormatter that will be created will take the
 * timezone from the passed in object. The timezone database bundled with
 * PHP will not be used – ICU's will be used instead. The timezone
 * identifier used in DateTime objects must therefore also exist in ICU's
 * database.
 *
 * @param object $object An object of type IntlCalendar or DateTime.
 *   The timezone information in the object will be used.
 * @param mixed $format How to format the date/time. This can either be
 *   an array with two elements (first the date style, then the time
 *   style, these being one of the constants IntlDateFormatter::NONE,
 *   IntlDateFormatter::SHORT, IntlDateFormatter::MEDIUM,
 *   IntlDateFormatter::LONG, IntlDateFormatter::FULL), an integer with
 *   the value of one of these constants (in which case it will be used
 *   both for the time and the date) or a string with the format
 *   described in the ICU documentation. If NULL, the default style will
 *   be used.
 * @param string $locale The locale to use, or NULL to use the default
 *   one.
 * @return string A string with result.
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function datefmt_format_object($object, $format, $locale){}

/**
 * Get the calendar type used for the IntlDateFormatter
 *
 * @param IntlDateFormatter $fmt The formatter resource
 * @return int The calendar type being used by the formatter. Either
 *   IntlDateFormatter::TRADITIONAL or IntlDateFormatter::GREGORIAN.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function datefmt_get_calendar($fmt){}

/**
 * Get copy of formatterʼs calendar object
 *
 * Obtain a copy of the calendar object used internally by this
 * formatter. This calendar will have a type (as in gregorian, japanese,
 * buddhist, roc, persian, islamic, etc.) and a timezone that match the
 * type and timezone used by the formatter. The date/time of the object
 * is unspecified.
 *
 * @return IntlCalendar A copy of the internal calendar object used by
 *   this formatter.
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function datefmt_get_calendar_object(){}

/**
 * Get the datetype used for the IntlDateFormatter
 *
 * Returns date type used by the formatter.
 *
 * @param IntlDateFormatter $fmt The formatter resource.
 * @return int The current date type value of the formatter.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function datefmt_get_datetype($fmt){}

/**
 * Get the error code from last operation
 *
 * Get the error code from last operation. Returns error code from the
 * last number formatting operation.
 *
 * @param IntlDateFormatter $fmt The formatter resource.
 * @return int The error code, one of UErrorCode values. Initial value
 *   is U_ZERO_ERROR.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function datefmt_get_error_code($fmt){}

/**
 * Get the error text from the last operation
 *
 * @param IntlDateFormatter $fmt The formatter resource.
 * @return string Description of the last error.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function datefmt_get_error_message($fmt){}

/**
 * Get the locale used by formatter
 *
 * Get locale used by the formatter.
 *
 * @param IntlDateFormatter $fmt The formatter resource
 * @param int $which You can choose between valid and actual locale (
 *   Locale::VALID_LOCALE, Locale::ACTUAL_LOCALE, respectively). The
 *   default is the actual locale.
 * @return string the locale of this formatter or 'false' if error
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function datefmt_get_locale($fmt, $which){}

/**
 * Get the pattern used for the IntlDateFormatter
 *
 * Get pattern used by the formatter.
 *
 * @param IntlDateFormatter $fmt The formatter resource.
 * @return string The pattern string being used to format/parse.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function datefmt_get_pattern($fmt){}

/**
 * Get the timetype used for the IntlDateFormatter
 *
 * Return time type used by the formatter.
 *
 * @param IntlDateFormatter $fmt The formatter resource.
 * @return int The current date type value of the formatter.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function datefmt_get_timetype($fmt){}

/**
 * Get formatterʼs timezone
 *
 * Returns an IntlTimeZone object representing the timezone that will be
 * used by this object to format dates and times. When formatting
 * IntlCalendar and DateTime objects with this IntlDateFormatter, the
 * timezone used will be the one returned by this method, not the one
 * associated with the objects being formatted.
 *
 * @return IntlTimeZone The associated IntlTimeZone object.
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function datefmt_get_timezone(){}

/**
 * Get the timezone-id used for the IntlDateFormatter
 *
 * @param IntlDateFormatter $fmt The formatter resource.
 * @return string ID string for the time zone used by this formatter.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function datefmt_get_timezone_id($fmt){}

/**
 * Get the lenient used for the IntlDateFormatter
 *
 * Check if the parser is strict or lenient in interpreting inputs that
 * do not match the pattern exactly.
 *
 * @param IntlDateFormatter $fmt The formatter resource.
 * @return bool TRUE if parser is lenient, FALSE if parser is strict.
 *   By default the parser is lenient.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function datefmt_is_lenient($fmt){}

/**
 * Parse string to a field-based time value
 *
 * Converts string $value to a field-based time value ( an array of
 * various fields), starting at $parse_pos and consuming as much of the
 * input value as possible.
 *
 * @param IntlDateFormatter $fmt The formatter resource
 * @param string $value string to convert to a time
 * @param int $position Position at which to start the parsing in
 *   $value (zero-based). If no error occurs before $value is consumed,
 *   $parse_pos will contain -1 otherwise it will contain the position at
 *   which parsing ended . If $parse_pos > strlen($value), the parse
 *   fails immediately.
 * @return array Localtime compatible array of integers : contains 24
 *   hour clock value in tm_hour field
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function datefmt_localtime($fmt, $value, &$position){}

/**
 * Parse string to a timestamp value
 *
 * Converts string $value to an incremental time value, starting at
 * $parse_pos and consuming as much of the input value as possible.
 *
 * @param IntlDateFormatter $fmt The formatter resource
 * @param string $value string to convert to a time
 * @param int $position Position at which to start the parsing in
 *   $value (zero-based). If no error occurs before $value is consumed,
 *   $parse_pos will contain -1 otherwise it will contain the position at
 *   which parsing ended (and the error occurred). This variable will
 *   contain the end position if the parse fails. If $parse_pos >
 *   strlen($value), the parse fails immediately.
 * @return int timestamp parsed value, or FALSE if value can't be
 *   parsed.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function datefmt_parse($fmt, $value, &$position){}

/**
 * Sets the calendar type used by the formatter
 *
 * Sets the calendar or calendar type used by the formatter.
 *
 * @param IntlDateFormatter $fmt The formatter resource.
 * @param mixed $which This can either be: the calendar type to use
 *   (default is IntlDateFormatter::GREGORIAN, which is also used if NULL
 *   is specified) or an IntlCalendar object. Any IntlCalendar object
 *   passed in will be cloned; no modifications will be made to the
 *   argument object. The timezone of the formatter will only be kept if
 *   an IntlCalendar object is not passed, otherwise the new timezone
 *   will be that of the passed object.
 * @return bool
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function datefmt_set_calendar($fmt, $which){}

/**
 * Set the leniency of the parser
 *
 * Define if the parser is strict or lenient in interpreting inputs that
 * do not match the pattern exactly. Enabling lenient parsing allows the
 * parser to accept otherwise flawed date or time patterns, parsing as
 * much as possible to obtain a value. Extra space, unrecognized tokens,
 * or invalid values ("February 30th") are not accepted.
 *
 * @param IntlDateFormatter $fmt The formatter resource
 * @param bool $lenient Sets whether the parser is lenient or not,
 *   default is TRUE (lenient).
 * @return bool
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function datefmt_set_lenient($fmt, $lenient){}

/**
 * Set the pattern used for the IntlDateFormatter
 *
 * @param IntlDateFormatter $fmt The formatter resource.
 * @param string $pattern New pattern string to use. Possible patterns
 *   are documented at .
 * @return bool Bad formatstrings are usually the cause of the failure.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function datefmt_set_pattern($fmt, $pattern){}

/**
 * Sets formatterʼs timezone
 *
 * Sets the timezone used for the IntlDateFormatter. object.
 *
 * @param IntlDateFormatter $fmt The formatter resource.
 * @param mixed $zone The timezone to use for this formatter. This can
 *   be specified in the following forms:
 * @return bool Returns TRUE on success and FALSE on failure.
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function datefmt_set_timezone($fmt, $zone){}

/**
 * Sets the time zone to use
 *
 * @param IntlDateFormatter $fmt The formatter resource.
 * @param string $zone The time zone ID string of the time zone to use.
 *   If NULL or the empty string, the default time zone for the runtime
 *   is used.
 * @return bool
 * @since PHP 5 >= 5.3.0, PECL intl >= 1.0.0
 **/
function datefmt_set_timezone_id($fmt, $zone){}

/**
 * Adds an amount of days, months, years, hours, minutes and seconds to a
 * DateTime object
 *
 * Adds the specified DateInterval object to the specified DateTime
 * object.
 *
 * @param DateTime $object A DateInterval object
 * @param DateInterval $interval
 * @return DateTime
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function date_add($object, $interval){}

/**
 * Returns new DateTime object
 *
 * @param string $time Enter "now" here to obtain the current time when
 *   using the {@link $timezone} parameter.
 * @param DateTimeZone $timezone A DateTimeZone object representing the
 *   timezone of {@link $time}. If {@link $timezone} is omitted, the
 *   current timezone will be used.
 * @return DateTime Returns a new DateTime instance.
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function date_create($time, $timezone){}

/**
 * Parses a time string according to a specified format
 *
 * Returns a new DateTime object representing the date and time specified
 * by the {@link time} string, which was formatted in the given {@link
 * format}.
 *
 * @param string $format The format that the passed in string should be
 *   in. See the formatting options below. In most cases, the same
 *   letters as for the {@link date} can be used.
 *   
 *   The following characters are recognized in the {@link format}
 *   parameter string {@link format} character Description Example
 *   parsable values Day --- --- d and j Day of the month, 2 digits with
 *   or without leading zeros 01 to 31 or 1 to 31 D and l A textual
 *   representation of a day Mon through Sun or Sunday through Saturday S
 *   English ordinal suffix for the day of the month, 2 characters. It's
 *   ignored while processing. st, nd, rd or th. z The day of the year
 *   (starting from 0) 0 through 365 Month --- --- F and M A textual
 *   representation of a month, such as January or Sept January through
 *   December or Jan through Dec m and n Numeric representation of a
 *   month, with or without leading zeros 01 through 12 or 1 through 12
 *   Year --- --- Y A full numeric representation of a year, 4 digits
 *   Examples: 1999 or 2003 y A two digit representation of a year (which
 *   is assumed to be in the range 1970-2069, inclusive) Examples: 99 or
 *   03 (which will be interpreted as 1999 and 2003, respectively) Time
 *   --- --- a and A Ante meridiem and Post meridiem am or pm g and h
 *   12-hour format of an hour with or without leading zero 1 through 12
 *   or 01 through 12 G and H 24-hour format of an hour with or without
 *   leading zeros 0 through 23 or 00 through 23 i Minutes with leading
 *   zeros 00 to 59 s Seconds, with leading zeros 00 through 59 u
 *   Microseconds (up to six digits) Example: 45, 654321 Timezone --- ---
 *   e, O, P and T Timezone identifier, or difference to UTC in hours, or
 *   difference to UTC with colon between hours and minutes, or timezone
 *   abbreviation Examples: UTC, GMT, Atlantic/Azores or +0200 or +02:00
 *   or EST, MDT Full Date/Time --- --- U Seconds since the Unix Epoch
 *   (January 1 1970 00:00:00 GMT) Example: 1292177455 Whitespace and
 *   Separators --- --- (space) One space or one tab Example: # One of
 *   the following separation symbol: ;, :, /, ., ,, -, ( or ) Example: /
 *   ;, :, /, ., ,, -, ( or ) The specified character. Example: - ? A
 *   random byte Example: ^ (Be aware that for UTF-8 characters you might
 *   need more than one ?. In this case, using * is probably what you
 *   want instead) * Random bytes until the next separator or digit
 *   Example: * in Y-*-d with the string 2009-aWord-08 will match aWord !
 *   Resets all fields (year, month, day, hour, minute, second, fraction
 *   and timezone information) to the Unix Epoch Without !, all fields
 *   will be set to the current date and time. | Resets all fields (year,
 *   month, day, hour, minute, second, fraction and timezone information)
 *   to the Unix Epoch if they have not been parsed yet Y-m-d| will set
 *   the year, month and day to the information found in the string to
 *   parse, and sets the hour, minute and second to 0. + If this format
 *   specifier is present, trailing data in the string will not cause an
 *   error, but a warning instead Use DateTime::getLastErrors to find out
 *   whether trailing data was present. Unrecognized characters in the
 *   format string will cause the parsing to fail and an error message is
 *   appended to the returned structure. You can query error messages
 *   with DateTime::getLastErrors. To include literal characters in
 *   {@link format}, you have to escape them with a backslash (\). If
 *   {@link format} does not contain the character ! then portions of the
 *   generated time which are not specified in {@link format} will be set
 *   to the current system time. If {@link format} contains the character
 *   !, then portions of the generated time not provided in {@link
 *   format}, as well as values to the left-hand side of the !, will be
 *   set to corresponding values from the Unix epoch. The Unix epoch is
 *   1970-01-01 00:00:00 UTC.
 * @param string $time String representing the time.
 * @param DateTimeZone $timezone A DateTimeZone object representing the
 *   desired time zone. If {@link timezone} is omitted and {@link time}
 *   contains no timezone, the current timezone will be used.
 * @return DateTime Returns a new DateTime instance.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function date_create_from_format($format, $time, $timezone){}

/**
 * Returns new DateTimeImmutable object
 *
 * Like DateTime::__construct but works with DateTimeImmutable.
 *
 * @param string $time
 * @param DateTimeZone $timezone
 * @return DateTimeImmutable
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function date_create_immutable($time, $timezone){}

/**
 * Parses a time string according to a specified format
 *
 * Like DateTime::createFromFormat but works with DateTimeImmutable.
 *
 * @param string $format
 * @param string $time
 * @param DateTimeZone $timezone
 * @return DateTimeImmutable
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function date_create_immutable_from_format($format, $time, $timezone){}

/**
 * Sets the date
 *
 * Resets the current date of the DateTime object to a different date.
 *
 * @param DateTime $object Year of the date.
 * @param int $year Month of the date.
 * @param int $month Day of the date.
 * @param int $day
 * @return DateTime
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function date_date_set($object, $year, $month, $day){}

/**
 * Gets the default timezone used by all date/time functions in a script
 *
 * In order of preference, this function returns the default timezone by:
 * Reading the timezone set using the {@link date_default_timezone_set}
 * function (if any) Prior to PHP 5.4.0 only: Reading the TZ environment
 * variable (if non empty) Reading the value of the date.timezone ini
 * option (if set) Prior to PHP 5.4.0 only: Querying the host operating
 * system (if supported and allowed by the OS). This uses an algorithm
 * that has to guess the timezone. This is by no means going to work
 * correctly for every situation. A warning is shown when this stage is
 * reached. Do not rely on it to be guessed correctly, and set
 * date.timezone to the correct timezone instead.
 *
 * If none of the above succeed, date_default_timezone_get will return a
 * default timezone of UTC.
 *
 * @return string Returns a string.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function date_default_timezone_get(){}

/**
 * Sets the default timezone used by all date/time functions in a script
 *
 * {@link date_default_timezone_set} sets the default timezone used by
 * all date/time functions.
 *
 * Instead of using this function to set the default timezone in your
 * script, you can also use the INI setting date.timezone to set the
 * default timezone.
 *
 * @param string $timezone_identifier The timezone identifier, like UTC
 *   or Europe/Lisbon. The list of valid identifiers is available in the
 *   .
 * @return bool This function returns FALSE if the {@link
 *   timezone_identifier} isn't valid, or TRUE otherwise.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function date_default_timezone_set($timezone_identifier){}

/**
 * Returns the difference between two DateTime objects
 *
 * Returns the difference between two DateTimeInterface objects.
 *
 * @param DateTimeInterface $datetime1 The date to compare to.
 * @param DateTimeInterface $datetime2 Should the interval be forced to
 *   be positive?
 * @param bool $absolute
 * @return DateInterval The DateInterval object representing the
 *   difference between the two dates.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function date_diff($datetime1, $datetime2, $absolute){}

/**
 * Returns date formatted according to given format
 *
 * @param DateTimeInterface $object Format accepted by {@link date}.
 * @param string $format
 * @return string Returns the formatted date string on success.
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function date_format($object, $format){}

/**
 * Returns the warnings and errors
 *
 * Returns an array of warnings and errors found while parsing a
 * date/time string.
 *
 * @return array Returns array containing info about warnings and
 *   errors.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function date_get_last_errors(){}

/**
 * Sets the ISO date
 *
 * Set a date according to the ISO 8601 standard - using weeks and day
 * offsets rather than specific dates.
 *
 * @param DateTime $object Year of the date.
 * @param int $year Week of the date.
 * @param int $week Offset from the first day of the week.
 * @param int $day
 * @return DateTime
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function date_isodate_set($object, $year, $week, $day){}

/**
 * Alters the timestamp
 *
 * Alter the timestamp of a DateTime object by incrementing or
 * decrementing in a format accepted by {@link strtotime}.
 *
 * @param DateTime $object
 * @param string $modify
 * @return DateTime
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function date_modify($object, $modify){}

/**
 * Returns the timezone offset
 *
 * @param DateTimeInterface $object
 * @return int Returns the timezone offset in seconds from UTC on
 *   success .
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function date_offset_get($object){}

/**
 * Returns associative array with detailed info about given date
 *
 * @param string $date Date in format accepted by {@link strtotime}.
 * @return array Returns array with information about the parsed date
 *   on success.
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function date_parse($date){}

/**
 * Get info about given date formatted according to the specified format
 *
 * Returns associative array with detailed info about given date.
 *
 * @param string $format Format accepted by {@link
 *   DateTime::createFromFormat}.
 * @param string $date String representing the date.
 * @return array Returns associative array with detailed info about
 *   given date.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function date_parse_from_format($format, $date){}

/**
 * Subtracts an amount of days, months, years, hours, minutes and seconds
 * from a DateTime object
 *
 * Subtracts the specified DateInterval object from the specified
 * DateTime object.
 *
 * @param DateTime $object A DateInterval object
 * @param DateInterval $interval
 * @return DateTime
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function date_sub($object, $interval){}

/**
 * Returns time of sunrise for a given day and location
 *
 * {@link date_sunrise} returns the sunrise time for a given day
 * (specified as a {@link timestamp}) and location.
 *
 * @param int $timestamp The {@link timestamp} of the day from which
 *   the sunrise time is taken.
 * @param int $format {@link format} constants constant description
 *   example SUNFUNCS_RET_STRING returns the result as string 16:46
 *   SUNFUNCS_RET_DOUBLE returns the result as float 16.78243132
 *   SUNFUNCS_RET_TIMESTAMP returns the result as integer (timestamp)
 *   1095034606
 * @param float $latitude Defaults to North, pass in a negative value
 *   for South. See also: date.default_latitude
 * @param float $longitude Defaults to East, pass in a negative value
 *   for West. See also: date.default_longitude
 * @param float $zenith {@link zenith} is the angle between the center
 *   of the sun and a line perpendicular to earth's surface. It defaults
 *   to date.sunrise_zenith Common {@link zenith} angles Angle
 *   Description 90°50' Sunrise: the point where the sun becomes
 *   visible. 96° Civil twilight: conventionally used to signify the
 *   start of dawn. 102° Nautical twilight: the point at which the
 *   horizon starts being visible at sea. 108° Astronomical twilight:
 *   the point at which the sun starts being the source of any
 *   illumination.
 * @param float $gmt_offset Specified in hours. The {@link gmtoffset}
 *   is ignored, if {@link format} is SUNFUNCS_RET_TIMESTAMP.
 * @return mixed Returns the sunrise time in a specified {@link format}
 *   on success. One potential reason for failure is that the sun does
 *   not rise at all, which happens inside the polar circles for part of
 *   the year.
 * @since PHP 5, PHP 7
 **/
function date_sunrise($timestamp, $format, $latitude, $longitude, $zenith, $gmt_offset){}

/**
 * Returns time of sunset for a given day and location
 *
 * {@link date_sunset} returns the sunset time for a given day (specified
 * as a {@link timestamp}) and location.
 *
 * @param int $timestamp The {@link timestamp} of the day from which
 *   the sunset time is taken.
 * @param int $format {@link format} constants constant description
 *   example SUNFUNCS_RET_STRING returns the result as string 16:46
 *   SUNFUNCS_RET_DOUBLE returns the result as float 16.78243132
 *   SUNFUNCS_RET_TIMESTAMP returns the result as integer (timestamp)
 *   1095034606
 * @param float $latitude Defaults to North, pass in a negative value
 *   for South. See also: date.default_latitude
 * @param float $longitude Defaults to East, pass in a negative value
 *   for West. See also: date.default_longitude
 * @param float $zenith {@link zenith} is the angle between the center
 *   of the sun and a line perpendicular to earth's surface. It defaults
 *   to date.sunset_zenith Common {@link zenith} angles Angle Description
 *   90°50' Sunset: the point where the sun becomes invisible. 96°
 *   Civil twilight: conventionally used to signify the end of dusk.
 *   102° Nautical twilight: the point at which the horizon ends being
 *   visible at sea. 108° Astronomical twilight: the point at which the
 *   sun ends being the source of any illumination.
 * @param float $gmt_offset Specified in hours. The {@link gmtoffset}
 *   is ignored, if {@link format} is SUNFUNCS_RET_TIMESTAMP.
 * @return mixed Returns the sunset time in a specified {@link format}
 *   on success. One potential reason for failure is that the sun does
 *   not set at all, which happens inside the polar circles for part of
 *   the year.
 * @since PHP 5, PHP 7
 **/
function date_sunset($timestamp, $format, $latitude, $longitude, $zenith, $gmt_offset){}

/**
 * Returns an array with information about sunset/sunrise and twilight
 * begin/end
 *
 * @param int $time Timestamp.
 * @param float $latitude Latitude in degrees.
 * @param float $longitude Longitude in degrees.
 * @return array Returns array on success. The structure of the array
 *   is detailed in the following list:
 * @since PHP 5 >= 5.1.2, PHP 7
 **/
function date_sun_info($time, $latitude, $longitude){}

/**
 * Gets the Unix timestamp
 *
 * @param DateTimeInterface $object
 * @return int Returns the Unix timestamp representing the date.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function date_timestamp_get($object){}

/**
 * Sets the date and time based on an Unix timestamp
 *
 * @param DateTime $object Unix timestamp representing the date.
 * @param int $unixtimestamp
 * @return DateTime
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function date_timestamp_set($object, $unixtimestamp){}

/**
 * Return time zone relative to given DateTime
 *
 * @param DateTimeInterface $object
 * @return DateTimeZone Returns a DateTimeZone object on success .
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function date_timezone_get($object){}

/**
 * Sets the time zone for the DateTime object
 *
 * Sets a new timezone for a DateTime object.
 *
 * @param DateTime $object A DateTimeZone object representing the
 *   desired time zone.
 * @param DateTimeZone $timezone
 * @return DateTime
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function date_timezone_set($object, $timezone){}

/**
 * Sets the time
 *
 * Resets the current time of the DateTime object to a different time.
 *
 * @param DateTime $object Hour of the time.
 * @param int $hour Minute of the time.
 * @param int $minute Second of the time.
 * @param int $second Microsecond of the time.
 * @param int $microseconds
 * @return DateTime
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function date_time_set($object, $hour, $minute, $second, $microseconds){}

/**
 * Returns or sets the AUTOCOMMIT state for a database connection
 *
 * Sets or gets the AUTOCOMMIT behavior of the specified connection
 * resource.
 *
 * @param resource $connection A valid database connection resource
 *   variable as returned from {@link db2_connect} or {@link
 *   db2_pconnect}.
 * @param bool $value One of the following constants:
 *   DB2_AUTOCOMMIT_OFF Turns AUTOCOMMIT off. DB2_AUTOCOMMIT_ON Turns
 *   AUTOCOMMIT on.
 * @return mixed When {@link db2_autocommit} receives only the {@link
 *   connection} parameter, it returns the current state of AUTOCOMMIT
 *   for the requested connection as an integer value. A value of 0
 *   indicates that AUTOCOMMIT is off, while a value of 1 indicates that
 *   AUTOCOMMIT is on.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_autocommit($connection, $value){}

/**
 * Binds a PHP variable to an SQL statement parameter
 *
 * Binds a PHP variable to an SQL statement parameter in a statement
 * resource returned by {@link db2_prepare}. This function gives you more
 * control over the parameter type, data type, precision, and scale for
 * the parameter than simply passing the variable as part of the optional
 * input array to {@link db2_execute}.
 *
 * @param resource $stmt A prepared statement returned from {@link
 *   db2_prepare}.
 * @param int $parameternumber Specifies the 1-indexed position of the
 *   parameter in the prepared statement.
 * @param string $variablename A string specifying the name of the PHP
 *   variable to bind to the parameter specified by {@link
 *   parameter-number}.
 * @param int $parametertype A constant specifying whether the PHP
 *   variable should be bound to the SQL parameter as an input parameter
 *   (DB2_PARAM_IN), an output parameter (DB2_PARAM_OUT), or as a
 *   parameter that accepts input and returns output (DB2_PARAM_INOUT).
 *   To avoid memory overhead, you can also specify DB2_PARAM_FILE to
 *   bind the PHP variable to the name of a file that contains large
 *   object (BLOB, CLOB, or DBCLOB) data.
 * @param int $datatype A constant specifying the SQL data type that
 *   the PHP variable should be bound as: one of DB2_BINARY, DB2_CHAR,
 *   DB2_DOUBLE, or DB2_LONG .
 * @param int $precision Specifies the precision with which the
 *   variable should be bound to the database. This parameter can also be
 *   used for retrieving XML output values from stored procedures. A
 *   non-negative value specifies the maximum size of the XML data that
 *   will be retrieved from the database. If this parameter is not used,
 *   a default of 1MB will be assumed for retrieving the XML output value
 *   from the stored procedure.
 * @param int $scale Specifies the scale with which the variable should
 *   be bound to the database.
 * @return bool
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_bind_param($stmt, $parameternumber, $variablename, $parametertype, $datatype, $precision, $scale){}

/**
 * Returns an object with properties that describe the DB2 database
 * client
 *
 * This function returns an object with read-only properties that return
 * information about the DB2 database client. The following table lists
 * the DB2 client properties: DB2 client properties Property name Return
 * type Description APPL_CODEPAGE int The application code page.
 * CONN_CODEPAGE int The code page for the current connection.
 * DATA_SOURCE_NAME string The data source name (DSN) used to create the
 * current connection to the database. DRIVER_NAME string The name of the
 * library that implements the DB2 Call Level Interface (CLI)
 * specification. DRIVER_ODBC_VER string The version of ODBC that the DB2
 * client supports. This returns a string "MM.mm" where MM is the major
 * version and mm is the minor version. The DB2 client always returns
 * "03.51". DRIVER_VER string The version of the client, in the form of a
 * string "MM.mm.uuuu" where MM is the major version, mm is the minor
 * version, and uuuu is the update. For example, "08.02.0001" represents
 * major version 8, minor version 2, update 1. ODBC_SQL_CONFORMANCE
 * string The level of ODBC SQL grammar supported by the client: MINIMUM
 * Supports the minimum ODBC SQL grammar. CORE Supports the core ODBC SQL
 * grammar. EXTENDED Supports extended ODBC SQL grammar. ODBC_VER string
 * The version of ODBC that the ODBC driver manager supports. This
 * returns a string "MM.mm.rrrr" where MM is the major version, mm is the
 * minor version, and rrrr is the release. The DB2 client always returns
 * "03.01.0000".
 *
 * @param resource $connection Specifies an active DB2 client
 *   connection.
 * @return object Returns an object on a successful call. Returns FALSE
 *   on failure.
 * @since PECL ibm_db2 >= 1.1.1
 **/
function db2_client_info($connection){}

/**
 * Closes a database connection
 *
 * This function closes a DB2 client connection created with {@link
 * db2_connect} and returns the corresponding resources to the database
 * server.
 *
 * If you attempt to close a persistent DB2 client connection created
 * with {@link db2_pconnect}, the close request is ignored and the
 * persistent DB2 client connection remains available for the next
 * caller.
 *
 * @param resource $connection Specifies an active DB2 client
 *   connection.
 * @return bool
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_close($connection){}

/**
 * Returns a result set listing the columns and associated metadata for a
 * table
 *
 * Returns a result set listing the columns and associated metadata for a
 * table.
 *
 * @param resource $connection A valid connection to an IBM DB2,
 *   Cloudscape, or Apache Derby database.
 * @param string $qualifier A qualifier for DB2 databases running on
 *   OS/390 or z/OS servers. For other databases, pass NULL or an empty
 *   string.
 * @param string $schema The schema which contains the tables. To match
 *   all schemas, pass '%'.
 * @param string $tablename The name of the table or view. To match all
 *   tables in the database, pass NULL or an empty string.
 * @param string $columnname The name of the column. To match all
 *   columns in the table, pass NULL or an empty string.
 * @return resource Returns a statement resource with a result set
 *   containing rows describing the columns matching the specified
 *   parameters. The rows are composed of the following columns: Column
 *   name Description TABLE_CAT Name of the catalog. The value is NULL if
 *   this table does not have catalogs. TABLE_SCHEM Name of the schema.
 *   TABLE_NAME Name of the table or view. COLUMN_NAME Name of the
 *   column. DATA_TYPE The SQL data type for the column represented as an
 *   integer value. TYPE_NAME A string representing the data type for the
 *   column. COLUMN_SIZE An integer value representing the size of the
 *   column. BUFFER_LENGTH Maximum number of bytes necessary to store
 *   data from this column. DECIMAL_DIGITS The scale of the column, or
 *   NULL where scale is not applicable. NUM_PREC_RADIX An integer value
 *   of either 10 (representing an exact numeric data type), 2
 *   (representing an approximate numeric data type), or NULL
 *   (representing a data type for which radix is not applicable).
 *   NULLABLE An integer value representing whether the column is
 *   nullable or not. REMARKS Description of the column. COLUMN_DEF
 *   Default value for the column. SQL_DATA_TYPE An integer value
 *   representing the size of the column. SQL_DATETIME_SUB Returns an
 *   integer value representing a datetime subtype code, or NULL for SQL
 *   data types to which this does not apply. CHAR_OCTET_LENGTH Maximum
 *   length in octets for a character data type column, which matches
 *   COLUMN_SIZE for single-byte character set data, or NULL for
 *   non-character data types. ORDINAL_POSITION The 1-indexed position of
 *   the column in the table. IS_NULLABLE A string value where 'YES'
 *   means that the column is nullable and 'NO' means that the column is
 *   not nullable.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_columns($connection, $qualifier, $schema, $tablename, $columnname){}

/**
 * Returns a result set listing the columns and associated privileges for
 * a table
 *
 * Returns a result set listing the columns and associated privileges for
 * a table.
 *
 * @param resource $connection A valid connection to an IBM DB2,
 *   Cloudscape, or Apache Derby database.
 * @param string $qualifier A qualifier for DB2 databases running on
 *   OS/390 or z/OS servers. For other databases, pass NULL or an empty
 *   string.
 * @param string $schema The schema which contains the tables. To match
 *   all schemas, pass NULL or an empty string.
 * @param string $tablename The name of the table or view. To match all
 *   tables in the database, pass NULL or an empty string.
 * @param string $columnname The name of the column. To match all
 *   columns in the table, pass NULL or an empty string.
 * @return resource Returns a statement resource with a result set
 *   containing rows describing the column privileges for columns
 *   matching the specified parameters. The rows are composed of the
 *   following columns: Column name Description TABLE_CAT Name of the
 *   catalog. The value is NULL if this table does not have catalogs.
 *   TABLE_SCHEM Name of the schema. TABLE_NAME Name of the table or
 *   view. COLUMN_NAME Name of the column. GRANTOR Authorization ID of
 *   the user who granted the privilege. GRANTEE Authorization ID of the
 *   user to whom the privilege was granted. PRIVILEGE The privilege for
 *   the column. IS_GRANTABLE Whether the GRANTEE is permitted to grant
 *   this privilege to other users.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_column_privileges($connection, $qualifier, $schema, $tablename, $columnname){}

/**
 * Commits a transaction
 *
 * Commits an in-progress transaction on the specified connection
 * resource and begins a new transaction. PHP applications normally
 * default to AUTOCOMMIT mode, so {@link db2_commit} is not necessary
 * unless AUTOCOMMIT has been turned off for the connection resource.
 *
 * @param resource $connection A valid database connection resource
 *   variable as returned from {@link db2_connect} or {@link
 *   db2_pconnect}.
 * @return bool
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_commit($connection){}

/**
 * Returns a connection to a database
 *
 * Creates a new connection to an IBM DB2 Universal Database, IBM
 * Cloudscape, or Apache Derby database.
 *
 * @param string $database For a cataloged connection to a database,
 *   {@link database} represents the database alias in the DB2 client
 *   catalog. For an uncataloged connection to a database, {@link
 *   database} represents a complete connection string in the following
 *   format: DATABASE={@link database};HOSTNAME={@link
 *   hostname};PORT={@link port};PROTOCOL=TCPIP;UID={@link
 *   username};PWD={@link password}; where the parameters represent the
 *   following values: {@link database} The name of the database. {@link
 *   hostname} The hostname or IP address of the database server. {@link
 *   port} The TCP/IP port on which the database is listening for
 *   requests. {@link username} The username with which you are
 *   connecting to the database. {@link password} The password with which
 *   you are connecting to the database.
 * @param string $username The name of the database.
 * @param string $password The hostname or IP address of the database
 *   server.
 * @param array $options The TCP/IP port on which the database is
 *   listening for requests.
 * @return resource Returns a connection handle resource if the
 *   connection attempt is successful. If the connection attempt fails,
 *   {@link db2_connect} returns FALSE.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_connect($database, $username, $password, $options){}

/**
 * Returns a string containing the SQLSTATE returned by the last
 * connection attempt
 *
 * {@link db2_conn_error} returns an SQLSTATE value representing the
 * reason the last attempt to connect to a database failed. As {@link
 * db2_connect} returns FALSE in the event of a failed connection
 * attempt, you do not pass any parameters to {@link db2_conn_error} to
 * retrieve the SQLSTATE value.
 *
 * If, however, the connection was successful but becomes invalid over
 * time, you can pass the {@link connection} parameter to retrieve the
 * SQLSTATE value for a specific connection.
 *
 * To learn what the SQLSTATE value means, you can issue the following
 * command at a DB2 Command Line Processor prompt: db2 '? {@link
 * sqlstate-value}'. You can also call {@link db2_conn_errormsg} to
 * retrieve an explicit error message and the associated SQLCODE value.
 *
 * @param resource $connection A connection resource associated with a
 *   connection that initially succeeded, but which over time became
 *   invalid.
 * @return string Returns the SQLSTATE value resulting from a failed
 *   connection attempt. Returns an empty string if there is no error
 *   associated with the last connection attempt.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_conn_error($connection){}

/**
 * Returns the last connection error message and SQLCODE value
 *
 * {@link db2_conn_errormsg} returns an error message and SQLCODE value
 * representing the reason the last database connection attempt failed.
 * As {@link db2_connect} returns FALSE in the event of a failed
 * connection attempt, do not pass any parameters to {@link
 * db2_conn_errormsg} to retrieve the associated error message and
 * SQLCODE value.
 *
 * If, however, the connection was successful but becomes invalid over
 * time, you can pass the {@link connection} parameter to retrieve the
 * associated error message and SQLCODE value for a specific connection.
 *
 * @param resource $connection A connection resource associated with a
 *   connection that initially succeeded, but which over time became
 *   invalid.
 * @return string Returns a string containing the error message and
 *   SQLCODE value resulting from a failed connection attempt. If there
 *   is no error associated with the last connection attempt, {@link
 *   db2_conn_errormsg} returns an empty string.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_conn_errormsg($connection){}

/**
 * Returns the cursor type used by a statement resource
 *
 * Returns the cursor type used by a statement resource. Use this to
 * determine if you are working with a forward-only cursor or scrollable
 * cursor.
 *
 * @param resource $stmt A valid statement resource.
 * @return int Returns either DB2_FORWARD_ONLY if the statement
 *   resource uses a forward-only cursor or DB2_SCROLLABLE if the
 *   statement resource uses a scrollable cursor.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_cursor_type($stmt){}

/**
 * Used to escape certain characters
 *
 * Prepends backslashes to special characters in the string argument.
 *
 * @param string $string_literal The string that contains special
 *   characters that need to be modified. Characters that are prepended
 *   with a backslash are \x00, \n, \r, \, ', " and \x1a.
 * @return string Returns {@link string_literal} with the special
 *   characters noted above prepended with backslashes.
 * @since PECL ibm_db2 >= 1.6.0
 **/
function db2_escape_string($string_literal){}

/**
 * Executes an SQL statement directly
 *
 * Executes an SQL statement directly.
 *
 * If you plan to interpolate PHP variables into the SQL statement,
 * understand that this is one of the more common security exposures.
 * Consider calling {@link db2_prepare} to prepare an SQL statement with
 * parameter markers for input values. Then you can call {@link
 * db2_execute} to pass in the input values and avoid SQL injection
 * attacks.
 *
 * If you plan to repeatedly issue the same SQL statement with different
 * parameters, consider calling {@link db2_prepare} and {@link
 * db2_execute} to enable the database server to reuse its access plan
 * and increase the efficiency of your database access.
 *
 * @param resource $connection A valid database connection resource
 *   variable as returned from {@link db2_connect} or {@link
 *   db2_pconnect}.
 * @param string $statement An SQL statement. The statement cannot
 *   contain any parameter markers.
 * @param array $options An associative array containing statement
 *   options. You can use this parameter to request a scrollable cursor
 *   on database servers that support this functionality. For a
 *   description of valid statement options, see {@link db2_set_option}.
 * @return resource Returns a statement resource if the SQL statement
 *   was issued successfully, or FALSE if the database failed to execute
 *   the SQL statement.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_exec($connection, $statement, $options){}

/**
 * Executes a prepared SQL statement
 *
 * {@link db2_execute} executes an SQL statement that was prepared by
 * {@link db2_prepare}.
 *
 * If the SQL statement returns a result set, for example, a SELECT
 * statement or a CALL to a stored procedure that returns one or more
 * result sets, you can retrieve a row as an array from the stmt resource
 * using {@link db2_fetch_assoc}, {@link db2_fetch_both}, or {@link
 * db2_fetch_array}. Alternatively, you can use {@link db2_fetch_row} to
 * move the result set pointer to the next row and fetch a column at a
 * time from that row with {@link db2_result}.
 *
 * Refer to {@link db2_prepare} for a brief discussion of the advantages
 * of using {@link db2_prepare} and {@link db2_execute} rather than
 * {@link db2_exec}.
 *
 * @param resource $stmt A prepared statement returned from {@link
 *   db2_prepare}.
 * @param array $parameters An array of input parameters matching any
 *   parameter markers contained in the prepared statement.
 * @return bool
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_execute($stmt, $parameters){}

/**
 * Returns an array, indexed by column position, representing a row in a
 * result set
 *
 * Returns an array, indexed by column position, representing a row in a
 * result set. The columns are 0-indexed.
 *
 * @param resource $stmt A valid stmt resource containing a result set.
 * @param int $row_number Requests a specific 1-indexed row from the
 *   result set. Passing this parameter results in a PHP warning if the
 *   result set uses a forward-only cursor.
 * @return array Returns a 0-indexed array with column values indexed
 *   by the column position representing the next or requested row in the
 *   result set. Returns FALSE if there are no rows left in the result
 *   set, or if the row requested by {@link row_number} does not exist in
 *   the result set.
 * @since PECL ibm_db2 >= 1.0.1
 **/
function db2_fetch_array($stmt, $row_number){}

/**
 * Returns an array, indexed by column name, representing a row in a
 * result set
 *
 * Returns an array, indexed by column name, representing a row in a
 * result set.
 *
 * @param resource $stmt A valid stmt resource containing a result set.
 * @param int $row_number Requests a specific 1-indexed row from the
 *   result set. Passing this parameter results in a PHP warning if the
 *   result set uses a forward-only cursor.
 * @return array Returns an associative array with column values
 *   indexed by the column name representing the next or requested row in
 *   the result set. Returns FALSE if there are no rows left in the
 *   result set, or if the row requested by {@link row_number} does not
 *   exist in the result set.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_fetch_assoc($stmt, $row_number){}

/**
 * Returns an array, indexed by both column name and position,
 * representing a row in a result set
 *
 * Returns an array, indexed by both column name and position,
 * representing a row in a result set. Note that the row returned by
 * {@link db2_fetch_both} requires more memory than the single-indexed
 * arrays returned by {@link db2_fetch_assoc} or {@link db2_fetch_array}.
 *
 * @param resource $stmt A valid stmt resource containing a result set.
 * @param int $row_number Requests a specific 1-indexed row from the
 *   result set. Passing this parameter results in a PHP warning if the
 *   result set uses a forward-only cursor.
 * @return array Returns an associative array with column values
 *   indexed by both the column name and 0-indexed column number. The
 *   array represents the next or requested row in the result set.
 *   Returns FALSE if there are no rows left in the result set, or if the
 *   row requested by {@link row_number} does not exist in the result
 *   set.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_fetch_both($stmt, $row_number){}

/**
 * Returns an object with properties representing columns in the fetched
 * row
 *
 * Returns an object in which each property represents a column returned
 * in the row fetched from a result set.
 *
 * @param resource $stmt A valid stmt resource containing a result set.
 * @param int $row_number Requests a specific 1-indexed row from the
 *   result set. Passing this parameter results in a PHP warning if the
 *   result set uses a forward-only cursor.
 * @return object Returns an object representing a single row in the
 *   result set. The properties of the object map to the names of the
 *   columns in the result set.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_fetch_object($stmt, $row_number){}

/**
 * Sets the result set pointer to the next row or requested row
 *
 * Use {@link db2_fetch_row} to iterate through a result set, or to point
 * to a specific row in a result set if you requested a scrollable
 * cursor.
 *
 * To retrieve individual fields from the result set, call the {@link
 * db2_result} function.
 *
 * Rather than calling {@link db2_fetch_row} and {@link db2_result}, most
 * applications will call one of {@link db2_fetch_assoc}, {@link
 * db2_fetch_both}, or {@link db2_fetch_array} to advance the result set
 * pointer and return a complete row as an array.
 *
 * @param resource $stmt A valid stmt resource.
 * @param int $row_number With scrollable cursors, you can request a
 *   specific row number in the result set. Row numbering is 1-indexed.
 * @return bool Returns TRUE if the requested row exists in the result
 *   set. Returns FALSE if the requested row does not exist in the result
 *   set.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_fetch_row($stmt, $row_number){}

/**
 * Returns the maximum number of bytes required to display a column
 *
 * Returns the maximum number of bytes required to display a column in a
 * result set.
 *
 * @param resource $stmt Specifies a statement resource containing a
 *   result set.
 * @param mixed $column Specifies the column in the result set. This
 *   can either be an integer representing the 0-indexed position of the
 *   column, or a string containing the name of the column.
 * @return int Returns an integer value with the maximum number of
 *   bytes required to display the specified column. If the column does
 *   not exist in the result set, {@link db2_field_display_size} returns
 *   FALSE.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_field_display_size($stmt, $column){}

/**
 * Returns the name of the column in the result set
 *
 * Returns the name of the specified column in the result set.
 *
 * @param resource $stmt Specifies a statement resource containing a
 *   result set.
 * @param mixed $column Specifies the column in the result set. This
 *   can either be an integer representing the 0-indexed position of the
 *   column, or a string containing the name of the column.
 * @return string Returns a string containing the name of the specified
 *   column. If the specified column does not exist in the result set,
 *   {@link db2_field_name} returns FALSE.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_field_name($stmt, $column){}

/**
 * Returns the position of the named column in a result set
 *
 * Returns the position of the named column in a result set.
 *
 * @param resource $stmt Specifies a statement resource containing a
 *   result set.
 * @param mixed $column Specifies the column in the result set. This
 *   can either be an integer representing the 0-indexed position of the
 *   column, or a string containing the name of the column.
 * @return int Returns an integer containing the 0-indexed position of
 *   the named column in the result set. If the specified column does not
 *   exist in the result set, {@link db2_field_num} returns FALSE.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_field_num($stmt, $column){}

/**
 * Returns the precision of the indicated column in a result set
 *
 * Returns the precision of the indicated column in a result set.
 *
 * @param resource $stmt Specifies a statement resource containing a
 *   result set.
 * @param mixed $column Specifies the column in the result set. This
 *   can either be an integer representing the 0-indexed position of the
 *   column, or a string containing the name of the column.
 * @return int Returns an integer containing the precision of the
 *   specified column. If the specified column does not exist in the
 *   result set, {@link db2_field_precision} returns FALSE.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_field_precision($stmt, $column){}

/**
 * Returns the scale of the indicated column in a result set
 *
 * Returns the scale of the indicated column in a result set.
 *
 * @param resource $stmt Specifies a statement resource containing a
 *   result set.
 * @param mixed $column Specifies the column in the result set. This
 *   can either be an integer representing the 0-indexed position of the
 *   column, or a string containing the name of the column.
 * @return int Returns an integer containing the scale of the specified
 *   column. If the specified column does not exist in the result set,
 *   {@link db2_field_scale} returns FALSE.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_field_scale($stmt, $column){}

/**
 * Returns the data type of the indicated column in a result set
 *
 * Returns the data type of the indicated column in a result set.
 *
 * @param resource $stmt Specifies a statement resource containing a
 *   result set.
 * @param mixed $column Specifies the column in the result set. This
 *   can either be an integer representing the 0-indexed position of the
 *   column, or a string containing the name of the column.
 * @return string Returns a string containing the defined data type of
 *   the specified column. If the specified column does not exist in the
 *   result set, {@link db2_field_type} returns FALSE.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_field_type($stmt, $column){}

/**
 * Returns the width of the current value of the indicated column in a
 * result set
 *
 * Returns the width of the current value of the indicated column in a
 * result set. This is the maximum width of the column for a fixed-length
 * data type, or the actual width of the column for a variable-length
 * data type.
 *
 * @param resource $stmt Specifies a statement resource containing a
 *   result set.
 * @param mixed $column Specifies the column in the result set. This
 *   can either be an integer representing the 0-indexed position of the
 *   column, or a string containing the name of the column.
 * @return int Returns an integer containing the width of the specified
 *   character or binary data type column in a result set. If the
 *   specified column does not exist in the result set, {@link
 *   db2_field_width} returns FALSE.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_field_width($stmt, $column){}

/**
 * Returns a result set listing the foreign keys for a table
 *
 * Returns a result set listing the foreign keys for a table.
 *
 * @param resource $connection A valid connection to an IBM DB2,
 *   Cloudscape, or Apache Derby database.
 * @param string $qualifier A qualifier for DB2 databases running on
 *   OS/390 or z/OS servers. For other databases, pass NULL or an empty
 *   string.
 * @param string $schema The schema which contains the tables. If
 *   {@link schema} is NULL, {@link db2_foreign_keys} matches the schema
 *   for the current connection.
 * @param string $tablename The name of the table.
 * @return resource Returns a statement resource with a result set
 *   containing rows describing the foreign keys for the specified table.
 *   The result set is composed of the following columns: Column name
 *   Description PKTABLE_CAT Name of the catalog for the table containing
 *   the primary key. The value is NULL if this table does not have
 *   catalogs. PKTABLE_SCHEM Name of the schema for the table containing
 *   the primary key. PKTABLE_NAME Name of the table containing the
 *   primary key. PKCOLUMN_NAME Name of the column containing the primary
 *   key. FKTABLE_CAT Name of the catalog for the table containing the
 *   foreign key. The value is NULL if this table does not have catalogs.
 *   FKTABLE_SCHEM Name of the schema for the table containing the
 *   foreign key. FKTABLE_NAME Name of the table containing the foreign
 *   key. FKCOLUMN_NAME Name of the column containing the foreign key.
 *   KEY_SEQ 1-indexed position of the column in the key. UPDATE_RULE
 *   Integer value representing the action applied to the foreign key
 *   when the SQL operation is UPDATE. DELETE_RULE Integer value
 *   representing the action applied to the foreign key when the SQL
 *   operation is DELETE. FK_NAME The name of the foreign key. PK_NAME
 *   The name of the primary key. DEFERRABILITY An integer value
 *   representing whether the foreign key deferrability is
 *   SQL_INITIALLY_DEFERRED, SQL_INITIALLY_IMMEDIATE, or
 *   SQL_NOT_DEFERRABLE.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_foreign_keys($connection, $qualifier, $schema, $tablename){}

/**
 * Frees resources associated with a result set
 *
 * Frees the system and database resources that are associated with a
 * result set. These resources are freed implicitly when a script
 * finishes, but you can call {@link db2_free_result} to explicitly free
 * the result set resources before the end of the script.
 *
 * @param resource $stmt A valid statement resource.
 * @return bool
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_free_result($stmt){}

/**
 * Frees resources associated with the indicated statement resource
 *
 * Frees the system and database resources that are associated with a
 * statement resource. These resources are freed implicitly when a script
 * finishes, but you can call {@link db2_free_stmt} to explicitly free
 * the statement resources before the end of the script.
 *
 * @param resource $stmt A valid statement resource.
 * @return bool
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_free_stmt($stmt){}

/**
 * Retrieves an option value for a statement resource or a connection
 * resource
 *
 * Retrieves the value of a specified option value for a statement
 * resource or a connection resource.
 *
 * @param resource $resource A valid statement resource as returned
 *   from {@link db2_prepare} or a valid connection resource as returned
 *   from {@link db2_connect} or {@link db2_pconnect}.
 * @param string $option A valid statement or connection options. The
 *   following new options are available as of ibm_db2 version 1.6.0.
 *   They provide useful tracking information that can be set during
 *   execution with {@link db2_get_option}. Prior versions of ibm_db2 do
 *   not support these new options. When the value in each option is
 *   being set, some servers might not handle the entire length provided
 *   and might truncate the value. To ensure that the data specified in
 *   each option is converted correctly when transmitted to a host
 *   system, use only the characters A through Z, 0 through 9, and the
 *   underscore (_) or period (.). {@link userid} SQL_ATTR_INFO_USERID -
 *   A pointer to a null-terminated character string used to identify the
 *   client user ID sent to the host database server when using DB2
 *   Connect. DB2 for z/OS and OS/390 servers support up to a length of
 *   16 characters. This user-id is not to be confused with the
 *   authentication user-id, it is for identification purposes only and
 *   is not used for any authorization. {@link acctstr}
 *   SQL_ATTR_INFO_ACCTSTR - A pointer to a null-terminated character
 *   string used to identify the client accounting string sent to the
 *   host database server when using DB2 Connect. DB2 for z/OS and OS/390
 *   servers support up to a length of 200 characters. {@link applname}
 *   SQL_ATTR_INFO_APPLNAME - A pointer to a null-terminated character
 *   string used to identify the client application name sent to the host
 *   database server when using DB2 Connect. DB2 for z/OS and OS/390
 *   servers support up to a length of 32 characters. {@link wrkstnname}
 *   SQL_ATTR_INFO_WRKSTNNAME - A pointer to a null-terminated character
 *   string used to identify the client workstation name sent to the host
 *   database server when using DB2 Connect. DB2 for z/OS and OS/390
 *   servers support up to a length of 18 characters.
 * @return string Returns the current setting of the connection
 *   attribute provided on success .
 * @since PECL ibm_db2 >= 1.6.0
 **/
function db2_get_option($resource, $option){}

/**
 * Returns the auto generated ID of the last insert query that
 * successfully executed on this connection
 *
 * The result of this function is not affected by any of the following: A
 * single row INSERT statement with a VALUES clause for a table without
 * an identity column. A multiple row INSERT statement with a VALUES
 * clause. An INSERT statement with a fullselect. A ROLLBACK TO SAVEPOINT
 * statement.
 *
 * @param resource $resource A valid connection resource as returned
 *   from {@link db2_connect} or {@link db2_pconnect}. The value of this
 *   parameter cannot be a statement resource or result set resource.
 * @return string Returns the auto generated ID of last insert query
 *   that successfully executed on this connection.
 * @since PECL ibm_db2 >= 1.7.1
 **/
function db2_last_insert_id($resource){}

/**
 * Gets a user defined size of LOB files with each invocation
 *
 * Use {@link db2_lob_read} to iterate through a specified column of a
 * result set and retrieve a user defined size of LOB data.
 *
 * @param resource $stmt A valid stmt resource containing LOB data.
 * @param int $colnum A valid column number in the result set of the
 *   stmt resource.
 * @param int $length The size of the LOB data to be retrieved from the
 *   stmt resource.
 * @return string Returns the amount of data the user specifies.
 *   Returns FALSE if the data cannot be retrieved.
 * @since PECL ibm_db2 >= 1.6.0
 **/
function db2_lob_read($stmt, $colnum, $length){}

/**
 * Requests the next result set from a stored procedure
 *
 * A stored procedure can return zero or more result sets. While you
 * handle the first result set in exactly the same way you would handle
 * the results returned by a simple SELECT statement, to fetch the second
 * and subsequent result sets from a stored procedure you must call the
 * {@link db2_next_result} function and return the result to a uniquely
 * named PHP variable.
 *
 * @param resource $stmt A prepared statement returned from {@link
 *   db2_exec} or {@link db2_execute}.
 * @return resource Returns a new statement resource containing the
 *   next result set if the stored procedure returned another result set.
 *   Returns FALSE if the stored procedure did not return another result
 *   set.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_next_result($stmt){}

/**
 * Returns the number of fields contained in a result set
 *
 * Returns the number of fields contained in a result set. This is most
 * useful for handling the result sets returned by dynamically generated
 * queries, or for result sets returned by stored procedures, where your
 * application cannot otherwise know how to retrieve and use the results.
 *
 * @param resource $stmt A valid statement resource containing a result
 *   set.
 * @return int Returns an integer value representing the number of
 *   fields in the result set associated with the specified statement
 *   resource. Returns FALSE if the statement resource is not a valid
 *   input value.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_num_fields($stmt){}

/**
 * Returns the number of rows affected by an SQL statement
 *
 * Returns the number of rows deleted, inserted, or updated by an SQL
 * statement.
 *
 * To determine the number of rows that will be returned by a SELECT
 * statement, issue SELECT COUNT(*) with the same predicates as your
 * intended SELECT statement and retrieve the value.
 *
 * If your application logic checks the number of rows returned by a
 * SELECT statement and branches if the number of rows is 0, consider
 * modifying your application to attempt to return the first row with one
 * of {@link db2_fetch_assoc}, {@link db2_fetch_both}, {@link
 * db2_fetch_array}, or {@link db2_fetch_row}, and branch if the fetch
 * function returns FALSE.
 *
 * @param resource $stmt A valid stmt resource containing a result set.
 * @return int Returns the number of rows affected by the last SQL
 *   statement issued by the specified statement handle.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_num_rows($stmt){}

/**
 * Closes a persistent database connection
 *
 * This function closes a DB2 client connection created with {@link
 * db2_pconnect} and returns the corresponding resources to the database
 * server. This function is only available on i5/OS in response to i5/OS
 * system administration requests.
 *
 * If you have a persistent DB2 client connection created with {@link
 * db2_pconnect}, you may use this function to close the connection. To
 * avoid substantial connection performance penalties, this function
 * should only be used in rare cases when the persistent connection has
 * become unresponsive or the persistent connection will not be needed
 * for a long period of time.
 *
 * @param resource $resource Specifies an active DB2 client connection.
 * @return bool
 * @since PECL ibm_db2 >= 1.8.0
 **/
function db2_pclose($resource){}

/**
 * Returns a persistent connection to a database
 *
 * Returns a persistent connection to an IBM DB2 Universal Database, IBM
 * Cloudscape, or Apache Derby database.
 *
 * For more information on persistent connections, refer to .
 *
 * Calling {@link db2_close} on a persistent connection always returns
 * TRUE, but the underlying DB2 client connection remains open and
 * waiting to serve the next matching {@link db2_pconnect} request.
 *
 * Users running version 1.9.0 or later of ibm_db2 should be aware that
 * the extension will perform a transaction rollback on persistent
 * connections at the end of a request, thus ending the transaction. This
 * prevents the transaction block from carrying over to the next request
 * which uses that connection if script execution ends before the
 * transaction block does.
 *
 * @param string $database The database alias in the DB2 client
 *   catalog.
 * @param string $username The username with which you are connecting
 *   to the database.
 * @param string $password The password with which you are connecting
 *   to the database.
 * @param array $options An associative array of connection options
 *   that affect the behavior of the connection, where valid array keys
 *   include: {@link autocommit} Passing the DB2_AUTOCOMMIT_ON value
 *   turns autocommit on for this connection handle. Passing the
 *   DB2_AUTOCOMMIT_OFF value turns autocommit off for this connection
 *   handle. {@link DB2_ATTR_CASE} Passing the DB2_CASE_NATURAL value
 *   specifies that column names are returned in natural case. Passing
 *   the DB2_CASE_LOWER value specifies that column names are returned in
 *   lower case. Passing the DB2_CASE_UPPER value specifies that column
 *   names are returned in upper case. {@link CURSOR} Passing the
 *   DB2_FORWARD_ONLY value specifies a forward-only cursor for a
 *   statement resource. This is the default cursor type and is supported
 *   on all database servers. Passing the DB2_SCROLLABLE value specifies
 *   a scrollable cursor for a statement resource. This mode enables
 *   random access to rows in a result set, but currently is supported
 *   only by IBM DB2 Universal Database. The following new option is
 *   available in ibm_db2 version 1.7.0 and later. {@link trustedcontext}
 *   Passing the DB2_TRUSTED_CONTEXT_ENABLE value turns trusted context
 *   on for this connection handle. This parameter cannot be set using
 *   {@link db2_set_option}. This key works only if the database is
 *   cataloged (even if the database is local), or if you specify the
 *   full DSN when you create the connection. To catalog the database,
 *   use following commands: db2 catalog tcpip node loopback remote
 *   <SERVERNAME> server <SERVICENAME> db2 catalog database <LOCALDBNAME>
 *   as <REMOTEDBNAME> at node loopback db2 "update dbm cfg using
 *   svcename <SERVICENAME>" db2set DB2COMM=TCPIP The following new i5/OS
 *   options are available in ibm_db2 version 1.5.1 and later.
 *   Conflicting connection attributes used in conjunction with
 *   persistent connections can produce indeterminate results on i5/OS.
 *   Site policies should be establish for all applications using each
 *   persistent connection user profile. The default DB2_AUTOCOMMIT_ON is
 *   suggested when using persistent connections. {@link i5_lib} A
 *   character value that indicates the default library that will be used
 *   for resolving unqualified file references. This is not valid if the
 *   connection is using system naming mode. {@link i5_naming}
 *   DB2_I5_NAMING_ON value turns on DB2 UDB CLI iSeries system naming
 *   mode. Files are qualified using the slash (/) delimiter. Unqualified
 *   files are resolved using the library list for the job.
 *   DB2_I5_NAMING_OFF value turns off DB2 UDB CLI default naming mode,
 *   which is SQL naming. Files are qualified using the period (.)
 *   delimiter. Unqualified files are resolved using either the default
 *   library or the current user ID. {@link i5_commit} The {@link
 *   i5_commit} attribute should be set before the {@link db2_pconnect}.
 *   If the value is changed after the connection has been established,
 *   and the connection is to a remote data source, the change does not
 *   take effect until the next successful {@link db2_pconnect} for the
 *   connection handle. The php.ini setting {@link
 *   ibm_db2.i5_allow_commit}==0 or DB2_I5_TXN_NO_COMMIT is the default,
 *   but may be overridden with the {@link i5_commit} option.
 *   DB2_I5_TXN_NO_COMMIT - Commitment control is not used.
 *   DB2_I5_TXN_READ_UNCOMMITTED - Dirty reads, nonrepeatable reads, and
 *   phantoms are possible. DB2_I5_TXN_READ_COMMITTED - Dirty reads are
 *   not possible. Nonrepeatable reads, and phantoms are possible.
 *   DB2_I5_TXN_REPEATABLE_READ - Dirty reads and nonrepeatable reads are
 *   not possible. Phantoms are possible. DB2_I5_TXN_SERIALIZABLE -
 *   Transactions are serializable. Dirty reads, non-repeatable reads,
 *   and phantoms are not possible {@link i5_query_optimize} DB2_FIRST_IO
 *   All queries are optimized with the goal of returning the first page
 *   of output as fast as possible. This goal works well when the output
 *   is controlled by a user who is most likely to cancel the query after
 *   viewing the first page of output data. Queries coded with an
 *   OPTIMIZE FOR nnn ROWS clause honor the goal specified by the clause.
 *   DB2_ALL_IO All queries are optimized with the goal of running the
 *   entire query to completion in the shortest amount of elapsed time.
 *   This is a good option when the output of a query is being written to
 *   a file or report, or the interface is queuing the output data.
 *   Queries coded with an OPTIMIZE FOR nnn ROWS clause honor the goal
 *   specified by the clause. This is the default. {@link i5_dbcs_alloc}
 *   DB2_I5_DBCS_ALLOC_ON value turns on DB2 6X allocation scheme for
 *   DBCS translation column size growth. DB2_I5_DBCS_ALLOC_OFF value
 *   turns off DB2 6X allocation scheme for DBCS translation column size
 *   growth. The php.ini setting {@link ibm_db2.i5_dbcs_alloc}==0 or
 *   DB2_I5_DBCS_ALLOC_OFF is the default, but may be overridden with the
 *   {@link i5_dbcs_alloc} option. {@link i5_date_fmt} DB2_I5_FMT_ISO -
 *   The International Organization for Standardization (ISO) date format
 *   yyyy-mm-dd is used. This is the default. DB2_I5_FMT_USA - The United
 *   States date format mm/dd/yyyy is used. DB2_I5_FMT_EUR - The European
 *   date format dd.mm.yyyy is used. DB2_I5_FMT_JIS - The Japanese
 *   Industrial Standard date format yyyy-mm-dd is used. DB2_I5_FMT_MDY -
 *   The date format mm/dd/yyyy is used. DB2_I5_FMT_DMY - The date format
 *   dd/mm/yyyy is used. DB2_I5_FMT_YMD - The date format yy/mm/dd is
 *   used. DB2_I5_FMT_JUL - The Julian date format yy/ddd is used.
 *   DB2_I5_FMT_JOB - The job default is used. {@link i5_date_sep}
 *   DB2_I5_SEP_SLASH - A slash ( / ) is used as the date separator. This
 *   is the default. DB2_I5_SEP_DASH - A dash ( - ) is used as the date
 *   separator. DB2_I5_SEP_PERIOD - A period ( . ) is used as the date
 *   separator. DB2_I5_SEP_COMMA - A comma ( , ) is used as the date
 *   separator. DB2_I5_SEP_BLANK - A blank is used as the date separator.
 *   DB2_I5_SEP_JOB - The job default is used {@link i5_time_fmt}
 *   DB2_I5_FMT_ISO - The International Organization for Standardization
 *   (ISO) time format hh.mm.ss is used. This is the default.
 *   DB2_I5_FMT_USA - The United States time format hh:mmxx is used,
 *   where xx is AM or PM. DB2_I5_FMT_EUR - The European time format
 *   hh.mm.ss is used. DB2_I5_FMT_JIS - The Japanese Industrial Standard
 *   time format hh:mm:ss is used. DB2_I5_FMT_HMS - The hh:mm:ss format
 *   is used. {@link i5_time_sep} DB2_I5_SEP_COLON - A colon ( : ) is
 *   used as the time separator. This is the default. DB2_I5_SEP_PERIOD -
 *   A period ( . ) is used as the time separator. DB2_I5_SEP_COMMA - A
 *   comma ( , ) is used as the time separator. DB2_I5_SEP_BLANK - A
 *   blank is used as the time separator. DB2_I5_SEP_JOB - The job
 *   default is used. {@link i5_decimal_sep} DB2_I5_SEP_PERIOD - A period
 *   ( . ) is used as the decimal separator. This is the default.
 *   DB2_I5_SEP_COMMA - A comma ( , ) is used as the decimal separator.
 *   DB2_I5_SEP_JOB - The job default is used. The following new i5/OS
 *   option is available in ibm_db2 version 1.8.0 and later. {@link
 *   i5_libl} A character value that indicates the library list that will
 *   be used for resolving unqualified file references. Specify the
 *   library list elements separated by blanks 'i5_libl'=>"MYLIB YOURLIB
 *   ANYLIB". i5_libl calls qsys2/qcmdexc('cmd',cmdlen), which is only
 *   available in i5/OS V5R4 and later.
 * @return resource Returns a connection handle resource if the
 *   connection attempt is successful. {@link db2_pconnect} tries to
 *   reuse an existing connection resource that exactly matches the
 *   {@link database}, {@link username}, and {@link password} parameters.
 *   If the connection attempt fails, {@link db2_pconnect} returns FALSE.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_pconnect($database, $username, $password, $options){}

/**
 * Prepares an SQL statement to be executed
 *
 * {@link db2_prepare} creates a prepared SQL statement which can include
 * 0 or more parameter markers (? characters) representing parameters for
 * input, output, or input/output. You can pass parameters to the
 * prepared statement using {@link db2_bind_param}, or for input values
 * only, as an array passed to {@link db2_execute}.
 *
 * There are three main advantages to using prepared statements in your
 * application: Performance: when you prepare a statement, the database
 * server creates an optimized access plan for retrieving data with that
 * statement. Subsequently issuing the prepared statement with {@link
 * db2_execute} enables the statements to reuse that access plan and
 * avoids the overhead of dynamically creating a new access plan for
 * every statement you issue. Security: when you prepare a statement, you
 * can include parameter markers for input values. When you execute a
 * prepared statement with input values for placeholders, the database
 * server checks each input value to ensure that the type matches the
 * column definition or parameter definition. Advanced functionality:
 * Parameter markers not only enable you to pass input values to prepared
 * SQL statements, they also enable you to retrieve OUT and INOUT
 * parameters from stored procedures using {@link db2_bind_param}.
 *
 * @param resource $connection A valid database connection resource
 *   variable as returned from {@link db2_connect} or {@link
 *   db2_pconnect}.
 * @param string $statement An SQL statement, optionally containing one
 *   or more parameter markers..
 * @param array $options An associative array containing statement
 *   options. You can use this parameter to request a scrollable cursor
 *   on database servers that support this functionality. For a
 *   description of valid statement options, see {@link db2_set_option}.
 * @return resource Returns a statement resource if the SQL statement
 *   was successfully parsed and prepared by the database server. Returns
 *   FALSE if the database server returned an error. You can determine
 *   which error was returned by calling {@link db2_stmt_error} or {@link
 *   db2_stmt_errormsg}.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_prepare($connection, $statement, $options){}

/**
 * Returns a result set listing primary keys for a table
 *
 * Returns a result set listing the primary keys for a table.
 *
 * @param resource $connection A valid connection to an IBM DB2,
 *   Cloudscape, or Apache Derby database.
 * @param string $qualifier A qualifier for DB2 databases running on
 *   OS/390 or z/OS servers. For other databases, pass NULL or an empty
 *   string.
 * @param string $schema The schema which contains the tables. If
 *   {@link schema} is NULL, {@link db2_primary_keys} matches the schema
 *   for the current connection.
 * @param string $tablename The name of the table.
 * @return resource Returns a statement resource with a result set
 *   containing rows describing the primary keys for the specified table.
 *   The result set is composed of the following columns: Column name
 *   Description TABLE_CAT Name of the catalog for the table containing
 *   the primary key. The value is NULL if this table does not have
 *   catalogs. TABLE_SCHEM Name of the schema for the table containing
 *   the primary key. TABLE_NAME Name of the table containing the primary
 *   key. COLUMN_NAME Name of the column containing the primary key.
 *   KEY_SEQ 1-indexed position of the column in the key. PK_NAME The
 *   name of the primary key.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_primary_keys($connection, $qualifier, $schema, $tablename){}

/**
 * Returns a result set listing the stored procedures registered in a
 * database
 *
 * Returns a result set listing the stored procedures registered in a
 * database.
 *
 * @param resource $connection A valid connection to an IBM DB2,
 *   Cloudscape, or Apache Derby database.
 * @param string $qualifier A qualifier for DB2 databases running on
 *   OS/390 or z/OS servers. For other databases, pass NULL or an empty
 *   string.
 * @param string $schema The schema which contains the procedures. This
 *   parameter accepts a search pattern containing _ and % as wildcards.
 * @param string $procedure The name of the procedure. This parameter
 *   accepts a search pattern containing _ and % as wildcards.
 * @return resource Returns a statement resource with a result set
 *   containing rows describing the stored procedures matching the
 *   specified parameters. The rows are composed of the following
 *   columns: Column name Description PROCEDURE_CAT The catalog that
 *   contains the procedure. The value is NULL if this table does not
 *   have catalogs. PROCEDURE_SCHEM Name of the schema that contains the
 *   stored procedure. PROCEDURE_NAME Name of the procedure.
 *   NUM_INPUT_PARAMS Number of input (IN) parameters for the stored
 *   procedure. NUM_OUTPUT_PARAMS Number of output (OUT) parameters for
 *   the stored procedure. NUM_RESULT_SETS Number of result sets returned
 *   by the stored procedure. REMARKS Any comments about the stored
 *   procedure. PROCEDURE_TYPE Always returns 1, indicating that the
 *   stored procedure does not return a return value.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_procedures($connection, $qualifier, $schema, $procedure){}

/**
 * Returns a result set listing stored procedure parameters
 *
 * Returns a result set listing the parameters for one or more stored
 * procedures.
 *
 * @param resource $connection A valid connection to an IBM DB2,
 *   Cloudscape, or Apache Derby database.
 * @param string $qualifier A qualifier for DB2 databases running on
 *   OS/390 or z/OS servers. For other databases, pass NULL or an empty
 *   string.
 * @param string $schema The schema which contains the procedures. This
 *   parameter accepts a search pattern containing _ and % as wildcards.
 * @param string $procedure The name of the procedure. This parameter
 *   accepts a search pattern containing _ and % as wildcards.
 * @param string $parameter The name of the parameter. This parameter
 *   accepts a search pattern containing _ and % as wildcards. If this
 *   parameter is NULL, all parameters for the specified stored
 *   procedures are returned.
 * @return resource Returns a statement resource with a result set
 *   containing rows describing the parameters for the stored procedures
 *   matching the specified parameters. The rows are composed of the
 *   following columns: Column name Description PROCEDURE_CAT The catalog
 *   that contains the procedure. The value is NULL if this table does
 *   not have catalogs. PROCEDURE_SCHEM Name of the schema that contains
 *   the stored procedure. PROCEDURE_NAME Name of the procedure.
 *   COLUMN_NAME Name of the parameter. COLUMN_TYPE An integer value
 *   representing the type of the parameter: Return value Parameter type
 *   1 (SQL_PARAM_INPUT) Input (IN) parameter. 2 (SQL_PARAM_INPUT_OUTPUT)
 *   Input/output (INOUT) parameter. 3 (SQL_PARAM_OUTPUT) Output (OUT)
 *   parameter. DATA_TYPE The SQL data type for the parameter represented
 *   as an integer value. TYPE_NAME A string representing the data type
 *   for the parameter. COLUMN_SIZE An integer value representing the
 *   size of the parameter. BUFFER_LENGTH Maximum number of bytes
 *   necessary to store data for this parameter. DECIMAL_DIGITS The scale
 *   of the parameter, or NULL where scale is not applicable.
 *   NUM_PREC_RADIX An integer value of either 10 (representing an exact
 *   numeric data type), 2 (representing an approximate numeric data
 *   type), or NULL (representing a data type for which radix is not
 *   applicable). NULLABLE An integer value representing whether the
 *   parameter is nullable or not. REMARKS Description of the parameter.
 *   COLUMN_DEF Default value for the parameter. SQL_DATA_TYPE An integer
 *   value representing the size of the parameter. SQL_DATETIME_SUB
 *   Returns an integer value representing a datetime subtype code, or
 *   NULL for SQL data types to which this does not apply.
 *   CHAR_OCTET_LENGTH Maximum length in octets for a character data type
 *   parameter, which matches COLUMN_SIZE for single-byte character set
 *   data, or NULL for non-character data types. ORDINAL_POSITION The
 *   1-indexed position of the parameter in the CALL statement.
 *   IS_NULLABLE A string value where 'YES' means that the parameter
 *   accepts or returns NULL values and 'NO' means that the parameter
 *   does not accept or return NULL values.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_procedure_columns($connection, $qualifier, $schema, $procedure, $parameter){}

/**
 * Returns a single column from a row in the result set
 *
 * Use {@link db2_result} to return the value of a specified column in
 * the current row of a result set. You must call {@link db2_fetch_row}
 * before calling {@link db2_result} to set the location of the result
 * set pointer.
 *
 * @param resource $stmt A valid stmt resource.
 * @param mixed $column Either an integer mapping to the 0-indexed
 *   field in the result set, or a string matching the name of the
 *   column.
 * @return mixed Returns the value of the requested field if the field
 *   exists in the result set. Returns NULL if the field does not exist,
 *   and issues a warning.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_result($stmt, $column){}

/**
 * Rolls back a transaction
 *
 * Rolls back an in-progress transaction on the specified connection
 * resource and begins a new transaction. PHP applications normally
 * default to AUTOCOMMIT mode, so {@link db2_rollback} normally has no
 * effect unless AUTOCOMMIT has been turned off for the connection
 * resource.
 *
 * @param resource $connection A valid database connection resource
 *   variable as returned from {@link db2_connect} or {@link
 *   db2_pconnect}.
 * @return bool
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_rollback($connection){}

/**
 * Returns an object with properties that describe the DB2 database
 * server
 *
 * This function returns an object with read-only properties that return
 * information about the IBM DB2, Cloudscape, or Apache Derby database
 * server. The following table lists the database server properties:
 * Database server properties Property name Return type Description
 * DBMS_NAME string The name of the database server to which you are
 * connected. For DB2 servers this is a combination of DB2 followed by
 * the operating system on which the database server is running. DBMS_VER
 * string The version of the database server, in the form of a string
 * "MM.mm.uuuu" where MM is the major version, mm is the minor version,
 * and uuuu is the update. For example, "08.02.0001" represents major
 * version 8, minor version 2, update 1. DB_CODEPAGE int The code page of
 * the database to which you are connected. DB_NAME string The name of
 * the database to which you are connected. DFT_ISOLATION string The
 * default transaction isolation level supported by the server: UR
 * Uncommitted read: changes are immediately visible by all concurrent
 * transactions. CS Cursor stability: a row read by one transaction can
 * be altered and committed by a second concurrent transaction. RS Read
 * stability: a transaction can add or remove rows matching a search
 * condition or a pending transaction. RR Repeatable read: data affected
 * by pending transaction is not available to other transactions. NC No
 * commit: any changes are visible at the end of a successful operation.
 * Explicit commits and rollbacks are not allowed. IDENTIFIER_QUOTE_CHAR
 * string The character used to delimit an identifier. INST_NAME string
 * The instance on the database server that contains the database.
 * ISOLATION_OPTION array An array of the isolation options supported by
 * the database server. The isolation options are described in the
 * DFT_ISOLATION property. KEYWORDS array An array of the keywords
 * reserved by the database server. LIKE_ESCAPE_CLAUSE bool TRUE if the
 * database server supports the use of % and _ wildcard characters. FALSE
 * if the database server does not support these wildcard characters.
 * MAX_COL_NAME_LEN int Maximum length of a column name supported by the
 * database server, expressed in bytes. MAX_IDENTIFIER_LEN int Maximum
 * length of an SQL identifier supported by the database server,
 * expressed in characters. MAX_INDEX_SIZE int Maximum size of columns
 * combined in an index supported by the database server, expressed in
 * bytes. MAX_PROC_NAME_LEN int Maximum length of a procedure name
 * supported by the database server, expressed in bytes. MAX_ROW_SIZE int
 * Maximum length of a row in a base table supported by the database
 * server, expressed in bytes. MAX_SCHEMA_NAME_LEN int Maximum length of
 * a schema name supported by the database server, expressed in bytes.
 * MAX_STATEMENT_LEN int Maximum length of an SQL statement supported by
 * the database server, expressed in bytes. MAX_TABLE_NAME_LEN int
 * Maximum length of a table name supported by the database server,
 * expressed in bytes. NON_NULLABLE_COLUMNS bool TRUE if the database
 * server supports columns that can be defined as NOT NULL, FALSE if the
 * database server does not support columns defined as NOT NULL.
 * PROCEDURES bool TRUE if the database server supports the use of the
 * CALL statement to call stored procedures, FALSE if the database server
 * does not support the CALL statement. SPECIAL_CHARS string A string
 * containing all of the characters other than a-Z, 0-9, and underscore
 * that can be used in an identifier name. SQL_CONFORMANCE string The
 * level of conformance to the ANSI/ISO SQL-92 specification offered by
 * the database server: ENTRY Entry-level SQL-92 compliance. FIPS127
 * FIPS-127-2 transitional compliance. FULL Full level SQL-92 compliance.
 * INTERMEDIATE Intermediate level SQL-92 compliance.
 *
 * @param resource $connection Specifies an active DB2 client
 *   connection.
 * @return object Returns an object on a successful call. Returns FALSE
 *   on failure.
 * @since PECL ibm_db2 >= 1.1.1
 **/
function db2_server_info($connection){}

/**
 * Set options for connection or statement resources
 *
 * Sets options for a statement resource or a connection resource. You
 * cannot set options for result set resources.
 *
 * @param resource $resource A valid statement resource as returned
 *   from {@link db2_prepare} or a valid connection resource as returned
 *   from {@link db2_connect} or {@link db2_pconnect}.
 * @param array $options An associative array containing valid
 *   statement or connection options. This parameter can be used to
 *   change autocommit values, cursor types (scrollable or forward), and
 *   to specify the case of the column names (lower, upper, or natural)
 *   that will appear in a result set. {@link autocommit} Passing
 *   DB2_AUTOCOMMIT_ON turns autocommit on for the specified connection
 *   resource. Passing DB2_AUTOCOMMIT_OFF turns autocommit off for the
 *   specified connection resource. {@link cursor} Passing
 *   DB2_FORWARD_ONLY specifies a forward-only cursor for a statement
 *   resource. This is the default cursor type, and is supported by all
 *   database servers. Passing DB2_SCROLLABLE specifies a scrollable
 *   cursor for a statement resource. Scrollable cursors enable result
 *   set rows to be accessed in non-sequential order, but are only
 *   supported by IBM DB2 Universal Database databases. {@link binmode}
 *   Passing DB2_BINARY specifies that binary data will be returned as
 *   is. This is the default mode. This is the equivalent of setting
 *   ibm_db2.binmode=1 in . Passing DB2_CONVERT specifies that binary
 *   data will be converted to hexadecimal encoding, and will be returned
 *   as such. This is the equivalent of setting ibm_db2.binmode=2 in .
 *   Passing DB2_PASSTHRU specifies that binary data will be converted to
 *   NULL. This is the equivalent of setting ibm_db2.binmode=3 in .
 *   {@link db2_attr_case} Passing DB2_CASE_LOWER specifies that column
 *   names of the result set are returned in lower case. Passing
 *   DB2_CASE_UPPER specifies that column names of the result set are
 *   returned in upper case. Passing DB2_CASE_NATURAL specifies that
 *   column names of the result set are returned in natural case. {@link
 *   deferred_prepare} Passing DB2_DEFERRED_PREPARE_ON turns deferred
 *   prepare on for the specified statement resource. Passing
 *   DB2_DEFERRED_PREPARE_OFF turns deferred prepare off for the
 *   specified statement resource. The following new i5/OS options are
 *   available in ibm_db2 version 1.5.1 and later. These options apply
 *   only when running PHP and ibm_db2 natively on i5 systems. {@link
 *   i5_fetch_only} DB2_I5_FETCH_ON - Cursors are read-only and cannot be
 *   used for positioned updates or deletes. This is the default unless
 *   SQL_ATTR_FOR_FETCH_ONLY environment has been set to SQL_FALSE.
 *   DB2_I5_FETCH_OFF - Cursors can be used for positioned updates and
 *   deletes. The following new option is available in ibm_db2 version
 *   1.8.0 and later. {@link rowcount} DB2_ROWCOUNT_PREFETCH_ON - Client
 *   can request the full row count prior to fetching, which means that
 *   {@link db2_num_rows} returns the number of rows selected even when a
 *   ROLLFORWARD_ONLY cursor is used. DB2_ROWCOUNT_PREFETCH_OFF - Client
 *   cannot request the full row count prior to fetching. The following
 *   new options are available in ibm_db2 version 1.7.0 and later. {@link
 *   trusted_user} To switch the user to a trusted user, pass the User ID
 *   (String) of the trusted user as the value of this key. This option
 *   can be set on a connection resource only. To use this option,
 *   trusted context must be enabled on the connection resource. {@link
 *   trusted_password} The password (String) that corresponds to the user
 *   specified by the trusted_user key. The following new options are
 *   available in ibm_db2 version 1.6.0 and later. These options provide
 *   useful tracking information that can be accessed during execution
 *   with {@link db2_get_option}. When the value in each option is being
 *   set, some servers might not handle the entire length provided and
 *   might truncate the value. To ensure that the data specified in each
 *   option is converted correctly when transmitted to a host system, use
 *   only the characters A through Z, 0 through 9, and the underscore (_)
 *   or period (.). {@link userid} SQL_ATTR_INFO_USERID - A pointer to a
 *   null-terminated character string used to identify the client user ID
 *   sent to the host database server when using DB2 Connect. DB2 for
 *   z/OS and OS/390 servers support up to a length of 16 characters.
 *   This user-id is not to be confused with the authentication user-id,
 *   it is for identification purposes only and is not used for any
 *   authorization. {@link acctstr} SQL_ATTR_INFO_ACCTSTR - A pointer to
 *   a null-terminated character string used to identify the client
 *   accounting string sent to the host database server when using DB2
 *   Connect. DB2 for z/OS and OS/390 servers support up to a length of
 *   200 characters. {@link applname} SQL_ATTR_INFO_APPLNAME - A pointer
 *   to a null-terminated character string used to identify the client
 *   application name sent to the host database server when using DB2
 *   Connect. DB2 for z/OS and OS/390 servers support up to a length of
 *   32 characters. {@link wrkstnname} SQL_ATTR_INFO_WRKSTNNAME - A
 *   pointer to a null-terminated character string used to identify the
 *   client workstation name sent to the host database server when using
 *   DB2 Connect. DB2 for z/OS and OS/390 servers support up to a length
 *   of 18 characters.
 * @param int $type Passing DB2_AUTOCOMMIT_ON turns autocommit on for
 *   the specified connection resource. Passing DB2_AUTOCOMMIT_OFF turns
 *   autocommit off for the specified connection resource.
 * @return bool
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_set_option($resource, $options, $type){}

/**
 * Returns a result set listing the unique row identifier columns for a
 * table
 *
 * Returns a result set listing the unique row identifier columns for a
 * table.
 *
 * @param resource $connection A valid connection to an IBM DB2,
 *   Cloudscape, or Apache Derby database.
 * @param string $qualifier A qualifier for DB2 databases running on
 *   OS/390 or z/OS servers. For other databases, pass NULL or an empty
 *   string.
 * @param string $schema The schema which contains the tables.
 * @param string $table_name The name of the table.
 * @param int $scope Integer value representing the minimum duration
 *   for which the unique row identifier is valid. This can be one of the
 *   following values: Integer value SQL constant Description 0
 *   SQL_SCOPE_CURROW Row identifier is valid only while the cursor is
 *   positioned on the row. 1 SQL_SCOPE_TRANSACTION Row identifier is
 *   valid for the duration of the transaction. 2 SQL_SCOPE_SESSION Row
 *   identifier is valid for the duration of the connection.
 * @return resource Returns a statement resource with a result set
 *   containing rows with unique row identifier information for a table.
 *   The rows are composed of the following columns: Column name
 *   Description SCOPE Integer value SQL constant Description 0
 *   SQL_SCOPE_CURROW Row identifier is valid only while the cursor is
 *   positioned on the row. 1 SQL_SCOPE_TRANSACTION Row identifier is
 *   valid for the duration of the transaction. 2 SQL_SCOPE_SESSION Row
 *   identifier is valid for the duration of the connection. COLUMN_NAME
 *   Name of the unique column. DATA_TYPE SQL data type for the column.
 *   TYPE_NAME Character string representation of the SQL data type for
 *   the column. COLUMN_SIZE An integer value representing the size of
 *   the column. BUFFER_LENGTH Maximum number of bytes necessary to store
 *   data from this column. DECIMAL_DIGITS The scale of the column, or
 *   NULL where scale is not applicable. NUM_PREC_RADIX An integer value
 *   of either 10 (representing an exact numeric data type), 2
 *   (representing an approximate numeric data type), or NULL
 *   (representing a data type for which radix is not applicable).
 *   PSEUDO_COLUMN Always returns 1.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_special_columns($connection, $qualifier, $schema, $table_name, $scope){}

/**
 * Returns a result set listing the index and statistics for a table
 *
 * Returns a result set listing the index and statistics for a table.
 *
 * @param resource $connection A valid connection to an IBM DB2,
 *   Cloudscape, or Apache Derby database.
 * @param string $qualifier A qualifier for DB2 databases running on
 *   OS/390 or z/OS servers. For other databases, pass NULL or an empty
 *   string.
 * @param string $schema The schema that contains the targeted table.
 *   If this parameter is NULL, the statistics and indexes are returned
 *   for the schema of the current user.
 * @param string $tablename The name of the table.
 * @param bool $unique An integer value representing the type of index
 *   information to return. {@link 0} Return only the information for
 *   unique indexes on the table. {@link 1} Return the information for
 *   all indexes on the table.
 * @return resource Returns a statement resource with a result set
 *   containing rows describing the statistics and indexes for the base
 *   tables matching the specified parameters. The rows are composed of
 *   the following columns: Column name Description TABLE_CAT The catalog
 *   that contains the table. The value is NULL if this table does not
 *   have catalogs. TABLE_SCHEM Name of the schema that contains the
 *   table. TABLE_NAME Name of the table. NON_UNIQUE An integer value
 *   representing whether the index prohibits unique values, or whether
 *   the row represents statistics on the table itself: Return value
 *   Parameter type 0 (SQL_FALSE) The index allows duplicate values. 1
 *   (SQL_TRUE) The index values must be unique. NULL This row is
 *   statistics information for the table itself. INDEX_QUALIFIER A
 *   string value representing the qualifier that would have to be
 *   prepended to INDEX_NAME to fully qualify the index. INDEX_NAME A
 *   string representing the name of the index. TYPE An integer value
 *   representing the type of information contained in this row of the
 *   result set: Return value Parameter type 0 (SQL_TABLE_STAT) The row
 *   contains statistics about the table itself. 1 (SQL_INDEX_CLUSTERED)
 *   The row contains information about a clustered index. 2
 *   (SQL_INDEX_HASH) The row contains information about a hashed index.
 *   3 (SQL_INDEX_OTHER) The row contains information about a type of
 *   index that is neither clustered nor hashed. ORDINAL_POSITION The
 *   1-indexed position of the column in the index. NULL if the row
 *   contains statistics information about the table itself. COLUMN_NAME
 *   The name of the column in the index. NULL if the row contains
 *   statistics information about the table itself. ASC_OR_DESC A if the
 *   column is sorted in ascending order, D if the column is sorted in
 *   descending order, NULL if the row contains statistics information
 *   about the table itself. CARDINALITY If the row contains information
 *   about an index, this column contains an integer value representing
 *   the number of unique values in the index. If the row contains
 *   information about the table itself, this column contains an integer
 *   value representing the number of rows in the table. PAGES If the row
 *   contains information about an index, this column contains an integer
 *   value representing the number of pages used to store the index. If
 *   the row contains information about the table itself, this column
 *   contains an integer value representing the number of pages used to
 *   store the table. FILTER_CONDITION Always returns NULL.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_statistics($connection, $qualifier, $schema, $tablename, $unique){}

/**
 * Returns a string containing the SQLSTATE returned by an SQL statement
 *
 * Returns a string containing the SQLSTATE value returned by an SQL
 * statement.
 *
 * If you do not pass a statement resource as an argument to {@link
 * db2_stmt_error}, the driver returns the SQLSTATE value associated with
 * the last attempt to return a statement resource, for example, from
 * {@link db2_prepare} or {@link db2_exec}.
 *
 * To learn what the SQLSTATE value means, you can issue the following
 * command at a DB2 Command Line Processor prompt: db2 '? {@link
 * sqlstate-value}'. You can also call {@link db2_stmt_errormsg} to
 * retrieve an explicit error message and the associated SQLCODE value.
 *
 * @param resource $stmt A valid statement resource.
 * @return string Returns a string containing an SQLSTATE value.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_stmt_error($stmt){}

/**
 * Returns a string containing the last SQL statement error message
 *
 * Returns a string containing the last SQL statement error message.
 *
 * If you do not pass a statement resource as an argument to {@link
 * db2_stmt_errormsg}, the driver returns the error message associated
 * with the last attempt to return a statement resource, for example,
 * from {@link db2_prepare} or {@link db2_exec}.
 *
 * @param resource $stmt A valid statement resource.
 * @return string Returns a string containing the error message and
 *   SQLCODE value for the last error that occurred issuing an SQL
 *   statement.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_stmt_errormsg($stmt){}

/**
 * Returns a result set listing the tables and associated metadata in a
 * database
 *
 * Returns a result set listing the tables and associated metadata in a
 * database.
 *
 * @param resource $connection A valid connection to an IBM DB2,
 *   Cloudscape, or Apache Derby database.
 * @param string $qualifier A qualifier for DB2 databases running on
 *   OS/390 or z/OS servers. For other databases, pass NULL or an empty
 *   string.
 * @param string $schema The schema which contains the tables. This
 *   parameter accepts a search pattern containing _ and % as wildcards.
 * @param string $tablename The name of the table. This parameter
 *   accepts a search pattern containing _ and % as wildcards.
 * @param string $tabletype A list of comma-delimited table type
 *   identifiers. To match all table types, pass NULL or an empty string.
 *   Valid table type identifiers include: ALIAS, HIERARCHY TABLE,
 *   INOPERATIVE VIEW, NICKNAME, MATERIALIZED QUERY TABLE, SYSTEM TABLE,
 *   TABLE, TYPED TABLE, TYPED VIEW, and VIEW.
 * @return resource Returns a statement resource with a result set
 *   containing rows describing the tables that match the specified
 *   parameters. The rows are composed of the following columns: Column
 *   name Description TABLE_CAT The catalog that contains the table. The
 *   value is NULL if this table does not have catalogs. TABLE_SCHEM Name
 *   of the schema that contains the table. TABLE_NAME Name of the table.
 *   TABLE_TYPE Table type identifier for the table. REMARKS Description
 *   of the table.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_tables($connection, $qualifier, $schema, $tablename, $tabletype){}

/**
 * Returns a result set listing the tables and associated privileges in a
 * database
 *
 * Returns a result set listing the tables and associated privileges in a
 * database.
 *
 * @param resource $connection A valid connection to an IBM DB2,
 *   Cloudscape, or Apache Derby database.
 * @param string $qualifier A qualifier for DB2 databases running on
 *   OS/390 or z/OS servers. For other databases, pass NULL or an empty
 *   string.
 * @param string $schema The schema which contains the tables. This
 *   parameter accepts a search pattern containing _ and % as wildcards.
 * @param string $table_name The name of the table. This parameter
 *   accepts a search pattern containing _ and % as wildcards.
 * @return resource Returns a statement resource with a result set
 *   containing rows describing the privileges for the tables that match
 *   the specified parameters. The rows are composed of the following
 *   columns: Column name Description TABLE_CAT The catalog that contains
 *   the table. The value is NULL if this table does not have catalogs.
 *   TABLE_SCHEM Name of the schema that contains the table. TABLE_NAME
 *   Name of the table. GRANTOR Authorization ID of the user who granted
 *   the privilege. GRANTEE Authorization ID of the user to whom the
 *   privilege was granted. PRIVILEGE The privilege that has been
 *   granted. This can be one of ALTER, CONTROL, DELETE, INDEX, INSERT,
 *   REFERENCES, SELECT, or UPDATE. IS_GRANTABLE A string value of "YES"
 *   or "NO" indicating whether the grantee can grant the privilege to
 *   other users.
 * @since PECL ibm_db2 >= 1.0.0
 **/
function db2_table_privileges($connection, $qualifier, $schema, $table_name){}

/**
 * Adds a record to a database
 *
 * Adds the given data to the database.
 *
 * @param resource $dbase_identifier The database link identifier,
 *   returned by {@link dbase_open} or {@link dbase_create}.
 * @param array $record An indexed array of data. The number of items
 *   must be equal to the number of fields in the database, otherwise
 *   {@link dbase_add_record} will fail.
 * @return bool
 * @since PHP 5 < 5.3.0, dbase 5, dbase 7
 **/
function dbase_add_record($dbase_identifier, $record){}

/**
 * Closes a database
 *
 * Closes the given database link identifier.
 *
 * @param resource $dbase_identifier The database link identifier,
 *   returned by {@link dbase_open} or {@link dbase_create}.
 * @return bool
 * @since PHP 5 < 5.3.0, dbase 5, dbase 7
 **/
function dbase_close($dbase_identifier){}

/**
 * Creates a database
 *
 * {@link dbase_create} creates a dBase database with the given
 * definition. If the file already exists, it is not truncated. {@link
 * dbase_pack} can be called to force truncation.
 *
 * @param string $filename The name of the database. It can be a
 *   relative or absolute path to the file where dBase will store your
 *   data.
 * @param array $fields An array of arrays, each array describing the
 *   format of one field of the database. Each field consists of a name,
 *   a character indicating the field type, and optionally, a length, a
 *   precision and a nullable flag. The supported field types are listed
 *   in the introduction section.
 * @param int $type The type of database to be created. Either
 *   DBASE_TYPE_DBASE or DBASE_TYPE_FOXPRO.
 * @return resource Returns a database link identifier if the database
 *   is successfully created, or FALSE if an error occurred.
 * @since PHP 5 < 5.3.0, dbase 5, dbase 7
 **/
function dbase_create($filename, $fields, $type){}

/**
 * Deletes a record from a database
 *
 * Marks the given record to be deleted from the database.
 *
 * @param resource $dbase_identifier The database link identifier,
 *   returned by {@link dbase_open} or {@link dbase_create}.
 * @param int $record_number An integer which spans from 1 to the
 *   number of records in the database (as returned by {@link
 *   dbase_numrecords}).
 * @return bool
 * @since PHP 5 < 5.3.0, dbase 5, dbase 7
 **/
function dbase_delete_record($dbase_identifier, $record_number){}

/**
 * Gets the header info of a database
 *
 * Returns information on the column structure of the given database link
 * identifier.
 *
 * @param resource $dbase_identifier The database link identifier,
 *   returned by {@link dbase_open} or {@link dbase_create}.
 * @return array An indexed array with an entry for each column in the
 *   database. The array index starts at 0.
 * @since PHP 5 < 5.3.0, dbase 5, dbase 7
 **/
function dbase_get_header_info($dbase_identifier){}

/**
 * Gets a record from a database as an indexed array
 *
 * Gets a record from a database as an indexed array.
 *
 * @param resource $dbase_identifier The database link identifier,
 *   returned by {@link dbase_open} or {@link dbase_create}.
 * @param int $record_number The index of the record between 1 and
 *   dbase_numrecords($dbase_identifier).
 * @return array An indexed array with the record. This array will also
 *   include an associative key named deleted which is set to 1 if the
 *   record has been marked for deletion (see {@link
 *   dbase_delete_record}).
 * @since PHP 5 < 5.3.0, dbase 5, dbase 7
 **/
function dbase_get_record($dbase_identifier, $record_number){}

/**
 * Gets a record from a database as an associative array
 *
 * Gets a record from a dBase database as an associative array.
 *
 * @param resource $dbase_identifier The database link identifier,
 *   returned by {@link dbase_open} or {@link dbase_create}.
 * @param int $record_number The index of the record between 1 and
 *   dbase_numrecords($dbase_identifier).
 * @return array An associative array with the record. This will also
 *   include a key named deleted which is set to 1 if the record has been
 *   marked for deletion (see {@link dbase_delete_record}). Therefore it
 *   is not possible to retrieve the value of a field named deleted with
 *   this function.
 * @since PHP 5 < 5.3.0, dbase 5, dbase 7
 **/
function dbase_get_record_with_names($dbase_identifier, $record_number){}

/**
 * Gets the number of fields of a database
 *
 * Gets the number of fields (columns) in the specified database.
 *
 * @param resource $dbase_identifier The database link identifier,
 *   returned by {@link dbase_open} or {@link dbase_create}.
 * @return int The number of fields in the database, or FALSE if an
 *   error occurs.
 * @since PHP 5 < 5.3.0, dbase 5, dbase 7
 **/
function dbase_numfields($dbase_identifier){}

/**
 * Gets the number of records in a database
 *
 * Gets the number of records (rows) in the specified database.
 *
 * @param resource $dbase_identifier The database link identifier,
 *   returned by {@link dbase_open} or {@link dbase_create}.
 * @return int The number of records in the database, or FALSE if an
 *   error occurs.
 * @since PHP 5 < 5.3.0, dbase 5, dbase 7
 **/
function dbase_numrecords($dbase_identifier){}

/**
 * Opens a database
 *
 * {@link dbase_open} opens a dBase database with the given access mode.
 *
 * @param string $filename The name of the database. It can be a
 *   relative or absolute path to the file where dBase will store your
 *   data.
 * @param int $mode An integer which correspond to those for the open()
 *   system call (Typically 0 means read-only, 1 means write-only, and 2
 *   means read and write). As of dbase 7.0.0 you can use DBASE_RDONLY
 *   and DBASE_RDWR, respectively, to specify the {@link mode}.
 * @return resource Returns a database link identifier if the database
 *   is successfully opened, or FALSE if an error occurred.
 * @since PHP 5 < 5.3.0, dbase 5, dbase 7
 **/
function dbase_open($filename, $mode){}

/**
 * Packs a database
 *
 * Packs the specified database by permanently deleting all records
 * marked for deletion using {@link dbase_delete_record}. Note that the
 * file will be truncated after successful packing (contrary to dBASE
 * III's PACK command).
 *
 * @param resource $dbase_identifier The database link identifier,
 *   returned by {@link dbase_open} or {@link dbase_create}.
 * @return bool
 * @since PHP 5 < 5.3.0, dbase 5, dbase 7
 **/
function dbase_pack($dbase_identifier){}

/**
 * Replaces a record in a database
 *
 * Replaces the given record in the database with the given data.
 *
 * @param resource $dbase_identifier The database link identifier,
 *   returned by {@link dbase_open} or {@link dbase_create}.
 * @param array $record An indexed array of data. The number of items
 *   must be equal to the number of fields in the database, otherwise
 *   {@link dbase_replace_record} will fail.
 * @param int $record_number An integer which spans from 1 to the
 *   number of records in the database (as returned by {@link
 *   dbase_numrecords}).
 * @return bool
 * @since PHP 5 < 5.3.0, dbase 5, dbase 7
 **/
function dbase_replace_record($dbase_identifier, $record, $record_number){}

/**
 * Close a DBA database
 *
 * {@link dba_close} closes the established database and frees all
 * resources of the specified database handle.
 *
 * @param resource $handle The database handler, returned by {@link
 *   dba_open} or {@link dba_popen}.
 * @return void
 * @since PHP 4, PHP 5, PHP 7
 **/
function dba_close($handle){}

/**
 * Delete DBA entry specified by key
 *
 * {@link dba_delete} deletes the specified entry from the database.
 *
 * @param string $key The key of the entry which is deleted.
 * @param resource $handle The database handler, returned by {@link
 *   dba_open} or {@link dba_popen}.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function dba_delete($key, $handle){}

/**
 * Check whether key exists
 *
 * {@link dba_exists} checks whether the specified {@link key} exists in
 * the database.
 *
 * @param string $key The key the check is performed for.
 * @param resource $handle The database handler, returned by {@link
 *   dba_open} or {@link dba_popen}.
 * @return bool Returns TRUE if the key exists, FALSE otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function dba_exists($key, $handle){}

/**
 * Fetch data specified by key
 *
 * {@link dba_fetch} fetches the data specified by {@link key} from the
 * database specified with {@link handle}.
 *
 * @param string $key The key the data is specified by.
 * @param resource $handle The number of key-value pairs to ignore when
 *   using cdb databases. This value is ignored for all other databases
 *   which do not support multiple keys with the same name.
 * @return string Returns the associated string if the key/data pair is
 *   found, FALSE otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function dba_fetch($key, $handle){}

/**
 * Fetch first key
 *
 * {@link dba_firstkey} returns the first key of the database and resets
 * the internal key pointer. This permits a linear search through the
 * whole database.
 *
 * @param resource $handle The database handler, returned by {@link
 *   dba_open} or {@link dba_popen}.
 * @return string Returns the key on success.
 * @since PHP 4, PHP 5, PHP 7
 **/
function dba_firstkey($handle){}

/**
 * List all the handlers available
 *
 * {@link dba_handlers} list all the handlers supported by this
 * extension.
 *
 * @param bool $full_info Turns on/off full information display in the
 *   result.
 * @return array Returns an array of database handlers. If {@link
 *   full_info} is set to TRUE, the array will be associative with the
 *   handlers names as keys, and their version information as value.
 *   Otherwise, the result will be an indexed array of handlers names.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function dba_handlers($full_info){}

/**
 * Insert entry
 *
 * {@link dba_insert} inserts the entry described with {@link key} and
 * {@link value} into the database.
 *
 * @param string $key The key of the entry to be inserted. If this key
 *   already exist in the database, this function will fail. Use {@link
 *   dba_replace} if you need to replace an existent key.
 * @param string $value The value to be inserted.
 * @param resource $handle The database handler, returned by {@link
 *   dba_open} or {@link dba_popen}.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function dba_insert($key, $value, $handle){}

/**
 * Splits a key in string representation into array representation
 *
 * {@link dba_key_split} splits a key (string representation) into an
 * array representation.
 *
 * @param mixed $key The key in string representation.
 * @return mixed Returns an array of the form array(0 => group, 1 =>
 *   value_name). This function will return FALSE if {@link key} is NULL
 *   or FALSE.
 * @since PHP 5, PHP 7
 **/
function dba_key_split($key){}

/**
 * List all open database files
 *
 * {@link dba_list} list all open database files.
 *
 * @return array An associative array, in the form resourceid =>
 *   filename.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function dba_list(){}

/**
 * Fetch next key
 *
 * {@link dba_nextkey} returns the next key of the database and advances
 * the internal key pointer.
 *
 * @param resource $handle The database handler, returned by {@link
 *   dba_open} or {@link dba_popen}.
 * @return string Returns the key on success.
 * @since PHP 4, PHP 5, PHP 7
 **/
function dba_nextkey($handle){}

/**
 * Open database
 *
 * {@link dba_open} establishes a database instance for {@link path} with
 * {@link mode} using {@link handler}.
 *
 * @param string $path Commonly a regular path in your filesystem.
 * @param string $mode It is r for read access, w for read/write access
 *   to an already existing database, c for read/write access and
 *   database creation if it doesn't currently exist, and n for create,
 *   truncate and read/write access. The database is created in BTree
 *   mode, other modes (like Hash or Queue) are not supported.
 *   Additionally you can set the database lock method with the next
 *   char. Use l to lock the database with a .lck file or d to lock the
 *   databasefile itself. It is important that all of your applications
 *   do this consistently. If you want to test the access and do not want
 *   to wait for the lock you can add t as third character. When you are
 *   absolutely sure that you do not require database locking you can do
 *   so by using - instead of l or d. When none of d, l or - is used, dba
 *   will lock on the database file as it would with d.
 * @param string $handler The name of the handler which shall be used
 *   for accessing {@link path}. It is passed all optional parameters
 *   given to {@link dba_open} and can act on behalf of them.
 * @return resource Returns a positive handle on success.
 * @since PHP 4, PHP 5, PHP 7
 **/
function dba_open($path, $mode, $handler){}

/**
 * Optimize database
 *
 * {@link dba_optimize} optimizes the underlying database.
 *
 * @param resource $handle The database handler, returned by {@link
 *   dba_open} or {@link dba_popen}.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function dba_optimize($handle){}

/**
 * Open database persistently
 *
 * {@link dba_popen} establishes a persistent database instance for
 * {@link path} with {@link mode} using {@link handler}.
 *
 * @param string $path Commonly a regular path in your filesystem.
 * @param string $mode It is r for read access, w for read/write access
 *   to an already existing database, c for read/write access and
 *   database creation if it doesn't currently exist, and n for create,
 *   truncate and read/write access.
 * @param string $handler The name of the handler which shall be used
 *   for accessing {@link path}. It is passed all optional parameters
 *   given to {@link dba_popen} and can act on behalf of them.
 * @return resource Returns a positive handle on success.
 * @since PHP 4, PHP 5, PHP 7
 **/
function dba_popen($path, $mode, $handler){}

/**
 * Replace or insert entry
 *
 * {@link dba_replace} replaces or inserts the entry described with
 * {@link key} and {@link value} into the database specified by {@link
 * handle}.
 *
 * @param string $key The key of the entry to be replaced.
 * @param string $value The value to be replaced.
 * @param resource $handle The database handler, returned by {@link
 *   dba_open} or {@link dba_popen}.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function dba_replace($key, $value, $handle){}

/**
 * Synchronize database
 *
 * {@link dba_sync} synchronizes the database. This will probably trigger
 * a physical write to the disk, if supported.
 *
 * @param resource $handle The database handler, returned by {@link
 *   dba_open} or {@link dba_popen}.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function dba_sync($handle){}

/**
 * Add a tuple to a relation
 *
 * Adds a tuple to a {@link relation}.
 *
 * @param resource $relation
 * @param array $tuple An array of attribute/value pairs to be inserted
 *   into the given {@link relation}. After successful execution this
 *   array will contain the complete data of the newly created tuple,
 *   including all implicitly set domain fields like sequences.
 * @return int The function will return DBPLUS_ERR_NOERR on success or
 *   a db++ error code on failure.
 * @since PHP 4 = 0.9
 **/
function dbplus_add($relation, $tuple){}

/**
 * Perform AQL query
 *
 * Executes an AQL {@link query} on the given {@link server} and {@link
 * dbpath}.
 *
 * @param string $query The AQL query to be executed. Further
 *   information on the AQL (Algebraic Query Language) is provided in the
 *   original db++ manual.
 * @param string $server
 * @param string $dbpath
 * @return resource Returns a relation handle on success. The result
 *   data may be fetched from this relation by calling {@link
 *   dbplus_next} and {@link dbplus_curr}. Other relation access
 *   functions will not work on a result relation.
 * @since PHP 4 = 0.9
 **/
function dbplus_aql($query, $server, $dbpath){}

/**
 * Get/Set database virtual current directory
 *
 * Changes the virtual current directory where relation files will be
 * looked for by {@link dbplus_open}.
 *
 * @param string $newdir The new directory for relation files. You can
 *   omit this parameter to query the current working directory.
 * @return string Returns the absolute path of the current directory.
 * @since PHP 4 = 0.9
 **/
function dbplus_chdir($newdir){}

/**
 * Close a relation
 *
 * Closes a relation previously opened by {@link dbplus_open}.
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @return mixed Returns TRUE on success or DBPLUS_ERR_UNKNOWN on
 *   failure.
 * @since PHP 4 = 0.9
 **/
function dbplus_close($relation){}

/**
 * Get current tuple from relation
 *
 * Reads the data for the current tuple for the given {@link relation}.
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @param array $tuple The data will be passed back in this parameter,
 *   as an associative array.
 * @return int The function will return zero (aka. DBPLUS_ERR_NOERR) on
 *   success or a db++ error code on failure.
 * @since PHP 4 = 0.9
 **/
function dbplus_curr($relation, &$tuple){}

/**
 * Get error string for given errorcode or last error
 *
 * Returns a clear error string for the given error code.
 *
 * @param int $errno The error code. If not provided, the result code
 *   of the last db++ operation is assumed.
 * @return string Returns the error message.
 * @since PHP 4 = 0.9
 **/
function dbplus_errcode($errno){}

/**
 * Get error code for last operation
 *
 * Returns the error code returned by the last db++ operation.
 *
 * @return int Returns the error code, as an integer.
 * @since PHP 4 = 0.9
 **/
function dbplus_errno(){}

/**
 * Set a constraint on a relation
 *
 * Places a constraint on the given {@link relation}.
 *
 * Further calls to functions like {@link dbplus_curr} or {@link
 * dbplus_next} will only return tuples matching the given constraints.
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @param array $constraints Constraints are triplets of strings
 *   containing of a domain name, a comparison operator and a comparison
 *   value. The {@link constraints} parameter array may consist of a
 *   collection of string arrays, each of which contains a domain, an
 *   operator and a value, or of a single string array containing a
 *   multiple of three elements. The comparison operator may be one of
 *   the following strings: '==', '>', '>=', '<', '<=', '!=', '~' for a
 *   regular expression match and 'BAND' or 'BOR' for bitwise operations.
 * @param mixed $tuple
 * @return int
 * @since PHP 4 = 0.9
 **/
function dbplus_find($relation, $constraints, $tuple){}

/**
 * Get first tuple from relation
 *
 * Reads the data for the first tuple for the given {@link relation},
 * makes it the current tuple and pass it back as an associative array in
 * {@link tuple}.
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @param array $tuple
 * @return int Returns DBPLUS_ERR_NOERR on success or a db++ error code
 *   on failure.
 * @since PHP 4 = 0.9
 **/
function dbplus_first($relation, &$tuple){}

/**
 * Flush all changes made on a relation
 *
 * Writes all changes applied to {@link relation} since the last flush to
 * disk.
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @return int Returns DBPLUS_ERR_NOERR on success or a db++ error code
 *   on failure.
 * @since PHP 4 = 0.9
 **/
function dbplus_flush($relation){}

/**
 * Free all locks held by this client
 *
 * Frees all tuple locks held by this client.
 *
 * @return int
 * @since PHP 4 = 0.9
 **/
function dbplus_freealllocks(){}

/**
 * Release write lock on tuple
 *
 * Releases a write lock on the given {@link tuple} previously obtained
 * by {@link dbplus_getlock}.
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @param string $tuple
 * @return int
 * @since PHP 4 = 0.9
 **/
function dbplus_freelock($relation, $tuple){}

/**
 * Free all tuple locks on given relation
 *
 * Frees all tuple locks held on the given {@link relation}.
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @return int
 * @since PHP 4 = 0.9
 **/
function dbplus_freerlocks($relation){}

/**
 * Get a write lock on a tuple
 *
 * Requests a write lock on the specified {@link tuple}.
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @param string $tuple
 * @return int Returns zero on success or a non-zero error code,
 *   especially DBPLUS_ERR_WLOCKED on failure.
 * @since PHP 4 = 0.9
 **/
function dbplus_getlock($relation, $tuple){}

/**
 * Get an id number unique to a relation
 *
 * Obtains a number guaranteed to be unique for the given {@link
 * relation} and will pass it back in the variable given as {@link
 * uniqueid}.
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @param int $uniqueid
 * @return int Returns DBPLUS_ERR_NOERR on success or a db++ error code
 *   on failure.
 * @since PHP 4 = 0.9
 **/
function dbplus_getunique($relation, $uniqueid){}

/**
 * Get information about a relation
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @param string $key
 * @param array $result
 * @return int
 * @since PHP 4 = 0.9
 **/
function dbplus_info($relation, $key, &$result){}

/**
 * Get last tuple from relation
 *
 * Reads the data for the last tuple for the given {@link relation},
 * makes it the current tuple and pass it back as an associative array in
 * {@link tuple}.
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @param array $tuple
 * @return int Returns DBPLUS_ERR_NOERR on success or a db++ error code
 *   on failure.
 * @since PHP 4 = 0.9
 **/
function dbplus_last($relation, &$tuple){}

/**
 * Request write lock on relation
 *
 * Requests a write lock on the given {@link relation}.
 *
 * Other clients may still query the relation, but can't alter it while
 * it is locked.
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @return int
 * @since PHP 4 = 0.9
 **/
function dbplus_lockrel($relation){}

/**
 * Get next tuple from relation
 *
 * Reads the data for the next tuple for the given {@link relation},
 * makes it the current tuple and will pass it back as an associative
 * array in {@link tuple}.
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @param array $tuple
 * @return int Returns DBPLUS_ERR_NOERR on success or a db++ error code
 *   on failure.
 * @since PHP 4 = 0.9
 **/
function dbplus_next($relation, &$tuple){}

/**
 * Open relation file
 *
 * Opens the given relation file.
 *
 * @param string $name Can be either a file name or a relative or
 *   absolute path name. This will be mapped in any case to an absolute
 *   relation file path on a specific host machine and server.
 * @return resource On success a relation file resource (cursor) is
 *   returned which must be used in any subsequent commands referencing
 *   the relation. Failure leads to a zero return value, the actual error
 *   code may be asked for by calling {@link dbplus_errno}.
 * @since PHP 4 = 0.9
 **/
function dbplus_open($name){}

/**
 * Get previous tuple from relation
 *
 * Reads the data for the previous tuple for the given {@link relation},
 * makes it the current tuple and will pass it back as an associative
 * array in {@link tuple}.
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @param array $tuple
 * @return int Returns DBPLUS_ERR_NOERR on success or a db++ error code
 *   on failure.
 * @since PHP 4 = 0.9
 **/
function dbplus_prev($relation, &$tuple){}

/**
 * Change relation permissions
 *
 * Changes access permissions as specified by {@link mask}, {@link user}
 * and {@link group}. The values for these are operating system specific.
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @param int $mask
 * @param string $user
 * @param string $group
 * @return int
 * @since PHP 4 = 0.9
 **/
function dbplus_rchperm($relation, $mask, $user, $group){}

/**
 * Creates a new DB++ relation
 *
 * Creates a new relation. Any existing relation sharing the same {@link
 * name} will be overwritten if the relation is currently not in use and
 * {@link overwrite} is set to TRUE.
 *
 * @param string $name
 * @param mixed $domlist A combination of domains. May be passed as a
 *   single domain name string or as an array of domain names. This
 *   parameter should contain the domain specification for the new
 *   relation within an array of domain description strings. A domain
 *   description string consists of a domain name unique to this
 *   relation, a slash and a type specification character. See the db++
 *   documentation, especially the dbcreate(1) manpage, for a description
 *   of available type specifiers and their meanings.
 * @param bool $overwrite
 * @return resource
 * @since PHP 4 = 0.9
 **/
function dbplus_rcreate($name, $domlist, $overwrite){}

/**
 * Creates an exact but empty copy of a relation including indices
 *
 * {@link dbplus_rcrtexact} will create an exact but empty copy of the
 * given {@link relation} under a new {@link name}.
 *
 * @param string $name
 * @param resource $relation The copied relation, opened by {@link
 *   dbplus_open}.
 * @param bool $overwrite An existing relation by the same {@link name}
 *   will only be overwritten if this parameter is set to TRUE and no
 *   other process is currently using the relation.
 * @return mixed Returns resource on success or DBPLUS_ERR_UNKNOWN on
 *   failure.
 * @since PHP 4 = 0.9
 **/
function dbplus_rcrtexact($name, $relation, $overwrite){}

/**
 * Creates an empty copy of a relation with default indices
 *
 * {@link dbplus_rcrtexact} will create an empty copy of the given {@link
 * relation} under a new {@link name}, but with default indices.
 *
 * @param string $name
 * @param resource $relation The copied relation, opened by {@link
 *   dbplus_open}.
 * @param int $overwrite An existing relation by the same {@link name}
 *   will only be overwritten if this parameter is set to TRUE and no
 *   other process is currently using the relation.
 * @return mixed Returns resource on success or DBPLUS_ERR_UNKNOWN on
 *   failure.
 * @since PHP 4 = 0.9
 **/
function dbplus_rcrtlike($name, $relation, $overwrite){}

/**
 * Resolve host information for relation
 *
 * {@link dbplus_resolve} will try to resolve the given {@link
 * relation_name} and find out internal server id, real hostname and the
 * database path on this host.
 *
 * @param string $relation_name The relation name.
 * @return array Returns an array containing these values under the
 *   keys sid, host and host_path or FALSE on error.
 * @since PHP 4 = 0.9
 **/
function dbplus_resolve($relation_name){}

/**
 * Restore position
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @param array $tuple
 * @return int
 * @since PHP 4 = 0.9
 **/
function dbplus_restorepos($relation, $tuple){}

/**
 * Specify new primary key for a relation
 *
 * {@link dbplus_rkeys} will replace the current primary key for {@link
 * relation} with the combination of domains specified by {@link
 * domlist}.
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @param mixed $domlist A combination of domains. May be passed as a
 *   single domain name string or as an array of domain names.
 * @return mixed Returns resource on success or DBPLUS_ERR_UNKNOWN on
 *   failure.
 * @since PHP 4 = 0.9
 **/
function dbplus_rkeys($relation, $domlist){}

/**
 * Open relation file local
 *
 * {@link dbplus_ropen} will open the relation {@link file} locally for
 * quick access without any client/server overhead. Access is read only
 * and only {@link dbplus_curr} and {@link dbplus_next} may be applied to
 * the returned relation.
 *
 * @param string $name
 * @return resource
 * @since PHP 4 = 0.9
 **/
function dbplus_ropen($name){}

/**
 * Perform local (raw) AQL query
 *
 * {@link dbplus_rquery} performs a local (raw) AQL query using an AQL
 * interpreter embedded into the db++ client library. {@link
 * dbplus_rquery} is faster than {@link dbplus_aql} but will work on
 * local data only.
 *
 * @param string $query
 * @param string $dbpath
 * @return resource
 * @since PHP 4 = 0.9
 **/
function dbplus_rquery($query, $dbpath){}

/**
 * Rename a relation
 *
 * {@link dbplus_rrename} will change the name of {@link relation} to
 * {@link name}.
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @param string $name
 * @return int
 * @since PHP 4 = 0.9
 **/
function dbplus_rrename($relation, $name){}

/**
 * Create a new secondary index for a relation
 *
 * {@link dbplus_rsecindex} will create a new secondary index for {@link
 * relation} with consists of the domains specified by {@link domlist}
 * and is of type {@link type}
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @param mixed $domlist A combination of domains. May be passed as a
 *   single domain name string or as an array of domain names.
 * @param int $type
 * @return mixed Returns resource on success or DBPLUS_ERR_UNKNOWN on
 *   failure.
 * @since PHP 4 = 0.9
 **/
function dbplus_rsecindex($relation, $domlist, $type){}

/**
 * Remove relation from filesystem
 *
 * {@link dbplus_runlink} will close and remove the {@link relation}.
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @return int
 * @since PHP 4 = 0.9
 **/
function dbplus_runlink($relation){}

/**
 * Remove all tuples from relation
 *
 * {@link dbplus_rzap} will remove all tuples from {@link relation}.
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @return int
 * @since PHP 4 = 0.9
 **/
function dbplus_rzap($relation){}

/**
 * Save position
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @return int
 * @since PHP 4 = 0.9
 **/
function dbplus_savepos($relation){}

/**
 * Set index
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @param string $idx_name
 * @return int
 * @since PHP 4 = 0.9
 **/
function dbplus_setindex($relation, $idx_name){}

/**
 * Set index by number
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @param int $idx_number
 * @return int
 * @since PHP 4 = 0.9
 **/
function dbplus_setindexbynumber($relation, $idx_number){}

/**
 * Perform SQL query
 *
 * @param string $query
 * @param string $server
 * @param string $dbpath
 * @return resource
 * @since PHP 4 = 0.9
 **/
function dbplus_sql($query, $server, $dbpath){}

/**
 * Execute TCL code on server side
 *
 * A db++ server will prepare a TCL interpreter for each client
 * connection. This interpreter will enable the server to execute TCL
 * code provided by the client as a sort of stored procedures to improve
 * the performance of database operations by avoiding client/server data
 * transfers and context switches.
 *
 * {@link dbplus_tcl} needs to pass the client connection id the TCL
 * {@link script} code should be executed by. {@link dbplus_resolve} will
 * provide this connection id. The function will return whatever the TCL
 * code returns or a TCL error message if the TCL code fails.
 *
 * @param int $sid
 * @param string $script
 * @return string
 * @since PHP 4 = 0.9
 **/
function dbplus_tcl($sid, $script){}

/**
 * Remove tuple and return new current tuple
 *
 * {@link dbplus_tremove} removes {@link tuple} from {@link relation} if
 * it perfectly matches a tuple within the relation. {@link current}, if
 * given, will contain the data of the new current tuple after calling
 * {@link dbplus_tremove}.
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @param array $tuple
 * @param array $current
 * @return int
 * @since PHP 4 = 0.9
 **/
function dbplus_tremove($relation, $tuple, &$current){}

/**
 * Undo
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @return int
 * @since PHP 4 = 0.9
 **/
function dbplus_undo($relation){}

/**
 * Prepare undo
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @return int
 * @since PHP 4 = 0.9
 **/
function dbplus_undoprepare($relation){}

/**
 * Give up write lock on relation
 *
 * Release a write lock previously obtained by {@link dbplus_lockrel}.
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @return int
 * @since PHP 4 = 0.9
 **/
function dbplus_unlockrel($relation){}

/**
 * Remove a constraint from relation
 *
 * Calling {@link dbplus_unselect} will remove a constraint previously
 * set by {@link dbplus_find} on {@link relation}.
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @return int
 * @since PHP 4 = 0.9
 **/
function dbplus_unselect($relation){}

/**
 * Update specified tuple in relation
 *
 * {@link dbplus_update} replaces the {@link old} tuple with the data
 * from the {@link new} one, only if the {@link old} completely matches a
 * tuple within {@link relation}.
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @param array $old The old tuple.
 * @param array $new The new tuple.
 * @return int
 * @since PHP 4 = 0.9
 **/
function dbplus_update($relation, $old, $new){}

/**
 * Request exclusive lock on relation
 *
 * Request an exclusive lock on {@link relation} preventing even read
 * access from other clients.
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @return int
 * @since PHP 4 = 0.9
 **/
function dbplus_xlockrel($relation){}

/**
 * Free exclusive lock on relation
 *
 * Releases an exclusive lock previously obtained by {@link
 * dbplus_xlockrel}.
 *
 * @param resource $relation A relation opened by {@link dbplus_open}.
 * @return int
 * @since PHP 4 = 0.9
 **/
function dbplus_xunlockrel($relation){}

/**
 * Close an open connection/database
 *
 * @param object $link_identifier The DBX link object to close.
 * @return int Returns 1 on success and 0 on errors.
 * @since PHP 4 >= 4.0.6, PHP 5 < 5.1.0, PECL dbx >= 1.1.0
 **/
function dbx_close($link_identifier){}

/**
 * Compare two rows for sorting purposes
 *
 * {@link dbx_compare} is a helper function for {@link dbx_sort} to ease
 * the make and use of the custom sorting function.
 *
 * @param array $row_a First row
 * @param array $row_b Second row
 * @param string $column_key The compared column
 * @param int $flags The {@link flags} can be set to specify comparison
 *   direction: DBX_CMP_ASC - ascending order DBX_CMP_DESC - descending
 *   order and the preferred comparison type: DBX_CMP_NATIVE - no type
 *   conversion DBX_CMP_TEXT - compare items as strings DBX_CMP_NUMBER -
 *   compare items numerically One of the direction and one of the type
 *   constant can be combined with bitwise OR operator (|).
 * @return int Returns 0 if the row_a[$column_key] is equal to
 *   row_b[$column_key], and 1 or -1 if the former is greater or is
 *   smaller than the latter one, respectively, or vice versa if the
 *   {@link flag} is set to DBX_CMP_DESC.
 * @since PHP 4 >= 4.1.0, PHP 5 < 5.1.0, PECL dbx >= 1.1.0
 **/
function dbx_compare($row_a, $row_b, $column_key, $flags){}

/**
 * Open a connection/database
 *
 * Opens a connection to a database.
 *
 * @param mixed $module The {@link module} parameter can be either a
 *   string or a constant, though the latter form is preferred. The
 *   possible values are given below, but keep in mind that they only
 *   work if the module is actually loaded.
 *   
 *   DBX_MYSQL or "mysql" DBX_ODBC or "odbc" DBX_PGSQL or "pgsql"
 *   DBX_MSSQL or "mssql" DBX_FBSQL or "fbsql" DBX_SYBASECT or
 *   "sybase_ct" DBX_OCI8 or "oci8" DBX_SQLITE or "sqlite"
 * @param string $host The SQL server host
 * @param string $database The database name
 * @param string $username The username
 * @param string $password The password
 * @param int $persistent The {@link persistent} parameter can be set
 *   to DBX_PERSISTENT, if so, a persistent connection will be created.
 * @return object Returns an object on success, FALSE on error. If a
 *   connection has been made but the database could not be selected, the
 *   connection is closed and FALSE is returned.
 * @since PHP 4 >= 4.0.6, PHP 5 < 5.1.0, PECL dbx >= 1.1.0
 **/
function dbx_connect($module, $host, $database, $username, $password, $persistent){}

/**
 * Report the error message of the latest function call in the module
 *
 * {@link dbx_error} returns the last error message.
 *
 * @param object $link_identifier The DBX link object returned by
 *   {@link dbx_connect}
 * @return string Returns a string containing the error message from
 *   the last function call of the abstracted module (e.g. mysql module).
 *   If there are multiple connections in the same module, just the last
 *   error is given. If there are connections on different modules, the
 *   latest error is returned for the module specified by the {@link
 *   link_identifier} parameter.
 * @since PHP 4 >= 4.0.6, PHP 5 < 5.1.0, PECL dbx >= 1.1.0
 **/
function dbx_error($link_identifier){}

/**
 * Escape a string so it can safely be used in an sql-statement
 *
 * Escape the given string so that it can safely be used in an
 * sql-statement.
 *
 * @param object $link_identifier The DBX link object returned by
 *   {@link dbx_connect}
 * @param string $text The string to escape.
 * @return string Returns the text, escaped where necessary (such as
 *   quotes, backslashes etc). On error, NULL is returned.
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.1.0, PECL dbx >= 1.1.0
 **/
function dbx_escape_string($link_identifier, $text){}

/**
 * Fetches rows from a query-result that had the flag set
 *
 * {@link dbx_fetch_row} fetches rows from a result identifier that had
 * the DBX_RESULT_UNBUFFERED flag set.
 *
 * When the DBX_RESULT_UNBUFFERED is not set in the query, {@link
 * dbx_fetch_row} will fail as all rows have already been fetched into
 * the results data property.
 *
 * As a side effect, the rows property of the query-result object is
 * incremented for each successful call to {@link dbx_fetch_row}.
 *
 * @param object $result_identifier A result set returned by {@link
 *   dbx_query}.
 * @return mixed Returns an object on success that contains the same
 *   information as any row would have in the {@link dbx_query} result
 *   data property, including columns accessible by index or fieldname
 *   when the flags for {@link dbx_query} were set that way.
 * @since PHP 5 < 5.1.0, PECL dbx >= 1.1.0
 **/
function dbx_fetch_row($result_identifier){}

/**
 * Send a query and fetch all results (if any)
 *
 * Sends a query and fetch all results.
 *
 * @param object $link_identifier The DBX link object returned by
 *   {@link dbx_connect}
 * @param string $sql_statement SQL statement. Data inside the query
 *   should be properly escaped.
 * @param int $flags The {@link flags} parameter is used to control the
 *   amount of information that is returned. It may be any combination of
 *   the following constants with the bitwise OR operator (|). The
 *   DBX_COLNAMES_* flags override the dbx.colnames_case setting from .
 *   DBX_RESULT_INDEX It is always set, that is, the returned object has
 *   a data property which is a 2 dimensional array indexed numerically.
 *   For example, in the expression data[2][3] 2 stands for the row (or
 *   record) number and 3 stands for the column (or field) number. The
 *   first row and column are indexed at 0. If DBX_RESULT_ASSOC is also
 *   specified, the returning object contains the information related to
 *   DBX_RESULT_INFO too, even if it was not specified. DBX_RESULT_INFO
 *   It provides info about columns, such as field names and field types.
 *   DBX_RESULT_ASSOC It effects that the field values can be accessed
 *   with the respective column names used as keys to the returned
 *   object's data property. Associated results are actually references
 *   to the numerically indexed data, so modifying data[0][0] causes that
 *   data[0]['field_name_for_first_column'] is modified as well.
 *   DBX_RESULT_UNBUFFERED This flag will not create the data property,
 *   and the rows property will initially be 0. Use this flag for large
 *   datasets, and use {@link dbx_fetch_row} to retrieve the results row
 *   by row. The {@link dbx_fetch_row} function will return rows that are
 *   conformant to the flags set with this query. Incidentally, it will
 *   also update the rows each time it is called. DBX_COLNAMES_UNCHANGED
 *   The case of the returned column names will not be changed.
 *   DBX_COLNAMES_UPPERCASE The case of the returned column names will be
 *   changed to uppercase. DBX_COLNAMES_LOWERCASE The case of the
 *   returned column names will be changed to lowercase. Note that
 *   DBX_RESULT_INDEX is always used, regardless of the actual value of
 *   {@link flags} parameter. This means that only the following
 *   combinations are effective: DBX_RESULT_INDEX DBX_RESULT_INDEX |
 *   DBX_RESULT_INFO DBX_RESULT_INDEX | DBX_RESULT_INFO |
 *   DBX_RESULT_ASSOC - this is the default, if {@link flags} is not
 *   specified.
 * @return mixed {@link dbx_query} returns an object or 1 on success,
 *   and 0 on failure. The result object is returned only if the query
 *   given in {@link sql_statement} produces a result set (i.e. a SELECT
 *   query, even if the result set is empty).
 * @since PHP 4 >= 4.0.6, PHP 5 < 5.1.0, PECL dbx >= 1.1.0
 **/
function dbx_query($link_identifier, $sql_statement, $flags){}

/**
 * Sort a result from a dbx_query by a custom sort function
 *
 * Sort a result from a {@link dbx_query} call with a custom sort
 * function.
 *
 * @param object $result A result set returned by {@link dbx_query}.
 * @param string $user_compare_function The user-defined comparison
 *   function. It must accept two arguments and return an integer less
 *   than, equal to, or greater than zero if the first argument is
 *   considered to be respectively less than, equal to, or greater than
 *   the second.
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5 < 5.1.0, PECL dbx >= 1.1.0
 **/
function dbx_sort($result, $user_compare_function){}

/**
 * Overrides the domain for a single lookup
 *
 * This function allows you to override the current domain for a single
 * message lookup.
 *
 * @param string $domain The domain
 * @param string $message The message
 * @param int $category The category
 * @return string A string on success.
 * @since PHP 4, PHP 5, PHP 7
 **/
function dcgettext($domain, $message, $category){}

/**
 * Plural version of dcgettext
 *
 * This function allows you to override the current domain for a single
 * plural message lookup.
 *
 * @param string $domain The domain
 * @param string $msgid1
 * @param string $msgid2
 * @param int $n
 * @param int $category
 * @return string A string on success.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function dcngettext($domain, $msgid1, $msgid2, $n, $category){}

/**
 * Generates a backtrace
 *
 * {@link debug_backtrace} generates a PHP backtrace.
 *
 * @param int $options As of 5.3.6, this parameter is a bitmask for the
 *   following options: {@link debug_backtrace} options
 *   DEBUG_BACKTRACE_PROVIDE_OBJECT Whether or not to populate the
 *   "object" index. DEBUG_BACKTRACE_IGNORE_ARGS Whether or not to omit
 *   the "args" index, and thus all the function/method arguments, to
 *   save memory. Before 5.3.6, the only values recognized are TRUE or
 *   FALSE, which are the same as setting or not setting the
 *   DEBUG_BACKTRACE_PROVIDE_OBJECT option respectively.
 * @param int $limit As of 5.4.0, this parameter can be used to limit
 *   the number of stack frames returned. By default ({@link limit}=0) it
 *   returns all stack frames.
 * @return array Returns an array of associative arrays. The possible
 *   returned elements are as follows:
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function debug_backtrace($options, $limit){}

/**
 * Prints a backtrace
 *
 * {@link debug_print_backtrace} prints a PHP backtrace. It prints the
 * function calls, included/required files and {@link eval}ed stuff.
 *
 * @param int $options As of 5.3.6, this parameter is a bitmask for the
 *   following options: {@link debug_print_backtrace} options
 *   DEBUG_BACKTRACE_IGNORE_ARGS Whether or not to omit the "args" index,
 *   and thus all the function/method arguments, to save memory.
 * @param int $limit As of 5.4.0, this parameter can be used to limit
 *   the number of stack frames printed. By default ({@link limit}=0) it
 *   prints all stack frames.
 * @return void
 * @since PHP 5, PHP 7
 **/
function debug_print_backtrace($options, $limit){}

/**
 * Dumps a string representation of an internal zend value to output
 *
 * @param mixed $variable The variable being evaluated.
 * @return void
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function debug_zval_dump($variable){}

/**
 * Decimal to binary
 *
 * Returns a string containing a binary representation of the given
 * {@link number} argument.
 *
 * @param int $number Decimal value to convert
 * @return string Binary string representation of {@link number}
 * @since PHP 4, PHP 5, PHP 7
 **/
function decbin($number){}

/**
 * Decimal to hexadecimal
 *
 * Returns a string containing a hexadecimal representation of the given
 * unsigned {@link number} argument.
 *
 * The largest number that can be converted is PHP_INT_MAX * 2 + 1 (or
 * -1): on 32-bit platforms, this will be 4294967295 in decimal, which
 * results in {@link dechex} returning ffffffff.
 *
 * @param int $number The decimal value to convert. As PHP's integer
 *   type is signed, but {@link dechex} deals with unsigned integers,
 *   negative integers will be treated as though they were unsigned.
 * @return string Hexadecimal string representation of {@link number}.
 * @since PHP 4, PHP 5, PHP 7
 **/
function dechex($number){}

/**
 * Decimal to octal
 *
 * Returns a string containing an octal representation of the given
 * {@link number} argument. The largest number that can be converted
 * depends on the platform in use. For 32-bit platforms this is usually
 * 4294967295 in decimal resulting in 37777777777. For 64-bit platforms
 * this is usually 9223372036854775807 in decimal resulting in
 * 777777777777777777777.
 *
 * @param int $number Decimal value to convert
 * @return string Octal string representation of {@link number}
 * @since PHP 4, PHP 5, PHP 7
 **/
function decoct($number){}

/**
 * Defines a named constant
 *
 * Defines a named constant at runtime.
 *
 * @param string $name The name of the constant.
 * @param mixed $value The value of the constant. In PHP 5, {@link
 *   value} must be a scalar value (integer, float, string, boolean, or
 *   NULL). In PHP 7, array values are also accepted.
 * @param bool $case_insensitive If set to TRUE, the constant will be
 *   defined case-insensitive. The default behavior is case-sensitive;
 *   i.e. CONSTANT and Constant represent different values.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function define($name, $value, $case_insensitive){}

/**
 * Checks whether a given named constant exists
 *
 * Checks whether the given constant exists and is defined.
 *
 * @param string $name The constant name.
 * @return bool Returns TRUE if the named constant given by {@link
 *   name} has been defined, FALSE otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function defined($name){}

/**
 * Initializes all syslog related variables
 *
 * Initializes all variables used in the syslog functions.
 *
 * @return void
 * @since PHP 4, PHP 5 < 5.4.0
 **/
function define_syslog_variables(){}

/**
 * Incrementally deflate data
 *
 * Incrementally deflates data in the specified context.
 *
 * @param resource $context A context created with {@link
 *   deflate_init}.
 * @param string $data A chunk of data to compress.
 * @param int $flush_mode One of ZLIB_BLOCK, ZLIB_NO_FLUSH,
 *   ZLIB_PARTIAL_FLUSH, ZLIB_SYNC_FLUSH (default), ZLIB_FULL_FLUSH,
 *   ZLIB_FINISH. Normally you will want to set ZLIB_NO_FLUSH to maximize
 *   compression, and ZLIB_FINISH to terminate with the last chunk of
 *   data. See the zlib manual for a detailed description of these
 *   constants.
 * @return string Returns a chunk of compressed data, .
 * @since PHP 7
 **/
function deflate_add($context, $data, $flush_mode){}

/**
 * Initialize an incremental deflate context
 *
 * Initializes an incremental deflate context using the specified {@link
 * encoding}.
 *
 * Note that the window option here only sets the window size of the
 * algorithm, differently from the zlib filters where the same parameter
 * also sets the encoding to use; the encoding must be set with the
 * {@link encoding} parameter.
 *
 * Limitation: there is currently no way to set the header information on
 * a GZIP compressed stream, which are set as follows: GZIP signature
 * (\x1f\x8B); compression method (\x08 == DEFLATE); 6 zero bytes; the
 * operating system set to the current system (\x00 = Windows, \x03 =
 * Unix, etc.)
 *
 * @param int $encoding One of the ZLIB_ENCODING_* constants.
 * @param array $options An associative array which may contain the
 *   following elements: level The compression level in range -1..9;
 *   defaults to -1. memory The compression memory level in range 1..9;
 *   defaults to 8. window The zlib window size (logarithmic) in range
 *   8..15; defaults to 15. strategy One of ZLIB_FILTERED,
 *   ZLIB_HUFFMAN_ONLY, ZLIB_RLE, ZLIB_FIXED or ZLIB_DEFAULT_STRATEGY
 *   (the default). dictionary A string or an array of strings of the
 *   preset dictionary (default: no preset dictionary).
 * @return resource Returns a deflate context resource (zlib.deflate)
 *   on success, .
 * @since PHP 7
 **/
function deflate_init($encoding, $options){}

/**
 * Converts the number in degrees to the radian equivalent
 *
 * This function converts {@link number} from degrees to the radian
 * equivalent.
 *
 * @param float $number Angular value in degrees
 * @return float The radian equivalent of {@link number}
 * @since PHP 4, PHP 5, PHP 7
 **/
function deg2rad($number){}

/**
 * Override the current domain
 *
 * The {@link dgettext} function allows you to override the current
 * {@link domain} for a single message lookup.
 *
 * @param string $domain The domain
 * @param string $message The message
 * @return string A string on success.
 * @since PHP 4, PHP 5, PHP 7
 **/
function dgettext($domain, $message){}

/**
 * Closes the file descriptor given by fd
 *
 * The function {@link dio_close} closes the file descriptor {@link fd}.
 *
 * @param resource $fd The file descriptor returned by {@link
 *   dio_open}.
 * @return void
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.0
 **/
function dio_close($fd){}

/**
 * Performs a c library fcntl on fd
 *
 * The {@link dio_fcntl} function performs the operation specified by
 * {@link cmd} on the file descriptor {@link fd}. Some commands require
 * additional arguments {@link args} to be supplied.
 *
 * @param resource $fd The file descriptor returned by {@link
 *   dio_open}.
 * @param int $cmd Can be one of the following operations: F_SETLK -
 *   Lock is set or cleared. If the lock is held by someone else {@link
 *   dio_fcntl} returns -1. F_SETLKW - like F_SETLK, but in case the lock
 *   is held by someone else, {@link dio_fcntl} waits until the lock is
 *   released. F_GETLK - {@link dio_fcntl} returns an associative array
 *   (as described below) if someone else prevents lock. If there is no
 *   obstruction key "type" will set to F_UNLCK. F_DUPFD - finds the
 *   lowest numbered available file descriptor greater than or equal to
 *   {@link args} and returns them. F_SETFL - Sets the file descriptors
 *   flags to the value specified by {@link args}, which can be O_APPEND,
 *   O_NONBLOCK or O_ASYNC. To use O_ASYNC you will need to use the PCNTL
 *   extension.
 * @param mixed $args {@link args} is an associative array, when {@link
 *   cmd} is F_SETLK or F_SETLLW, with the following keys: start - offset
 *   where lock begins length - size of locked area. zero means to end of
 *   file whence - Where l_start is relative to: can be SEEK_SET,
 *   SEEK_END and SEEK_CUR type - type of lock: can be F_RDLCK (read
 *   lock), F_WRLCK (write lock) or F_UNLCK (unlock)
 * @return mixed Returns the result of the C call.
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.0
 **/
function dio_fcntl($fd, $cmd, $args){}

/**
 * Opens a file (creating it if necessary) at a lower level than the C
 * library input/ouput stream functions allow
 *
 * {@link dio_open} opens a file and returns a new file descriptor for
 * it.
 *
 * @param string $filename The pathname of the file to open.
 * @param int $flags The {@link flags} parameter is a bitwise-ORed
 *   value comprising flags from the following list. This value must
 *   include one of O_RDONLY, O_WRONLY, or O_RDWR. Additionally, it may
 *   include any combination of the other flags from this list. O_RDONLY
 *   - opens the file for read access. O_WRONLY - opens the file for
 *   write access. O_RDWR - opens the file for both reading and writing.
 *   O_CREAT - creates the file, if it doesn't already exist. O_EXCL - if
 *   both O_CREAT and O_EXCL are set and the file already exists, {@link
 *   dio_open} will fail. O_TRUNC - if the file exists and is opened for
 *   write access, the file will be truncated to zero length. O_APPEND -
 *   write operations write data at the end of the file. O_NONBLOCK -
 *   sets non blocking mode. O_NOCTTY - prevent the OS from assigning the
 *   opened file as the process's controlling terminal when opening a TTY
 *   device file.
 * @param int $mode If {@link flags} contains O_CREAT, {@link mode}
 *   will set the permissions of the file (creation permissions). {@link
 *   mode} is required for correct operation when O_CREAT is specified in
 *   {@link flags} and is ignored otherwise. The actual permissions
 *   assigned to the created file will be affected by the process's umask
 *   setting as per usual.
 * @return resource A file descriptor or FALSE on error.
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.0
 **/
function dio_open($filename, $flags, $mode){}

/**
 * Reads bytes from a file descriptor
 *
 * The function {@link dio_read} reads and returns {@link len} bytes from
 * file with descriptor {@link fd}.
 *
 * @param resource $fd The file descriptor returned by {@link
 *   dio_open}.
 * @param int $len The number of bytes to read. If not specified,
 *   {@link dio_read} reads 1K sized block.
 * @return string The bytes read from {@link fd}.
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.0
 **/
function dio_read($fd, $len){}

/**
 * Seeks to pos on fd from whence
 *
 * The function {@link dio_seek} is used to change the file position of
 * the given file descriptor.
 *
 * @param resource $fd The file descriptor returned by {@link
 *   dio_open}.
 * @param int $pos The new position.
 * @param int $whence Specifies how the position {@link pos} should be
 *   interpreted: SEEK_SET (default) - specifies that {@link pos} is
 *   specified from the beginning of the file. SEEK_CUR - Specifies that
 *   {@link pos} is a count of characters from the current file position.
 *   This count may be positive or negative. SEEK_END - Specifies that
 *   {@link pos} is a count of characters from the end of the file. A
 *   negative count specifies a position within the current extent of the
 *   file; a positive count specifies a position past the current end. If
 *   you set the position past the current end, and actually write data,
 *   you will extend the file with zeros up to that position.
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.0
 **/
function dio_seek($fd, $pos, $whence){}

/**
 * Gets stat information about the file descriptor fd
 *
 * {@link dio_stat} returns information about the given file descriptor.
 *
 * @param resource $fd The file descriptor returned by {@link
 *   dio_open}.
 * @return array Returns an associative array with the following keys:
 *   "device" - device "inode" - inode "mode" - mode "nlink" - number of
 *   hard links "uid" - user id "gid" - group id "device_type" - device
 *   type (if inode device) "size" - total size in bytes "blocksize" -
 *   blocksize "blocks" - number of blocks allocated "atime" - time of
 *   last access "mtime" - time of last modification "ctime" - time of
 *   last change On error {@link dio_stat} returns NULL.
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.0
 **/
function dio_stat($fd){}

/**
 * Sets terminal attributes and baud rate for a serial port
 *
 * {@link dio_tcsetattr} sets the terminal attributes and baud rate of
 * the open {@link fd}.
 *
 * @param resource $fd The file descriptor returned by {@link
 *   dio_open}.
 * @param array $options The currently available options are: 'baud' -
 *   baud rate of the port - can be 38400,19200,9600,4800,2400,1800,
 *   1200,600,300,200,150,134,110,75 or 50, default value is 9600. 'bits'
 *   - data bits - can be 8,7,6 or 5. Default value is 8. 'stop' - stop
 *   bits - can be 1 or 2. Default value is 1. 'parity' - can be 0,1 or
 *   2. Default value is 0.
 * @return bool
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.1.0
 **/
function dio_tcsetattr($fd, $options){}

/**
 * Truncates file descriptor fd to offset bytes
 *
 * {@link dio_truncate} truncates a file to at most {@link offset} bytes
 * in size.
 *
 * If the file previously was larger than this size, the extra data is
 * lost. If the file previously was shorter, it is unspecified whether
 * the file is left unchanged or is extended. In the latter case the
 * extended part reads as zero bytes.
 *
 * @param resource $fd The file descriptor returned by {@link
 *   dio_open}.
 * @param int $offset The offset in bytes.
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.0
 **/
function dio_truncate($fd, $offset){}

/**
 * Writes data to fd with optional truncation at length
 *
 * {@link dio_write} writes up to {@link len} bytes from {@link data} to
 * file {@link fd}.
 *
 * @param resource $fd The file descriptor returned by {@link
 *   dio_open}.
 * @param string $data The written data.
 * @param int $len The length of data to write in bytes. If not
 *   specified, the function writes all the data to the specified file.
 * @return int Returns the number of bytes written to {@link fd}.
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.0
 **/
function dio_write($fd, $data, $len){}

/**
 * Return an instance of the Directory class
 *
 * A pseudo-object oriented mechanism for reading a directory. The given
 * {@link directory} is opened.
 *
 * @param string $directory Directory to open
 * @param resource $context
 * @return Directory Returns an instance of Directory, or NULL with
 *   wrong parameters, or FALSE in case of another error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function dir($directory, $context){}

/**
 * Returns a parent directory's path
 *
 * Given a string containing the path of a file or directory, this
 * function will return the parent directory's path that is {@link
 * levels} up from the current directory.
 *
 * @param string $path A path. On Windows, both slash (/) and backslash
 *   (\) are used as directory separator character. In other
 *   environments, it is the forward slash (/).
 * @param int $levels The number of parent directories to go up. This
 *   must be an integer greater than 0.
 * @return string Returns the path of a parent directory. If there are
 *   no slashes in {@link path}, a dot ('.') is returned, indicating the
 *   current directory. Otherwise, the returned string is {@link path}
 *   with any trailing /component removed.
 * @since PHP 4, PHP 5, PHP 7
 **/
function dirname($path, $levels){}

/**
 * Returns available space on filesystem or disk partition
 *
 * Given a string containing a directory, this function will return the
 * number of bytes available on the corresponding filesystem or disk
 * partition.
 *
 * @param string $directory A directory of the filesystem or disk
 *   partition.
 * @return float Returns the number of available bytes as a float .
 * @since PHP 4, PHP 5, PHP 7
 **/
function diskfreespace($directory){}

/**
 * Returns available space on filesystem or disk partition
 *
 * Given a string containing a directory, this function will return the
 * number of bytes available on the corresponding filesystem or disk
 * partition.
 *
 * @param string $directory A directory of the filesystem or disk
 *   partition.
 * @return float Returns the number of available bytes as a float .
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function disk_free_space($directory){}

/**
 * Returns the total size of a filesystem or disk partition
 *
 * Given a string containing a directory, this function will return the
 * total number of bytes on the corresponding filesystem or disk
 * partition.
 *
 * @param string $directory A directory of the filesystem or disk
 *   partition.
 * @return float Returns the total number of bytes as a float .
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function disk_total_space($directory){}

/**
 * Loads a PHP extension at runtime
 *
 * Loads the PHP extension given by the parameter {@link library}.
 *
 * Use {@link extension_loaded} to test whether a given extension is
 * already available or not. This works on both built-in extensions and
 * dynamically loaded ones (either through or {@link dl}).
 *
 * @param string $library This parameter is only the filename of the
 *   extension to load which also depends on your platform. For example,
 *   the sockets extension (if compiled as a shared module, not the
 *   default!) would be called sockets.so on Unix platforms whereas it is
 *   called php_sockets.dll on the Windows platform. The directory where
 *   the extension is loaded from depends on your platform: Windows - If
 *   not explicitly set in the , the extension is loaded from C:\php5\ by
 *   default. Unix - If not explicitly set in the , the default extension
 *   directory depends on whether PHP has been built with --enable-debug
 *   or not whether PHP has been built with (experimental) ZTS (Zend
 *   Thread Safety) support or not the current internal
 *   ZEND_MODULE_API_NO (Zend internal module API number, which is
 *   basically the date on which a major module API change happened, e.g.
 *   20010901) Taking into account the above, the directory then defaults
 *   to <install-dir>/lib/php/extensions/
 *   <debug-or-not>-<zts-or-not>-ZEND_MODULE_API_NO, e.g.
 *   /usr/local/php/lib/php/extensions/debug-non-zts-20010901 or
 *   /usr/local/php/lib/php/extensions/no-debug-zts-20010901.
 * @return bool If the functionality of loading modules is not
 *   available or has been disabled (either by setting enable_dl off or
 *   by enabling in ) an E_ERROR is emitted and execution is stopped. If
 *   {@link dl} fails because the specified library couldn't be loaded,
 *   in addition to FALSE an E_WARNING message is emitted.
 * @since PHP 4, PHP 5, PHP 7
 **/
function dl($library){}

/**
 * Plural version of dgettext
 *
 * The {@link dngettext} function allows you to override the current
 * {@link domain} for a single plural message lookup.
 *
 * @param string $domain The domain
 * @param string $msgid1
 * @param string $msgid2
 * @param int $n
 * @return string A string on success.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function dngettext($domain, $msgid1, $msgid2, $n){}

/**
 * Check DNS records corresponding to a given Internet host name or IP
 * address
 *
 * Searches DNS for records of type {@link type} corresponding to {@link
 * host}.
 *
 * @param string $host {@link host} may either be the IP address in
 *   dotted-quad notation or the host name.
 * @param string $type {@link type} may be any one of: A, MX, NS, SOA,
 *   PTR, CNAME, AAAA, A6, SRV, NAPTR, TXT or ANY.
 * @return bool Returns TRUE if any records are found; returns FALSE if
 *   no records were found or if an error occurred.
 * @since PHP 5, PHP 7
 **/
function dns_check_record($host, $type){}

/**
 * Get MX records corresponding to a given Internet host name
 *
 * Searches DNS for MX records corresponding to {@link hostname}.
 *
 * @param string $hostname The Internet host name.
 * @param array $mxhosts A list of the MX records found is placed into
 *   the array {@link mxhosts}.
 * @param array $weight If the {@link weight} array is given, it will
 *   be filled with the weight information gathered.
 * @return bool Returns TRUE if any records are found; returns FALSE if
 *   no records were found or if an error occurred.
 * @since PHP 5, PHP 7
 **/
function dns_get_mx($hostname, &$mxhosts, &$weight){}

/**
 * Fetch DNS Resource Records associated with a hostname
 *
 * Fetch DNS Resource Records associated with the given {@link hostname}.
 *
 * @param string $hostname {@link hostname} should be a valid DNS
 *   hostname such as "www.example.com". Reverse lookups can be generated
 *   using in-addr.arpa notation, but {@link gethostbyaddr} is more
 *   suitable for the majority of reverse lookups.
 * @param int $type By default, {@link dns_get_record} will search for
 *   any resource records associated with {@link hostname}. To limit the
 *   query, specify the optional {@link type} parameter. May be any one
 *   of the following: DNS_A, DNS_CNAME, DNS_HINFO, DNS_CAA, DNS_MX,
 *   DNS_NS, DNS_PTR, DNS_SOA, DNS_TXT, DNS_AAAA, DNS_SRV, DNS_NAPTR,
 *   DNS_A6, DNS_ALL or DNS_ANY.
 * @param array $authns Passed by reference and, if given, will be
 *   populated with Resource Records for the Authoritative Name Servers.
 * @param array $addtl Passed by reference and, if given, will be
 *   populated with any Additional Records.
 * @param bool $raw In case of raw mode, we query only the requested
 *   type instead of looping type by type before going with the
 *   additional info stuff.
 * @return array This function returns an array of associative arrays,
 *   . Each associative array contains at minimum the following keys:
 *   Basic DNS attributes Attribute Meaning host The record in the DNS
 *   namespace to which the rest of the associated data refers. class
 *   {@link dns_get_record} only returns Internet class records and as
 *   such this parameter will always return IN. type String containing
 *   the record type. Additional attributes will also be contained in the
 *   resulting array dependant on the value of type. See table below. ttl
 *   "Time To Live" remaining for this record. This will not equal the
 *   record's original ttl, but will rather equal the original ttl minus
 *   whatever length of time has passed since the authoritative name
 *   server was queried.
 * @since PHP 5, PHP 7
 **/
function dns_get_record($hostname, $type, &$authns, &$addtl, $raw){}

/**
 * Gets a object from a object
 *
 * This function takes the node {@link node} of class SimpleXML and makes
 * it into a DOMElement node. This new object can then be used as a
 * native DOMElement node.
 *
 * @param SimpleXMLElement $node The SimpleXMLElement node.
 * @return DOMElement The DOMElement node added or FALSE if any errors
 *   occur.
 * @since PHP 5, PHP 7
 **/
function dom_import_simplexml($node){}

/**
 * Get float value of a variable
 *
 * Gets the float value of {@link var}.
 *
 * @param mixed $var May be any scalar type. {@link floatval} should
 *   not be used on objects, as doing so will emit an E_NOTICE level
 *   error and return 1.
 * @return float The float value of the given variable. Empty arrays
 *   return 0, non-empty arrays return 1.
 * @since PHP 4, PHP 5, PHP 7
 **/
function doubleval($var){}

/**
 * Return the current key and value pair from an array and advance the
 * array cursor
 *
 * Return the current key and value pair from an array and advance the
 * array cursor.
 *
 * After {@link each} has executed, the array cursor will be left on the
 * next element of the array, or past the last element if it hits the end
 * of the array. You have to use {@link reset} if you want to traverse
 * the array again using each.
 *
 * @param array $array The input array.
 * @return array Returns the current key and value pair from the array
 *   {@link array}. This pair is returned in a four-element array, with
 *   the keys 0, 1, key, and value. Elements 0 and key contain the key
 *   name of the array element, and 1 and value contain the data.
 * @since PHP 4, PHP 5, PHP 7
 **/
function each(&$array){}

/**
 * Get Unix timestamp for midnight on Easter of a given year
 *
 * Returns the Unix timestamp corresponding to midnight on Easter of the
 * given year.
 *
 * The date of Easter Day was defined by the Council of Nicaea in AD325
 * as the Sunday after the first full moon which falls on or after the
 * Spring Equinox. The Equinox is assumed to always fall on 21st March,
 * so the calculation reduces to determining the date of the full moon
 * and the date of the following Sunday. The algorithm used here was
 * introduced around the year 532 by Dionysius Exiguus. Under the Julian
 * Calendar (for years before 1753) a simple 19-year cycle is used to
 * track the phases of the Moon. Under the Gregorian Calendar (for years
 * after 1753 - devised by Clavius and Lilius, and introduced by Pope
 * Gregory XIII in October 1582, and into Britain and its then colonies
 * in September 1752) two correction factors are added to make the cycle
 * more accurate.
 *
 * @param int $year The year as a number between 1970 an 2037. If
 *   omitted, defaults to the current year according to the local time.
 * @return int The easter date as a unix timestamp.
 * @since PHP 4, PHP 5, PHP 7
 **/
function easter_date($year){}

/**
 * Get number of days after March 21 on which Easter falls for a given
 * year
 *
 * Returns the number of days after March 21 on which Easter falls for a
 * given year. If no year is specified, the current year is assumed.
 *
 * This function can be used instead of {@link easter_date} to calculate
 * Easter for years which fall outside the range of Unix timestamps (i.e.
 * before 1970 or after 2037).
 *
 * The date of Easter Day was defined by the Council of Nicaea in AD325
 * as the Sunday after the first full moon which falls on or after the
 * Spring Equinox. The Equinox is assumed to always fall on 21st March,
 * so the calculation reduces to determining the date of the full moon
 * and the date of the following Sunday. The algorithm used here was
 * introduced around the year 532 by Dionysius Exiguus. Under the Julian
 * Calendar (for years before 1753) a simple 19-year cycle is used to
 * track the phases of the Moon. Under the Gregorian Calendar (for years
 * after 1753 - devised by Clavius and Lilius, and introduced by Pope
 * Gregory XIII in October 1582, and into Britain and its then colonies
 * in September 1752) two correction factors are added to make the cycle
 * more accurate.
 *
 * @param int $year The year as a positive number. If omitted, defaults
 *   to the current year according to the local time.
 * @param int $method Allows Easter dates to be calculated based on the
 *   Gregorian calendar during the years 1582 - 1752 when set to
 *   CAL_EASTER_ROMAN. See the calendar constants for more valid
 *   constants.
 * @return int The number of days after March 21st that the Easter
 *   Sunday is in the given {@link year}.
 * @since PHP 4, PHP 5, PHP 7
 **/
function easter_days($year, $method){}

/**
 * Artificially increase load. Could be useful in tests, benchmarking
 *
 * {@link eio_busy} artificially increases load taking {@link delay}
 * seconds to execute. May be used for debugging, or benchmarking.
 *
 * @param int $delay Delay in seconds
 * @param int $pri
 * @param callable $callback This callback is called when all the group
 *   requests are done.
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_busy} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_busy($delay, $pri, $callback, $data){}

/**
 * Cancels a request
 *
 * {@link eio_cancel} cancels a request specified by {@link req}
 *
 * @param resource $req The request resource
 * @return void
 * @since PECL eio >= 0.0.1dev
 **/
function eio_cancel($req){}

/**
 * Change file/direcrory permissions
 *
 * {@link eio_chmod} changes file, or direcrory permissions. The new
 * permissions are specified by {@link mode}.
 *
 * @param string $path Path to the target file or directory
 * @param int $mode The new permissions. E.g. 0644.
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_chmod} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_chmod($path, $mode, $pri, $callback, $data){}

/**
 * Change file/direcrory permissions
 *
 * Changes file, or directory permissions.
 *
 * @param string $path Path to file or directory.
 * @param int $uid User ID. Is ignored when equal to -1.
 * @param int $gid Group ID. Is ignored when equal to -1.
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_chown} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_chown($path, $uid, $gid, $pri, $callback, $data){}

/**
 * Close file
 *
 * {@link eio_close} closes file specified by {@link fd}.
 *
 * @param mixed $fd Stream, Socket resource, or numeric file descriptor
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_close} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_close($fd, $pri, $callback, $data){}

/**
 * Execute custom request like any other call
 *
 * {@link eio_custom} executes custom function specified by {@link
 * execute} processing it just like any other eio_* call.
 *
 * @param callable $execute Specifies the request function that should
 *   match the following prototype:
 *   
 *   mixed execute(mixed data); {@link callback} is event completion
 *   callback that should match the following prototype: void
 *   callback(mixed data, mixed result);
 *   
 *   {@link data} is the data passed to {@link execute} via {@link data}
 *   argument without modifications {@link result} value returned by
 *   {@link execute}
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_custom} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_custom($execute, $pri, $callback, $data){}

/**
 * Duplicate a file descriptor
 *
 * {@link eio_dup2} duplicates file descriptor.
 *
 * @param mixed $fd Source stream, Socket resource, or numeric file
 *   descriptor
 * @param mixed $fd2 Target stream, Socket resource, or numeric file
 *   descriptor
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_dup2} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_dup2($fd, $fd2, $pri, $callback, $data){}

/**
 * Polls libeio until all requests proceeded
 *
 * {@link eio_event_loop} polls libeio until all requests proceeded.
 *
 * @return bool {@link eio_event_loop} returns TRUE on success or FALSE
 *   on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_event_loop(){}

/**
 * Allows the caller to directly manipulate the allocated disk space for
 * a file
 *
 * {@link eio_fallocate} allows the caller to directly manipulate the
 * allocated disk space for the file specified by {@link fd} file
 * descriptor for the byte range starting at {@link offset} and
 * continuing for {@link length} bytes.
 *
 * @param mixed $fd Stream, Socket resource, or numeric file
 *   descriptor, e.g. returned by {@link eio_open}.
 * @param int $mode Currently only one flag is supported for mode:
 *   EIO_FALLOC_FL_KEEP_SIZE (the same as POSIX constant
 *   FALLOC_FL_KEEP_SIZE).
 * @param int $offset Specifies start of the byte range.
 * @param int $length Specifies length the byte range.
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_fallocate} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_fallocate($fd, $mode, $offset, $length, $pri, $callback, $data){}

/**
 * Change file permissions
 *
 * {@link eio_fchmod} changes permissions for the file specified by
 * {@link fd} file descriptor.
 *
 * @param mixed $fd Stream, Socket resource, or numeric file
 *   descriptor, e.g. returned by {@link eio_open}.
 * @param int $mode The new permissions. E.g. 0644.
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_fchmod} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_fchmod($fd, $mode, $pri, $callback, $data){}

/**
 * Change file ownership
 *
 * {@link eio_fchown} changes ownership of the file specified by {@link
 * fd} file descriptor.
 *
 * @param mixed $fd Stream, Socket resource, or numeric file
 *   descriptor.
 * @param int $uid User ID. Is ignored when equal to -1.
 * @param int $gid Group ID. Is ignored when equal to -1.
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource
 * @since PECL eio >= 0.0.1dev
 **/
function eio_fchown($fd, $uid, $gid, $pri, $callback, $data){}

/**
 * Synchronize a file's in-core state with storage device
 *
 * {@link eio_fdatasync} synchronizes a file's in-core state with storage
 * device.
 *
 * @param mixed $fd Stream, Socket resource, or numeric file
 *   descriptor, e.g. returned by {@link eio_open}.
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_fdatasync} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_fdatasync($fd, $pri, $callback, $data){}

/**
 * Get file status
 *
 * {@link eio_fstat} returns file status information in {@link result}
 * argument of {@link callback}
 *
 * @param mixed $fd Stream, Socket resource, or numeric file
 *   descriptor.
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_busy} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_fstat($fd, $pri, $callback, $data){}

/**
 * Get file system statistics
 *
 * {@link eio_fstatvfs} returns file system statistics in {@link result}
 * of {@link callback}.
 *
 * @param mixed $fd A file descriptor of a file within the mounted file
 *   system.
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_fstatvfs} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_fstatvfs($fd, $pri, $callback, $data){}

/**
 * Synchronize a file's in-core state with storage device
 *
 * @param mixed $fd Stream, Socket resource, or numeric file
 *   descriptor.
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_fsync} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_fsync($fd, $pri, $callback, $data){}

/**
 * Truncate a file
 *
 * {@link eio_ftruncate} causes a regular file referenced by {@link fd}
 * file descriptor to be truncated to precisely {@link length} bytes.
 *
 * @param mixed $fd Stream, Socket resource, or numeric file
 *   descriptor.
 * @param int $offset Offset from beginning of the file
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_ftruncate} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_ftruncate($fd, $offset, $pri, $callback, $data){}

/**
 * Change file last access and modification times
 *
 * {@link eio_futime} changes file last access and modification times.
 *
 * @param mixed $fd Stream, Socket resource, or numeric file
 *   descriptor, e.g. returned by {@link eio_open}
 * @param float $atime Access time
 * @param float $mtime Modification time
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_futime} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_futime($fd, $atime, $mtime, $pri, $callback, $data){}

/**
 * Get stream representing a variable used in internal communications
 * with libeio
 *
 * {@link eio_get_event_stream} acquires stream representing a variable
 * used in internal communications with libeio. Could be used to bind
 * with some event loop provided by other PECL extension, for example
 * libevent.
 *
 * @return mixed {@link eio_get_event_stream} returns stream on
 *   success; otherwise, NULL
 * @since PECL eio >= 0.3.1b
 **/
function eio_get_event_stream(){}

/**
 * Returns string describing the last error associated with a request
 * resource
 *
 * {@link eio_get_last_error} returns string describing the last error
 * associated with {@link req}.
 *
 * @param resource $req The request resource
 * @return string {@link eio_get_last_error} returns string describing
 *   the last error associated with the request resource specified by
 *   {@link req}.
 * @since PECL eio >= 1.0.0
 **/
function eio_get_last_error($req){}

/**
 * Creates a request group
 *
 * {@link eio_grp} creates a request group.
 *
 * @param callable $callback
 * @param string $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_grp} returns request group resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_grp($callback, $data){}

/**
 * Adds a request to the request group
 *
 * {@link eio_grp_add} adds a request to the request group.
 *
 * @param resource $grp The request group resource returned by {@link
 *   eio_grp}
 * @param resource $req The request resource
 * @return void {@link eio_grp_add} doesn't return a value.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_grp_add($grp, $req){}

/**
 * Cancels a request group
 *
 * {@link eio_grp_cancel} cancels a group request specified by {@link
 * grp} request group resource.
 *
 * @param resource $grp The request group resource returned by {@link
 *   eio_grp}.
 * @return void
 * @since PECL eio >= 0.0.1dev
 **/
function eio_grp_cancel($grp){}

/**
 * Set group limit
 *
 * Limit number of requests in the request group.
 *
 * @param resource $grp The request group resource.
 * @param int $limit Number of requests in the group.
 * @return void
 * @since PECL eio >= 0.0.1dev
 **/
function eio_grp_limit($grp, $limit){}

/**
 * (Re-)initialize Eio
 *
 * {@link eio_init} (re-)initializes Eio. It allocates memory for
 * internal structures of libeio and Eio itself. You may call {@link
 * eio_init} before using Eio functions. Otherwise it will be called
 * internally first time you invoke an Eio function in a process.
 *
 * Since Eio 1.1.0 {@link eio_init} is deprecated. In Eio 1.0.0 because
 * of libeio's restrictions you must call {@link eio_init} in child
 * process, if you fork one by any means. You have to avoid using Eio in
 * parent process, if you use it in childs.
 *
 * @return void
 * @since PECL eio = 1.0.0
 **/
function eio_init(){}

/**
 * Create a hardlink for file
 *
 * {@link eio_link} creates a hardlink {@link new_path} for a file
 * specified by {@link path}.
 *
 * @param string $path Source file path.
 * @param string $new_path Target file path.
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource
 * @since PECL eio >= 0.0.1dev
 **/
function eio_link($path, $new_path, $pri, $callback, $data){}

/**
 * Get file status
 *
 * {@link eio_lstat} returns file status information in {@link result}
 * argument of {@link callback}
 *
 * @param string $path The file path
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_lstat} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_lstat($path, $pri, $callback, $data){}

/**
 * Create directory
 *
 * {@link eio_mkdir} creates directory with specified access {@link
 * mode}.
 *
 * @param string $path Path for the new directory.
 * @param int $mode Access mode, e.g. 0755
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_mkdir} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_mkdir($path, $mode, $pri, $callback, $data){}

/**
 * Create a special or ordinary file
 *
 * {@link eio_mknod} creates ordinary or special(often) file.
 *
 * @param string $path Path for the new node(file).
 * @param int $mode Specifies both the permissions to use and the type
 *   of node to be created. It should be a combination (using bitwise OR)
 *   of one of the file types listed below and the permissions for the
 *   new node(e.g. 0640).
 *   
 *   Possible file types are: EIO_S_IFREG(regular file),
 *   EIO_S_IFCHR(character file), EIO_S_IFBLK(block special file),
 *   EIO_S_IFIFO(FIFO - named pipe) and EIO_S_IFSOCK(UNIX domain socket).
 *   
 *   To specify permissions EIO_S_I* constants could be used.
 * @param int $dev If the file type is EIO_S_IFCHR or EIO_S_IFBLK then
 *   dev specifies the major and minor numbers of the newly created
 *   device special file. Otherwise {@link dev} ignored. See mknod(2) man
 *   page for details.
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_mknod} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_mknod($path, $mode, $dev, $pri, $callback, $data){}

/**
 * Does nothing, except go through the whole request cycle
 *
 * {@link eio_nop} does nothing, except go through the whole request
 * cycle. Could be useful in debugging.
 *
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_nop} returns request resource on success
 *   or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_nop($pri, $callback, $data){}

/**
 * Returns number of finished, but unhandled requests
 *
 * {@link eio_npending} returns number of finished, but unhandled
 * requests
 *
 * @return int {@link eio_npending} returns number of finished, but
 *   unhandled requests.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_npending(){}

/**
 * Returns number of not-yet handled requests
 *
 * @return int {@link eio_nready} returns number of not-yet handled
 *   requests
 * @since PECL eio >= 0.0.1dev
 **/
function eio_nready(){}

/**
 * Returns number of requests to be processed
 *
 * {@link eio_nreqs} could be called in a custom loop calling {@link
 * eio_poll}.
 *
 * @return int {@link eio_nreqs} returns number of requests to be
 *   processed.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_nreqs(){}

/**
 * Returns number of threads currently in use
 *
 * @return int {@link eio_nthreads} returns number of threads currently
 *   in use.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_nthreads(){}

/**
 * Opens a file
 *
 * {@link eio_open} opens file specified by {@link path} in access mode
 * {@link mode} with
 *
 * @param string $path Path of the file to be opened. In some
 *   SAPIs(e.g. PHP-FPM) it could fail, if you don't specify full path.
 * @param int $flags One of EIO_O_* constants, or their combinations.
 *   EIO_O_* constants have the same meaning, as their corresponding O_*
 *   counterparts defined in fnctl.h C header file. Default is
 *   EIO_O_RDWR.
 * @param int $mode One of EIO_S_I* constants, or their combination
 *   (via bitwise OR operator). The constants have the same meaning as
 *   their S_I* counterparts defined in sys/stat.h C header file.
 *   Required, if a file is created. Otherwise ignored.
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_open} returns file descriptor in {@link
 *   result} argument of {@link callback} on success; otherwise, {@link
 *   result} is equal to -1.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_open($path, $flags, $mode, $pri, $callback, $data){}

/**
 * Can be to be called whenever there are pending requests that need
 * finishing
 *
 * {@link eio_poll} can be used to implement special event loop. For this
 * {@link eio_nreqs} could be used to test if there are unprocessed
 * requests.
 *
 * @return int If any request invocation returns a non-zero value,
 *   returns that value. Otherwise, it returns 0.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_poll(){}

/**
 * Read from a file descriptor at given offset
 *
 * {@link eio_read} reads up to {@link length} bytes from {@link fd} file
 * descriptor at {@link offset}. The read bytes are stored in {@link
 * result} argument of {@link callback}.
 *
 * @param mixed $fd Stream, Socket resource, or numeric file descriptor
 * @param int $length Maximum number of bytes to read.
 * @param int $offset Offset within the file.
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_read} stores read bytes in {@link
 *   result} argument of {@link callback} function.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_read($fd, $length, $offset, $pri, $callback, $data){}

/**
 * Perform file readahead into page cache
 *
 * {@link eio_readahead} populates the page cache with data from a file
 * so that subsequent reads from that file will not block on disk I/O.
 * See READAHEAD(2) man page for details.
 *
 * @param mixed $fd Stream, Socket resource, or numeric file descriptor
 * @param int $offset Starting point from which data is to be read.
 * @param int $length Number of bytes to be read.
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_readahead} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_readahead($fd, $offset, $length, $pri, $callback, $data){}

/**
 * Reads through a whole directory
 *
 * Reads through a whole directory(via the opendir, readdir and closedir
 * system calls) and returns either the names or an array in {@link
 * result} argument of {@link callback} function, depending on the {@link
 * flags} argument.
 *
 * @param string $path Directory path.
 * @param int $flags Combination of EIO_READDIR_* constants.
 * @param int $pri
 * @param callable $callback
 * @param string $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_readdir} returns request resource on
 *   success, or FALSE on error. Sets {@link result} argument of {@link
 *   callback} function according to {@link flags}:
 * @since PECL eio >= 0.0.1dev
 **/
function eio_readdir($path, $flags, $pri, $callback, $data){}

/**
 * Read value of a symbolic link
 *
 * @param string $path Source symbolic link path
 * @param int $pri
 * @param callable $callback
 * @param string $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_readlink} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_readlink($path, $pri, $callback, $data){}

/**
 * Get the canonicalized absolute pathname
 *
 * {@link eio_realpath} returns the canonicalized absolute pathname in
 * {@link result} argument of {@link callback} function.
 *
 * @param string $path Short pathname
 * @param int $pri
 * @param callable $callback
 * @param string $data
 * @return resource
 * @since PECL eio >= 0.0.1dev
 **/
function eio_realpath($path, $pri, $callback, $data){}

/**
 * Change the name or location of a file
 *
 * {@link eio_rename} renames or moves a file to new location.
 *
 * @param string $path Source path
 * @param string $new_path Target path
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_rename} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_rename($path, $new_path, $pri, $callback, $data){}

/**
 * Remove a directory
 *
 * {@link eio_rmdir} removes a directory.
 *
 * @param string $path Directory path
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_rmdir} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_rmdir($path, $pri, $callback, $data){}

/**
 * Repositions the offset of the open file associated with the argument
 * to the argument according to the directive
 *
 * {@link eio_seek} repositions the offset of the open file associated
 * with stream, Socket resource, or file descriptor specified by {@link
 * fd} to the argument {@link offset} according to the directive {@link
 * whence} as follows: EIO_SEEK_SET - Set position equal to {@link
 * offset} bytes. EIO_SEEK_CUR - Set position to current location plus
 * {@link offset}. EIO_SEEK_END - Set position to end-of-file plus {@link
 * offset}.
 *
 * @param mixed $fd Stream, Socket resource, or numeric file descriptor
 * @param int $offset Starting point from which data is to be read.
 * @param int $whence Number of bytes to be read.
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_seek} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.5.0b
 **/
function eio_seek($fd, $offset, $whence, $pri, $callback, $data){}

/**
 * Transfer data between file descriptors
 *
 * {@link eio_sendfile} copies data between one file descriptor and
 * another. See SENDFILE(2) man page for details.
 *
 * @param mixed $out_fd Output stream, Socket resource, or file
 *   descriptor. Should be opened for writing.
 * @param mixed $in_fd Input stream, Socket resource, or file
 *   descriptor. Should be opened for reading.
 * @param int $offset Offset within the source file.
 * @param int $length Number of bytes to copy.
 * @param int $pri
 * @param callable $callback
 * @param string $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_sendfile} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_sendfile($out_fd, $in_fd, $offset, $length, $pri, $callback, $data){}

/**
 * Set maximum number of idle threads
 *
 * @param int $nthreads Number of idle threads.
 * @return void
 * @since PECL eio >= 0.0.1dev
 **/
function eio_set_max_idle($nthreads){}

/**
 * Set maximum parallel threads
 *
 * @param int $nthreads Number of parallel threads
 * @return void
 * @since PECL eio >= 0.0.1dev
 **/
function eio_set_max_parallel($nthreads){}

/**
 * Set maximum number of requests processed in a poll
 *
 * @param int $nreqs Number of requests
 * @return void
 * @since PECL eio >= 0.0.1dev
 **/
function eio_set_max_poll_reqs($nreqs){}

/**
 * Set maximum poll time
 *
 * Polling stops, if poll took longer than {@link nseconds} seconds.
 *
 * @param float $nseconds Number of seconds
 * @return void
 * @since PECL eio >= 0.0.1dev
 **/
function eio_set_max_poll_time($nseconds){}

/**
 * Set minimum parallel thread number
 *
 * @param string $nthreads Number of parallel threads.
 * @return void
 * @since PECL eio >= 0.0.1dev
 **/
function eio_set_min_parallel($nthreads){}

/**
 * Get file status
 *
 * {@link eio_stat} returns file status information in {@link result}
 * argument of {@link callback}
 *
 * @param string $path The file path
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_stat} returns request resource on
 *   success or FALSE on error. On success assigns {@link result}
 *   argument of {@link callback} to an array.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_stat($path, $pri, $callback, $data){}

/**
 * Get file system statistics
 *
 * {@link eio_statvfs} returns file system statistics information in
 * {@link result} argument of {@link callback}
 *
 * @param string $path Pathname of any file within the mounted file
 *   system
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_statvfs} returns request resource on
 *   success or FALSE on error. On success assigns {@link result}
 *   argument of {@link callback} to an array.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_statvfs($path, $pri, $callback, $data){}

/**
 * Create a symbolic link
 *
 * {@link eio_symlink} creates a symbolic link {@link new_path} to {@link
 * path}.
 *
 * @param string $path Source path
 * @param string $new_path Target path
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_symlink} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_symlink($path, $new_path, $pri, $callback, $data){}

/**
 * Commit buffer cache to disk
 *
 * @param int $pri
 * @param callable $callback
 * @param mixed $data
 * @return resource {@link eio_sync} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_sync($pri, $callback, $data){}

/**
 * Calls Linux' syncfs syscall, if available
 *
 * @param mixed $fd File descriptor
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_syncfs} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_syncfs($fd, $pri, $callback, $data){}

/**
 * Sync a file segment with disk
 *
 * {@link eio_sync_file_range} permits fine control when synchronizing
 * the open file referred to by the file descriptor {@link fd} with disk.
 *
 * @param mixed $fd File descriptor
 * @param int $offset The starting byte of the file range to be
 *   synchronized
 * @param int $nbytes Specifies the length of the range to be
 *   synchronized, in bytes. If {@link nbytes} is zero, then all bytes
 *   from {@link offset} through to the end of file are synchronized.
 * @param int $flags A bit-mask. Can include any of the following
 *   values: EIO_SYNC_FILE_RANGE_WAIT_BEFORE, EIO_SYNC_FILE_RANGE_WRITE,
 *   EIO_SYNC_FILE_RANGE_WAIT_AFTER. These flags have the same meaning as
 *   their SYNC_FILE_RANGE_* counterparts(see SYNC_FILE_RANGE(2) man
 *   page).
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_sync_file_range} returns request
 *   resource on success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_sync_file_range($fd, $offset, $nbytes, $flags, $pri, $callback, $data){}

/**
 * Truncate a file
 *
 * {@link eio_truncate} causes the regular file named by {@link path} to
 * be truncated to a size of precisely {@link length} bytes
 *
 * @param string $path File path
 * @param int $offset Offset from beginning of the file.
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_busy} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_truncate($path, $offset, $pri, $callback, $data){}

/**
 * Delete a name and possibly the file it refers to
 *
 * {@link eio_unlink} deletes a name from the file system.
 *
 * @param string $path Path to file
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_unlink} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_unlink($path, $pri, $callback, $data){}

/**
 * Change file last access and modification times
 *
 * @param string $path Path to the file.
 * @param float $atime Access time
 * @param float $mtime Modification time
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_utime} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_utime($path, $atime, $mtime, $pri, $callback, $data){}

/**
 * Write to file
 *
 * {@link eio_write} writes up to {@link length} bytes from {@link str}
 * at {@link offset} offset from the beginning of the file.
 *
 * @param mixed $fd Stream, Socket resource, or numeric file
 *   descriptor, e.g. returned by {@link eio_open}
 * @param string $str Source string
 * @param int $length Maximum number of bytes to write.
 * @param int $offset Offset from the beginning of file.
 * @param int $pri
 * @param callable $callback
 * @param mixed $data Arbitrary variable passed to {@link callback}.
 * @return resource {@link eio_write} returns request resource on
 *   success or FALSE on error.
 * @since PECL eio >= 0.0.1dev
 **/
function eio_write($fd, $str, $length, $offset, $pri, $callback, $data){}

/**
 * Enumerates the Enchant providers
 *
 * Enumerates the Enchant providers and tells you some rudimentary
 * information about them. The same info is provided through phpinfo().
 *
 * @param resource $broker Broker resource
 * @return array
 * @since PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0
 **/
function enchant_broker_describe($broker){}

/**
 * Whether a dictionary exists or not. Using non-empty tag
 *
 * Tells if a dictionary exists or not, using a non-empty tags
 *
 * @param resource $broker Broker resource
 * @param string $tag non-empty tag in the LOCALE format, ex: us_US,
 *   ch_DE, etc.
 * @return bool Returns TRUE when the tag exist or FALSE when not.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0
 **/
function enchant_broker_dict_exists($broker, $tag){}

/**
 * Free the broker resource and its dictionnaries
 *
 * Free a broker resource with all its dictionaries.
 *
 * @param resource $broker Broker resource
 * @return bool
 * @since PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0
 **/
function enchant_broker_free($broker){}

/**
 * Free a dictionary resource
 *
 * @param resource $dict Dictionary resource.
 * @return bool
 * @since PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0
 **/
function enchant_broker_free_dict($dict){}

/**
 * Get the directory path for a given backend
 *
 * @param resource $broker Broker resource.
 * @param int $dict_type The type of the dictionaries, i.e.
 *   ENCHANT_MYSPELL or ENCHANT_ISPELL.
 * @return bool Returns the path of the dictionary directory on
 *   success.
 * @since PHP 5 >= 5.3.1, PHP 7, PECL enchant >= 1.0.1
 **/
function enchant_broker_get_dict_path($broker, $dict_type){}

/**
 * Returns the last error of the broker
 *
 * Returns the last error which occurred in this broker.
 *
 * @param resource $broker Broker resource.
 * @return string Return the msg string if an error was found or FALSE
 * @since PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0
 **/
function enchant_broker_get_error($broker){}

/**
 * Create a new broker object capable of requesting
 *
 * @return resource Returns a broker resource on success or FALSE.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0
 **/
function enchant_broker_init(){}

/**
 * Returns a list of available dictionaries
 *
 * Returns a list of available dictionaries with their details.
 *
 * @param resource $broker Broker resource
 * @return mixed
 * @since PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 1.0.1
 **/
function enchant_broker_list_dicts($broker){}

/**
 * Create a new dictionary using a tag
 *
 * create a new dictionary using tag, the non-empty language tag you wish
 * to request a dictionary for ("en_US", "de_DE", ...)
 *
 * @param resource $broker Broker resource
 * @param string $tag A tag describing the locale, for example en_US,
 *   de_DE
 * @return resource Returns a dictionary resource on success.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0
 **/
function enchant_broker_request_dict($broker, $tag){}

/**
 * Creates a dictionary using a PWL file
 *
 * Creates a dictionary using a PWL file. A PWL file is personal word
 * file one word per line.
 *
 * @param resource $broker Broker resource
 * @param string $filename Path to the PWL file. If there is no such
 *   file, a new one will be created if possible.
 * @return resource Returns a dictionary resource on success.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0
 **/
function enchant_broker_request_pwl_dict($broker, $filename){}

/**
 * Set the directory path for a given backend
 *
 * @param resource $broker Broker resource.
 * @param int $dict_type The type of the dictionaries, i.e.
 *   ENCHANT_MYSPELL or ENCHANT_ISPELL.
 * @param string $value The path of the dictionary directory.
 * @return bool
 * @since PHP 5 >= 5.3.1, PHP 7, PECL enchant >= 1.0.1
 **/
function enchant_broker_set_dict_path($broker, $dict_type, $value){}

/**
 * Declares a preference of dictionaries to use for the language
 *
 * Declares a preference of dictionaries to use for the language
 * described/referred to by 'tag'. The ordering is a comma delimited list
 * of provider names. As a special exception, the "*" tag can be used as
 * a language tag to declare a default ordering for any language that
 * does not explicitly declare an ordering.
 *
 * @param resource $broker Broker resource
 * @param string $tag Language tag. The special "*" tag can be used as
 *   a language tag to declare a default ordering for any language that
 *   does not explicitly declare an ordering.
 * @param string $ordering Comma delimited list of provider names
 * @return bool
 * @since PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0
 **/
function enchant_broker_set_ordering($broker, $tag, $ordering){}

/**
 * Add a word to personal word list
 *
 * Add a word to personal word list of the given dictionary.
 *
 * @param resource $dict Dictionary resource
 * @param string $word The word to add
 * @return void
 * @since PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0
 **/
function enchant_dict_add_to_personal($dict, $word){}

/**
 * Add 'word' to this spell-checking session
 *
 * Add a word to the given dictionary. It will be added only for the
 * active spell-checking session.
 *
 * @param resource $dict Dictionary resource
 * @param string $word The word to add
 * @return void
 * @since PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0
 **/
function enchant_dict_add_to_session($dict, $word){}

/**
 * Check whether a word is correctly spelled or not
 *
 * If the word is correctly spelled return TRUE, otherwise return FALSE
 *
 * @param resource $dict Dictionary resource
 * @param string $word The word to check
 * @return bool Returns TRUE if the word is spelled correctly, FALSE if
 *   not.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0
 **/
function enchant_dict_check($dict, $word){}

/**
 * Describes an individual dictionary
 *
 * Returns the details of the dictionary.
 *
 * @param resource $dict Dictionary resource
 * @return mixed
 * @since PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0
 **/
function enchant_dict_describe($dict){}

/**
 * Returns the last error of the current spelling-session
 *
 * @param resource $dict Dictinaray resource
 * @return string Returns the error message as string or FALSE if no
 *   error occurred.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0
 **/
function enchant_dict_get_error($dict){}

/**
 * Whether or not 'word' exists in this spelling-session
 *
 * Tells whether or not a word already exists in the current session.
 *
 * @param resource $dict Dictionary resource
 * @param string $word The word to lookup
 * @return bool Returns TRUE if the word exists or FALSE
 * @since PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0
 **/
function enchant_dict_is_in_session($dict, $word){}

/**
 * Check the word is correctly spelled and provide suggestions
 *
 * If the word is correctly spelled return TRUE, otherwise return FALSE,
 * if suggestions variable is provided, fill it with spelling
 * alternatives.
 *
 * @param resource $dict Dictionary resource
 * @param string $word The word to check
 * @param array $suggestions If the word is not correctly spelled, this
 *   variable will contain an array of suggestions.
 * @return bool Returns TRUE if the word is correctly spelled or FALSE
 * @since PHP 5 >= 5.3.0, PHP 7, PECL enchant:0.2.0-1.0.1
 **/
function enchant_dict_quick_check($dict, $word, &$suggestions){}

/**
 * Add a correction for a word
 *
 * Add a correction for 'mis' using 'cor'. Notes that you replaced @mis
 * with @cor, so it's possibly more likely that future occurrences of
 * @mis will be replaced with @cor. So it might bump @cor up in the
 * suggestion list.
 *
 * @param resource $dict Dictionary resource
 * @param string $mis The work to fix
 * @param string $cor The correct word
 * @return void
 * @since PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0
 **/
function enchant_dict_store_replacement($dict, $mis, $cor){}

/**
 * Will return a list of values if any of those pre-conditions are not
 * met
 *
 * @param resource $dict Dictionary resource
 * @param string $word Word to use for the suggestions.
 * @return array Will returns an array of suggestions if the word is
 *   bad spelled.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL enchant >= 0.1.0
 **/
function enchant_dict_suggest($dict, $word){}

/**
 * Set the internal pointer of an array to its last element
 *
 * {@link end} advances {@link array}'s internal pointer to the last
 * element, and returns its value.
 *
 * @param array $array The array. This array is passed by reference
 *   because it is modified by the function. This means you must pass it
 *   a real variable and not a function returning an array because only
 *   actual variables may be passed by reference.
 * @return mixed Returns the value of the last element or FALSE for
 *   empty array.
 * @since PHP 4, PHP 5, PHP 7
 **/
function end(&$array){}

/**
 * Regular expression match
 *
 * @param string $pattern Case sensitive regular expression.
 * @param string $string The input string.
 * @param array $regs If matches are found for parenthesized substrings
 *   of {@link pattern} and the function is called with the third
 *   argument {@link regs}, the matches will be stored in the elements of
 *   the array {@link regs}. $regs[1] will contain the substring which
 *   starts at the first left parenthesis; $regs[2] will contain the
 *   substring starting at the second, and so on. $regs[0] will contain a
 *   copy of the complete string matched.
 * @return int Returns the length of the matched string if a match for
 *   {@link pattern} was found in {@link string}, or FALSE if no matches
 *   were found or an error occurred.
 * @since PHP 4, PHP 5
 **/
function ereg($pattern, $string, &$regs){}

/**
 * Case insensitive regular expression match
 *
 * This function is identical to {@link ereg} except that it ignores case
 * distinction when matching alphabetic characters.
 *
 * @param string $pattern Case insensitive regular expression.
 * @param string $string The input string.
 * @param array $regs If matches are found for parenthesized substrings
 *   of {@link pattern} and the function is called with the third
 *   argument {@link regs}, the matches will be stored in the elements of
 *   the array {@link regs}. $regs[1] will contain the substring which
 *   starts at the first left parenthesis; $regs[2] will contain the
 *   substring starting at the second, and so on. $regs[0] will contain a
 *   copy of the complete string matched.
 * @return int Returns the length of the matched string if a match for
 *   {@link pattern} was found in {@link string}, or FALSE if no matches
 *   were found or an error occurred.
 * @since PHP 4, PHP 5
 **/
function eregi($pattern, $string, &$regs){}

/**
 * Replace regular expression case insensitive
 *
 * This function is identical to {@link ereg_replace} except that this
 * ignores case distinction when matching alphabetic characters.
 *
 * @param string $pattern A POSIX extended regular expression.
 * @param string $replacement If {@link pattern} contains parenthesized
 *   substrings, {@link replacement} may contain substrings of the form
 *   \digit, which will be replaced by the text matching the digit'th
 *   parenthesized substring; \0 will produce the entire contents of
 *   string. Up to nine substrings may be used. Parentheses may be
 *   nested, in which case they are counted by the opening parenthesis.
 * @param string $string The input string.
 * @return string The modified string is returned. If no matches are
 *   found in {@link string}, then it will be returned unchanged.
 * @since PHP 4, PHP 5
 **/
function eregi_replace($pattern, $replacement, $string){}

/**
 * Replace regular expression
 *
 * @param string $pattern A POSIX extended regular expression.
 * @param string $replacement If {@link pattern} contains parenthesized
 *   substrings, {@link replacement} may contain substrings of the form
 *   \digit, which will be replaced by the text matching the digit'th
 *   parenthesized substring; \0 will produce the entire contents of
 *   string. Up to nine substrings may be used. Parentheses may be
 *   nested, in which case they are counted by the opening parenthesis.
 * @param string $string The input string.
 * @return string The modified string is returned. If no matches are
 *   found in {@link string}, then it will be returned unchanged.
 * @since PHP 4, PHP 5
 **/
function ereg_replace($pattern, $replacement, $string){}

/**
 * Clear the most recent error
 *
 * @return void Clears the most recent errors, making it unable to be
 *   retrieved with {@link error_get_last}.
 * @since PHP 7
 **/
function error_clear_last(){}

/**
 * Get the last occurred error
 *
 * Gets information about the last error that occurred.
 *
 * @return array Returns an associative array describing the last error
 *   with keys "type", "message", "file" and "line". If the error has
 *   been caused by a PHP internal function then the "message" begins
 *   with its name. Returns NULL if there hasn't been an error yet.
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function error_get_last(){}

/**
 * Send an error message to the defined error handling routines
 *
 * Sends an error message to the web server's error log or to a file.
 *
 * @param string $message The error message that should be logged.
 * @param int $message_type Says where the error should go. The
 *   possible message types are as follows:
 *   
 *   {@link error_log} log types 0 {@link message} is sent to PHP's
 *   system logger, using the Operating System's system logging mechanism
 *   or a file, depending on what the error_log configuration directive
 *   is set to. This is the default option. 1 {@link message} is sent by
 *   email to the address in the {@link destination} parameter. This is
 *   the only message type where the fourth parameter, {@link
 *   extra_headers} is used. 2 No longer an option. 3 {@link message} is
 *   appended to the file {@link destination}. A newline is not
 *   automatically added to the end of the {@link message} string. 4
 *   {@link message} is sent directly to the SAPI logging handler.
 * @param string $destination The destination. Its meaning depends on
 *   the {@link message_type} parameter as described above.
 * @param string $extra_headers The extra headers. It's used when the
 *   {@link message_type} parameter is set to 1. This message type uses
 *   the same internal function as {@link mail} does.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function error_log($message, $message_type, $destination, $extra_headers){}

/**
 * Sets which PHP errors are reported
 *
 * The {@link error_reporting} function sets the error_reporting
 * directive at runtime. PHP has many levels of errors, using this
 * function sets that level for the duration (runtime) of your script. If
 * the optional {@link level} is not set, {@link error_reporting} will
 * just return the current error reporting level.
 *
 * @param int $level The new error_reporting level. It takes on either
 *   a bitmask, or named constants. Using named constants is strongly
 *   encouraged to ensure compatibility for future versions. As error
 *   levels are added, the range of integers increases, so older
 *   integer-based error levels will not always behave as expected. The
 *   available error level constants and the actual meanings of these
 *   error levels are described in the predefined constants.
 * @return int Returns the old error_reporting level or the current
 *   level if no {@link level} parameter is given.
 * @since PHP 4, PHP 5, PHP 7
 **/
function error_reporting($level){}

/**
 * Escape a string to be used as a shell argument
 *
 * {@link escapeshellarg} adds single quotes around a string and
 * quotes/escapes any existing single quotes allowing you to pass a
 * string directly to a shell function and having it be treated as a
 * single safe argument. This function should be used to escape
 * individual arguments to shell functions coming from user input. The
 * shell functions include {@link exec}, {@link system} and the backtick
 * operator.
 *
 * On Windows, {@link escapeshellarg} instead replaces percent signs,
 * exclamation marks (delayed variable substitution) and double quotes
 * with spaces and adds double quotes around the string.
 *
 * @param string $arg The argument that will be escaped.
 * @return string The escaped string.
 * @since PHP 4 >= 4.0.3, PHP 5, PHP 7
 **/
function escapeshellarg($arg){}

/**
 * Escape shell metacharacters
 *
 * {@link escapeshellcmd} escapes any characters in a string that might
 * be used to trick a shell command into executing arbitrary commands.
 * This function should be used to make sure that any data coming from
 * user input is escaped before this data is passed to the {@link exec}
 * or {@link system} functions, or to the backtick operator.
 *
 * Following characters are preceded by a backslash: &#;`|*?~<>^()[]{}$\,
 * \x0A and \xFF. ' and " are escaped only if they are not paired. In
 * Windows, all these characters plus % and ! are replaced by a space
 * instead.
 *
 * @param string $command The command that will be escaped.
 * @return string The escaped string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function escapeshellcmd($command){}

/**
 * Add an event to the set of monitored events
 *
 * {@link event_add} schedules the execution of the {@link event} when
 * the event specified in {@link event_set} occurs or in at least the
 * time specified by the {@link timeout} argument. If {@link timeout} was
 * not specified, not timeout is set. The {@link event} must be already
 * initalized by {@link event_set} and {@link event_base_set} functions.
 * If the {@link event} already has a timeout set, it is replaced by the
 * new one.
 *
 * @param resource $event Valid event resource.
 * @param int $timeout Optional timeout (in microseconds).
 * @return bool {@link event_add} returns TRUE on success or FALSE on
 *   error.
 * @since PECL libevent >= 0.0.1
 **/
function event_add($event, $timeout){}

/**
 * Destroy event base
 *
 * Destroys the specified {@link event_base} and frees all the resources
 * associated. Note that it's not possible to destroy an event base with
 * events attached to it.
 *
 * @param resource $event_base Valid event base resource.
 * @return void
 * @since PECL libevent >= 0.0.1
 **/
function event_base_free($event_base){}

/**
 * Handle events
 *
 * Starts event loop for the specified event base.
 *
 * @param resource $event_base Valid event base resource.
 * @param int $flags Optional parameter, which can take any combination
 *   of EVLOOP_ONCE and EVLOOP_NONBLOCK.
 * @return int {@link event_base_loop} returns 0 on success, -1 on
 *   error and 1 if no events were registered.
 * @since PECL libevent >= 0.0.1
 **/
function event_base_loop($event_base, $flags){}

/**
 * Abort event loop
 *
 * Abort the active event loop immediately. The behaviour is similar to
 * break statement.
 *
 * @param resource $event_base Valid event base resource.
 * @return bool {@link event_base_loopbreak} returns TRUE on success or
 *   FALSE on error.
 * @since PECL libevent >= 0.0.1
 **/
function event_base_loopbreak($event_base){}

/**
 * Exit loop after a time
 *
 * The next event loop iteration after the given timer expires will
 * complete normally, then exit without blocking for events again.
 *
 * @param resource $event_base Valid event base resource.
 * @param int $timeout Optional timeout parameter (in microseconds).
 * @return bool {@link event_base_loopexit} returns TRUE on success or
 *   FALSE on error.
 * @since PECL libevent >= 0.0.1
 **/
function event_base_loopexit($event_base, $timeout){}

/**
 * Create and initialize new event base
 *
 * Returns new event base, which can be used later in {@link
 * event_base_set}, {@link event_base_loop} and other functions.
 *
 * @return resource {@link event_base_new} returns valid event base
 *   resource on success or FALSE on error.
 * @since PECL libevent >= 0.0.1
 **/
function event_base_new(){}

/**
 * Set the number of event priority levels
 *
 * Sets the number of different event priority levels.
 *
 * By default all events are scheduled with the same priority ({@link
 * npriorities}/2). Using {@link event_base_priority_init} you can change
 * the number of event priority levels and then set a desired priority
 * for each event.
 *
 * @param resource $event_base Valid event base resource.
 * @param int $npriorities The number of event priority levels.
 * @return bool {@link event_base_priority_init} returns TRUE on
 *   success or FALSE on error.
 * @since PECL libevent >= 0.0.2
 **/
function event_base_priority_init($event_base, $npriorities){}

/**
 * Reinitialize the event base after a fork
 *
 * Some event mechanisms do not survive across fork. The {@link
 * event_base} needs to be reinitialized with this function.
 *
 * @param resource $event_base Valid event base resource that needs to
 *   be re-initialized.
 * @return bool
 * @since PECL libevent >= 0.1.0
 **/
function event_base_reinit($event_base){}

/**
 * Associate event base with an event
 *
 * Associates the {@link event_base} with the {@link event}.
 *
 * @param resource $event Valid event resource.
 * @param resource $event_base Valid event base resource.
 * @return bool {@link event_base_set} returns TRUE on success or FALSE
 *   on error.
 * @since PECL libevent >= 0.0.1
 **/
function event_base_set($event, $event_base){}

/**
 * Associate buffered event with an event base
 *
 * Assign the specified {@link bevent} to the {@link event_base}.
 *
 * @param resource $bevent Valid buffered event resource.
 * @param resource $event_base Valid event base resource.
 * @return bool {@link event_buffer_base_set} returns TRUE on success
 *   or FALSE on error.
 * @since PECL libevent >= 0.0.1
 **/
function event_buffer_base_set($bevent, $event_base){}

/**
 * Disable a buffered event
 *
 * Disables the specified buffered event.
 *
 * @param resource $bevent Valid buffered event resource.
 * @param int $events Any combination of EV_READ and EV_WRITE.
 * @return bool {@link event_buffer_disable} returns TRUE on success or
 *   FALSE on error.
 * @since PECL libevent >= 0.0.1
 **/
function event_buffer_disable($bevent, $events){}

/**
 * Enable a buffered event
 *
 * Enables the specified buffered event.
 *
 * @param resource $bevent Valid buffered event resource.
 * @param int $events Any combination of EV_READ and EV_WRITE.
 * @return bool {@link event_buffer_enable} returns TRUE on success or
 *   FALSE on error.
 * @since PECL libevent >= 0.0.1
 **/
function event_buffer_enable($bevent, $events){}

/**
 * Change a buffered event file descriptor
 *
 * Changes the file descriptor on which the buffered event operates.
 *
 * @param resource $bevent Valid buffered event resource.
 * @param resource $fd Valid PHP stream, must be castable to file
 *   descriptor.
 * @return void
 * @since PECL libevent >= 0.0.1
 **/
function event_buffer_fd_set($bevent, $fd){}

/**
 * Destroy buffered event
 *
 * Destroys the specified buffered event and frees all the resources
 * associated.
 *
 * @param resource $bevent Valid buffered event resource.
 * @return void
 * @since PECL libevent >= 0.0.1
 **/
function event_buffer_free($bevent){}

/**
 * Create new buffered event
 *
 * Libevent provides an abstraction layer on top of the regular event
 * API. Using buffered event you don't need to deal with the I/O
 * manually, instead it provides input and output buffers that get filled
 * and drained automatically.
 *
 * @param resource $stream Valid PHP stream resource. Must be castable
 *   to file descriptor.
 * @param mixed $readcb Callback to invoke where there is data to read,
 *   or NULL if no callback is desired.
 * @param mixed $writecb Callback to invoke where the descriptor is
 *   ready for writing, or NULL if no callback is desired.
 * @param mixed $errorcb Callback to invoke where there is an error on
 *   the descriptor, cannot be NULL.
 * @param mixed $arg An argument that will be passed to each of the
 *   callbacks (optional).
 * @return resource {@link event_buffer_new} returns new buffered event
 *   resource on success or FALSE on error.
 * @since PECL libevent >= 0.0.1
 **/
function event_buffer_new($stream, $readcb, $writecb, $errorcb, $arg){}

/**
 * Assign a priority to a buffered event
 *
 * Assign a priority to the {@link bevent}.
 *
 * @param resource $bevent Valid buffered event resource.
 * @param int $priority Priority level. Cannot be less than zero and
 *   cannot exceed maximum priority level of the event base (see {@link
 *   event_base_priority_init}).
 * @return bool {@link event_buffer_priority_set} returns TRUE on
 *   success or FALSE on error.
 * @since PECL libevent >= 0.0.1
 **/
function event_buffer_priority_set($bevent, $priority){}

/**
 * Read data from a buffered event
 *
 * Reads data from the input buffer of the buffered event.
 *
 * @param resource $bevent Valid buffered event resource.
 * @param int $data_size Data size in bytes.
 * @return string
 * @since PECL libevent >= 0.0.1
 **/
function event_buffer_read($bevent, $data_size){}

/**
 * Set or reset callbacks for a buffered event
 *
 * Sets or changes existing callbacks for the buffered {@link event}.
 *
 * @param resource $event Valid buffered event resource.
 * @param mixed $readcb Callback to invoke where there is data to read,
 *   or NULL if no callback is desired.
 * @param mixed $writecb Callback to invoke where the descriptor is
 *   ready for writing, or NULL if no callback is desired.
 * @param mixed $errorcb Callback to invoke where there is an error on
 *   the descriptor, cannot be NULL.
 * @param mixed $arg An argument that will be passed to each of the
 *   callbacks (optional).
 * @return bool
 * @since PECL libevent >= 0.0.4
 **/
function event_buffer_set_callback($event, $readcb, $writecb, $errorcb, $arg){}

/**
 * Set read and write timeouts for a buffered event
 *
 * Sets the read and write timeouts for the specified buffered event.
 *
 * @param resource $bevent Valid buffered event resource.
 * @param int $read_timeout Read timeout (in seconds).
 * @param int $write_timeout Write timeout (in seconds).
 * @return void
 * @since PECL libevent >= 0.0.1
 **/
function event_buffer_timeout_set($bevent, $read_timeout, $write_timeout){}

/**
 * Set the watermarks for read and write events
 *
 * Sets the watermarks for read and write events. Libevent does not
 * invoke read callback unless there is at least {@link lowmark} bytes in
 * the input buffer; if the read buffer is beyond the {@link highmark},
 * reading is stopped. On output, the write callback is invoked whenever
 * the buffered data falls below the {@link lowmark}.
 *
 * @param resource $bevent Valid buffered event resource.
 * @param int $events Any combination of EV_READ and EV_WRITE.
 * @param int $lowmark Low watermark.
 * @param int $highmark High watermark.
 * @return void
 * @since PECL libevent >= 0.0.1
 **/
function event_buffer_watermark_set($bevent, $events, $lowmark, $highmark){}

/**
 * Write data to a buffered event
 *
 * Writes data to the specified buffered event. The data is appended to
 * the output buffer and written to the descriptor when it becomes
 * available for writing.
 *
 * @param resource $bevent Valid buffered event resource.
 * @param string $data The data to be written.
 * @param int $data_size Optional size parameter. {@link
 *   event_buffer_write} writes all the {@link data} by default.
 * @return bool {@link event_buffer_write} returns TRUE on success or
 *   FALSE on error.
 * @since PECL libevent >= 0.0.1
 **/
function event_buffer_write($bevent, $data, $data_size){}

/**
 * Remove an event from the set of monitored events
 *
 * Cancels the {@link event}.
 *
 * @param resource $event Valid event resource.
 * @return bool {@link event_del} returns TRUE on success or FALSE on
 *   error.
 * @since PECL libevent >= 0.0.1
 **/
function event_del($event){}

/**
 * Free event resource
 *
 * Frees previously created event resource.
 *
 * @param resource $event Valid event resource.
 * @return void
 * @since PECL libevent >= 0.0.1
 **/
function event_free($event){}

/**
 * Create new event
 *
 * Creates and returns a new event resource.
 *
 * @return resource {@link event_new} returns a new event resource on
 *   success or FALSE on error.
 * @since PECL libevent >= 0.0.1
 **/
function event_new(){}

/**
 * Assign a priority to an event
 *
 * Assign a priority to the {@link event}.
 *
 * @param resource $event Valid event resource.
 * @param int $priority Priority level. Cannot be less than zero and
 *   cannot exceed maximum priority level of the event base (see {@link
 *   event_base_priority_init}).
 * @return bool
 * @since PECL libevent >= 0.0.5
 **/
function event_priority_set($event, $priority){}

/**
 * Prepare an event
 *
 * Prepares the event to be used in {@link event_add}. The event is
 * prepared to call the function specified by the {@link callback} on the
 * events specified in parameter {@link events}, which is a set of the
 * following flags: EV_TIMEOUT, EV_SIGNAL, EV_READ, EV_WRITE and
 * EV_PERSIST.
 *
 * If EV_SIGNAL bit is set in parameter {@link events}, the {@link fd} is
 * interpreted as signal number.
 *
 * After initializing the event, use {@link event_base_set} to associate
 * the event with its event base.
 *
 * In case of matching event, these three arguments are passed to the
 * {@link callback} function: {@link fd} Signal number or resource
 * indicating the stream. {@link events} A flag indicating the event.
 * Consists of the following flags: EV_TIMEOUT, EV_SIGNAL, EV_READ,
 * EV_WRITE and EV_PERSIST. {@link arg} Optional parameter, previously
 * passed to {@link event_set} as {@link arg}.
 *
 * @param resource $event Valid event resource.
 * @param mixed $fd Valid PHP stream resource. The stream must be
 *   castable to file descriptor, so you most likely won't be able to use
 *   any of filtered streams.
 * @param int $events A set of flags indicating the desired event, can
 *   be EV_READ and/or EV_WRITE. The additional flag EV_PERSIST makes the
 *   event to persist until {@link event_del} is called, otherwise the
 *   callback is invoked only once.
 * @param mixed $callback Callback function to be called when the
 *   matching event occurs.
 * @param mixed $arg Optional callback parameter.
 * @return bool {@link event_set} returns TRUE on success or FALSE on
 *   error.
 * @since PECL libevent >= 0.0.1
 **/
function event_set($event, $fd, $events, $callback, $arg){}

/**
 * Add an event to the set of monitored events
 *
 * {@link event_timer_add} schedules the execution of the {@link event}
 * when the event specified in {@link event_set} occurs or in at least
 * the time specified by the {@link timeout} argument. If {@link timeout}
 * was not specified, not timeout is set. The {@link event} must be
 * already initalized by {@link event_set} and {@link event_base_set}
 * functions. If the {@link event} already has a timeout set, it is
 * replaced by the new one.
 *
 * @param resource $event Valid event resource.
 * @param int $timeout Optional timeout (in microseconds).
 * @return bool {@link event_add} returns TRUE on success or FALSE on
 *   error.
 * @since PECL libevent >= 0.0.2
 **/
function event_timer_add($event, $timeout){}

/**
 * Remove an event from the set of monitored events
 *
 * Cancels the {@link event}.
 *
 * @param resource $event Valid event resource.
 * @return bool {@link event_del} returns TRUE on success or FALSE on
 *   error.
 * @since PECL libevent >= 0.0.2
 **/
function event_timer_del($event){}

/**
 * Create new event
 *
 * Creates and returns a new event resource.
 *
 * @return resource {@link event_new} returns a new event resource on
 *   success or FALSE on error.
 * @since PECL libevent >= 0.0.2
 **/
function event_timer_new(){}

/**
 * Prepare a timer event
 *
 * Prepares the timer event to be used in {@link event_add}. The event is
 * prepared to call the function specified by the {@link callback} when
 * the event timeout elapses.
 *
 * After initializing the event, use {@link event_base_set} to associate
 * the event with its event base.
 *
 * In case of matching event, these three arguments are passed to the
 * {@link callback} function: {@link fd} Signal number or resource
 * indicating the stream. {@link events} A flag indicating the event.
 * This will always be EV_TIMEOUT for timer events. {@link arg} Optional
 * parameter, previously passed to {@link event_timer_set} as {@link
 * arg}.
 *
 * @param resource $event Valid event resource.
 * @param callable $callback Callback function to be called when the
 *   matching event occurs.
 * @param mixed $arg Optional callback parameter.
 * @return bool
 * @since PECL libevent >= 0.0.2
 **/
function event_timer_set($event, $callback, $arg){}

/**
 * Execute an external program
 *
 * {@link exec} executes the given {@link command}.
 *
 * @param string $command The command that will be executed.
 * @param array $output If the {@link output} argument is present, then
 *   the specified array will be filled with every line of output from
 *   the command. Trailing whitespace, such as \n, is not included in
 *   this array. Note that if the array already contains some elements,
 *   {@link exec} will append to the end of the array. If you do not want
 *   the function to append elements, call {@link unset} on the array
 *   before passing it to {@link exec}.
 * @param int $return_var If the {@link return_var} argument is present
 *   along with the {@link output} argument, then the return status of
 *   the executed command will be written to this variable.
 * @return string The last line from the result of the command. If you
 *   need to execute a command and have all the data from the command
 *   passed directly back without any interference, use the {@link
 *   passthru} function.
 * @since PHP 4, PHP 5, PHP 7
 **/
function exec($command, &$output, &$return_var){}

/**
 * Determine the type of an image
 *
 * {@link exif_imagetype} reads the first bytes of an image and checks
 * its signature.
 *
 * {@link exif_imagetype} can be used to avoid calls to other exif
 * functions with unsupported file types or in conjunction with
 * $_SERVER['HTTP_ACCEPT'] to check whether or not the viewer is able to
 * see a specific image in the browser.
 *
 * @param string $filename
 * @return int When a correct signature is found, the appropriate
 *   constant value will be returned otherwise the return value is FALSE.
 *   The return value is the same value that {@link getimagesize} returns
 *   in index 2 but {@link exif_imagetype} is much faster.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function exif_imagetype($filename){}

/**
 * Reads the headers from an image file
 *
 * {@link exif_read_data} reads the EXIF headers from an image file. This
 * way you can read meta data generated by digital cameras.
 *
 * EXIF headers tend to be present in JPEG/TIFF images generated by
 * digital cameras, but unfortunately each digital camera maker has a
 * different idea of how to actually tag their images, so you can't
 * always rely on a specific Exif header being present.
 *
 * Height and Width are computed the same way {@link getimagesize} does
 * so their values must not be part of any header returned. Also, html is
 * a height/width text string to be used inside normal HTML.
 *
 * When an Exif header contains a Copyright note, this itself can contain
 * two values. As the solution is inconsistent in the Exif 2.10 standard,
 * the COMPUTED section will return both entries Copyright.Photographer
 * and Copyright.Editor while the IFD0 sections contains the byte array
 * with the NULL character that splits both entries. Or just the first
 * entry if the datatype was wrong (normal behaviour of Exif). The
 * COMPUTED will also contain the entry Copyright which is either the
 * original copyright string, or a comma separated list of the photo and
 * editor copyright.
 *
 * The tag UserComment has the same problem as the Copyright tag. It can
 * store two values. First the encoding used, and second the value
 * itself. If so the IFD section only contains the encoding or a byte
 * array. The COMPUTED section will store both in the entries
 * UserCommentEncoding and UserComment. The entry UserComment is
 * available in both cases so it should be used in preference to the
 * value in IFD0 section.
 *
 * {@link exif_read_data} also validates EXIF data tags according to the
 * EXIF specification (, page 20).
 *
 * @param mixed $stream The location of the image file. This can either
 *   be a path to the file (stream wrappers are also supported as usual)
 *   or a stream resource.
 * @param string $sections Is a comma separated list of sections that
 *   need to be present in file to produce a result array. If none of the
 *   requested sections could be found the return value is FALSE. FILE
 *   FileName, FileSize, FileDateTime, SectionsFound COMPUTED html,
 *   Width, Height, IsColor, and more if available. Height and Width are
 *   computed the same way {@link getimagesize} does so their values must
 *   not be part of any header returned. Also, html is a height/width
 *   text string to be used inside normal HTML. ANY_TAG Any information
 *   that has a Tag e.g. IFD0, EXIF, ... IFD0 All tagged data of IFD0. In
 *   normal imagefiles this contains image size and so forth. THUMBNAIL A
 *   file is supposed to contain a thumbnail if it has a second IFD. All
 *   tagged information about the embedded thumbnail is stored in this
 *   section. COMMENT Comment headers of JPEG images. EXIF The EXIF
 *   section is a sub section of IFD0. It contains more detailed
 *   information about an image. Most of these entries are digital camera
 *   related.
 * @param bool $arrays Specifies whether or not each section becomes an
 *   array. The {@link sections} COMPUTED, THUMBNAIL, and COMMENT always
 *   become arrays as they may contain values whose names conflict with
 *   other sections.
 * @param bool $thumbnail When set to TRUE the thumbnail itself is
 *   read. Otherwise, only the tagged data is read.
 * @return array It returns an associative array where the array
 *   indexes are the header names and the array values are the values
 *   associated with those headers. If no data can be returned, {@link
 *   exif_read_data} will return FALSE.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function exif_read_data($stream, $sections, $arrays, $thumbnail){}

/**
 * Get the header name for an index
 *
 * @param int $index The Tag ID for which a Tag Name will be looked up.
 * @return string Returns the header name, or FALSE if {@link index} is
 *   not a defined EXIF tag id.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function exif_tagname($index){}

/**
 * Retrieve the embedded thumbnail of an image
 *
 * {@link exif_thumbnail} reads the embedded thumbnail of an image.
 *
 * If you want to deliver thumbnails through this function, you should
 * send the mimetype information using the {@link header} function.
 *
 * It is possible that {@link exif_thumbnail} cannot create an image but
 * can determine its size. In this case, the return value is FALSE but
 * {@link width} and {@link height} are set.
 *
 * @param mixed $stream The location of the image file. This can either
 *   be a path to the file or a stream resource.
 * @param int $width The return width of the returned thumbnail.
 * @param int $height The returned height of the returned thumbnail.
 * @param int $imagetype The returned image type of the returned
 *   thumbnail. This is either TIFF or JPEG.
 * @return string Returns the embedded thumbnail, or FALSE if the image
 *   contains no thumbnail.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function exif_thumbnail($stream, &$width, &$height, &$imagetype){}

/**
 * Calculates the exponent of
 *
 * Returns e raised to the power of {@link arg}.
 *
 * @param float $arg The argument to process
 * @return float 'e' raised to the power of {@link arg}
 * @since PHP 4, PHP 5, PHP 7
 **/
function exp($arg){}

/**
 * Waits until the output from a process matches one of the patterns, a
 * specified time period has passed, or an is seen
 *
 * Waits until the output from a process matches one of the patterns, a
 * specified time period has passed, or an EOF is seen.
 *
 * If {@link match} is provided, then it is filled with the result of
 * search. The matched string can be found in {@link match[0]}. The match
 * substrings (according to the parentheses) in the original pattern can
 * be found in {@link match[1]}, {@link match[2]}, and so on, up to
 * {@link match[9]} (the limitation of libexpect).
 *
 * @param resource $expect An Expect stream, previously opened with
 *   {@link expect_popen}.
 * @param array $cases An array of expect cases. Each expect case is an
 *   indexed array, as described in the following table: Expect Case
 *   Array Index Key Value Type Description Is Mandatory Default Value 0
 *   string pattern, that will be matched against the output from the
 *   stream yes 1 mixed value, that will be returned by this function, if
 *   the pattern matches yes 2 integer pattern type, one of: EXP_GLOB,
 *   EXP_EXACT or EXP_REGEXP no EXP_GLOB
 * @param array $match
 * @return int Returns value associated with the pattern that was
 *   matched.
 * @since PECL expect >= 0.1.0
 **/
function expect_expectl($expect, $cases, &$match){}

/**
 * Execute command via Bourne shell, and open the PTY stream to the
 * process
 *
 * Execute command via Bourne shell, and open the PTY stream to the
 * process.
 *
 * @param string $command Command to execute.
 * @return resource Returns an open PTY stream to the processes stdio,
 *   stdout, and stderr.
 * @since PECL expect >= 0.1.0
 **/
function expect_popen($command){}

/**
 * Split a string by a string
 *
 * Returns an array of strings, each of which is a substring of {@link
 * string} formed by splitting it on boundaries formed by the string
 * {@link delimiter}.
 *
 * @param string $delimiter The boundary string.
 * @param string $string The input string.
 * @param int $limit If {@link limit} is set and positive, the returned
 *   array will contain a maximum of {@link limit} elements with the last
 *   element containing the rest of {@link string}. If the {@link limit}
 *   parameter is negative, all components except the last -{@link limit}
 *   are returned. If the {@link limit} parameter is zero, then this is
 *   treated as 1.
 * @return array Returns an array of strings created by splitting the
 *   {@link string} parameter on boundaries formed by the {@link
 *   delimiter}.
 * @since PHP 4, PHP 5, PHP 7
 **/
function explode($delimiter, $string, $limit){}

/**
 * Returns exp(number) - 1, computed in a way that is accurate even when
 * the value of number is close to zero
 *
 * {@link expm1} returns the equivalent to 'exp({@link arg}) - 1'
 * computed in a way that is accurate even if the value of {@link arg} is
 * near zero, a case where 'exp ({@link arg}) - 1' would be inaccurate
 * due to subtraction of two numbers that are nearly equal.
 *
 * @param float $arg The argument to process
 * @return float 'e' to the power of {@link arg} minus one
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function expm1($arg){}

/**
 * Find out whether an extension is loaded
 *
 * Finds out whether the extension is loaded.
 *
 * @param string $name The extension name. This parameter is
 *   case-insensitive. You can see the names of various extensions by
 *   using {@link phpinfo} or if you're using the CGI or CLI version of
 *   PHP you can use the -m switch to list all available extensions:
 *   
 *   $ php -m [PHP Modules] xml tokenizer standard sockets session posix
 *   pcre overload mysql mbstring ctype
 *   
 *   [Zend Modules]
 * @return bool Returns TRUE if the extension identified by {@link
 *   name} is loaded, FALSE otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function extension_loaded($name){}

/**
 * Import variables into the current symbol table from an array
 *
 * Import variables from an array into the current symbol table.
 *
 * Checks each key to see whether it has a valid variable name. It also
 * checks for collisions with existing variables in the symbol table.
 *
 * @param array $array An associative array. This function treats keys
 *   as variable names and values as variable values. For each key/value
 *   pair it will create a variable in the current symbol table, subject
 *   to {@link flags} and {@link prefix} parameters. You must use an
 *   associative array; a numerically indexed array will not produce
 *   results unless you use EXTR_PREFIX_ALL or EXTR_PREFIX_INVALID.
 * @param int $flags The way invalid/numeric keys and collisions are
 *   treated is determined by the extraction {@link flags}. It can be one
 *   of the following values: EXTR_OVERWRITE If there is a collision,
 *   overwrite the existing variable. EXTR_SKIP If there is a collision,
 *   don't overwrite the existing variable. EXTR_PREFIX_SAME If there is
 *   a collision, prefix the variable name with {@link prefix}.
 *   EXTR_PREFIX_ALL Prefix all variable names with {@link prefix}.
 *   EXTR_PREFIX_INVALID Only prefix invalid/numeric variable names with
 *   {@link prefix}. EXTR_IF_EXISTS Only overwrite the variable if it
 *   already exists in the current symbol table, otherwise do nothing.
 *   This is useful for defining a list of valid variables and then
 *   extracting only those variables you have defined out of $_REQUEST,
 *   for example. EXTR_PREFIX_IF_EXISTS Only create prefixed variable
 *   names if the non-prefixed version of the same variable exists in the
 *   current symbol table. EXTR_REFS Extracts variables as references.
 *   This effectively means that the values of the imported variables are
 *   still referencing the values of the {@link array} parameter. You can
 *   use this flag on its own or combine it with any other flag by OR'ing
 *   the {@link flags}. If {@link flags} is not specified, it is assumed
 *   to be EXTR_OVERWRITE.
 * @param string $prefix
 * @return int Returns the number of variables successfully imported
 *   into the symbol table.
 * @since PHP 4, PHP 5, PHP 7
 **/
function extract(&$array, $flags, $prefix){}

/**
 * Calculate the hash value needed by EZMLM
 *
 * @param string $addr The email address that's being hashed.
 * @return int The hash value of {@link addr}.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function ezmlm_hash($addr){}

/**
 * Terminate monitoring
 *
 * Terminates monitoring on a resource.
 *
 * In addition an FAMAcknowledge event occurs.
 *
 * @param resource $fam A resource representing a connection to the FAM
 *   service returned by {@link fam_open}
 * @param resource $fam_monitor A resource returned by one of the
 *   fam_monitor_XXX functions
 * @return bool
 * @since PHP 5 < 5.1.0
 **/
function fam_cancel_monitor($fam, $fam_monitor){}

/**
 * Close FAM connection
 *
 * Closes a connection to the FAM service.
 *
 * @param resource $fam A resource representing a connection to the FAM
 *   service returned by {@link fam_open}
 * @return void
 * @since PHP 5 < 5.1.0
 **/
function fam_close($fam){}

/**
 * Monitor a collection of files in a directory for changes
 *
 * Requests monitoring for a collection of files within a directory.
 *
 * A FAM event will be generated whenever the status of the files change.
 * The possible event codes are described in detail in the constants part
 * of this section.
 *
 * @param resource $fam A resource representing a connection to the FAM
 *   service returned by {@link fam_open}
 * @param string $dirname Directory path to the monitored files
 * @param int $depth The maximum search {@link depth} starting from
 *   this directory
 * @param string $mask A shell pattern {@link mask} restricting the
 *   file names to look for
 * @return resource Returns a monitoring resource or FALSE on errors.
 * @since PHP 5 < 5.1.0
 **/
function fam_monitor_collection($fam, $dirname, $depth, $mask){}

/**
 * Monitor a directory for changes
 *
 * Requests monitoring for a directory and all contained files.
 *
 * A FAM event will be generated whenever the status of the directory
 * (i.e. the result of function {@link stat} on that directory) or its
 * content (i.e. the results of {@link readdir}) changes.
 *
 * The possible event codes are described in detail in the constants part
 * of this section.
 *
 * @param resource $fam A resource representing a connection to the FAM
 *   service returned by {@link fam_open}
 * @param string $dirname Path to the monitored directory
 * @return resource Returns a monitoring resource or FALSE on errors.
 * @since PHP 5 < 5.1.0
 **/
function fam_monitor_directory($fam, $dirname){}

/**
 * Monitor a regular file for changes
 *
 * Requests monitoring for a single file. A FAM event will be generated
 * whenever the file status changes (i.e. the result of function {@link
 * stat} on that file).
 *
 * The possible event codes are described in detail in the constants part
 * of this section.
 *
 * @param resource $fam A resource representing a connection to the FAM
 *   service returned by {@link fam_open}
 * @param string $filename Path to the monitored file
 * @return resource Returns a monitoring resource or FALSE on errors.
 * @since PHP 5 < 5.1.0
 **/
function fam_monitor_file($fam, $filename){}

/**
 * Get next pending FAM event
 *
 * Returns the next pending FAM event.
 *
 * The function will block until an event is available which can be
 * checked for using {@link fam_pending}.
 *
 * @param resource $fam A resource representing a connection to the FAM
 *   service returned by {@link fam_open}
 * @return array Returns an array that contains a FAM event code in the
 *   'code' element, the path of the file this event applies to in the
 *   'filename' element and optionally a hostname in the 'hostname'
 *   element.
 * @since PHP 5 < 5.1.0
 **/
function fam_next_event($fam){}

/**
 * Open connection to FAM daemon
 *
 * Opens a connection to the FAM service daemon.
 *
 * @param string $appname A string identifying the application for
 *   logging reasons
 * @return resource Returns a resource representing a connection to the
 *   FAM service on success or FALSE on errors.
 * @since PHP 5 < 5.1.0
 **/
function fam_open($appname){}

/**
 * Check for pending FAM events
 *
 * Checks for pending FAM events.
 *
 * @param resource $fam A resource representing a connection to the FAM
 *   service returned by {@link fam_open}
 * @return int Returns non-zero if events are available to be fetched
 *   using {@link fam_next_event}, zero otherwise.
 * @since PHP 5 < 5.1.0
 **/
function fam_pending($fam){}

/**
 * Resume suspended monitoring
 *
 * Resumes monitoring of a resource previously suspended using {@link
 * fam_suspend_monitor}.
 *
 * @param resource $fam A resource representing a connection to the FAM
 *   service returned by {@link fam_open}
 * @param resource $fam_monitor A resource returned by one of the
 *   fam_monitor_XXX functions
 * @return bool
 * @since PHP 5 < 5.1.0
 **/
function fam_resume_monitor($fam, $fam_monitor){}

/**
 * Temporarily suspend monitoring
 *
 * {@link fam_suspend_monitor} temporarily suspend monitoring of a
 * resource.
 *
 * Monitoring can later be continued using {@link fam_resume_monitor}
 * without the need of requesting a complete new monitor.
 *
 * @param resource $fam A resource representing a connection to the FAM
 *   service returned by {@link fam_open}
 * @param resource $fam_monitor A resource returned by one of the
 *   fam_monitor_XXX functions
 * @return bool
 * @since PHP 5 < 5.1.0
 **/
function fam_suspend_monitor($fam, $fam_monitor){}

/**
 * Trains on an entire dataset, for a period of time using the Cascade2
 * training algorithm
 *
 * The cascade output change fraction is a number between 0 and 1
 * determining how large a fraction the {@link fann_get_MSE} value should
 * change within {@link fann_get_cascade_output_stagnation_epochs} during
 * training of the output connections, in order for the training not to
 * stagnate. If the training stagnates, the training of the output
 * connections will be ended and new candidates will be prepared.
 *
 * This training uses the parameters set using the fann_set_cascade_...,
 * but it also uses another training algorithm as it’s internal
 * training algorithm. This algorithm can be set to either
 * FANN_TRAIN_RPROP or FANN_TRAIN_QUICKPROP by {@link
 * fann_set_training_algorithm}, and the parameters set for these
 * training algorithms will also affect the cascade training.
 *
 * @param resource $ann
 * @param resource $data
 * @param int $max_neurons The maximum number of neurons to be added to
 *   neural network.
 * @param int $neurons_between_reports The number of neurons between
 *   printing a status report. A value of zero means no reports should be
 *   printed.
 * @param float $desired_error The desired {@link fann_get_MSE} or
 *   {@link fann_get_bit_fail}, depending on which stop function is
 *   chosen by {@link fann_set_train_stop_function}
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_cascadetrain_on_data($ann, $data, $max_neurons, $neurons_between_reports, $desired_error){}

/**
 * Trains on an entire dataset read from file, for a period of time using
 * the Cascade2 training algorithm
 *
 * Does the same as {@link fann_cascadetrain_on_data}, but reads the
 * training data directly from a file.
 *
 * @param resource $ann
 * @param string $filename A file containing the data for training.
 * @param int $max_neurons The maximum number of neurons to be added to
 *   neural network
 * @param int $neurons_between_reports The number of neurons between
 *   printing a status report. A value of zero means no reports should be
 *   printed.
 * @param float $desired_error The desired {@link fann_get_MSE} or
 *   {@link fann_get_bit_fail}, depending on which stop function is
 *   chosen by {@link fann_set_train_stop_function}.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_cascadetrain_on_file($ann, $filename, $max_neurons, $neurons_between_reports, $desired_error){}

/**
 * Clears scaling parameters
 *
 * @param resource $ann
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_clear_scaling_params($ann){}

/**
 * Creates a copy of a fann structure
 *
 * @param resource $ann
 * @return resource Returns a copy of neural network resource on
 *   success, or FALSE on error
 * @since PECL fann >= 1.0.0
 **/
function fann_copy($ann){}

/**
 * Constructs a backpropagation neural network from a configuration file
 *
 * Constructs a backpropagation neural network from a configuration file,
 * which have been saved by {@link fann_save}.
 *
 * @param string $configuration_file The configuration file path.
 * @return resource
 * @since PECL fann >= 1.0.0
 **/
function fann_create_from_file($configuration_file){}

/**
 * Creates a standard backpropagation neural network which is not fully
 * connectected and has shortcut connections
 *
 * Creates a standard backpropagation neural network, which is not fully
 * connected and which also has shortcut connections.
 *
 * Shortcut connections are connections that skip layers. A fully
 * connected network with shortcut connections, is a network where all
 * neurons are connected to all neurons in later layers. Including direct
 * connections from the input layer to the output layer.
 *
 * @param int $num_layers The total number of layers including the
 *   input and the output layer.
 * @param int $num_neurons1 Number of neurons in the first layer.
 * @param int $num_neurons2 Number of neurons in the second layer.
 * @return resource Returns a neural network resource on success, or
 *   FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_create_shortcut($num_layers, $num_neurons1, $num_neurons2){}

/**
 * Creates a standard backpropagation neural network which is not fully
 * connectected and has shortcut connections
 *
 * Creates a standard backpropagation neural network which is not fully
 * connectected and has shortcut connections using an array of layers
 * sizes.
 *
 * @param int $num_layers The total number of layers including the
 *   input and the output layer.
 * @param array $layers An array of layers sizes.
 * @return resource Returns a neural network resource on success, or
 *   FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_create_shortcut_array($num_layers, $layers){}

/**
 * Creates a standard backpropagation neural network, which is not fully
 * connected
 *
 * @param float $connection_rate The connection rate controls how many
 *   connections there will be in the network. If the connection rate is
 *   set to 1, the network will be fully connected, but if it is set to
 *   0.5 only half of the connections will be set. A connection rate of 1
 *   will yield the same result as {@link fann_create_standard}.
 * @param int $num_layers The total number of layers including the
 *   input and the output layer.
 * @param int $num_neurons1 Number of neurons in the first layer.
 * @param int $num_neurons2 Number of neurons in the second layer.
 * @return resource Returns a neural network resource on success, or
 *   FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_create_sparse($connection_rate, $num_layers, $num_neurons1, $num_neurons2){}

/**
 * Creates a standard backpropagation neural network, which is not fully
 * connected using an array of layer sizes
 *
 * @param float $connection_rate The connection rate controls how many
 *   connections there will be in the network. If the connection rate is
 *   set to 1, the network will be fully connected, but if it is set to
 *   0.5 only half of the connections will be set. A connection rate of 1
 *   will yield the same result as {@link fann_create_standard}.
 * @param int $num_layers The total number of layers including the
 *   input and the output layer.
 * @param array $layers An array of layer sizes.
 * @return resource Returns a neural network resource on success, or
 *   FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_create_sparse_array($connection_rate, $num_layers, $layers){}

/**
 * Creates a standard fully connected backpropagation neural network
 *
 * There will be a bias neuron in each layer (except the output layer),
 * and this bias neuron will be connected to all neurons in the next
 * layer. When running the network, the bias nodes always emits 1.
 *
 * To destroy a neural network use the {@link fann_destroy} function.
 *
 * @param int $num_layers The total number of layers including the
 *   input and the output layer.
 * @param int $num_neurons1 Number of neurons in the first layer.
 * @param int $num_neurons2 Number of neurons in the second layer.
 * @return resource Returns a neural network resource on success, or
 *   FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_create_standard($num_layers, $num_neurons1, $num_neurons2){}

/**
 * Creates a standard fully connected backpropagation neural network
 * using an array of layer sizes
 *
 * Creates a standard fully connected backpropagation neural network.
 *
 * There will be a bias neuron in each layer (except the output layer),
 * and this bias neuron will be connected to all neurons in the next
 * layer. When running the network, the bias nodes always emits 1.
 *
 * To destroy a neural network use the {@link fann_destroy} function.
 *
 * @param int $num_layers The total number of layers including the
 *   input and the output layer.
 * @param array $layers An array of layer sizes.
 * @return resource Returns a neural network resource on success, or
 *   FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_create_standard_array($num_layers, $layers){}

/**
 * Creates an empty training data struct
 *
 * @param int $num_data The number of training data
 * @param int $num_input The number of inputs per training data
 * @param int $num_output The number of ouputs per training data
 * @return resource
 * @since PECL fann >= 1.0.0
 **/
function fann_create_train($num_data, $num_input, $num_output){}

/**
 * Creates the training data struct from a user supplied function
 *
 * Creates the training data struct from a user supplied function. As the
 * training data are numerable (data 1, data 2...), the user must write a
 * function that receives the number of the training data set (input,
 * output) and returns the set.
 *
 * @param int $num_data The number of training data
 * @param int $num_input The number of inputs per training data
 * @param int $num_output The number of ouputs per training data
 * @param callable $user_function The user supplied function with
 *   following parameters: num - The number of the training data set
 *   num_input - The number of inputs per training data num_output - The
 *   number of ouputs per training data The function should return an
 *   associative array with keys input and output and two array values of
 *   input and output.
 * @return resource
 * @since PECL fann >= 1.0.0
 **/
function fann_create_train_from_callback($num_data, $num_input, $num_output, $user_function){}

/**
 * Scale data in input vector after get it from ann based on previously
 * calculated parameters
 *
 * @param resource $ann
 * @param array $input_vector Input vector that will be descaled
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_descale_input($ann, $input_vector){}

/**
 * Scale data in output vector after get it from ann based on previously
 * calculated parameters
 *
 * @param resource $ann
 * @param array $output_vector Output vector that will be descaled
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_descale_output($ann, $output_vector){}

/**
 * Descale input and output data based on previously calculated
 * parameters
 *
 * @param resource $ann
 * @param resource $train_data
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_descale_train($ann, $train_data){}

/**
 * Destroys the entire network and properly freeing all the associated
 * memory
 *
 * @param resource $ann
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_destroy($ann){}

/**
 * Destructs the training data
 *
 * @param resource $train_data
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_destroy_train($train_data){}

/**
 * Returns an exact copy of a fann train data
 *
 * Returns an exact copy of a fann train data resource.
 *
 * @param resource $data
 * @return resource
 * @since PECL fann >= 1.0.0
 **/
function fann_duplicate_train_data($data){}

/**
 * Returns the activation function
 *
 * Get the activation function for neuron number neuron in layer number
 * layer, counting the input layer as layer 0.
 *
 * It is not possible to get activation functions for the neurons in the
 * input layer.
 *
 * The return value is one of the activation functions constants.
 *
 * @param resource $ann
 * @param int $layer Layer number.
 * @param int $neuron Neuron number.
 * @return int Learning functions constant or -1 if the neuron is not
 *   defined in the neural network, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_activation_function($ann, $layer, $neuron){}

/**
 * Returns the activation steepness for supplied neuron and layer number
 *
 * Get the activation steepness for neuron number neuron in layer number
 * layer, counting the input layer as layer 0.
 *
 * It is not possible to get activation steepness for the neurons in the
 * input layer.
 *
 * The steepness of an activation function says something about how fast
 * the activation function goes from the minimum to the maximum. A high
 * value for the activation function will also give a more agressive
 * training.
 *
 * When training neural networks where the output values should be at the
 * extremes (usually 0 and 1, depending on the activation function), a
 * steep activation function can be used (e.g. 1.0).
 *
 * The default activation steepness is 0.5.
 *
 * @param resource $ann
 * @param int $layer Layer number
 * @param int $neuron Neuron number
 * @return float The activation steepness for the neuron or -1 if the
 *   neuron is not defined in the neural network, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_activation_steepness($ann, $layer, $neuron){}

/**
 * Get the number of bias in each layer in the network
 *
 * @param resource $ann
 * @return array An array of numbers of bias in each layer
 * @since PECL fann >= 1.0.0
 **/
function fann_get_bias_array($ann){}

/**
 * The number of fail bits
 *
 * The number of fail bits; means the number of output neurons which
 * differ more than the bit fail limit (see {@link
 * fann_get_bit_fail_limit}, {@link fann_set_bit_fail_limit}). The bits
 * are counted in all of the training data, so this number can be higher
 * than the number of training data.
 *
 * This value is reset by {@link fann_reset_MSE} and updated by all the
 * same functions which also updates the MSE value (e.g. {@link
 * fann_test_data}, {@link fann_train_epoch})
 *
 * @param resource $ann
 * @return int The number of bits fail, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_bit_fail($ann){}

/**
 * Returns the bit fail limit used during training
 *
 * The bit fail limit is used during training where the stop function is
 * set to FANN_STOPFUNC_BIT.
 *
 * The limit is the maximum accepted difference between the desired
 * output and the actual output during training. Each output that
 * diverges more than this limit is counted as an error bit. This
 * difference is divided by two when dealing with symmetric activation
 * functions, so that symmetric and not symmetric activation functions
 * can use the same limit.
 *
 * The default bit fail limit is 0.35.
 *
 * @param resource $ann
 * @return float The bit fail limit, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_bit_fail_limit($ann){}

/**
 * Returns the cascade activation functions
 *
 * The cascade activation functions array is an array of the different
 * activation functions used by the candidates
 *
 * See {@link fann_get_cascade_num_candidates} for a description of which
 * candidate neurons will be generated by this array.
 *
 * The default activation functions are FANN_SIGMOID,
 * FANN_SIGMOID_SYMMETRIC, FANN_GAUSSIAN, FANN_GAUSSIAN_SYMMETRIC,
 * FANN_ELLIOT, FANN_ELLIOT_SYMMETRIC.
 *
 * @param resource $ann
 * @return array The cascade activation functions, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_cascade_activation_functions($ann){}

/**
 * Returns the number of cascade activation functions
 *
 * The number of activation functions in the {@link
 * fann_get_cascade_activation_functions} array.
 *
 * The default number of activation functions is 6.
 *
 * @param resource $ann
 * @return int The number of cascade activation functions, or FALSE on
 *   error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_cascade_activation_functions_count($ann){}

/**
 * Returns the cascade activation steepnesses
 *
 * The cascade activation steepnesses array is an array of the different
 * activation functions used by the candidates.
 *
 * See {@link fann_get_cascade_num_candidates} for a description of which
 * candidate neurons will be generated by this array.
 *
 * The default activation steepnesses are {0.25, 0.50, 0.75, 1.00}.
 *
 * @param resource $ann
 * @return array The cascade activation steepnesses, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_cascade_activation_steepnesses($ann){}

/**
 * The number of activation steepnesses
 *
 * The number of activation steepnesses in the {@link
 * fann_get_cascade_activation_functions} array.
 *
 * The default number of activation steepnesses is 4.
 *
 * @param resource $ann
 * @return int The number of activation steepnesses, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_cascade_activation_steepnesses_count($ann){}

/**
 * Returns the cascade candidate change fraction
 *
 * The cascade candidate change fraction is a number between 0 and 1
 * determining how large a fraction the {@link fann_get_MSE} value should
 * change within {@link fann_get_cascade_candidate_stagnation_epochs}
 * during training of the candidate neurons, in order for the training
 * not to stagnate. If the training stagnates, the training of the
 * candidate neurons will be ended and the best candidate will be
 * selected.
 *
 * It means that if the MSE does not change by a fraction of {@link
 * fann_get_cascade_candidate_change_fraction} during a period of {@link
 * fann_get_cascade_candidate_stagnation_epochs}, the training of the
 * candidate neurons is stopped because the training has stagnated.
 *
 * If the cascade candidate change fraction is low, the candidate neurons
 * will be trained more and if the fraction is high they will be trained
 * less.
 *
 * The default cascade candidate change fraction is 0.01, which is
 * equalent to a 1% change in MSE.
 *
 * @param resource $ann
 * @return float The cascade candidate change fraction, or FALSE on
 *   error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_cascade_candidate_change_fraction($ann){}

/**
 * Return the candidate limit
 *
 * The candidate limit is a limit for how much the candidate neuron may
 * be trained. The limit is a limit on the proportion between the MSE and
 * candidate score.
 *
 * Set this to a lower value to avoid overfitting and to a higher if
 * overfitting is not a problem.
 *
 * The default candidate limit is 1000.0.
 *
 * @param resource $ann
 * @return float The candidate limit, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_cascade_candidate_limit($ann){}

/**
 * Returns the number of cascade candidate stagnation epochs
 *
 * The number of cascade candidate stagnation epochs determines the
 * number of epochs training is allowed to continue without changing the
 * MSE by a fraction of {@link
 * fann_get_cascade_candidate_change_fraction}.
 *
 * See more info about this parameter in {@link
 * fann_get_cascade_candidate_change_fraction}.
 *
 * The default number of cascade candidate stagnation epochs is 12.
 *
 * @param resource $ann
 * @return int The number of cascade candidate stagnation epochs, or
 *   FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_cascade_candidate_stagnation_epochs($ann){}

/**
 * Returns the maximum candidate epochs
 *
 * The maximum candidate epochs determines the maximum number of epochs
 * the input connections to the candidates may be trained before adding a
 * new candidate neuron.
 *
 * The default max candidate epochs is 150.
 *
 * @param resource $ann
 * @return int The maximum candidate epochs, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_cascade_max_cand_epochs($ann){}

/**
 * Returns the maximum out epochs
 *
 * The maximum out epochs determines the maximum number of epochs the
 * output connections may be trained after adding a new candidate neuron.
 *
 * The default max out epochs is 150.
 *
 * @param resource $ann
 * @return int The maximum out epochs, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_cascade_max_out_epochs($ann){}

/**
 * Returns the minimum candidate epochs
 *
 * The minimum candidate epochs determines the minimum number of epochs
 * the input connections to the candidates may be trained before adding a
 * new candidate neuron.
 *
 * The default min candidate epochs is 50.
 *
 * @param resource $ann
 * @return int The minimum candidate epochs, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_cascade_min_cand_epochs($ann){}

/**
 * Returns the minimum out epochs
 *
 * The minimum out epochs determines the minimum number of epochs the
 * output connections must be trained after adding a new candidate
 * neuron.
 *
 * The default min out epochs is 50.
 *
 * @param resource $ann
 * @return int The minimum out epochs, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_cascade_min_out_epochs($ann){}

/**
 * Returns the number of candidates used during training
 *
 * The number of candidates used during training (calculated by
 * multiplying {@link fann_get_cascade_activation_functions_count},
 * {@link fann_get_cascade_activation_steepnesses_count} and {@link
 * fann_get_cascade_num_candidate_groups}).
 *
 * The actual candidates is defined by the {@link
 * fann_get_cascade_activation_functions} and {@link
 * fann_get_cascade_activation_steepnesses} arrays. These arrays define
 * the activation functions and activation steepnesses used for the
 * candidate neurons. If there are 2 activation functions in the
 * activation function array and 3 steepnesses in the steepness array,
 * then there will be 2x3=6 different candidates which will be trained.
 * These 6 different candidates can be copied into several candidate
 * groups, where the only difference between these groups is the initial
 * weights. If the number of groups is set to 2, then the number of
 * candidate neurons will be 2x3x2=12. The number of candidate groups is
 * defined by {@link fann_set_cascade_num_candidate_groups}.
 *
 * The default number of candidates is 6x4x2 = 48
 *
 * @param resource $ann
 * @return int The number of candidates used during training, or FALSE
 *   on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_cascade_num_candidates($ann){}

/**
 * Returns the number of candidate groups
 *
 * The number of candidate groups is the number of groups of identical
 * candidates which will be used during training.
 *
 * This number can be used to have more candidates without having to
 * define new parameters for the candidates.
 *
 * See {@link fann_get_cascade_num_candidates} for a description of which
 * candidate neurons will be generated by this parameter.
 *
 * The default number of candidate groups is 2.
 *
 * @param resource $ann
 * @return int The number of candidate groups, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_cascade_num_candidate_groups($ann){}

/**
 * Returns the cascade output change fraction
 *
 * The cascade output change fraction is a number between 0 and 1
 * determining how large a fraction of the {@link fann_get_MSE} value
 * should change within {@link fann_get_cascade_output_stagnation_epochs}
 * during training of the output connections, in order for the training
 * not to stagnate. If the training stagnates, the training of the output
 * connections will be ended and new candidates will be prepared.
 *
 * It means that if the MSE does not change by a fraction of {@link
 * fann_get_cascade_output_change_fraction} during a period of {@link
 * fann_get_cascade_output_stagnation_epochs}, the training of the output
 * connections is stopped because the training has stagnated.
 *
 * If the cascade output change fraction is low, the output connections
 * will be trained more and if the fraction is high, they will be trained
 * less.
 *
 * The default cascade output change fraction is 0.01, which is equalent
 * to a 1% change in MSE.
 *
 * @param resource $ann
 * @return float The cascade output change fraction, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_cascade_output_change_fraction($ann){}

/**
 * Returns the number of cascade output stagnation epochs
 *
 * The number of cascade output stagnation epochs determines the number
 * of epochs training is allowed to continue without changing the MSE by
 * a fraction of {@link fann_get_cascade_output_change_fraction}.
 *
 * See more info about this parameter in {@link
 * fann_get_cascade_output_change_fraction}.
 *
 * The default number of cascade output stagnation epochs is 12.
 *
 * @param resource $ann
 * @return int The number of cascade output stagnation epochs, or FALSE
 *   on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_cascade_output_stagnation_epochs($ann){}

/**
 * Returns the weight multiplier
 *
 * The weight multiplier is a parameter which is used to multiply the
 * weights from the candidate neuron before adding the neuron to the
 * neural network. This parameter is usually between 0 and 1, and is used
 * to make the training a bit less aggressive.
 *
 * The default weight multiplier is 0.4.
 *
 * @param resource $ann
 * @return float The weight multiplier, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_cascade_weight_multiplier($ann){}

/**
 * Get connections in the network
 *
 * @param resource $ann
 * @return array An array of connections in the network
 * @since PECL fann >= 1.0.0
 **/
function fann_get_connection_array($ann){}

/**
 * Get the connection rate used when the network was created
 *
 * @param resource $ann
 * @return float The connection rate used when the network was created,
 *   or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_connection_rate($ann){}

/**
 * Returns the last error number
 *
 * @param resource $errdat
 * @return int The error number, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_errno($errdat){}

/**
 * Returns the last errstr
 *
 * @param resource $errdat
 * @return string The last error string, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_errstr($errdat){}

/**
 * Get the number of neurons in each layer in the network
 *
 * Get the number of neurons in each layer in the neural network.
 *
 * Bias is not included so the layers match the fann_create functions.
 *
 * @param resource $ann
 * @return array An array of numbers of neurons in each leayer
 * @since PECL fann >= 1.0.0
 **/
function fann_get_layer_array($ann){}

/**
 * Returns the learning momentum
 *
 * The learning momentum can be used to speed up FANN_TRAIN_INCREMENTAL
 * training. A too high momentum will however not benefit training.
 * Setting momentum to 0 will be the same as not using the momentum
 * parameter. The recommended value of this parameter is between 0.0 and
 * 1.0.
 *
 * The default momentum is 0.
 *
 * @param resource $ann
 * @return float The learning momentum, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_learning_momentum($ann){}

/**
 * Returns the learning rate
 *
 * The learning rate is used to determine how aggressive training should
 * be for some of the training algorithms (FANN_TRAIN_INCREMENTAL,
 * FANN_TRAIN_BATCH, FANN_TRAIN_QUICKPROP). Do however note that it is
 * not used in FANN_TRAIN_RPROP.
 *
 * The default learning rate is 0.7.
 *
 * @param resource $ann
 * @return float The learning rate, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_learning_rate($ann){}

/**
 * Reads the mean square error from the network
 *
 * Reads the mean square error from the network. This value is calculated
 * during training or testing and can therefore sometimes be a bit off if
 * the weights have been changed since the last calculation of the value.
 *
 * @param resource $ann
 * @return float The mean square error, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_MSE($ann){}

/**
 * Get the type of neural network it was created as
 *
 * @param resource $ann
 * @return int Network type constant, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_network_type($ann){}

/**
 * Get the number of input neurons
 *
 * @param resource $ann
 * @return int Number of input neurons, or FALSE on error
 * @since PECL fann >= 1.0.0
 **/
function fann_get_num_input($ann){}

/**
 * Get the number of layers in the neural network
 *
 * @param resource $ann
 * @return int The number of leayers in the neural network, or FALSE on
 *   error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_num_layers($ann){}

/**
 * Get the number of output neurons
 *
 * @param resource $ann
 * @return int Number of output neurons, or FALSE on error
 * @since PECL fann >= 1.0.0
 **/
function fann_get_num_output($ann){}

/**
 * Returns the decay which is a factor that weights should decrease in
 * each iteration during quickprop training
 *
 * The decay is a small negative valued number which is a factor that the
 * weights should decrease in each iteration during quickprop training.
 * This is used to make sure that the weights do not become too high
 * during training.
 *
 * The default decay is -0.0001.
 *
 * @param resource $ann
 * @return float The decay, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_quickprop_decay($ann){}

/**
 * Returns the mu factor
 *
 * The mu factor is used to increase and decrease the step-size during
 * quickprop training. The mu factor should always be above 1, since it
 * would otherwise decrease the step-size when it was suppose to increase
 * it.
 *
 * The default mu factor is 1.75.
 *
 * @param resource $ann
 * @return float The mu factor, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_quickprop_mu($ann){}

/**
 * Returns the increase factor used during RPROP training
 *
 * The decrease factor is a value smaller than 1, which is used to
 * decrease the step-size during RPROP training.
 *
 * The default decrease factor is 0.5.
 *
 * @param resource $ann
 * @return float The decrease factor, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_rprop_decrease_factor($ann){}

/**
 * Returns the maximum step-size
 *
 * The maximum step-size is a positive number determining how large the
 * maximum step-size may be.
 *
 * The default delta max is 50.0.
 *
 * @param resource $ann
 * @return float The maximum step-size, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_rprop_delta_max($ann){}

/**
 * Returns the minimum step-size
 *
 * The minimum step-size is a small positive number determining how small
 * the minimum step-size may be.
 *
 * The default value delta min is 0.0.
 *
 * @param resource $ann
 * @return float The minimum step-size, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_rprop_delta_min($ann){}

/**
 * Returns the initial step-size
 *
 * The initial step-size is a positive number determining the initial
 * step size.
 *
 * The default delta zero is 0.1.
 *
 * @param resource $ann
 * @return int The initial step-size, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_rprop_delta_zero($ann){}

/**
 * Returns the increase factor used during RPROP training
 *
 * The increase factor is a value larger than 1, which is used to
 * increase the step-size during RPROP training.
 *
 * The default increase factor is 1.2.
 *
 * @param resource $ann
 * @return float The increase factor, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_rprop_increase_factor($ann){}

/**
 * Returns the sarprop step error shift
 *
 * The default step error shift is 1.385.
 *
 * @param resource $ann
 * @return float The sarprop step error shift , or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_sarprop_step_error_shift($ann){}

/**
 * Returns the sarprop step error threshold factor
 *
 * The sarprop step error threshold factor.
 *
 * The default factor is 0.1.
 *
 * @param resource $ann
 * @return float The sarprop step error threshold factor, or FALSE on
 *   error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_sarprop_step_error_threshold_factor($ann){}

/**
 * Returns the sarprop temperature
 *
 * The default temperature is 0.015.
 *
 * @param resource $ann
 * @return float The sarprop temperature, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_sarprop_temperature($ann){}

/**
 * Returns the sarprop weight decay shift
 *
 * The sarprop weight decay shift.
 *
 * The default delta max is -6.644.
 *
 * @param resource $ann
 * @return float The sarprop weight decay shift, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_sarprop_weight_decay_shift($ann){}

/**
 * Get the total number of connections in the entire network
 *
 * @param resource $ann
 * @return int Total number of connections in the entire network, or
 *   FALSE on error
 * @since PECL fann >= 1.0.0
 **/
function fann_get_total_connections($ann){}

/**
 * Get the total number of neurons in the entire network
 *
 * Get the total number of neurons in the entire network. This number
 * does also include the bias neurons, so a 2-4-2 network has 2+4+2
 * +2(bias) = 10 neurons.
 *
 * @param resource $ann
 * @return int Total number of neurons in the entire network, or FALSE
 *   on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_total_neurons($ann){}

/**
 * Returns the training algorithm
 *
 * Returns the training algorithm. This training algorithm is used by
 * {@link fann_train_on_data} and associated functions.
 *
 * Note that this algorithm is also used during {@link
 * fann_cascadetrain_on_data}, although only FANN_TRAIN_RPROP and
 * FANN_TRAIN_QUICKPROP is allowed during cascade training.
 *
 * @param resource $ann
 * @return int Training algorithm constant, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_training_algorithm($ann){}

/**
 * Returns the error function used during training
 *
 * The error functions are described further in error functions
 * constants.
 *
 * The default error function is FANN_ERRORFUNC_TANH.
 *
 * @param resource $ann
 * @return int The error function constant, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_train_error_function($ann){}

/**
 * Returns the stop function used during training
 *
 * The stop functions are described further in stop functions constants.
 *
 * The default stop function is FANN_STOPFUNC_MSE.
 *
 * @param resource $ann
 * @return int The stop function constant, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_get_train_stop_function($ann){}

/**
 * Initialize the weights using Widrow + Nguyen’s algorithm
 *
 * This function behaves similarly to {@link fann_randomize_weights}. It
 * will use the algorithm developed by Derrick Nguyen and Bernard Widrow
 * to set the weights in such a way as to speed up training. This
 * technique is not always successful, and in some cases can be less
 * efficient than a purely random initialization.
 *
 * The algorithm requires access to the range of the input data (for
 * example largest and smallest input), and therefore accepts a second
 * argument, data, which is the training data that will be used to train
 * the network.
 *
 * @param resource $ann
 * @param resource $train_data
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_init_weights($ann, $train_data){}

/**
 * Returns the number of training patterns in the train data
 *
 * Returns the number of training patterns in the train data resource.
 *
 * @param resource $data
 * @return int Number of elements in the train data resource, or FALSE
 *   on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_length_train_data($data){}

/**
 * Merges the train data
 *
 * Merges the data from data1 and data2 into a new train data resource.
 *
 * @param resource $data1
 * @param resource $data2
 * @return resource New merged train data resource, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_merge_train_data($data1, $data2){}

/**
 * Returns the number of inputs in each of the training patterns in the
 * train data
 *
 * Returns the number of inputs in each of the training patterns in the
 * train data resource.
 *
 * @param resource $data
 * @return int The number of inputs, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_num_input_train_data($data){}

/**
 * Returns the number of outputs in each of the training patterns in the
 * train data
 *
 * Returns the number of outputs in each of the training patterns in the
 * train data resource.
 *
 * @param resource $data
 * @return int The number of outputs, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_num_output_train_data($data){}

/**
 * Prints the error string
 *
 * @param resource $errdat
 * @return void
 * @since PECL fann >= 1.0.0
 **/
function fann_print_error($errdat){}

/**
 * Give each connection a random weight between min_weight and max_weight
 *
 * Give each connection a random weight between {@link min_weight} and
 * {@link max_weight}
 *
 * From the beginning the weights are random between -0.1 and 0.1.
 *
 * @param resource $ann
 * @param float $min_weight Minimum weight value
 * @param float $max_weight Maximum weight value
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_randomize_weights($ann, $min_weight, $max_weight){}

/**
 * Reads a file that stores training data
 *
 * @param string $filename The input file in the following format:
 * @return resource
 * @since PECL fann >= 1.0.0
 **/
function fann_read_train_from_file($filename){}

/**
 * Resets the last error number
 *
 * @param resource $errdat
 * @return void
 * @since PECL fann >= 1.0.0
 **/
function fann_reset_errno($errdat){}

/**
 * Resets the last error string
 *
 * @param resource $errdat
 * @return void
 * @since PECL fann >= 1.0.0
 **/
function fann_reset_errstr($errdat){}

/**
 * Resets the mean square error from the network
 *
 * This function also resets the number of bits that fail.
 *
 * @param string $ann
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_reset_MSE($ann){}

/**
 * Will run input through the neural network
 *
 * Will run input through the neural network, returning an array of
 * outputs, the number of which being equal to the number of neurons in
 * the output layer.
 *
 * @param resource $ann
 * @param array $input Array of input values
 * @return array Array of output values, or FALSE on error
 * @since PECL fann >= 1.0.0
 **/
function fann_run($ann, $input){}

/**
 * Saves the entire network to a configuration file
 *
 * The configuration file contains all information about the neural
 * network and enables {@link fann_create_from_file} to create an exact
 * copy of the neural network and all of the parameters associated with
 * the neural network.
 *
 * These three parameters ({@link fann_set_callback}, {@link
 * fann_set_error_log}, {@link fann_set_user_data}) are NOT saved to the
 * file because they cannot safely be ported to a different location.
 * Also temporary parameters generated during training like {@link
 * fann_get_MSE} is not saved.
 *
 * @param resource $ann
 * @param string $configuration_file The configuration file path.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_save($ann, $configuration_file){}

/**
 * Save the training structure to a file
 *
 * Save the training data to a file, with the format as specified in
 * {@link fann_read_train_from_file}.
 *
 * @param resource $data
 * @param string $file_name The file name of the file where training
 *   data is saved to.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_save_train($data, $file_name){}

/**
 * Scale data in input vector before feed it to ann based on previously
 * calculated parameters
 *
 * @param resource $ann
 * @param array $input_vector Input vector that will be scaled
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_scale_input($ann, $input_vector){}

/**
 * Scales the inputs in the training data to the specified range
 *
 * @param resource $train_data
 * @param float $new_min New minimum after scaling inputs in training
 *   data.
 * @param float $new_max New maximum after scaling inputs in training
 *   data.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_scale_input_train_data($train_data, $new_min, $new_max){}

/**
 * Scale data in output vector before feed it to ann based on previously
 * calculated parameters
 *
 * @param resource $ann
 * @param array $output_vector Output vector that will be scaled
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_scale_output($ann, $output_vector){}

/**
 * Scales the outputs in the training data to the specified range
 *
 * @param resource $train_data
 * @param float $new_min New minimum after scaling outputs in training
 *   data.
 * @param float $new_max New maximum after scaling outputs in training
 *   data.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_scale_output_train_data($train_data, $new_min, $new_max){}

/**
 * Scale input and output data based on previously calculated parameters
 *
 * @param resource $ann
 * @param resource $train_data
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_scale_train($ann, $train_data){}

/**
 * Scales the inputs and outputs in the training data to the specified
 * range
 *
 * @param resource $train_data
 * @param float $new_min New minimum after scaling inputs and outputs
 *   in training data.
 * @param float $new_max New maximum after scaling inputs and outputs
 *   in training data.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_scale_train_data($train_data, $new_min, $new_max){}

/**
 * Sets the activation function for supplied neuron and layer
 *
 * Set the activation function for neuron number neuron in layer number
 * layer, counting the input layer as layer 0.
 *
 * It is not possible to set activation functions for the neurons in the
 * input layer.
 *
 * When choosing an activation function it is important to note that the
 * activation functions have different range. FANN_SIGMOID is e.g. in the
 * 0 - 1 range while FANN_SIGMOID_SYMMETRIC is in the -1 - 1 range and
 * FANN_LINEAR is unbound.
 *
 * The supplied activation_function value must be one of the activation
 * functions constants.
 *
 * The return value is one of the activation functions constants.
 *
 * @param resource $ann
 * @param int $activation_function The activation functions constant.
 * @param int $layer Layer number.
 * @param int $neuron Neuron number.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_activation_function($ann, $activation_function, $layer, $neuron){}

/**
 * Sets the activation function for all of the hidden layers
 *
 * @param resource $ann
 * @param int $activation_function The activation functions constant.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_activation_function_hidden($ann, $activation_function){}

/**
 * Sets the activation function for all the neurons in the supplied layer
 *
 * Set the activation function for all the neurons in the layer number
 * layer, counting the input layer as layer 0.
 *
 * It is not possible to set activation functions for the neurons in the
 * input layer.
 *
 * @param resource $ann
 * @param int $activation_function The activation functions constant.
 * @param int $layer Layer number.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_activation_function_layer($ann, $activation_function, $layer){}

/**
 * Sets the activation function for the output layer
 *
 * @param resource $ann
 * @param int $activation_function The activation functions constant.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_activation_function_output($ann, $activation_function){}

/**
 * Sets the activation steepness for supplied neuron and layer number
 *
 * Set the activation steepness for neuron number neuron in layer number
 * layer, counting the input layer as layer 0.
 *
 * It is not possible to set activation steepness for the neurons in the
 * input layer.
 *
 * The steepness of an activation function says something about how fast
 * the activation function goes from the minimum to the maximum. A high
 * value for the activation function will also give a more agressive
 * training.
 *
 * When training neural networks where the output values should be at the
 * extremes (usually 0 and 1, depending on the activation function), a
 * steep activation function can be used (e.g. 1.0).
 *
 * The default activation steepness is 0.5.
 *
 * @param resource $ann
 * @param float $activation_steepness The activation steepness.
 * @param int $layer Layer number.
 * @param int $neuron Neuron number.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_activation_steepness($ann, $activation_steepness, $layer, $neuron){}

/**
 * Sets the steepness of the activation steepness for all neurons in the
 * all hidden layers
 *
 * @param resource $ann
 * @param float $activation_steepness The activation steepness.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_activation_steepness_hidden($ann, $activation_steepness){}

/**
 * Sets the activation steepness for all of the neurons in the supplied
 * layer number
 *
 * Set the activation steepness for all of the neurons in layer number
 * layer, counting the input layer as layer 0.
 *
 * It is not possible to set activation steepness for the neurons in the
 * input layer.
 *
 * @param resource $ann
 * @param float $activation_steepness The activation steepness.
 * @param int $layer Layer number.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_activation_steepness_layer($ann, $activation_steepness, $layer){}

/**
 * Sets the steepness of the activation steepness in the output layer
 *
 * @param resource $ann
 * @param float $activation_steepness The activation steepness.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_activation_steepness_output($ann, $activation_steepness){}

/**
 * Set the bit fail limit used during training
 *
 * @param resource $ann
 * @param float $bit_fail_limit The bit fail limit.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_bit_fail_limit($ann, $bit_fail_limit){}

/**
 * Sets the callback function for use during training
 *
 * Sets the callback function for use during training. It means that it
 * is called from {@link fann_train_on_data} or {@link
 * fann_train_on_file}.
 *
 * @param resource $ann
 * @param collable $callback The supplied callback function takes
 *   following parameters: ann - The neural network resource train - The
 *   train data resource or NULL if called from {@link
 *   fann_train_on_file} max_epochs - The maximum number of epochs the
 *   training should continue epochs_between_reports - The number of
 *   epochs between calling this function desired_error - The desired
 *   {@link fann_get_MSE} or {@link fann_get_bit_fail}, depending on the
 *   stop function chosen by {@link fann_set_train_stop_function} epochs
 *   - The current epoch The callback should return TRUE. If it returns
 *   FALSE, the training will terminate.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_callback($ann, $callback){}

/**
 * Sets the array of cascade candidate activation functions
 *
 * See {@link fann_get_cascade_num_candidates} for a description of which
 * candidate neurons will be generated by this array.
 *
 * @param resource $ann
 * @param array $cascade_activation_functions The array of cascade
 *   candidate activation functions.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_cascade_activation_functions($ann, $cascade_activation_functions){}

/**
 * Sets the array of cascade candidate activation steepnesses
 *
 * See {@link fann_get_cascade_num_candidates} for a description of which
 * candidate neurons will be generated by this array.
 *
 * @param resource $ann
 * @param array $cascade_activation_steepnesses_count The array of
 *   cascade candidate activation steepnesses.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_cascade_activation_steepnesses($ann, $cascade_activation_steepnesses_count){}

/**
 * Sets the cascade candidate change fraction
 *
 * @param resource $ann
 * @param float $cascade_candidate_change_fraction The cascade
 *   candidate change fraction.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_cascade_candidate_change_fraction($ann, $cascade_candidate_change_fraction){}

/**
 * Sets the candidate limit
 *
 * @param resource $ann
 * @param float $cascade_candidate_limit The candidate limit.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_cascade_candidate_limit($ann, $cascade_candidate_limit){}

/**
 * Sets the number of cascade candidate stagnation epochs
 *
 * @param resource $ann
 * @param int $cascade_candidate_stagnation_epochs The number of
 *   cascade candidate stagnation epochs.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_cascade_candidate_stagnation_epochs($ann, $cascade_candidate_stagnation_epochs){}

/**
 * Sets the max candidate epochs
 *
 * @param resource $ann
 * @param int $cascade_max_cand_epochs The max candidate epochs.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_cascade_max_cand_epochs($ann, $cascade_max_cand_epochs){}

/**
 * Sets the maximum out epochs
 *
 * @param resource $ann
 * @param int $cascade_max_out_epochs The maximum out epochs.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_cascade_max_out_epochs($ann, $cascade_max_out_epochs){}

/**
 * Sets the min candidate epochs
 *
 * @param resource $ann
 * @param int $cascade_min_cand_epochs The minimum candidate epochs.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_cascade_min_cand_epochs($ann, $cascade_min_cand_epochs){}

/**
 * Sets the minimum out epochs
 *
 * @param resource $ann
 * @param int $cascade_min_out_epochs The minimum out epochs.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_cascade_min_out_epochs($ann, $cascade_min_out_epochs){}

/**
 * Sets the number of candidate groups
 *
 * @param resource $ann
 * @param int $cascade_num_candidate_groups The number of candidate
 *   groups.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_cascade_num_candidate_groups($ann, $cascade_num_candidate_groups){}

/**
 * Sets the cascade output change fraction
 *
 * @param resource $ann
 * @param float $cascade_output_change_fraction The cascade output
 *   change fraction.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_cascade_output_change_fraction($ann, $cascade_output_change_fraction){}

/**
 * Sets the number of cascade output stagnation epochs
 *
 * @param resource $ann
 * @param int $cascade_output_stagnation_epochs The number of cascade
 *   output stagnation epochs.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_cascade_output_stagnation_epochs($ann, $cascade_output_stagnation_epochs){}

/**
 * Sets the weight multiplier
 *
 * @param resource $ann
 * @param float $cascade_weight_multiplier The weight multiplier.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_cascade_weight_multiplier($ann, $cascade_weight_multiplier){}

/**
 * Sets where the errors are logged to
 *
 * @param resource $errdat
 * @param string $log_file The log file path.
 * @return void
 * @since PECL fann >= 1.0.0
 **/
function fann_set_error_log($errdat, $log_file){}

/**
 * Calculate input scaling parameters for future use based on training
 * data
 *
 * @param resource $ann
 * @param resource $train_data
 * @param float $new_input_min The desired lower bound in input data
 *   after scaling (not strictly followed)
 * @param float $new_input_max The desired upper bound in input data
 *   after scaling (not strictly followed)
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_input_scaling_params($ann, $train_data, $new_input_min, $new_input_max){}

/**
 * Sets the learning momentum
 *
 * More info available in {@link fann_get_learning_momentum}.
 *
 * @param resource $ann
 * @param float $learning_momentum The learning momentum.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_learning_momentum($ann, $learning_momentum){}

/**
 * Sets the learning rate
 *
 * More info available in {@link fann_get_learning_rate}.
 *
 * @param resource $ann
 * @param float $learning_rate The learning rate.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_learning_rate($ann, $learning_rate){}

/**
 * Calculate output scaling parameters for future use based on training
 * data
 *
 * @param resource $ann
 * @param resource $train_data
 * @param float $new_output_min The desired lower bound in output data
 *   after scaling (not strictly followed)
 * @param float $new_output_max The desired upper bound in output data
 *   after scaling (not strictly followed)
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_output_scaling_params($ann, $train_data, $new_output_min, $new_output_max){}

/**
 * Sets the quickprop decay factor
 *
 * @param resource $ann
 * @param float $quickprop_decay The quickprop decay factor.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_quickprop_decay($ann, $quickprop_decay){}

/**
 * Sets the quickprop mu factor
 *
 * @param resource $ann
 * @param float $quickprop_mu The mu factor.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_quickprop_mu($ann, $quickprop_mu){}

/**
 * Sets the decrease factor used during RPROP training
 *
 * @param resource $ann
 * @param float $rprop_decrease_factor The decrease factor.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_rprop_decrease_factor($ann, $rprop_decrease_factor){}

/**
 * Sets the maximum step-size
 *
 * The maximum step-size is a positive number determining how large the
 * maximum step-size may be.
 *
 * @param resource $ann
 * @param float $rprop_delta_max The maximum step-size.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_rprop_delta_max($ann, $rprop_delta_max){}

/**
 * Sets the minimum step-size
 *
 * The minimum step-size is a small positive number determining how small
 * the minimum step-size may be.
 *
 * @param resource $ann
 * @param float $rprop_delta_min The minimum step-size.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_rprop_delta_min($ann, $rprop_delta_min){}

/**
 * Sets the initial step-size
 *
 * The initial step-size is a positive number determining the initial
 * step size.
 *
 * @param resource $ann
 * @param float $rprop_delta_zero The initial step-size.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_rprop_delta_zero($ann, $rprop_delta_zero){}

/**
 * Sets the increase factor used during RPROP training
 *
 * @param resource $ann
 * @param float $rprop_increase_factor The increase factor.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_rprop_increase_factor($ann, $rprop_increase_factor){}

/**
 * Sets the sarprop step error shift
 *
 * @param resource $ann
 * @param float $sarprop_step_error_shift The sarprop step error shift.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_sarprop_step_error_shift($ann, $sarprop_step_error_shift){}

/**
 * Sets the sarprop step error threshold factor
 *
 * @param resource $ann
 * @param float $sarprop_step_error_threshold_factor The sarprop step
 *   error threshold factor.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_sarprop_step_error_threshold_factor($ann, $sarprop_step_error_threshold_factor){}

/**
 * Sets the sarprop temperature
 *
 * @param resource $ann
 * @param float $sarprop_temperature The sarprop temperature.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_sarprop_temperature($ann, $sarprop_temperature){}

/**
 * Sets the sarprop weight decay shift
 *
 * @param resource $ann
 * @param float $sarprop_weight_decay_shift The sarprop weight decay
 *   shift.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_sarprop_weight_decay_shift($ann, $sarprop_weight_decay_shift){}

/**
 * Calculate input and output scaling parameters for future use based on
 * training data
 *
 * @param resource $ann
 * @param resource $train_data
 * @param float $new_input_min The desired lower bound in input data
 *   after scaling (not strictly followed)
 * @param float $new_input_max The desired upper bound in input data
 *   after scaling (not strictly followed)
 * @param float $new_output_min The desired lower bound in output data
 *   after scaling (not strictly followed)
 * @param float $new_output_max The desired upper bound in output data
 *   after scaling (not strictly followed)
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_scaling_params($ann, $train_data, $new_input_min, $new_input_max, $new_output_min, $new_output_max){}

/**
 * Sets the training algorithm
 *
 * More info available in {@link fann_get_training_algorithm}.
 *
 * @param resource $ann
 * @param int $training_algorithm Training algorithm constant
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_training_algorithm($ann, $training_algorithm){}

/**
 * Sets the error function used during training
 *
 * The error functions are described further in error functions
 * constants.
 *
 * @param resource $ann
 * @param int $error_function The error function constant
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_train_error_function($ann, $error_function){}

/**
 * Sets the stop function used during training
 *
 * The stop functions are described further in stop functions constants.
 *
 * @param resource $ann
 * @param int $stop_function The stop function constant.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_train_stop_function($ann, $stop_function){}

/**
 * Set a connection in the network
 *
 * Set a connections in the network.
 *
 * @param resource $ann
 * @param int $from_neuron The neuron where the connection starts
 * @param int $to_neuron The neuron where the connection ends
 * @param float $weight Connection weight
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_weight($ann, $from_neuron, $to_neuron, $weight){}

/**
 * Set connections in the network
 *
 * Only the weights can be changed, connections and weights are ignored
 * if they do not already exist in the network.
 *
 * @param resource $ann
 * @param array $connections An array of FANNConnection objects
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_set_weight_array($ann, $connections){}

/**
 * Shuffles training data, randomizing the order
 *
 * Shuffles training data, randomizing the order. This is recommended for
 * incremental training, while it have no influence during batch
 * training.
 *
 * @param resource $train_data
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_shuffle_train_data($train_data){}

/**
 * Returns an copy of a subset of the train data
 *
 * Returns an copy of a subset of the train data resource, starting at
 * position pos and length elements forward.
 *
 * The fann_subset_train_data(train_data, 0,
 * fann_length_train_data(train_data)) do the same as {@link
 * fann_duplicate_train_data}
 *
 * @param resource $data
 * @param int $pos Starting position.
 * @param int $length The number of copied elements.
 * @return resource
 * @since PECL fann >= 1.0.0
 **/
function fann_subset_train_data($data, $pos, $length){}

/**
 * Test with a set of inputs, and a set of desired outputs
 *
 * Test with a set of inputs, and a set of desired outputs. This
 * operation updates the mean square error, but does not change the
 * network in any way.
 *
 * @param resource $ann
 * @param array $input An array of inputs. This array must be exactly
 *   {@link fann_get_num_input} long.
 * @param array $desired_output An array of desired outputs. This array
 *   must be exactly {@link fann_get_num_output} long.
 * @return array Returns test outputs on success, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_test($ann, $input, $desired_output){}

/**
 * Test a set of training data and calculates the MSE for the training
 * data
 *
 * This function updates the MSE and the bit fail values.
 *
 * @param resource $ann
 * @param resource $data
 * @return float The updated MSE, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_test_data($ann, $data){}

/**
 * Train one iteration with a set of inputs, and a set of desired outputs
 *
 * Train one iteration with a set of inputs, and a set of desired
 * outputs. This training is always incremental training, since only one
 * pattern is presented.
 *
 * @param resource $ann
 * @param array $input An array of inputs. This array must be exactly
 *   {@link fann_get_num_input} long.
 * @param array $desired_output An array of desired outputs. This array
 *   must be exactly {@link fann_get_num_output} long.
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_train($ann, $input, $desired_output){}

/**
 * Train one epoch with a set of training data
 *
 * Train one epoch with the training data stored in data. One epoch is
 * where all of the training data is considered exactly once.
 *
 * This function returns the MSE error as it is calculated either before
 * or during the actual training. This is not the actual MSE after the
 * training epoch, but since calculating this will require to go through
 * the entire training set once more. It is more than adequate to use
 * this value during training.
 *
 * The training algorithm used by this function is chosen by {@link
 * fann_set_training_algorithm} function.
 *
 * @param resource $ann
 * @param resource $data
 * @return float The MSE, or FALSE on error.
 * @since PECL fann >= 1.0.0
 **/
function fann_train_epoch($ann, $data){}

/**
 * Trains on an entire dataset for a period of time
 *
 * This training uses the training algorithm chosen by {@link
 * fann_set_training_algorithm} and the parameters set for these training
 * algorithms.
 *
 * @param resource $ann
 * @param resource $data
 * @param int $max_epochs The maximum number of epochs the training
 *   should continue
 * @param int $epochs_between_reports The number of epochs between
 *   calling a callback function. A value of zero means that user
 *   function is not called.
 * @param float $desired_error The desired {@link fann_get_MSE} or
 *   {@link fann_get_bit_fail}, depending on the stop function chosen by
 *   {@link fann_set_train_stop_function}
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_train_on_data($ann, $data, $max_epochs, $epochs_between_reports, $desired_error){}

/**
 * Trains on an entire dataset, which is read from file, for a period of
 * time
 *
 * This training uses the training algorithm chosen by {@link
 * fann_set_training_algorithm} and the parameters set for these training
 * algorithms.
 *
 * @param resource $ann
 * @param string $filename The file containing train data
 * @param int $max_epochs The maximum number of epochs the training
 *   should continue
 * @param int $epochs_between_reports The number of epochs between
 *   calling a user function. A value of zero means that user function is
 *   not called.
 * @param float $desired_error The desired {@link fann_get_MSE} or
 *   {@link fann_get_bit_fail}, depending on the stop function chosen by
 *   {@link fann_set_train_stop_function}
 * @return bool
 * @since PECL fann >= 1.0.0
 **/
function fann_train_on_file($ann, $filename, $max_epochs, $epochs_between_reports, $desired_error){}

/**
 * Flushes all response data to the client
 *
 * This function flushes all response data to the client and finishes the
 * request. This allows for time consuming tasks to be performed without
 * leaving the connection to the client open.
 *
 * @return bool
 * @since PHP 5 >= 5.3.3, PHP 7
 **/
function fastcgi_finish_request(){}

/**
 * Get number of affected rows in previous FrontBase operation
 *
 * {@link fbsql_affected_rows} returns the number of rows affected by the
 * last INSERT, UPDATE or DELETE query associated with {@link
 * link_identifier}.
 *
 * If the last query was a DELETE query with no WHERE clause, all of the
 * records will have been deleted from the table but this function will
 * return zero.
 *
 * @param resource $link_identifier
 * @return int If the last query failed, this function will return -1.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_affected_rows($link_identifier){}

/**
 * Enable or disable autocommit
 *
 * Returns the current autocommit status.
 *
 * @param resource $link_identifier If this optional parameter is given
 *   the auto commit status will be changed. With {@link OnOff} set to
 *   TRUE each statement will be committed automatically, if no errors
 *   was found. With OnOff set to FALSE the user must commit or rollback
 *   the transaction using either {@link fbsql_commit} or {@link
 *   fbsql_rollback}.
 * @param bool $OnOff
 * @return bool Returns the current autocommit status, as a boolean.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_autocommit($link_identifier, $OnOff){}

/**
 * Get the size of a BLOB
 *
 * Returns the size of the given BLOB.
 *
 * @param string $blob_handle A BLOB handle, returned by {@link
 *   fbsql_create_blob}.
 * @param resource $link_identifier
 * @return int Returns the BLOB size as an integer, or FALSE on error.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function fbsql_blob_size($blob_handle, $link_identifier){}

/**
 * Change logged in user of the active connection
 *
 * {@link fbsql_change_user} changes the logged in user of the specified
 * connection. If the new user and password authorization fails, the
 * current connected user stays active.
 *
 * @param string $user The new user name.
 * @param string $password The new user password.
 * @param string $database If specified, this will be the default or
 *   current database after the user has been changed.
 * @param resource $link_identifier
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_change_user($user, $password, $database, $link_identifier){}

/**
 * Get the size of a CLOB
 *
 * Returns the size of the given CLOB.
 *
 * @param string $clob_handle A CLOB handle, returned by {@link
 *   fbsql_create_clob}.
 * @param resource $link_identifier
 * @return int Returns the CLOB size as an integer, or FALSE on error.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function fbsql_clob_size($clob_handle, $link_identifier){}

/**
 * Close FrontBase connection
 *
 * Closes the connection to the FrontBase server that's associated with
 * the specified link identifier.
 *
 * Using {@link fbsql_close} isn't usually necessary, as non-persistent
 * open links are automatically closed at the end of the script's
 * execution.
 *
 * @param resource $link_identifier
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_close($link_identifier){}

/**
 * Commits a transaction to the database
 *
 * Ends the current transaction by writing all inserts, updates and
 * deletes to the disk and unlocking all row and table locks held by the
 * transaction. This command is only needed if autocommit is set to
 * false.
 *
 * @param resource $link_identifier
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_commit($link_identifier){}

/**
 * Open a connection to a FrontBase Server
 *
 * {@link fbsql_connect} establishes a connection to a FrontBase server.
 *
 * If a second call is made to {@link fbsql_connect} with the same
 * arguments, no new link will be established, but instead, the link
 * identifier of the already opened link will be returned.
 *
 * The link to the server will be closed as soon as the execution of the
 * script ends, unless it's closed earlier by explicitly calling {@link
 * fbsql_close}.
 *
 * @param string $hostname The server host name.
 * @param string $username The user name for the connection.
 * @param string $password The password for the connection.
 * @return resource Returns a positive FrontBase link identifier on
 *   success, or FALSE on errors.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_connect($hostname, $username, $password){}

/**
 * Create a BLOB
 *
 * Creates a BLOB from the given data.
 *
 * @param string $blob_data The BLOB data.
 * @param resource $link_identifier
 * @return string Returns a resource handle to the newly created BLOB,
 *   which can be used with insert and update commands to store the BLOB
 *   in the database.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function fbsql_create_blob($blob_data, $link_identifier){}

/**
 * Create a CLOB
 *
 * Creates a CLOB from the given data.
 *
 * @param string $clob_data The CLOB data.
 * @param resource $link_identifier
 * @return string Returns a resource handle to the newly created CLOB,
 *   which can be used with insert and update commands to store the CLOB
 *   in the database.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function fbsql_create_clob($clob_data, $link_identifier){}

/**
 * Create a FrontBase database
 *
 * Attempts to create a new database on the specified server.
 *
 * @param string $database_name The database name, as a string.
 * @param resource $link_identifier
 * @param string $database_options
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_create_db($database_name, $link_identifier, $database_options){}

/**
 * Get or set the database name used with a connection
 *
 * Get or set the database name used with the connection.
 *
 * @param resource $link_identifier The database name. If given, the
 *   default database of the connexion will be changed to {@link
 *   database}.
 * @param string $database
 * @return string Returns the name of the database used with this
 *   connection.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_database($link_identifier, $database){}

/**
 * Sets or retrieves the password for a FrontBase database
 *
 * Sets and retrieves the database password used by the connection. If a
 * database is protected by a database password, the user must call this
 * function before calling {@link fbsql_select_db}.
 *
 * If no link is open, the function will try to establish a link as if
 * {@link fbsql_connect} was called, and use it.
 *
 * This function does not change the database password in the database
 * nor can it be used to retrieve the database password for a database.
 *
 * @param resource $link_identifier The database password, as a string.
 *   If given, the function sets the database password for the specified
 *   link identifier.
 * @param string $database_password
 * @return string Returns the database password associated with the
 *   link identifier.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_database_password($link_identifier, $database_password){}

/**
 * Move internal result pointer
 *
 * Moves the internal row pointer of the FrontBase result associated with
 * the specified result identifier to point to the specified row number.
 *
 * The next call to {@link fbsql_fetch_row} would return that row.
 *
 * @param resource $result The row number. Starts at 0.
 * @param int $row_number
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_data_seek($result, $row_number){}

/**
 * Send a FrontBase query
 *
 * Selects a database and executes a query on it.
 *
 * @param string $database The database to be selected.
 * @param string $query The SQL query to be executed.
 * @param resource $link_identifier
 * @return resource Returns a positive FrontBase result identifier to
 *   the query result, or FALSE on error.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_db_query($database, $query, $link_identifier){}

/**
 * Get the status for a given database
 *
 * Gets the current status of the specified database.
 *
 * @param string $database_name The database name.
 * @param resource $link_identifier
 * @return int Returns an integer value with the current status. This
 *   can be one of the following constants: FALSE - The exec handler for
 *   the host was invalid. This error will occur when the {@link
 *   link_identifier} connects directly to a database by using a port
 *   number. FBExec can be available on the server but no connection has
 *   been made for it. FBSQL_UNKNOWN - The Status is unknown.
 *   FBSQL_STOPPED - The database is not running. Use {@link
 *   fbsql_start_db} to start the database. FBSQL_STARTING - The database
 *   is starting. FBSQL_RUNNING - The database is running and can be used
 *   to perform SQL operations. FBSQL_STOPPING - The database is
 *   stopping. FBSQL_NOEXEC - FBExec is not running on the server and it
 *   is not possible to get the status of the database.
 * @since PHP 4 >= 4.0.7, PHP 5, PHP 7
 **/
function fbsql_db_status($database_name, $link_identifier){}

/**
 * Drop (delete) a FrontBase database
 *
 * {@link fbsql_drop_db} attempts to drop (remove) an entire database
 * from the server associated with the specified link identifier.
 *
 * @param string $database_name The database name, as a string.
 * @param resource $link_identifier
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_drop_db($database_name, $link_identifier){}

/**
 * Returns the error number from previous operation
 *
 * Returns the numerical value of the error message from previous
 * FrontBase operation.
 *
 * Errors coming back from the fbsql database backend don't issue
 * warnings. Instead, use {@link fbsql_errno} to retrieve the error code.
 * Note that this function only returns the error code from the most
 * recently executed fbsql function (not including {@link fbsql_error}
 * and {@link fbsql_errno}), so if you want to use it, make sure you
 * check the value before calling another fbsql function.
 *
 * @param resource $link_identifier
 * @return int Returns the error number from the last fbsql function,
 *   or 0 (zero) if no error occurred.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_errno($link_identifier){}

/**
 * Returns the error message from previous operation
 *
 * Returns the error message from previous FrontBase operation.
 *
 * Errors coming back from the fbsql database backend don't issue
 * warnings. Instead, use {@link fbsql_error} to retrieve the error text.
 * Note that this function only returns the error code from the most
 * recently executed fbsql function (not including {@link fbsql_error}
 * and {@link fbsql_errno}), so if you want to use it, make sure you
 * check the value before calling another fbsql function.
 *
 * @param resource $link_identifier
 * @return string Returns the error text from the last fbsql function,
 *   or '' (the empty string) if no error occurred.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_error($link_identifier){}

/**
 * Fetch a result row as an associative array, a numeric array, or both
 *
 * {@link fbsql_fetch_array} is a combination of {@link fbsql_fetch_row}
 * and {@link fbsql_fetch_assoc}.
 *
 * An important thing to note is that using {@link fbsql_fetch_array} is
 * NOT significantly slower than using {@link fbsql_fetch_row}, while it
 * provides a significant added value.
 *
 * @param resource $result A constant and can take the following
 *   values: FBSQL_ASSOC, FBSQL_NUM, or FBSQL_BOTH. When using
 *   FBSQL_BOTH, in addition to storing the data in the numeric indices
 *   of the result array, it also stores the data in associative indices,
 *   using the field names as keys.
 * @param int $result_type
 * @return array Returns an array that corresponds to the fetched row,
 *   or FALSE if there are no more rows.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_fetch_array($result, $result_type){}

/**
 * Fetch a result row as an associative array
 *
 * Calling {@link fbsql_fetch_assoc} is equivalent to calling {@link
 * fbsql_fetch_array} with FBSQL_ASSOC as second parameter. It only
 * returns an associative array.
 *
 * This is the way {@link fbsql_fetch_array} originally worked. If you
 * need the numeric indices as well as the associative, use {@link
 * fbsql_fetch_array}.
 *
 * An important thing to note is that using {@link fbsql_fetch_assoc} is
 * NOT significantly slower than using {@link fbsql_fetch_row}, while it
 * provides a significant added value.
 *
 * @param resource $result
 * @return array Returns an associative array that corresponds to the
 *   fetched row, or FALSE if there are no more rows.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_fetch_assoc($result){}

/**
 * Get column information from a result and return as an object
 *
 * Used in order to obtain information about fields in a certain query
 * result.
 *
 * @param resource $result The numerical offset of the field. The field
 *   index starts at 0. If not specified, the next field that wasn't yet
 *   retrieved by {@link fbsql_fetch_field} is retrieved.
 * @param int $field_offset
 * @return object Returns an object containing field information, or
 *   FALSE on errors.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_fetch_field($result, $field_offset){}

/**
 * Get the length of each output in a result
 *
 * Stores the lengths of each result column in the last row returned by
 * {@link fbsql_fetch_row}, {@link fbsql_fetch_array} and {@link
 * fbsql_fetch_object} in an array.
 *
 * @param resource $result
 * @return array Returns an array, starting at offset 0, that
 *   corresponds to the lengths of each field in the last row fetched by
 *   {@link fbsql_fetch_row}, or FALSE on error.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_fetch_lengths($result){}

/**
 * Fetch a result row as an object
 *
 * {@link fbsql_fetch_object} is similar to {@link fbsql_fetch_array},
 * with one difference - an object is returned, instead of an array.
 * Indirectly, that means that you can only access the data by the field
 * names, and not by their offsets (numbers are illegal property names).
 *
 * Speed-wise, the function is identical to {@link fbsql_fetch_array},
 * and almost as quick as {@link fbsql_fetch_row} (the difference is
 * insignificant).
 *
 * @param resource $result
 * @return object Returns an object with properties that correspond to
 *   the fetched row, or FALSE if there are no more rows.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_fetch_object($result){}

/**
 * Get a result row as an enumerated array
 *
 * {@link fbsql_fetch_row} fetches one row of data from the result
 * associated with the specified result identifier.
 *
 * Subsequent call to {@link fbsql_fetch_row} would return the next row
 * in the result set, or FALSE if there are no more rows.
 *
 * @param resource $result
 * @return array Returns an array that corresponds to the fetched row
 *   where each result column is stored in an offset, starting at offset
 *   0, or FALSE if there are no more rows.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_fetch_row($result){}

/**
 * Get the flags associated with the specified field in a result
 *
 * Gets the flags associated with the specified field in a result.
 *
 * @param resource $result A result pointer returned by {@link
 *   fbsql_list_fields}.
 * @param int $field_offset The numerical offset of the field. The
 *   field index starts at 0.
 * @return string Returns the field flags of the specified field as a
 *   single word per flag separated by a single space, so that you can
 *   split the returned value using {@link explode}.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_field_flags($result, $field_offset){}

/**
 * Returns the length of the specified field
 *
 * @param resource $result A result pointer returned by {@link
 *   fbsql_list_fields}.
 * @param int $field_offset The numerical offset of the field. The
 *   field index starts at 0.
 * @return int Returns the length of the specified field.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_field_len($result, $field_offset){}

/**
 * Get the name of the specified field in a result
 *
 * Returns the name of the specified field index.
 *
 * @param resource $result A result pointer returned by {@link
 *   fbsql_list_fields}.
 * @param int $field_index The numerical offset of the field. The field
 *   index starts at 0.
 * @return string Returns the name as a string, or FALSE if the field
 *   doesn't exist.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_field_name($result, $field_index){}

/**
 * Set result pointer to a specified field offset
 *
 * Seeks to the specified field offset. If the next call to {@link
 * fbsql_fetch_field} doesn't include a field offset, the field offset
 * specified in {@link fbsql_field_seek} will be returned.
 *
 * @param resource $result The numerical offset of the field. The field
 *   index starts at 0.
 * @param int $field_offset
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_field_seek($result, $field_offset){}

/**
 * Get name of the table the specified field is in
 *
 * Returns the name of the table that the specified field is in.
 *
 * @param resource $result The numerical offset of the field. The field
 *   index starts at 0.
 * @param int $field_offset
 * @return string Returns the name of the table, as a string.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_field_table($result, $field_offset){}

/**
 * Get the type of the specified field in a result
 *
 * {@link fbsql_field_type} is similar to the {@link fbsql_field_name}
 * function, but the field type is returned instead.
 *
 * @param resource $result The numerical offset of the field. The field
 *   index starts at 0.
 * @param int $field_offset
 * @return string Returns the field type, as a string.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_field_type($result, $field_offset){}

/**
 * Free result memory
 *
 * Frees all memory associated with the given {@link result} identifier.
 *
 * {@link fbsql_free_result} only needs to be called if you are concerned
 * about how much memory is being used for queries that return large
 * result sets. All associated result memory is automatically freed at
 * the end of the script's execution.
 *
 * @param resource $result
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_free_result($result){}

/**
 * @param resource $link_identifier
 * @return array
 * @since PHP 4 >= 4.0.7, PHP 5, PHP 7
 **/
function fbsql_get_autostart_info($link_identifier){}

/**
 * Get or set the host name used with a connection
 *
 * Gets or sets the host name used with a connection.
 *
 * @param resource $link_identifier If provided, this will be the new
 *   connection host name.
 * @param string $host_name
 * @return string Returns the current host name used for the
 *   connection.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_hostname($link_identifier, $host_name){}

/**
 * Get the id generated from the previous INSERT operation
 *
 * Gets the id generated from the previous INSERT operation which created
 * a DEFAULT UNIQUE value.
 *
 * @param resource $link_identifier
 * @return int Returns the ID generated from the previous INSERT query,
 *   or 0 if the previous query does not generate an DEFAULT UNIQUE
 *   value.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_insert_id($link_identifier){}

/**
 * List databases available on a FrontBase server
 *
 * Return a result pointer containing the databases available from the
 * current fbsql daemon. Use the {@link fbsql_tablename} to traverse this
 * result pointer.
 *
 * @param resource $link_identifier
 * @return resource Returns a result pointer or FALSE on error.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_list_dbs($link_identifier){}

/**
 * List FrontBase result fields
 *
 * Retrieves information about the given table.
 *
 * @param string $database_name The database name.
 * @param string $table_name The table name.
 * @param resource $link_identifier
 * @return resource Returns a result pointer which can be used with the
 *   fbsql_field_xxx functions, or FALSE on error.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_list_fields($database_name, $table_name, $link_identifier){}

/**
 * List tables in a FrontBase database
 *
 * Returns a result pointer describing the {@link database}.
 *
 * @param string $database The database name.
 * @param resource $link_identifier
 * @return resource Returns a result pointer which can be used with the
 *   {@link fbsql_tablename} function to read the actual table names, or
 *   FALSE on error.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_list_tables($database, $link_identifier){}

/**
 * Move the internal result pointer to the next result
 *
 * When sending more than one SQL statement to the server or executing a
 * stored procedure with multiple results will cause the server to return
 * multiple result sets. This function will test for additional results
 * available form the server. If an additional result set exists it will
 * free the existing result set and prepare to fetch the words from the
 * new result set.
 *
 * @param resource $result
 * @return bool Returns TRUE if an additional result set was available
 *   or FALSE otherwise.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_next_result($result){}

/**
 * Get number of fields in result
 *
 * Returns the number of fields in the given {@link result} set.
 *
 * @param resource $result
 * @return int Returns the number of fields, as an integer.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_num_fields($result){}

/**
 * Get number of rows in result
 *
 * Gets the number of rows in the given {@link result} set.
 *
 * This function is only valid for SELECT statements. To retrieve the
 * number of rows returned from a INSERT, UPDATE or DELETE query, use
 * {@link fbsql_affected_rows}.
 *
 * @param resource $result
 * @return int Returns the number of rows returned by the last SELECT
 *   statement.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_num_rows($result){}

/**
 * Get or set the user password used with a connection
 *
 * @param resource $link_identifier If provided, this will be the new
 *   connection password.
 * @param string $password
 * @return string Returns the current password used for the connection.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_password($link_identifier, $password){}

/**
 * Open a persistent connection to a FrontBase Server
 *
 * Establishes a persistent connection to a FrontBase server.
 *
 * To set the server port number, use {@link fbsql_select_db}.
 *
 * {@link fbsql_pconnect} acts very much like {@link fbsql_connect} with
 * two major differences:
 *
 * First, when connecting, the function would first try to find a
 * (persistent) link that's already open with the same host, username and
 * password. If one is found, an identifier for it will be returned
 * instead of opening a new connection.
 *
 * Second, the connection to the SQL server will not be closed when the
 * execution of the script ends. Instead, the link will remain open for
 * future use.
 *
 * This type of links is therefore called 'persistent'.
 *
 * @param string $hostname The server host name.
 * @param string $username The user name for the connection.
 * @param string $password The password for the connection.
 * @return resource Returns a positive FrontBase persistent link
 *   identifier on success, or FALSE on error.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_pconnect($hostname, $username, $password){}

/**
 * Send a FrontBase query
 *
 * Sends a {@link query} to the currently active database on the server.
 *
 * If the query succeeds, you can call {@link fbsql_num_rows} to find out
 * how many rows were returned for a SELECT statement or {@link
 * fbsql_affected_rows} to find out how many rows were affected by a
 * DELETE, INSERT, REPLACE, or UPDATE statement.
 *
 * @param string $query The SQL query to be executed.
 * @param resource $link_identifier
 * @param int $batch_size
 * @return resource {@link fbsql_query} returns TRUE (non-zero) or
 *   FALSE to indicate whether or not the query succeeded. A return value
 *   of TRUE means that the query was legal and could be executed by the
 *   server. It does not indicate anything about the number of rows
 *   affected or returned. It is perfectly possible for a query to
 *   succeed but affect no rows or return no rows.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_query($query, $link_identifier, $batch_size){}

/**
 * Read a BLOB from the database
 *
 * Reads BLOB data from the database.
 *
 * If a select statement contains BLOB and/or CLOB columns FrontBase will
 * return the data directly when data is fetched. This default behavior
 * can be changed with {@link fbsql_set_lob_mode} so the fetch functions
 * will return handles to BLOB and CLOB data. If a handle is fetched a
 * user must call {@link fbsql_read_blob} to get the actual BLOB data
 * from the database.
 *
 * @param string $blob_handle A BLOB handle, returned by {@link
 *   fbsql_create_blob}.
 * @param resource $link_identifier
 * @return string Returns a string containing the specified BLOB data.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function fbsql_read_blob($blob_handle, $link_identifier){}

/**
 * Read a CLOB from the database
 *
 * Reads CLOB data from the database.
 *
 * If a select statement contains BLOB and/or CLOB columns FrontBase will
 * return the data directly when data is fetched. This default behavior
 * can be changed with {@link fbsql_set_lob_mode} so the fetch functions
 * will return handles to BLOB and CLOB data. If a handle is fetched a
 * user must call {@link fbsql_read_clob} to get the actual CLOB data
 * from the database.
 *
 * @param string $clob_handle A CLOB handle, returned by {@link
 *   fbsql_create_clob}.
 * @param resource $link_identifier
 * @return string Returns a string containing the specified CLOB data.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function fbsql_read_clob($clob_handle, $link_identifier){}

/**
 * Get result data
 *
 * Returns the contents of one cell from a FrontBase {@link result} set.
 *
 * When working on large result sets, you should consider using one of
 * the functions that fetch an entire row (specified below). As these
 * functions return the contents of multiple cells in one function call,
 * they're MUCH quicker than {@link fbsql_result}.
 *
 * Calls to {@link fbsql_result} should not be mixed with calls to other
 * functions that deal with the result set.
 *
 * @param resource $result
 * @param int $row Can be the field's offset, or the field's name, or
 *   the field's table dot field's name (tablename.fieldname). If the
 *   column name has been aliased ('select foo as bar from...'), use the
 *   alias instead of the column name.
 * @param mixed $field
 * @return mixed
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_result($result, $row, $field){}

/**
 * Rollback a transaction to the database
 *
 * Ends the current transaction by rolling back all statements issued
 * since last commit.
 *
 * This command is only needed if autocommit is set to false.
 *
 * @param resource $link_identifier
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_rollback($link_identifier){}

/**
 * Get the number of rows affected by the last statement
 *
 * Gets the number of rows affected by the last statement.
 *
 * @param resource $result
 * @return int Returns the number of rows, as an integer.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function fbsql_rows_fetched($result){}

/**
 * Select a FrontBase database
 *
 * Sets the current active database on the given link identifier.
 *
 * The client contacts FBExec to obtain the port number to use for the
 * connection to the database. If the database name is a number the
 * system will use that as a port number and it will not ask FBExec for
 * the port number. The FrontBase server can be stared as FRontBase
 * -FBExec=No -port=<port number> <database name>.
 *
 * Every subsequent call to {@link fbsql_query} will be made on the
 * active database.
 *
 * @param string $database_name The name of the database to be
 *   selected. If the database is protected with a database password, the
 *   you must call {@link fbsql_database_password} before selecting the
 *   database.
 * @param resource $link_identifier
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_select_db($database_name, $link_identifier){}

/**
 * Change input/output character set
 *
 * @param resource $link_identifier
 * @param int $characterset
 * @param int $in_out_both
 * @return void
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function fbsql_set_characterset($link_identifier, $characterset, $in_out_both){}

/**
 * Set the LOB retrieve mode for a FrontBase result set
 *
 * Sets the mode for retrieving LOB data from the database.
 *
 * When BLOB and CLOB data is retrieved in FrontBase it can be retrieved
 * direct or indirect. Direct retrieved LOB data will always be fetched
 * no matter the setting of the lob mode. If the LOB data is less than
 * 512 bytes it will always be retrieved directly.
 *
 * @param resource $result Can be one of: FBSQL_LOB_DIRECT - LOB data
 *   is retrieved directly. When data is fetched from the database with
 *   {@link fbsql_fetch_row}, and other fetch functions, all CLOB and
 *   BLOB columns will be returned as ordinary columns. This is the
 *   default value on a new FrontBase result. FBSQL_LOB_HANDLE - LOB data
 *   is retrieved as handles to the data. When data is fetched from the
 *   database with {@link fbsql_fetch_row}, and other fetch functions,
 *   LOB data will be returned as a handle to the data if the data is
 *   stored indirect or the data if it is stored direct. If a handle is
 *   returned it will be a 27 byte string formatted as
 *   @'000000000000000000000000'.
 * @param int $lob_mode
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function fbsql_set_lob_mode($result, $lob_mode){}

/**
 * Change the password for a given user
 *
 * Changes the password for the given {@link user}.
 *
 * @param resource $link_identifier The user name.
 * @param string $user The new password to be set.
 * @param string $password The old password to be replaced.
 * @param string $old_password
 * @return bool
 * @since PHP 5, PHP 7
 **/
function fbsql_set_password($link_identifier, $user, $password, $old_password){}

/**
 * Set the transaction locking and isolation
 *
 * Sets the transaction {@link locking} and {@link isolation}.
 *
 * @param resource $link_identifier The type of locking to be set. It
 *   can be one of the following constants: FBSQL_LOCK_DEFERRED,
 *   FBSQL_LOCK_OPTIMISTIC, or FBSQL_LOCK_PESSIMISTIC.
 * @param int $locking The type of isolation to be set. It can be one
 *   of the following constants: FBSQL_ISO_READ_UNCOMMITTED,
 *   FBSQL_ISO_READ_COMMITTED, FBSQL_ISO_REPEATABLE_READ,
 *   FBSQL_ISO_SERIALIZABLE, or FBSQL_ISO_VERSIONED.
 * @param int $isolation
 * @return void
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function fbsql_set_transaction($link_identifier, $locking, $isolation){}

/**
 * Start a database on local or remote server
 *
 * @param string $database_name The database name.
 * @param resource $link_identifier
 * @param string $database_options
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_start_db($database_name, $link_identifier, $database_options){}

/**
 * Stop a database on local or remote server
 *
 * Stops a database on local or remote server.
 *
 * @param string $database_name The database name.
 * @param resource $link_identifier
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_stop_db($database_name, $link_identifier){}

/**
 * Get table name of field
 *
 * {@link fbsql_tablename} gets the name of the current table in the
 * given {@link result} set.
 *
 * The {@link fbsql_num_rows} function may be used to determine the
 * number of tables in the result pointer.
 *
 * @param resource $result A result pointer returned by {@link
 *   fbsql_list_tables}.
 * @param int $index Integer index for the current table.
 * @return string Returns the name of the table, as a string.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function fbsql_tablename($result, $index){}

/**
 * Get table name of field
 *
 * {@link fbsql_table_name} gets the name of the current table in the
 * given {@link result} set.
 *
 * The {@link fbsql_num_rows} function may be used to determine the
 * number of tables in the result pointer.
 *
 * @param resource $result A result pointer returned by {@link
 *   fbsql_list_tables}.
 * @param int $index Integer index for the current table.
 * @return string Returns the name of the table, as a string.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function fbsql_table_name($result, $index){}

/**
 * Get or set the username for the connection
 *
 * Get or set the username used for the connection.
 *
 * @param resource $link_identifier If provided, this is the new
 *   username to set.
 * @param string $username
 * @return string Returns the current username used with the
 *   connection, as a string.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_username($link_identifier, $username){}

/**
 * Enable or disable FrontBase warnings
 *
 * Enables or disables FrontBase warnings.
 *
 * @param bool $OnOff Whether to enable warnings or no.
 * @return bool Returns TRUE if warnings is turned on, FALSE otherwise.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function fbsql_warnings($OnOff){}

/**
 * Closes an open file pointer
 *
 * The file pointed to by {@link handle} is closed.
 *
 * @param resource $handle The file pointer must be valid, and must
 *   point to a file successfully opened by {@link fopen} or {@link
 *   fsockopen}.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function fclose($handle){}

/**
 * Adds javascript code to the FDF document
 *
 * Adds a script to the FDF, which Acrobat then adds to the doc-level
 * scripts of a document, once the FDF is imported into it.
 *
 * @param resource $fdf_document The FDF document handle, returned by
 *   {@link fdf_create}, {@link fdf_open} or {@link fdf_open_string}.
 * @param string $script_name The script name.
 * @param string $script_code The script code. It is strongly suggested
 *   to use \r for linebreaks within the script code.
 * @return bool
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function fdf_add_doc_javascript($fdf_document, $script_name, $script_code){}

/**
 * Adds a template into the FDF document
 *
 * @param resource $fdf_document
 * @param int $newpage
 * @param string $filename
 * @param string $template
 * @param int $rename
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function fdf_add_template($fdf_document, $newpage, $filename, $template, $rename){}

/**
 * Close an FDF document
 *
 * Closes the FDF document.
 *
 * @param resource $fdf_document The FDF document handle, returned by
 *   {@link fdf_create}, {@link fdf_open} or {@link fdf_open_string}.
 * @return void
 * @since PHP 4, PHP 5, PHP 7
 **/
function fdf_close($fdf_document){}

/**
 * Create a new FDF document
 *
 * Creates a new FDF document.
 *
 * This function is needed if one would like to populate input fields in
 * a PDF document with data.
 *
 * @return resource Returns a FDF document handle, or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function fdf_create(){}

/**
 * Call a user defined function for each document value
 *
 * @param resource $fdf_document
 * @param callable $function
 * @param mixed $userdata
 * @return bool
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function fdf_enum_values($fdf_document, $function, $userdata){}

/**
 * Return error code for last fdf operation
 *
 * Gets the error code set by the last FDF function call.
 *
 * A textual description of the error may be obtained using with {@link
 * fdf_error}.
 *
 * @return int Returns the error code as an integer, or zero if there
 *   was no errors.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function fdf_errno(){}

/**
 * Return error description for FDF error code
 *
 * Gets a textual description for the FDF error code given in {@link
 * error_code}.
 *
 * @param int $error_code An error code obtained with {@link
 *   fdf_errno}. If not provided, this function uses the internal error
 *   code set by the last operation.
 * @return string Returns the error message as a string, or the string
 *   no error if nothing went wrong.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function fdf_error($error_code){}

/**
 * Get the appearance of a field
 *
 * Gets the appearance of a {@link field} (i.e. the value of the /AP key)
 * and stores it in a file.
 *
 * @param resource $fdf_document The FDF document handle, returned by
 *   {@link fdf_create}, {@link fdf_open} or {@link fdf_open_string}.
 * @param string $field
 * @param int $face The possible values are FDFNormalAP, FDFRolloverAP
 *   and FDFDownAP.
 * @param string $filename The appearance will be stored in this
 *   parameter.
 * @return bool
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function fdf_get_ap($fdf_document, $field, $face, $filename){}

/**
 * Extracts uploaded file embedded in the FDF
 *
 * Extracts a file uploaded by means of the "file selection" field {@link
 * fieldname} and stores it under {@link savepath}.
 *
 * @param resource $fdf_document The FDF document handle, returned by
 *   {@link fdf_create}, {@link fdf_open} or {@link fdf_open_string}.
 * @param string $fieldname
 * @param string $savepath May be the name of a plain file or an
 *   existing directory in which the file is to be created under its
 *   original name. Any existing file under the same name will be
 *   overwritten.
 * @return array The returned array contains the following fields:
 *   {@link path} - path were the file got stored {@link size} - size of
 *   the stored file in bytes {@link type} - mimetype if given in the FDF
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function fdf_get_attachment($fdf_document, $fieldname, $savepath){}

/**
 * Get the value of the /Encoding key
 *
 * Gets the value of the /Encoding key.
 *
 * @param resource $fdf_document The FDF document handle, returned by
 *   {@link fdf_create}, {@link fdf_open} or {@link fdf_open_string}.
 * @return string Returns the encoding as a string. An empty string is
 *   returned if the default PDFDocEncoding/Unicode scheme is used.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function fdf_get_encoding($fdf_document){}

/**
 * Get the value of the /F key
 *
 * Gets the value of the /F key.
 *
 * @param resource $fdf_document The FDF document handle, returned by
 *   {@link fdf_create}, {@link fdf_open} or {@link fdf_open_string}.
 * @return string Returns the key value, as a string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function fdf_get_file($fdf_document){}

/**
 * Gets the flags of a field
 *
 * @param resource $fdf_document
 * @param string $fieldname
 * @param int $whichflags
 * @return int
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function fdf_get_flags($fdf_document, $fieldname, $whichflags){}

/**
 * Gets a value from the opt array of a field
 *
 * @param resource $fdf_document
 * @param string $fieldname
 * @param int $element
 * @return mixed
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function fdf_get_opt($fdf_document, $fieldname, $element){}

/**
 * Get the value of the /STATUS key
 *
 * Gets the value of the /STATUS key.
 *
 * @param resource $fdf_document The FDF document handle, returned by
 *   {@link fdf_create}, {@link fdf_open} or {@link fdf_open_string}.
 * @return string Returns the key value, as a string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function fdf_get_status($fdf_document){}

/**
 * Get the value of a field
 *
 * Gets the value for the requested field.
 *
 * @param resource $fdf_document The FDF document handle, returned by
 *   {@link fdf_create}, {@link fdf_open} or {@link fdf_open_string}.
 * @param string $fieldname Name of the FDF field, as a string.
 * @param int $which Elements of an array field can be retrieved by
 *   passing this optional parameter, starting at zero. For non-array
 *   fields, this parameter will be ignored.
 * @return mixed Returns the field value.
 * @since PHP 4, PHP 5, PHP 7
 **/
function fdf_get_value($fdf_document, $fieldname, $which){}

/**
 * Gets version number for FDF API or file
 *
 * Return the FDF version for the given document, or the toolkit API
 * version number if no parameter is given.
 *
 * @param resource $fdf_document The FDF document handle, returned by
 *   {@link fdf_create}, {@link fdf_open} or {@link fdf_open_string}.
 * @return string Returns the version as a string. For the current FDF
 *   toolkit 5.0 the API version number is 5.0 and the document version
 *   number is either 1.2, 1.3 or 1.4.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function fdf_get_version($fdf_document){}

/**
 * Sets FDF-specific output headers
 *
 * This is a convenience function to set appropriate HTTP headers for FDF
 * output. It sets the Content-type: to application/vnd.fdf.
 *
 * @return void
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function fdf_header(){}

/**
 * Get the next field name
 *
 * Gets the name of the field after the given field. This name can be
 * used with several functions.
 *
 * @param resource $fdf_document The FDF document handle, returned by
 *   {@link fdf_create}, {@link fdf_open} or {@link fdf_open_string}.
 * @param string $fieldname Name of the FDF field, as a string. If not
 *   given, the first field will be assumed.
 * @return string Returns the field name as a string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function fdf_next_field_name($fdf_document, $fieldname){}

/**
 * Open a FDF document
 *
 * Opens a file with form data.
 *
 * You can also use {@link fdf_open_string} to process the results of a
 * PDF form POST request.
 *
 * @param string $filename Path to the FDF file. This file must contain
 *   the data as returned from a PDF form or created using {@link
 *   fdf_create} and {@link fdf_save}.
 * @return resource Returns a FDF document handle, or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function fdf_open($filename){}

/**
 * Read a FDF document from a string
 *
 * Reads form data from a string.
 *
 * You can use {@link fdf_open_string} together with $HTTP_FDF_DATA to
 * process FDF form input from a remote client.
 *
 * @param string $fdf_data The data as returned from a PDF form or
 *   created using {@link fdf_create} and {@link fdf_save_string}.
 * @return resource Returns a FDF document handle, or FALSE on error.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function fdf_open_string($fdf_data){}

/**
 * Sets target frame for form
 *
 * @param resource $fdf_document
 * @param string $fieldname
 * @param int $item
 * @return bool
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function fdf_remove_item($fdf_document, $fieldname, $item){}

/**
 * Save a FDF document
 *
 * Saves a FDF document.
 *
 * @param resource $fdf_document The FDF document handle, returned by
 *   {@link fdf_create}, {@link fdf_open} or {@link fdf_open_string}.
 * @param string $filename If provided, the resulting FDF will be
 *   written in this parameter. Otherwise, this function will write the
 *   FDF to the default PHP output stream.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function fdf_save($fdf_document, $filename){}

/**
 * Returns the FDF document as a string
 *
 * @param resource $fdf_document The FDF document handle, returned by
 *   {@link fdf_create}, {@link fdf_open} or {@link fdf_open_string}.
 * @return string Returns the document as a string, or FALSE on error.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function fdf_save_string($fdf_document){}

/**
 * Set the appearance of a field
 *
 * Sets the appearance of a field (i.e. the value of the /AP key).
 *
 * @param resource $fdf_document The FDF document handle, returned by
 *   {@link fdf_create}, {@link fdf_open} or {@link fdf_open_string}.
 * @param string $field_name
 * @param int $face The possible values FDFNormalAP, FDFRolloverAP and
 *   FDFDownAP.
 * @param string $filename
 * @param int $page_number
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function fdf_set_ap($fdf_document, $field_name, $face, $filename, $page_number){}

/**
 * Sets FDF character encoding
 *
 * Sets the character encoding for the FDF document.
 *
 * @param resource $fdf_document The FDF document handle, returned by
 *   {@link fdf_create}, {@link fdf_open} or {@link fdf_open_string}.
 * @param string $encoding The encoding name. The following values are
 *   supported: "Shift-JIS", "UHC", "GBK" and "BigFive". An empty string
 *   resets the encoding to the default PDFDocEncoding/Unicode scheme.
 * @return bool
 * @since PHP 4 >= 4.0.7, PHP 5, PHP 7
 **/
function fdf_set_encoding($fdf_document, $encoding){}

/**
 * Set PDF document to display FDF data in
 *
 * Selects a different PDF document to display the form results in then
 * the form it originated from.
 *
 * @param resource $fdf_document The FDF document handle, returned by
 *   {@link fdf_create}, {@link fdf_open} or {@link fdf_open_string}.
 * @param string $url Should be given as an absolute URL.
 * @param string $target_frame Use this parameter to specify the frame
 *   in which the document will be displayed. You can also set the
 *   default value for this parameter using {@link fdf_set_target_frame}.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function fdf_set_file($fdf_document, $url, $target_frame){}

/**
 * Sets a flag of a field
 *
 * Sets certain flags of the given field.
 *
 * @param resource $fdf_document The FDF document handle, returned by
 *   {@link fdf_create}, {@link fdf_open} or {@link fdf_open_string}.
 * @param string $fieldname Name of the FDF field, as a string.
 * @param int $whichFlags
 * @param int $newFlags
 * @return bool
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function fdf_set_flags($fdf_document, $fieldname, $whichFlags, $newFlags){}

/**
 * Sets an javascript action of a field
 *
 * Sets a javascript action for the given field.
 *
 * @param resource $fdf_document The FDF document handle, returned by
 *   {@link fdf_create}, {@link fdf_open} or {@link fdf_open_string}.
 * @param string $fieldname Name of the FDF field, as a string.
 * @param int $trigger
 * @param string $script
 * @return bool
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function fdf_set_javascript_action($fdf_document, $fieldname, $trigger, $script){}

/**
 * Adds javascript code to be executed when Acrobat opens the FDF
 *
 * @param resource $fdf_document
 * @param string $script
 * @param bool $before_data_import
 * @return bool
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function fdf_set_on_import_javascript($fdf_document, $script, $before_data_import){}

/**
 * Sets an option of a field
 *
 * Sets options of the given field.
 *
 * @param resource $fdf_document The FDF document handle, returned by
 *   {@link fdf_create}, {@link fdf_open} or {@link fdf_open_string}.
 * @param string $fieldname Name of the FDF field, as a string.
 * @param int $element
 * @param string $str1
 * @param string $str2
 * @return bool
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function fdf_set_opt($fdf_document, $fieldname, $element, $str1, $str2){}

/**
 * Set the value of the /STATUS key
 *
 * Sets the value of the /STATUS key. When a client receives a FDF with a
 * status set it will present the value in an alert box.
 *
 * @param resource $fdf_document The FDF document handle, returned by
 *   {@link fdf_create}, {@link fdf_open} or {@link fdf_open_string}.
 * @param string $status
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function fdf_set_status($fdf_document, $status){}

/**
 * Sets a submit form action of a field
 *
 * Sets a submit form action for the given field.
 *
 * @param resource $fdf_document The FDF document handle, returned by
 *   {@link fdf_create}, {@link fdf_open} or {@link fdf_open_string}.
 * @param string $fieldname Name of the FDF field, as a string.
 * @param int $trigger
 * @param string $script
 * @param int $flags
 * @return bool
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function fdf_set_submit_form_action($fdf_document, $fieldname, $trigger, $script, $flags){}

/**
 * Set target frame for form display
 *
 * Sets the target frame to display a result PDF defined with {@link
 * fdf_save_file} in.
 *
 * @param resource $fdf_document The FDF document handle, returned by
 *   {@link fdf_create}, {@link fdf_open} or {@link fdf_open_string}.
 * @param string $frame_name The frame name, as a string.
 * @return bool
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function fdf_set_target_frame($fdf_document, $frame_name){}

/**
 * Set the value of a field
 *
 * Sets the {@link value} for the given field.
 *
 * @param resource $fdf_document The FDF document handle, returned by
 *   {@link fdf_create}, {@link fdf_open} or {@link fdf_open_string}.
 * @param string $fieldname Name of the FDF field, as a string.
 * @param mixed $value This parameter will be stored as a string unless
 *   it is an array. In this case all array elements will be stored as a
 *   value array.
 * @param int $isName
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function fdf_set_value($fdf_document, $fieldname, $value, $isName){}

/**
 * Sets version number for a FDF file
 *
 * Sets the FDF {@link version} for the given document.
 *
 * Some features supported by this extension are only available in newer
 * FDF versions.
 *
 * @param resource $fdf_document The FDF document handle, returned by
 *   {@link fdf_create}, {@link fdf_open} or {@link fdf_open_string}.
 * @param string $version The version number. For the current FDF
 *   toolkit 5.0, this may be either 1.2, 1.3 or 1.4.
 * @return bool
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function fdf_set_version($fdf_document, $version){}

/**
 * Tests for end-of-file on a file pointer
 *
 * @param resource $handle
 * @return bool Returns TRUE if the file pointer is at EOF or an error
 *   occurs (including socket timeout); otherwise returns FALSE.
 * @since PHP 4, PHP 5, PHP 7
 **/
function feof($handle){}

/**
 * Flushes the output to a file
 *
 * This function forces a write of all buffered output to the resource
 * pointed to by the file {@link handle}.
 *
 * @param resource $handle
 * @return bool
 * @since PHP 4 >= 4.0.1, PHP 5, PHP 7
 **/
function fflush($handle){}

/**
 * Gets character from file pointer
 *
 * Gets a character from the given file pointer.
 *
 * @param resource $handle
 * @return string Returns a string containing a single character read
 *   from the file pointed to by {@link handle}. Returns FALSE on EOF.
 * @since PHP 4, PHP 5, PHP 7
 **/
function fgetc($handle){}

/**
 * Gets line from file pointer and parse for CSV fields
 *
 * Similar to {@link fgets} except that {@link fgetcsv} parses the line
 * it reads for fields in CSV format and returns an array containing the
 * fields read.
 *
 * @param resource $handle A valid file pointer to a file successfully
 *   opened by {@link fopen}, {@link popen}, or {@link fsockopen}.
 * @param int $length Must be greater than the longest line (in
 *   characters) to be found in the CSV file (allowing for trailing
 *   line-end characters). Otherwise the line is split in chunks of
 *   {@link length} characters, unless the split would occur inside an
 *   enclosure. Omitting this parameter (or setting it to 0 in PHP 5.1.0
 *   and later) the maximum line length is not limited, which is slightly
 *   slower.
 * @param string $delimiter The optional {@link delimiter} parameter
 *   sets the field delimiter (one character only).
 * @param string $enclosure The optional {@link enclosure} parameter
 *   sets the field enclosure character (one character only).
 * @param string $escape The optional {@link escape} parameter sets the
 *   escape character (one character only).
 * @return array Returns an indexed array containing the fields read.
 * @since PHP 4, PHP 5, PHP 7
 **/
function fgetcsv($handle, $length, $delimiter, $enclosure, $escape){}

/**
 * Gets line from file pointer
 *
 * Gets a line from file pointer.
 *
 * @param resource $handle
 * @param int $length Reading ends when {@link length} - 1 bytes have
 *   been read, or a newline (which is included in the return value), or
 *   an EOF (whichever comes first). If no length is specified, it will
 *   keep reading from the stream until it reaches the end of the line.
 * @return string Returns a string of up to {@link length} - 1 bytes
 *   read from the file pointed to by {@link handle}. If there is no more
 *   data to read in the file pointer, then FALSE is returned.
 * @since PHP 4, PHP 5, PHP 7
 **/
function fgets($handle, $length){}

/**
 * Gets line from file pointer and strip HTML tags
 *
 * Identical to {@link fgets}, except that {@link fgetss} attempts to
 * strip any NUL bytes, HTML and PHP tags from the text it reads.
 *
 * @param resource $handle
 * @param int $length Length of the data to be retrieved.
 * @param string $allowable_tags You can use the optional third
 *   parameter to specify tags which should not be stripped. See {@link
 *   strip_tags} for details regarding {@link allowable_tags}.
 * @return string Returns a string of up to {@link length} - 1 bytes
 *   read from the file pointed to by {@link handle}, with all HTML and
 *   PHP code stripped.
 * @since PHP 4, PHP 5, PHP 7
 **/
function fgetss($handle, $length, $allowable_tags){}

/**
 * Reads entire file into an array
 *
 * Reads an entire file into an array.
 *
 * @param string $filename Path to the file.
 * @param int $flags The optional parameter {@link flags} can be one,
 *   or more, of the following constants: FILE_USE_INCLUDE_PATH Search
 *   for the file in the include_path. FILE_IGNORE_NEW_LINES Omit newline
 *   at the end of each array element FILE_SKIP_EMPTY_LINES Skip empty
 *   lines
 * @param resource $context
 * @return array Returns the file in an array. Each element of the
 *   array corresponds to a line in the file, with the newline still
 *   attached. Upon failure, {@link file} returns FALSE.
 * @since PHP 4, PHP 5, PHP 7
 **/
function file($filename, $flags, $context){}

/**
 * Gets last access time of file
 *
 * @param string $filename Path to the file.
 * @return int Returns the time the file was last accessed, . The time
 *   is returned as a Unix timestamp.
 * @since PHP 4, PHP 5, PHP 7
 **/
function fileatime($filename){}

/**
 * Gets inode change time of file
 *
 * Gets the inode change time of a file.
 *
 * @param string $filename Path to the file.
 * @return int Returns the time the file was last changed, . The time
 *   is returned as a Unix timestamp.
 * @since PHP 4, PHP 5, PHP 7
 **/
function filectime($filename){}

/**
 * Gets file group
 *
 * Gets the file group. The group ID is returned in numerical format, use
 * {@link posix_getgrgid} to resolve it to a group name.
 *
 * @param string $filename Path to the file.
 * @return int Returns the group ID of the file, or FALSE if an error
 *   occurs. The group ID is returned in numerical format, use {@link
 *   posix_getgrgid} to resolve it to a group name. Upon failure, FALSE
 *   is returned.
 * @since PHP 4, PHP 5, PHP 7
 **/
function filegroup($filename){}

/**
 * Gets file inode
 *
 * Gets the file inode.
 *
 * @param string $filename Path to the file.
 * @return int Returns the inode number of the file, .
 * @since PHP 4, PHP 5, PHP 7
 **/
function fileinode($filename){}

/**
 * Gets file modification time
 *
 * This function returns the time when the data blocks of a file were
 * being written to, that is, the time when the content of the file was
 * changed.
 *
 * @param string $filename Path to the file.
 * @return int Returns the time the file was last modified, . The time
 *   is returned as a Unix timestamp, which is suitable for the {@link
 *   date} function.
 * @since PHP 4, PHP 5, PHP 7
 **/
function filemtime($filename){}

/**
 * Gets file owner
 *
 * Gets the file owner.
 *
 * @param string $filename Path to the file.
 * @return int Returns the user ID of the owner of the file, . The user
 *   ID is returned in numerical format, use {@link posix_getpwuid} to
 *   resolve it to a username.
 * @since PHP 4, PHP 5, PHP 7
 **/
function fileowner($filename){}

/**
 * Gets file permissions
 *
 * Gets permissions for the given file.
 *
 * @param string $filename Path to the file.
 * @return int Returns the file's permissions as a numeric mode. Lower
 *   bits of this mode are the same as the permissions expected by {@link
 *   chmod}, however on most platforms the return value will also include
 *   information on the type of file given as {@link filename}. The
 *   examples below demonstrate how to test the return value for specific
 *   permissions and file types on POSIX systems, including Linux and
 *   macOS.
 * @since PHP 4, PHP 5, PHP 7
 **/
function fileperms($filename){}

/**
 * Read and verify the map file
 *
 * This reads and verifies the map file, storing the field count and
 * info.
 *
 * No locking is done, so you should avoid modifying your filePro
 * database while it may be opened in PHP.
 *
 * @param string $directory The map directory.
 * @return bool
 * @since PHP 4, PHP 5 < 5.2.0, PHP 7
 **/
function filepro($directory){}

/**
 * Find out how many fields are in a filePro database
 *
 * Returns the number of fields (columns) in the opened filePro database.
 *
 * @return int Returns the number of fields in the opened filePro
 *   database, or FALSE on errors.
 * @since PHP 4, PHP 5 < 5.2.0, PHP 7
 **/
function filepro_fieldcount(){}

/**
 * Gets the name of a field
 *
 * Returns the name of the field corresponding to {@link field_number}.
 *
 * @param int $field_number The field number.
 * @return string Returns the name of the field as a string, or FALSE
 *   on errors.
 * @since PHP 4, PHP 5 < 5.2.0, PHP 7
 **/
function filepro_fieldname($field_number){}

/**
 * Gets the type of a field
 *
 * Returns the edit type of the field corresponding to {@link
 * field_number}.
 *
 * @param int $field_number The field number.
 * @return string Returns the edit type of the field as a string, or
 *   FALSE on errors.
 * @since PHP 4, PHP 5 < 5.2.0, PHP 7
 **/
function filepro_fieldtype($field_number){}

/**
 * Gets the width of a field
 *
 * Returns the width of the field corresponding to {@link field_number}.
 *
 * @param int $field_number The field number.
 * @return int Returns the width of the field as a integer, or FALSE on
 *   errors.
 * @since PHP 4, PHP 5 < 5.2.0, PHP 7
 **/
function filepro_fieldwidth($field_number){}

/**
 * Retrieves data from a filePro database
 *
 * Returns the data from the specified location in the database.
 *
 * @param int $row_number The row number. Must be between zero and the
 *   total number of rows minus one (0..{@link filepro_rowcount} - 1)
 * @param int $field_number The field number. Accepts values between
 *   zero and the total number of fields minus one (0..{@link
 *   filepro_fieldcount} - 1)
 * @return string Returns the specified data, or FALSE on errors.
 * @since PHP 4, PHP 5 < 5.2.0, PHP 7
 **/
function filepro_retrieve($row_number, $field_number){}

/**
 * Find out how many rows are in a filePro database
 *
 * Returns the number of rows in the opened filePro database.
 *
 * @return int Returns the number of rows in the opened filePro
 *   database, or FALSE on errors.
 * @since PHP 4, PHP 5 < 5.2.0, PHP 7
 **/
function filepro_rowcount(){}

/**
 * Gets file size
 *
 * Gets the size for the given file.
 *
 * @param string $filename Path to the file.
 * @return int Returns the size of the file in bytes, or FALSE (and
 *   generates an error of level E_WARNING) in case of an error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function filesize($filename){}

/**
 * Gets file type
 *
 * Returns the type of the given file.
 *
 * @param string $filename Path to the file.
 * @return string Returns the type of the file. Possible values are
 *   fifo, char, dir, block, link, file, socket and unknown.
 * @since PHP 4, PHP 5, PHP 7
 **/
function filetype($filename){}

/**
 * Checks whether a file or directory exists
 *
 * @param string $filename Path to the file or directory. On windows,
 *   use //computername/share/filename or \\computername\share\filename
 *   to check files on network shares.
 * @return bool Returns TRUE if the file or directory specified by
 *   {@link filename} exists; FALSE otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function file_exists($filename){}

/**
 * Reads entire file into a string
 *
 * This function is similar to {@link file}, except that {@link
 * file_get_contents} returns the file in a string, starting at the
 * specified {@link offset} up to {@link maxlen} bytes. On failure,
 * {@link file_get_contents} will return FALSE.
 *
 * {@link file_get_contents} is the preferred way to read the contents of
 * a file into a string. It will use memory mapping techniques if
 * supported by your OS to enhance performance.
 *
 * @param string $filename Name of the file to read.
 * @param bool $use_include_path
 * @param resource $context A valid context resource created with
 *   {@link stream_context_create}. If you don't need to use a custom
 *   context, you can skip this parameter by NULL.
 * @param int $offset The offset where the reading starts on the
 *   original stream. Negative offsets count from the end of the stream.
 *   Seeking ({@link offset}) is not supported with remote files.
 *   Attempting to seek on non-local files may work with small offsets,
 *   but this is unpredictable because it works on the buffered stream.
 * @param int $maxlen Maximum length of data read. The default is to
 *   read until end of file is reached. Note that this parameter is
 *   applied to the stream processed by the filters.
 * @return string The function returns the read data .
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function file_get_contents($filename, $use_include_path, $context, $offset, $maxlen){}

/**
 * Write data to a file
 *
 * This function is identical to calling {@link fopen}, {@link fwrite}
 * and {@link fclose} successively to write data to a file.
 *
 * If {@link filename} does not exist, the file is created. Otherwise,
 * the existing file is overwritten, unless the FILE_APPEND flag is set.
 *
 * @param string $filename Path to the file where to write the data.
 * @param mixed $data The data to write. Can be either a string, an
 *   array or a stream resource. If {@link data} is a stream resource,
 *   the remaining buffer of that stream will be copied to the specified
 *   file. This is similar with using {@link stream_copy_to_stream}. You
 *   can also specify the {@link data} parameter as a single dimension
 *   array. This is equivalent to file_put_contents($filename,
 *   implode('', $array)).
 * @param int $flags The value of {@link flags} can be any combination
 *   of the following flags, joined with the binary OR (|) operator.
 *   
 *   Available flags Flag Description FILE_USE_INCLUDE_PATH Search for
 *   {@link filename} in the include directory. See include_path for more
 *   information. FILE_APPEND If file {@link filename} already exists,
 *   append the data to the file instead of overwriting it. LOCK_EX
 *   Acquire an exclusive lock on the file while proceeding to the
 *   writing. In other words, a {@link flock} call happens between the
 *   {@link fopen} call and the {@link fwrite} call. This is not
 *   identical to an {@link fopen} call with mode "x".
 * @param resource $context A valid context resource created with
 *   {@link stream_context_create}.
 * @return int This function returns the number of bytes that were
 *   written to the file, or FALSE on failure.
 * @since PHP 5, PHP 7
 **/
function file_put_contents($filename, $data, $flags, $context){}

/**
 * Checks if variable of specified type exists
 *
 * @param int $type One of INPUT_GET, INPUT_POST, INPUT_COOKIE,
 *   INPUT_SERVER, or INPUT_ENV.
 * @param string $variable_name Name of a variable to check.
 * @return bool
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function filter_has_var($type, $variable_name){}

/**
 * Returns the filter ID belonging to a named filter
 *
 * @param string $filtername Name of a filter to get.
 * @return int ID of a filter on success or FALSE if filter doesn't
 *   exist.
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function filter_id($filtername){}

/**
 * Gets a specific external variable by name and optionally filters it
 *
 * @param int $type One of INPUT_GET, INPUT_POST, INPUT_COOKIE,
 *   INPUT_SERVER, or INPUT_ENV.
 * @param string $variable_name Name of a variable to get.
 * @param int $filter Associative array of options or bitwise
 *   disjunction of flags. If filter accepts options, flags can be
 *   provided in "flags" field of array.
 * @param mixed $options
 * @return mixed Value of the requested variable on success, FALSE if
 *   the filter fails, or NULL if the {@link variable_name} variable is
 *   not set. If the flag FILTER_NULL_ON_FAILURE is used, it returns
 *   FALSE if the variable is not set and NULL if the filter fails.
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function filter_input($type, $variable_name, $filter, $options){}

/**
 * Gets external variables and optionally filters them
 *
 * This function is useful for retrieving many values without
 * repetitively calling {@link filter_input}.
 *
 * @param int $type One of INPUT_GET, INPUT_POST, INPUT_COOKIE,
 *   INPUT_SERVER, or INPUT_ENV.
 * @param mixed $definition An array defining the arguments. A valid
 *   key is a string containing a variable name and a valid value is
 *   either a filter type, or an array optionally specifying the filter,
 *   flags and options. If the value is an array, valid keys are filter
 *   which specifies the filter type, flags which specifies any flags
 *   that apply to the filter, and options which specifies any options
 *   that apply to the filter. See the example below for a better
 *   understanding. This parameter can be also an integer holding a
 *   filter constant. Then all values in the input array are filtered by
 *   this filter.
 * @param bool $add_empty Add missing keys as NULL to the return value.
 * @return mixed An array containing the values of the requested
 *   variables on success. If the input array designated by {@link type}
 *   is not populated, the function returns NULL if the
 *   FILTER_NULL_ON_FAILURE flag is not given, or FALSE otherwise. For
 *   other failures, FALSE is returned.
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function filter_input_array($type, $definition, $add_empty){}

/**
 * Returns a list of all supported filters
 *
 * @return array Returns an array of names of all supported filters,
 *   empty array if there are no such filters. Indexes of this array are
 *   not filter IDs, they can be obtained with {@link filter_id} from a
 *   name instead.
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function filter_list(){}

/**
 * Filters a variable with a specified filter
 *
 * @param mixed $variable Value to filter. Note that scalar values are
 *   converted to string internally before they are filtered.
 * @param int $filter Associative array of options or bitwise
 *   disjunction of flags. If filter accepts options, flags can be
 *   provided in "flags" field of array. For the "callback" filter,
 *   callable type should be passed. The callback must accept one
 *   argument, the value to be filtered, and return the value after
 *   filtering/sanitizing it.
 *   
 *   <?php // for filters that accept options, use this format $options =
 *   array( 'options' => array( 'default' => 3, // value to return if the
 *   filter fails // other options here 'min_range' => 0 ), 'flags' =>
 *   FILTER_FLAG_ALLOW_OCTAL, ); $var = filter_var('0755',
 *   FILTER_VALIDATE_INT, $options);
 *   
 *   // for filter that only accept flags, you can pass them directly
 *   $var = filter_var('oops', FILTER_VALIDATE_BOOLEAN,
 *   FILTER_NULL_ON_FAILURE);
 *   
 *   // for filter that only accept flags, you can also pass as an array
 *   $var = filter_var('oops', FILTER_VALIDATE_BOOLEAN, array('flags' =>
 *   FILTER_NULL_ON_FAILURE));
 *   
 *   // callback validate filter function foo($value) { // Expected
 *   format: Surname, GivenNames if (strpos($value, ", ") === false)
 *   return false; list($surname, $givennames) = explode(", ", $value,
 *   2); $empty = (empty($surname) || empty($givennames)); $notstrings =
 *   (!is_string($surname) || !is_string($givennames)); if ($empty ||
 *   $notstrings) { return false; } else { return $value; } } $var =
 *   filter_var('Doe, Jane Sue', FILTER_CALLBACK, array('options' =>
 *   'foo')); ?>
 * @param mixed $options
 * @return mixed Returns the filtered data, or FALSE if the filter
 *   fails.
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function filter_var($variable, $filter, $options){}

/**
 * Gets multiple variables and optionally filters them
 *
 * This function is useful for retrieving many values without
 * repetitively calling {@link filter_var}.
 *
 * @param array $data An array with string keys containing the data to
 *   filter.
 * @param mixed $definition An array defining the arguments. A valid
 *   key is a string containing a variable name and a valid value is
 *   either a filter type, or an array optionally specifying the filter,
 *   flags and options. If the value is an array, valid keys are filter
 *   which specifies the filter type, flags which specifies any flags
 *   that apply to the filter, and options which specifies any options
 *   that apply to the filter. See the example below for a better
 *   understanding. This parameter can be also an integer holding a
 *   filter constant. Then all values in the input array are filtered by
 *   this filter.
 * @param bool $add_empty Add missing keys as NULL to the return value.
 * @return mixed An array containing the values of the requested
 *   variables on success, or FALSE on failure. An array value will be
 *   FALSE if the filter fails, or NULL if the variable is not set.
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function filter_var_array($data, $definition, $add_empty){}

/**
 * Return information about a string buffer
 *
 * This function is used to get information about binary data in a
 * string.
 *
 * @param resource $finfo Fileinfo resource returned by {@link
 *   finfo_open}.
 * @param string $string Content of a file to be checked.
 * @param int $options One or disjunction of more Fileinfo constants.
 * @param resource $context
 * @return string Returns a textual description of the {@link string}
 *   argument, or FALSE if an error occurred.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL fileinfo >= 0.1.0
 **/
function finfo_buffer($finfo, $string, $options, $context){}

/**
 * Close fileinfo resource
 *
 * This function closes the resource opened by {@link finfo_open}.
 *
 * @param resource $finfo Fileinfo resource returned by {@link
 *   finfo_open}.
 * @return bool
 * @since PHP >= 5.3.0, PECL fileinfo >= 0.1.0
 **/
function finfo_close($finfo){}

/**
 * Return information about a file
 *
 * This function is used to get information about a file.
 *
 * @param resource $finfo Fileinfo resource returned by {@link
 *   finfo_open}.
 * @param string $file_name Name of a file to be checked.
 * @param int $options One or disjunction of more Fileinfo constants.
 * @param resource $context For a description of contexts, refer to .
 * @return string Returns a textual description of the contents of the
 *   {@link file_name} argument, or FALSE if an error occurred.
 * @since PHP >= 5.3.0, PECL fileinfo >= 0.1.0
 **/
function finfo_file($finfo, $file_name, $options, $context){}

/**
 * Create a new fileinfo resource
 *
 * (constructor):
 *
 * This function opens a magic database and returns its resource.
 *
 * @param int $options One or disjunction of more Fileinfo constants.
 * @param string $magic_file Name of a magic database file, usually
 *   something like /path/to/magic.mime. If not specified, the MAGIC
 *   environment variable is used. If the environment variable isn't set,
 *   then PHP's bundled magic database will be used. Passing NULL or an
 *   empty string will be equivalent to the default value.
 * @return resource (Procedural style only) Returns a magic database
 *   resource on success.
 * @since PHP >= 5.3.0, PECL fileinfo >= 0.1.0
 **/
function finfo_open($options, $magic_file){}

/**
 * Set libmagic configuration options
 *
 * This function sets various Fileinfo options. Options can be set also
 * directly in {@link finfo_open} or other Fileinfo functions.
 *
 * @param resource $finfo Fileinfo resource returned by {@link
 *   finfo_open}.
 * @param int $options One or disjunction of more Fileinfo constants.
 * @return bool
 * @since PHP >= 5.3.0, PECL fileinfo >= 0.1.0
 **/
function finfo_set_flags($finfo, $options){}

/**
 * Get float value of a variable
 *
 * Gets the float value of {@link var}.
 *
 * @param mixed $var May be any scalar type. {@link floatval} should
 *   not be used on objects, as doing so will emit an E_NOTICE level
 *   error and return 1.
 * @return float The float value of the given variable. Empty arrays
 *   return 0, non-empty arrays return 1.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function floatval($var){}

/**
 * Portable advisory file locking
 *
 * {@link flock} allows you to perform a simple reader/writer model which
 * can be used on virtually every platform (including most Unix
 * derivatives and even Windows).
 *
 * On versions of PHP before 5.3.2, the lock is released also by {@link
 * fclose} (which is also called automatically when script finished).
 *
 * PHP supports a portable way of locking complete files in an advisory
 * way (which means all accessing programs have to use the same way of
 * locking or it will not work). By default, this function will block
 * until the requested lock is acquired; this may be controlled with the
 * LOCK_NB option documented below.
 *
 * @param resource $handle
 * @param int $operation {@link operation} is one of the following:
 *   LOCK_SH to acquire a shared lock (reader). LOCK_EX to acquire an
 *   exclusive lock (writer). LOCK_UN to release a lock (shared or
 *   exclusive). It is also possible to add LOCK_NB as a bitmask to one
 *   of the above operations if you don't want {@link flock} to block
 *   while locking.
 * @param int $wouldblock The optional third argument is set to 1 if
 *   the lock would block (EWOULDBLOCK errno condition).
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function flock($handle, $operation, &$wouldblock){}

/**
 * Round fractions down
 *
 * @param float $value The numeric value to round
 * @return float {@link value} rounded to the next lowest integer. The
 *   return value of {@link floor} is still of type float because the
 *   value range of float is usually bigger than that of integer. This
 *   function returns FALSE in case of an error (e.g. passing an array).
 * @since PHP 4, PHP 5, PHP 7
 **/
function floor($value){}

/**
 * Flush system output buffer
 *
 * Flushes the system write buffers of PHP and whatever backend PHP is
 * using (CGI, a web server, etc). This attempts to push current output
 * all the way to the browser with a few caveats.
 *
 * {@link flush} may not be able to override the buffering scheme of your
 * web server and it has no effect on any client-side buffering in the
 * browser. It also doesn't affect PHP's userspace output buffering
 * mechanism. This means you will have to call both {@link ob_flush} and
 * {@link flush} to flush the ob output buffers if you are using those.
 *
 * Several servers, especially on Win32, will still buffer the output
 * from your script until it terminates before transmitting the results
 * to the browser.
 *
 * Server modules for Apache like mod_gzip may do buffering of their own
 * that will cause {@link flush} to not result in data being sent
 * immediately to the client.
 *
 * Even the browser may buffer its input before displaying it. Netscape,
 * for example, buffers text until it receives an end-of-line or the
 * beginning of a tag, and it won't render tables until the </table> tag
 * of the outermost table is seen.
 *
 * Some versions of Microsoft Internet Explorer will only start to
 * display the page after they have received 256 bytes of output, so you
 * may need to send extra whitespace before flushing to get those
 * browsers to display the page.
 *
 * @return void
 * @since PHP 4, PHP 5, PHP 7
 **/
function flush(){}

/**
 * Returns the floating point remainder (modulo) of the division of the
 * arguments
 *
 * Returns the floating point remainder of dividing the dividend ({@link
 * x}) by the divisor ({@link y}). The remainder (r) is defined as: x = i
 * * y + r, for some integer i. If {@link y} is non-zero, r has the same
 * sign as {@link x} and a magnitude less than the magnitude of {@link
 * y}.
 *
 * @param float $x The dividend
 * @param float $y The divisor
 * @return float The floating point remainder of {@link x}/{@link y}
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function fmod($x, $y){}

/**
 * Match filename against a pattern
 *
 * {@link fnmatch} checks if the passed {@link string} would match the
 * given shell wildcard {@link pattern}.
 *
 * @param string $pattern The shell wildcard pattern.
 * @param string $string The tested string. This function is especially
 *   useful for filenames, but may also be used on regular strings. The
 *   average user may be used to shell patterns or at least in their
 *   simplest form to '?' and '*' wildcards so using {@link fnmatch}
 *   instead of {@link preg_match} for frontend search expression input
 *   may be way more convenient for non-programming users.
 * @param int $flags The value of {@link flags} can be any combination
 *   of the following flags, joined with the binary OR (|) operator. A
 *   list of possible flags for {@link fnmatch} {@link Flag} Description
 *   FNM_NOESCAPE Disable backslash escaping. FNM_PATHNAME Slash in
 *   string only matches slash in the given pattern. FNM_PERIOD Leading
 *   period in string must be exactly matched by period in the given
 *   pattern. FNM_CASEFOLD Caseless match. Part of the GNU extension.
 * @return bool Returns TRUE if there is a match, FALSE otherwise.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function fnmatch($pattern, $string, $flags){}

/**
 * Opens file or URL
 *
 * {@link fopen} binds a named resource, specified by {@link filename},
 * to a stream.
 *
 * @param string $filename If {@link filename} is of the form
 *   "scheme://...", it is assumed to be a URL and PHP will search for a
 *   protocol handler (also known as a wrapper) for that scheme. If no
 *   wrappers for that protocol are registered, PHP will emit a notice to
 *   help you track potential problems in your script and then continue
 *   as though {@link filename} specifies a regular file. If PHP has
 *   decided that {@link filename} specifies a local file, then it will
 *   try to open a stream on that file. The file must be accessible to
 *   PHP, so you need to ensure that the file access permissions allow
 *   this access. If you have enabled or open_basedir further
 *   restrictions may apply. If PHP has decided that {@link filename}
 *   specifies a registered protocol, and that protocol is registered as
 *   a network URL, PHP will check to make sure that allow_url_fopen is
 *   enabled. If it is switched off, PHP will emit a warning and the
 *   fopen call will fail. On the Windows platform, be careful to escape
 *   any backslashes used in the path to the file, or use forward
 *   slashes.
 *   
 *   <?php $handle = fopen("c:\\folder\\resource.txt", "r"); ?>
 * @param string $mode The {@link mode} parameter specifies the type of
 *   access you require to the stream. It may be any of the following: A
 *   list of possible modes for {@link fopen} using {@link mode} {@link
 *   mode} Description 'r' Open for reading only; place the file pointer
 *   at the beginning of the file. 'r+' Open for reading and writing;
 *   place the file pointer at the beginning of the file. 'w' Open for
 *   writing only; place the file pointer at the beginning of the file
 *   and truncate the file to zero length. If the file does not exist,
 *   attempt to create it. 'w+' Open for reading and writing; place the
 *   file pointer at the beginning of the file and truncate the file to
 *   zero length. If the file does not exist, attempt to create it. 'a'
 *   Open for writing only; place the file pointer at the end of the
 *   file. If the file does not exist, attempt to create it. In this
 *   mode, {@link fseek} has no effect, writes are always appended. 'a+'
 *   Open for reading and writing; place the file pointer at the end of
 *   the file. If the file does not exist, attempt to create it. In this
 *   mode, {@link fseek} only affects the reading position, writes are
 *   always appended. 'x' Create and open for writing only; place the
 *   file pointer at the beginning of the file. If the file already
 *   exists, the {@link fopen} call will fail by returning FALSE and
 *   generating an error of level E_WARNING. If the file does not exist,
 *   attempt to create it. This is equivalent to specifying
 *   O_EXCL|O_CREAT flags for the underlying open(2) system call. 'x+'
 *   Create and open for reading and writing; otherwise it has the same
 *   behavior as 'x'. 'c' Open the file for writing only. If the file
 *   does not exist, it is created. If it exists, it is neither truncated
 *   (as opposed to 'w'), nor the call to this function fails (as is the
 *   case with 'x'). The file pointer is positioned on the beginning of
 *   the file. This may be useful if it's desired to get an advisory lock
 *   (see {@link flock}) before attempting to modify the file, as using
 *   'w' could truncate the file before the lock was obtained (if
 *   truncation is desired, {@link ftruncate} can be used after the lock
 *   is requested). 'c+' Open the file for reading and writing; otherwise
 *   it has the same behavior as 'c'. 'e' Set close-on-exec flag on the
 *   opened file descriptor. Only available in PHP compiled on
 *   POSIX.1-2008 conform systems.
 * @param bool $use_include_path The optional third {@link
 *   use_include_path} parameter can be set to '1' or TRUE if you want to
 *   search for the file in the include_path, too.
 * @param resource $context
 * @return resource Returns a file pointer resource on success, or
 *   FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function fopen($filename, $mode, $use_include_path, $context){}

/**
 * Call a static method
 *
 * Calls a user defined function or method given by the {@link function}
 * parameter, with the following arguments. This function must be called
 * within a method context, it can't be used outside a class. It uses the
 * late static binding.
 *
 * @param callable $function The function or method to be called. This
 *   parameter may be an array, with the name of the class, and the
 *   method, or a string, with a function name.
 * @param mixed $parameter Zero or more parameters to be passed to the
 *   function.
 * @return mixed Returns the function result, or FALSE on error.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function forward_static_call($function, $parameter){}

/**
 * Call a static method and pass the arguments as array
 *
 * Calls a user defined function or method given by the {@link function}
 * parameter. This function must be called within a method context, it
 * can't be used outside a class. It uses the late static binding. All
 * arguments of the forwarded method are passed as values, and as an
 * array, similarly to {@link call_user_func_array}.
 *
 * @param callable $function The function or method to be called. This
 *   parameter may be an , with the name of the class, and the method, or
 *   a , with a function name.
 * @param array $parameters One parameter, gathering all the method
 *   parameter in one array.
 * @return mixed Returns the function result, or FALSE on error.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function forward_static_call_array($function, $parameters){}

/**
 * Output all remaining data on a file pointer
 *
 * Reads to EOF on the given file pointer from the current position and
 * writes the results to the output buffer.
 *
 * You may need to call {@link rewind} to reset the file pointer to the
 * beginning of the file if you have already written data to the file.
 *
 * If you just want to dump the contents of a file to the output buffer,
 * without first modifying it or seeking to a particular offset, you may
 * want to use the {@link readfile}, which saves you the {@link fopen}
 * call.
 *
 * @param resource $handle
 * @return int If an error occurs, {@link fpassthru} returns FALSE.
 *   Otherwise, {@link fpassthru} returns the number of characters read
 *   from {@link handle} and passed through to the output.
 * @since PHP 4, PHP 5, PHP 7
 **/
function fpassthru($handle){}

/**
 * Write a formatted string to a stream
 *
 * Write a string produced according to {@link format} to the stream
 * resource specified by {@link handle}.
 *
 * @param resource $handle
 * @param string $format See {@link sprintf} for a description of
 *   {@link format}.
 * @param mixed $args
 * @return int Returns the length of the string written.
 * @since PHP 5, PHP 7
 **/
function fprintf($handle, $format, $args){}

/**
 * Format line as CSV and write to file pointer
 *
 * {@link fputcsv} formats a line (passed as a {@link fields} array) as
 * CSV and write it (terminated by a newline) to the specified file
 * {@link handle}.
 *
 * @param resource $handle
 * @param array $fields An array of strings.
 * @param string $delimiter The optional {@link delimiter} parameter
 *   sets the field delimiter (one character only).
 * @param string $enclosure The optional {@link enclosure} parameter
 *   sets the field enclosure (one character only).
 * @param string $escape_char The optional {@link escape_char}
 *   parameter sets the escape character (one character only).
 * @return int Returns the length of the written string .
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function fputcsv($handle, $fields, $delimiter, $enclosure, $escape_char){}

/**
 * Binary-safe file write
 *
 * @param resource $handle
 * @param string $string The string that is to be written.
 * @param int $length If the {@link length} argument is given, writing
 *   will stop after {@link length} bytes have been written or the end of
 *   {@link string} is reached, whichever comes first. Note that if the
 *   {@link length} argument is given, then the magic_quotes_runtime
 *   configuration option will be ignored and no slashes will be stripped
 *   from {@link string}.
 * @return int
 * @since PHP 4, PHP 5, PHP 7
 **/
function fputs($handle, $string, $length){}

/**
 * Binary-safe file read
 *
 * {@link fread} reads up to {@link length} bytes from the file pointer
 * referenced by {@link handle}. Reading stops as soon as one of the
 * following conditions is met: {@link length} bytes have been read EOF
 * (end of file) is reached a packet becomes available or the socket
 * timeout occurs (for network streams) if the stream is read buffered
 * and it does not represent a plain file, at most one read of up to a
 * number of bytes equal to the chunk size (usually 8192) is made;
 * depending on the previously buffered data, the size of the returned
 * data may be larger than the chunk size.
 *
 * @param resource $handle
 * @param int $length Up to {@link length} number of bytes read.
 * @return string Returns the read string .
 * @since PHP 4, PHP 5, PHP 7
 **/
function fread($handle, $length){}

/**
 * Converts a date from the French Republican Calendar to a Julian Day
 * Count
 *
 * Converts a date from the French Republican Calendar to a Julian Day
 * Count.
 *
 * These routines only convert dates in years 1 through 14 (Gregorian
 * dates 22 September 1792 through 22 September 1806). This more than
 * covers the period when the calendar was in use.
 *
 * @param int $month The month as a number from 1 (for Vendémiaire) to
 *   13 (for the period of 5-6 days at the end of each year)
 * @param int $day The day as a number from 1 to 30
 * @param int $year The year as a number between 1 and 14
 * @return int The julian day for the given french revolution date as
 *   an integer.
 * @since PHP 4, PHP 5, PHP 7
 **/
function frenchtojd($month, $day, $year){}

/**
 * Convert a logical string to a visual one
 *
 * Converts a logical string to a visual one.
 *
 * @param string $str The logical string.
 * @param string $direction One of FRIBIDI_RTL, FRIBIDI_LTR or
 *   FRIBIDI_AUTO.
 * @param int $charset One of the FRIBIDI_CHARSET_XXX constants.
 * @return string Returns the visual string on success.
 * @since PHP 4 >= 4.0.4 and PHP 4 = 1.0
 **/
function fribidi_log2vis($str, $direction, $charset){}

/**
 * Parses input from a file according to a format
 *
 * The function {@link fscanf} is similar to {@link sscanf}, but it takes
 * its input from a file associated with {@link handle} and interprets
 * the input according to the specified {@link format}, which is
 * described in the documentation for {@link sprintf}.
 *
 * Any whitespace in the format string matches any whitespace in the
 * input stream. This means that even a tab \t in the format string can
 * match a single space character in the input stream.
 *
 * Each call to {@link fscanf} reads one line from the file.
 *
 * @param resource $handle
 * @param string $format The specified format as described in the
 *   {@link sprintf} documentation.
 * @return mixed If only two parameters were passed to this function,
 *   the values parsed will be returned as an array. Otherwise, if
 *   optional parameters are passed, the function will return the number
 *   of assigned values. The optional parameters must be passed by
 *   reference.
 * @since PHP 4 >= 4.0.1, PHP 5, PHP 7
 **/
function fscanf($handle, $format){}

/**
 * Seeks on a file pointer
 *
 * Sets the file position indicator for the file referenced by {@link
 * handle}. The new position, measured in bytes from the beginning of the
 * file, is obtained by adding {@link offset} to the position specified
 * by {@link whence}.
 *
 * In general, it is allowed to seek past the end-of-file; if data is
 * then written, reads in any unwritten region between the end-of-file
 * and the sought position will yield bytes with value 0. However,
 * certain streams may not support this behavior, especially when they
 * have an underlying fixed size storage.
 *
 * @param resource $handle
 * @param int $offset The offset. To move to a position before the
 *   end-of-file, you need to pass a negative value in {@link offset} and
 *   set {@link whence} to SEEK_END.
 * @param int $whence {@link whence} values are: SEEK_SET - Set
 *   position equal to {@link offset} bytes. SEEK_CUR - Set position to
 *   current location plus {@link offset}. SEEK_END - Set position to
 *   end-of-file plus {@link offset}.
 * @return int Upon success, returns 0; otherwise, returns -1.
 * @since PHP 4, PHP 5, PHP 7
 **/
function fseek($handle, $offset, $whence){}

/**
 * Open Internet or Unix domain socket connection
 *
 * Initiates a socket connection to the resource specified by {@link
 * hostname}.
 *
 * PHP supports targets in the Internet and Unix domains as described in
 * . A list of supported transports can also be retrieved using {@link
 * stream_get_transports}.
 *
 * The socket will by default be opened in blocking mode. You can switch
 * it to non-blocking mode by using {@link stream_set_blocking}.
 *
 * The function {@link stream_socket_client} is similar but provides a
 * richer set of options, including non-blocking connection and the
 * ability to provide a stream context.
 *
 * @param string $hostname If OpenSSL support is installed, you may
 *   prefix the {@link hostname} with either ssl:// or tls:// to use an
 *   SSL or TLS client connection over TCP/IP to connect to the remote
 *   host.
 * @param int $port The port number. This can be omitted and skipped
 *   with -1 for transports that do not use ports, such as unix://.
 * @param int $errno If provided, holds the system level error number
 *   that occurred in the system-level connect() call. If the value
 *   returned in {@link errno} is 0 and the function returned FALSE, it
 *   is an indication that the error occurred before the connect() call.
 *   This is most likely due to a problem initializing the socket.
 * @param string $errstr The error message as a string.
 * @param float $timeout The connection timeout, in seconds.
 * @return resource {@link fsockopen} returns a file pointer which may
 *   be used together with the other file functions (such as {@link
 *   fgets}, {@link fgetss}, {@link fwrite}, {@link fclose}, and {@link
 *   feof}). If the call fails, it will return FALSE
 * @since PHP 4, PHP 5, PHP 7
 **/
function fsockopen($hostname, $port, &$errno, &$errstr, $timeout){}

/**
 * Gets information about a file using an open file pointer
 *
 * Gathers the statistics of the file opened by the file pointer {@link
 * handle}. This function is similar to the {@link stat} function except
 * that it operates on an open file pointer instead of a filename.
 *
 * @param resource $handle
 * @return array Returns an array with the statistics of the file; the
 *   format of the array is described in detail on the {@link stat}
 *   manual page.
 * @since PHP 4, PHP 5, PHP 7
 **/
function fstat($handle){}

/**
 * Returns the current position of the file read/write pointer
 *
 * Returns the position of the file pointer referenced by {@link handle}.
 *
 * @param resource $handle The file pointer must be valid, and must
 *   point to a file successfully opened by {@link fopen} or {@link
 *   popen}. {@link ftell} gives undefined results for append-only
 *   streams (opened with "a" flag).
 * @return int Returns the position of the file pointer referenced by
 *   {@link handle} as an integer; i.e., its offset into the file stream.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ftell($handle){}

/**
 * Convert a pathname and a project identifier to a System V IPC key
 *
 * The function converts the {@link pathname} of an existing accessible
 * file and a project identifier into an integer for use with for example
 * {@link shmop_open} and other System V IPC keys.
 *
 * @param string $pathname Path to an accessible file.
 * @param string $proj Project identifier. This must be a one character
 *   string.
 * @return int On success the return value will be the created key
 *   value, otherwise -1 is returned.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function ftok($pathname, $proj){}

/**
 * Allocates space for a file to be uploaded
 *
 * Sends an ALLO command to the remote FTP server to allocate space for a
 * file to be uploaded.
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @param int $filesize The number of bytes to allocate.
 * @param string $result A textual representation of the servers
 *   response will be returned by reference in {@link result} if a
 *   variable is provided.
 * @return bool
 * @since PHP 5, PHP 7
 **/
function ftp_alloc($ftp_stream, $filesize, &$result){}

/**
 * Append content of a file a another file on the FTP server
 *
 * @param resource $ftp
 * @param string $remote_file
 * @param string $local_file
 * @param int $mode
 * @return bool
 * @since PHP 7 >= 7.2.0
 **/
function ftp_append($ftp, $remote_file, $local_file, $mode){}

/**
 * Changes to the parent directory
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function ftp_cdup($ftp_stream){}

/**
 * Changes the current directory on a FTP server
 *
 * Changes the current directory to the specified one.
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @param string $directory The target directory.
 * @return bool If changing directory fails, PHP will also throw a
 *   warning.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ftp_chdir($ftp_stream, $directory){}

/**
 * Set permissions on a file via FTP
 *
 * Sets the permissions on the specified remote file to {@link mode}.
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @param int $mode The new permissions, given as an octal value.
 * @param string $filename The remote file.
 * @return int Returns the new file permissions on success or FALSE on
 *   error.
 * @since PHP 5, PHP 7
 **/
function ftp_chmod($ftp_stream, $mode, $filename){}

/**
 * Closes an FTP connection
 *
 * {@link ftp_close} closes the given link identifier and releases the
 * resource.
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function ftp_close($ftp_stream){}

/**
 * Opens an FTP connection
 *
 * {@link ftp_connect} opens an FTP connection to the specified {@link
 * host}.
 *
 * @param string $host The FTP server address. This parameter shouldn't
 *   have any trailing slashes and shouldn't be prefixed with ftp://.
 * @param int $port This parameter specifies an alternate port to
 *   connect to. If it is omitted or set to zero, then the default FTP
 *   port, 21, will be used.
 * @param int $timeout This parameter specifies the timeout in seconds
 *   for all subsequent network operations. If omitted, the default value
 *   is 90 seconds. The timeout can be changed and queried at any time
 *   with {@link ftp_set_option} and {@link ftp_get_option}.
 * @return resource Returns a FTP stream on success or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ftp_connect($host, $port, $timeout){}

/**
 * Deletes a file on the FTP server
 *
 * {@link ftp_delete} deletes the file specified by {@link path} from the
 * FTP server.
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @param string $path The file to delete.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function ftp_delete($ftp_stream, $path){}

/**
 * Requests execution of a command on the FTP server
 *
 * Sends a SITE EXEC {@link command} request to the FTP server.
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @param string $command The command to execute.
 * @return bool Returns TRUE if the command was successful (server sent
 *   response code: 200); otherwise returns FALSE.
 * @since PHP 4 >= 4.0.3, PHP 5, PHP 7
 **/
function ftp_exec($ftp_stream, $command){}

/**
 * Downloads a file from the FTP server and saves to an open file
 *
 * {@link ftp_fget} retrieves {@link remote_file} from the FTP server,
 * and writes it to the given file pointer.
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @param resource $handle An open file pointer in which we store the
 *   data.
 * @param string $remote_file The remote file path.
 * @param int $mode The transfer mode. Must be either FTP_ASCII or
 *   FTP_BINARY.
 * @param int $resumepos The position in the remote file to start
 *   downloading from.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function ftp_fget($ftp_stream, $handle, $remote_file, $mode, $resumepos){}

/**
 * Uploads from an open file to the FTP server
 *
 * {@link ftp_fput} uploads the data from a file pointer to a remote file
 * on the FTP server.
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @param string $remote_file The remote file path.
 * @param resource $handle An open file pointer on the local file.
 *   Reading stops at end of file.
 * @param int $mode The transfer mode. Must be either FTP_ASCII or
 *   FTP_BINARY.
 * @param int $startpos The position in the remote file to start
 *   uploading to.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function ftp_fput($ftp_stream, $remote_file, $handle, $mode, $startpos){}

/**
 * Downloads a file from the FTP server
 *
 * {@link ftp_get} retrieves a remote file from the FTP server, and saves
 * it into a local file.
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @param string $local_file The local file path (will be overwritten
 *   if the file already exists).
 * @param string $remote_file The remote file path.
 * @param int $mode The transfer mode. Must be either FTP_ASCII or
 *   FTP_BINARY.
 * @param int $resumepos The position in the remote file to start
 *   downloading from.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function ftp_get($ftp_stream, $local_file, $remote_file, $mode, $resumepos){}

/**
 * Retrieves various runtime behaviours of the current FTP stream
 *
 * This function returns the value for the requested {@link option} from
 * the specified FTP connection.
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @param int $option Currently, the following options are supported:
 *   Supported runtime FTP options FTP_TIMEOUT_SEC Returns the current
 *   timeout used for network related operations. FTP_AUTOSEEK Returns
 *   TRUE if this option is on, FALSE otherwise.
 * @return mixed Returns the value on success or FALSE if the given
 *   {@link option} is not supported. In the latter case, a warning
 *   message is also thrown.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function ftp_get_option($ftp_stream, $option){}

/**
 * Logs in to an FTP connection
 *
 * Logs in to the given FTP stream.
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @param string $username The username (USER).
 * @param string $password The password (PASS).
 * @return bool If login fails, PHP will also throw a warning.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ftp_login($ftp_stream, $username, $password){}

/**
 * Returns the last modified time of the given file
 *
 * {@link ftp_mdtm} gets the last modified time for a remote file.
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @param string $remote_file The file from which to extract the last
 *   modification time.
 * @return int Returns the last modified time as a Unix timestamp on
 *   success, or -1 on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ftp_mdtm($ftp_stream, $remote_file){}

/**
 * Creates a directory
 *
 * Creates the specified {@link directory} on the FTP server.
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @param string $directory The name of the directory that will be
 *   created.
 * @return string Returns the newly created directory name on success
 *   or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ftp_mkdir($ftp_stream, $directory){}

/**
 * Returns a list of files in the given directory
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @param string $directory The directory to be listed.
 * @return array Returns an array of arrays with file infos from the
 *   specified directory on success or FALSE on error.
 * @since PHP 7 >= 7.2.0
 **/
function ftp_mlsd($ftp_stream, $directory){}

/**
 * Continues retrieving/sending a file (non-blocking)
 *
 * Continues retrieving/sending a file non-blocking.
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @return int Returns FTP_FAILED or FTP_FINISHED or FTP_MOREDATA.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function ftp_nb_continue($ftp_stream){}

/**
 * Retrieves a file from the FTP server and writes it to an open file
 * (non-blocking)
 *
 * {@link ftp_nb_fget} retrieves a remote file from the FTP server.
 *
 * The difference between this function and {@link ftp_fget} is that this
 * function retrieves the file asynchronously, so your program can
 * perform other operations while the file is being downloaded.
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @param resource $handle An open file pointer in which we store the
 *   data.
 * @param string $remote_file The remote file path.
 * @param int $mode The transfer mode. Must be either FTP_ASCII or
 *   FTP_BINARY.
 * @param int $resumepos The position in the remote file to start
 *   downloading from.
 * @return int Returns FTP_FAILED or FTP_FINISHED or FTP_MOREDATA.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function ftp_nb_fget($ftp_stream, $handle, $remote_file, $mode, $resumepos){}

/**
 * Stores a file from an open file to the FTP server (non-blocking)
 *
 * {@link ftp_nb_fput} uploads the data from a file pointer to a remote
 * file on the FTP server.
 *
 * The difference between this function and the {@link ftp_fput} is that
 * this function uploads the file asynchronously, so your program can
 * perform other operations while the file is being uploaded.
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @param string $remote_file The remote file path.
 * @param resource $handle An open file pointer on the local file.
 *   Reading stops at end of file.
 * @param int $mode The transfer mode. Must be either FTP_ASCII or
 *   FTP_BINARY.
 * @param int $startpos The position in the remote file to start
 *   uploading to.
 * @return int Returns FTP_FAILED or FTP_FINISHED or FTP_MOREDATA.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function ftp_nb_fput($ftp_stream, $remote_file, $handle, $mode, $startpos){}

/**
 * Retrieves a file from the FTP server and writes it to a local file
 * (non-blocking)
 *
 * {@link ftp_nb_get} retrieves a remote file from the FTP server, and
 * saves it into a local file.
 *
 * The difference between this function and {@link ftp_get} is that this
 * function retrieves the file asynchronously, so your program can
 * perform other operations while the file is being downloaded.
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @param string $local_file The local file path (will be overwritten
 *   if the file already exists).
 * @param string $remote_file The remote file path.
 * @param int $mode The transfer mode. Must be either FTP_ASCII or
 *   FTP_BINARY.
 * @param int $resumepos The position in the remote file to start
 *   downloading from.
 * @return int Returns FTP_FAILED or FTP_FINISHED or FTP_MOREDATA.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function ftp_nb_get($ftp_stream, $local_file, $remote_file, $mode, $resumepos){}

/**
 * Stores a file on the FTP server (non-blocking)
 *
 * {@link ftp_nb_put} stores a local file on the FTP server.
 *
 * The difference between this function and the {@link ftp_put} is that
 * this function uploads the file asynchronously, so your program can
 * perform other operations while the file is being uploaded.
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @param string $remote_file The remote file path.
 * @param string $local_file The local file path.
 * @param int $mode The transfer mode. Must be either FTP_ASCII or
 *   FTP_BINARY.
 * @param int $startpos The position in the remote file to start
 *   uploading to.
 * @return int Returns FTP_FAILED or FTP_FINISHED or FTP_MOREDATA.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function ftp_nb_put($ftp_stream, $remote_file, $local_file, $mode, $startpos){}

/**
 * Returns a list of files in the given directory
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @param string $directory The directory to be listed. This parameter
 *   can also include arguments, eg. ftp_nlist($conn_id, "-la
 *   /your/dir"); Note that this parameter isn't escaped so there may be
 *   some issues with filenames containing spaces and other characters.
 * @return array Returns an array of filenames from the specified
 *   directory on success or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ftp_nlist($ftp_stream, $directory){}

/**
 * Turns passive mode on or off
 *
 * {@link ftp_pasv} turns on or off passive mode. In passive mode, data
 * connections are initiated by the client, rather than by the server. It
 * may be needed if the client is behind firewall.
 *
 * Please note that {@link ftp_pasv} can only be called after a
 * successful login or otherwise it will fail.
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @param bool $pasv If TRUE, the passive mode is turned on, else it's
 *   turned off.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function ftp_pasv($ftp_stream, $pasv){}

/**
 * Uploads a file to the FTP server
 *
 * {@link ftp_put} stores a local file on the FTP server.
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @param string $remote_file The remote file path.
 * @param string $local_file The local file path.
 * @param int $mode The transfer mode. Must be either FTP_ASCII or
 *   FTP_BINARY.
 * @param int $startpos The position in the remote file to start
 *   uploading to.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function ftp_put($ftp_stream, $remote_file, $local_file, $mode, $startpos){}

/**
 * Returns the current directory name
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @return string Returns the current directory name or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ftp_pwd($ftp_stream){}

/**
 * Closes an FTP connection
 *
 * {@link ftp_quit} closes the given link identifier and releases the
 * resource.
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function ftp_quit($ftp_stream){}

/**
 * Sends an arbitrary command to an FTP server
 *
 * Sends an arbitrary {@link command} to the FTP server.
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @param string $command The command to execute.
 * @return array Returns the server's response as an array of strings.
 *   No parsing is performed on the response string, nor does {@link
 *   ftp_raw} determine if the command succeeded.
 * @since PHP 5, PHP 7
 **/
function ftp_raw($ftp_stream, $command){}

/**
 * Returns a detailed list of files in the given directory
 *
 * {@link ftp_rawlist} executes the FTP LIST command, and returns the
 * result as an array.
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @param string $directory The directory path. May include arguments
 *   for the LIST command.
 * @param bool $recursive If set to TRUE, the issued command will be
 *   LIST -R.
 * @return array Returns an array where each element corresponds to one
 *   line of text. Returns FALSE when passed {@link directory} is
 *   invalid.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ftp_rawlist($ftp_stream, $directory, $recursive){}

/**
 * Renames a file or a directory on the FTP server
 *
 * {@link ftp_rename} renames a file or a directory on the FTP server.
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @param string $oldname The old file/directory name.
 * @param string $newname The new name.
 * @return bool Upon failure (such as attempting to rename a
 *   non-existent file), an E_WARNING error will be emitted.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ftp_rename($ftp_stream, $oldname, $newname){}

/**
 * Removes a directory
 *
 * Removes the specified {@link directory} on the FTP server.
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @param string $directory The directory to delete. This must be
 *   either an absolute or relative path to an empty directory.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function ftp_rmdir($ftp_stream, $directory){}

/**
 * Set miscellaneous runtime FTP options
 *
 * This function controls various runtime options for the specified FTP
 * stream.
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @param int $option Currently, the following options are supported:
 *   Supported runtime FTP options FTP_TIMEOUT_SEC Changes the timeout in
 *   seconds used for all network related functions. {@link value} must
 *   be an integer that is greater than 0. The default timeout is 90
 *   seconds. FTP_AUTOSEEK When enabled, GET or PUT requests with a
 *   {@link resumepos} or {@link startpos} parameter will first seek to
 *   the requested position within the file. This is enabled by default.
 *   FTP_USEPASVADDRESS When disabled, PHP will ignore the IP address
 *   returned by the FTP server in response to the PASV command and
 *   instead use the IP address that was supplied in the ftp_connect().
 *   {@link value} must be a boolean.
 * @param mixed $value This parameter depends on which {@link option}
 *   is chosen to be altered.
 * @return bool Returns TRUE if the option could be set; FALSE if not.
 *   A warning message will be thrown if the {@link option} is not
 *   supported or the passed {@link value} doesn't match the expected
 *   value for the given {@link option}.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function ftp_set_option($ftp_stream, $option, $value){}

/**
 * Sends a SITE command to the server
 *
 * {@link ftp_site} sends the given SITE command to the FTP server.
 *
 * SITE commands are not standardized, and vary from server to server.
 * They are useful for handling such things as file permissions and group
 * membership.
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @param string $command The SITE command. Note that this parameter
 *   isn't escaped so there may be some issues with filenames containing
 *   spaces and other characters.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function ftp_site($ftp_stream, $command){}

/**
 * Returns the size of the given file
 *
 * {@link ftp_size} returns the size of the given file in bytes.
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @param string $remote_file The remote file.
 * @return int Returns the file size on success, or -1 on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ftp_size($ftp_stream, $remote_file){}

/**
 * Opens a Secure SSL-FTP connection
 *
 * {@link ftp_ssl_connect} opens an explicit SSL-FTP connection to the
 * specified {@link host}. That implies that {@link ftp_ssl_connect} will
 * succeed even if the server is not configured for SSL-FTP, or its
 * certificate is invalid. Only when {@link ftp_login} is called, the
 * client will send the appropriate AUTH FTP command, so {@link
 * ftp_login} will fail in the mentioned cases.
 *
 * @param string $host The FTP server address. This parameter shouldn't
 *   have any trailing slashes and shouldn't be prefixed with ftp://.
 * @param int $port This parameter specifies an alternate port to
 *   connect to. If it is omitted or set to zero, then the default FTP
 *   port, 21, will be used.
 * @param int $timeout This parameter specifies the timeout for all
 *   subsequent network operations. If omitted, the default value is 90
 *   seconds. The timeout can be changed and queried at any time with
 *   {@link ftp_set_option} and {@link ftp_get_option}.
 * @return resource Returns a SSL-FTP stream on success or FALSE on
 *   error.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function ftp_ssl_connect($host, $port, $timeout){}

/**
 * Returns the system type identifier of the remote FTP server
 *
 * @param resource $ftp_stream The link identifier of the FTP
 *   connection.
 * @return string Returns the remote system type, or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ftp_systype($ftp_stream){}

/**
 * Truncates a file to a given length
 *
 * Takes the filepointer, {@link handle}, and truncates the file to
 * length, {@link size}.
 *
 * @param resource $handle The file pointer.
 * @param int $size The size to truncate to.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function ftruncate($handle, $size){}

/**
 * Return TRUE if the given function has been defined
 *
 * Checks the list of defined functions, both built-in (internal) and
 * user-defined, for {@link function_name}.
 *
 * @param string $function_name The function name, as a string.
 * @return bool Returns TRUE if {@link function_name} exists and is a
 *   function, FALSE otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function function_exists($function_name){}

/**
 * Return an item from the argument list
 *
 * Gets the specified argument from a user-defined function's argument
 * list.
 *
 * This function may be used in conjunction with {@link func_get_args}
 * and {@link func_num_args} to allow user-defined functions to accept
 * variable-length argument lists.
 *
 * @param int $arg_num The argument offset. Function arguments are
 *   counted starting from zero.
 * @return mixed Returns the specified argument, or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function func_get_arg($arg_num){}

/**
 * Returns an array comprising a function's argument list
 *
 * Gets an array of the function's argument list.
 *
 * This function may be used in conjunction with {@link func_get_arg} and
 * {@link func_num_args} to allow user-defined functions to accept
 * variable-length argument lists.
 *
 * @return array Returns an array in which each element is a copy of
 *   the corresponding member of the current user-defined function's
 *   argument list.
 * @since PHP 4, PHP 5, PHP 7
 **/
function func_get_args(){}

/**
 * Returns the number of arguments passed to the function
 *
 * Gets the number of arguments passed to the function.
 *
 * This function may be used in conjunction with {@link func_get_arg} and
 * {@link func_get_args} to allow user-defined functions to accept
 * variable-length argument lists.
 *
 * @return int Returns the number of arguments passed into the current
 *   user-defined function.
 * @since PHP 4, PHP 5, PHP 7
 **/
function func_num_args(){}

/**
 * Binary-safe file write
 *
 * @param resource $handle
 * @param string $string The string that is to be written.
 * @param int $length If the {@link length} argument is given, writing
 *   will stop after {@link length} bytes have been written or the end of
 *   {@link string} is reached, whichever comes first. Note that if the
 *   {@link length} argument is given, then the magic_quotes_runtime
 *   configuration option will be ignored and no slashes will be stripped
 *   from {@link string}.
 * @return int
 * @since PHP 4, PHP 5, PHP 7
 **/
function fwrite($handle, $string, $length){}

/**
 * Forces collection of any existing garbage cycles
 *
 * @return int Returns number of collected cycles.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function gc_collect_cycles(){}

/**
 * Deactivates the circular reference collector
 *
 * Deactivates the circular reference collector, setting zend.enable_gc
 * to 0.
 *
 * @return void
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function gc_disable(){}

/**
 * Activates the circular reference collector
 *
 * Activates the circular reference collector, setting zend.enable_gc to
 * 1.
 *
 * @return void
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function gc_enable(){}

/**
 * Returns status of the circular reference collector
 *
 * @return bool Returns TRUE if the garbage collector is enabled, FALSE
 *   otherwise.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function gc_enabled(){}

/**
 * Reclaims memory used by the Zend Engine memory manager
 *
 * Reclaims memory used by the Zend Engine memory manager.
 *
 * @return int Returns the number of bytes freed.
 * @since PHP 7
 **/
function gc_mem_caches(){}

/**
 * Retrieve information about the currently installed GD library
 *
 * Gets information about the version and capabilities of the installed
 * GD library.
 *
 * @return array Returns an associative array.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function gd_info(){}

/**
 * Get the Autonomous System Numbers (ASN)
 *
 * The {@link geoip_asnum_by_name} function will return the Autonomous
 * System Numbers (ASN) associated with an IP address.
 *
 * @param string $hostname The hostname or IP address.
 * @return string Returns the ASN on success, or FALSE if the address
 *   cannot be found in the database.
 * @since PECL geoip >= 1.1.0
 **/
function geoip_asnum_by_name($hostname){}

/**
 * Get the two letter continent code
 *
 * The {@link geoip_continent_code_by_name} function will return the two
 * letter continent code corresponding to a hostname or an IP address.
 *
 * @param string $hostname The hostname or IP address whose location is
 *   to be looked-up.
 * @return string Returns the two letter continent code on success, or
 *   FALSE if the address cannot be found in the database.
 * @since PECL geoip >= 1.0.3
 **/
function geoip_continent_code_by_name($hostname){}

/**
 * Get the three letter country code
 *
 * The {@link geoip_country_code3_by_name} function will return the three
 * letter country code corresponding to a hostname or an IP address.
 *
 * @param string $hostname The hostname or IP address whose location is
 *   to be looked-up.
 * @return string Returns the three letter country code on success, or
 *   FALSE if the address cannot be found in the database.
 * @since PECL geoip >= 0.2.0
 **/
function geoip_country_code3_by_name($hostname){}

/**
 * Get the two letter country code
 *
 * The {@link geoip_country_code_by_name} function will return the two
 * letter country code corresponding to a hostname or an IP address.
 *
 * @param string $hostname The hostname or IP address whose location is
 *   to be looked-up.
 * @return string Returns the two letter ISO country code on success,
 *   or FALSE if the address cannot be found in the database.
 * @since PECL geoip >= 0.2.0
 **/
function geoip_country_code_by_name($hostname){}

/**
 * Get the full country name
 *
 * The {@link geoip_country_name_by_name} function will return the full
 * country name corresponding to a hostname or an IP address.
 *
 * @param string $hostname The hostname or IP address whose location is
 *   to be looked-up.
 * @return string Returns the country name on success, or FALSE if the
 *   address cannot be found in the database.
 * @since PECL geoip >= 0.2.0
 **/
function geoip_country_name_by_name($hostname){}

/**
 * Get GeoIP Database information
 *
 * The {@link geoip_database_info} function returns the corresponding
 * GeoIP Database version as it is defined inside the binary file.
 *
 * If this function is called without arguments, it returns the version
 * of the GeoIP Free Country Edition.
 *
 * @param int $database The database type as an integer. You can use
 *   the various constants defined with this extension (ie:
 *   GEOIP_*_EDITION).
 * @return string Returns the corresponding database version, or NULL
 *   on error.
 * @since PECL geoip >= 0.2.0
 **/
function geoip_database_info($database){}

/**
 * Determine if GeoIP Database is available
 *
 * The {@link geoip_db_avail} function returns if the corresponding GeoIP
 * Database is available and can be opened on disk.
 *
 * It does not indicate if the file is a proper database, only if it is
 * readable.
 *
 * @param int $database The database type as an integer. You can use
 *   the various constants defined with this extension (ie:
 *   GEOIP_*_EDITION).
 * @return bool Returns TRUE is database exists, FALSE if not found, or
 *   NULL on error.
 * @since PECL geoip >= 1.0.1
 **/
function geoip_db_avail($database){}

/**
 * Returns the filename of the corresponding GeoIP Database
 *
 * The {@link geoip_db_filename} function returns the filename of the
 * corresponding GeoIP Database.
 *
 * It does not indicate if the file exists or not on disk, only where the
 * library is looking for the database.
 *
 * @param int $database The database type as an integer. You can use
 *   the various constants defined with this extension (ie:
 *   GEOIP_*_EDITION).
 * @return string Returns the filename of the corresponding database,
 *   or NULL on error.
 * @since PECL geoip >= 1.0.1
 **/
function geoip_db_filename($database){}

/**
 * Returns detailed information about all GeoIP database types
 *
 * The {@link geoip_db_get_all_info} function will return detailed
 * information as a multi-dimensional array about all the GeoIP database
 * types.
 *
 * This function is available even if no databases are installed. It will
 * simply list them as non-available.
 *
 * The names of the different keys of the returning associative array are
 * as follows:
 *
 * "available" -- Boolean, indicate if DB is available (see {@link
 * geoip_db_avail}) "description" -- The database description "filename"
 * -- The database filename on disk (see {@link geoip_db_filename})
 *
 * @return array Returns the associative array.
 * @since PECL geoip >= 1.0.1
 **/
function geoip_db_get_all_info(){}

/**
 * Get the second level domain name
 *
 * The {@link geoip_domain_by_name} function will return the second level
 * domain names associated with a hostname or an IP address.
 *
 * This function is currently only available to users who have bought a
 * commercial GeoIP Domain Edition. A warning will be issued if the
 * proper database cannot be located.
 *
 * @param string $hostname The hostname or IP address.
 * @return string Returns the domain name on success, or FALSE if the
 *   address cannot be found in the database.
 * @since PECL geoip >= 1.1.0
 **/
function geoip_domain_by_name($hostname){}

/**
 * Get the Internet connection type
 *
 * The {@link geoip_id_by_name} function will return the Internet
 * connection type corresponding to a hostname or an IP address.
 *
 * The return value is numeric and can be compared to the following
 * constants:
 *
 * GEOIP_UNKNOWN_SPEED GEOIP_DIALUP_SPEED GEOIP_CABLEDSL_SPEED
 * GEOIP_CORPORATE_SPEED
 *
 * @param string $hostname The hostname or IP address whose connection
 *   type is to be looked-up.
 * @return int Returns the connection type.
 * @since PECL geoip >= 0.2.0
 **/
function geoip_id_by_name($hostname){}

/**
 * Get the Internet Service Provider (ISP) name
 *
 * The {@link geoip_isp_by_name} function will return the name of the
 * Internet Service Provider (ISP) that an IP is assigned to.
 *
 * This function is currently only available to users who have bought a
 * commercial GeoIP ISP Edition. A warning will be issued if the proper
 * database cannot be located.
 *
 * @param string $hostname The hostname or IP address.
 * @return string Returns the ISP name on success, or FALSE if the
 *   address cannot be found in the database.
 * @since PECL geoip >= 1.0.2
 **/
function geoip_isp_by_name($hostname){}

/**
 * Get the Internet connection speed
 *
 * The {@link geoip_netspeedcell_by_name} function will return the
 * Internet connection type and speed corresponding to a hostname or an
 * IP address.
 *
 * This function is only available if using GeoIP Library version 1.4.8
 * or newer.
 *
 * This function is currently only available to users who have bought a
 * commercial GeoIP NetSpeedCell Edition. A warning will be issued if the
 * proper database cannot be located.
 *
 * The return value is a string, common values are:
 *
 * Cable/DSL Dialup Cellular Corporate
 *
 * @param string $hostname The hostname or IP address.
 * @return string Returns the connection speed on success, or FALSE if
 *   the address cannot be found in the database.
 * @since PECL geoip >= 1.1.0
 **/
function geoip_netspeedcell_by_name($hostname){}

/**
 * Get the organization name
 *
 * The {@link geoip_org_by_name} function will return the name of the
 * organization that an IP is assigned to.
 *
 * This function is currently only available to users who have bought a
 * commercial GeoIP Organization, ISP or AS Edition. A warning will be
 * issued if the proper database cannot be located.
 *
 * @param string $hostname The hostname or IP address.
 * @return string Returns the organization name on success, or FALSE if
 *   the address cannot be found in the database.
 * @since PECL geoip >= 0.2.0
 **/
function geoip_org_by_name($hostname){}

/**
 * Returns the detailed City information found in the GeoIP Database
 *
 * The {@link geoip_record_by_name} function will return the record
 * information corresponding to a hostname or an IP address.
 *
 * This function is available for both GeoLite City Edition and
 * commercial GeoIP City Edition. A warning will be issued if the proper
 * database cannot be located.
 *
 * The names of the different keys of the returning associative array are
 * as follows:
 *
 * "continent_code" -- Two letter continent code (as of version 1.0.4
 * with libgeoip 1.4.3 or newer) "country_code" -- Two letter country
 * code (see {@link geoip_country_code_by_name}) "country_code3" -- Three
 * letter country code (see {@link geoip_country_code3_by_name})
 * "country_name" -- The country name (see {@link
 * geoip_country_name_by_name}) "region" -- The region code (ex: CA for
 * California) "city" -- The city. "postal_code" -- The Postal Code, FSA
 * or Zip Code. "latitude" -- The Latitude as signed double. "longitude"
 * -- The Longitude as signed double. "dma_code" -- Designated Market
 * Area code (USA and Canada only) "area_code" -- The PSTN area code (ex:
 * 212)
 *
 * @param string $hostname The hostname or IP address whose record is
 *   to be looked-up.
 * @return array Returns the associative array on success, or FALSE if
 *   the address cannot be found in the database.
 * @since PECL geoip >= 0.2.0
 **/
function geoip_record_by_name($hostname){}

/**
 * Get the country code and region
 *
 * The {@link geoip_region_by_name} function will return the country and
 * region corresponding to a hostname or an IP address.
 *
 * This function is currently only available to users who have bought a
 * commercial GeoIP Region Edition. A warning will be issued if the
 * proper database cannot be located.
 *
 * The names of the different keys of the returning associative array are
 * as follows:
 *
 * "country_code" -- Two letter country code (see {@link
 * geoip_country_code_by_name}) "region" -- The region code (ex: CA for
 * California)
 *
 * @param string $hostname The hostname or IP address whose region is
 *   to be looked-up.
 * @return array Returns the associative array on success, or FALSE if
 *   the address cannot be found in the database.
 * @since PECL geoip >= 0.2.0
 **/
function geoip_region_by_name($hostname){}

/**
 * Returns the region name for some country and region code combo
 *
 * The {@link geoip_region_name_by_code} function will return the region
 * name corresponding to a country and region code combo.
 *
 * In the United States, the region code corresponds to the two-letter
 * abbreviation of each state. In Canada, the region code corresponds to
 * the two-letter province or territory code as attributed by Canada
 * Post.
 *
 * For the rest of the world, GeoIP uses FIPS 10-4 codes to represent
 * regions. You can check for a detailed list of FIPS 10-4 codes.
 *
 * This function is always available if using GeoIP Library version 1.4.1
 * or newer. The data is taken directly from the GeoIP Library and not
 * from any database.
 *
 * @param string $country_code The two-letter country code (see {@link
 *   geoip_country_code_by_name})
 * @param string $region_code The two-letter (or digit) region code
 *   (see {@link geoip_region_by_name})
 * @return string Returns the region name on success, or FALSE if the
 *   country and region code combo cannot be found.
 * @since PECL geoip >= 1.0.4
 **/
function geoip_region_name_by_code($country_code, $region_code){}

/**
 * Set a custom directory for the GeoIP database
 *
 * The {@link geoip_setup_custom_directory} function will change the
 * default directory of the GeoIP database. This is equivalent to
 * changing geoip.custom_directory.
 *
 * @param string $path The full path of where the GeoIP database is on
 *   disk.
 * @return void
 * @since PECL geoip >= 1.1.0
 **/
function geoip_setup_custom_directory($path){}

/**
 * Returns the time zone for some country and region code combo
 *
 * The {@link geoip_time_zone_by_country_and_region} function will return
 * the time zone corresponding to a country and region code combo.
 *
 * In the United States, the region code corresponds to the two-letter
 * abbreviation of each state. In Canada, the region code corresponds to
 * the two-letter province or territory code as attributed by Canada
 * Post.
 *
 * For the rest of the world, GeoIP uses FIPS 10-4 codes to represent
 * regions. You can check for a detailed list of FIPS 10-4 codes.
 *
 * This function is always available if using GeoIP Library version 1.4.1
 * or newer. The data is taken directly from the GeoIP Library and not
 * from any database.
 *
 * @param string $country_code The two-letter country code (see {@link
 *   geoip_country_code_by_name})
 * @param string $region_code The two-letter (or digit) region code
 *   (see {@link geoip_region_by_name})
 * @return string Returns the time zone on success, or FALSE if the
 *   country and region code combo cannot be found.
 * @since PECL geoip >= 1.0.4
 **/
function geoip_time_zone_by_country_and_region($country_code, $region_code){}

/**
 * Fetch all HTTP request headers
 *
 * Fetches all HTTP headers from the current request.
 *
 * This function is an alias for {@link apache_request_headers}. Please
 * read the {@link apache_request_headers} documentation for more
 * information on how this function works.
 *
 * @return array An associative array of all the HTTP headers in the
 *   current request, or FALSE on failure.
 * @since PHP 4, PHP 5, PHP 7
 **/
function getallheaders(){}

/**
 * Gets the current working directory
 *
 * @return string Returns the current working directory on success, or
 *   FALSE on failure.
 * @since PHP 4, PHP 5, PHP 7
 **/
function getcwd(){}

/**
 * Get date/time information
 *
 * Returns an associative array containing the date information of the
 * {@link timestamp}, or the current local time if no {@link timestamp}
 * is given.
 *
 * @param int $timestamp
 * @return array Returns an associative array of information related to
 *   the {@link timestamp}. Elements from the returned associative array
 *   are as follows:
 * @since PHP 4, PHP 5, PHP 7
 **/
function getdate($timestamp){}

/**
 * Gets the value of an environment variable
 *
 * You can see a list of all the environmental variables by using {@link
 * phpinfo}. Many of these variables are listed within RFC 3875,
 * specifically section 4.1, "Request Meta-Variables".
 *
 * @param string $varname The variable name.
 * @param bool $local_only Set to true to only return local environment
 *   variables (set by the operating system or putenv).
 * @return string Returns the value of the environment variable {@link
 *   varname}, or FALSE if the environment variable {@link varname} does
 *   not exist. If {@link varname} is omitted, all environment variables
 *   are returned as associative array.
 * @since PHP 4, PHP 5, PHP 7
 **/
function getenv($varname, $local_only){}

/**
 * Get the Internet host name corresponding to a given IP address
 *
 * Returns the host name of the Internet host specified by {@link
 * ip_address}.
 *
 * @param string $ip_address The host IP address.
 * @return string Returns the host name on success, the unmodified
 *   {@link ip_address} on failure, or FALSE on malformed input.
 * @since PHP 4, PHP 5, PHP 7
 **/
function gethostbyaddr($ip_address){}

/**
 * Get the IPv4 address corresponding to a given Internet host name
 *
 * Returns the IPv4 address of the Internet host specified by {@link
 * hostname}.
 *
 * @param string $hostname The host name.
 * @return string Returns the IPv4 address or a string containing the
 *   unmodified {@link hostname} on failure.
 * @since PHP 4, PHP 5, PHP 7
 **/
function gethostbyname($hostname){}

/**
 * Get a list of IPv4 addresses corresponding to a given Internet host
 * name
 *
 * Returns a list of IPv4 addresses to which the Internet host specified
 * by {@link hostname} resolves.
 *
 * @param string $hostname The host name.
 * @return array Returns an array of IPv4 addresses or FALSE if {@link
 *   hostname} could not be resolved.
 * @since PHP 4, PHP 5, PHP 7
 **/
function gethostbynamel($hostname){}

/**
 * Gets the host name
 *
 * {@link gethostname} gets the standard host name for the local machine.
 *
 * @return string Returns a string with the hostname on success,
 *   otherwise FALSE is returned.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function gethostname(){}

/**
 * Get the size of an image
 *
 * The {@link getimagesize} function will determine the size of any
 * supported given image file and return the dimensions along with the
 * file type and a height/width text string to be used inside a normal
 * HTML IMG tag and the correspondent HTTP content type.
 *
 * {@link getimagesize} can also return some more information in {@link
 * imageinfo} parameter.
 *
 * @param string $filename This parameter specifies the file you wish
 *   to retrieve information about. It can reference a local file or
 *   (configuration permitting) a remote file using one of the supported
 *   streams.
 * @param array $imageinfo This optional parameter allows you to
 *   extract some extended information from the image file. Currently,
 *   this will return the different JPG APP markers as an associative
 *   array. Some programs use these APP markers to embed text information
 *   in images. A very common one is to embed IPTC information in the
 *   APP13 marker. You can use the {@link iptcparse} function to parse
 *   the binary APP13 marker into something readable.
 * @return array Returns an array with up to 7 elements. Not all image
 *   types will include the channels and bits elements.
 * @since PHP 4, PHP 5, PHP 7
 **/
function getimagesize($filename, &$imageinfo){}

/**
 * Get the size of an image from a string
 *
 * Identical to {@link getimagesize} except that {@link
 * getimagesizefromstring} accepts a string instead of a file name as the
 * first parameter.
 *
 * See the {@link getimagesize} documentation for details on how this
 * function works.
 *
 * @param string $imagedata The image data, as a string.
 * @param array $imageinfo See {@link getimagesize}.
 * @return array See {@link getimagesize}.
 * @since PHP 5 >= 5.4.0, PHP 7
 **/
function getimagesizefromstring($imagedata, &$imageinfo){}

/**
 * Gets time of last page modification
 *
 * Gets the time of the last modification of the main script of
 * execution.
 *
 * If you're interested in getting the last modification time of a
 * different file, consider using {@link filemtime}.
 *
 * @return int Returns the time of the last modification of the current
 *   page. The value returned is a Unix timestamp, suitable for feeding
 *   to {@link date}. Returns FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function getlastmod(){}

/**
 * Get MX records corresponding to a given Internet host name
 *
 * Searches DNS for MX records corresponding to {@link hostname}.
 *
 * @param string $hostname The Internet host name.
 * @param array $mxhosts A list of the MX records found is placed into
 *   the array {@link mxhosts}.
 * @param array $weight If the {@link weight} array is given, it will
 *   be filled with the weight information gathered.
 * @return bool Returns TRUE if any records are found; returns FALSE if
 *   no records were found or if an error occurred.
 * @since PHP 4, PHP 5, PHP 7
 **/
function getmxrr($hostname, &$mxhosts, &$weight){}

/**
 * Get PHP script owner's GID
 *
 * @return int Returns the group ID of the current script, or FALSE on
 *   error.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function getmygid(){}

/**
 * Gets the inode of the current script
 *
 * @return int Returns the current script's inode as an integer, or
 *   FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function getmyinode(){}

/**
 * Gets PHP's process ID
 *
 * Gets the current PHP process ID.
 *
 * @return int Returns the current PHP process ID, or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function getmypid(){}

/**
 * Gets PHP script owner's UID
 *
 * @return int Returns the user ID of the current script, or FALSE on
 *   error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function getmyuid(){}

/**
 * Gets options from the command line argument list
 *
 * Parses options passed to the script.
 *
 * @param string $options
 * @param array $longopts
 * @param int $optind
 * @return array This function will return an array of option /
 *   argument pairs, .
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function getopt($options, $longopts, &$optind){}

/**
 * Get protocol number associated with protocol name
 *
 * {@link getprotobyname} returns the protocol number associated with the
 * protocol {@link name} as per /etc/protocols.
 *
 * @param string $name The protocol name.
 * @return int Returns the protocol number, .
 * @since PHP 4, PHP 5, PHP 7
 **/
function getprotobyname($name){}

/**
 * Get protocol name associated with protocol number
 *
 * {@link getprotobynumber} returns the protocol name associated with
 * protocol {@link number} as per /etc/protocols.
 *
 * @param int $number The protocol number.
 * @return string Returns the protocol name as a string, .
 * @since PHP 4, PHP 5, PHP 7
 **/
function getprotobynumber($number){}

/**
 * Show largest possible random value
 *
 * @return int The largest possible random value returned by {@link
 *   rand}
 * @since PHP 4, PHP 5, PHP 7
 **/
function getrandmax(){}

/**
 * Gets the current resource usages
 *
 * This is an interface to getrusage(2). It gets data returned from the
 * system call.
 *
 * @param int $who If {@link who} is 1, getrusage will be called with
 *   RUSAGE_CHILDREN.
 * @return array Returns an associative array containing the data
 *   returned from the system call. All entries are accessible by using
 *   their documented field names.
 * @since PHP 4, PHP 5, PHP 7
 **/
function getrusage($who){}

/**
 * Get port number associated with an Internet service and protocol
 *
 * {@link getservbyname} returns the Internet port which corresponds to
 * {@link service} for the specified {@link protocol} as per
 * /etc/services.
 *
 * @param string $service The Internet service name, as a string.
 * @param string $protocol {@link protocol} is either "tcp" or "udp"
 *   (in lowercase).
 * @return int Returns the port number, or FALSE if {@link service} or
 *   {@link protocol} is not found.
 * @since PHP 4, PHP 5, PHP 7
 **/
function getservbyname($service, $protocol){}

/**
 * Get Internet service which corresponds to port and protocol
 *
 * {@link getservbyport} returns the Internet service associated with
 * {@link port} for the specified {@link protocol} as per /etc/services.
 *
 * @param int $port The port number.
 * @param string $protocol {@link protocol} is either "tcp" or "udp"
 *   (in lowercase).
 * @return string Returns the Internet service name as a string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function getservbyport($port, $protocol){}

/**
 * Lookup a message in the current domain
 *
 * Looks up a message in the current domain.
 *
 * @param string $message The message being translated.
 * @return string Returns a translated string if one is found in the
 *   translation table, or the submitted message if not found.
 * @since PHP 4, PHP 5, PHP 7
 **/
function gettext($message){}

/**
 * Get current time
 *
 * This is an interface to gettimeofday(2). It returns an associative
 * array containing the data returned from the system call.
 *
 * @param bool $return_float When set to TRUE, a float instead of an
 *   array is returned.
 * @return mixed By default an array is returned. If {@link
 *   return_float} is set, then a float is returned.
 * @since PHP 4, PHP 5, PHP 7
 **/
function gettimeofday($return_float){}

/**
 * Get the type of a variable
 *
 * Returns the type of the PHP variable {@link var}. For type checking,
 * use is_* functions.
 *
 * @param mixed $var The variable being type checked.
 * @return string Possible values for the returned string are:
 *   "boolean" "integer" "double" (for historical reasons "double" is
 *   returned in case of a float, and not simply "float") "string"
 *   "array" "object" "resource" "resource (closed)" as of PHP 7.2.0
 *   "NULL" "unknown type"
 * @since PHP 4, PHP 5, PHP 7
 **/
function gettype($var){}

/**
 * Tells what the user's browser is capable of
 *
 * Attempts to determine the capabilities of the user's browser, by
 * looking up the browser's information in the browscap.ini file.
 *
 * @param string $user_agent The User Agent to be analyzed. By default,
 *   the value of HTTP User-Agent header is used; however, you can alter
 *   this (i.e., look up another browser's info) by passing this
 *   parameter. You can bypass this parameter with a NULL value.
 * @param bool $return_array If set to TRUE, this function will return
 *   an array instead of an object.
 * @return mixed The information is returned in an object or an array
 *   which will contain various data elements representing, for instance,
 *   the browser's major and minor version numbers and ID string;
 *   TRUE/FALSE values for features such as frames, JavaScript, and
 *   cookies; and so forth.
 * @since PHP 4, PHP 5, PHP 7
 **/
function get_browser($user_agent, $return_array){}

/**
 * The "Late Static Binding" class name
 *
 * Gets the name of the class the static method is called in.
 *
 * @return string Returns the class name. Returns FALSE if called from
 *   outside a class.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function get_called_class(){}

/**
 * Gets the value of a PHP configuration option
 *
 * Gets the value of a PHP configuration {@link option}.
 *
 * This function will not return configuration information set when the
 * PHP was compiled, or read from an Apache configuration file.
 *
 * To check whether the system is using a configuration file, try
 * retrieving the value of the cfg_file_path configuration setting. If
 * this is available, a configuration file is being used.
 *
 * @param string $option The configuration option name.
 * @return mixed Returns the current value of the PHP configuration
 *   variable specified by {@link option}, or FALSE if an error occurs.
 * @since PHP 4, PHP 5, PHP 7
 **/
function get_cfg_var($option){}

/**
 * Returns the name of the class of an object
 *
 * Gets the name of the class of the given {@link object}.
 *
 * @param object $object The tested object. This parameter may be
 *   omitted when inside a class.
 * @return string Returns the name of the class of which {@link object}
 *   is an instance. Returns FALSE if {@link object} is not an object.
 * @since PHP 4, PHP 5, PHP 7
 **/
function get_class($object){}

/**
 * Gets the class methods' names
 *
 * Gets the class methods names.
 *
 * @param mixed $class_name The class name or an object instance
 * @return array Returns an array of method names defined for the class
 *   specified by {@link class_name}. In case of an error, it returns
 *   NULL.
 * @since PHP 4, PHP 5, PHP 7
 **/
function get_class_methods($class_name){}

/**
 * Get the default properties of the class
 *
 * Get the default properties of the given class.
 *
 * @param string $class_name The class name
 * @return array Returns an associative array of declared properties
 *   visible from the current scope, with their default value. The
 *   resulting array elements are in the form of varname => value. In
 *   case of an error, it returns FALSE.
 * @since PHP 4, PHP 5, PHP 7
 **/
function get_class_vars($class_name){}

/**
 * Gets the name of the owner of the current PHP script
 *
 * @return string Returns the username as a string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function get_current_user(){}

/**
 * Returns an array with the name of the defined classes
 *
 * Gets the declared classes.
 *
 * @return array Returns an array of the names of the declared classes
 *   in the current script.
 * @since PHP 4, PHP 5, PHP 7
 **/
function get_declared_classes(){}

/**
 * Returns an array of all declared interfaces
 *
 * Gets the declared interfaces.
 *
 * @return array Returns an array of the names of the declared
 *   interfaces in the current script.
 * @since PHP 5, PHP 7
 **/
function get_declared_interfaces(){}

/**
 * Returns an array of all declared traits
 *
 * @return array Returns an array with names of all declared traits in
 *   values. Returns NULL in case of a failure.
 * @since PHP 5 >= 5.4.0, PHP 7
 **/
function get_declared_traits(){}

/**
 * Returns an associative array with the names of all the constants and
 * their values
 *
 * Returns the names and values of all the constants currently defined.
 * This includes those created by extensions as well as those created
 * with the {@link define} function.
 *
 * @param bool $categorize Causing this function to return a
 *   multi-dimensional array with categories in the keys of the first
 *   dimension and constants and their values in the second dimension.
 *   
 *   <?php define("MY_CONSTANT", 1);
 *   print_r(get_defined_constants(true)); ?>
 *   
 *   Array ( [Core] => Array ( [E_ERROR] => 1 [E_WARNING] => 2 [E_PARSE]
 *   => 4 [E_NOTICE] => 8 [E_CORE_ERROR] => 16 [E_CORE_WARNING] => 32
 *   [E_COMPILE_ERROR] => 64 [E_COMPILE_WARNING] => 128 [E_USER_ERROR] =>
 *   256 [E_USER_WARNING] => 512 [E_USER_NOTICE] => 1024 [E_ALL] => 2047
 *   [TRUE] => 1 )
 *   
 *   [pcre] => Array ( [PREG_PATTERN_ORDER] => 1 [PREG_SET_ORDER] => 2
 *   [PREG_OFFSET_CAPTURE] => 256 [PREG_SPLIT_NO_EMPTY] => 1
 *   [PREG_SPLIT_DELIM_CAPTURE] => 2 [PREG_SPLIT_OFFSET_CAPTURE] => 4
 *   [PREG_GREP_INVERT] => 1 )
 *   
 *   [user] => Array ( [MY_CONSTANT] => 1 )
 *   
 *   )
 * @return array Returns an array of constant name => constant value
 *   array, optionally groupped by extension name registering the
 *   constant.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function get_defined_constants($categorize){}

/**
 * Returns an array of all defined functions
 *
 * Gets an array of all defined functions.
 *
 * @param bool $exclude_disabled Whether disabled functions should be
 *   excluded from the return value.
 * @return array Returns a multidimensional array containing a list of
 *   all defined functions, both built-in (internal) and user-defined.
 *   The internal functions will be accessible via $arr["internal"], and
 *   the user defined ones using $arr["user"] (see example below).
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function get_defined_functions($exclude_disabled){}

/**
 * Returns an array of all defined variables
 *
 * This function returns a multidimensional array containing a list of
 * all defined variables, be them environment, server or user-defined
 * variables, within the scope that {@link get_defined_vars} is called.
 *
 * @return array A multidimensional array with all the variables.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function get_defined_vars(){}

/**
 * Returns an array with the names of the functions of a module
 *
 * This function returns the names of all the functions defined in the
 * module indicated by {@link module_name}.
 *
 * @param string $module_name The module name.
 * @return array Returns an array with all the functions, or FALSE if
 *   {@link module_name} is not a valid extension.
 * @since PHP 4, PHP 5, PHP 7
 **/
function get_extension_funcs($module_name){}

/**
 * Fetches all the headers sent by the server in response to a HTTP
 * request
 *
 * {@link get_headers} returns an array with the headers sent by the
 * server in response to a HTTP request.
 *
 * @param string $url The target URL.
 * @param int $format If the optional {@link format} parameter is set
 *   to non-zero, {@link get_headers} parses the response and sets the
 *   array's keys.
 * @param resource $context A valid context resource created with
 *   {@link stream_context_create}.
 * @return array Returns an indexed or associative array with the
 *   headers, or FALSE on failure.
 * @since PHP 5, PHP 7
 **/
function get_headers($url, $format, $context){}

/**
 * Returns the translation table used by and
 *
 * {@link get_html_translation_table} will return the translation table
 * that is used internally for {@link htmlspecialchars} and {@link
 * htmlentities}.
 *
 * @param int $table Which table to return. Either HTML_ENTITIES or
 *   HTML_SPECIALCHARS.
 * @param int $flags A bitmask of one or more of the following flags,
 *   which specify which quotes the table will contain as well as which
 *   document type the table is for. The default is ENT_COMPAT |
 *   ENT_HTML401. Available {@link flags} constants Constant Name
 *   Description ENT_COMPAT Table will contain entities for
 *   double-quotes, but not for single-quotes. ENT_QUOTES Table will
 *   contain entities for both double and single quotes. ENT_NOQUOTES
 *   Table will neither contain entities for single quotes nor for double
 *   quotes. ENT_HTML401 Table for HTML 4.01. ENT_XML1 Table for XML 1.
 *   ENT_XHTML Table for XHTML. ENT_HTML5 Table for HTML 5.
 * @param string $encoding Encoding to use. If omitted, the default
 *   value for this argument is ISO-8859-1 in versions of PHP prior to
 *   5.4.0, and UTF-8 from PHP 5.4.0 onwards.
 * @return array Returns the translation table as an array, with the
 *   original characters as keys and entities as values.
 * @since PHP 4, PHP 5, PHP 7
 **/
function get_html_translation_table($table, $flags, $encoding){}

/**
 * Returns an array with the names of included or required files
 *
 * Gets the names of all files that have been included using {@link
 * include}, {@link include_once}, {@link require} or {@link
 * require_once}.
 *
 * @return array Returns an array of the names of all files.
 * @since PHP 4, PHP 5, PHP 7
 **/
function get_included_files(){}

/**
 * Gets the current include_path configuration option
 *
 * @return string Returns the path, as a string.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function get_include_path(){}

/**
 * Returns an array with the names of all modules compiled and loaded
 *
 * This function returns the names of all the modules compiled and loaded
 * in the PHP interpreter.
 *
 * @param bool $zend_extensions Only return Zend extensions, if not
 *   then regular extensions, like mysqli are listed. Defaults to FALSE
 *   (return regular extensions).
 * @return array Returns an indexed array of all the modules names.
 * @since PHP 4, PHP 5, PHP 7
 **/
function get_loaded_extensions($zend_extensions){}

/**
 * Gets the current configuration setting of magic_quotes_gpc
 *
 * Returns the current configuration setting of magic_quotes_gpc
 *
 * Keep in mind that attempting to set magic_quotes_gpc at runtime will
 * not work.
 *
 * For more information about magic_quotes, see this security section.
 *
 * @return bool Returns 0 if magic_quotes_gpc is off, 1 otherwise. Or
 *   always returns FALSE as of PHP 5.4.0.
 * @since PHP 4, PHP 5, PHP 7
 **/
function get_magic_quotes_gpc(){}

/**
 * Gets the current active configuration setting of magic_quotes_runtime
 *
 * @return bool Returns 0 if magic_quotes_runtime is off, 1 otherwise.
 *   Or always returns FALSE as of PHP 5.4.0.
 * @since PHP 4, PHP 5, PHP 7
 **/
function get_magic_quotes_runtime(){}

/**
 * Extracts all meta tag content attributes from a file and returns an
 * array
 *
 * Opens {@link filename} and parses it line by line for <meta> tags in
 * the file. The parsing stops at </head>.
 *
 * @param string $filename The path to the HTML file, as a string. This
 *   can be a local file or an URL.
 *   
 *   What {@link get_meta_tags} parses
 *   
 *   <meta name="author" content="name"> <meta name="keywords"
 *   content="php documentation"> <meta name="DESCRIPTION" content="a php
 *   manual"> <meta name="geo.position" content="49.33;-86.59"> </head>
 *   <!-- parsing stops here -->
 *   
 *   (pay attention to line endings - PHP uses a native function to parse
 *   the input, so a Mac file won't work on Unix).
 * @param bool $use_include_path Setting {@link use_include_path} to
 *   TRUE will result in PHP trying to open the file along the standard
 *   include path as per the include_path directive. This is used for
 *   local files, not URLs.
 * @return array Returns an array with all the parsed meta tags.
 * @since PHP 4, PHP 5, PHP 7
 **/
function get_meta_tags($filename, $use_include_path){}

/**
 * Gets the properties of the given object
 *
 * Gets the accessible non-static properties of the given {@link object}
 * according to scope.
 *
 * @param object $object An object instance.
 * @return array Returns an associative array of defined object
 *   accessible non-static properties for the specified {@link object} in
 *   scope. If a property has not been assigned a value, it will be
 *   returned with a NULL value.
 * @since PHP 4, PHP 5, PHP 7
 **/
function get_object_vars($object){}

/**
 * Retrieves the parent class name for object or class
 *
 * @param mixed $object The tested object or class name. This parameter
 *   is optional if called from the object's method.
 * @return string Returns the name of the parent class of the class of
 *   which {@link object} is an instance or the name.
 * @since PHP 4, PHP 5, PHP 7
 **/
function get_parent_class($object){}

/**
 * Returns an array with the names of included or required files
 *
 * Gets the names of all files that have been included using {@link
 * include}, {@link include_once}, {@link require} or {@link
 * require_once}.
 *
 * @return array Returns an array of the names of all files.
 * @since PHP 4, PHP 5, PHP 7
 **/
function get_required_files(){}

/**
 * Returns active resources
 *
 * Returns an array of all currently active resources, optionally
 * filtered by resource type.
 *
 * @param string $type If defined, this will cause {@link
 *   get_resources} to only return resources of the given type. A list of
 *   resource types is available. If the string Unknown is provided as
 *   the type, then only resources that are of an unknown type will be
 *   returned. If omitted, all resources will be returned.
 * @return array Returns an array of currently active resources,
 *   indexed by resource number.
 * @since PHP 7
 **/
function get_resources($type){}

/**
 * Returns the resource type
 *
 * This function gets the type of the given resource.
 *
 * @param resource $handle The evaluated resource handle.
 * @return string If the given {@link handle} is a resource, this
 *   function will return a string representing its type. If the type is
 *   not identified by this function, the return value will be the string
 *   Unknown.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function get_resource_type($handle){}

/**
 * Find pathnames matching a pattern
 *
 * The {@link glob} function searches for all the pathnames matching
 * {@link pattern} according to the rules used by the libc glob()
 * function, which is similar to the rules used by common shells.
 *
 * @param string $pattern The pattern. No tilde expansion or parameter
 *   substitution is done.
 * @param int $flags Valid flags: GLOB_MARK - Adds a slash to each
 *   directory returned GLOB_NOSORT - Return files as they appear in the
 *   directory (no sorting). When this flag is not used, the pathnames
 *   are sorted alphabetically GLOB_NOCHECK - Return the search pattern
 *   if no files matching it were found GLOB_NOESCAPE - Backslashes do
 *   not quote metacharacters GLOB_BRACE - Expands {a,b,c} to match 'a',
 *   'b', or 'c' GLOB_ONLYDIR - Return only directory entries which match
 *   the pattern GLOB_ERR - Stop on read errors (like unreadable
 *   directories), by default errors are ignored.
 * @return array Returns an array containing the matched
 *   files/directories, an empty array if no file matched or FALSE on
 *   error.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function glob($pattern, $flags){}

/**
 * Format a GMT/UTC date/time
 *
 * Identical to the {@link date} function except that the time returned
 * is Greenwich Mean Time (GMT).
 *
 * @param string $format The format of the outputted date string. See
 *   the formatting options for the {@link date} function.
 * @param int $timestamp
 * @return string Returns a formatted date string. If a non-numeric
 *   value is used for {@link timestamp}, FALSE is returned and an
 *   E_WARNING level error is emitted.
 * @since PHP 4, PHP 5, PHP 7
 **/
function gmdate($format, $timestamp){}

/**
 * Get Unix timestamp for a GMT date
 *
 * Identical to {@link mktime} except the passed parameters represents a
 * GMT date. {@link gmmktime} internally uses {@link mktime} so only
 * times valid in derived local time can be used.
 *
 * Like {@link mktime}, arguments may be left out in order from right to
 * left, with any omitted arguments being set to the current
 * corresponding GMT value.
 *
 * @param int $hour The number of the hour relative to the start of the
 *   day determined by {@link month}, {@link day} and {@link year}.
 *   Negative values reference the hour before midnight of the day in
 *   question. Values greater than 23 reference the appropriate hour in
 *   the following day(s).
 * @param int $minute The number of the minute relative to the start of
 *   the {@link hour}. Negative values reference the minute in the
 *   previous hour. Values greater than 59 reference the appropriate
 *   minute in the following hour(s).
 * @param int $second The number of seconds relative to the start of
 *   the {@link minute}. Negative values reference the second in the
 *   previous minute. Values greater than 59 reference the appropriate
 *   second in the following minute(s).
 * @param int $month The number of the month relative to the end of the
 *   previous year. Values 1 to 12 reference the normal calendar months
 *   of the year in question. Values less than 1 (including negative
 *   values) reference the months in the previous year in reverse order,
 *   so 0 is December, -1 is November, etc. Values greater than 12
 *   reference the appropriate month in the following year(s).
 * @param int $day The number of the day relative to the end of the
 *   previous month. Values 1 to 28, 29, 30 or 31 (depending upon the
 *   month) reference the normal days in the relevant month. Values less
 *   than 1 (including negative values) reference the days in the
 *   previous month, so 0 is the last day of the previous month, -1 is
 *   the day before that, etc. Values greater than the number of days in
 *   the relevant month reference the appropriate day in the following
 *   month(s).
 * @param int $year The year
 * @param int $is_dst Parameters always represent a GMT date so {@link
 *   is_dst} doesn't influence the result.
 * @return int Returns a integer Unix timestamp.
 * @since PHP 4, PHP 5, PHP 7
 **/
function gmmktime($hour, $minute, $second, $month, $day, $year, $is_dst){}

/**
 * Absolute value
 *
 * Get the absolute value of a number.
 *
 * @param GMP $a
 * @return GMP Returns the absolute value of {@link a}, as a GMP
 *   number.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_abs($a){}

/**
 * Add numbers
 *
 * Add two numbers.
 *
 * @param GMP $a The first summand (augent).
 * @param GMP $b The second summand (addend).
 * @return GMP A GMP number representing the sum of the arguments.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_add($a, $b){}

/**
 * Bitwise AND
 *
 * Calculates bitwise AND of two GMP numbers.
 *
 * @param GMP $a
 * @param GMP $b
 * @return GMP A GMP number representing the bitwise AND comparison.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_and($a, $b){}

/**
 * Clear bit
 *
 * Clears (sets to 0) bit {@link index} in {@link a}. The index starts at
 * 0.
 *
 * @param GMP $a
 * @param int $index The index of the bit to clear. Index 0 represents
 *   the least significant bit.
 * @return void
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_clrbit($a, $index){}

/**
 * Compare numbers
 *
 * Compares two numbers.
 *
 * @param GMP $a
 * @param GMP $b
 * @return int Returns a positive value if a > b, zero if a = b and a
 *   negative value if a < b.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_cmp($a, $b){}

/**
 * Calculates one's complement
 *
 * Returns the one's complement of {@link a}.
 *
 * @param GMP $a
 * @return GMP Returns the one's complement of {@link a}, as a GMP
 *   number.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_com($a){}

/**
 * Divide numbers
 *
 * Divides {@link a} by {@link b} and returns the integer result.
 *
 * @param GMP $a The number being divided.
 * @param GMP $b The number that {@link a} is being divided by.
 * @param int $round The result rounding is defined by the {@link
 *   round}, which can have the following values: GMP_ROUND_ZERO: The
 *   result is truncated towards 0. GMP_ROUND_PLUSINF: The result is
 *   rounded towards +infinity. GMP_ROUND_MINUSINF: The result is rounded
 *   towards -infinity.
 * @return GMP
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_div($a, $b, $round){}

/**
 * Exact division of numbers
 *
 * Divides {@link n} by {@link d}, using fast "exact division" algorithm.
 * This function produces correct results only when it is known in
 * advance that {@link d} divides {@link n}.
 *
 * @param GMP $n The number being divided.
 * @param GMP $d The number that {@link a} is being divided by.
 * @return GMP
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_divexact($n, $d){}

/**
 * Divide numbers
 *
 * Divides {@link a} by {@link b} and returns the integer result.
 *
 * @param GMP $a The number being divided.
 * @param GMP $b The number that {@link a} is being divided by.
 * @param int $round The result rounding is defined by the {@link
 *   round}, which can have the following values: GMP_ROUND_ZERO: The
 *   result is truncated towards 0. GMP_ROUND_PLUSINF: The result is
 *   rounded towards +infinity. GMP_ROUND_MINUSINF: The result is rounded
 *   towards -infinity.
 * @return GMP
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_div_q($a, $b, $round){}

/**
 * Divide numbers and get quotient and remainder
 *
 * The function divides {@link n} by {@link d}.
 *
 * @param GMP $n The number being divided.
 * @param GMP $d The number that {@link n} is being divided by.
 * @param int $round See the {@link gmp_div_q} function for description
 *   of the {@link round} argument.
 * @return array Returns an array, with the first element being [n/d]
 *   (the integer result of the division) and the second being (n - [n/d]
 *   * d) (the remainder of the division).
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_div_qr($n, $d, $round){}

/**
 * Remainder of the division of numbers
 *
 * Calculates remainder of the integer division of {@link n} by {@link
 * d}. The remainder has the sign of the {@link n} argument, if not zero.
 *
 * @param GMP $n The number being divided.
 * @param GMP $d The number that {@link n} is being divided by.
 * @param int $round See the {@link gmp_div_q} function for description
 *   of the {@link round} argument.
 * @return GMP The remainder, as a GMP number.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_div_r($n, $d, $round){}

/**
 * Export to a binary string
 *
 * Export a GMP number to a binary string
 *
 * @param GMP $gmpnumber The GMP number being exported
 * @param int $word_size Default value is 1. The number of bytes in
 *   each chunk of binary data. This is mainly used in conjunction with
 *   the options parameter.
 * @param int $options Default value is GMP_MSW_FIRST |
 *   GMP_NATIVE_ENDIAN.
 * @return string Returns a string.
 * @since PHP 5 >= 5.6.1, PHP 7
 **/
function gmp_export($gmpnumber, $word_size, $options){}

/**
 * Factorial
 *
 * Calculates factorial (a!) of {@link a}.
 *
 * @param mixed $a The factorial number.
 * @return GMP
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_fact($a){}

/**
 * Calculate GCD
 *
 * Calculate greatest common divisor of {@link a} and {@link b}. The
 * result is always positive even if either of, or both, input operands
 * are negative.
 *
 * @param GMP $a
 * @param GMP $b
 * @return GMP A positive GMP number that divides into both {@link a}
 *   and {@link b}.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_gcd($a, $b){}

/**
 * Calculate GCD and multipliers
 *
 * Calculates g, s, and t, such that a*s + b*t = g = gcd(a,b), where gcd
 * is the greatest common divisor. Returns an array with respective
 * elements g, s and t.
 *
 * This function can be used to solve linear Diophantine equations in two
 * variables. These are equations that allow only integer solutions and
 * have the form: a*x + b*y = c. For more information, go to the
 * "Diophantine Equation" page at MathWorld
 *
 * @param GMP $a
 * @param GMP $b
 * @return array An array of GMP numbers.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_gcdext($a, $b){}

/**
 * Hamming distance
 *
 * Returns the hamming distance between {@link a} and {@link b}. Both
 * operands should be non-negative.
 *
 * @param GMP $a It should be positive.
 * @param GMP $b It should be positive.
 * @return int
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_hamdist($a, $b){}

/**
 * Import from a binary string
 *
 * Import a GMP number from a binary string
 *
 * @param string $data The binary string being imported
 * @param int $word_size Default value is 1. The number of bytes in
 *   each chunk of binary data. This is mainly used in conjunction with
 *   the options parameter.
 * @param int $options Default value is GMP_MSW_FIRST |
 *   GMP_NATIVE_ENDIAN.
 * @return GMP Returns a GMP number.
 * @since PHP 5 >= 5.6.1, PHP 7
 **/
function gmp_import($data, $word_size, $options){}

/**
 * Create GMP number
 *
 * Creates a GMP number from an integer or string.
 *
 * @param mixed $number An integer or a string. The string
 *   representation can be decimal, hexadecimal or octal.
 * @param int $base The base. The base may vary from 2 to 36. If base
 *   is 0 (default value), the actual base is determined from the leading
 *   characters: if the first two characters are 0x or 0X, hexadecimal is
 *   assumed, otherwise if the first character is "0", octal is assumed,
 *   otherwise decimal is assumed.
 * @return GMP
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_init($number, $base){}

/**
 * Convert GMP number to integer
 *
 * This function converts GMP number into native PHP integers.
 *
 * @param GMP $gmpnumber
 * @return int The integer value of {@link gmpnumber}.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_intval($gmpnumber){}

/**
 * Inverse by modulo
 *
 * Computes the inverse of {@link a} modulo {@link b}.
 *
 * @param GMP $a
 * @param GMP $b
 * @return GMP A GMP number on success or FALSE if an inverse does not
 *   exist.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_invert($a, $b){}

/**
 * Jacobi symbol
 *
 * Computes Jacobi symbol of {@link a} and {@link p}. {@link p} should be
 * odd and must be positive.
 *
 * @param GMP $a
 * @param GMP $p Should be odd and must be positive.
 * @return int
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_jacobi($a, $p){}

/**
 * Legendre symbol
 *
 * Compute the Legendre symbol of {@link a} and {@link p}. {@link p}
 * should be odd and must be positive.
 *
 * @param GMP $a
 * @param GMP $p Should be odd and must be positive.
 * @return int
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_legendre($a, $p){}

/**
 * Modulo operation
 *
 * Calculates {@link n} modulo {@link d}. The result is always
 * non-negative, the sign of {@link d} is ignored.
 *
 * @param GMP $n
 * @param GMP $d The modulo that is being evaluated.
 * @return GMP
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_mod($n, $d){}

/**
 * Multiply numbers
 *
 * Multiplies {@link a} by {@link b} and returns the result.
 *
 * @param GMP $a A number that will be multiplied by {@link b}.
 * @param GMP $b A number that will be multiplied by {@link a}.
 * @return GMP
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_mul($a, $b){}

/**
 * Negate number
 *
 * Returns the negative value of a number.
 *
 * @param GMP $a
 * @return GMP Returns -{@link a}, as a GMP number.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_neg($a){}

/**
 * Find next prime number
 *
 * @param int $a
 * @return GMP Return the next prime number greater than {@link a}, as
 *   a GMP number.
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function gmp_nextprime($a){}

/**
 * Bitwise OR
 *
 * Calculates bitwise inclusive OR of two GMP numbers.
 *
 * @param GMP $a
 * @param GMP $b
 * @return GMP
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_or($a, $b){}

/**
 * Perfect square check
 *
 * Check if a number is a perfect square.
 *
 * @param GMP $a The number being checked as a perfect square.
 * @return bool Returns TRUE if {@link a} is a perfect square, FALSE
 *   otherwise.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_perfect_square($a){}

/**
 * Population count
 *
 * Get the population count.
 *
 * @param GMP $a
 * @return int The population count of {@link a}, as an integer.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_popcount($a){}

/**
 * Raise number into power
 *
 * Raise {@link base} into power {@link exp}.
 *
 * @param GMP $base The base number.
 * @param int $exp The positive power to raise the {@link base}.
 * @return GMP The new (raised) number, as a GMP number. The case of
 *   0^0 yields 1.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_pow($base, $exp){}

/**
 * Raise number into power with modulo
 *
 * Calculate ({@link base} raised into power {@link exp}) modulo {@link
 * mod}. If {@link exp} is negative, result is undefined.
 *
 * @param GMP $base The base number.
 * @param GMP $exp The positive power to raise the {@link base}.
 * @param GMP $mod The modulo.
 * @return GMP The new (raised) number, as a GMP number.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_powm($base, $exp, $mod){}

/**
 * Check if number is "probably prime"
 *
 * The function uses Miller-Rabin's probabilistic test to check if a
 * number is a prime.
 *
 * @param GMP $a The number being checked as a prime.
 * @param int $reps Reasonable values of {@link reps} vary from 5 to 10
 *   (default being 10); a higher value lowers the probability for a
 *   non-prime to pass as a "probable" prime.
 * @return int If this function returns 0, {@link a} is definitely not
 *   prime. If it returns 1, then {@link a} is "probably" prime. If it
 *   returns 2, then {@link a} is surely prime.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_prob_prime($a, $reps){}

/**
 * Random number
 *
 * Generate a random number. The number will be between 0 and (2 ** n) -
 * 1, where n is the number of bits per limb multiplied by {@link
 * limiter}. If {@link limiter} is negative, negative numbers are
 * generated.
 *
 * A limb is an internal GMP mechanism. The number of bits in a limb is
 * not static, and can vary from system to system. Generally, the number
 * of bits in a limb is either 32 or 64, but this is not guaranteed.
 *
 * @param int $limiter The limiter.
 * @return GMP A random GMP number.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_random($limiter){}

/**
 * Random number
 *
 * Generate a random number. The number will be between 0 and (2 **
 * {@link bits}) - 1.
 *
 * {@link bits} must greater than 0, and the maximum value is restricted
 * by available memory.
 *
 * @param int $bits The number of bits.
 * @return GMP A random GMP number.
 * @since PHP 5 >= 5.6.3, PHP 7
 **/
function gmp_random_bits($bits){}

/**
 * Random number
 *
 * Generate a random number. The number will be between {@link min} and
 * {@link max}.
 *
 * {@link min} and {@link max} can both be negative but {@link min} must
 * always be less than {@link max}.
 *
 * @param GMP $min A GMP number representing the lower bound for the
 *   random number
 * @param GMP $max A GMP number representing the upper bound for the
 *   random number
 * @return GMP A random GMP number.
 * @since PHP 5 >= 5.6.3, PHP 7
 **/
function gmp_random_range($min, $max){}

/**
 * Sets the RNG seed
 *
 * @param mixed $seed The seed to be set for the {@link gmp_random},
 *   {@link gmp_random_bits}, and {@link gmp_random_range} functions.
 * @return void
 * @since PHP 7
 **/
function gmp_random_seed($seed){}

/**
 * Take the integer part of nth root
 *
 * Takes the {@link nth} root of {@link a} and returns the integer
 * component of the result.
 *
 * @param GMP $a
 * @param int $nth The positive root to take of {@link a}.
 * @return GMP The integer component of the resultant root, as a GMP
 *   number.
 * @since PHP 5 >= 5.6.0, PHP 7
 **/
function gmp_root($a, $nth){}

/**
 * Take the integer part and remainder of nth root
 *
 * Takes the {@link nth} root of {@link a} and returns the integer
 * component and remainder of the result.
 *
 * @param GMP $a
 * @param int $nth The positive root to take of {@link a}.
 * @return array A two element array, where the first element is the
 *   integer component of the root, and the second element is the
 *   remainder, both represented as GMP numbers.
 * @since PHP 5 >= 5.6.0, PHP 7
 **/
function gmp_rootrem($a, $nth){}

/**
 * Scan for 0
 *
 * Scans {@link a}, starting with bit {@link start}, towards more
 * significant bits, until the first clear bit is found.
 *
 * @param GMP $a The number to scan.
 * @param int $start The starting bit.
 * @return int Returns the index of the found bit, as an integer. The
 *   index starts from 0.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_scan0($a, $start){}

/**
 * Scan for 1
 *
 * Scans {@link a}, starting with bit {@link start}, towards more
 * significant bits, until the first set bit is found.
 *
 * @param GMP $a The number to scan.
 * @param int $start The starting bit.
 * @return int Returns the index of the found bit, as an integer. If no
 *   set bit is found, -1 is returned.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_scan1($a, $start){}

/**
 * Set bit
 *
 * Sets bit {@link index} in {@link a}.
 *
 * @param GMP $a The value to modify.
 * @param int $index The index of the bit to set. Index 0 represents
 *   the least significant bit.
 * @param bool $bit_on True to set the bit (set it to 1/on); false to
 *   clear the bit (set it to 0/off).
 * @return void
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_setbit($a, $index, $bit_on){}

/**
 * Sign of number
 *
 * Checks the sign of a number.
 *
 * @param GMP $a Either a GMP number resource in PHP 5.5 and earlier, a
 *   GMP object in PHP 5.6 and later, or a numeric string provided that
 *   it is possible to convert the latter to an integer.
 * @return int Returns 1 if {@link a} is positive, -1 if {@link a} is
 *   negative, and 0 if {@link a} is zero.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_sign($a){}

/**
 * Calculate square root
 *
 * Calculates square root of {@link a}.
 *
 * @param GMP $a
 * @return GMP The integer portion of the square root, as a GMP number.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_sqrt($a){}

/**
 * Square root with remainder
 *
 * Calculate the square root of a number, with remainder.
 *
 * @param GMP $a The number being square rooted.
 * @return array Returns array where first element is the integer
 *   square root of {@link a} and the second is the remainder (i.e., the
 *   difference between {@link a} and the first element squared).
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_sqrtrem($a){}

/**
 * Convert GMP number to string
 *
 * Convert GMP number to string representation in base {@link base}. The
 * default base is 10.
 *
 * @param GMP $gmpnumber The GMP number that will be converted to a
 *   string.
 * @param int $base The base of the returned number. The default base
 *   is 10. Allowed values for the base are from 2 to 62 and -2 to -36.
 * @return string The number, as a string.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_strval($gmpnumber, $base){}

/**
 * Subtract numbers
 *
 * Subtracts {@link b} from {@link a} and returns the result.
 *
 * @param GMP $a The number being subtracted from.
 * @param GMP $b The number subtracted from {@link a}.
 * @return GMP
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_sub($a, $b){}

/**
 * Tests if a bit is set
 *
 * Tests if the specified bit is set.
 *
 * @param GMP $a
 * @param int $index The bit to test
 * @return bool Returns TRUE if the bit is set in resource {@link $a},
 *   otherwise FALSE.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function gmp_testbit($a, $index){}

/**
 * Bitwise XOR
 *
 * Calculates bitwise exclusive OR (XOR) of two GMP numbers.
 *
 * @param GMP $a
 * @param GMP $b
 * @return GMP
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gmp_xor($a, $b){}

/**
 * Format a GMT/UTC time/date according to locale settings
 *
 * Behaves the same as {@link strftime} except that the time returned is
 * Greenwich Mean Time (GMT). For example, when run in Eastern Standard
 * Time (GMT -0500), the first line below prints "Dec 31 1998 20:00:00",
 * while the second prints "Jan 01 1999 01:00:00".
 *
 * @param string $format See description in {@link strftime}.
 * @param int $timestamp
 * @return string Returns a string formatted according to the given
 *   format string using the given {@link timestamp} or the current local
 *   time if no timestamp is given. Month and weekday names and other
 *   language dependent strings respect the current locale set with
 *   {@link setlocale}.
 * @since PHP 4, PHP 5, PHP 7
 **/
function gmstrftime($format, $timestamp){}

/**
 * Add a key for decryption
 *
 * @param resource $identifier
 * @param string $fingerprint
 * @param string $passphrase The pass phrase.
 * @return bool
 * @since PECL gnupg >= 0.5
 **/
function gnupg_adddecryptkey($identifier, $fingerprint, $passphrase){}

/**
 * Add a key for encryption
 *
 * @param resource $identifier
 * @param string $fingerprint
 * @return bool
 * @since PECL gnupg >= 0.5
 **/
function gnupg_addencryptkey($identifier, $fingerprint){}

/**
 * Add a key for signing
 *
 * @param resource $identifier
 * @param string $fingerprint
 * @param string $passphrase The pass phrase.
 * @return bool
 * @since PECL gnupg >= 0.5
 **/
function gnupg_addsignkey($identifier, $fingerprint, $passphrase){}

/**
 * Removes all keys which were set for decryption before
 *
 * @param resource $identifier
 * @return bool
 * @since PECL gnupg >= 0.5
 **/
function gnupg_cleardecryptkeys($identifier){}

/**
 * Removes all keys which were set for encryption before
 *
 * @param resource $identifier
 * @return bool
 * @since PECL gnupg >= 0.5
 **/
function gnupg_clearencryptkeys($identifier){}

/**
 * Removes all keys which were set for signing before
 *
 * @param resource $identifier
 * @return bool
 * @since PECL gnupg >= 0.5
 **/
function gnupg_clearsignkeys($identifier){}

/**
 * Decrypts a given text
 *
 * Decrypts the given text with the keys, which were set with
 * gnupg_adddecryptkey before.
 *
 * @param resource $identifier
 * @param string $text The text being decrypted.
 * @return string On success, this function returns the decrypted text.
 *   On failure, this function returns FALSE.
 * @since PECL gnupg >= 0.1
 **/
function gnupg_decrypt($identifier, $text){}

/**
 * Decrypts and verifies a given text
 *
 * Decrypts and verifies a given text and returns information about the
 * signature.
 *
 * @param resource $identifier
 * @param string $text The text being decrypted.
 * @param string $plaintext The parameter {@link plaintext} gets filled
 *   with the decrypted text.
 * @return array On success, this function returns information about
 *   the signature and fills the {@link plaintext} parameter with the
 *   decrypted text. On failure, this function returns FALSE.
 * @since PECL gnupg >= 0.2
 **/
function gnupg_decryptverify($identifier, $text, &$plaintext){}

/**
 * Encrypts a given text
 *
 * Encrypts the given {@link plaintext} with the keys, which were set
 * with gnupg_addencryptkey before and returns the encrypted text.
 *
 * @param resource $identifier
 * @param string $plaintext The text being encrypted.
 * @return string On success, this function returns the encrypted text.
 *   On failure, this function returns FALSE.
 * @since PECL gnupg >= 0.1
 **/
function gnupg_encrypt($identifier, $plaintext){}

/**
 * Encrypts and signs a given text
 *
 * Encrypts and signs the given {@link plaintext} with the keys, which
 * were set with gnupg_addsignkey and gnupg_addencryptkey before and
 * returns the encrypted and signed text.
 *
 * @param resource $identifier
 * @param string $plaintext The text being encrypted.
 * @return string On success, this function returns the encrypted and
 *   signed text. On failure, this function returns FALSE.
 * @since PECL gnupg >= 0.2
 **/
function gnupg_encryptsign($identifier, $plaintext){}

/**
 * Exports a key
 *
 * Exports the key {@link fingerprint}.
 *
 * @param resource $identifier
 * @param string $fingerprint
 * @return string On success, this function returns the keydata. On
 *   failure, this function returns FALSE.
 * @since PECL gnupg >= 0.1
 **/
function gnupg_export($identifier, $fingerprint){}

/**
 * Returns the errortext, if a function fails
 *
 * @param resource $identifier
 * @return string Returns an errortext, if an error has occurred,
 *   otherwise FALSE.
 * @since PECL gnupg >= 0.1
 **/
function gnupg_geterror($identifier){}

/**
 * Returns the currently active protocol for all operations
 *
 * @param resource $identifier
 * @return int Returns the currently active protocol, which can be one
 *   of GNUPG_PROTOCOL_OpenPGP or GNUPG_PROTOCOL_CMS.
 * @since PECL gnupg >= 0.1
 **/
function gnupg_getprotocol($identifier){}

/**
 * Imports a key
 *
 * Imports the key {@link keydata} and returns an array with information
 * about the importprocess.
 *
 * @param resource $identifier
 * @param string $keydata The data key that is being imported.
 * @return array On success, this function returns and info-array about
 *   the importprocess. On failure, this function returns FALSE.
 * @since PECL gnupg >= 0.3
 **/
function gnupg_import($identifier, $keydata){}

/**
 * Initialize a connection
 *
 * @return resource A GnuPG resource connection used by other GnuPG
 *   functions.
 * @since PECL gnupg >= 0.4
 **/
function gnupg_init(){}

/**
 * Returns an array with information about all keys that matches the
 * given pattern
 *
 * @param resource $identifier
 * @param string $pattern The pattern being checked against the keys.
 * @return array Returns an array with information about all keys that
 *   matches the given pattern or FALSE, if an error has occurred.
 * @since PECL gnupg >= 0.1
 **/
function gnupg_keyinfo($identifier, $pattern){}

/**
 * Toggle armored output
 *
 * Toggle the armored output.
 *
 * @param resource $identifier
 * @param int $armor Pass a non-zero integer-value to this function to
 *   enable armored-output (default). Pass 0 to disable armored output.
 * @return bool
 * @since PECL gnupg >= 0.1
 **/
function gnupg_setarmor($identifier, $armor){}

/**
 * Sets the mode for error_reporting
 *
 * Sets the mode for error_reporting.
 *
 * @param resource $identifier
 * @param int $errormode The error mode. {@link errormode} takes a
 *   constant indicating what type of error_reporting should be used. The
 *   possible values are GNUPG_ERROR_WARNING, GNUPG_ERROR_EXCEPTION and
 *   GNUPG_ERROR_SILENT. By default GNUPG_ERROR_SILENT is used.
 * @return void
 * @since PECL gnupg >= 0.6
 **/
function gnupg_seterrormode($identifier, $errormode){}

/**
 * Sets the mode for signing
 *
 * @param resource $identifier
 * @param int $signmode The mode for signing. {@link signmode} takes a
 *   constant indicating what type of signature should be produced. The
 *   possible values are GNUPG_SIG_MODE_NORMAL, GNUPG_SIG_MODE_DETACH and
 *   GNUPG_SIG_MODE_CLEAR. By default GNUPG_SIG_MODE_CLEAR is used.
 * @return bool
 * @since PECL gnupg >= 0.1
 **/
function gnupg_setsignmode($identifier, $signmode){}

/**
 * Signs a given text
 *
 * Signs the given {@link plaintext} with the keys, which were set with
 * gnupg_addsignkey before and returns the signed text or the signature,
 * depending on what was set with gnupg_setsignmode.
 *
 * @param resource $identifier
 * @param string $plaintext The plain text being signed.
 * @return string On success, this function returns the signed text or
 *   the signature. On failure, this function returns FALSE.
 * @since PECL gnupg >= 0.1
 **/
function gnupg_sign($identifier, $plaintext){}

/**
 * Verifies a signed text
 *
 * Verifies the given {@link signed_text} and returns information about
 * the signature.
 *
 * @param resource $identifier
 * @param string $signed_text The signed text.
 * @param string $signature The signature. To verify a clearsigned
 *   text, set signature to FALSE.
 * @param string $plaintext The plain text. If this optional parameter
 *   is passed, it is filled with the plain text.
 * @return array On success, this function returns information about
 *   the signature. On failure, this function returns FALSE.
 * @since PECL gnupg >= 0.1
 **/
function gnupg_verify($identifier, $signed_text, $signature, &$plaintext){}

/**
 * Translate a gopher formatted directory entry into an associative array
 *
 * {@link gopher_parsedir} parses a gopher formatted directory entry into
 * an associative array.
 *
 * While gopher returns text/plain documents for actual document
 * requests. A request to a directory (such as /) will return specially
 * encoded series of lines with each line being one directory entry or
 * information line.
 *
 * @param string $dirent The directory entry.
 * @return array Returns an associative array whose components are:
 *   type - One of the GOPHER_XXX constants. title - The name of the
 *   resource. path - The path of the resource. host - The domain name of
 *   the host that has this document (or directory). port - The port at
 *   which to connect on host.
 * @since PECL net_gopher >= 0.1
 **/
function gopher_parsedir($dirent){}

/**
 * Function to extract a sequence of default grapheme clusters from a
 * text buffer, which must be encoded in UTF-8
 *
 * @param string $haystack String to search.
 * @param int $size Maximum number items - based on the $extract_type -
 *   to return.
 * @param int $extract_type Defines the type of units referred to by
 *   the $size parameter:
 *   
 *   GRAPHEME_EXTR_COUNT (default) - $size is the number of default
 *   grapheme clusters to extract. GRAPHEME_EXTR_MAXBYTES - $size is the
 *   maximum number of bytes returned. GRAPHEME_EXTR_MAXCHARS - $size is
 *   the maximum number of UTF-8 characters returned.
 * @param int $start Starting position in $haystack in bytes - if
 *   given, it must be zero or a positive value that is less than or
 *   equal to the length of $haystack in bytes, or a negative value that
 *   counts from the end of $haystack. If $start does not point to the
 *   first byte of a UTF-8 character, the start position is moved to the
 *   next character boundary.
 * @param int $next Reference to a value that will be set to the next
 *   starting position. When the call returns, this may point to the
 *   first byte position past the end of the string.
 * @return string A string starting at offset $start and ending on a
 *   default grapheme cluster boundary that conforms to the $size and
 *   $extract_type specified.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function grapheme_extract($haystack, $size, $extract_type, $start, &$next){}

/**
 * Find position (in grapheme units) of first occurrence of a
 * case-insensitive string
 *
 * @param string $haystack The string to look in. Must be valid UTF-8.
 * @param string $needle The string to look for. Must be valid UTF-8.
 * @param int $offset The optional $offset parameter allows you to
 *   specify where in haystack to start searching as an offset in
 *   grapheme units (not bytes or characters). If the offset is negative,
 *   it is treated relative to the end of the string. The position
 *   returned is still relative to the beginning of haystack regardless
 *   of the value of $offset.
 * @return int Returns the position as an integer. If needle is not
 *   found, grapheme_stripos() will return boolean FALSE.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function grapheme_stripos($haystack, $needle, $offset){}

/**
 * Returns part of haystack string from the first occurrence of
 * case-insensitive needle to the end of haystack
 *
 * Returns part of haystack string starting from and including the first
 * occurrence of case-insensitive needle to the end of haystack.
 *
 * @param string $haystack The input string. Must be valid UTF-8.
 * @param string $needle The string to look for. Must be valid UTF-8.
 * @param bool $before_needle If TRUE, grapheme_strstr() returns the
 *   part of the haystack before the first occurrence of the needle
 *   (excluding needle).
 * @return string Returns the portion of $haystack, or FALSE if $needle
 *   is not found.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function grapheme_stristr($haystack, $needle, $before_needle){}

/**
 * Get string length in grapheme units
 *
 * Get string length in grapheme units (not bytes or characters)
 *
 * @param string $input The string being measured for length. It must
 *   be a valid UTF-8 string.
 * @return int The length of the string on success, and 0 if the string
 *   is empty.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function grapheme_strlen($input){}

/**
 * Find position (in grapheme units) of first occurrence of a string
 *
 * @param string $haystack The string to look in. Must be valid UTF-8.
 * @param string $needle The string to look for. Must be valid UTF-8.
 * @param int $offset The optional $offset parameter allows you to
 *   specify where in $haystack to start searching as an offset in
 *   grapheme units (not bytes or characters). If the offset is negative,
 *   it is treated relative to the end of the string. The position
 *   returned is still relative to the beginning of haystack regardless
 *   of the value of $offset.
 * @return int Returns the position as an integer. If needle is not
 *   found, grapheme_strpos() will return boolean FALSE.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function grapheme_strpos($haystack, $needle, $offset){}

/**
 * Find position (in grapheme units) of last occurrence of a
 * case-insensitive string
 *
 * @param string $haystack The string to look in. Must be valid UTF-8.
 * @param string $needle The string to look for. Must be valid UTF-8.
 * @param int $offset The optional $offset parameter allows you to
 *   specify where in $haystack to start searching as an offset in
 *   grapheme units (not bytes or characters). The position returned is
 *   still relative to the beginning of haystack regardless of the value
 *   of $offset.
 * @return int Returns the position as an integer. If needle is not
 *   found, grapheme_strripos() will return boolean FALSE.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function grapheme_strripos($haystack, $needle, $offset){}

/**
 * Find position (in grapheme units) of last occurrence of a string
 *
 * @param string $haystack The string to look in. Must be valid UTF-8.
 * @param string $needle The string to look for. Must be valid UTF-8.
 * @param int $offset The optional $offset parameter allows you to
 *   specify where in $haystack to start searching as an offset in
 *   grapheme units (not bytes or characters). The position returned is
 *   still relative to the beginning of haystack regardless of the value
 *   of $offset.
 * @return int Returns the position as an integer. If needle is not
 *   found, grapheme_strrpos() will return boolean FALSE.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function grapheme_strrpos($haystack, $needle, $offset){}

/**
 * Returns part of haystack string from the first occurrence of needle to
 * the end of haystack
 *
 * Returns part of haystack string from the first occurrence of needle to
 * the end of haystack (including the needle).
 *
 * @param string $haystack The input string. Must be valid UTF-8.
 * @param string $needle The string to look for. Must be valid UTF-8.
 * @param bool $before_needle If TRUE, grapheme_strstr() returns the
 *   part of the haystack before the first occurrence of the needle
 *   (excluding the needle).
 * @return string Returns the portion of string, or FALSE if needle is
 *   not found.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function grapheme_strstr($haystack, $needle, $before_needle){}

/**
 * Return part of a string
 *
 * @param string $string The input string. Must be valid UTF-8.
 * @param int $start Start position in default grapheme units. If
 *   $start is non-negative, the returned string will start at the
 *   $start'th position in $string, counting from zero. If $start is
 *   negative, the returned string will start at the $start'th grapheme
 *   unit from the end of string.
 * @param int $length Length in grapheme units. If $length is given and
 *   is positive, the string returned will contain at most $length
 *   grapheme units beginning from $start (depending on the length of
 *   string). If $length is given and is negative, then that many
 *   grapheme units will be omitted from the end of string (after the
 *   start position has been calculated when a start is negative). If
 *   $start denotes a position beyond this truncation, FALSE will be
 *   returned.
 * @return string Returns the extracted part of $string.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function grapheme_substr($string, $start, $length){}

/**
 * Converts a Gregorian date to Julian Day Count
 *
 * The valid range for the Gregorian calendar is from November 25, 4714
 * B.C. to at least December 31, 9999 A.D.
 *
 * Although this function can handle dates all the way back to 4714 B.C.,
 * such use may not be meaningful. The Gregorian calendar was not
 * instituted until October 15, 1582 (or October 5, 1582 in the Julian
 * calendar). Some countries did not accept it until much later. For
 * example, Britain converted in 1752, The USSR in 1918 and Greece in
 * 1923. Most European countries used the Julian calendar prior to the
 * Gregorian.
 *
 * @param int $month The month as a number from 1 (for January) to 12
 *   (for December)
 * @param int $day The day as a number from 1 to 31. If the month has
 *   less days then given, overflow occurs; see the example below.
 * @param int $year The year as a number between -4714 and 9999.
 *   Negative numbers mean years B.C., positive numbers mean years A.D.
 *   Note that there is no year 0; December 31, 1 B.C. is immediately
 *   followed by January 1, 1 A.D.
 * @return int The julian day for the given gregorian date as an
 *   integer. Dates outside the valid range return 0.
 * @since PHP 4, PHP 5, PHP 7
 **/
function gregoriantojd($month, $day, $year){}

/**
 * Get the IP address
 *
 * Get the IP address we advertise ourselves as using.
 *
 * @param resource $context A context identifier, returned by {@link
 *   gupnp_context_new}.
 * @return string Returns the IP address for the current context and
 *   FALSE on error.
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_context_get_host_ip($context){}

/**
 * Get the port
 *
 * Get the port that the SOAP server is running on.
 *
 * @param resource $context A context identifier, returned by {@link
 *   gupnp_context_new}.
 * @return int Returns the port number for the current context and
 *   FALSE on error.
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_context_get_port($context){}

/**
 * Get the event subscription timeout
 *
 * Get the event subscription timeout (in seconds), or 0 meaning there is
 * no timeout.
 *
 * @param resource $context A context identifier, returned by {@link
 *   gupnp_context_new}.
 * @return int The event subscription timeout in seconds.
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_context_get_subscription_timeout($context){}

/**
 * Start hosting
 *
 * Start hosting {@link local_path} at {@link server_path}. Files with
 * the path {@link local_path}.LOCALE (if they exist) will be served up
 * when LOCALE is specified in the request's Accept-Language header.
 *
 * @param resource $context A context identifier, returned by {@link
 *   gupnp_context_new}.
 * @param string $local_path Path to the local file or folder to be
 *   hosted.
 * @param string $server_path Web server path where {@link local_path}
 *   should be hosted.
 * @return bool
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_context_host_path($context, $local_path, $server_path){}

/**
 * Create a new context
 *
 * Create a new context with the specified host_ip and port.
 *
 * @param string $host_ip The local host's IP address, or NULL to use
 *   the IP address of the first non-loopback network interface.
 * @param int $port Port to run on, or 0 if you don't care what port is
 *   used.
 * @return resource A context identifier.
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_context_new($host_ip, $port){}

/**
 * Sets the event subscription timeout
 *
 * Sets the event subscription timeout (in seconds) to time out. Note
 * that any client side subscriptions will automatically be renewed.
 *
 * @param resource $context A context identifier, returned by {@link
 *   gupnp_context_new}.
 * @param int $timeout The event subscription timeout in seconds. Use 0
 *   if you don't want subscriptions to time out.
 * @return void
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_context_set_subscription_timeout($context, $timeout){}

/**
 * Sets a function to be called at regular intervals
 *
 * @param resource $context A context identifier, returned by {@link
 *   gupnp_context_new}.
 * @param int $timeout A timeout in miliseconds.
 * @param mixed $callback The callback function calling every {@link
 *   timeout} period of time. Typically, callback function takes on
 *   {@link arg} parameter.
 * @param mixed $arg User data for {@link callback}.
 * @return bool
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_context_timeout_add($context, $timeout, $callback, $arg){}

/**
 * Stop hosting
 *
 * Stop hosting the file or folder at {@link server_path}.
 *
 * @param resource $context A context identifier, returned by {@link
 *   gupnp_context_new}.
 * @param string $server_path Web server path where the file or folder
 *   is hosted.
 * @return bool
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_context_unhost_path($context, $server_path){}

/**
 * Start browsing
 *
 * Start the search and calls user-defined callback.
 *
 * @param resource $cpoint A control point identifier, returned by
 *   {@link gupnp_control_point_new}.
 * @return bool
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_control_point_browse_start($cpoint){}

/**
 * Stop browsing
 *
 * Stop the search and calls user-defined callback.
 *
 * @param resource $cpoint A control point identifier, returned by
 *   {@link gupnp_control_point_new}.
 * @return bool
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_control_point_browse_stop($cpoint){}

/**
 * Set control point callback
 *
 * Set control point callback function for signal.
 *
 * @param resource $cpoint A control point identifier, returned by
 *   {@link gupnp_control_point_new}.
 * @param int $signal The value of signal. Signal can be one of the
 *   following values: GUPNP_SIGNAL_DEVICE_PROXY_AVAILABLE Emitted
 *   whenever a new device has become available.
 *   GUPNP_SIGNAL_DEVICE_PROXY_UNAVAILABLE Emitted whenever a device is
 *   not available any more. GUPNP_SIGNAL_SERVICE_PROXY_AVAILABLE Emitted
 *   whenever a new service has become available.
 *   GUPNP_SIGNAL_SERVICE_PROXY_UNAVAILABLE Emitted whenever a service is
 *   not available any more.
 * @param mixed $callback
 * @param mixed $arg
 * @return bool
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_control_point_callback_set($cpoint, $signal, $callback, $arg){}

/**
 * Create a new control point
 *
 * Create a new control point with the specified target.
 *
 * @param resource $context A context identifier, returned by {@link
 *   gupnp_context_new}.
 * @param string $target The search target. {@link target} should be a
 *   service or device name, such as
 *   urn:schemas-upnp-org:service:WANIPConnection:1 or
 *   urn:schemas-upnp-org:device:MediaRenderer:1.
 * @return resource A control point identifier.
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_control_point_new($context, $target){}

/**
 * Set device callback function
 *
 * Set device callback function for signal and action.
 *
 * @param resource $root_device A root device identifier, returned by
 *   {@link gupnp_root_device_new}.
 * @param int $signal The value of signal. Signal can be one of the
 *   following values: GUPNP_SIGNAL_ACTION_INVOKED Emitted whenever an
 *   action is invoked. Handler should process action and must call
 *   either {@link gupnp_service_action_return} or {@link
 *   gupnp_service_action_return_error}. GUPNP_SIGNAL_NOTIFY_FAILED
 *   Emitted whenever notification of a client fails.
 * @param string $action_name
 * @param mixed $callback
 * @param mixed $arg The name of action.
 * @return bool
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_device_action_callback_set($root_device, $signal, $action_name, $callback, $arg){}

/**
 * Get info of root device
 *
 * @param resource $root_device A root device identifier, returned by
 *   {@link gupnp_root_device_new}.
 * @return array Return array wich contains the information of the root
 *   device (like location, url, udn and etc).
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_device_info_get($root_device){}

/**
 * Get the service with type
 *
 * Get the service with type or false if no such device was found.
 *
 * @param resource $root_device A root device identifier, returned by
 *   {@link gupnp_root_device_new}.
 * @param string $type The type of the service to be retrieved.
 * @return resource A service identifier.
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_device_info_get_service($root_device, $type){}

/**
 * Check whether root device is available
 *
 * Get whether or not {@link root_device} is available (announcing its
 * presence).
 *
 * @param resource $root_device A root device identifier, returned by
 *   {@link gupnp_root_device_new}.
 * @return bool
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_root_device_get_available($root_device){}

/**
 * Get the relative location of root device
 *
 * @param resource $root_device A root device identifier, returned by
 *   {@link gupnp_root_device_new}.
 * @return string The relative location of root device
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_root_device_get_relative_location($root_device){}

/**
 * Create a new root device
 *
 * Create a new root device, automatically downloading and parsing
 * location.
 *
 * @param resource $context A context identifier, returned by {@link
 *   gupnp_context_new}.
 * @param string $location Location of the description file for this
 *   device, relative to the HTTP root
 * @param string $description_dir
 * @return resource A root device identifier.
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_root_device_new($context, $location, $description_dir){}

/**
 * Set whether or not root_device is available
 *
 * Controls whether or not root_device is available (announcing its
 * presence).
 *
 * @param resource $root_device A root device identifier, returned by
 *   {@link gupnp_root_device_new}.
 * @param bool $available Set TRUE if {@link root_device} should be
 *   available.
 * @return bool
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_root_device_set_available($root_device, $available){}

/**
 * Start main loop
 *
 * Start root server's main loop.
 *
 * @param resource $root_device A root device identifier, returned by
 *   {@link gupnp_root_device_new}.
 * @return bool
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_root_device_start($root_device){}

/**
 * Stop main loop
 *
 * Stop root server's main loop.
 *
 * @param resource $root_device A root device identifier, returned by
 *   {@link gupnp_root_device_new}.
 * @return bool
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_root_device_stop($root_device){}

/**
 * Retrieves the specified action arguments
 *
 * @param resource $action A service action identifier.
 * @param string $name The name of the variable to retrieve.
 * @param int $type The type of the variable to retrieve. Type can be
 *   one of the following values: GUPNP_TYPE_BOOLEAN Type of the variable
 *   is boolean. GUPNP_TYPE_INT Type of the variable is integer.
 *   GUPNP_TYPE_LONG Type of the variable is long. GUPNP_TYPE_DOUBLE Type
 *   of the variable is double. GUPNP_TYPE_FLOAT Type of the variable is
 *   float. GUPNP_TYPE_STRING Type of the variable is string.
 * @return mixed The value of the variable.
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_service_action_get($action, $name, $type){}

/**
 * Return successfully
 *
 * @param resource $action A service action identifier.
 * @return bool
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_service_action_return($action){}

/**
 * Return error code
 *
 * @param resource $action A service action identifier.
 * @param int $error_code The error code. Signal can be one of the
 *   following values or user defined: GUPNP_CONTROL_ERROR_INVALID_ACTION
 *   The action name was invalid. GUPNP_CONTROL_ERROR_INVALID_ARGS The
 *   action arguments were invalid. GUPNP_CONTROL_ERROR_OUT_OF_SYNC Out
 *   of sync (deprecated). GUPNP_CONTROL_ERROR_ACTION_FAILED The action
 *   failed.
 * @param string $error_description
 * @return bool
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_service_action_return_error($action, $error_code, $error_description){}

/**
 * Sets the specified action return values
 *
 * @param resource $action A service action identifier.
 * @param string $name The name of the variable to retrieve.
 * @param int $type The type of the variable to retrieve. Type can be
 *   one of the following values: GUPNP_TYPE_BOOLEAN Type of the variable
 *   is boolean. GUPNP_TYPE_INT Type of the variable is integer.
 *   GUPNP_TYPE_LONG Type of the variable is long. GUPNP_TYPE_DOUBLE Type
 *   of the variable is double. GUPNP_TYPE_FLOAT Type of the variable is
 *   float. GUPNP_TYPE_STRING Type of the variable is string.
 * @param mixed $value
 * @return bool
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_service_action_set($action, $name, $type, $value){}

/**
 * Freeze new notifications
 *
 * Causes new notifications to be queued up until {@link
 * gupnp_service_thaw_notify} is called.
 *
 * @param resource $service A service identifier.
 * @return bool
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_service_freeze_notify($service){}

/**
 * Get full info of service
 *
 * @param resource $proxy A service proxy identifier.
 * @return array Return array wich contains the information of the
 *   service (like location, url, udn and etc).
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_service_info_get($proxy){}

/**
 * Get resource introspection of service
 *
 * Get resource introspection of service or register callback if
 * corresponding parameter was passed.
 *
 * @param resource $proxy A service proxy identifier.
 * @param mixed $callback The callback function to be called when
 *   introspection object is ready. Typically, callback function takes on
 *   three parameters. The {@link introspection} parameter's identifier
 *   being the first, {@link error} parameter's message being the second,
 *   and the {@link arg} is third.
 * @param mixed $arg User data for {@link callback}.
 * @return mixed Return true if callback function was defined. Return
 *   introspection identifier if callback function was omited.
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_service_info_get_introspection($proxy, $callback, $arg){}

/**
 * Returns the state variable data
 *
 * Returns the state variable data by the name {@link variable_name} in
 * this service.
 *
 * @param resource $introspection A introspection identifier.
 * @param string $variable_name The name of the variable to retreive.
 * @return array Return the state variable data or FALSE.
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_service_introspection_get_state_variable($introspection, $variable_name){}

/**
 * Notifies listening clients
 *
 * Notifies listening clients that the property have changed to the
 * specified values.
 *
 * @param resource $service A service identifier.
 * @param string $name The name of the variable.
 * @param int $type The type of the variable. Type can be one of the
 *   following values: GUPNP_TYPE_BOOLEAN Type of the variable is
 *   boolean. GUPNP_TYPE_INT Type of the variable is integer.
 *   GUPNP_TYPE_LONG Type of the variable is long. GUPNP_TYPE_DOUBLE Type
 *   of the variable is double. GUPNP_TYPE_FLOAT Type of the variable is
 *   float. GUPNP_TYPE_STRING Type of the variable is string.
 * @param mixed $value
 * @return bool
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_service_notify($service, $name, $type, $value){}

/**
 * Send action to the service and get value
 *
 * Send action with parameters to the service exposed by proxy
 * synchronously and get value.
 *
 * @param resource $proxy A service proxy identifier.
 * @param string $action An action.
 * @param string $name The action name.
 * @param int $type The type of the variable to retrieve. Type can be
 *   one of the following values: GUPNP_TYPE_BOOLEAN Type of the variable
 *   is boolean. GUPNP_TYPE_INT Type of the variable is integer.
 *   GUPNP_TYPE_LONG Type of the variable is long. GUPNP_TYPE_DOUBLE Type
 *   of the variable is double. GUPNP_TYPE_FLOAT Type of the variable is
 *   float. GUPNP_TYPE_STRING Type of the variable is string.
 * @return mixed Return value of the action.
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_service_proxy_action_get($proxy, $action, $name, $type){}

/**
 * Send action to the service and set value
 *
 * Send action with parameters to the service exposed by proxy
 * synchronously and set value.
 *
 * @param resource $proxy A service proxy identifier.
 * @param string $action An action.
 * @param string $name The action name.
 * @param mixed $value The action value.
 * @param int $type The type of the action. Type can be one of the
 *   following values: GUPNP_TYPE_BOOLEAN Type of the variable is
 *   boolean. GUPNP_TYPE_INT Type of the variable is integer.
 *   GUPNP_TYPE_LONG Type of the variable is long. GUPNP_TYPE_DOUBLE Type
 *   of the variable is double. GUPNP_TYPE_FLOAT Type of the variable is
 *   float. GUPNP_TYPE_STRING Type of the variable is string.
 * @return bool
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_service_proxy_action_set($proxy, $action, $name, $value, $type){}

/**
 * Sets up callback for variable change notification
 *
 * Sets up callback to be called whenever a change notification for
 * variable is recieved.
 *
 * @param resource $proxy A service proxy identifier.
 * @param string $value The variable to add notification for.
 * @param int $type The type of the variable. Type can be one of the
 *   following values: GUPNP_TYPE_BOOLEAN Type of the variable is
 *   boolean. GUPNP_TYPE_INT Type of the variable is integer.
 *   GUPNP_TYPE_LONG Type of the variable is long. GUPNP_TYPE_DOUBLE Type
 *   of the variable is double. GUPNP_TYPE_FLOAT Type of the variable is
 *   float. GUPNP_TYPE_STRING Type of the variable is string.
 * @param mixed $callback
 * @param mixed $arg
 * @return bool
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_service_proxy_add_notify($proxy, $value, $type, $callback, $arg){}

/**
 * Set service proxy callback for signal
 *
 * @param resource $proxy A service proxy identifier.
 * @param int $signal The value of signal.
 *   GUPNP_SIGNAL_SUBSCRIPTION_LOST Emitted whenever the subscription to
 *   this service has been lost due to an error condition.
 * @param mixed $callback
 * @param mixed $arg The callback function for the certain signal.
 *   Typically, callback function takes on two parameters. {@link error}
 *   parameter's message being the first, and the {@link arg} is second.
 * @return bool
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_service_proxy_callback_set($proxy, $signal, $callback, $arg){}

/**
 * Check whether subscription is valid to the service
 *
 * @param resource $proxy A service proxy identifier.
 * @return bool
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_service_proxy_get_subscribed($proxy){}

/**
 * Cancels the variable change notification
 *
 * @param resource $proxy A service proxy identifier.
 * @param string $value The variable to add notification for.
 * @return bool
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_service_proxy_remove_notify($proxy, $value){}

/**
 * Send action with multiple parameters synchronously
 *
 * Send action with parameters {@link in_params} to the service exposed
 * by proxy synchronously and return {@link out_params} with values or
 * FALSE on error.
 *
 * @param resource $proxy A service proxy identifier.
 * @param string $action An action.
 * @param array $in_params An array of in parameters. Each entry in
 *   {@link in_params} is supposed to an array containing name, type and
 *   value of the parameters.
 * @param array $out_params An array of out parameters. Each entry in
 *   {@link out_params} is supposed to an array containing name and type
 *   of the parameters.
 * @return array Return {@link out_params} array with values or FALSE
 *   on error.
 * @since PECL gupnp >= 0.2.0
 **/
function gupnp_service_proxy_send_action($proxy, $action, $in_params, $out_params){}

/**
 * (Un)subscribes to the service
 *
 * @param resource $proxy A service proxy identifier.
 * @param bool $subscribed Set TRUE to subscribe to this service.
 * @return bool
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_service_proxy_set_subscribed($proxy, $subscribed){}

/**
 * Sends out any pending notifications and stops queuing of new ones
 *
 * @param resource $service A service identifier.
 * @return bool
 * @since PECL gupnp >= 0.1.0
 **/
function gupnp_service_thaw_notify($service){}

/**
 * Close an open gz-file pointer
 *
 * Closes the given gz-file pointer.
 *
 * @param resource $zp The gz-file pointer. It must be valid, and must
 *   point to a file successfully opened by {@link gzopen}.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function gzclose($zp){}

/**
 * Compress a string
 *
 * This function compresses the given string using the ZLIB data format.
 *
 * For details on the ZLIB compression algorithm see the document "ZLIB
 * Compressed Data Format Specification version 3.3" (RFC 1950).
 *
 * @param string $data The data to compress.
 * @param int $level The level of compression. Can be given as 0 for no
 *   compression up to 9 for maximum compression. If -1 is used, the
 *   default compression of the zlib library is used which is 6.
 * @param int $encoding One of ZLIB_ENCODING_* constants.
 * @return string The compressed string or FALSE if an error occurred.
 * @since PHP 4 >= 4.0.1, PHP 5, PHP 7
 **/
function gzcompress($data, $level, $encoding){}

/**
 * Decodes a gzip compressed string
 *
 * This function returns a decoded version of the input {@link data}.
 *
 * @param string $data The data to decode, encoded by {@link gzencode}.
 * @param int $length The maximum length of data to decode.
 * @return string The decoded string, or FALSE if an error occurred.
 * @since PHP 5 >= 5.4.0, PHP 7
 **/
function gzdecode($data, $length){}

/**
 * Deflate a string
 *
 * This function compresses the given string using the DEFLATE data
 * format.
 *
 * For details on the DEFLATE compression algorithm see the document
 * "DEFLATE Compressed Data Format Specification version 1.3" (RFC 1951).
 *
 * @param string $data The data to deflate.
 * @param int $level The level of compression. Can be given as 0 for no
 *   compression up to 9 for maximum compression. If not given, the
 *   default compression level will be the default compression level of
 *   the zlib library.
 * @param int $encoding One of ZLIB_ENCODING_* constants.
 * @return string The deflated string or FALSE if an error occurred.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gzdeflate($data, $level, $encoding){}

/**
 * Create a gzip compressed string
 *
 * This function returns a compressed version of the input {@link data}
 * compatible with the output of the gzip program.
 *
 * For more information on the GZIP file format, see the document: GZIP
 * file format specification version 4.3 (RFC 1952).
 *
 * @param string $data The data to encode.
 * @param int $level The level of compression. Can be given as 0 for no
 *   compression up to 9 for maximum compression. If not given, the
 *   default compression level will be the default compression level of
 *   the zlib library.
 * @param int $encoding_mode The encoding mode. Can be FORCE_GZIP (the
 *   default) or FORCE_DEFLATE. Prior to PHP 5.4.0, using FORCE_DEFLATE
 *   results in a standard zlib deflated string (inclusive zlib headers)
 *   after a gzip file header but without the trailing crc32 checksum. In
 *   PHP 5.4.0 and later, FORCE_DEFLATE generates RFC 1950 compliant
 *   output, consisting of a zlib header, the deflated data, and an Adler
 *   checksum.
 * @return string The encoded string, or FALSE if an error occurred.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gzencode($data, $level, $encoding_mode){}

/**
 * Test for on a gz-file pointer
 *
 * Tests the given GZ file pointer for EOF.
 *
 * @param resource $zp The gz-file pointer. It must be valid, and must
 *   point to a file successfully opened by {@link gzopen}.
 * @return int Returns TRUE if the gz-file pointer is at EOF or an
 *   error occurs; otherwise returns FALSE.
 * @since PHP 4, PHP 5, PHP 7
 **/
function gzeof($zp){}

/**
 * Read entire gz-file into an array
 *
 * This function is identical to {@link readgzfile}, except that it
 * returns the file in an array.
 *
 * @param string $filename The file name.
 * @param int $use_include_path You can set this optional parameter to
 *   1, if you want to search for the file in the include_path too.
 * @return array An array containing the file, one line per cell, empty
 *   lines included, and with newlines still attached.
 * @since PHP 4, PHP 5, PHP 7
 **/
function gzfile($filename, $use_include_path){}

/**
 * Get character from gz-file pointer
 *
 * Returns a string containing a single (uncompressed) character read
 * from the given gz-file pointer.
 *
 * @param resource $zp The gz-file pointer. It must be valid, and must
 *   point to a file successfully opened by {@link gzopen}.
 * @return string The uncompressed character or FALSE on EOF (unlike
 *   {@link gzeof}).
 * @since PHP 4, PHP 5, PHP 7
 **/
function gzgetc($zp){}

/**
 * Get line from file pointer
 *
 * Gets a (uncompressed) string of up to length - 1 bytes read from the
 * given file pointer. Reading ends when length - 1 bytes have been read,
 * on a newline, or on EOF (whichever comes first).
 *
 * @param resource $zp The gz-file pointer. It must be valid, and must
 *   point to a file successfully opened by {@link gzopen}.
 * @param int $length The length of data to get.
 * @return string The uncompressed string, or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function gzgets($zp, $length){}

/**
 * Get line from gz-file pointer and strip HTML tags
 *
 * Identical to {@link gzgets}, except that {@link gzgetss} attempts to
 * strip any HTML and PHP tags from the text it reads.
 *
 * @param resource $zp The gz-file pointer. It must be valid, and must
 *   point to a file successfully opened by {@link gzopen}.
 * @param int $length The length of data to get.
 * @param string $allowable_tags You can use this optional parameter to
 *   specify tags which should not be stripped.
 * @return string The uncompressed and stripped string, or FALSE on
 *   error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function gzgetss($zp, $length, $allowable_tags){}

/**
 * Inflate a deflated string
 *
 * This function inflates a deflated string.
 *
 * @param string $data The data compressed by {@link gzdeflate}.
 * @param int $length The maximum length of data to decode.
 * @return string The original uncompressed data or FALSE on error.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function gzinflate($data, $length){}

/**
 * Open gz-file
 *
 * Opens a gzip (.gz) file for reading or writing.
 *
 * {@link gzopen} can be used to read a file which is not in gzip format;
 * in this case {@link gzread} will directly read from the file without
 * decompression.
 *
 * @param string $filename The file name.
 * @param string $mode As in {@link fopen} (rb or wb) but can also
 *   include a compression level (wb9) or a strategy: f for filtered data
 *   as in wb6f, h for Huffman only compression as in wb1h. (See the
 *   description of deflateInit2 in zlib.h for more information about the
 *   strategy parameter.)
 * @param int $use_include_path You can set this optional parameter to
 *   1, if you want to search for the file in the include_path too.
 * @return resource Returns a file pointer to the file opened, after
 *   that, everything you read from this file descriptor will be
 *   transparently decompressed and what you write gets compressed.
 * @since PHP 4, PHP 5, PHP 7
 **/
function gzopen($filename, $mode, $use_include_path){}

/**
 * Output all remaining data on a gz-file pointer
 *
 * Reads to EOF on the given gz-file pointer from the current position
 * and writes the (uncompressed) results to standard output.
 *
 * @param resource $zp The gz-file pointer. It must be valid, and must
 *   point to a file successfully opened by {@link gzopen}.
 * @return int The number of uncompressed characters read from {@link
 *   gz} and passed through to the input, or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function gzpassthru($zp){}

/**
 * Binary-safe gz-file write
 *
 * {@link gzputs} writes the contents of {@link string} to the given
 * gz-file.
 *
 * @param resource $zp The gz-file pointer. It must be valid, and must
 *   point to a file successfully opened by {@link gzopen}.
 * @param string $string The string to write.
 * @param int $length The number of uncompressed bytes to write. If
 *   supplied, writing will stop after {@link length} (uncompressed)
 *   bytes have been written or the end of {@link string} is reached,
 *   whichever comes first.
 * @return int Returns the number of (uncompressed) bytes written to
 *   the given gz-file stream.
 * @since PHP 4, PHP 5, PHP 7
 **/
function gzputs($zp, $string, $length){}

/**
 * Binary-safe gz-file read
 *
 * {@link gzread} reads up to {@link length} bytes from the given gz-file
 * pointer. Reading stops when {@link length} (uncompressed) bytes have
 * been read or EOF is reached, whichever comes first.
 *
 * @param resource $zp The gz-file pointer. It must be valid, and must
 *   point to a file successfully opened by {@link gzopen}.
 * @param int $length The number of bytes to read.
 * @return string The data that have been read.
 * @since PHP 4, PHP 5, PHP 7
 **/
function gzread($zp, $length){}

/**
 * Rewind the position of a gz-file pointer
 *
 * Sets the file position indicator of the given gz-file pointer to the
 * beginning of the file stream.
 *
 * @param resource $zp The gz-file pointer. It must be valid, and must
 *   point to a file successfully opened by {@link gzopen}.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function gzrewind($zp){}

/**
 * Seek on a gz-file pointer
 *
 * Sets the file position indicator for the given file pointer to the
 * given offset byte into the file stream. Equivalent to calling (in C)
 * gzseek(zp, offset, SEEK_SET).
 *
 * If the file is opened for reading, this function is emulated but can
 * be extremely slow. If the file is opened for writing, only forward
 * seeks are supported; {@link gzseek} then compresses a sequence of
 * zeroes up to the new starting position.
 *
 * @param resource $zp The gz-file pointer. It must be valid, and must
 *   point to a file successfully opened by {@link gzopen}.
 * @param int $offset The seeked offset.
 * @param int $whence {@link whence} values are: SEEK_SET - Set
 *   position equal to {@link offset} bytes. SEEK_CUR - Set position to
 *   current location plus {@link offset}. If {@link whence} is not
 *   specified, it is assumed to be SEEK_SET.
 * @return int Upon success, returns 0; otherwise, returns -1. Note
 *   that seeking past EOF is not considered an error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function gzseek($zp, $offset, $whence){}

/**
 * Tell gz-file pointer read/write position
 *
 * Gets the position of the given file pointer; i.e., its offset into the
 * uncompressed file stream.
 *
 * @param resource $zp The gz-file pointer. It must be valid, and must
 *   point to a file successfully opened by {@link gzopen}.
 * @return int The position of the file pointer or FALSE if an error
 *   occurs.
 * @since PHP 4, PHP 5, PHP 7
 **/
function gztell($zp){}

/**
 * Uncompress a compressed string
 *
 * This function uncompress a compressed string.
 *
 * @param string $data The data compressed by {@link gzcompress}.
 * @param int $length The maximum length of data to decode.
 * @return string The original uncompressed data or FALSE on error.
 * @since PHP 4 >= 4.0.1, PHP 5, PHP 7
 **/
function gzuncompress($data, $length){}

/**
 * Binary-safe gz-file write
 *
 * {@link gzwrite} writes the contents of {@link string} to the given
 * gz-file.
 *
 * @param resource $zp The gz-file pointer. It must be valid, and must
 *   point to a file successfully opened by {@link gzopen}.
 * @param string $string The string to write.
 * @param int $length The number of uncompressed bytes to write. If
 *   supplied, writing will stop after {@link length} (uncompressed)
 *   bytes have been written or the end of {@link string} is reached,
 *   whichever comes first.
 * @return int Returns the number of (uncompressed) bytes written to
 *   the given gz-file stream.
 * @since PHP 4, PHP 5, PHP 7
 **/
function gzwrite($zp, $string, $length){}

/**
 * Generate a hash value (message digest)
 *
 * @param string $algo Name of selected hashing algorithm (e.g. "md5",
 *   "sha256", "haval160,4", etc..)
 * @param string $data Message to be hashed.
 * @param bool $raw_output When set to TRUE, outputs raw binary data.
 *   FALSE outputs lowercase hexits.
 * @return string Returns a string containing the calculated message
 *   digest as lowercase hexits unless {@link raw_output} is set to true
 *   in which case the raw binary representation of the message digest is
 *   returned.
 * @since PHP 5 >= 5.1.2, PHP 7, PECL hash >= 1.1
 **/
function hash($algo, $data, $raw_output){}

/**
 * Return a list of registered hashing algorithms
 *
 * @return array Returns a numerically indexed array containing the
 *   list of supported hashing algorithms.
 * @since PHP 5 >= 5.1.2, PHP 7, PECL hash >= 1.1
 **/
function hash_algos(){}

/**
 * Copy hashing context
 *
 * @param HashContext $context Hashing context returned by {@link
 *   hash_init}.
 * @return HashContext Returns a copy of Hashing Context.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function hash_copy($context){}

/**
 * Timing attack safe string comparison
 *
 * Compares two strings using the same time whether they're equal or not.
 *
 * This function should be used to mitigate timing attacks; for instance,
 * when testing {@link crypt} password hashes.
 *
 * @param string $known_string The string of known length to compare
 *   against
 * @param string $user_string The user-supplied string
 * @return bool Returns TRUE when the two strings are equal, FALSE
 *   otherwise.
 * @since PHP 5 >= 5.6.0, PHP 7
 **/
function hash_equals($known_string, $user_string){}

/**
 * Generate a hash value using the contents of a given file
 *
 * @param string $algo Name of selected hashing algorithm (i.e. "md5",
 *   "sha256", "haval160,4", etc..)
 * @param string $filename URL describing location of file to be
 *   hashed; Supports fopen wrappers.
 * @param bool $raw_output When set to TRUE, outputs raw binary data.
 *   FALSE outputs lowercase hexits.
 * @return string Returns a string containing the calculated message
 *   digest as lowercase hexits unless {@link raw_output} is set to true
 *   in which case the raw binary representation of the message digest is
 *   returned.
 * @since PHP 5 >= 5.1.2, PHP 7, PECL hash >= 1.1
 **/
function hash_file($algo, $filename, $raw_output){}

/**
 * Finalize an incremental hash and return resulting digest
 *
 * @param HashContext $context Hashing context returned by {@link
 *   hash_init}.
 * @param bool $raw_output When set to TRUE, outputs raw binary data.
 *   FALSE outputs lowercase hexits.
 * @return string Returns a string containing the calculated message
 *   digest as lowercase hexits unless {@link raw_output} is set to true
 *   in which case the raw binary representation of the message digest is
 *   returned.
 * @since PHP 5 >= 5.1.2, PHP 7, PECL hash >= 1.1
 **/
function hash_final($context, $raw_output){}

/**
 * Generate a HKDF key derivation of a supplied key input
 *
 * @param string $algo Name of selected hashing algorithm (i.e.
 *   "sha256", "sha512", "haval160,4", etc..) See {@link hash_algos} for
 *   a list of supported algorithms. Non-cryptographic hash functions are
 *   not allowed.
 * @param string $ikm Input keying material (raw binary). Cannot be
 *   empty.
 * @param int $length Desired output length in bytes. Cannot be greater
 *   than 255 times the chosen hash function size. If {@link length} is
 *   0, the output length will default to the chosen hash function size.
 * @param string $info Application/context-specific info string.
 * @param string $salt Salt to use during derivation. While optional,
 *   adding random salt significantly improves the strength of HKDF.
 * @return string Returns a string containing a raw binary
 *   representation of the derived key (also known as output keying
 *   material - OKM); or FALSE on failure.
 * @since PHP 7 >= 7.1.2
 **/
function hash_hkdf($algo, $ikm, $length, $info, $salt){}

/**
 * Generate a keyed hash value using the HMAC method
 *
 * @param string $algo Name of selected hashing algorithm (i.e. "md5",
 *   "sha256", "haval160,4", etc..) See {@link hash_hmac_algos} for a
 *   list of supported algorithms.
 * @param string $data Message to be hashed.
 * @param string $key Shared secret key used for generating the HMAC
 *   variant of the message digest.
 * @param bool $raw_output When set to TRUE, outputs raw binary data.
 *   FALSE outputs lowercase hexits.
 * @return string Returns a string containing the calculated message
 *   digest as lowercase hexits unless {@link raw_output} is set to true
 *   in which case the raw binary representation of the message digest is
 *   returned. Returns FALSE when {@link algo} is unknown or is a
 *   non-cryptographic hash function.
 * @since PHP 5 >= 5.1.2, PHP 7, PECL hash >= 1.1
 **/
function hash_hmac($algo, $data, $key, $raw_output){}

/**
 * Return a list of registered hashing algorithms suitable for hash_hmac
 *
 * @return array Returns a numerically indexed array containing the
 *   list of supported hashing algorithms suitable for {@link hash_hmac}.
 * @since PHP 7 >= 7.2.0
 **/
function hash_hmac_algos(){}

/**
 * Generate a keyed hash value using the HMAC method and the contents of
 * a given file
 *
 * @param string $algo Name of selected hashing algorithm (i.e. "md5",
 *   "sha256", "haval160,4", etc..) See {@link hash_hmac_algos} for a
 *   list of supported algorithms.
 * @param string $filename URL describing location of file to be
 *   hashed; Supports fopen wrappers.
 * @param string $key Shared secret key used for generating the HMAC
 *   variant of the message digest.
 * @param bool $raw_output When set to TRUE, outputs raw binary data.
 *   FALSE outputs lowercase hexits.
 * @return string Returns a string containing the calculated message
 *   digest as lowercase hexits unless {@link raw_output} is set to true
 *   in which case the raw binary representation of the message digest is
 *   returned. Returns FALSE when {@link algo} is unknown or is a
 *   non-cryptographic hash function, or if the file {@link filename}
 *   cannot be read.
 * @since PHP 5 >= 5.1.2, PHP 7, PECL hash >= 1.1
 **/
function hash_hmac_file($algo, $filename, $key, $raw_output){}

/**
 * Initialize an incremental hashing context
 *
 * @param string $algo Name of selected hashing algorithm (i.e. "md5",
 *   "sha256", "haval160,4", etc..). For a list of supported algorithms
 *   see {@link hash_algos}.
 * @param int $options Optional settings for hash generation, currently
 *   supports only one option: HASH_HMAC. When specified, the {@link key}
 *   must be specified.
 * @param string $key When HASH_HMAC is specified for {@link options},
 *   a shared secret key to be used with the HMAC hashing method must be
 *   supplied in this parameter.
 * @return HashContext Returns a Hashing Context for use with {@link
 *   hash_update}, {@link hash_update_stream}, {@link hash_update_file},
 *   and {@link hash_final}.
 * @since PHP 5 >= 5.1.2, PHP 7, PECL hash >= 1.1
 **/
function hash_init($algo, $options, $key){}

/**
 * Generate a PBKDF2 key derivation of a supplied password
 *
 * @param string $algo Name of selected hashing algorithm (i.e. md5,
 *   sha256, haval160,4, etc..) See {@link hash_algos} for a list of
 *   supported algorithms.
 * @param string $password The password to use for the derivation.
 * @param string $salt The salt to use for the derivation. This value
 *   should be generated randomly.
 * @param int $iterations The number of internal iterations to perform
 *   for the derivation.
 * @param int $length The length of the output string. If {@link
 *   raw_output} is TRUE this corresponds to the byte-length of the
 *   derived key, if {@link raw_output} is FALSE this corresponds to
 *   twice the byte-length of the derived key (as every byte of the key
 *   is returned as two hexits). If 0 is passed, the entire output of the
 *   supplied algorithm is used.
 * @param bool $raw_output When set to TRUE, outputs raw binary data.
 *   FALSE outputs lowercase hexits.
 * @return string Returns a string containing the derived key as
 *   lowercase hexits unless {@link raw_output} is set to TRUE in which
 *   case the raw binary representation of the derived key is returned.
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function hash_pbkdf2($algo, $password, $salt, $iterations, $length, $raw_output){}

/**
 * Pump data into an active hashing context
 *
 * @param HashContext $context Hashing context returned by {@link
 *   hash_init}.
 * @param string $data Message to be included in the hash digest.
 * @return bool Returns TRUE.
 * @since PHP 5 >= 5.1.2, PHP 7, PECL hash >= 1.1
 **/
function hash_update($context, $data){}

/**
 * Pump data into an active hashing context from a file
 *
 * @param HashContext $hcontext Hashing context returned by {@link
 *   hash_init}.
 * @param string $filename URL describing location of file to be
 *   hashed; Supports fopen wrappers.
 * @param resource $scontext Stream context as returned by {@link
 *   stream_context_create}.
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL hash >= 1.1
 **/
function hash_update_file($hcontext, $filename, $scontext){}

/**
 * Pump data into an active hashing context from an open stream
 *
 * @param HashContext $context Hashing context returned by {@link
 *   hash_init}.
 * @param resource $handle Open file handle as returned by any stream
 *   creation function.
 * @param int $length Maximum number of characters to copy from {@link
 *   handle} into the hashing context.
 * @return int Actual number of bytes added to the hashing context from
 *   {@link handle}.
 * @since PHP 5 >= 5.1.2, PHP 7, PECL hash >= 1.1
 **/
function hash_update_stream($context, $handle, $length){}

/**
 * Send a raw HTTP header
 *
 * {@link header} is used to send a raw HTTP header. See the HTTP/1.1
 * specification for more information on HTTP headers.
 *
 * Remember that {@link header} must be called before any actual output
 * is sent, either by normal HTML tags, blank lines in a file, or from
 * PHP. It is a very common error to read code with {@link include}, or
 * {@link require}, functions, or another file access function, and have
 * spaces or empty lines that are output before {@link header} is called.
 * The same problem exists when using a single PHP/HTML file.
 *
 * <html> <?php /* This will give an error. Note the output * above,
 * which is before the header() call * / header('Location:
 * http://www.example.com/'); exit; ?>
 *
 * @param string $header The header string. There are two special-case
 *   header calls. The first is a header that starts with the string
 *   "HTTP/" (case is not significant), which will be used to figure out
 *   the HTTP status code to send. For example, if you have configured
 *   Apache to use a PHP script to handle requests for missing files
 *   (using the ErrorDocument directive), you may want to make sure that
 *   your script generates the proper status code.
 *   
 *   <?php header("HTTP/1.0 404 Not Found"); ?>
 *   
 *   The second special case is the "Location:" header. Not only does it
 *   send this header back to the browser, but it also returns a REDIRECT
 *   (302) status code to the browser unless the 201 or a 3xx status code
 *   has already been set.
 *   
 *   <?php header("Location: http://www.example.com/"); /* Redirect
 *   browser * /
 *   
 *   /* Make sure that code below does not get executed when we redirect.
 *   * / exit; ?>
 * @param bool $replace The optional {@link replace} parameter
 *   indicates whether the header should replace a previous similar
 *   header, or add a second header of the same type. By default it will
 *   replace, but if you pass in FALSE as the second argument you can
 *   force multiple headers of the same type. For example:
 *   
 *   <?php header('WWW-Authenticate: Negotiate');
 *   header('WWW-Authenticate: NTLM', false); ?>
 * @param int $http_response_code Forces the HTTP response code to the
 *   specified value. Note that this parameter only has an effect if the
 *   {@link header} is not empty.
 * @return void
 * @since PHP 4, PHP 5, PHP 7
 **/
function header($header, $replace, $http_response_code){}

/**
 * Returns a list of response headers sent (or ready to send)
 *
 * {@link headers_list} will return a list of headers to be sent to the
 * browser / client. To determine whether or not these headers have been
 * sent yet, use {@link headers_sent}.
 *
 * @return array Returns a numerically indexed array of headers.
 * @since PHP 5, PHP 7
 **/
function headers_list(){}

/**
 * Checks if or where headers have been sent
 *
 * You can't add any more header lines using the {@link header} function
 * once the header block has already been sent. Using this function you
 * can at least prevent getting HTTP header related error messages.
 * Another option is to use Output Buffering.
 *
 * @param string $file If the optional {@link file} and {@link line}
 *   parameters are set, {@link headers_sent} will put the PHP source
 *   file name and line number where output started in the {@link file}
 *   and {@link line} variables.
 * @param int $line The line number where the output started.
 * @return bool {@link headers_sent} will return FALSE if no HTTP
 *   headers have already been sent or TRUE otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function headers_sent(&$file, &$line){}

/**
 * Call a header function
 *
 * Registers a function that will be called when PHP starts sending
 * output.
 *
 * The {@link callback} is executed just after PHP prepares all headers
 * to be sent, and before any other output is sent, creating a window to
 * manipulate the outgoing headers before being sent.
 *
 * @param callable $callback Function called just before the headers
 *   are sent. It gets no parameters and the return value is ignored.
 * @return bool
 * @since PHP 5 >= 5.4.0, PHP 7
 **/
function header_register_callback($callback){}

/**
 * Remove previously set headers
 *
 * Removes an HTTP header previously set using {@link header}.
 *
 * @param string $name The header name to be removed.
 * @return void
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function header_remove($name){}

/**
 * Convert logical Hebrew text to visual text
 *
 * Converts logical Hebrew text to visual text.
 *
 * The function tries to avoid breaking words.
 *
 * @param string $hebrew_text A Hebrew input string.
 * @param int $max_chars_per_line This optional parameter indicates
 *   maximum number of characters per line that will be returned.
 * @return string Returns the visual string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function hebrev($hebrew_text, $max_chars_per_line){}

/**
 * Convert logical Hebrew text to visual text with newline conversion
 *
 * This function is similar to {@link hebrev} with the difference that it
 * converts newlines (\n) to "<br>\n".
 *
 * The function tries to avoid breaking words.
 *
 * @param string $hebrew_text A Hebrew input string.
 * @param int $max_chars_per_line This optional parameter indicates
 *   maximum number of characters per line that will be returned.
 * @return string Returns the visual string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function hebrevc($hebrew_text, $max_chars_per_line){}

/**
 * Decodes a hexadecimally encoded binary string
 *
 * @param string $data Hexadecimal representation of data.
 * @return string Returns the binary representation of the given data .
 * @since PHP 5 >= 5.4.0, PHP 7
 **/
function hex2bin($data){}

/**
 * Hexadecimal to decimal
 *
 * Returns the decimal equivalent of the hexadecimal number represented
 * by the {@link hex_string} argument. {@link hexdec} converts a
 * hexadecimal string to a decimal number.
 *
 * {@link hexdec} will ignore any non-hexadecimal characters it
 * encounters.
 *
 * @param string $hex_string The hexadecimal string to convert
 * @return number The decimal representation of {@link hex_string}
 * @since PHP 4, PHP 5, PHP 7
 **/
function hexdec($hex_string){}

/**
 * Syntax highlighting of a file
 *
 * Prints out or returns a syntax highlighted version of the code
 * contained in {@link filename} using the colors defined in the built-in
 * syntax highlighter for PHP.
 *
 * Many servers are configured to automatically highlight files with a
 * phps extension. For example, example.phps when viewed will show the
 * syntax highlighted source of the file. To enable this, add this line
 * to the :
 *
 * @param string $filename Path to the PHP file to be highlighted.
 * @param bool $return Set this parameter to TRUE to make this function
 *   return the highlighted code.
 * @return mixed If {@link return} is set to TRUE, returns the
 *   highlighted code as a string instead of printing it out. Otherwise,
 *   it will return TRUE on success, FALSE on failure.
 * @since PHP 4, PHP 5, PHP 7
 **/
function highlight_file($filename, $return){}

/**
 * Syntax highlighting of a string
 *
 * @param string $str The PHP code to be highlighted. This should
 *   include the opening tag.
 * @param bool $return Set this parameter to TRUE to make this function
 *   return the highlighted code.
 * @return mixed If {@link return} is set to TRUE, returns the
 *   highlighted code as a string instead of printing it out. Otherwise,
 *   it will return TRUE on success, FALSE on failure.
 * @since PHP 4, PHP 5, PHP 7
 **/
function highlight_string($str, $return){}

/**
 * Get the system's high resolution time
 *
 * @param bool $get_as_number Whether the high resolution time should
 *   be returned as array or number.
 * @return mixed Returns an array of integers in the form [seconds,
 *   nanoseconds], if the parameter {@link get_as_number} is false.
 *   Otherwise the nanoseconds are returned as integer (64bit platforms)
 *   or float (32bit platforms).
 * @since PHP 7 >= 7.3.0
 **/
function hrtime($get_as_number){}

/**
 * Convert all applicable characters to HTML entities
 *
 * This function is identical to {@link htmlspecialchars} in all ways,
 * except with {@link htmlentities}, all characters which have HTML
 * character entity equivalents are translated into these entities.
 *
 * If you want to decode instead (the reverse) you can use {@link
 * html_entity_decode}.
 *
 * @param string $string The input string.
 * @param int $flags A bitmask of one or more of the following flags,
 *   which specify how to handle quotes, invalid code unit sequences and
 *   the used document type. The default is ENT_COMPAT | ENT_HTML401.
 *   Available {@link flags} constants Constant Name Description
 *   ENT_COMPAT Will convert double-quotes and leave single-quotes alone.
 *   ENT_QUOTES Will convert both double and single quotes. ENT_NOQUOTES
 *   Will leave both double and single quotes unconverted. ENT_IGNORE
 *   Silently discard invalid code unit sequences instead of returning an
 *   empty string. Using this flag is discouraged as it may have security
 *   implications. ENT_SUBSTITUTE Replace invalid code unit sequences
 *   with a Unicode Replacement Character U+FFFD (UTF-8) or &#FFFD;
 *   (otherwise) instead of returning an empty string. ENT_DISALLOWED
 *   Replace invalid code points for the given document type with a
 *   Unicode Replacement Character U+FFFD (UTF-8) or &#FFFD; (otherwise)
 *   instead of leaving them as is. This may be useful, for instance, to
 *   ensure the well-formedness of XML documents with embedded external
 *   content. ENT_HTML401 Handle code as HTML 4.01. ENT_XML1 Handle code
 *   as XML 1. ENT_XHTML Handle code as XHTML. ENT_HTML5 Handle code as
 *   HTML 5.
 * @param string $encoding
 * @param bool $double_encode When {@link double_encode} is turned off
 *   PHP will not encode existing html entities. The default is to
 *   convert everything.
 * @return string Returns the encoded string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function htmlentities($string, $flags, $encoding, $double_encode){}

/**
 * Convert special characters to HTML entities
 *
 * Certain characters have special significance in HTML, and should be
 * represented by HTML entities if they are to preserve their meanings.
 * This function returns a string with these conversions made. If you
 * require all input substrings that have associated named entities to be
 * translated, use {@link htmlentities} instead.
 *
 * If the input string passed to this function and the final document
 * share the same character set, this function is sufficient to prepare
 * input for inclusion in most contexts of an HTML document. If, however,
 * the input can represent characters that are not coded in the final
 * document character set and you wish to retain those characters (as
 * numeric or named entities), both this function and {@link
 * htmlentities} (which only encodes substrings that have named entity
 * equivalents) may be insufficient. You may have to use {@link
 * mb_encode_numericentity} instead.
 *
 * Performed translations Character Replacement & (ampersand) &amp;
 * (double quote) &quot;, unless ENT_NOQUOTES is set ' (single quote)
 * &#039; (for ENT_HTML401) or &apos; (for ENT_XML1, ENT_XHTML or
 * ENT_HTML5), but only when ENT_QUOTES is set < (less than) &lt; >
 * (greater than) &gt;
 *
 * @param string $string The string being converted.
 * @param int $flags A bitmask of one or more of the following flags,
 *   which specify how to handle quotes, invalid code unit sequences and
 *   the used document type. The default is ENT_COMPAT | ENT_HTML401.
 *   Available {@link flags} constants Constant Name Description
 *   ENT_COMPAT Will convert double-quotes and leave single-quotes alone.
 *   ENT_QUOTES Will convert both double and single quotes. ENT_NOQUOTES
 *   Will leave both double and single quotes unconverted. ENT_IGNORE
 *   Silently discard invalid code unit sequences instead of returning an
 *   empty string. Using this flag is discouraged as it may have security
 *   implications. ENT_SUBSTITUTE Replace invalid code unit sequences
 *   with a Unicode Replacement Character U+FFFD (UTF-8) or &#xFFFD;
 *   (otherwise) instead of returning an empty string. ENT_DISALLOWED
 *   Replace invalid code points for the given document type with a
 *   Unicode Replacement Character U+FFFD (UTF-8) or &#xFFFD; (otherwise)
 *   instead of leaving them as is. This may be useful, for instance, to
 *   ensure the well-formedness of XML documents with embedded external
 *   content. ENT_HTML401 Handle code as HTML 4.01. ENT_XML1 Handle code
 *   as XML 1. ENT_XHTML Handle code as XHTML. ENT_HTML5 Handle code as
 *   HTML 5.
 * @param string $encoding For the purposes of this function, the
 *   encodings ISO-8859-1, ISO-8859-15, UTF-8, cp866, cp1251, cp1252, and
 *   KOI8-R are effectively equivalent, provided the {@link string}
 *   itself is valid for the encoding, as the characters affected by
 *   {@link htmlspecialchars} occupy the same positions in all of these
 *   encodings.
 * @param bool $double_encode When {@link double_encode} is turned off
 *   PHP will not encode existing html entities, the default is to
 *   convert everything.
 * @return string The converted string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function htmlspecialchars($string, $flags, $encoding, $double_encode){}

/**
 * Convert special HTML entities back to characters
 *
 * This function is the opposite of {@link htmlspecialchars}. It converts
 * special HTML entities back to characters.
 *
 * The converted entities are: &amp;, &quot; (when ENT_NOQUOTES is not
 * set), &#039; (when ENT_QUOTES is set), &lt; and &gt;.
 *
 * @param string $string The string to decode.
 * @param int $flags A bitmask of one or more of the following flags,
 *   which specify how to handle quotes and which document type to use.
 *   The default is ENT_COMPAT | ENT_HTML401. Available {@link flags}
 *   constants Constant Name Description ENT_COMPAT Will convert
 *   double-quotes and leave single-quotes alone. ENT_QUOTES Will convert
 *   both double and single quotes. ENT_NOQUOTES Will leave both double
 *   and single quotes unconverted. ENT_HTML401 Handle code as HTML 4.01.
 *   ENT_XML1 Handle code as XML 1. ENT_XHTML Handle code as XHTML.
 *   ENT_HTML5 Handle code as HTML 5.
 * @return string Returns the decoded string.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function htmlspecialchars_decode($string, $flags){}

/**
 * Convert HTML entities to their corresponding characters
 *
 * {@link html_entity_decode} is the opposite of {@link htmlentities} in
 * that it converts HTML entities in the {@link string} to their
 * corresponding characters.
 *
 * More precisely, this function decodes all the entities (including all
 * numeric entities) that a) are necessarily valid for the chosen
 * document type — i.e., for XML, this function does not decode named
 * entities that might be defined in some DTD — and b) whose character
 * or characters are in the coded character set associated with the
 * chosen encoding and are permitted in the chosen document type. All
 * other entities are left as is.
 *
 * @param string $string The input string.
 * @param int $flags A bitmask of one or more of the following flags,
 *   which specify how to handle quotes and which document type to use.
 *   The default is ENT_COMPAT | ENT_HTML401. Available {@link flags}
 *   constants Constant Name Description ENT_COMPAT Will convert
 *   double-quotes and leave single-quotes alone. ENT_QUOTES Will convert
 *   both double and single quotes. ENT_NOQUOTES Will leave both double
 *   and single quotes unconverted. ENT_HTML401 Handle code as HTML 4.01.
 *   ENT_XML1 Handle code as XML 1. ENT_XHTML Handle code as XHTML.
 *   ENT_HTML5 Handle code as HTML 5.
 * @param string $encoding
 * @return string Returns the decoded string.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function html_entity_decode($string, $flags, $encoding){}

/**
 * Generate URL-encoded query string
 *
 * Generates a URL-encoded query string from the associative (or indexed)
 * array provided.
 *
 * @param mixed $query_data May be an array or object containing
 *   properties. If {@link query_data} is an array, it may be a simple
 *   one-dimensional structure, or an array of arrays (which in turn may
 *   contain other arrays). If {@link query_data} is an object, then only
 *   public properties will be incorporated into the result.
 * @param string $numeric_prefix If numeric indices are used in the
 *   base array and this parameter is provided, it will be prepended to
 *   the numeric index for elements in the base array only. This is meant
 *   to allow for legal variable names when the data is decoded by PHP or
 *   another CGI application later on.
 * @param string $arg_separator arg_separator.output is used to
 *   separate arguments but may be overridden by specifying this
 *   parameter.
 * @param int $enc_type By default, PHP_QUERY_RFC1738. If {@link
 *   enc_type} is PHP_QUERY_RFC1738, then encoding is performed per RFC
 *   1738 and the application/x-www-form-urlencoded media type, which
 *   implies that spaces are encoded as plus (+) signs. If {@link
 *   enc_type} is PHP_QUERY_RFC3986, then encoding is performed according
 *   to RFC 3986, and spaces will be percent encoded (%20).
 * @return string Returns a URL-encoded string.
 * @since PHP 5, PHP 7
 **/
function http_build_query($query_data, $numeric_prefix, $arg_separator, $enc_type){}

/**
 * Get or Set the HTTP response code
 *
 * Gets or sets the HTTP response status code.
 *
 * @param int $response_code The optional {@link response_code} will
 *   set the response code.
 * @return mixed If {@link response_code} is provided, then the
 *   previous status code will be returned. If {@link response_code} is
 *   not provided, then the current status code will be returned. Both of
 *   these values will default to a 200 status code if used in a web
 *   server environment.
 * @since PHP 5 >= 5.4.0, PHP 7
 **/
function http_response_code($response_code){}

/**
 * Creates instance of class hw_api_attribute
 *
 * Creates a new instance of hw_api_attribute with the given name and
 * value.
 *
 * @param string $name The attribute name.
 * @param string $value The attribute value.
 * @return HW_API_Attribute Returns an instance of hw_api_attribute.
 * @since PHP 5 < 5.2.0
 **/
function hwapi_attribute_new($name, $value){}

/**
 * Create new instance of class hw_api_content
 *
 * Creates a new content object from the string {@link content}.
 *
 * @param string $content
 * @param string $mimetype The mimetype for the contents.
 * @return HW_API_Content
 * @since PHP 5 < 5.2.0
 **/
function hwapi_content_new($content, $mimetype){}

/**
 * Returns object of class hw_api
 *
 * Opens a connection to the Hyperwave server on host {@link hostname}.
 * The protocol used is HGCSP.
 *
 * @param string $hostname The host name.
 * @param int $port If you do not pass a port number, 418 is used.
 * @return HW_API Returns an instance of HW_API.
 * @since PHP 4, PHP 5 < 5.2.0, PECL hwapi SVN
 **/
function hwapi_hgcsp($hostname, $port){}

/**
 * Creates a new instance of class hwapi_object_new
 *
 * Creates a new instance of the class hw_api_object.
 *
 * @param array $parameter
 * @return hw_api_object
 * @since PHP 5 < 5.2.0
 **/
function hwapi_object_new($parameter){}

/**
 * Calculate the length of the hypotenuse of a right-angle triangle
 *
 * {@link hypot} returns the length of the hypotenuse of a right-angle
 * triangle with sides of length {@link x} and {@link y}, or the distance
 * of the point ({@link x}, {@link y}) from the origin. This is
 * equivalent to sqrt(x*x + y*y).
 *
 * @param float $x Length of first side
 * @param float $y Length of second side
 * @return float Calculated length of the hypotenuse
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function hypot($x, $y){}

/**
 * Add a user to a security database
 *
 * @param resource $service_handle The handle on the database server
 *   service.
 * @param string $user_name The login name of the new database user.
 * @param string $password The password of the new user.
 * @param string $first_name The first name of the new database user.
 * @param string $middle_name The middle name of the new database user.
 * @param string $last_name The last name of the new database user.
 * @return bool
 * @since PHP 5, PHP 7
 **/
function ibase_add_user($service_handle, $user_name, $password, $first_name, $middle_name, $last_name){}

/**
 * Return the number of rows that were affected by the previous query
 *
 * This function returns the number of rows that were affected by the
 * previous query (INSERT, UPDATE or DELETE) that was executed from
 * within the specified transaction context.
 *
 * @param resource $link_identifier A transaction context. If {@link
 *   link_identifier} is a connection resource, its default transaction
 *   is used.
 * @return int Returns the number of rows as an integer.
 * @since PHP 5, PHP 7
 **/
function ibase_affected_rows($link_identifier){}

/**
 * Initiates a backup task in the service manager and returns immediately
 *
 * @param resource $service_handle
 * @param string $source_db
 * @param string $dest_file
 * @param int $options
 * @param bool $verbose
 * @return mixed
 * @since PHP 5, PHP 7
 **/
function ibase_backup($service_handle, $source_db, $dest_file, $options, $verbose){}

/**
 * Add data into a newly created blob
 *
 * {@link ibase_blob_add} adds data into a blob created with {@link
 * ibase_blob_create}.
 *
 * @param resource $blob_handle A blob handle opened with {@link
 *   ibase_blob_create}.
 * @param string $data The data to be added.
 * @return void
 * @since PHP 5, PHP 7
 **/
function ibase_blob_add($blob_handle, $data){}

/**
 * Cancel creating blob
 *
 * This function will discard a BLOB if it has not yet been closed by
 * {@link ibase_blob_close}.
 *
 * @param resource $blob_handle A BLOB handle opened with {@link
 *   ibase_blob_create}.
 * @return bool
 * @since PHP 5, PHP 7
 **/
function ibase_blob_cancel($blob_handle){}

/**
 * Close blob
 *
 * This function closes a BLOB that has either been opened for reading by
 * {@link ibase_blob_open} or has been opened for writing by {@link
 * ibase_blob_create}.
 *
 * @param resource $blob_handle A BLOB handle opened with {@link
 *   ibase_blob_create} or {@link ibase_blob_open}.
 * @return mixed If the BLOB was being read, this function returns TRUE
 *   on success, if the BLOB was being written to, this function returns
 *   a string containing the BLOB id that has been assigned to it by the
 *   database. On failure, this function returns FALSE.
 * @since PHP 5, PHP 7
 **/
function ibase_blob_close($blob_handle){}

/**
 * Create a new blob for adding data
 *
 * {@link ibase_blob_create} creates a new BLOB for filling with data.
 *
 * @param resource $link_identifier An InterBase link identifier. If
 *   omitted, the last opened link is assumed.
 * @return resource Returns a BLOB handle for later use with {@link
 *   ibase_blob_add}.
 * @since PHP 5, PHP 7
 **/
function ibase_blob_create($link_identifier){}

/**
 * Output blob contents to browser
 *
 * This function opens a BLOB for reading and sends its contents directly
 * to standard output (the browser, in most cases).
 *
 * @param string $blob_id An InterBase link identifier. If omitted, the
 *   last opened link is assumed.
 * @return bool
 * @since PHP 5, PHP 7
 **/
function ibase_blob_echo($blob_id){}

/**
 * Get len bytes data from open blob
 *
 * This function returns at most {@link len} bytes from a BLOB that has
 * been opened for reading by {@link ibase_blob_open}.
 *
 * @param resource $blob_handle A BLOB handle opened with {@link
 *   ibase_blob_open}.
 * @param int $len Size of returned data.
 * @return string Returns at most {@link len} bytes from the BLOB, or
 *   FALSE on failure.
 * @since PHP 5, PHP 7
 **/
function ibase_blob_get($blob_handle, $len){}

/**
 * Create blob, copy file in it, and close it
 *
 * This function creates a BLOB, reads an entire file into it, closes it
 * and returns the assigned BLOB id.
 *
 * @param resource $link_identifier An InterBase link identifier. If
 *   omitted, the last opened link is assumed.
 * @param resource $file_handle The file handle is a handle returned by
 *   {@link fopen}.
 * @return string Returns the BLOB id on success, or FALSE on error.
 * @since PHP 5, PHP 7
 **/
function ibase_blob_import($link_identifier, $file_handle){}

/**
 * Return blob length and other useful info
 *
 * Returns the BLOB length and other useful information.
 *
 * @param resource $link_identifier An InterBase link identifier. If
 *   omitted, the last opened link is assumed.
 * @param string $blob_id A BLOB id.
 * @return array Returns an array containing information about a BLOB.
 *   The information returned consists of the length of the BLOB, the
 *   number of segments it contains, the size of the largest segment, and
 *   whether it is a stream BLOB or a segmented BLOB.
 * @since PHP 5, PHP 7
 **/
function ibase_blob_info($link_identifier, $blob_id){}

/**
 * Open blob for retrieving data parts
 *
 * Opens an existing BLOB for reading.
 *
 * @param resource $link_identifier An InterBase link identifier. If
 *   omitted, the last opened link is assumed.
 * @param string $blob_id A BLOB id.
 * @return resource Returns a BLOB handle for later use with {@link
 *   ibase_blob_get}.
 * @since PHP 5, PHP 7
 **/
function ibase_blob_open($link_identifier, $blob_id){}

/**
 * Close a connection to an InterBase database
 *
 * Closes the link to an InterBase database that's associated with a
 * connection id returned from {@link ibase_connect}. Default transaction
 * on link is committed, other transactions are rolled back.
 *
 * @param resource $connection_id An InterBase link identifier returned
 *   from {@link ibase_connect}. If omitted, the last opened link is
 *   assumed.
 * @return bool
 * @since PHP 5, PHP 7
 **/
function ibase_close($connection_id){}

/**
 * Commit a transaction
 *
 * Commits a transaction.
 *
 * @param resource $link_or_trans_identifier If called without an
 *   argument, this function commits the default transaction of the
 *   default link. If the argument is a connection identifier, the
 *   default transaction of the corresponding connection will be
 *   committed. If the argument is a transaction identifier, the
 *   corresponding transaction will be committed.
 * @return bool
 * @since PHP 5, PHP 7
 **/
function ibase_commit($link_or_trans_identifier){}

/**
 * Commit a transaction without closing it
 *
 * Commits a transaction without closing it.
 *
 * @param resource $link_or_trans_identifier If called without an
 *   argument, this function commits the default transaction of the
 *   default link. If the argument is a connection identifier, the
 *   default transaction of the corresponding connection will be
 *   committed. If the argument is a transaction identifier, the
 *   corresponding transaction will be committed. The transaction context
 *   will be retained, so statements executed from within this
 *   transaction will not be invalidated.
 * @return bool
 * @since PHP 5, PHP 7
 **/
function ibase_commit_ret($link_or_trans_identifier){}

/**
 * Open a connection to a database
 *
 * Establishes a connection to an Firebird/InterBase server.
 *
 * In case a second call is made to {@link ibase_connect} with the same
 * arguments, no new link will be established, but instead, the link
 * identifier of the already opened link will be returned. The link to
 * the server will be closed as soon as the execution of the script ends,
 * unless it's closed earlier by explicitly calling {@link ibase_close}.
 *
 * @param string $database The {@link database} argument has to be a
 *   valid path to database file on the server it resides on. If the
 *   server is not local, it must be prefixed with either 'hostname:'
 *   (TCP/IP), 'hostname/port:' (TCP/IP with interbase server on custom
 *   TCP port), '//hostname/' (NetBEUI), depending on the connection
 *   protocol used.
 * @param string $username The user name. Can be set with the
 *   ibase.default_user directive.
 * @param string $password The password for {@link username}. Can be
 *   set with the ibase.default_password directive.
 * @param string $charset {@link charset} is the default character set
 *   for a database.
 * @param int $buffers {@link buffers} is the number of database
 *   buffers to allocate for the server-side cache. If 0 or omitted,
 *   server chooses its own default.
 * @param int $dialect {@link dialect} selects the default SQL dialect
 *   for any statement executed within a connection, and it defaults to
 *   the highest one supported by client libraries.
 * @param string $role Functional only with InterBase 5 and up.
 * @param int $sync
 * @return resource Returns an Firebird/InterBase link identifier on
 *   success, or FALSE on error.
 * @since PHP 5, PHP 7
 **/
function ibase_connect($database, $username, $password, $charset, $buffers, $dialect, $role, $sync){}

/**
 * Request statistics about a database
 *
 * @param resource $service_handle
 * @param string $db
 * @param int $action
 * @param int $argument
 * @return string
 * @since PHP 5, PHP 7
 **/
function ibase_db_info($service_handle, $db, $action, $argument){}

/**
 * Delete a user from a security database
 *
 * @param resource $service_handle The handle on the database server
 *   service.
 * @param string $user_name The login name of the user you want to
 *   delete from the database.
 * @return bool
 * @since PHP 5, PHP 7
 **/
function ibase_delete_user($service_handle, $user_name){}

/**
 * Drops a database
 *
 * This functions drops a database that was opened by either {@link
 * ibase_connect} or {@link ibase_pconnect}. The database is closed and
 * deleted from the server.
 *
 * @param resource $connection An InterBase link identifier. If
 *   omitted, the last opened link is assumed.
 * @return bool
 * @since PHP 5, PHP 7
 **/
function ibase_drop_db($connection){}

/**
 * Return an error code
 *
 * Returns the error code that resulted from the most recent InterBase
 * function call.
 *
 * @return int Returns the error code as an integer, or FALSE if no
 *   error occurred.
 * @since PHP 5, PHP 7
 **/
function ibase_errcode(){}

/**
 * Return error messages
 *
 * @return string Returns the error message as a string, or FALSE if no
 *   error occurred.
 * @since PHP 5, PHP 7
 **/
function ibase_errmsg(){}

/**
 * Execute a previously prepared query
 *
 * Execute a query prepared by {@link ibase_prepare}.
 *
 * This is a lot more effective than using {@link ibase_query} if you are
 * repeating a same kind of query several times with only some parameters
 * changing.
 *
 * @param resource $query An InterBase query prepared by {@link
 *   ibase_prepare}.
 * @param mixed $bind_arg
 * @return resource If the query raises an error, returns FALSE. If it
 *   is successful and there is a (possibly empty) result set (such as
 *   with a SELECT query), returns a result identifier. If the query was
 *   successful and there were no results, returns TRUE.
 * @since PHP 5, PHP 7
 **/
function ibase_execute($query, $bind_arg){}

/**
 * Fetch a result row from a query as an associative array
 *
 * {@link ibase_fetch_assoc} fetches one row of data from the {@link
 * result}. If two or more columns of the result have the same field
 * names, the last column will take precedence. To access the other
 * column(s) of the same name, you either need to access the result with
 * numeric indices by using {@link ibase_fetch_row} or use alias names in
 * your query.
 *
 * @param resource $result The result handle.
 * @param int $fetch_flag {@link fetch_flag} is a combination of the
 *   constants IBASE_TEXT and IBASE_UNIXTIME ORed together. Passing
 *   IBASE_TEXT will cause this function to return BLOB contents instead
 *   of BLOB ids. Passing IBASE_UNIXTIME will cause this function to
 *   return date/time values as Unix timestamps instead of as formatted
 *   strings.
 * @return array Returns an associative array that corresponds to the
 *   fetched row. Subsequent calls will return the next row in the result
 *   set, or FALSE if there are no more rows.
 * @since PHP 5, PHP 7
 **/
function ibase_fetch_assoc($result, $fetch_flag){}

/**
 * Get an object from a InterBase database
 *
 * Fetches a row as a pseudo-object from a given result identifier.
 *
 * Subsequent calls to {@link ibase_fetch_object} return the next row in
 * the result set.
 *
 * @param resource $result_id An InterBase result identifier obtained
 *   either by {@link ibase_query} or {@link ibase_execute}.
 * @param int $fetch_flag {@link fetch_flag} is a combination of the
 *   constants IBASE_TEXT and IBASE_UNIXTIME ORed together. Passing
 *   IBASE_TEXT will cause this function to return BLOB contents instead
 *   of BLOB ids. Passing IBASE_UNIXTIME will cause this function to
 *   return date/time values as Unix timestamps instead of as formatted
 *   strings.
 * @return object Returns an object with the next row information, or
 *   FALSE if there are no more rows.
 * @since PHP 5, PHP 7
 **/
function ibase_fetch_object($result_id, $fetch_flag){}

/**
 * Fetch a row from an InterBase database
 *
 * {@link ibase_fetch_row} fetches one row of data from the given result
 * set.
 *
 * Subsequent calls to {@link ibase_fetch_row} return the next row in the
 * result set, or FALSE if there are no more rows.
 *
 * @param resource $result_identifier An InterBase result identifier.
 * @param int $fetch_flag {@link fetch_flag} is a combination of the
 *   constants IBASE_TEXT and IBASE_UNIXTIME ORed together. Passing
 *   IBASE_TEXT will cause this function to return BLOB contents instead
 *   of BLOB ids. Passing IBASE_UNIXTIME will cause this function to
 *   return date/time values as Unix timestamps instead of as formatted
 *   strings.
 * @return array Returns an array that corresponds to the fetched row,
 *   or FALSE if there are no more rows. Each result column is stored in
 *   an array offset, starting at offset 0.
 * @since PHP 5, PHP 7
 **/
function ibase_fetch_row($result_identifier, $fetch_flag){}

/**
 * Get information about a field
 *
 * Returns an array with information about a field after a select query
 * has been run.
 *
 * @param resource $result An InterBase result identifier.
 * @param int $field_number Field offset.
 * @return array Returns an array with the following keys: name, alias,
 *   relation, length and type.
 * @since PHP 5, PHP 7
 **/
function ibase_field_info($result, $field_number){}

/**
 * Cancels a registered event handler
 *
 * This function causes the registered event handler specified by {@link
 * event} to be cancelled. The callback function will no longer be called
 * for the events it was registered to handle.
 *
 * @param resource $event An event resource, created by {@link
 *   ibase_set_event_handler}.
 * @return bool
 * @since PHP 5, PHP 7
 **/
function ibase_free_event_handler($event){}

/**
 * Free memory allocated by a prepared query
 *
 * Frees a prepared query.
 *
 * @param resource $query A query prepared with {@link ibase_prepare}.
 * @return bool
 * @since PHP 5, PHP 7
 **/
function ibase_free_query($query){}

/**
 * Free a result set
 *
 * Frees a result set.
 *
 * @param resource $result_identifier A result set created by {@link
 *   ibase_query} or {@link ibase_execute}.
 * @return bool
 * @since PHP 5, PHP 7
 **/
function ibase_free_result($result_identifier){}

/**
 * Increments the named generator and returns its new value
 *
 * @param string $generator
 * @param int $increment
 * @param resource $link_identifier
 * @return mixed Returns new generator value as integer, or as string
 *   if the value is too big.
 * @since PHP 5, PHP 7
 **/
function ibase_gen_id($generator, $increment, $link_identifier){}

/**
 * Execute a maintenance command on the database server
 *
 * @param resource $service_handle
 * @param string $db
 * @param int $action
 * @param int $argument
 * @return bool
 * @since PHP 5, PHP 7
 **/
function ibase_maintain_db($service_handle, $db, $action, $argument){}

/**
 * Modify a user to a security database
 *
 * @param resource $service_handle The handle on the database server
 *   service.
 * @param string $user_name The login name of the database user to
 *   modify.
 * @param string $password The user's new password.
 * @param string $first_name The user's new first name.
 * @param string $middle_name The user's new middle name.
 * @param string $last_name The user's new last name.
 * @return bool
 * @since PHP 5, PHP 7
 **/
function ibase_modify_user($service_handle, $user_name, $password, $first_name, $middle_name, $last_name){}

/**
 * Assigns a name to a result set
 *
 * This function assigns a name to a result set. This name can be used
 * later in UPDATE|DELETE ... WHERE CURRENT OF {@link name} statements.
 *
 * @param resource $result An InterBase result set.
 * @param string $name The name to be assigned.
 * @return bool
 * @since PHP 5, PHP 7
 **/
function ibase_name_result($result, $name){}

/**
 * Get the number of fields in a result set
 *
 * @param resource $result_id An InterBase result identifier.
 * @return int Returns the number of fields as an integer.
 * @since PHP 5, PHP 7
 **/
function ibase_num_fields($result_id){}

/**
 * Return the number of parameters in a prepared query
 *
 * This function returns the number of parameters in the prepared query
 * specified by {@link query}. This is the number of binding arguments
 * that must be present when calling {@link ibase_execute}.
 *
 * @param resource $query The prepared query handle.
 * @return int Returns the number of parameters as an integer.
 * @since PHP 5, PHP 7
 **/
function ibase_num_params($query){}

/**
 * Return information about a parameter in a prepared query
 *
 * Returns an array with information about a parameter after a query has
 * been prepared.
 *
 * @param resource $query An InterBase prepared query handle.
 * @param int $param_number Parameter offset.
 * @return array Returns an array with the following keys: name, alias,
 *   relation, length and type.
 * @since PHP 5, PHP 7
 **/
function ibase_param_info($query, $param_number){}

/**
 * Open a persistent connection to an InterBase database
 *
 * Opens a persistent connection to an InterBase database.
 *
 * {@link ibase_pconnect} acts very much like {@link ibase_connect} with
 * two major differences.
 *
 * First, when connecting, the function will first try to find a
 * (persistent) link that's already opened with the same parameters. If
 * one is found, an identifier for it will be returned instead of opening
 * a new connection.
 *
 * Second, the connection to the InterBase server will not be closed when
 * the execution of the script ends. Instead, the link will remain open
 * for future use ({@link ibase_close} will not close links established
 * by {@link ibase_pconnect}). This type of link is therefore called
 * 'persistent'.
 *
 * @param string $database The {@link database} argument has to be a
 *   valid path to database file on the server it resides on. If the
 *   server is not local, it must be prefixed with either 'hostname:'
 *   (TCP/IP), '//hostname/' (NetBEUI) or 'hostname@' (IPX/SPX),
 *   depending on the connection protocol used.
 * @param string $username The user name. Can be set with the
 *   ibase.default_user directive.
 * @param string $password The password for {@link username}. Can be
 *   set with the ibase.default_password directive.
 * @param string $charset {@link charset} is the default character set
 *   for a database.
 * @param int $buffers {@link buffers} is the number of database
 *   buffers to allocate for the server-side cache. If 0 or omitted,
 *   server chooses its own default.
 * @param int $dialect {@link dialect} selects the default SQL dialect
 *   for any statement executed within a connection, and it defaults to
 *   the highest one supported by client libraries. Functional only with
 *   InterBase 6 and up.
 * @param string $role Functional only with InterBase 5 and up.
 * @param int $sync
 * @return resource Returns an InterBase link identifier on success, or
 *   FALSE on error.
 * @since PHP 5, PHP 7
 **/
function ibase_pconnect($database, $username, $password, $charset, $buffers, $dialect, $role, $sync){}

/**
 * Prepare a query for later binding of parameter placeholders and
 * execution
 *
 * @param string $query An InterBase query.
 * @return resource Returns a prepared query handle, or FALSE on error.
 * @since PHP 5, PHP 7
 **/
function ibase_prepare($query){}

/**
 * Execute a query on an InterBase database
 *
 * @param resource $link_identifier An InterBase link identifier. If
 *   omitted, the last opened link is assumed.
 * @param string $query An InterBase query.
 * @param int $bind_args
 * @return resource If the query raises an error, returns FALSE. If it
 *   is successful and there is a (possibly empty) result set (such as
 *   with a SELECT query), returns a result identifier. If the query was
 *   successful and there were no results, returns TRUE.
 * @since PHP 5, PHP 7
 **/
function ibase_query($link_identifier, $query, $bind_args){}

/**
 * Initiates a restore task in the service manager and returns
 * immediately
 *
 * @param resource $service_handle
 * @param string $source_file
 * @param string $dest_db
 * @param int $options
 * @param bool $verbose
 * @return mixed
 * @since PHP 5, PHP 7
 **/
function ibase_restore($service_handle, $source_file, $dest_db, $options, $verbose){}

/**
 * Roll back a transaction
 *
 * Rolls back a transaction.
 *
 * @param resource $link_or_trans_identifier If called without an
 *   argument, this function rolls back the default transaction of the
 *   default link. If the argument is a connection identifier, the
 *   default transaction of the corresponding connection will be rolled
 *   back. If the argument is a transaction identifier, the corresponding
 *   transaction will be rolled back.
 * @return bool
 * @since PHP 5, PHP 7
 **/
function ibase_rollback($link_or_trans_identifier){}

/**
 * Roll back a transaction without closing it
 *
 * Rolls back a transaction without closing it.
 *
 * @param resource $link_or_trans_identifier If called without an
 *   argument, this function rolls back the default transaction of the
 *   default link. If the argument is a connection identifier, the
 *   default transaction of the corresponding connection will be rolled
 *   back. If the argument is a transaction identifier, the corresponding
 *   transaction will be rolled back. The transaction context will be
 *   retained, so statements executed from within this transaction will
 *   not be invalidated.
 * @return bool
 * @since PHP 5, PHP 7
 **/
function ibase_rollback_ret($link_or_trans_identifier){}

/**
 * Request information about a database server
 *
 * @param resource $service_handle
 * @param int $action
 * @return string
 * @since PHP 5, PHP 7
 **/
function ibase_server_info($service_handle, $action){}

/**
 * Connect to the service manager
 *
 * @param string $host
 * @param string $dba_username
 * @param string $dba_password
 * @return resource
 * @since PHP 5, PHP 7
 **/
function ibase_service_attach($host, $dba_username, $dba_password){}

/**
 * Disconnect from the service manager
 *
 * @param resource $service_handle
 * @return bool
 * @since PHP 5, PHP 7
 **/
function ibase_service_detach($service_handle){}

/**
 * Register a callback function to be called when events are posted
 *
 * This function registers a PHP user function as event handler for the
 * specified events.
 *
 * @param callable $event_handler The callback is called with the event
 *   name and the link resource as arguments whenever one of the
 *   specified events is posted by the database. The callback must return
 *   FALSE if the event handler should be canceled. Any other return
 *   value is ignored. This function accepts up to 15 event arguments.
 * @param string $event_name1 An event name.
 * @param string $event_name2 At most 15 events allowed.
 * @return resource The return value is an event resource. This
 *   resource can be used to free the event handler using {@link
 *   ibase_free_event_handler}.
 * @since PHP 5, PHP 7
 **/
function ibase_set_event_handler($event_handler, $event_name1, $event_name2){}

/**
 * Begin a transaction
 *
 * Begins a transaction.
 *
 * @param int $trans_args {@link trans_args} can be a combination of
 *   IBASE_READ, IBASE_WRITE, IBASE_COMMITTED, IBASE_CONSISTENCY,
 *   IBASE_CONCURRENCY, IBASE_REC_VERSION, IBASE_REC_NO_VERSION,
 *   IBASE_WAIT and IBASE_NOWAIT.
 * @param resource $link_identifier An InterBase link identifier. If
 *   omitted, the last opened link is assumed.
 * @return resource Returns a transaction handle, or FALSE on error.
 * @since PHP 5, PHP 7
 **/
function ibase_trans($trans_args, $link_identifier){}

/**
 * Wait for an event to be posted by the database
 *
 * This function suspends execution of the script until one of the
 * specified events is posted by the database. The name of the event that
 * was posted is returned. This function accepts up to 15 event
 * arguments.
 *
 * @param string $event_name1 The event name.
 * @param string $event_name2
 * @return string Returns the name of the event that was posted.
 * @since PHP 5, PHP 7
 **/
function ibase_wait_event($event_name1, $event_name2){}

/**
 * Convert string to requested character encoding
 *
 * Performs a character set conversion on the string {@link str} from
 * {@link in_charset} to {@link out_charset}.
 *
 * @param string $in_charset The input charset.
 * @param string $out_charset The output charset. If you append the
 *   string //TRANSLIT to {@link out_charset} transliteration is
 *   activated. This means that when a character can't be represented in
 *   the target charset, it can be approximated through one or several
 *   similarly looking characters. If you append the string //IGNORE,
 *   characters that cannot be represented in the target charset are
 *   silently discarded. Otherwise, E_NOTICE is generated and the
 *   function will return FALSE.
 * @param string $str The string to be converted.
 * @return string Returns the converted string.
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7
 **/
function iconv($in_charset, $out_charset, $str){}

/**
 * Retrieve internal configuration variables of iconv extension
 *
 * @param string $type The value of the optional {@link type} can be:
 *   all input_encoding output_encoding internal_encoding
 * @return mixed Returns the current value of the internal
 *   configuration variable if successful.
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7
 **/
function iconv_get_encoding($type){}

/**
 * Decodes a header field
 *
 * Decodes a MIME header field.
 *
 * @param string $encoded_header The encoded header, as a string.
 * @param int $mode {@link mode} determines the behaviour in the event
 *   {@link iconv_mime_decode} encounters a malformed MIME header field.
 *   You can specify any combination of the following bitmasks. Bitmasks
 *   acceptable to {@link iconv_mime_decode} Value Constant Description 1
 *   ICONV_MIME_DECODE_STRICT If set, the given header is decoded in full
 *   conformance with the standards defined in RFC2047. This option is
 *   disabled by default because there are a lot of broken mail user
 *   agents that don't follow the specification and don't produce correct
 *   MIME headers. 2 ICONV_MIME_DECODE_CONTINUE_ON_ERROR If set, {@link
 *   iconv_mime_decode_headers} attempts to ignore any grammatical errors
 *   and continue to process a given header.
 * @param string $charset The optional {@link charset} parameter
 *   specifies the character set to represent the result by. If omitted,
 *   iconv.internal_encoding will be used.
 * @return string Returns a decoded MIME field on success, or FALSE if
 *   an error occurs during the decoding.
 * @since PHP 5, PHP 7
 **/
function iconv_mime_decode($encoded_header, $mode, $charset){}

/**
 * Decodes multiple header fields at once
 *
 * Decodes multiple MIME header fields at once.
 *
 * @param string $encoded_headers The encoded headers, as a string.
 * @param int $mode {@link mode} determines the behaviour in the event
 *   {@link iconv_mime_decode_headers} encounters a malformed MIME header
 *   field. You can specify any combination of the following bitmasks.
 *   Bitmasks acceptable to {@link iconv_mime_decode_headers} Value
 *   Constant Description 1 ICONV_MIME_DECODE_STRICT If set, the given
 *   header is decoded in full conformance with the standards defined in
 *   RFC2047. This option is disabled by default because there are a lot
 *   of broken mail user agents that don't follow the specification and
 *   don't produce correct MIME headers. 2
 *   ICONV_MIME_DECODE_CONTINUE_ON_ERROR If set, {@link
 *   iconv_mime_decode_headers} attempts to ignore any grammatical errors
 *   and continue to process a given header.
 * @param string $charset The optional {@link charset} parameter
 *   specifies the character set to represent the result by. If omitted,
 *   iconv.internal_encoding will be used.
 * @return array Returns an associative array that holds a whole set of
 *   MIME header fields specified by {@link encoded_headers} on success,
 *   or FALSE if an error occurs during the decoding.
 * @since PHP 5, PHP 7
 **/
function iconv_mime_decode_headers($encoded_headers, $mode, $charset){}

/**
 * Composes a header field
 *
 * Composes and returns a string that represents a valid MIME header
 * field, which looks like the following:
 *
 * Subject: =?ISO-8859-1?Q?Pr=FCfung_f=FCr?= Entwerfen von einer MIME
 * kopfzeile
 *
 * In the above example, "Subject" is the field name and the portion that
 * begins with "=?ISO-8859-1?..." is the field value.
 *
 * @param string $field_name The field name.
 * @param string $field_value The field value.
 * @param array $preferences You can control the behaviour of {@link
 *   iconv_mime_encode} by specifying an associative array that contains
 *   configuration items to the optional third parameter {@link
 *   preferences}. The items supported by {@link iconv_mime_encode} are
 *   listed below. Note that item names are treated case-sensitive.
 *   Configuration items supported by {@link iconv_mime_encode} Item Type
 *   Description Default value Example scheme string Specifies the method
 *   to encode a field value by. The value of this item may be either "B"
 *   or "Q", where "B" stands for base64 encoding scheme and "Q" stands
 *   for quoted-printable encoding scheme. B B input-charset string
 *   Specifies the character set in which the first parameter {@link
 *   field_name} and the second parameter {@link field_value} are
 *   presented. If not given, {@link iconv_mime_encode} assumes those
 *   parameters are presented to it in the iconv.internal_encoding ini
 *   setting. iconv.internal_encoding ISO-8859-1 output-charset string
 *   Specifies the character set to use to compose the MIME header.
 *   iconv.internal_encoding UTF-8 line-length integer Specifies the
 *   maximum length of the header lines. The resulting header is "folded"
 *   to a set of multiple lines in case the resulting header field would
 *   be longer than the value of this parameter, according to RFC2822 -
 *   Internet Message Format. If not given, the length will be limited to
 *   76 characters. 76 996 line-break-chars string Specifies the sequence
 *   of characters to append to each line as an end-of-line sign when
 *   "folding" is performed on a long header field. If not given, this
 *   defaults to "\r\n" (CR LF). Note that this parameter is always
 *   treated as an ASCII string regardless of the value of input-charset.
 *   \r\n \n
 * @return string Returns an encoded MIME field on success, or FALSE if
 *   an error occurs during the encoding.
 * @since PHP 5, PHP 7
 **/
function iconv_mime_encode($field_name, $field_value, $preferences){}

/**
 * Set current setting for character encoding conversion
 *
 * Changes the value of the internal configuration variable specified by
 * {@link type} to {@link charset}.
 *
 * @param string $type The value of {@link type} can be any one of
 *   these: input_encoding output_encoding internal_encoding
 * @param string $charset The character set.
 * @return bool
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7
 **/
function iconv_set_encoding($type, $charset){}

/**
 * Returns the character count of string
 *
 * In contrast to {@link strlen}, {@link iconv_strlen} counts the
 * occurrences of characters in the given byte sequence {@link str} on
 * the basis of the specified character set, the result of which is not
 * necessarily identical to the length of the string in byte.
 *
 * @param string $str The string.
 * @param string $charset If {@link charset} parameter is omitted,
 *   {@link str} is assumed to be encoded in iconv.internal_encoding.
 * @return int Returns the character count of {@link str}, as an
 *   integer.
 * @since PHP 5, PHP 7
 **/
function iconv_strlen($str, $charset){}

/**
 * Finds position of first occurrence of a needle within a haystack
 *
 * Finds position of first occurrence of a {@link needle} within a {@link
 * haystack}.
 *
 * In contrast to {@link strpos}, the return value of {@link
 * iconv_strpos} is the number of characters that appear before the
 * needle, rather than the offset in bytes to the position where the
 * needle has been found. The characters are counted on the basis of the
 * specified character set {@link charset}.
 *
 * @param string $haystack The entire string.
 * @param string $needle The searched substring.
 * @param int $offset The optional {@link offset} parameter specifies
 *   the position from which the search should be performed. If the
 *   offset is negative, it is counted from the end of the string.
 * @param string $charset If {@link charset} parameter is omitted,
 *   {@link string} are assumed to be encoded in iconv.internal_encoding.
 * @return int Returns the numeric position of the first occurrence of
 *   {@link needle} in {@link haystack}.
 * @since PHP 5, PHP 7
 **/
function iconv_strpos($haystack, $needle, $offset, $charset){}

/**
 * Finds the last occurrence of a needle within a haystack
 *
 * Finds the last occurrence of a {@link needle} within a {@link
 * haystack}.
 *
 * In contrast to {@link strrpos}, the return value of {@link
 * iconv_strrpos} is the number of characters that appear before the
 * needle, rather than the offset in bytes to the position where the
 * needle has been found. The characters are counted on the basis of the
 * specified character set {@link charset}.
 *
 * @param string $haystack The entire string.
 * @param string $needle The searched substring.
 * @param string $charset If {@link charset} parameter is omitted,
 *   {@link string} are assumed to be encoded in iconv.internal_encoding.
 * @return int Returns the numeric position of the last occurrence of
 *   {@link needle} in {@link haystack}.
 * @since PHP 5, PHP 7
 **/
function iconv_strrpos($haystack, $needle, $charset){}

/**
 * Cut out part of a string
 *
 * Cuts a portion of {@link str} specified by the {@link offset} and
 * {@link length} parameters.
 *
 * @param string $str The original string.
 * @param int $offset If {@link offset} is non-negative, {@link
 *   iconv_substr} cuts the portion out of {@link str} beginning at
 *   {@link offset}'th character, counting from zero. If {@link offset}
 *   is negative, {@link iconv_substr} cuts out the portion beginning at
 *   the position, {@link offset} characters away from the end of {@link
 *   str}.
 * @param int $length If {@link length} is given and is positive, the
 *   return value will contain at most {@link length} characters of the
 *   portion that begins at {@link offset} (depending on the length of
 *   {@link string}). If negative {@link length} is passed, {@link
 *   iconv_substr} cuts the portion out of {@link str} from the {@link
 *   offset}'th character up to the character that is {@link length}
 *   characters away from the end of the string. In case {@link offset}
 *   is also negative, the start position is calculated beforehand
 *   according to the rule explained above.
 * @param string $charset If {@link charset} parameter is omitted,
 *   {@link string} are assumed to be encoded in iconv.internal_encoding.
 *   Note that {@link offset} and {@link length} parameters are always
 *   deemed to represent offsets that are calculated on the basis of the
 *   character set determined by {@link charset}, whilst the counterpart
 *   {@link substr} always takes these for byte offsets.
 * @return string Returns the portion of {@link str} specified by the
 *   {@link offset} and {@link length} parameters.
 * @since PHP 5, PHP 7
 **/
function iconv_substr($str, $offset, $length, $charset){}

/**
 * Get the long name of an ID3v2 frame
 *
 * {@link id3_get_frame_long_name} returns the long name for an ID3v2
 * frame.
 *
 * @param string $frameId An ID3v2 frame
 * @return string Returns the frame long name or FALSE on errors.
 * @since PECL id3 >= 0.2
 **/
function id3_get_frame_long_name($frameId){}

/**
 * Get the short name of an ID3v2 frame
 *
 * {@link id3_get_frame_short_name} returns the short name for an ID3v2
 * frame.
 *
 * @param string $frameId An ID3v2 frame
 * @return string Returns the frame short name or FALSE on errors.
 * @since PECL id3 >= 0.2
 **/
function id3_get_frame_short_name($frameId){}

/**
 * Get the id for a genre
 *
 * {@link id3_get_genre_id} returns the id for a genre.
 *
 * @param string $genre Genre name as string.
 * @return int The genre id or FALSE on errors.
 * @since PECL id3 >= 0.1
 **/
function id3_get_genre_id($genre){}

/**
 * Get all possible genre values
 *
 * {@link id3_get_genre_list} returns an array containing all possible
 * genres that may be stored in an ID3 tag. This list has been created by
 * Eric Kemp and later extended by WinAmp.
 *
 * This function is useful to provide you users a list of genres from
 * which they may choose one. When updating the ID3 tag you will always
 * have to specify the genre as an integer ranging from 0 to 147.
 *
 * @return array Returns an array containing all possible genres that
 *   may be stored in an ID3 tag.
 * @since PECL id3 >= 0.1
 **/
function id3_get_genre_list(){}

/**
 * Get the name for a genre id
 *
 * {@link id3_get_genre_name} returns the name for a genre id.
 *
 * @param int $genre_id An integer ranging from 0 to 147
 * @return string Returns the name as a string.
 * @since PECL id3 >= 0.1
 **/
function id3_get_genre_name($genre_id){}

/**
 * Get all information stored in an ID3 tag
 *
 * {@link id3_get_tag} is used to get all information stored in the id3
 * tag of the specified file.
 *
 * @param string $filename The path to the MP3 file Instead of a
 *   filename you may also pass a valid stream resource
 * @param int $version Allows you to specify the version of the tag as
 *   MP3 files may contain both, version 1.x and version 2.x tags Since
 *   version 0.2 {@link id3_get_tag} also supports ID3 tags of version
 *   2.2, 2.3 and 2.4. To extract information from these tags, pass one
 *   of the constants ID3_V2_2, ID3_V2_3 or ID3_V2_4 as the second
 *   parameter. ID3 v2.x tags can contain a lot more information about
 *   the MP3 file than ID3 v1.x tags.
 * @return array Returns an associative array with various keys like:
 *   title, artist, ..
 * @since PECL id3 >= 0.1
 **/
function id3_get_tag($filename, $version){}

/**
 * Get version of an ID3 tag
 *
 * {@link id3_get_version} retrieves the version(s) of the ID3 tag(s) in
 * the MP3 file.
 *
 * If a file contains an ID3 v1.1 tag, it always contains a 1.0 tag, as
 * version 1.1 is just an extension of 1.0.
 *
 * @param string $filename The path to the MP3 file Instead of a
 *   filename you may also pass a valid stream resource
 * @return int Returns the version number of the ID3 tag of the file.
 *   As a tag can contain ID3 v1.x and v2.x tags, the return value of
 *   this function should be bitwise compared with the predefined
 *   constants ID3_V1_0, ID3_V1_1 and ID3_V2.
 * @since PECL id3 >= 0.1
 **/
function id3_get_version($filename){}

/**
 * Remove an existing ID3 tag
 *
 * {@link id3_remove_tag} is used to remove the information stored of an
 * ID3 tag.
 *
 * @param string $filename The path to the MP3 file Instead of a
 *   filename you may also pass a valid stream resource
 * @param int $version Allows you to specify the version of the tag as
 *   MP3 files may contain both, version 1.x and version 2.x tags.
 * @return bool
 * @since PECL id3 >= 0.1
 **/
function id3_remove_tag($filename, $version){}

/**
 * Update information stored in an ID3 tag
 *
 * {@link id3_set_tag} is used to change the information stored of an ID3
 * tag. If no tag has been present, it will be added to the file.
 *
 * @param string $filename The path to the MP3 file Instead of a
 *   filename you may also pass a valid stream resource
 * @param array $tag An associative array of tag keys and values The
 *   following keys may be used in the associative array:
 *   
 *   Keys in the associative array key possible value available in
 *   version title string with maximum of 30 characters v1.0, v1.1 artist
 *   string with maximum of 30 characters v1.0, v1.1 album string with
 *   maximum of 30 characters v1.0, v1.1 year 4 digits v1.0, v1.1 genre
 *   integer value between 0 and 147 v1.0, v1.1 comment string with
 *   maximum of 30 characters (28 in v1.1) v1.0, v1.1 track integer
 *   between 0 and 255 v1.1
 * @param int $version Allows you to specify the version of the tag as
 *   MP3 files may contain both, version 1.x and version 2.x tags
 * @return bool
 * @since PECL id3 >= 0.1
 **/
function id3_set_tag($filename, $tag, $version){}

/**
 * Format a local time/date as integer
 *
 * Returns a number formatted according to the given format string using
 * the given integer {@link timestamp} or the current local time if no
 * timestamp is given. In other words, {@link timestamp} is optional and
 * defaults to the value of {@link time}.
 *
 * Unlike the function {@link date}, {@link idate} accepts just one char
 * in the {@link format} parameter.
 *
 * @param string $format The following characters are recognized in the
 *   {@link format} parameter string {@link format} character Description
 *   B Swatch Beat/Internet Time d Day of the month h Hour (12 hour
 *   format) H Hour (24 hour format) i Minutes I (uppercase i) returns 1
 *   if DST is activated, 0 otherwise L (uppercase l) returns 1 for leap
 *   year, 0 otherwise m Month number s Seconds t Days in current month U
 *   Seconds since the Unix Epoch - January 1 1970 00:00:00 UTC - this is
 *   the same as {@link time} w Day of the week (0 on Sunday) W ISO-8601
 *   week number of year, weeks starting on Monday y Year (1 or 2 digits
 *   - check note below) Y Year (4 digits) z Day of the year Z Timezone
 *   offset in seconds
 * @param int $timestamp
 * @return int Returns an integer.
 * @since PHP 5, PHP 7
 **/
function idate($format, $timestamp){}

/**
 * Convert domain name to IDNA ASCII form
 *
 * This function converts a Unicode domain name to an IDNA
 * ASCII-compatible format.
 *
 * @param string $domain The domain to convert, which must be UTF-8
 *   encoded.
 * @param int $options Conversion options - combination of IDNA_*
 *   constants (except IDNA_ERROR_* constants).
 * @param int $variant Either INTL_IDNA_VARIANT_2003 for IDNA 2003 or
 *   INTL_IDNA_VARIANT_UTS46 for UTS #46.
 * @param array $idna_info This parameter can be used only if
 *   INTL_IDNA_VARIANT_UTS46 was used for {@link variant}. In that case,
 *   it will be filled with an array with the keys 'result', the possibly
 *   illegal result of the transformation, 'isTransitionalDifferent', a
 *   boolean indicating whether the usage of the transitional mechanisms
 *   of UTS #46 either has or would have changed the result and 'errors',
 *   which is an int representing a bitset of the error constants
 *   IDNA_ERROR_*.
 * @return string The domain name encoded in ASCII-compatible form,
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.2, PECL idn >= 0.1
 **/
function idn_to_ascii($domain, $options, $variant, &$idna_info){}

/**
 * Convert domain name from IDNA ASCII to Unicode
 *
 * This function converts a Unicode domain name from an IDNA
 * ASCII-compatible format to plain Unicode, encoded in UTF-8.
 *
 * @param string $domain Domain to convert in an IDNA ASCII-compatible
 *   format.
 * @param int $options Conversion options - combination of IDNA_*
 *   constants (except IDNA_ERROR_* constants).
 * @param int $variant Either INTL_IDNA_VARIANT_2003 for IDNA 2003 or
 *   INTL_IDNA_VARIANT_UTS46 for UTS #46.
 * @param array $idna_info This parameter can be used only if
 *   INTL_IDNA_VARIANT_UTS46 was used for {@link variant}. In that case,
 *   it will be filled with an array with the keys 'result', the possibly
 *   illegal result of the transformation, 'isTransitionalDifferent', a
 *   boolean indicating whether the usage of the transitional mechanisms
 *   of UTS #46 either has or would have changed the result and 'errors',
 *   which is an int representing a bitset of the error constants
 *   IDNA_ERROR_*.
 * @return string The domain name in Unicode, encoded in UTF-8,
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.2, PECL idn >= 0.1
 **/
function idn_to_utf8($domain, $options, $variant, &$idna_info){}

/**
 * Deletes the slob object
 *
 * Deletes the slob object on the given slob object-id {@link bid}.
 *
 * @param int $bid An existing slob id.
 * @return bool
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifxus_close_slob($bid){}

/**
 * Creates an slob object and opens it
 *
 * @param int $mode A combination of IFX_LO_RDONLY, IFX_LO_WRONLY,
 *   IFX_LO_APPEND IFX_LO_RDWR, IFX_LO_BUFFER, IFX_LO_NOBUFFER.
 * @return int Return the new slob object-id, or FALSE on errors.
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifxus_create_slob($mode){}

/**
 * Deletes the slob object
 *
 * @param int $bid An existing slob id.
 * @return bool
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifxus_free_slob($bid){}

/**
 * Opens an slob object
 *
 * Opens an slob object. {@link bid} should be an existing slob id.
 *
 * @param int $bid An existing slob id.
 * @param int $mode A combination of IFX_LO_RDONLY, IFX_LO_WRONLY,
 *   IFX_LO_APPEND IFX_LO_RDWR, IFX_LO_BUFFER, IFX_LO_NOBUFFER.
 * @return int Returns the new slob object-id, or FALSE on errors.
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifxus_open_slob($bid, $mode){}

/**
 * Reads nbytes of the slob object
 *
 * Reads {@link nbytes} of the slob object.
 *
 * @param int $bid An existing slob id.
 * @param int $nbytes The number of bytes to read.
 * @return string Returns the slob contents as a string, or FALSE on
 *   errors.
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifxus_read_slob($bid, $nbytes){}

/**
 * Sets the current file or seek position
 *
 * Sets the current file or seek position of an open slob object.
 *
 * @param int $bid An existing slob id.
 * @param int $mode 0 = LO_SEEK_SET, 1 = LO_SEEK_CUR, 2 = LO_SEEK_END.
 * @param int $offset A byte offset.
 * @return int Returns the seek position as an integer, or FALSE on
 *   errors.
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifxus_seek_slob($bid, $mode, $offset){}

/**
 * Returns the current file or seek position
 *
 * Returns the current file or seek position of an open slob object
 *
 * @param int $bid An existing slob id.
 * @return int Returns the seek position as an integer, or FALSE on
 *   errors.
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifxus_tell_slob($bid){}

/**
 * Writes a string into the slob object
 *
 * @param int $bid An existing slob id.
 * @param string $content The content to write, as a string.
 * @return int Returns the bytes written as an integer, or FALSE on
 *   errors.
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifxus_write_slob($bid, $content){}

/**
 * Get number of rows affected by a query
 *
 * Returns the number of rows affected by a query associated with {@link
 * result_id}.
 *
 * For inserts, updates and deletes the number is the real number
 * (sqlerrd[2]) of affected rows. For selects it is an estimate
 * (sqlerrd[0]). Don't rely on it. The database server can never return
 * the actual number of rows that will be returned by a SELECT because it
 * has not even begun fetching them at this stage (just after the
 * "PREPARE" when the optimizer has determined the query plan).
 *
 * Useful after {@link ifx_prepare} to limit queries to reasonable result
 * sets.
 *
 * @param resource $result_id A valid result id returned by {@link
 *   ifx_query} or {@link ifx_prepare}.
 * @return int Returns the number of rows as an integer.
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_affected_rows($result_id){}

/**
 * Set the default blob mode for all select queries
 *
 * @param int $mode Mode "0" means save Byte-Blobs in memory, and mode
 *   "1" means save Byte-Blobs in a file.
 * @return bool
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_blobinfile_mode($mode){}

/**
 * Set the default byte mode
 *
 * Sets the default byte mode for all select-queries.
 *
 * @param int $mode Mode "0" will return a blob id, and mode "1" will
 *   return a varchar with text content.
 * @return bool
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_byteasvarchar($mode){}

/**
 * Close Informix connection
 *
 * {@link ifx_close} closes the link to an Informix database that's
 * associated with the specified link identifier.
 *
 * Note that this isn't usually necessary, as non-persistent open links
 * are automatically closed at the end of the script's execution.
 *
 * {@link ifx_close} will not close persistent links generated by {@link
 * ifx_pconnect}.
 *
 * @param resource $link_identifier The link identifier. If not
 *   specified, the last opened link is assumed.
 * @return bool
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_close($link_identifier){}

/**
 * Open Informix server connection
 *
 * {@link ifx_connect} establishes a connection to an Informix server.
 *
 * In case a second call is made to {@link ifx_connect} with the same
 * arguments, no new link will be established, but instead, the link
 * identifier of the already opened link will be returned.
 *
 * The link to the server will be closed as soon as the execution of the
 * script ends, unless it's closed earlier by explicitly calling {@link
 * ifx_close}.
 *
 * @param string $database The database name, as a string.
 * @param string $userid The username, as a string.
 * @param string $password The password, as a string.
 * @return resource Returns a connection identifier on success, or
 *   FALSE on error.
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_connect($database, $userid, $password){}

/**
 * Duplicates the given blob object
 *
 * @param int $bid A BLOB identifier.
 * @return int Returns the new blob object-id, or FALSE on errors.
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_copy_blob($bid){}

/**
 * Creates an blob object
 *
 * Creates a blob object.
 *
 * @param int $type 1 = TEXT, 0 = BYTE
 * @param int $mode 0 = blob-object holds the content in memory, 1 =
 *   blob-object holds the content in file.
 * @param string $param if mode = 0: pointer to the content, if mode =
 *   1: pointer to the filestring.
 * @return int Returns the new BLOB object-id, or FALSE on errors.
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_create_blob($type, $mode, $param){}

/**
 * Creates an char object
 *
 * @param string $param The char content.
 * @return int Returns the new char object id, or FALSE on errors.
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_create_char($param){}

/**
 * Execute a previously prepared SQL-statement
 *
 * Executes a previously prepared query or opens a cursor for it.
 *
 * Does NOT free {@link result_id} on error.
 *
 * Also sets the real number of {@link ifx_affected_rows} for non-select
 * statements for retrieval by {@link ifx_affected_rows}.
 *
 * @param resource $result_id {@link result_id} is a valid resultid
 *   returned by {@link ifx_query} or {@link ifx_prepare} (select type
 *   queries only!).
 * @return bool
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_do($result_id){}

/**
 * Returns error code of last Informix call
 *
 * Returns in a string one character describing the general results of a
 * statement and both SQLSTATE and SQLCODE associated with the most
 * recent SQL statement executed.
 *
 * @param resource $link_identifier The link identifier.
 * @return string The Informix error codes (SQLSTATE & SQLCODE)
 *   formatted as x [SQLSTATE = aa bbb SQLCODE=cccc].
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_error($link_identifier){}

/**
 * Returns error message of last Informix call
 *
 * Returns the Informix error message associated with the most recent
 * Informix error.
 *
 * @param int $errorcode If specified, the function will return the
 *   message corresponding to the specified code.
 * @return string Return the error message, as a string.
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_errormsg($errorcode){}

/**
 * Get row as an associative array
 *
 * Fetches one row of data from the result associated with the specified
 * result identifier.
 *
 * Subsequent calls to {@link ifx_fetch_row} would return the next row in
 * the result set, or FALSE if there are no more rows.
 *
 * @param resource $result_id {@link result_id} is a valid resultid
 *   returned by {@link ifx_query} or {@link ifx_prepare} (select type
 *   queries only!).
 * @param mixed $position An optional parameter for a "fetch" operation
 *   on "scroll" cursors: NEXT, PREVIOUS, CURRENT, FIRST, LAST or a
 *   number. If you specify a number, an "absolute" row fetch is
 *   executed. This parameter is optional, and only valid for SCROLL
 *   cursors.
 * @return array Returns an associative array that corresponds to the
 *   fetched row, or FALSE if there are no more rows.
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_fetch_row($result_id, $position){}

/**
 * List of SQL fieldproperties
 *
 * Returns the Informix SQL fieldproperties of every field in the query
 * as an associative array. Properties are encoded as:
 * "SQLTYPE;length;precision;scale;ISNULLABLE" where SQLTYPE = the
 * Informix type like "SQLVCHAR" etc. and ISNULLABLE = "Y" or "N".
 *
 * @param resource $result_id {@link result_id} is a valid resultid
 *   returned by {@link ifx_query} or {@link ifx_prepare} (select type
 *   queries only!).
 * @return array Returns an associative array with fieldnames as key
 *   and the SQL fieldproperties as data for a query with {@link
 *   result_id}. Returns FALSE on errors.
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_fieldproperties($result_id){}

/**
 * List of Informix SQL fields
 *
 * Returns an associative array with fieldnames as key and the SQL
 * fieldtypes as data for the query associated with {@link result_id}.
 *
 * @param resource $result_id {@link result_id} is a valid resultid
 *   returned by {@link ifx_query} or {@link ifx_prepare} (select type
 *   queries only!).
 * @return array Returns an associative array with fieldnames as key
 *   and the SQL fieldtypes as data for query with {@link result_id}.
 *   Returns FALSE on error.
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_fieldtypes($result_id){}

/**
 * Deletes the blob object
 *
 * Deletes the blobobject for the given blob object-id.
 *
 * @param int $bid The BLOB object id.
 * @return bool
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_free_blob($bid){}

/**
 * Deletes the char object
 *
 * Deletes the charobject for the given char object-id.
 *
 * @param int $bid The char object id.
 * @return bool
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_free_char($bid){}

/**
 * Releases resources for the query
 *
 * Releases resources for the query associated with {@link result_id}.
 *
 * @param resource $result_id {@link result_id} is a valid resultid
 *   returned by {@link ifx_query} or {@link ifx_prepare} (select type
 *   queries only!).
 * @return bool
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_free_result($result_id){}

/**
 * Get the contents of sqlca.sqlerrd[0..5] after a query
 *
 * Returns a pseudo-row with sqlca.sqlerrd[0] ... sqlca.sqlerrd[5] after
 * the query associated with {@link result_id}.
 *
 * For inserts, updates and deletes the values returned are those as set
 * by the server after executing the query. This gives access to the
 * number of affected rows and the serial insert value. For SELECTs the
 * values are those saved after the PREPARE statement. This gives access
 * to the *estimated* number of affected rows. The use of this function
 * saves the overhead of executing a SELECT dbinfo('sqlca.sqlerrdx')
 * query, as it retrieves the values that were saved by the ifx driver at
 * the appropriate moment.
 *
 * @param resource $result_id {@link result_id} is a valid result id
 *   returned by {@link ifx_query} or {@link ifx_prepare} (select type
 *   queries only!).
 * @return array Returns an associative array with the following
 *   entries: sqlerrd0, sqlerrd1, sqlerrd2, sqlerrd3, sqlerrd4 and
 *   sqlerrd5.
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_getsqlca($result_id){}

/**
 * Return the content of a blob object
 *
 * Returns the content of the blob object.
 *
 * @param int $bid The BLOB object id.
 * @return string The contents of the BLOB as a string, or FALSE on
 *   errors.
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_get_blob($bid){}

/**
 * Return the content of the char object
 *
 * Returns the content of the char object.
 *
 * @param int $bid The char object-id.
 * @return string Returns the contents as a string, or FALSE on errors.
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_get_char($bid){}

/**
 * Formats all rows of a query into a HTML table
 *
 * Formats and prints all rows of the {@link result_id} query into a HTML
 * table.
 *
 * @param resource $result_id {@link result_id} is a valid resultid
 *   returned by {@link ifx_query} or {@link ifx_prepare} (select type
 *   queries only!).
 * @param string $html_table_options This optional argument is a string
 *   of <table> tag options.
 * @return int Returns the number of fetched rows, or FALSE on errors.
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_htmltbl_result($result_id, $html_table_options){}

/**
 * Sets the default return value on a fetch row
 *
 * Sets the default return value of a NULL-value on a fetch row.
 *
 * @param int $mode Mode "0" returns "", and mode "1" returns "NULL".
 * @return bool
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_nullformat($mode){}

/**
 * Returns the number of columns in the query
 *
 * After preparing or executing a query, this call gives you the number
 * of columns in the query.
 *
 * @param resource $result_id {@link result_id} is a valid resultid
 *   returned by {@link ifx_query} or {@link ifx_prepare} (select type
 *   queries only!).
 * @return int Returns the number of columns in query for {@link
 *   result_id}, or FALSE on errors.
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_num_fields($result_id){}

/**
 * Count the rows already fetched from a query
 *
 * Gives the number of rows fetched so far for a query with {@link
 * result_id} after a {@link ifx_query} or {@link ifx_do} query.
 *
 * @param resource $result_id {@link result_id} is a valid resultid
 *   returned by {@link ifx_query} or {@link ifx_prepare} (select type
 *   queries only!).
 * @return int Returns the number of fetched rows or FALSE on errors.
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_num_rows($result_id){}

/**
 * Open persistent Informix connection
 *
 * {@link ifx_pconnect} acts very much like {@link ifx_connect} with two
 * major differences.
 *
 * First, when connecting, the function would first try to find a
 * (persistent) link that's already open with the same host, username and
 * password. If one is found, an identifier for it will be returned
 * instead of opening a new connection.
 *
 * Second, the connection to the SQL server will not be closed when the
 * execution of the script ends. Instead, the link will remain open for
 * future use ({@link ifx_close} will not close links established by
 * {@link ifx_pconnect}).
 *
 * This type of links is therefore called 'persistent'.
 *
 * @param string $database The database name, as a string.
 * @param string $userid The username, as a string.
 * @param string $password The password, as a string.
 * @return resource Returns: valid Informix persistent link identifier
 *   on success, or FALSE on errors.
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_pconnect($database, $userid, $password){}

/**
 * Prepare an SQL-statement for execution
 *
 * Prepares a {@link query} for later use with {@link ifx_do}.
 *
 * For "select-type" queries a cursor is declared and opened. Non-select
 * queries are "execute immediate".
 *
 * For either query type the number of (estimated or real) affected rows
 * is saved for retrieval by {@link ifx_affected_rows}.
 *
 * If the contents of the TEXT (or BYTE) column allow it, you can also
 * use ifx_textasvarchar(1) and ifx_byteasvarchar(1). This allows you to
 * treat TEXT (or BYTE) columns just as if they were ordinary (but long)
 * VARCHAR columns for select queries, and you don't need to bother with
 * blob id's.
 *
 * With ifx_textasvarchar(0) or ifx_byteasvarchar(0) (the default
 * situation), select queries will return BLOB columns as blob id's
 * (integer value). You can get the value of the blob as a string or file
 * with the blob functions (see below).
 *
 * @param string $query The query string.
 * @param resource $link_identifier The link identifier.
 * @param int $cursor_def This optional parameter allows you to make
 *   this a scroll and/or hold cursor. It's a bitmask and can be either
 *   IFX_SCROLL, IFX_HOLD, or both or'ed together.
 * @param mixed $blobidarray If you have BLOB (BYTE or TEXT) columns in
 *   the query, you can add a {@link blobidarray} parameter containing
 *   the corresponding "blob ids", and you should replace those columns
 *   with a "?" in the query text.
 * @return resource Returns a valid result identifier for use by {@link
 *   ifx_do}, or FALSE on errors.
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_prepare($query, $link_identifier, $cursor_def, $blobidarray){}

/**
 * Send Informix query
 *
 * Sends a {@link query} to the currently active database on the server
 * that's associated with the specified link identifier.
 *
 * For "select-type" queries a cursor is declared and opened. Non-select
 * queries are "execute immediate".
 *
 * For either query type the number of (estimated or real) affected rows
 * is saved for retrieval by {@link ifx_affected_rows}.
 *
 * If the contents of the TEXT (or BYTE) column allow it, you can also
 * use ifx_textasvarchar(1) and ifx_byteasvarchar(1). This allows you to
 * treat TEXT (or BYTE) columns just as if they were ordinary (but long)
 * VARCHAR columns for select queries, and you don't need to bother with
 * blob id's.
 *
 * With ifx_textasvarchar(0) or ifx_byteasvarchar(0) (the default
 * situation), select queries will return BLOB columns as blob id's
 * (integer value). You can get the value of the blob as a string or file
 * with the blob functions (see below).
 *
 * @param string $query The query string.
 * @param resource $link_identifier The link identifier.
 * @param int $cursor_type This optional parameter allows you to make
 *   this a scroll and/or hold cursor. It's a bitmask and can be either
 *   IFX_SCROLL, IFX_HOLD, or both or'ed together. I you omit this
 *   parameter the cursor is a normal sequential cursor.
 * @param mixed $blobidarray If you have BLOB (BYTE or TEXT) columns in
 *   the query, you can add a {@link blobidarray} parameter containing
 *   the corresponding "blob ids", and you should replace those columns
 *   with a "?" in the query text.
 * @return resource Returns valid Informix result identifier on
 *   success, or FALSE on errors.
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_query($query, $link_identifier, $cursor_type, $blobidarray){}

/**
 * Set the default text mode
 *
 * Sets the default text mode for all select-queries.
 *
 * @param int $mode Mode "0" will return a blob id, and mode "1" will
 *   return a varchar with text content.
 * @return bool
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_textasvarchar($mode){}

/**
 * Updates the content of the blob object
 *
 * Updates the content of the blob object for the given blob object
 * {@link bid}.
 *
 * @param int $bid A BLOB object identifier.
 * @param string $content The new data, as a string.
 * @return bool
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_update_blob($bid, $content){}

/**
 * Updates the content of the char object
 *
 * Updates the content of the char object for the given char object
 * {@link bid}.
 *
 * @param int $bid A char object identifier.
 * @param string $content The new data, as a string.
 * @return bool
 * @since PHP 4, PHP 5 < 5.2.1
 **/
function ifx_update_char($bid, $content){}

/**
 * Set whether a client disconnect should abort script execution
 *
 * Sets whether a client disconnect should cause a script to be aborted.
 *
 * When running PHP as a command line script, and the script's tty goes
 * away without the script being terminated then the script will die the
 * next time it tries to write anything, unless {@link value} is set to
 * TRUE
 *
 * @param bool $value If set, this function will set the
 *   ignore_user_abort ini setting to the given {@link value}. If not,
 *   this function will only return the previous setting without changing
 *   it.
 * @return int Returns the previous setting, as an integer.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ignore_user_abort($value){}

/**
 * Creates a new virtual web server
 *
 * @param string $path
 * @param string $comment
 * @param string $server_ip
 * @param int $port
 * @param string $host_name
 * @param int $rights
 * @param int $start_server
 * @return int
 * @since PECL iisfunc SVN
 **/
function iis_add_server($path, $comment, $server_ip, $port, $host_name, $rights, $start_server){}

/**
 * Gets Directory Security
 *
 * @param int $server_instance
 * @param string $virtual_path
 * @return int
 * @since PECL iisfunc SVN
 **/
function iis_get_dir_security($server_instance, $virtual_path){}

/**
 * Gets script mapping on a virtual directory for a specific extension
 *
 * @param int $server_instance
 * @param string $virtual_path
 * @param string $script_extension
 * @return string
 * @since PECL iisfunc SVN
 **/
function iis_get_script_map($server_instance, $virtual_path, $script_extension){}

/**
 * Return the instance number associated with the Comment
 *
 * @param string $comment
 * @return int
 * @since PECL iisfunc SVN
 **/
function iis_get_server_by_comment($comment){}

/**
 * Return the instance number associated with the Path
 *
 * Each virtual server in IIS is associated with an instance number.
 * {@link iis_get_server_by_path} finds the instance number from the
 * actual path to the root directory.
 *
 * @param string $path The path to the root directory
 * @return int Returns the server instance number.
 * @since PECL iisfunc SVN
 **/
function iis_get_server_by_path($path){}

/**
 * Gets server rights
 *
 * @param int $server_instance
 * @param string $virtual_path
 * @return int
 * @since PECL iisfunc SVN
 **/
function iis_get_server_rights($server_instance, $virtual_path){}

/**
 * Returns the state for the service defined by ServiceId
 *
 * @param string $service_id
 * @return int
 * @since PECL iisfunc SVN
 **/
function iis_get_service_state($service_id){}

/**
 * Removes the virtual web server indicated by ServerInstance
 *
 * @param int $server_instance
 * @return int
 * @since PECL iisfunc SVN
 **/
function iis_remove_server($server_instance){}

/**
 * Creates application scope for a virtual directory
 *
 * @param int $server_instance
 * @param string $virtual_path
 * @param string $application_scope
 * @return int
 * @since PECL iisfunc SVN
 **/
function iis_set_app_settings($server_instance, $virtual_path, $application_scope){}

/**
 * Sets Directory Security
 *
 * @param int $server_instance
 * @param string $virtual_path
 * @param int $directory_flags
 * @return int
 * @since PECL iisfunc SVN
 **/
function iis_set_dir_security($server_instance, $virtual_path, $directory_flags){}

/**
 * Sets script mapping on a virtual directory
 *
 * @param int $server_instance
 * @param string $virtual_path
 * @param string $script_extension
 * @param string $engine_path
 * @param int $allow_scripting
 * @return int
 * @since PECL iisfunc SVN
 **/
function iis_set_script_map($server_instance, $virtual_path, $script_extension, $engine_path, $allow_scripting){}

/**
 * Sets server rights
 *
 * @param int $server_instance
 * @param string $virtual_path
 * @param int $directory_flags
 * @return int
 * @since PECL iisfunc SVN
 **/
function iis_set_server_rights($server_instance, $virtual_path, $directory_flags){}

/**
 * Starts the virtual web server
 *
 * @param int $server_instance
 * @return int
 * @since PECL iisfunc SVN
 **/
function iis_start_server($server_instance){}

/**
 * Starts the service defined by ServiceId
 *
 * @param string $service_id
 * @return int
 * @since PECL iisfunc SVN
 **/
function iis_start_service($service_id){}

/**
 * Stops the virtual web server
 *
 * @param int $server_instance
 * @return int
 * @since PECL iisfunc SVN
 **/
function iis_stop_server($server_instance){}

/**
 * Stops the service defined by ServiceId
 *
 * @param string $service_id
 * @return int
 * @since PECL iisfunc SVN
 **/
function iis_stop_service($service_id){}

/**
 * {@link image2wbmp} outputs or save a WBMP version of the given {@link
 * image}.
 *
 * @param resource $image Path to the saved file. If not given, the raw
 *   image stream will be output directly.
 * @param string $filename You can set the foreground color with this
 *   parameter by setting an identifier obtained from {@link
 *   imagecolorallocate}. The default foreground color is black.
 * @param int $foreground
 * @return bool
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7
 **/
function image2wbmp($image, $filename, $foreground){}

/**
 * Return an image containing the affine transformed src image, using an
 * optional clipping area
 *
 * @param resource $image Array with keys 0 to 5.
 * @param array $affine Array with keys "x", "y", "width" and "height".
 * @param array $clip
 * @return resource Return affined image resource on success.
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function imageaffine($image, $affine, $clip){}

/**
 * Concatenate two affine transformation matrices
 *
 * Returns the concatenation of two affine transformation matrices, what
 * is useful if multiple transformations should be applied to the same
 * image in one go.
 *
 * @param array $m1 An affine transformation matrix (an array with keys
 *   0 to 5 and float values).
 * @param array $m2 An affine transformation matrix (an array with keys
 *   0 to 5 and float values).
 * @return array An affine transformation matrix (an array with keys 0
 *   to 5 and float values) .
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function imageaffinematrixconcat($m1, $m2){}

/**
 * Get an affine transformation matrix
 *
 * Returns an affine transformation matrix.
 *
 * @param int $type One of the IMG_AFFINE_* constants.
 * @param mixed $options If {@link type} is IMG_AFFINE_TRANSLATE or
 *   IMG_AFFINE_SCALE, {@link options} has to be an array with keys x and
 *   y, both having float values. If {@link type} is IMG_AFFINE_ROTATE,
 *   IMG_AFFINE_SHEAR_HORIZONTAL or IMG_AFFINE_SHEAR_VERTICAL, {@link
 *   options} has to be a float specifying the angle.
 * @return array An affine transformation matrix (an array with keys 0
 *   to 5 and float values) .
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function imageaffinematrixget($type, $options){}

/**
 * Set the blending mode for an image
 *
 * {@link imagealphablending} allows for two different modes of drawing
 * on truecolor images. In blending mode, the alpha channel component of
 * the color supplied to all drawing function, such as {@link
 * imagesetpixel} determines how much of the underlying color should be
 * allowed to shine through. As a result, gd automatically blends the
 * existing color at that point with the drawing color, and stores the
 * result in the image. The resulting pixel is opaque. In non-blending
 * mode, the drawing color is copied literally with its alpha channel
 * information, replacing the destination pixel. Blending mode is not
 * available when drawing on palette images.
 *
 * @param resource $image Whether to enable the blending mode or not.
 *   On true color images the default value is TRUE otherwise the default
 *   value is FALSE
 * @param bool $blendmode
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function imagealphablending($image, $blendmode){}

/**
 * Should antialias functions be used or not
 *
 * Activate the fast drawing antialiased methods for lines and wired
 * polygons. It does not support alpha components. It works using a
 * direct blend operation. It works only with truecolor images.
 *
 * Thickness and styled are not supported.
 *
 * Using antialiased primitives with transparent background color can end
 * with some unexpected results. The blend method uses the background
 * color as any other colors. The lack of alpha component support does
 * not allow an alpha based antialiasing method.
 *
 * @param resource $image Whether to enable antialiasing or not.
 * @param bool $enabled
 * @return bool
 * @since PHP 4 >= 4.3.2, PHP 5, PHP 7
 **/
function imageantialias($image, $enabled){}

/**
 * Draws an arc
 *
 * {@link imagearc} draws an arc of circle centered at the given
 * coordinates.
 *
 * @param resource $image x-coordinate of the center.
 * @param int $cx y-coordinate of the center.
 * @param int $cy The arc width.
 * @param int $width The arc height.
 * @param int $height The arc start angle, in degrees.
 * @param int $start The arc end angle, in degrees. 0° is located at
 *   the three-o'clock position, and the arc is drawn clockwise.
 * @param int $end
 * @param int $color
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagearc($image, $cx, $cy, $width, $height, $start, $end, $color){}

/**
 * Output a BMP image to browser or file
 *
 * Outputs or saves a BMP version of the given {@link image}.
 *
 * @param resource $image
 * @param mixed $to Whether the BMP should be compressed with
 *   run-length encoding (RLE), or not.
 * @param bool $compressed
 * @return bool
 * @since PHP 7 >= 7.2.0
 **/
function imagebmp($image, $to, $compressed){}

/**
 * Draw a character horizontally
 *
 * {@link imagechar} draws the first character of {@link c} in the image
 * identified by {@link image} with its upper-left at {@link x},{@link y}
 * (top left is 0, 0) with the color {@link color}.
 *
 * @param resource $image x-coordinate of the start.
 * @param int $font y-coordinate of the start.
 * @param int $x The character to draw.
 * @param int $y
 * @param string $c
 * @param int $color
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagechar($image, $font, $x, $y, $c, $color){}

/**
 * Draw a character vertically
 *
 * Draws the character {@link c} vertically at the specified coordinate
 * on the given {@link image}.
 *
 * @param resource $image x-coordinate of the start.
 * @param int $font y-coordinate of the start.
 * @param int $x The character to draw.
 * @param int $y
 * @param string $c
 * @param int $color
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagecharup($image, $font, $x, $y, $c, $color){}

/**
 * Allocate a color for an image
 *
 * Returns a color identifier representing the color composed of the
 * given RGB components.
 *
 * {@link imagecolorallocate} must be called to create each color that is
 * to be used in the image represented by {@link image}.
 *
 * @param resource $image
 * @param int $red
 * @param int $green
 * @param int $blue
 * @return int A color identifier or FALSE if the allocation failed.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagecolorallocate($image, $red, $green, $blue){}

/**
 * Allocate a color for an image
 *
 * {@link imagecolorallocatealpha} behaves identically to {@link
 * imagecolorallocate} with the addition of the transparency parameter
 * {@link alpha}.
 *
 * @param resource $image
 * @param int $red
 * @param int $green
 * @param int $blue A value between 0 and 127. 0 indicates completely
 *   opaque while 127 indicates completely transparent.
 * @param int $alpha
 * @return int A color identifier or FALSE if the allocation failed.
 * @since PHP 4 >= 4.3.2, PHP 5, PHP 7
 **/
function imagecolorallocatealpha($image, $red, $green, $blue, $alpha){}

/**
 * Get the index of the color of a pixel
 *
 * Returns the index of the color of the pixel at the specified location
 * in the image specified by {@link image}.
 *
 * If the image is a truecolor image, this function returns the RGB value
 * of that pixel as integer. Use bitshifting and masking to access the
 * distinct red, green and blue component values:
 *
 * @param resource $image x-coordinate of the point.
 * @param int $x y-coordinate of the point.
 * @param int $y
 * @return int Returns the index of the color .
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagecolorat($image, $x, $y){}

/**
 * Get the index of the closest color to the specified color
 *
 * Returns the index of the color in the palette of the image which is
 * "closest" to the specified RGB value.
 *
 * The "distance" between the desired color and each color in the palette
 * is calculated as if the RGB values represented points in
 * three-dimensional space.
 *
 * @param resource $image
 * @param int $red
 * @param int $green
 * @param int $blue
 * @return int Returns the index of the closest color, in the palette
 *   of the image, to the specified one
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagecolorclosest($image, $red, $green, $blue){}

/**
 * Get the index of the closest color to the specified color + alpha
 *
 * Returns the index of the color in the palette of the image which is
 * "closest" to the specified RGB value and {@link alpha} level.
 *
 * @param resource $image
 * @param int $red
 * @param int $green
 * @param int $blue A value between 0 and 127. 0 indicates completely
 *   opaque while 127 indicates completely transparent.
 * @param int $alpha
 * @return int Returns the index of the closest color in the palette.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function imagecolorclosestalpha($image, $red, $green, $blue, $alpha){}

/**
 * Get the index of the color which has the hue, white and blackness
 *
 * Get the index of the color which has the hue, white and blackness
 * nearest the given color.
 *
 * @param resource $image
 * @param int $red
 * @param int $green
 * @param int $blue
 * @return int Returns an integer with the index of the color which has
 *   the hue, white and blackness nearest the given color.
 * @since PHP 4 >= 4.0.1, PHP 5, PHP 7
 **/
function imagecolorclosesthwb($image, $red, $green, $blue){}

/**
 * De-allocate a color for an image
 *
 * De-allocates a color previously allocated with {@link
 * imagecolorallocate} or {@link imagecolorallocatealpha}.
 *
 * @param resource $image The color identifier.
 * @param int $color
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagecolordeallocate($image, $color){}

/**
 * Get the index of the specified color
 *
 * Returns the index of the specified color in the palette of the image.
 *
 * @param resource $image
 * @param int $red
 * @param int $green
 * @param int $blue
 * @return int Returns the index of the specified color in the palette,
 *   or -1 if the color does not exist.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagecolorexact($image, $red, $green, $blue){}

/**
 * Get the index of the specified color + alpha
 *
 * Returns the index of the specified color+alpha in the palette of the
 * image.
 *
 * @param resource $image
 * @param int $red
 * @param int $green
 * @param int $blue A value between 0 and 127. 0 indicates completely
 *   opaque while 127 indicates completely transparent.
 * @param int $alpha
 * @return int Returns the index of the specified color+alpha in the
 *   palette of the image, or -1 if the color does not exist in the
 *   image's palette.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function imagecolorexactalpha($image, $red, $green, $blue, $alpha){}

/**
 * Makes the colors of the palette version of an image more closely match
 * the true color version
 *
 * @param resource $image1 A truecolor image link resource.
 * @param resource $image2 A palette image link resource pointing to an
 *   image that has the same size as {@link image1}.
 * @return bool
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function imagecolormatch($image1, $image2){}

/**
 * Get the index of the specified color or its closest possible
 * alternative
 *
 * This function is guaranteed to return a color index for a requested
 * color, either the exact color or the closest possible alternative.
 *
 * @param resource $image
 * @param int $red
 * @param int $green
 * @param int $blue
 * @return int Returns a color index.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagecolorresolve($image, $red, $green, $blue){}

/**
 * Get the index of the specified color + alpha or its closest possible
 * alternative
 *
 * This function is guaranteed to return a color index for a requested
 * color, either the exact color or the closest possible alternative.
 *
 * @param resource $image
 * @param int $red
 * @param int $green
 * @param int $blue A value between 0 and 127. 0 indicates completely
 *   opaque while 127 indicates completely transparent.
 * @param int $alpha
 * @return int Returns a color index.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function imagecolorresolvealpha($image, $red, $green, $blue, $alpha){}

/**
 * Set the color for the specified palette index
 *
 * This sets the specified index in the palette to the specified color.
 * This is useful for creating flood-fill-like effects in palleted images
 * without the overhead of performing the actual flood-fill.
 *
 * @param resource $image An index in the palette.
 * @param int $index
 * @param int $red
 * @param int $green
 * @param int $blue Value of alpha component.
 * @param int $alpha
 * @return void
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagecolorset($image, $index, $red, $green, $blue, $alpha){}

/**
 * Get the colors for an index
 *
 * Gets the color for a specified index.
 *
 * @param resource $image The color index.
 * @param int $index
 * @return array Returns an associative array with red, green, blue and
 *   alpha keys that contain the appropriate values for the specified
 *   color index.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagecolorsforindex($image, $index){}

/**
 * Find out the number of colors in an image's palette
 *
 * Returns the number of colors in an image palette.
 *
 * @param resource $image
 * @return int Returns the number of colors in the specified image's
 *   palette or 0 for truecolor images.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagecolorstotal($image){}

/**
 * Define a color as transparent
 *
 * Sets the transparent color in the given {@link image}.
 *
 * @param resource $image
 * @param int $color
 * @return int The identifier of the new (or current, if none is
 *   specified) transparent color is returned. If {@link color} is not
 *   specified, and the image has no transparent color, the returned
 *   identifier will be -1.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagecolortransparent($image, $color){}

/**
 * Apply a 3x3 convolution matrix, using coefficient and offset
 *
 * Applies a convolution matrix on the image, using the given coefficient
 * and offset.
 *
 * @param resource $image A 3x3 matrix: an array of three arrays of
 *   three floats.
 * @param array $matrix The divisor of the result of the convolution,
 *   used for normalization.
 * @param float $div Color offset.
 * @param float $offset
 * @return bool
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function imageconvolution($image, $matrix, $div, $offset){}

/**
 * Copy part of an image
 *
 * Copy a part of {@link src_im} onto {@link dst_im} starting at the x,y
 * coordinates {@link src_x}, {@link src_y } with a width of {@link
 * src_w} and a height of {@link src_h}. The portion defined will be
 * copied onto the x,y coordinates, {@link dst_x} and {@link dst_y}.
 *
 * @param resource $dst_im
 * @param resource $src_im
 * @param int $dst_x x-coordinate of destination point.
 * @param int $dst_y y-coordinate of destination point.
 * @param int $src_x x-coordinate of source point.
 * @param int $src_y y-coordinate of source point.
 * @param int $src_w
 * @param int $src_h
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagecopy($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h){}

/**
 * Copy and merge part of an image
 *
 * Copy a part of {@link src_im} onto {@link dst_im} starting at the x,y
 * coordinates {@link src_x}, {@link src_y } with a width of {@link
 * src_w} and a height of {@link src_h}. The portion defined will be
 * copied onto the x,y coordinates, {@link dst_x} and {@link dst_y}.
 *
 * @param resource $dst_im
 * @param resource $src_im
 * @param int $dst_x x-coordinate of destination point.
 * @param int $dst_y y-coordinate of destination point.
 * @param int $src_x x-coordinate of source point.
 * @param int $src_y y-coordinate of source point.
 * @param int $src_w
 * @param int $src_h
 * @param int $pct The two images will be merged according to {@link
 *   pct} which can range from 0 to 100. When {@link pct} = 0, no action
 *   is taken, when 100 this function behaves identically to {@link
 *   imagecopy} for pallete images, except for ignoring alpha components,
 *   while it implements alpha transparency for true colour images.
 * @return bool
 * @since PHP 4 >= 4.0.1, PHP 5, PHP 7
 **/
function imagecopymerge($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $pct){}

/**
 * Copy and merge part of an image with gray scale
 *
 * {@link imagecopymergegray} copy a part of {@link src_im} onto {@link
 * dst_im} starting at the x,y coordinates {@link src_x}, {@link src_y }
 * with a width of {@link src_w} and a height of {@link src_h}. The
 * portion defined will be copied onto the x,y coordinates, {@link dst_x}
 * and {@link dst_y}.
 *
 * This function is identical to {@link imagecopymerge} except that when
 * merging it preserves the hue of the source by converting the
 * destination pixels to gray scale before the copy operation.
 *
 * @param resource $dst_im
 * @param resource $src_im
 * @param int $dst_x x-coordinate of destination point.
 * @param int $dst_y y-coordinate of destination point.
 * @param int $src_x x-coordinate of source point.
 * @param int $src_y y-coordinate of source point.
 * @param int $src_w
 * @param int $src_h
 * @param int $pct The {@link src_im} will be changed to grayscale
 *   according to {@link pct} where 0 is fully grayscale and 100 is
 *   unchanged. When {@link pct} = 100 this function behaves identically
 *   to {@link imagecopy} for pallete images, except for ignoring alpha
 *   components, while it implements alpha transparency for true colour
 *   images.
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function imagecopymergegray($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $pct){}

/**
 * Copy and resize part of an image with resampling
 *
 * {@link imagecopyresampled} copies a rectangular portion of one image
 * to another image, smoothly interpolating pixel values so that, in
 * particular, reducing the size of an image still retains a great deal
 * of clarity.
 *
 * In other words, {@link imagecopyresampled} will take a rectangular
 * area from {@link src_image} of width {@link src_w} and height {@link
 * src_h} at position ({@link src_x},{@link src_y}) and place it in a
 * rectangular area of {@link dst_image} of width {@link dst_w} and
 * height {@link dst_h} at position ({@link dst_x},{@link dst_y}).
 *
 * If the source and destination coordinates and width and heights
 * differ, appropriate stretching or shrinking of the image fragment will
 * be performed. The coordinates refer to the upper left corner. This
 * function can be used to copy regions within the same image (if {@link
 * dst_image} is the same as {@link src_image}) but if the regions
 * overlap the results will be unpredictable.
 *
 * @param resource $dst_image
 * @param resource $src_image
 * @param int $dst_x x-coordinate of destination point.
 * @param int $dst_y y-coordinate of destination point.
 * @param int $src_x x-coordinate of source point.
 * @param int $src_y y-coordinate of source point.
 * @param int $dst_w Destination width.
 * @param int $dst_h Destination height.
 * @param int $src_w
 * @param int $src_h
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function imagecopyresampled($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h){}

/**
 * Copy and resize part of an image
 *
 * {@link imagecopyresized} copies a rectangular portion of one image to
 * another image. {@link dst_image} is the destination image, {@link
 * src_image} is the source image identifier.
 *
 * In other words, {@link imagecopyresized} will take a rectangular area
 * from {@link src_image} of width {@link src_w} and height {@link src_h}
 * at position ({@link src_x},{@link src_y}) and place it in a
 * rectangular area of {@link dst_image} of width {@link dst_w} and
 * height {@link dst_h} at position ({@link dst_x},{@link dst_y}).
 *
 * If the source and destination coordinates and width and heights
 * differ, appropriate stretching or shrinking of the image fragment will
 * be performed. The coordinates refer to the upper left corner. This
 * function can be used to copy regions within the same image (if {@link
 * dst_image} is the same as {@link src_image}) but if the regions
 * overlap the results will be unpredictable.
 *
 * @param resource $dst_image
 * @param resource $src_image
 * @param int $dst_x x-coordinate of destination point.
 * @param int $dst_y y-coordinate of destination point.
 * @param int $src_x x-coordinate of source point.
 * @param int $src_y y-coordinate of source point.
 * @param int $dst_w Destination width.
 * @param int $dst_h Destination height.
 * @param int $src_w
 * @param int $src_h
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagecopyresized($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h){}

/**
 * Create a new palette based image
 *
 * {@link imagecreate} returns an image identifier representing a blank
 * image of specified size.
 *
 * In general, we recommend the use of {@link imagecreatetruecolor}
 * instead of {@link imagecreate} so that image processing occurs on the
 * highest quality image possible. If you want to output a palette image,
 * then {@link imagetruecolortopalette} should be called immediately
 * before saving the image with {@link imagepng} or {@link imagegif}.
 *
 * @param int $width The image width.
 * @param int $height The image height.
 * @return resource
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagecreate($width, $height){}

/**
 * {@link imagecreatefrombmp} returns an image identifier representing
 * the image obtained from the given filename.
 *
 * @param string $filename Path to the BMP image.
 * @return resource
 * @since PHP 7 >= 7.2.0
 **/
function imagecreatefrombmp($filename){}

/**
 * Create a new image from GD file or URL
 *
 * @param string $filename Path to the GD file.
 * @return resource
 * @since PHP 4 >= 4.0.7, PHP 5, PHP 7
 **/
function imagecreatefromgd($filename){}

/**
 * Create a new image from GD2 file or URL
 *
 * @param string $filename Path to the GD2 image.
 * @return resource
 * @since PHP 4 >= 4.0.7, PHP 5, PHP 7
 **/
function imagecreatefromgd2($filename){}

/**
 * Create a new image from a given part of GD2 file or URL
 *
 * @param string $filename Path to the GD2 image.
 * @param int $srcX x-coordinate of source point.
 * @param int $srcY y-coordinate of source point.
 * @param int $width
 * @param int $height
 * @return resource
 * @since PHP 4 >= 4.0.7, PHP 5, PHP 7
 **/
function imagecreatefromgd2part($filename, $srcX, $srcY, $width, $height){}

/**
 * {@link imagecreatefromgif} returns an image identifier representing
 * the image obtained from the given filename.
 *
 * @param string $filename Path to the GIF image.
 * @return resource
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagecreatefromgif($filename){}

/**
 * {@link imagecreatefromjpeg} returns an image identifier representing
 * the image obtained from the given filename.
 *
 * @param string $filename Path to the JPEG image.
 * @return resource
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagecreatefromjpeg($filename){}

/**
 * {@link imagecreatefrompng} returns an image identifier representing
 * the image obtained from the given filename.
 *
 * @param string $filename Path to the PNG image.
 * @return resource
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagecreatefrompng($filename){}

/**
 * Create a new image from the image stream in the string
 *
 * {@link imagecreatefromstring} returns an image identifier representing
 * the image obtained from the given {@link image}. These types will be
 * automatically detected if your build of PHP supports them: JPEG, PNG,
 * GIF, BMP, WBMP, and GD2.
 *
 * @param string $image A string containing the image data.
 * @return resource An image resource will be returned on success.
 *   FALSE is returned if the image type is unsupported, the data is not
 *   in a recognised format, or the image is corrupt and cannot be
 *   loaded.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function imagecreatefromstring($image){}

/**
 * {@link imagecreatefromwbmp} returns an image identifier representing
 * the image obtained from the given filename.
 *
 * @param string $filename Path to the WBMP image.
 * @return resource
 * @since PHP 4 >= 4.0.1, PHP 5, PHP 7
 **/
function imagecreatefromwbmp($filename){}

/**
 * {@link imagecreatefromwebp} returns an image identifier representing
 * the image obtained from the given filename.
 *
 * @param string $filename Path to the WebP image.
 * @return resource
 * @since PHP 5 >= 5.4.0, PHP 7
 **/
function imagecreatefromwebp($filename){}

/**
 * {@link imagecreatefromxbm} returns an image identifier representing
 * the image obtained from the given filename.
 *
 * @param string $filename Path to the XBM image.
 * @return resource
 * @since PHP 4 >= 4.0.1, PHP 5, PHP 7
 **/
function imagecreatefromxbm($filename){}

/**
 * {@link imagecreatefromxpm} returns an image identifier representing
 * the image obtained from the given filename.
 *
 * @param string $filename Path to the XPM image.
 * @return resource
 * @since PHP 4 >= 4.0.1, PHP 5, PHP 7
 **/
function imagecreatefromxpm($filename){}

/**
 * Create a new true color image
 *
 * {@link imagecreatetruecolor} returns an image identifier representing
 * a black image of the specified size.
 *
 * @param int $width Image width.
 * @param int $height Image height.
 * @return resource
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function imagecreatetruecolor($width, $height){}

/**
 * Crop an image to the given rectangle
 *
 * Crops an image to the given rectangular area and returns the resulting
 * image. The given {@link image} is not modified.
 *
 * @param resource $image The cropping rectangle as array with keys x,
 *   y, width and height.
 * @param array $rect
 * @return resource Return cropped image resource on success.
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function imagecrop($image, $rect){}

/**
 * Crop an image automatically using one of the available modes
 *
 * Automatically crops an image according to the given {@link mode}.
 *
 * @param resource $image One of the following constants:
 * @param int $mode
 * @param float $threshold
 * @param int $color
 * @return resource Returns a cropped image resource on success. If no
 *   cropping would occur, or the complete image would be cropped, that
 *   is treated as failure, i.e. {@link imagecrop} returns FALSE.
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function imagecropauto($image, $mode, $threshold, $color){}

/**
 * Draw a dashed line
 *
 * This function is deprecated. Use combination of {@link imagesetstyle}
 * and {@link imageline} instead.
 *
 * @param resource $image Upper left x coordinate.
 * @param int $x1 Upper left y coordinate 0, 0 is the top left corner
 *   of the image.
 * @param int $y1 Bottom right x coordinate.
 * @param int $x2 Bottom right y coordinate.
 * @param int $y2 The fill color.
 * @param int $color
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagedashedline($image, $x1, $y1, $x2, $y2, $color){}

/**
 * Destroy an image
 *
 * {@link imagedestroy} frees any memory associated with image {@link
 * image}.
 *
 * @param resource $image
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagedestroy($image){}

/**
 * Draw an ellipse
 *
 * Draws an ellipse centered at the specified coordinates.
 *
 * @param resource $image x-coordinate of the center.
 * @param int $cx y-coordinate of the center.
 * @param int $cy The ellipse width.
 * @param int $width The ellipse height.
 * @param int $height The color of the ellipse.
 * @param int $color
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function imageellipse($image, $cx, $cy, $width, $height, $color){}

/**
 * Flood fill
 *
 * Performs a flood fill starting at the given coordinate (top left is 0,
 * 0) with the given {@link color} in the {@link image}.
 *
 * @param resource $image x-coordinate of start point.
 * @param int $x y-coordinate of start point.
 * @param int $y The fill color.
 * @param int $color
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagefill($image, $x, $y, $color){}

/**
 * Draw a partial arc and fill it
 *
 * Draws a partial arc centered at the specified coordinate in the given
 * {@link image}.
 *
 * @param resource $image x-coordinate of the center.
 * @param int $cx y-coordinate of the center.
 * @param int $cy The arc width.
 * @param int $width The arc height.
 * @param int $height The arc start angle, in degrees.
 * @param int $start The arc end angle, in degrees. 0° is located at
 *   the three-o'clock position, and the arc is drawn clockwise.
 * @param int $end
 * @param int $color A bitwise OR of the following possibilities:
 *   IMG_ARC_PIE IMG_ARC_CHORD IMG_ARC_NOFILL IMG_ARC_EDGED IMG_ARC_PIE
 *   and IMG_ARC_CHORD are mutually exclusive; IMG_ARC_CHORD just
 *   connects the starting and ending angles with a straight line, while
 *   IMG_ARC_PIE produces a rounded edge. IMG_ARC_NOFILL indicates that
 *   the arc or chord should be outlined, not filled. IMG_ARC_EDGED, used
 *   together with IMG_ARC_NOFILL, indicates that the beginning and
 *   ending angles should be connected to the center - this is a good way
 *   to outline (rather than fill) a 'pie slice'.
 * @param int $style
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function imagefilledarc($image, $cx, $cy, $width, $height, $start, $end, $color, $style){}

/**
 * Draw a filled ellipse
 *
 * Draws an ellipse centered at the specified coordinate on the given
 * {@link image}.
 *
 * @param resource $image x-coordinate of the center.
 * @param int $cx y-coordinate of the center.
 * @param int $cy The ellipse width.
 * @param int $width The ellipse height.
 * @param int $height The fill color.
 * @param int $color
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function imagefilledellipse($image, $cx, $cy, $width, $height, $color){}

/**
 * Draw a filled polygon
 *
 * {@link imagefilledpolygon} creates a filled polygon in the given
 * {@link image}.
 *
 * @param resource $image An array containing the x and y coordinates
 *   of the polygons vertices consecutively.
 * @param array $points Total number of vertices, which must be at
 *   least 3.
 * @param int $num_points
 * @param int $color
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagefilledpolygon($image, $points, $num_points, $color){}

/**
 * Draw a filled rectangle
 *
 * Creates a rectangle filled with {@link color} in the given {@link
 * image} starting at point 1 and ending at point 2. 0, 0 is the top left
 * corner of the image.
 *
 * @param resource $image x-coordinate for point 1.
 * @param int $x1 y-coordinate for point 1.
 * @param int $y1 x-coordinate for point 2.
 * @param int $x2 y-coordinate for point 2.
 * @param int $y2 The fill color.
 * @param int $color
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagefilledrectangle($image, $x1, $y1, $x2, $y2, $color){}

/**
 * Flood fill to specific color
 *
 * {@link imagefilltoborder} performs a flood fill whose border color is
 * defined by {@link border}. The starting point for the fill is {@link
 * x}, {@link y} (top left is 0, 0) and the region is filled with color
 * {@link color}.
 *
 * @param resource $image x-coordinate of start.
 * @param int $x y-coordinate of start.
 * @param int $y The border color.
 * @param int $border The fill color.
 * @param int $color
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagefilltoborder($image, $x, $y, $border, $color){}

/**
 * Applies a filter to an image
 *
 * {@link imagefilter} applies the given filter {@link filtertype} on the
 * {@link image}.
 *
 * @param resource $image {@link filtertype} can be one of the
 *   following: IMG_FILTER_NEGATE: Reverses all colors of the image.
 *   IMG_FILTER_GRAYSCALE: Converts the image into grayscale by changing
 *   the red, green and blue components to their weighted sum using the
 *   same coefficients as the REC.601 luma (Y') calculation. The alpha
 *   components are retained. For palette images the result may differ
 *   due to palette limitations. IMG_FILTER_BRIGHTNESS: Changes the
 *   brightness of the image. Use {@link arg1} to set the level of
 *   brightness. The range for the brightness is -255 to 255.
 *   IMG_FILTER_CONTRAST: Changes the contrast of the image. Use {@link
 *   arg1} to set the level of contrast. IMG_FILTER_COLORIZE: Like
 *   IMG_FILTER_GRAYSCALE, except you can specify the color. Use {@link
 *   arg1}, {@link arg2} and {@link arg3} in the form of {@link red},
 *   {@link green}, {@link blue} and {@link arg4} for the {@link alpha}
 *   channel. The range for each color is 0 to 255.
 *   IMG_FILTER_EDGEDETECT: Uses edge detection to highlight the edges in
 *   the image. IMG_FILTER_EMBOSS: Embosses the image.
 *   IMG_FILTER_GAUSSIAN_BLUR: Blurs the image using the Gaussian method.
 *   IMG_FILTER_SELECTIVE_BLUR: Blurs the image. IMG_FILTER_MEAN_REMOVAL:
 *   Uses mean removal to achieve a "sketchy" effect. IMG_FILTER_SMOOTH:
 *   Makes the image smoother. Use {@link arg1} to set the level of
 *   smoothness. IMG_FILTER_PIXELATE: Applies pixelation effect to the
 *   image, use {@link arg1} to set the block size and {@link arg2} to
 *   set the pixelation effect mode.
 * @param int $filtertype IMG_FILTER_BRIGHTNESS: Brightness level.
 *   IMG_FILTER_CONTRAST: Contrast level. IMG_FILTER_COLORIZE:
 *   IMG_FILTER_SMOOTH: Smoothness level. IMG_FILTER_PIXELATE: Block size
 *   in pixels.
 * @param int $arg1 IMG_FILTER_COLORIZE: IMG_FILTER_PIXELATE: Whether
 *   to use advanced pixelation effect or not (defaults to FALSE).
 * @param int $arg2 IMG_FILTER_COLORIZE:
 * @param int $arg3 IMG_FILTER_COLORIZE: Alpha channel, A value between
 *   0 and 127. 0 indicates completely opaque while 127 indicates
 *   completely transparent.
 * @param int $arg4
 * @return bool
 * @since PHP 5, PHP 7
 **/
function imagefilter($image, $filtertype, $arg1, $arg2, $arg3, $arg4){}

/**
 * Flips an image using a given mode
 *
 * Flips the {@link image} image using the given {@link mode}.
 *
 * @param resource $image Flip mode, this can be one of the IMG_FLIP_*
 *   constants:
 *   
 *   Constant Meaning IMG_FLIP_HORIZONTAL Flips the image horizontally.
 *   IMG_FLIP_VERTICAL Flips the image vertically. IMG_FLIP_BOTH Flips
 *   the image both horizontally and vertically.
 * @param int $mode
 * @return bool
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function imageflip($image, $mode){}

/**
 * Get font height
 *
 * Returns the pixel height of a character in the specified font.
 *
 * @param int $font
 * @return int Returns the pixel height of the font.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagefontheight($font){}

/**
 * Get font width
 *
 * Returns the pixel width of a character in font.
 *
 * @param int $font
 * @return int Returns the pixel width of the font.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagefontwidth($font){}

/**
 * Give the bounding box of a text using fonts via freetype2
 *
 * This function calculates and returns the bounding box in pixels for a
 * FreeType text.
 *
 * @param float $size
 * @param float $angle Angle in degrees in which {@link text} will be
 *   measured.
 * @param string $fontfile The name of the TrueType font file (can be a
 *   URL). Depending on which version of the GD library that PHP is
 *   using, it may attempt to search for files that do not begin with a
 *   leading '/' by appending '.ttf' to the filename and searching along
 *   a library-defined font path.
 * @param string $text The string to be measured.
 * @param array $extrainfo Possible array indexes for {@link extrainfo}
 *   Key Type Meaning linespacing float Defines drawing linespacing
 * @return array {@link imageftbbox} returns an array with 8 elements
 *   representing four points making the bounding box of the text: 0
 *   lower left corner, X position 1 lower left corner, Y position 2
 *   lower right corner, X position 3 lower right corner, Y position 4
 *   upper right corner, X position 5 upper right corner, Y position 6
 *   upper left corner, X position 7 upper left corner, Y position
 * @since PHP 4 >= 4.0.7, PHP 5, PHP 7
 **/
function imageftbbox($size, $angle, $fontfile, $text, $extrainfo){}

/**
 * Write text to the image using fonts using FreeType 2
 *
 * @param resource $image The font size to use in points.
 * @param float $size The angle in degrees, with 0 degrees being
 *   left-to-right reading text. Higher values represent a
 *   counter-clockwise rotation. For example, a value of 90 would result
 *   in bottom-to-top reading text.
 * @param float $angle The coordinates given by {@link x} and {@link y}
 *   will define the basepoint of the first character (roughly the
 *   lower-left corner of the character). This is different from the
 *   {@link imagestring}, where {@link x} and {@link y} define the
 *   upper-left corner of the first character. For example, "top left" is
 *   0, 0.
 * @param int $x The y-ordinate. This sets the position of the fonts
 *   baseline, not the very bottom of the character.
 * @param int $y The index of the desired color for the text, see
 *   {@link imagecolorexact}.
 * @param int $color The path to the TrueType font you wish to use.
 *   Depending on which version of the GD library PHP is using, when
 *   {@link fontfile} does not begin with a leading / then .ttf will be
 *   appended to the filename and the library will attempt to search for
 *   that filename along a library-defined font path. When using versions
 *   of the GD library lower than 2.0.18, a space character, rather than
 *   a semicolon, was used as the 'path separator' for different font
 *   files. Unintentional use of this feature will result in the warning
 *   message: Warning: Could not find/open font. For these affected
 *   versions, the only solution is moving the font to a path which does
 *   not contain spaces. In many cases where a font resides in the same
 *   directory as the script using it the following trick will alleviate
 *   any include problems.
 *   
 *   <?php // Set the enviroment variable for GD putenv('GDFONTPATH=' .
 *   realpath('.'));
 *   
 *   // Name the font to be used (note the lack of the .ttf extension)
 *   $font = 'SomeFont'; ?>
 * @param string $fontfile Text to be inserted into image.
 * @param string $text Possible array indexes for {@link extrainfo} Key
 *   Type Meaning linespacing float Defines drawing linespacing
 * @param array $extrainfo
 * @return array This function returns an array defining the four
 *   points of the box, starting in the lower left and moving
 *   counter-clockwise: 0 lower left x-coordinate 1 lower left
 *   y-coordinate 2 lower right x-coordinate 3 lower right y-coordinate 4
 *   upper right x-coordinate 5 upper right y-coordinate 6 upper left
 *   x-coordinate 7 upper left y-coordinate
 * @since PHP 4 >= 4.0.7, PHP 5, PHP 7
 **/
function imagefttext($image, $size, $angle, $x, $y, $color, $fontfile, $text, $extrainfo){}

/**
 * Apply a gamma correction to a GD image
 *
 * Applies gamma correction to the given gd {@link image} given an input
 * and an output gamma.
 *
 * @param resource $image The input gamma.
 * @param float $inputgamma The output gamma.
 * @param float $outputgamma
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagegammacorrect($image, $inputgamma, $outputgamma){}

/**
 * Output GD image to browser or file
 *
 * Outputs a GD image to the given {@link to}.
 *
 * @param resource $image
 * @param mixed $to
 * @return bool
 * @since PHP 4 >= 4.0.7, PHP 5, PHP 7
 **/
function imagegd($image, $to){}

/**
 * Output GD2 image to browser or file
 *
 * Outputs a GD2 image to the given {@link to}.
 *
 * @param resource $image
 * @param mixed $to Chunk size.
 * @param int $chunk_size Either IMG_GD2_RAW or IMG_GD2_COMPRESSED.
 *   Default is IMG_GD2_RAW.
 * @param int $type
 * @return bool
 * @since PHP 4 >= 4.0.7, PHP 5, PHP 7
 **/
function imagegd2($image, $to, $chunk_size, $type){}

/**
 * Get the clipping rectangle
 *
 * {@link imagegetclip} retrieves the current clipping rectangle, i.e.
 * the area beyond which no pixels will be drawn.
 *
 * @param resource $im
 * @return array The function returns an indexed array with the
 *   coordinates of the clipping rectangle which has the following
 *   entries: x-coordinate of the upper left corner y-coordinate of the
 *   upper left corner x-coordinate of the lower right corner
 *   y-coordinate of the lower right corner
 * @since PHP 7 >= 7.2.0
 **/
function imagegetclip($im){}

/**
 * {@link imagegif} creates the GIF file in {@link to} from the image
 * {@link image}. The {@link image} argument is the return from the
 * {@link imagecreate} or imagecreatefrom* function.
 *
 * The image format will be GIF87a unless the image has been made
 * transparent with {@link imagecolortransparent}, in which case the
 * image format will be GIF89a.
 *
 * @param resource $image
 * @param mixed $to
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagegif($image, $to){}

/**
 * Captures the whole screen
 *
 * Grabs a screenshot of the whole screen.
 *
 * @return resource Returns an image resource identifier on success,
 *   FALSE on failure.
 * @since PHP 5 >= 5.2.2, PHP 7
 **/
function imagegrabscreen(){}

/**
 * Captures a window
 *
 * Grabs a window or its client area using a windows handle (HWND
 * property in COM instance)
 *
 * @param int $window_handle The HWND window ID.
 * @param int $client_area Include the client area of the application
 *   window.
 * @return resource Returns an image resource identifier on success,
 *   FALSE on failure.
 * @since PHP 5 >= 5.2.2, PHP 7
 **/
function imagegrabwindow($window_handle, $client_area){}

/**
 * Enable or disable interlace
 *
 * {@link imageinterlace} turns the interlace bit on or off.
 *
 * If the interlace bit is set and the image is used as a JPEG image, the
 * image is created as a progressive JPEG.
 *
 * @param resource $image If non-zero, the image will be interlaced,
 *   else the interlace bit is turned off.
 * @param int $interlace
 * @return int Returns 1 if the interlace bit is set for the image, 0
 *   otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imageinterlace($image, $interlace){}

/**
 * Finds whether an image is a truecolor image
 *
 * {@link imageistruecolor} finds whether the image {@link image} is a
 * truecolor image.
 *
 * @param resource $image
 * @return bool Returns TRUE if the {@link image} is truecolor, FALSE
 *   otherwise.
 * @since PHP 4 >= 4.3.2, PHP 5, PHP 7
 **/
function imageistruecolor($image){}

/**
 * {@link imagejpeg} creates a JPEG file from the given {@link image}.
 *
 * @param resource $image To skip this argument in order to provide the
 *   {@link quality} parameter, use NULL.
 * @param mixed $to {@link quality} is optional, and ranges from 0
 *   (worst quality, smaller file) to 100 (best quality, biggest file).
 *   The default is the default IJG quality value (about 75).
 * @param int $quality
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagejpeg($image, $to, $quality){}

/**
 * Set the alpha blending flag to use layering effects
 *
 * @param resource $image One of the following constants:
 *   IMG_EFFECT_REPLACE Use pixel replacement (equivalent of passing TRUE
 *   to {@link imagealphablending}) IMG_EFFECT_ALPHABLEND Use normal
 *   pixel blending (equivalent of passing FALSE to {@link
 *   imagealphablending}) IMG_EFFECT_NORMAL Same as
 *   IMG_EFFECT_ALPHABLEND. IMG_EFFECT_OVERLAY Overlay has the effect
 *   that black background pixels will remain black, white background
 *   pixels will remain white, but grey background pixels will take the
 *   colour of the foreground pixel. IMG_EFFECT_MULTIPLY Overlays with a
 *   multiply effect.
 * @param int $effect
 * @return bool
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function imagelayereffect($image, $effect){}

/**
 * Draw a line
 *
 * Draws a line between the two given points.
 *
 * @param resource $image x-coordinate for first point.
 * @param int $x1 y-coordinate for first point.
 * @param int $y1 x-coordinate for second point.
 * @param int $x2 y-coordinate for second point.
 * @param int $y2 The line color.
 * @param int $color
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imageline($image, $x1, $y1, $x2, $y2, $color){}

/**
 * Load a new font
 *
 * {@link imageloadfont} loads a user-defined bitmap and returns its
 * identifier.
 *
 * @param string $file The font file format is currently binary and
 *   architecture dependent. This means you should generate the font
 *   files on the same type of CPU as the machine you are running PHP on.
 *   
 *   Font file format byte position C data type description byte 0-3 int
 *   number of characters in the font byte 4-7 int value of first
 *   character in the font (often 32 for space) byte 8-11 int pixel width
 *   of each character byte 12-15 int pixel height of each character byte
 *   16- char array with character data, one byte per pixel in each
 *   character, for a total of (nchars*width*height) bytes.
 * @return int The font identifier which is always bigger than 5 to
 *   avoid conflicts with built-in fonts or FALSE on errors.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imageloadfont($file){}

/**
 * Draws an open polygon
 *
 * {@link imageopenpolygon} draws an open polygon on the given {@link
 * image}. Contrary to {@link imagepolygon}, no line is drawn between the
 * last and the first point.
 *
 * @param resource $image An array containing the polygon's vertices,
 *   e.g.: points[0] = x0 points[1] = y0 points[2] = x1 points[3] = y1
 * @param array $points Total number of points (vertices).
 * @param int $num_points
 * @param int $color
 * @return bool
 * @since PHP 7 >= 7.2.0
 **/
function imageopenpolygon($image, $points, $num_points, $color){}

/**
 * Copy the palette from one image to another
 *
 * {@link imagepalettecopy} copies the palette from the {@link source}
 * image to the {@link destination} image.
 *
 * @param resource $destination The destination image resource.
 * @param resource $source The source image resource.
 * @return void
 * @since PHP 4 >= 4.0.1, PHP 5, PHP 7
 **/
function imagepalettecopy($destination, $source){}

/**
 * Converts a palette based image to true color
 *
 * Converts a palette based image, created by functions like {@link
 * imagecreate} to a true color image, like {@link imagecreatetruecolor}.
 *
 * @param resource $src
 * @return bool Returns TRUE if the convertion was complete, or if the
 *   source image already is a true color image, otherwise FALSE is
 *   returned.
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function imagepalettetotruecolor($src){}

/**
 * Output a PNG image to either the browser or a file
 *
 * Outputs or saves a PNG image from the given {@link image}.
 *
 * @param resource $image
 * @param mixed $to Compression level: from 0 (no compression) to 9.
 *   The current default is 6. For more information see the zlib manual.
 * @param int $quality Allows reducing the PNG file size. It is a
 *   bitmask field which may be set to any combination of the
 *   PNG_FILTER_XXX constants. PNG_NO_FILTER or PNG_ALL_FILTERS may also
 *   be used to respectively disable or activate all filters.
 * @param int $filters
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagepng($image, $to, $quality, $filters){}

/**
 * Draws a polygon
 *
 * {@link imagepolygon} creates a polygon in the given {@link image}.
 *
 * @param resource $image An array containing the polygon's vertices,
 *   e.g.: points[0] = x0 points[1] = y0 points[2] = x1 points[3] = y1
 * @param array $points Total number of points (vertices).
 * @param int $num_points
 * @param int $color
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagepolygon($image, $points, $num_points, $color){}

/**
 * Give the bounding box of a text rectangle using PostScript Type1 fonts
 *
 * Gives the bounding box of a text rectangle using PostScript Type1
 * fonts.
 *
 * The bounding box is calculated using information available from
 * character metrics, and unfortunately tends to differ slightly from the
 * results achieved by actually rasterizing the text. If the angle is 0
 * degrees, you can expect the text to need 1 pixel more to every
 * direction.
 *
 * @param string $text The text to be written.
 * @param resource $font {@link size} is expressed in pixels.
 * @param int $size Allows you to change the default value of a space
 *   in a font. This amount is added to the normal value and can also be
 *   negative. Expressed in character space units, where 1 unit is
 *   1/1000th of an em-square.
 * @return array Returns an array containing the following elements: 0
 *   left x-coordinate 1 upper y-coordinate 2 right x-coordinate 3 lower
 *   y-coordinate
 * @since PHP 4, PHP 5
 **/
function imagepsbbox($text, $font, $size){}

/**
 * Change the character encoding vector of a font
 *
 * Loads a character encoding vector from a file and changes the fonts
 * encoding vector to it. As a PostScript fonts default vector lacks most
 * of the character positions above 127, you'll definitely want to change
 * this if you use a language other than English.
 *
 * If you find yourself using this function all the time, a much better
 * way to define the encoding is to set ps.default_encoding in the
 * configuration file to point to the right encoding file and all fonts
 * you load will automatically have the right encoding.
 *
 * @param resource $font_index The exact format of this file is
 *   described in T1libs documentation. T1lib comes with two ready-to-use
 *   files, IsoLatin1.enc and IsoLatin2.enc.
 * @param string $encodingfile
 * @return bool
 * @since PHP 4, PHP 5
 **/
function imagepsencodefont($font_index, $encodingfile){}

/**
 * Extend or condense a font
 *
 * Extend or condense a font ({@link font_index}), if the value of the
 * {@link extend} parameter is less than one you will be condensing the
 * font.
 *
 * @param resource $font_index Extension value, must be greater than 0.
 * @param float $extend
 * @return bool
 * @since PHP 4, PHP 5
 **/
function imagepsextendfont($font_index, $extend){}

/**
 * Free memory used by a PostScript Type 1 font
 *
 * {@link imagepsfreefont} frees memory used by a PostScript Type 1 font.
 *
 * @param resource $font_index
 * @return bool
 * @since PHP 4, PHP 5
 **/
function imagepsfreefont($font_index){}

/**
 * Load a PostScript Type 1 font from file
 *
 * Load a PostScript Type 1 font from the given {@link filename}.
 *
 * @param string $filename Path to the Postscript font file.
 * @return resource In the case everything went right, a valid font
 *   index will be returned and can be used for further purposes.
 *   Otherwise the function returns FALSE.
 * @since PHP 4, PHP 5
 **/
function imagepsloadfont($filename){}

/**
 * Slant a font
 *
 * Slant a given font.
 *
 * @param resource $font_index Slant level.
 * @param float $slant
 * @return bool
 * @since PHP 4, PHP 5
 **/
function imagepsslantfont($font_index, $slant){}

/**
 * Draws a text over an image using PostScript Type1 fonts
 *
 * Draws a text on an image using PostScript Type1 fonts.
 *
 * Refer to PostScript documentation about fonts and their measuring
 * system if you have trouble understanding how this works.
 *
 * @param resource $image The text to be written.
 * @param string $text {@link size} is expressed in pixels.
 * @param resource $font_index The color in which the text will be
 *   painted.
 * @param int $size The color to which the text will try to fade in
 *   with antialiasing. No pixels with the color {@link background} are
 *   actually painted, so the background image does not need to be of
 *   solid color.
 * @param int $foreground x-coordinate for the lower-left corner of the
 *   first character.
 * @param int $background y-coordinate for the lower-left corner of the
 *   first character.
 * @param int $x Allows you to change the default value of a space in a
 *   font. This amount is added to the normal value and can also be
 *   negative. Expressed in character space units, where 1 unit is
 *   1/1000th of an em-square.
 * @param int $y {@link tightness} allows you to control the amount of
 *   white space between characters. This amount is added to the normal
 *   character width and can also be negative. Expressed in character
 *   space units, where 1 unit is 1/1000th of an em-square.
 * @param int $space {@link angle} is in degrees.
 * @param int $tightness Allows you to control the number of colours
 *   used for antialiasing text. Allowed values are 4 and 16. The higher
 *   value is recommended for text sizes lower than 20, where the effect
 *   in text quality is quite visible. With bigger sizes, use 4. It's
 *   less computationally intensive.
 * @param float $angle
 * @param int $antialias_steps
 * @return array This function returns an array containing the
 *   following elements: 0 lower left x-coordinate 1 lower left
 *   y-coordinate 2 upper right x-coordinate 3 upper right y-coordinate
 * @since PHP 4, PHP 5
 **/
function imagepstext($image, $text, $font_index, $size, $foreground, $background, $x, $y, $space, $tightness, $angle, $antialias_steps){}

/**
 * Draw a rectangle
 *
 * {@link imagerectangle} creates a rectangle starting at the specified
 * coordinates.
 *
 * @param resource $image Upper left x coordinate.
 * @param int $x1 Upper left y coordinate 0, 0 is the top left corner
 *   of the image.
 * @param int $y1 Bottom right x coordinate.
 * @param int $x2 Bottom right y coordinate.
 * @param int $y2
 * @param int $color
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagerectangle($image, $x1, $y1, $x2, $y2, $color){}

/**
 * Get or set the resolution of the image
 *
 * {@link imageresolution} allows to set and get the resolution of an
 * image in DPI (dots per inch). If none of the optional parameters is
 * given, the current resolution is returned as indexed array. If only
 * {@link res_x} is given, the horizontal and vertical resolution are set
 * to this value. If both optional parameters are given, the horizontal
 * and vertical resolution are set to these values, respectively.
 *
 * The resolution is only used as meta information when images are read
 * from and written to formats supporting this kind of information
 * (curently PNG and JPEG). It does not affect any drawing operations.
 * The default resolution for new images is 96 DPI.
 *
 * @param resource $image The horizontal resolution in DPI.
 * @param int $res_x The vertical resolution in DPI.
 * @param int $res_y
 * @return mixed When used as getter (that is without the optional
 *   parameters), it returns TRUE on success, . When used as setter (that
 *   is with one or both optional parameters given), it returns an
 *   indexed array of the horizontal and vertical resolution on success,
 *   .
 * @since PHP 7 >= 7.2.0
 **/
function imageresolution($image, $res_x, $res_y){}

/**
 * Rotate an image with a given angle
 *
 * Rotates the {@link image} image using the given {@link angle} in
 * degrees.
 *
 * The center of rotation is the center of the image, and the rotated
 * image may have different dimensions than the original image.
 *
 * @param resource $image Rotation angle, in degrees. The rotation
 *   angle is interpreted as the number of degrees to rotate the image
 *   anticlockwise.
 * @param float $angle Specifies the color of the uncovered zone after
 *   the rotation
 * @param int $bgd_color If set and non-zero, transparent colors are
 *   ignored (otherwise kept).
 * @param int $ignore_transparent
 * @return resource Returns an image resource for the rotated image, .
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function imagerotate($image, $angle, $bgd_color, $ignore_transparent){}

/**
 * Set the flag to save full alpha channel information (as opposed to
 * single-color transparency) when saving PNG images
 *
 * {@link imagesavealpha} sets the flag to attempt to save full alpha
 * channel information (as opposed to single-color transparency) when
 * saving PNG images.
 *
 * You have to unset alphablending (imagealphablending($im, false)), to
 * use it.
 *
 * Alpha channel is not supported by all browsers, if you have problem
 * with your browser, try to load your script with an alpha channel
 * compliant browser, e.g. latest Mozilla.
 *
 * @param resource $image Whether to save the alpha channel or not.
 *   Default to FALSE.
 * @param bool $saveflag
 * @return bool
 * @since PHP 4 >= 4.3.2, PHP 5, PHP 7
 **/
function imagesavealpha($image, $saveflag){}

/**
 * Scale an image using the given new width and height
 *
 * {@link imagescale} scales an image using the given interpolation
 * algorithm.
 *
 * @param resource $image The width to scale the image to.
 * @param int $new_width The height to scale the image to. If omitted
 *   or negative, the aspect ratio will be preserved.
 * @param int $new_height One of IMG_NEAREST_NEIGHBOUR,
 *   IMG_BILINEAR_FIXED, IMG_BICUBIC, IMG_BICUBIC_FIXED or anything else
 *   (will use two pass). IMG_WEIGHTED4 is not yet supported.
 * @param int $mode
 * @return resource Return the scaled image resource on success.
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function imagescale($image, $new_width, $new_height, $mode){}

/**
 * Set the brush image for line drawing
 *
 * {@link imagesetbrush} sets the brush image to be used by all line
 * drawing functions (such as {@link imageline} and {@link imagepolygon})
 * when drawing with the special colors IMG_COLOR_BRUSHED or
 * IMG_COLOR_STYLEDBRUSHED.
 *
 * @param resource $image An image resource.
 * @param resource $brush
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function imagesetbrush($image, $brush){}

/**
 * Set the clipping rectangle
 *
 * {@link imagesetclip} sets the current clipping rectangle, i.e. the
 * area beyond which no pixels will be drawn.
 *
 * @param resource $im The x-coordinate of the upper left corner.
 * @param int $x1 The y-coordinate of the upper left corner.
 * @param int $y1 The x-coordinate of the lower right corner.
 * @param int $x2 The y-coordinate of the lower right corner.
 * @param int $y2
 * @return bool
 * @since PHP 7 >= 7.2.0
 **/
function imagesetclip($im, $x1, $y1, $x2, $y2){}

/**
 * Set the interpolation method
 *
 * Sets the interpolation method, setting an interpolation method affects
 * the rendering of various functions in GD, such as the {@link
 * imagerotate} function.
 *
 * @param resource $image The interpolation method, which can be one of
 *   the following: IMG_BELL: Bell filter. IMG_BESSEL: Bessel filter.
 *   IMG_BICUBIC: Bicubic interpolation. IMG_BICUBIC_FIXED: Fixed point
 *   implementation of the bicubic interpolation. IMG_BILINEAR_FIXED:
 *   Fixed point implementation of the bilinear interpolation (default
 *   (also on image creation)). IMG_BLACKMAN: Blackman window function.
 *   IMG_BOX: Box blur filter. IMG_BSPLINE: Spline interpolation.
 *   IMG_CATMULLROM: Cubic Hermite spline interpolation. IMG_GAUSSIAN:
 *   Gaussian function. IMG_GENERALIZED_CUBIC: Generalized cubic spline
 *   fractal interpolation. IMG_HERMITE: Hermite interpolation.
 *   IMG_HAMMING: Hamming filter. IMG_HANNING: Hanning filter.
 *   IMG_MITCHELL: Mitchell filter. IMG_POWER: Power interpolation.
 *   IMG_QUADRATIC: Inverse quadratic interpolation. IMG_SINC: Sinc
 *   function. IMG_NEAREST_NEIGHBOUR: Nearest neighbour interpolation.
 *   IMG_WEIGHTED4: Weighting filter. IMG_TRIANGLE: Triangle
 *   interpolation.
 * @param int $method
 * @return bool
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function imagesetinterpolation($image, $method){}

/**
 * Set a single pixel
 *
 * {@link imagesetpixel} draws a pixel at the specified coordinate.
 *
 * @param resource $image x-coordinate.
 * @param int $x y-coordinate.
 * @param int $y
 * @param int $color
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagesetpixel($image, $x, $y, $color){}

/**
 * Set the style for line drawing
 *
 * {@link imagesetstyle} sets the style to be used by all line drawing
 * functions (such as {@link imageline} and {@link imagepolygon}) when
 * drawing with the special color IMG_COLOR_STYLED or lines of images
 * with color IMG_COLOR_STYLEDBRUSHED.
 *
 * @param resource $image An array of pixel colors. You can use the
 *   IMG_COLOR_TRANSPARENT constant to add a transparent pixel. Note that
 *   {@link style} must not be an empty array.
 * @param array $style
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function imagesetstyle($image, $style){}

/**
 * Set the thickness for line drawing
 *
 * {@link imagesetthickness} sets the thickness of the lines drawn when
 * drawing rectangles, polygons, arcs etc. to {@link thickness} pixels.
 *
 * @param resource $image Thickness, in pixels.
 * @param int $thickness
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function imagesetthickness($image, $thickness){}

/**
 * Set the tile image for filling
 *
 * {@link imagesettile} sets the tile image to be used by all region
 * filling functions (such as {@link imagefill} and {@link
 * imagefilledpolygon}) when filling with the special color
 * IMG_COLOR_TILED.
 *
 * A tile is an image used to fill an area with a repeated pattern. Any
 * GD image can be used as a tile, and by setting the transparent color
 * index of the tile image with {@link imagecolortransparent}, a tile
 * allows certain parts of the underlying area to shine through can be
 * created.
 *
 * @param resource $image The image resource to be used as a tile.
 * @param resource $tile
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function imagesettile($image, $tile){}

/**
 * Draw a string horizontally
 *
 * Draws a {@link string} at the given coordinates.
 *
 * @param resource $image x-coordinate of the upper left corner.
 * @param int $font y-coordinate of the upper left corner.
 * @param int $x The string to be written.
 * @param int $y
 * @param string $string
 * @param int $color
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagestring($image, $font, $x, $y, $string, $color){}

/**
 * Draw a string vertically
 *
 * Draws a {@link string} vertically at the given coordinates.
 *
 * @param resource $image x-coordinate of the bottom left corner.
 * @param int $font y-coordinate of the bottom left corner.
 * @param int $x The string to be written.
 * @param int $y
 * @param string $string
 * @param int $color
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagestringup($image, $font, $x, $y, $string, $color){}

/**
 * Get image width
 *
 * Returns the width of the given {@link image} resource.
 *
 * @param resource $image
 * @return int Return the width of the {@link image} or FALSE on
 *   errors.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagesx($image){}

/**
 * Get image height
 *
 * Returns the height of the given {@link image} resource.
 *
 * @param resource $image
 * @return int Return the height of the {@link image} or FALSE on
 *   errors.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagesy($image){}

/**
 * Convert a true color image to a palette image
 *
 * {@link imagetruecolortopalette} converts a truecolor image to a
 * palette image. The code for this function was originally drawn from
 * the Independent JPEG Group library code, which is excellent. The code
 * has been modified to preserve as much alpha channel information as
 * possible in the resulting palette, in addition to preserving colors as
 * well as possible. This does not work as well as might be hoped. It is
 * usually best to simply produce a truecolor output image instead, which
 * guarantees the highest output quality.
 *
 * @param resource $image Indicates if the image should be dithered -
 *   if it is TRUE then dithering will be used which will result in a
 *   more speckled image but with better color approximation.
 * @param bool $dither Sets the maximum number of colors that should be
 *   retained in the palette.
 * @param int $ncolors
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function imagetruecolortopalette($image, $dither, $ncolors){}

/**
 * Give the bounding box of a text using TrueType fonts
 *
 * This function calculates and returns the bounding box in pixels for a
 * TrueType text.
 *
 * @param float $size
 * @param float $angle Angle in degrees in which {@link text} will be
 *   measured.
 * @param string $fontfile The string to be measured.
 * @param string $text
 * @return array {@link imagettfbbox} returns an array with 8 elements
 *   representing four points making the bounding box of the text on
 *   success and FALSE on error. key contents 0 lower left corner, X
 *   position 1 lower left corner, Y position 2 lower right corner, X
 *   position 3 lower right corner, Y position 4 upper right corner, X
 *   position 5 upper right corner, Y position 6 upper left corner, X
 *   position 7 upper left corner, Y position
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagettfbbox($size, $angle, $fontfile, $text){}

/**
 * Write text to the image using TrueType fonts
 *
 * Writes the given {@link text} into the image using TrueType fonts.
 *
 * @param resource $image
 * @param float $size The angle in degrees, with 0 degrees being
 *   left-to-right reading text. Higher values represent a
 *   counter-clockwise rotation. For example, a value of 90 would result
 *   in bottom-to-top reading text.
 * @param float $angle The coordinates given by {@link x} and {@link y}
 *   will define the basepoint of the first character (roughly the
 *   lower-left corner of the character). This is different from the
 *   {@link imagestring}, where {@link x} and {@link y} define the
 *   upper-left corner of the first character. For example, "top left" is
 *   0, 0.
 * @param int $x The y-ordinate. This sets the position of the fonts
 *   baseline, not the very bottom of the character.
 * @param int $y The color index. Using the negative of a color index
 *   has the effect of turning off antialiasing. See {@link
 *   imagecolorallocate}.
 * @param int $color The text string in UTF-8 encoding. May include
 *   decimal numeric character references (of the form: &#8364;) to
 *   access characters in a font beyond position 127. The hexadecimal
 *   format (like &#xA9;) is supported. Strings in UTF-8 encoding can be
 *   passed directly. Named entities, such as &copy;, are not supported.
 *   Consider using {@link html_entity_decode} to decode these named
 *   entities into UTF-8 strings. If a character is used in the string
 *   which is not supported by the font, a hollow rectangle will replace
 *   the character.
 * @param string $fontfile
 * @param string $text
 * @return array Returns an array with 8 elements representing four
 *   points making the bounding box of the text. The order of the points
 *   is lower left, lower right, upper right, upper left. The points are
 *   relative to the text regardless of the angle, so "upper left" means
 *   in the top left-hand corner when you see the text horizontally.
 *   Returns FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imagettftext($image, $size, $angle, $x, $y, $color, $fontfile, $text){}

/**
 * Return the image types supported by this PHP build
 *
 * Returns the image types supported by the current PHP installation.
 *
 * @return int Returns a bit-field corresponding to the image formats
 *   supported by the version of GD linked into PHP. The following bits
 *   are returned, IMG_BMP | IMG_GIF | IMG_JPG | IMG_PNG | IMG_WBMP |
 *   IMG_XPM | IMG_WEBP.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function imagetypes(){}

/**
 * {@link imagewbmp} outputs or save a WBMP version of the given {@link
 * image}.
 *
 * @param resource $image
 * @param mixed $to You can set the foreground color with this
 *   parameter by setting an identifier obtained from {@link
 *   imagecolorallocate}. The default foreground color is black.
 * @param int $foreground
 * @return bool
 * @since PHP 4 >= 4.0.1, PHP 5, PHP 7
 **/
function imagewbmp($image, $to, $foreground){}

/**
 * Output a WebP image to browser or file
 *
 * Outputs or saves a WebP version of the given {@link image}.
 *
 * @param resource $image
 * @param mixed $to {@link quality} ranges from 0 (worst quality,
 *   smaller file) to 100 (best quality, biggest file).
 * @param int $quality
 * @return bool
 * @since PHP 5 >= 5.4.0, PHP 7
 **/
function imagewebp($image, $to, $quality){}

/**
 * Output an XBM image to browser or file
 *
 * Outputs or save an XBM version of the given {@link image}.
 *
 * @param resource $image The path to save the file to. If not set or
 *   NULL, the raw image stream will be outputted directly. The {@link
 *   filename} (without the .xbm extension) is also used for the C
 *   identifiers of the XBM, whereby non alphanumeric characters of the
 *   current locale are substituted by underscores. If {@link filename}
 *   is set to NULL, image is used to build the C identifiers.
 * @param string $filename You can set the foreground color with this
 *   parameter by setting an identifier obtained from {@link
 *   imagecolorallocate}. The default foreground color is black. All
 *   other colors are treated as background.
 * @param int $foreground
 * @return bool
 * @since PHP 5, PHP 7
 **/
function imagexbm($image, $filename, $foreground){}

/**
 * Get file extension for image type
 *
 * Returns the extension for the given IMAGETYPE_XXX constant.
 *
 * @param int $imagetype One of the IMAGETYPE_XXX constant.
 * @param bool $include_dot Whether to prepend a dot to the extension
 *   or not. Default to TRUE.
 * @return string A string with the extension corresponding to the
 *   given image type.
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function image_type_to_extension($imagetype, $include_dot){}

/**
 * Get Mime-Type for image-type returned by getimagesize, exif_read_data,
 * exif_thumbnail, exif_imagetype
 *
 * The {@link image_type_to_mime_type} function will determine the
 * Mime-Type for an IMAGETYPE constant.
 *
 * @param int $imagetype One of the IMAGETYPE_XXX constants.
 * @return string The returned values are as follows Returned values
 *   Constants {@link imagetype} Returned value IMAGETYPE_GIF image/gif
 *   IMAGETYPE_JPEG image/jpeg IMAGETYPE_PNG image/png IMAGETYPE_SWF
 *   application/x-shockwave-flash IMAGETYPE_PSD image/psd IMAGETYPE_BMP
 *   image/bmp IMAGETYPE_TIFF_II (intel byte order) image/tiff
 *   IMAGETYPE_TIFF_MM (motorola byte order) image/tiff IMAGETYPE_JPC
 *   application/octet-stream IMAGETYPE_JP2 image/jp2 IMAGETYPE_JPX
 *   application/octet-stream IMAGETYPE_JB2 application/octet-stream
 *   IMAGETYPE_SWC application/x-shockwave-flash IMAGETYPE_IFF image/iff
 *   IMAGETYPE_WBMP image/vnd.wap.wbmp IMAGETYPE_XBM image/xbm
 *   IMAGETYPE_ICO image/vnd.microsoft.icon IMAGETYPE_WEBP image/webp
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function image_type_to_mime_type($imagetype){}

/**
 * Convert an 8bit string to a quoted-printable string
 *
 * Convert an 8bit string to a quoted-printable string (according to
 * RFC2045, section 6.7).
 *
 * @param string $string The 8bit string to convert
 * @return string Returns a quoted-printable string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_8bit($string){}

/**
 * Returns all IMAP alert messages that have occurred
 *
 * Returns all of the IMAP alert messages generated since the last {@link
 * imap_alerts} call, or the beginning of the page.
 *
 * When {@link imap_alerts} is called, the alert stack is subsequently
 * cleared. The IMAP specification requires that these messages be passed
 * to the user.
 *
 * @return array Returns an array of all of the IMAP alert messages
 *   generated or FALSE if no alert messages are available.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_alerts(){}

/**
 * Append a string message to a specified mailbox
 *
 * Appends a string {@link message} to the specified {@link mailbox}.
 *
 * @param resource $imap_stream The mailbox name, see {@link imap_open}
 *   for more information
 * @param string $mailbox The message to be append, as a string When
 *   talking to the Cyrus IMAP server, you must use "\r\n" as your
 *   end-of-line terminator instead of "\n" or the operation will fail
 * @param string $message If provided, the {@link options} will also be
 *   written to the {@link mailbox}
 * @param string $options If this parameter is set, it will set the
 *   INTERNALDATE on the appended message. The parameter should be a date
 *   string that conforms to the rfc2060 specifications for a date_time
 *   value.
 * @param string $internal_date
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_append($imap_stream, $mailbox, $message, $options, $internal_date){}

/**
 * Decode BASE64 encoded text
 *
 * Decodes the given BASE-64 encoded {@link text}.
 *
 * @param string $text The encoded text
 * @return string Returns the decoded message as a string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_base64($text){}

/**
 * Convert an 8bit string to a base64 string
 *
 * Convert an 8bit string to a base64 string according to RFC2045,
 * Section 6.8.
 *
 * @param string $string The 8bit string
 * @return string Returns a base64 encoded string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_binary($string){}

/**
 * Read the message body
 *
 * {@link imap_body} returns the body of the message, numbered {@link
 * msg_number} in the current mailbox.
 *
 * {@link imap_body} will only return a verbatim copy of the message
 * body. To extract single parts of a multipart MIME-encoded message you
 * have to use {@link imap_fetchstructure} to analyze its structure and
 * {@link imap_fetchbody} to extract a copy of a single body component.
 *
 * @param resource $imap_stream The message number
 * @param int $msg_number The optional {@link options} are a bit mask
 *   with one or more of the following: FT_UID - The {@link msg_number}
 *   is a UID FT_PEEK - Do not set the \Seen flag if not already set
 *   FT_INTERNAL - The return string is in internal format, will not
 *   canonicalize to CRLF.
 * @param int $options
 * @return string Returns the body of the specified message, as a
 *   string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_body($imap_stream, $msg_number, $options){}

/**
 * Read the structure of a specified body section of a specific message
 *
 * @param resource $imap_stream The message number
 * @param int $msg_number The body section to read
 * @param string $section
 * @return object Returns the information in an object, for a detailed
 *   description of the object structure and properties see {@link
 *   imap_fetchstructure}.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_bodystruct($imap_stream, $msg_number, $section){}

/**
 * Check current mailbox
 *
 * Checks information about the current mailbox.
 *
 * @param resource $imap_stream
 * @return object Returns the information in an object with following
 *   properties: Date - current system time formatted according to
 *   RFC2822 Driver - protocol used to access this mailbox: POP3, IMAP,
 *   NNTP Mailbox - the mailbox name Nmsgs - number of messages in the
 *   mailbox Recent - number of recent messages in the mailbox
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_check($imap_stream){}

/**
 * Clears flags on messages
 *
 * This function causes a store to delete the specified {@link flag} to
 * the flags set for the messages in the specified {@link sequence}.
 *
 * @param resource $imap_stream A sequence of message numbers. You can
 *   enumerate desired messages with the X,Y syntax, or retrieve all
 *   messages within an interval with the X:Y syntax
 * @param string $sequence The flags which you can unset are "\\Seen",
 *   "\\Answered", "\\Flagged", "\\Deleted", and "\\Draft" (as defined by
 *   RFC2060)
 * @param string $flag {@link options} are a bit mask and may contain
 *   the single option: ST_UID - The sequence argument contains UIDs
 *   instead of sequence numbers
 * @param int $options
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_clearflag_full($imap_stream, $sequence, $flag, $options){}

/**
 * Close an IMAP stream
 *
 * Closes the imap stream.
 *
 * @param resource $imap_stream If set to CL_EXPUNGE, the function will
 *   silently expunge the mailbox before closing, removing all messages
 *   marked for deletion. You can achieve the same thing by using {@link
 *   imap_expunge}
 * @param int $flag
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_close($imap_stream, $flag){}

/**
 * Create a new mailbox
 *
 * Creates a new mailbox specified by {@link mailbox}.
 *
 * @param resource $imap_stream The mailbox name, see {@link imap_open}
 *   for more information. Names containing international characters
 *   should be encoded by {@link imap_utf7_encode}
 * @param string $mailbox
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_create($imap_stream, $mailbox){}

/**
 * Create a new mailbox
 *
 * Creates a new mailbox specified by {@link mailbox}.
 *
 * @param resource $imap_stream The mailbox name, see {@link imap_open}
 *   for more information. Names containing international characters
 *   should be encoded by {@link imap_utf7_encode}
 * @param string $mailbox
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_createmailbox($imap_stream, $mailbox){}

/**
 * Mark a message for deletion from current mailbox
 *
 * Marks messages listed in {@link msg_number} for deletion. Messages
 * marked for deletion will stay in the mailbox until either {@link
 * imap_expunge} is called or {@link imap_close} is called with the
 * optional parameter CL_EXPUNGE.
 *
 * @param resource $imap_stream The message number
 * @param int $msg_number You can set the FT_UID which tells the
 *   function to treat the {@link msg_number} argument as an UID.
 * @param int $options
 * @return bool Returns TRUE.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_delete($imap_stream, $msg_number, $options){}

/**
 * Delete a mailbox
 *
 * Deletes the specified {@link mailbox}.
 *
 * @param resource $imap_stream The mailbox name, see {@link imap_open}
 *   for more information
 * @param string $mailbox
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_deletemailbox($imap_stream, $mailbox){}

/**
 * Returns all of the IMAP errors that have occurred
 *
 * Gets all of the IMAP errors (if any) that have occurred during this
 * page request or since the error stack was reset.
 *
 * When {@link imap_errors} is called, the error stack is subsequently
 * cleared.
 *
 * @return array This function returns an array of all of the IMAP
 *   error messages generated since the last {@link imap_errors} call, or
 *   the beginning of the page. Returns FALSE if no error messages are
 *   available.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_errors(){}

/**
 * Delete all messages marked for deletion
 *
 * Deletes all the messages marked for deletion by {@link imap_delete},
 * {@link imap_mail_move}, or {@link imap_setflag_full}.
 *
 * @param resource $imap_stream
 * @return bool Returns TRUE.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_expunge($imap_stream){}

/**
 * Fetch a particular section of the body of the message
 *
 * Fetch of a particular section of the body of the specified messages.
 * Body parts are not decoded by this function.
 *
 * @param resource $imap_stream The message number
 * @param int $msg_number The part number. It is a string of integers
 *   delimited by period which index into a body part list as per the
 *   IMAP4 specification
 * @param string $section A bitmask with one or more of the following:
 *   FT_UID - The {@link msg_number} is a UID FT_PEEK - Do not set the
 *   \Seen flag if not already set FT_INTERNAL - The return string is in
 *   internal format, will not canonicalize to CRLF.
 * @param int $options
 * @return string Returns a particular section of the body of the
 *   specified messages as a text string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_fetchbody($imap_stream, $msg_number, $section, $options){}

/**
 * Returns header for a message
 *
 * This function causes a fetch of the complete, unfiltered RFC2822
 * format header of the specified message.
 *
 * @param resource $imap_stream The message number
 * @param int $msg_number The possible {@link options} are: FT_UID -
 *   The {@link msgno} argument is a UID FT_INTERNAL - The return string
 *   is in "internal" format, without any attempt to canonicalize to CRLF
 *   newlines FT_PREFETCHTEXT - The RFC822.TEXT should be pre-fetched at
 *   the same time. This avoids an extra RTT on an IMAP connection if a
 *   full message text is desired (e.g. in a "save to local file"
 *   operation)
 * @param int $options
 * @return string Returns the header of the specified message as a text
 *   string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_fetchheader($imap_stream, $msg_number, $options){}

/**
 * Fetch MIME headers for a particular section of the message
 *
 * Fetch the MIME headers of a particular section of the body of the
 * specified messages.
 *
 * @param resource $imap_stream The message number
 * @param int $msg_number The part number. It is a string of integers
 *   delimited by period which index into a body part list as per the
 *   IMAP4 specification
 * @param string $section A bitmask with one or more of the following:
 *   FT_UID - The {@link msg_number} is a UID FT_PEEK - Do not set the
 *   \Seen flag if not already set FT_INTERNAL - The return string is in
 *   internal format, will not canonicalize to CRLF.
 * @param int $options
 * @return string Returns the MIME headers of a particular section of
 *   the body of the specified messages as a text string.
 * @since PHP 5 >= 5.3.6, PHP 7
 **/
function imap_fetchmime($imap_stream, $msg_number, $section, $options){}

/**
 * Read the structure of a particular message
 *
 * Fetches all the structured information for a given message.
 *
 * @param resource $imap_stream The message number
 * @param int $msg_number This optional parameter only has a single
 *   option, FT_UID, which tells the function to treat the {@link
 *   msg_number} argument as a UID.
 * @param int $options
 * @return object Returns an object includes the envelope, internal
 *   date, size, flags and body structure along with a similar object for
 *   each mime attachment. The structure of the returned objects is as
 *   follows:
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_fetchstructure($imap_stream, $msg_number, $options){}

/**
 * Read the message body
 *
 * {@link imap_fetchtext} returns the body of the message, numbered
 * {@link msg_number} in the current mailbox.
 *
 * {@link imap_fetchtext} will only return a verbatim copy of the message
 * body. To extract single parts of a multipart MIME-encoded message you
 * have to use {@link imap_fetchstructure} to analyze its structure and
 * {@link imap_fetchbody} to extract a copy of a single body component.
 *
 * @param resource $imap_stream The message number
 * @param int $msg_number The optional {@link options} are a bit mask
 *   with one or more of the following: FT_UID - The {@link msg_number}
 *   is a UID FT_PEEK - Do not set the \Seen flag if not already set
 *   FT_INTERNAL - The return string is in internal format, will not
 *   canonicalize to CRLF.
 * @param int $options
 * @return string Returns the body of the specified message, as a
 *   string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_fetchtext($imap_stream, $msg_number, $options){}

/**
 * Read an overview of the information in the headers of the given
 * message
 *
 * This function fetches mail headers for the given {@link sequence} and
 * returns an overview of their contents.
 *
 * @param resource $imap_stream A message sequence description. You can
 *   enumerate desired messages with the X,Y syntax, or retrieve all
 *   messages within an interval with the X:Y syntax
 * @param string $sequence {@link sequence} will contain a sequence of
 *   message indices or UIDs, if this parameter is set to FT_UID.
 * @param int $options
 * @return array Returns an array of objects describing one message
 *   header each. The object will only define a property if it exists.
 *   The possible properties are: subject - the messages subject from -
 *   who sent it to - recipient date - when was it sent message_id -
 *   Message-ID references - is a reference to this message id
 *   in_reply_to - is a reply to this message id size - size in bytes uid
 *   - UID the message has in the mailbox msgno - message sequence number
 *   in the mailbox recent - this message is flagged as recent flagged -
 *   this message is flagged answered - this message is flagged as
 *   answered deleted - this message is flagged for deletion seen - this
 *   message is flagged as already read draft - this message is flagged
 *   as being a draft udate - the UNIX timestamp of the arrival date
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_fetch_overview($imap_stream, $sequence, $options){}

/**
 * Clears IMAP cache
 *
 * Purges the cache of entries of a specific type.
 *
 * @param resource $imap_stream Specifies the cache to purge. It may
 *   one or a combination of the following constants: IMAP_GC_ELT
 *   (message cache elements), IMAP_GC_ENV (envelope and bodies),
 *   IMAP_GC_TEXTS (texts).
 * @param int $caches
 * @return bool
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function imap_gc($imap_stream, $caches){}

/**
 * Gets the ACL for a given mailbox
 *
 * @param resource $imap_stream The mailbox name, see {@link imap_open}
 *   for more information
 * @param string $mailbox
 * @return array Returns an associative array of "folder" => "acl"
 *   pairs.
 * @since PHP 5, PHP 7
 **/
function imap_getacl($imap_stream, $mailbox){}

/**
 * Read the list of mailboxes, returning detailed information on each one
 *
 * Gets information on the mailboxes.
 *
 * @param resource $imap_stream {@link ref} should normally be just the
 *   server specification as described in {@link imap_open}
 * @param string $ref
 * @param string $pattern
 * @return array Returns an array of objects containing mailbox
 *   information. Each object has the attributes {@link name}, specifying
 *   the full name of the mailbox; {@link delimiter}, which is the
 *   hierarchy delimiter for the part of the hierarchy this mailbox is
 *   in; and {@link attributes}. {@link Attributes} is a bitmask that can
 *   be tested against: LATT_NOINFERIORS - This mailbox not contains, and
 *   may not contain any "children" (there are no mailboxes below this
 *   one). Calling {@link imap_createmailbox} will not work on this
 *   mailbox. LATT_NOSELECT - This is only a container, not a mailbox -
 *   you cannot open it. LATT_MARKED - This mailbox is marked. This means
 *   that it may contain new messages since the last time it was checked.
 *   Not provided by all IMAP servers. LATT_UNMARKED - This mailbox is
 *   not marked, does not contain new messages. If either MARKED or
 *   UNMARKED is provided, you can assume the IMAP server supports this
 *   feature for this mailbox. LATT_REFERRAL - This container has a
 *   referral to a remote mailbox. LATT_HASCHILDREN - This mailbox has
 *   selectable inferiors. LATT_HASNOCHILDREN - This mailbox has no
 *   selectable inferiors.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_getmailboxes($imap_stream, $ref, $pattern){}

/**
 * List all the subscribed mailboxes
 *
 * Gets information about the subscribed mailboxes.
 *
 * Identical to {@link imap_getmailboxes}, except that it only returns
 * mailboxes that the user is subscribed to.
 *
 * @param resource $imap_stream {@link ref} should normally be just the
 *   server specification as described in {@link imap_open}
 * @param string $ref
 * @param string $pattern
 * @return array Returns an array of objects containing mailbox
 *   information. Each object has the attributes {@link name}, specifying
 *   the full name of the mailbox; {@link delimiter}, which is the
 *   hierarchy delimiter for the part of the hierarchy this mailbox is
 *   in; and {@link attributes}. {@link Attributes} is a bitmask that can
 *   be tested against: LATT_NOINFERIORS - This mailbox has no "children"
 *   (there are no mailboxes below this one). LATT_NOSELECT - This is
 *   only a container, not a mailbox - you cannot open it. LATT_MARKED -
 *   This mailbox is marked. Only used by UW-IMAPD. LATT_UNMARKED - This
 *   mailbox is not marked. Only used by UW-IMAPD. LATT_REFERRAL - This
 *   container has a referral to a remote mailbox. LATT_HASCHILDREN -
 *   This mailbox has selectable inferiors. LATT_HASNOCHILDREN - This
 *   mailbox has no selectable inferiors.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_getsubscribed($imap_stream, $ref, $pattern){}

/**
 * Retrieve the quota level settings, and usage statics per mailbox
 *
 * For a non-admin user version of this function, please see the {@link
 * imap_get_quotaroot} function of PHP.
 *
 * @param resource $imap_stream {@link quota_root} should normally be
 *   in the form of user.name where name is the mailbox you wish to
 *   retrieve information about.
 * @param string $quota_root
 * @return array Returns an array with integer values limit and usage
 *   for the given mailbox. The value of limit represents the total
 *   amount of space allowed for this mailbox. The usage value represents
 *   the mailboxes current level of capacity. Will return FALSE in the
 *   case of failure.
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7
 **/
function imap_get_quota($imap_stream, $quota_root){}

/**
 * Retrieve the quota settings per user
 *
 * Retrieve the quota settings per user. The limit value represents the
 * total amount of space allowed for this user's total mailbox usage. The
 * usage value represents the user's current total mailbox capacity.
 *
 * @param resource $imap_stream {@link quota_root} should normally be
 *   in the form of which mailbox (i.e. INBOX).
 * @param string $quota_root
 * @return array Returns an array of integer values pertaining to the
 *   specified user mailbox. All values contain a key based upon the
 *   resource name, and a corresponding array with the usage and limit
 *   values within.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function imap_get_quotaroot($imap_stream, $quota_root){}

/**
 * Read the header of the message
 *
 * Gets information about the given message number by reading its
 * headers.
 *
 * @param resource $imap_stream The message number
 * @param int $msg_number Number of characters for the fetchfrom
 *   property. Must be greater than or equal to zero.
 * @param int $fromlength Number of characters for the fetchsubject
 *   property Must be greater than or equal to zero.
 * @param int $subjectlength
 * @param string $defaulthost
 * @return object Returns FALSE on error or, if successful, the
 *   information in an object with following properties: toaddress - full
 *   to: line, up to 1024 characters to - an array of objects from the
 *   To: line, with the following properties: personal, adl, mailbox, and
 *   host fromaddress - full from: line, up to 1024 characters from - an
 *   array of objects from the From: line, with the following properties:
 *   personal, adl, mailbox, and host ccaddress - full cc: line, up to
 *   1024 characters cc - an array of objects from the Cc: line, with the
 *   following properties: personal, adl, mailbox, and host bccaddress -
 *   full bcc: line, up to 1024 characters bcc - an array of objects from
 *   the Bcc: line, with the following properties: personal, adl,
 *   mailbox, and host reply_toaddress - full Reply-To: line, up to 1024
 *   characters reply_to - an array of objects from the Reply-To: line,
 *   with the following properties: personal, adl, mailbox, and host
 *   senderaddress - full sender: line, up to 1024 characters sender - an
 *   array of objects from the Sender: line, with the following
 *   properties: personal, adl, mailbox, and host return_pathaddress -
 *   full Return-Path: line, up to 1024 characters return_path - an array
 *   of objects from the Return-Path: line, with the following
 *   properties: personal, adl, mailbox, and host remail - date - The
 *   message date as found in its headers Date - Same as date subject -
 *   The message subject Subject - Same as subject in_reply_to -
 *   message_id - newsgroups - followup_to - references - Recent - R if
 *   recent and seen, N if recent and not seen, ' ' if not recent. Unseen
 *   - U if not seen AND not recent, ' ' if seen OR not seen and recent
 *   Flagged - F if flagged, ' ' if not flagged Answered - A if answered,
 *   ' ' if unanswered Deleted - D if deleted, ' ' if not deleted Draft -
 *   X if draft, ' ' if not draft Msgno - The message number MailDate -
 *   Size - The message size udate - mail message date in Unix time
 *   fetchfrom - from line formatted to fit {@link fromlength} characters
 *   fetchsubject - subject line formatted to fit {@link subjectlength}
 *   characters
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_header($imap_stream, $msg_number, $fromlength, $subjectlength, $defaulthost){}

/**
 * Read the header of the message
 *
 * Gets information about the given message number by reading its
 * headers.
 *
 * @param resource $imap_stream The message number
 * @param int $msg_number Number of characters for the fetchfrom
 *   property. Must be greater than or equal to zero.
 * @param int $fromlength Number of characters for the fetchsubject
 *   property Must be greater than or equal to zero.
 * @param int $subjectlength
 * @param string $defaulthost
 * @return object Returns FALSE on error or, if successful, the
 *   information in an object with following properties: toaddress - full
 *   to: line, up to 1024 characters to - an array of objects from the
 *   To: line, with the following properties: personal, adl, mailbox, and
 *   host fromaddress - full from: line, up to 1024 characters from - an
 *   array of objects from the From: line, with the following properties:
 *   personal, adl, mailbox, and host ccaddress - full cc: line, up to
 *   1024 characters cc - an array of objects from the Cc: line, with the
 *   following properties: personal, adl, mailbox, and host bccaddress -
 *   full bcc: line, up to 1024 characters bcc - an array of objects from
 *   the Bcc: line, with the following properties: personal, adl,
 *   mailbox, and host reply_toaddress - full Reply-To: line, up to 1024
 *   characters reply_to - an array of objects from the Reply-To: line,
 *   with the following properties: personal, adl, mailbox, and host
 *   senderaddress - full sender: line, up to 1024 characters sender - an
 *   array of objects from the Sender: line, with the following
 *   properties: personal, adl, mailbox, and host return_pathaddress -
 *   full Return-Path: line, up to 1024 characters return_path - an array
 *   of objects from the Return-Path: line, with the following
 *   properties: personal, adl, mailbox, and host remail - date - The
 *   message date as found in its headers Date - Same as date subject -
 *   The message subject Subject - Same as subject in_reply_to -
 *   message_id - newsgroups - followup_to - references - Recent - R if
 *   recent and seen, N if recent and not seen, ' ' if not recent. Unseen
 *   - U if not seen AND not recent, ' ' if seen OR not seen and recent
 *   Flagged - F if flagged, ' ' if not flagged Answered - A if answered,
 *   ' ' if unanswered Deleted - D if deleted, ' ' if not deleted Draft -
 *   X if draft, ' ' if not draft Msgno - The message number MailDate -
 *   Size - The message size udate - mail message date in Unix time
 *   fetchfrom - from line formatted to fit {@link fromlength} characters
 *   fetchsubject - subject line formatted to fit {@link subjectlength}
 *   characters
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_headerinfo($imap_stream, $msg_number, $fromlength, $subjectlength, $defaulthost){}

/**
 * Returns headers for all messages in a mailbox
 *
 * @param resource $imap_stream
 * @return array Returns an array of string formatted with header info.
 *   One element per mail message.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_headers($imap_stream){}

/**
 * Gets the last IMAP error that occurred during this page request
 *
 * Gets the full text of the last IMAP error message that occurred on the
 * current page. The error stack is untouched; calling {@link
 * imap_last_error} subsequently, with no intervening errors, will return
 * the same error.
 *
 * @return string Returns the full text of the last IMAP error message
 *   that occurred on the current page. Returns FALSE if no error
 *   messages are available.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_last_error(){}

/**
 * Read the list of mailboxes
 *
 * @param resource $imap_stream {@link ref} should normally be just the
 *   server specification as described in {@link imap_open}.
 * @param string $ref
 * @param string $pattern
 * @return array Returns an array containing the names of the mailboxes
 *   or false in case of failure.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_list($imap_stream, $ref, $pattern){}

/**
 * Read the list of mailboxes
 *
 * @param resource $imap_stream {@link ref} should normally be just the
 *   server specification as described in {@link imap_open}.
 * @param string $ref
 * @param string $pattern
 * @return array Returns an array containing the names of the mailboxes
 *   or false in case of failure.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_listmailbox($imap_stream, $ref, $pattern){}

/**
 * Returns the list of mailboxes that matches the given text
 *
 * Returns an array containing the names of the mailboxes that have
 * {@link content} in the text of the mailbox.
 *
 * This function is similar to {@link imap_listmailbox}, but it will
 * additionally check for the presence of the string {@link content}
 * inside the mailbox data.
 *
 * @param resource $imap_stream {@link ref} should normally be just the
 *   server specification as described in {@link imap_open}
 * @param string $ref
 * @param string $pattern The searched string
 * @param string $content
 * @return array Returns an array containing the names of the mailboxes
 *   that have {@link content} in the text of the mailbox.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_listscan($imap_stream, $ref, $pattern, $content){}

/**
 * List all the subscribed mailboxes
 *
 * Gets an array of all the mailboxes that you have subscribed.
 *
 * @param resource $imap_stream {@link ref} should normally be just the
 *   server specification as described in {@link imap_open}
 * @param string $ref
 * @param string $pattern
 * @return array Returns an array of all the subscribed mailboxes.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_listsubscribed($imap_stream, $ref, $pattern){}

/**
 * List all the subscribed mailboxes
 *
 * Gets an array of all the mailboxes that you have subscribed.
 *
 * @param resource $imap_stream {@link ref} should normally be just the
 *   server specification as described in {@link imap_open}
 * @param string $ref
 * @param string $pattern
 * @return array Returns an array of all the subscribed mailboxes.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_lsub($imap_stream, $ref, $pattern){}

/**
 * Send an email message
 *
 * This function allows sending of emails with correct handling of Cc and
 * Bcc receivers.
 *
 * The parameters {@link to}, {@link cc} and {@link bcc} are all strings
 * and are all parsed as RFC822 address lists.
 *
 * @param string $to The receiver
 * @param string $subject The mail subject
 * @param string $message The mail body, see {@link imap_mail_compose}
 * @param string $additional_headers As string with additional headers
 *   to be set on the mail
 * @param string $cc
 * @param string $bcc The receivers specified in {@link bcc} will get
 *   the mail, but are excluded from the headers.
 * @param string $rpath Use this parameter to specify return path upon
 *   mail delivery failure. This is useful when using PHP as a mail
 *   client for multiple users.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_mail($to, $subject, $message, $additional_headers, $cc, $bcc, $rpath){}

/**
 * Get information about the current mailbox
 *
 * Checks the current mailbox status on the server. It is similar to
 * {@link imap_status}, but will additionally sum up the size of all
 * messages in the mailbox, which will take some additional time to
 * execute.
 *
 * @param resource $imap_stream
 * @return object Returns the information in an object with following
 *   properties: Mailbox properties Date date of last change (current
 *   datetime) Driver driver Mailbox name of the mailbox Nmsgs number of
 *   messages Recent number of recent messages Unread number of unread
 *   messages Deleted number of deleted messages Size mailbox size
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_mailboxmsginfo($imap_stream){}

/**
 * Create a MIME message based on given envelope and body sections
 *
 * Create a MIME message based on the given {@link envelope} and {@link
 * body} sections.
 *
 * @param array $envelope An associative array of headers fields. Valid
 *   keys are: "remail", "return_path", "date", "from", "reply_to",
 *   "in_reply_to", "subject", "to", "cc", "bcc", "message_id" and
 *   "custom_headers" (which contains associative array of other
 *   headers).
 * @param array $body An indexed array of bodies A body is an
 *   associative array which can consist of the following keys: "type",
 *   "encoding", "charset", "type.parameters", "subtype", "id",
 *   "description", "disposition.type", "disposition", "contents.data",
 *   "lines", "bytes" and "md5".
 * @return string Returns the MIME message.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_mail_compose($envelope, $body){}

/**
 * Copy specified messages to a mailbox
 *
 * Copies mail messages specified by {@link msglist} to specified
 * mailbox.
 *
 * @param resource $imap_stream {@link msglist} is a range not just
 *   message numbers (as described in RFC2060).
 * @param string $msglist The mailbox name, see {@link imap_open} for
 *   more information
 * @param string $mailbox {@link options} is a bitmask of one or more
 *   of CP_UID - the sequence numbers contain UIDS CP_MOVE - Delete the
 *   messages from the current mailbox after copying
 * @param int $options
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_mail_copy($imap_stream, $msglist, $mailbox, $options){}

/**
 * Move specified messages to a mailbox
 *
 * Moves mail messages specified by {@link msglist} to the specified
 * {@link mailbox}.
 *
 * @param resource $imap_stream {@link msglist} is a range not just
 *   message numbers (as described in RFC2060).
 * @param string $msglist The mailbox name, see {@link imap_open} for
 *   more information
 * @param string $mailbox {@link options} is a bitmask and may contain
 *   the single option: CP_UID - the sequence numbers contain UIDS
 * @param int $options
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_mail_move($imap_stream, $msglist, $mailbox, $options){}

/**
 * Decode MIME header elements
 *
 * Decodes MIME message header extensions that are non ASCII text (see
 * RFC2047).
 *
 * @param string $text The MIME text
 * @return array The decoded elements are returned in an array of
 *   objects, where each object has two properties, charset and text.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_mime_header_decode($text){}

/**
 * Gets the message sequence number for the given UID
 *
 * Returns the message sequence number for the given {@link uid}.
 *
 * This function is the inverse of {@link imap_uid}.
 *
 * @param resource $imap_stream The message UID
 * @param int $uid
 * @return int Returns the message sequence number for the given {@link
 *   uid}.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_msgno($imap_stream, $uid){}

/**
 * Decode a modified UTF-7 string to UTF-8
 *
 * Decode a modified UTF-7 (as specified in RFC 2060, section 5.1.3)
 * string to UTF-8.
 *
 * @param string $in A string encoded in modified UTF-7.
 * @return string Returns {@link in} converted to UTF-8, .
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function imap_mutf7_to_utf8($in){}

/**
 * Gets the number of messages in the current mailbox
 *
 * @param resource $imap_stream
 * @return int Return the number of messages in the current mailbox, as
 *   an integer, or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_num_msg($imap_stream){}

/**
 * Gets the number of recent messages in current mailbox
 *
 * Gets the number of recent messages in the current mailbox.
 *
 * @param resource $imap_stream
 * @return int Returns the number of recent messages in the current
 *   mailbox, as an integer.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_num_recent($imap_stream){}

/**
 * Open an stream to a mailbox
 *
 * Opens an IMAP stream to a {@link mailbox}.
 *
 * This function can also be used to open streams to POP3 and NNTP
 * servers, but some functions and features are only available on IMAP
 * servers.
 *
 * @param string $mailbox A mailbox name consists of a server and a
 *   mailbox path on this server. The special name INBOX stands for the
 *   current users personal mailbox. Mailbox names that contain
 *   international characters besides those in the printable ASCII space
 *   have to be encoded with {@link imap_utf7_encode}. The server part,
 *   which is enclosed in '{' and '}', consists of the servers name or ip
 *   address, an optional port (prefixed by ':'), and an optional
 *   protocol specification (prefixed by '/'). The server part is
 *   mandatory in all mailbox parameters. All names which start with {
 *   are remote names, and are in the form "{" remote_system_name [":"
 *   port] [flags] "}" [mailbox_name] where: remote_system_name -
 *   Internet domain name or bracketed IP address of server. port -
 *   optional TCP port number, default is the default port for that
 *   service flags - optional flags, see following table. mailbox_name -
 *   remote mailbox name, default is INBOX
 *   
 *   Optional flags for names Flag Description /service=service mailbox
 *   access service, default is "imap" /user=user remote user name for
 *   login on the server /authuser=user remote authentication user; if
 *   specified this is the user name whose password is used (e.g.
 *   administrator) /anonymous remote access as anonymous user /debug
 *   record protocol telemetry in application's debug log /secure do not
 *   transmit a plaintext password over the network /imap, /imap2,
 *   /imap2bis, /imap4, /imap4rev1 equivalent to /service=imap /pop3
 *   equivalent to /service=pop3 /nntp equivalent to /service=nntp /norsh
 *   do not use rsh or ssh to establish a preauthenticated IMAP session
 *   /ssl use the Secure Socket Layer to encrypt the session
 *   /validate-cert validate certificates from TLS/SSL server (this is
 *   the default behavior) /novalidate-cert do not validate certificates
 *   from TLS/SSL server, needed if server uses self-signed certificates
 *   /tls force use of start-TLS to encrypt the session, and reject
 *   connection to servers that do not support it /notls do not do
 *   start-TLS to encrypt the session, even with servers that support it
 *   /readonly request read-only mailbox open (IMAP only; ignored on
 *   NNTP, and an error with SMTP and POP3)
 * @param string $username The user name
 * @param string $password The password associated with the {@link
 *   username}
 * @param int $options The {@link options} are a bit mask with one or
 *   more of the following: OP_READONLY - Open mailbox read-only
 *   OP_ANONYMOUS - Don't use or update a .newsrc for news (NNTP only)
 *   OP_HALFOPEN - For IMAP and NNTP names, open a connection but don't
 *   open a mailbox. CL_EXPUNGE - Expunge mailbox automatically upon
 *   mailbox close (see also {@link imap_delete} and {@link
 *   imap_expunge}) OP_DEBUG - Debug protocol negotiations OP_SHORTCACHE
 *   - Short (elt-only) caching OP_SILENT - Don't pass up events
 *   (internal use) OP_PROTOTYPE - Return driver prototype OP_SECURE -
 *   Don't do non-secure authentication
 * @param int $n_retries Number of maximum connect attempts
 * @param array $params Connection parameters, the following (string)
 *   keys maybe used to set one or more connection parameters:
 *   DISABLE_AUTHENTICATOR - Disable authentication properties
 * @return resource Returns an IMAP stream on success or FALSE on
 *   error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_open($mailbox, $username, $password, $options, $n_retries, $params){}

/**
 * Check if the IMAP stream is still active
 *
 * {@link imap_ping} pings the stream to see if it's still active. It may
 * discover new mail; this is the preferred method for a periodic "new
 * mail check" as well as a "keep alive" for servers which have
 * inactivity timeout.
 *
 * @param resource $imap_stream
 * @return bool Returns TRUE if the stream is still alive, FALSE
 *   otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_ping($imap_stream){}

/**
 * Convert a quoted-printable string to an 8 bit string
 *
 * Convert a quoted-printable string to an 8 bit string according to
 * RFC2045, section 6.7.
 *
 * @param string $string A quoted-printable string
 * @return string Returns an 8 bits string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_qprint($string){}

/**
 * Rename an old mailbox to new mailbox
 *
 * This function renames on old mailbox to new mailbox (see {@link
 * imap_open} for the format of {@link mbox} names).
 *
 * @param resource $imap_stream The old mailbox name, see {@link
 *   imap_open} for more information
 * @param string $old_mbox The new mailbox name, see {@link imap_open}
 *   for more information
 * @param string $new_mbox
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_rename($imap_stream, $old_mbox, $new_mbox){}

/**
 * Rename an old mailbox to new mailbox
 *
 * This function renames on old mailbox to new mailbox (see {@link
 * imap_open} for the format of {@link mbox} names).
 *
 * @param resource $imap_stream The old mailbox name, see {@link
 *   imap_open} for more information
 * @param string $old_mbox The new mailbox name, see {@link imap_open}
 *   for more information
 * @param string $new_mbox
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_renamemailbox($imap_stream, $old_mbox, $new_mbox){}

/**
 * Reopen stream to new mailbox
 *
 * Reopens the specified stream to a new {@link mailbox} on an IMAP or
 * NNTP server.
 *
 * @param resource $imap_stream The mailbox name, see {@link imap_open}
 *   for more information
 * @param string $mailbox The {@link options} are a bit mask with one
 *   or more of the following: OP_READONLY - Open mailbox read-only
 *   OP_ANONYMOUS - Don't use or update a .newsrc for news (NNTP only)
 *   OP_HALFOPEN - For IMAP and NNTP names, open a connection but don't
 *   open a mailbox. OP_EXPUNGE - Silently expunge recycle stream
 *   CL_EXPUNGE - Expunge mailbox automatically upon mailbox close (see
 *   also {@link imap_delete} and {@link imap_expunge})
 * @param int $options Number of maximum connect attempts
 * @param int $n_retries
 * @return bool Returns TRUE if the stream is reopened, FALSE
 *   otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_reopen($imap_stream, $mailbox, $options, $n_retries){}

/**
 * Parses an address string
 *
 * Parses the address string as defined in RFC2822 and for each address.
 *
 * @param string $address A string containing addresses
 * @param string $default_host The default host name
 * @return array Returns an array of objects. The objects properties
 *   are:
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_rfc822_parse_adrlist($address, $default_host){}

/**
 * Parse mail headers from a string
 *
 * Gets an object of various header elements, similar to {@link
 * imap_header}.
 *
 * @param string $headers The parsed headers data
 * @param string $defaulthost The default host name
 * @return object Returns an object similar to the one returned by
 *   {@link imap_header}, except for the flags and other properties that
 *   come from the IMAP server.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_rfc822_parse_headers($headers, $defaulthost){}

/**
 * Returns a properly formatted email address given the mailbox, host,
 * and personal info
 *
 * Returns a properly formatted email address as defined in RFC2822 given
 * the needed information.
 *
 * @param string $mailbox The mailbox name, see {@link imap_open} for
 *   more information
 * @param string $host The email host part
 * @param string $personal The name of the account owner
 * @return string Returns a string properly formatted email address as
 *   defined in RFC2822.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_rfc822_write_address($mailbox, $host, $personal){}

/**
 * Save a specific body section to a file
 *
 * Saves a part or the whole body of the specified message.
 *
 * @param resource $imap_stream The path to the saved file as a string,
 *   or a valid file descriptor returned by {@link fopen}.
 * @param mixed $file The message number
 * @param int $msg_number The part number. It is a string of integers
 *   delimited by period which index into a body part list as per the
 *   IMAP4 specification
 * @param string $part_number A bitmask with one or more of the
 *   following: FT_UID - The {@link msg_number} is a UID FT_PEEK - Do not
 *   set the \Seen flag if not already set FT_INTERNAL - The return
 *   string is in internal format, will not canonicalize to CRLF.
 * @param int $options
 * @return bool
 * @since PHP 5 >= 5.1.3, PHP 7
 **/
function imap_savebody($imap_stream, $file, $msg_number, $part_number, $options){}

/**
 * Returns the list of mailboxes that matches the given text
 *
 * Returns an array containing the names of the mailboxes that have
 * {@link content} in the text of the mailbox.
 *
 * This function is similar to {@link imap_listmailbox}, but it will
 * additionally check for the presence of the string {@link content}
 * inside the mailbox data.
 *
 * @param resource $imap_stream {@link ref} should normally be just the
 *   server specification as described in {@link imap_open}
 * @param string $ref
 * @param string $pattern The searched string
 * @param string $content
 * @return array Returns an array containing the names of the mailboxes
 *   that have {@link content} in the text of the mailbox.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_scan($imap_stream, $ref, $pattern, $content){}

/**
 * Returns the list of mailboxes that matches the given text
 *
 * Returns an array containing the names of the mailboxes that have
 * {@link content} in the text of the mailbox.
 *
 * This function is similar to {@link imap_listmailbox}, but it will
 * additionally check for the presence of the string {@link content}
 * inside the mailbox data.
 *
 * @param resource $imap_stream {@link ref} should normally be just the
 *   server specification as described in {@link imap_open}
 * @param string $ref
 * @param string $pattern The searched string
 * @param string $content
 * @return array Returns an array containing the names of the mailboxes
 *   that have {@link content} in the text of the mailbox.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_scanmailbox($imap_stream, $ref, $pattern, $content){}

/**
 * This function returns an array of messages matching the given search
 * criteria
 *
 * This function performs a search on the mailbox currently opened in the
 * given IMAP stream.
 *
 * For example, to match all unanswered messages sent by Mom, you'd use:
 * "UNANSWERED FROM mom". Searches appear to be case insensitive. This
 * list of criteria is from a reading of the UW c-client source code and
 * may be incomplete or inaccurate (see also RFC2060, section 6.4.4).
 *
 * @param resource $imap_stream A string, delimited by spaces, in which
 *   the following keywords are allowed. Any multi-word arguments (e.g.
 *   FROM "joey smith") must be quoted. Results will match all {@link
 *   criteria} entries. ALL - return all messages matching the rest of
 *   the criteria ANSWERED - match messages with the \\ANSWERED flag set
 *   BCC "string" - match messages with "string" in the Bcc: field BEFORE
 *   "date" - match messages with Date: before "date" BODY "string" -
 *   match messages with "string" in the body of the message CC "string"
 *   - match messages with "string" in the Cc: field DELETED - match
 *   deleted messages FLAGGED - match messages with the \\FLAGGED
 *   (sometimes referred to as Important or Urgent) flag set FROM
 *   "string" - match messages with "string" in the From: field KEYWORD
 *   "string" - match messages with "string" as a keyword NEW - match new
 *   messages OLD - match old messages ON "date" - match messages with
 *   Date: matching "date" RECENT - match messages with the \\RECENT flag
 *   set SEEN - match messages that have been read (the \\SEEN flag is
 *   set) SINCE "date" - match messages with Date: after "date" SUBJECT
 *   "string" - match messages with "string" in the Subject: TEXT
 *   "string" - match messages with text "string" TO "string" - match
 *   messages with "string" in the To: UNANSWERED - match messages that
 *   have not been answered UNDELETED - match messages that are not
 *   deleted UNFLAGGED - match messages that are not flagged UNKEYWORD
 *   "string" - match messages that do not have the keyword "string"
 *   UNSEEN - match messages which have not been read yet
 * @param string $criteria Valid values for {@link options} are SE_UID,
 *   which causes the returned array to contain UIDs instead of messages
 *   sequence numbers.
 * @param int $options MIME character set to use when searching
 *   strings.
 * @param string $charset
 * @return array Returns an array of message numbers or UIDs.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_search($imap_stream, $criteria, $options, $charset){}

/**
 * Sets the ACL for a given mailbox
 *
 * Sets the ACL for a giving mailbox.
 *
 * @param resource $imap_stream The mailbox name, see {@link imap_open}
 *   for more information
 * @param string $mailbox The user to give the rights to.
 * @param string $id The rights to give to the user. Passing an empty
 *   string will delete acl.
 * @param string $rights
 * @return bool
 * @since PHP 4 >= 4.0.7, PHP 5, PHP 7
 **/
function imap_setacl($imap_stream, $mailbox, $id, $rights){}

/**
 * Sets flags on messages
 *
 * Causes a store to add the specified {@link flag} to the flags set for
 * the messages in the specified {@link sequence}.
 *
 * @param resource $imap_stream A sequence of message numbers. You can
 *   enumerate desired messages with the X,Y syntax, or retrieve all
 *   messages within an interval with the X:Y syntax
 * @param string $sequence The flags which you can set are \Seen,
 *   \Answered, \Flagged, \Deleted, and \Draft as defined by RFC2060.
 * @param string $flag A bit mask that may contain the single option:
 *   ST_UID - The sequence argument contains UIDs instead of sequence
 *   numbers
 * @param int $options
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_setflag_full($imap_stream, $sequence, $flag, $options){}

/**
 * Sets a quota for a given mailbox
 *
 * Sets an upper limit quota on a per mailbox basis.
 *
 * @param resource $imap_stream The mailbox to have a quota set. This
 *   should follow the IMAP standard format for a mailbox: user.name.
 * @param string $quota_root The maximum size (in KB) for the {@link
 *   quota_root}
 * @param int $quota_limit
 * @return bool
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7
 **/
function imap_set_quota($imap_stream, $quota_root, $quota_limit){}

/**
 * Gets and sort messages
 *
 * Gets and sorts message numbers by the given parameters.
 *
 * @param resource $imap_stream Criteria can be one (and only one) of
 *   the following: SORTDATE - message Date SORTARRIVAL - arrival date
 *   SORTFROM - mailbox in first From address SORTSUBJECT - message
 *   subject SORTTO - mailbox in first To address SORTCC - mailbox in
 *   first cc address SORTSIZE - size of message in octets
 * @param int $criteria Set this to 1 for reverse sorting
 * @param int $reverse The {@link options} are a bitmask of one or more
 *   of the following: SE_UID - Return UIDs instead of sequence numbers
 *   SE_NOPREFETCH - Don't prefetch searched messages
 * @param int $options IMAP2-format search criteria string. For details
 *   see {@link imap_search}.
 * @param string $search_criteria MIME character set to use when
 *   sorting strings.
 * @param string $charset
 * @return array Returns an array of message numbers sorted by the
 *   given parameters.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_sort($imap_stream, $criteria, $reverse, $options, $search_criteria, $charset){}

/**
 * Returns status information on a mailbox
 *
 * Gets status information about the given {@link mailbox}.
 *
 * @param resource $imap_stream The mailbox name, see {@link imap_open}
 *   for more information
 * @param string $mailbox Valid flags are: SA_MESSAGES - set
 *   $status->messages to the number of messages in the mailbox SA_RECENT
 *   - set $status->recent to the number of recent messages in the
 *   mailbox SA_UNSEEN - set $status->unseen to the number of unseen
 *   (new) messages in the mailbox SA_UIDNEXT - set $status->uidnext to
 *   the next uid to be used in the mailbox SA_UIDVALIDITY - set
 *   $status->uidvalidity to a constant that changes when uids for the
 *   mailbox may no longer be valid SA_ALL - set all of the above
 * @param int $options
 * @return object This function returns an object containing status
 *   information. The object has the following properties: messages,
 *   recent, unseen, uidnext, and uidvalidity.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_status($imap_stream, $mailbox, $options){}

/**
 * Subscribe to a mailbox
 *
 * Subscribe to a new mailbox.
 *
 * @param resource $imap_stream The mailbox name, see {@link imap_open}
 *   for more information
 * @param string $mailbox
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_subscribe($imap_stream, $mailbox){}

/**
 * Returns a tree of threaded message
 *
 * Gets a tree of a threaded message.
 *
 * @param resource $imap_stream
 * @param int $options
 * @return array {@link imap_thread} returns an associative array
 *   containing a tree of messages threaded by REFERENCES, or FALSE on
 *   error.
 * @since PHP 4 >= 4.0.7, PHP 5, PHP 7
 **/
function imap_thread($imap_stream, $options){}

/**
 * Set or fetch imap timeout
 *
 * Sets or fetches the imap timeout.
 *
 * @param int $timeout_type One of the following: IMAP_OPENTIMEOUT,
 *   IMAP_READTIMEOUT, IMAP_WRITETIMEOUT, or IMAP_CLOSETIMEOUT.
 * @param int $timeout The timeout, in seconds.
 * @return mixed If the {@link timeout} parameter is set, this function
 *   returns TRUE on success and FALSE on failure.
 * @since PHP 4 >= 4.3.3, PHP 5, PHP 7
 **/
function imap_timeout($timeout_type, $timeout){}

/**
 * This function returns the UID for the given message sequence number
 *
 * This function returns the UID for the given message sequence number.
 * An UID is a unique identifier that will not change over time while a
 * message sequence number may change whenever the content of the mailbox
 * changes.
 *
 * This function is the inverse of {@link imap_msgno}.
 *
 * @param resource $imap_stream The message number.
 * @param int $msg_number
 * @return int The UID of the given message.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_uid($imap_stream, $msg_number){}

/**
 * Unmark the message which is marked deleted
 *
 * Removes the deletion flag for a specified message, which is set by
 * {@link imap_delete} or {@link imap_mail_move}.
 *
 * @param resource $imap_stream The message number
 * @param int $msg_number
 * @param int $flags
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_undelete($imap_stream, $msg_number, $flags){}

/**
 * Unsubscribe from a mailbox
 *
 * Unsubscribe from the specified {@link mailbox}.
 *
 * @param resource $imap_stream The mailbox name, see {@link imap_open}
 *   for more information
 * @param string $mailbox
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_unsubscribe($imap_stream, $mailbox){}

/**
 * Decodes a modified UTF-7 encoded string
 *
 * Decodes modified UTF-7 {@link text} into ISO-8859-1 string.
 *
 * This function is needed to decode mailbox names that contain certain
 * characters which are not in range of printable ASCII characters.
 *
 * @param string $text A modified UTF-7 encoding string, as defined in
 *   RFC 2060, section 5.1.3 (original UTF-7 was defined in RFC1642).
 * @return string Returns a string that is encoded in ISO-8859-1 and
 *   consists of the same sequence of characters in {@link text}, or
 *   FALSE if {@link text} contains invalid modified UTF-7 sequence or
 *   {@link text} contains a character that is not part of ISO-8859-1
 *   character set.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_utf7_decode($text){}

/**
 * Converts ISO-8859-1 string to modified UTF-7 text
 *
 * Converts {@link data} to modified UTF-7 text.
 *
 * This is needed to encode mailbox names that contain certain characters
 * which are not in range of printable ASCII characters.
 *
 * @param string $data An ISO-8859-1 string.
 * @return string Returns {@link data} encoded with the modified UTF-7
 *   encoding as defined in RFC 2060, section 5.1.3 (original UTF-7 was
 *   defined in RFC1642).
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_utf7_encode($data){}

/**
 * Converts MIME-encoded text to UTF-8
 *
 * Converts the given {@link mime_encoded_text} to UTF-8.
 *
 * @param string $mime_encoded_text A MIME encoded string. MIME
 *   encoding method and the UTF-8 specification are described in RFC2047
 *   and RFC2044 respectively.
 * @return string Returns an UTF-8 encoded string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function imap_utf8($mime_encoded_text){}

/**
 * Encode a UTF-8 string to modified UTF-7
 *
 * Encode a UTF-8 string to modified UTF-7 (as specified in RFC 2060,
 * section 5.1.3).
 *
 * @param string $in A UTF-8 encoded string.
 * @return string Returns {@link in} converted to modified UTF-7, .
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function imap_utf8_to_mutf7($in){}

/**
 * Join array elements with a string
 *
 * Join array elements with a {@link glue} string.
 *
 * @param string $glue Defaults to an empty string.
 * @param array $pieces The array of strings to implode.
 * @return string Returns a string containing a string representation
 *   of all the array elements in the same order, with the glue string
 *   between each element.
 * @since PHP 4, PHP 5, PHP 7
 **/
function implode($glue, $pieces){}

/**
 * Import GET/POST/Cookie variables into the global scope
 *
 * Imports GET/POST/Cookie variables into the global scope. It is useful
 * if you disabled register_globals, but would like to see some variables
 * in the global scope.
 *
 * If you're interested in importing other variables into the global
 * scope, such as $_SERVER, consider using {@link extract}.
 *
 * @param string $types Using the {@link types} parameter, you can
 *   specify which request variables to import. You can use 'G', 'P' and
 *   'C' characters respectively for GET, POST and Cookie. These
 *   characters are not case sensitive, so you can also use any
 *   combination of 'g', 'p' and 'c'. POST includes the POST uploaded
 *   file information.
 * @param string $prefix Variable name prefix, prepended before all
 *   variable's name imported into the global scope. So if you have a GET
 *   value named "userid", and provide a prefix "pref_", then you'll get
 *   a global variable named $pref_userid.
 * @return bool
 * @since PHP 4 >= 4.1.0, PHP 5 < 5.4.0
 **/
function import_request_variables($types, $prefix){}

/**
 * Get the inclued data
 *
 * @return array The inclued data.
 **/
function inclued_get_data(){}

/**
 * Converts a packed internet address to a human readable representation
 *
 * @param string $in_addr A 32bit IPv4, or 128bit IPv6 address.
 * @return string Returns a string representation of the address.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function inet_ntop($in_addr){}

/**
 * Converts a human readable IP address to its packed in_addr
 * representation
 *
 * This function converts a human readable IPv4 or IPv6 address (if PHP
 * was built with IPv6 support enabled) into an address family
 * appropriate 32bit or 128bit binary structure.
 *
 * @param string $address A human readable IPv4 or IPv6 address.
 * @return string Returns the in_addr representation of the given
 *   {@link address}, or FALSE if a syntactically invalid {@link address}
 *   is given (for example, an IPv4 address without dots or an IPv6
 *   address without colons).
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function inet_pton($address){}

/**
 * Incrementally inflate encoded data
 *
 * Incrementally inflates encoded data in the specified {@link context}.
 *
 * Limitation: header information from GZIP compressed data are not made
 * available.
 *
 * @param resource $context A context created with {@link
 *   inflate_init}.
 * @param string $encoded_data A chunk of compressed data.
 * @param int $flush_mode One of ZLIB_BLOCK, ZLIB_NO_FLUSH,
 *   ZLIB_PARTIAL_FLUSH, ZLIB_SYNC_FLUSH (default), ZLIB_FULL_FLUSH,
 *   ZLIB_FINISH. Normally you will want to set ZLIB_NO_FLUSH to maximize
 *   compression, and ZLIB_FINISH to terminate with the last chunk of
 *   data. See the zlib manual for a detailed description of these
 *   constants.
 * @return string Returns a chunk of uncompressed data, .
 * @since PHP 7
 **/
function inflate_add($context, $encoded_data, $flush_mode){}

/**
 * Get number of bytes read so far
 *
 * @param resource $resource
 * @return int Returns number of bytes read so far.
 * @since PHP 7 >= 7.2.0
 **/
function inflate_get_read_len($resource){}

/**
 * Get decompression status
 *
 * Usually returns either ZLIB_OK or ZLIB_STREAM_END.
 *
 * @param resource $resource
 * @return int Returns decompression status.
 * @since PHP 7 >= 7.2.0
 **/
function inflate_get_status($resource){}

/**
 * Initialize an incremental inflate context
 *
 * Initialize an incremental inflate context with the specified {@link
 * encoding}.
 *
 * @param int $encoding One of the ZLIB_ENCODING_* constants.
 * @param array $options An associative array which may contain the
 *   following elements: level The compression level in range -1..9;
 *   defaults to -1. memory The compression memory level in range 1..9;
 *   defaults to 8. window The zlib window size (logarithmic) in range
 *   8..15; defaults to 15. strategy One of ZLIB_FILTERED,
 *   ZLIB_HUFFMAN_ONLY, ZLIB_RLE, ZLIB_FIXED or ZLIB_DEFAULT_STRATEGY
 *   (the default). dictionary A string or an array of strings of the
 *   preset dictionary (default: no preset dictionary).
 * @return resource Returns an inflate context resource (zlib.inflate)
 *   on success, .
 * @since PHP 7
 **/
function inflate_init($encoding, $options){}

/**
 * Switch autocommit on or off
 *
 * {@link ingres_autocommit} is called before opening a transaction
 * (before the first call to {@link ingres_query} or just after a call to
 * {@link ingres_rollback} or {@link ingres_commit}) to switch the
 * autocommit mode of the server on or off (when the script begins the
 * autocommit mode is off).
 *
 * When autocommit mode is on, every query is automatically committed by
 * the server, as if {@link ingres_commit} was called after every call to
 * {@link ingres_query}. To see if autocommit is enabled use, {@link
 * ingres_autocommit_state}.
 *
 * By default Ingres will rollback any uncommitted transactions at the
 * end of a request. Use this function or {@link ingres_commit} to ensure
 * your data is committed to the database.
 *
 * @param resource $link The connection link identifier
 * @return bool
 * @since PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0
 **/
function ingres_autocommit($link){}

/**
 * Test if the connection is using autocommit
 *
 * {@link ingres_autocommit_state} is called to determine whether the
 * current link has autocommit enabled or not.
 *
 * @param resource $link The connection link identifier
 * @return bool Returns TRUE if autocommit is enabled or FALSE when
 *   autocommit is disabled
 * @since PECL ingres >= 2.0.0
 **/
function ingres_autocommit_state($link){}

/**
 * Returns the installation character set
 *
 * {@link ingres_charset} is called to determine the character set being
 * used by the Ingres client, from II_CHARSETxx (where xx is the
 * installation code).
 *
 * @param resource $link The connection link identifier
 * @return string Returns a string with the value for II_CHARSETxx or
 *   returns NULL if the value could not be determined.
 * @since PECL ingres >= 2.1.0
 **/
function ingres_charset($link){}

/**
 * Close an Ingres database connection
 *
 * {@link ingres_close} closes the connection to the Ingres server that
 * is associated with the specified link.
 *
 * {@link ingres_close} is usually unnecessary, as it will not close
 * persistent connections and all non-persistent connections are
 * automatically closed at the end of the script.
 *
 * @param resource $link The connection link identifier
 * @return bool
 * @since PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0
 **/
function ingres_close($link){}

/**
 * Commit a transaction
 *
 * {@link ingres_commit} commits the currently open transaction, making
 * all changes made to the database permanent.
 *
 * This closes the transaction. A new transaction can be opened by
 * sending a query with {@link ingres_query}.
 *
 * You can also have the server commit automatically after every query by
 * calling {@link ingres_autocommit} before opening the transaction.
 *
 * By default Ingres will roll back any uncommitted transactions at the
 * end of a request. Use this function or {@link ingres_autocommit} to
 * ensure your that data is committed to the database.
 *
 * @param resource $link The connection link identifier
 * @return bool
 * @since PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0
 **/
function ingres_commit($link){}

/**
 * Open a connection to an Ingres database
 *
 * {@link ingres_connect} opens a connection with the given Ingres {@link
 * database}.
 *
 * The connection is closed when the script ends or when {@link
 * ingres_close} is called on this link.
 *
 * @param string $database The database name. Must follow the syntax:
 *   [vnode::]dbname[/svr_class]
 * @param string $username The Ingres user name
 * @param string $password The password associated with {@link
 *   username}
 * @param array $options {@link ingres_connect} options Option name
 *   Option type Description Example date_century_boundary integer The
 *   threshold by which a 2-digit year is determined to be in the current
 *   century or in the next century. Equivalent to
 *   II_DATE_CENTURY_BOUNDARY. 50 group string Specifies the group ID of
 *   the user, equivalent to the "-G" flag payroll role string The role
 *   ID of the application. If a role password is required, the parameter
 *   value should be specified as "role/password" effective_user string
 *   The ingres user account being impersonated, equivalent to the "-u"
 *   flag another_user dbms_password string The internal database
 *   password for the user connecting to Ingres s3cr3t table_structure
 *   string The default structure for new tables. Valid values for
 *   table_structure are: INGRES_STRUCTURE_BTREE INGRES_STRUCTURE_HASH
 *   INGRES_STRUCTURE_HEAP INGRES_STRUCTURE_ISAM INGRES_STRUCTURE_CBTREE
 *   INGRES_STRUCTURE_CISAM INGRES_STRUCTURE_CHASH INGRES_STRUCTURE_CHEAP
 *   INGRES_STRUCTURE_BTREE index_structure string The default structure
 *   for new secondary indexes. Valid values for index_structure are:
 *   INGRES_STRUCTURE_CBTREE INGRES_STRUCTURE_CISAM
 *   INGRES_STRUCTURE_CHASH INGRES_STRUCTURE_BTREE INGRES_STRUCTURE_HASH
 *   INGRES_STRUCTURE_ISAM INGRES_STRUCTURE_HASH login_local boolean
 *   Determines how the connection user ID and password are used when a
 *   VNODE is included in the target database string. If set to TRUE, the
 *   user ID and password are used to locally access the VNODE, and the
 *   VNODE login information is used to establish the DBMS connection. If
 *   set to FALSE, the process user ID is used to access the VNODE, and
 *   the connection user ID and password are used in place of the VNODE
 *   login information to establish the DBMS connection. This parameter
 *   is ignored if no VNODE is included in the target database string.
 *   The default is FALSE. TRUE timezone string Controls the timezone of
 *   the session. If not set it will default to the value defined by
 *   II_TIMEZONE_NAME. If II_TIMEZONE_NAME is not defined, NA-PACIFIC
 *   (GMT-8 with Daylight Savings) is used. date_format integer Sets the
 *   allowable input and output format for Ingres dates. Defaults to the
 *   value defined by II_DATE_FORMAT. If II_DATE_FORMAT is not set the
 *   default date format is US, e.g. mm/dd/yy. Valid values for
 *   date_format are: INGRES_DATE_DMY INGRES_DATE_FINISH
 *   INGRES_DATE_GERMAN INGRES_DATE_ISO INGRES_DATE_ISO4 INGRES_DATE_MDY
 *   INGRES_DATE_MULTINATIONAL INGRES_DATE_MULTINATIONAL4 INGRES_DATE_YMD
 *   INGRES_DATE_US INGRES_DATE_MULTINATIONAL4 decimal_separator string
 *   The character identifier for decimal data "," money_lort integer
 *   Leading or trailing currency sign. Valid values for money_lort are:
 *   INGRES_MONEY_LEADING INGRES_MONEY_TRAILING INGRES_MONEY_TRAILING
 *   money_sign string The currency symbol to be used with the MONEY
 *   datatype € money_precision integer The precision of the MONEY
 *   datatype 3 float4_precision integer Precision of the FLOAT4 datatype
 *   10 float8_precision integer Precision of the FLOAT8 data 10
 *   blob_segment_length integer The amount of data in bytes to fetch at
 *   a time when retrieving BLOB or CLOB data, defaults to 4096 bytes
 *   when not explicitly set 8192
 * @return resource Returns a Ingres link resource on success
 * @since PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0
 **/
function ingres_connect($database, $username, $password, $options){}

/**
 * Get a cursor name for a given result resource
 *
 * Returns a string with the active cursor name. If no cursor is active
 * then NULL is returned.
 *
 * @param resource $result The query result identifier
 * @return string Returns a string containing the active cursor name.
 *   If no cursor is active then NULL is returned.
 * @since PECL ingres >= 1.1.0
 **/
function ingres_cursor($result){}

/**
 * Get the last Ingres error number generated
 *
 * Returns an integer containing the last error number. If no error was
 * reported 0 is returned.
 *
 * If a {@link link} resource is passed to {@link ingres_errno} it
 * returns the last error recorded for the link. If no link is passed,
 * then {@link ingres_errno} returns the last error reported using the
 * default link.
 *
 * The function, {@link ingres_errno}, should always be called after
 * executing a database query. Calling another function before {@link
 * ingres_errno} is called will reset or change any error code from the
 * last Ingres function call.
 *
 * @param resource $link The connection link identifier
 * @return int Returns an integer containing the last error number. If
 *   no error was reported, 0 is returned.
 * @since PECL ingres >= 1.1.0
 **/
function ingres_errno($link){}

/**
 * Get a meaningful error message for the last error generated
 *
 * Returns a string containing the last error, or NULL if no error has
 * occurred.
 *
 * If a {@link link} resource is passed to {@link ingres_error}, it
 * returns the last error recorded for the link. If no link is passed
 * then {@link ingres_error} returns the last error reported using the
 * default link.
 *
 * The function, {@link ingres_error}, should always be called after
 * executing any database query. Calling another function before {@link
 * ingres_error} is called will reset or change any error message from
 * the last Ingres function call.
 *
 * @param resource $link The connection link identifier
 * @return string Returns a string containing the last error, or NULL
 *   if no error has occurred.
 * @since PECL ingres >= 1.1.0
 **/
function ingres_error($link){}

/**
 * Get the last SQLSTATE error code generated
 *
 * Returns a string containing the last SQLSTATE, or NULL if no error has
 * occurred.
 *
 * If a {@link link} resource is passed to {@link ingres_errsqlstate}, it
 * returns the last error recorded for the link. If no link is passed,
 * then {@link ingres_errsqlstate} returns the last error reported using
 * the default link.
 *
 * The function, {@link ingres_errsqlstate}, should always be called
 * after executing any database query. Calling another function before
 * {@link ingres_errsqlstate} is called will reset or change any error
 * message from the last Ingres function call.
 *
 * @param resource $link The connection link identifier
 * @return string Returns a string containing the last SQLSTATE, or
 *   NULL if no error has occurred.
 * @since PECL ingres >= 1.1.0
 **/
function ingres_errsqlstate($link){}

/**
 * Escape special characters for use in a query
 *
 * {@link ingres_escape_string} is used to escape certain characters
 * within a string before it is sent to the database server.
 *
 * @param resource $link The connection link identifier
 * @param string $source_string The source string to be parsed
 * @return string Returns a string containing the escaped data.
 * @since PECL ingres >= 2.1.0
 **/
function ingres_escape_string($link, $source_string){}

/**
 * Execute a prepared query
 *
 * Execute a query prepared using {@link ingres_prepare}.
 *
 * @param resource $result The result query identifier
 * @param array $params An array of parameter values to be used with
 *   the query
 * @param string $types A string containing a sequence of types for the
 *   parameter values passed. See the types parameter in {@link
 *   ingres_query} for the list of type codes.
 * @return bool
 * @since PECL ingres >= 1.1.0
 **/
function ingres_execute($result, $params, $types){}

/**
 * Fetch a row of result into an array
 *
 * This function is an extended version of {@link ingres_fetch_row}. In
 * addition to storing the data in the numeric indices of the result
 * array, it also stores the data in associative indices, using the field
 * names as keys.
 *
 * If two or more columns of the result have the same field names, the
 * last column will take precedence. To access the another column or
 * columns of the same name, you must use the numeric index of the column
 * or make an alias for the column. For example:
 *
 * <?php
 *
 * $result = ingres_query($link, "select ap_place as city, ap_ccode as
 * country from airport where ap_iatacode = 'VLL'"); $result =
 * ingres_fetch_array($result); $foo = $result["city"]; $bar =
 * $result["country"];
 *
 * ?>
 *
 * With regard to speed, the function is identical to {@link
 * ingres_fetch_object}, and almost as quick as {@link ingres_fetch_row}
 * (the difference is insignificant).
 *
 * By default, arrays created by {@link ingres_fetch_array} start from
 * position 1 and not 0 as with other DBMS extensions. The starting
 * position can be adjusted to 0 using the configuration parameter
 * ingres.array_index_start.
 *
 * @param resource $result The query result identifier
 * @param int $result_type The result type. This {@link result_type}
 *   can be INGRES_NUM for enumerated array, INGRES_ASSOC for associative
 *   array, or INGRES_BOTH (default).
 * @return array Returns an array that corresponds to the fetched row,
 *   or FALSE if there are no more rows
 * @since PHP 5 < 5.1.0, PECL ingres >= 1.0.0
 **/
function ingres_fetch_array($result, $result_type){}

/**
 * Fetch a row of result into an associative array
 *
 * This function is stores the data fetched from a query executed using
 * {@link ingres_query} in an associative array, using the field names as
 * keys.
 *
 * With regard to speed, the function is identical to {@link
 * ingres_fetch_object}, and almost as quick as {@link ingres_fetch_row}
 * (the difference is insignificant).
 *
 * By default, arrays created by {@link ingres_fetch_assoc} start from
 * position 1 and not 0 as with other DBMS extensions. The starting
 * position can be adjusted to 0 using the configuration parameter
 * ingres.array_index_start.
 *
 * @param resource $result The query result identifier
 * @return array Returns an associative array that corresponds to the
 *   fetched row, or FALSE if there are no more rows
 * @since PECL ingres >= 2.2.2
 **/
function ingres_fetch_assoc($result){}

/**
 * Fetch a row of result into an object
 *
 * This function is similar to {@link ingres_fetch_array}, with one
 * difference - an object is returned instead of an array. Indirectly,
 * this means that you can access the data only by the field names and
 * not by their offsets (numbers are illegal property names).
 *
 * With regard to speed, the function is identical to {@link
 * ingres_fetch_array}, and almost as quick as {@link ingres_fetch_row}
 * (the difference is insignificant).
 *
 * @param resource $result The query result identifier
 * @param int $result_type (Optional argument.) {@link result_type} is
 *   a constant and can take the following values: INGRES_ASSOC,
 *   INGRES_NUM, and INGRES_BOTH.
 * @return object Returns an object that corresponds to the fetched
 *   row, or FALSE if there are no more rows
 * @since PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0
 **/
function ingres_fetch_object($result, $result_type){}

/**
 * Get the return value from a procedure call
 *
 * This function is used to retrieve the return value following the
 * execution of an Ingres database procedure (stored procedure).
 *
 * @param resource $result The result identifier for a query
 * @return int Returns an integer if there is a return value otherwise
 *   it will return NULL.
 * @since PECL ingres >= 1.4.0
 **/
function ingres_fetch_proc_return($result){}

/**
 * Fetch a row of result into an enumerated array
 *
 * {@link ingres_fetch_row} returns an array that corresponds to the
 * fetched row, or FALSE if there are no more rows. Each result column is
 * stored in an array offset, starting at offset 1.
 *
 * Subsequent calls to {@link ingres_fetch_row} return the next row in
 * the result set, or FALSE if there are no more rows.
 *
 * By default, arrays created by {@link ingres_fetch_row} start from
 * position 1 and not 0 as with other DBMS extensions. The starting
 * position can be adjusted to 0 using the configuration parameter
 * ingres.array_index_start.
 *
 * @param resource $result The query result identifier
 * @return array Returns an array that corresponds to the fetched row,
 *   or FALSE if there are no more rows
 * @since PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0
 **/
function ingres_fetch_row($result){}

/**
 * Get the length of a field
 *
 * {@link ingres_field_length} returns the length of a field. This is the
 * number of bytes the server uses to store the field. For detailed
 * information, see the Ingres OpenAPI User Guide, Appendix "Data Types"
 * in the Ingres documentation.
 *
 * @param resource $result The query result identifier
 * @param int $index {@link index} is the column number whose length
 *   will be retrieved. The possible values of {@link index} depend upon
 *   the value of ingres.array_index_start. If ingres.array_index_start
 *   is 1 (the default) then {@link index} must be between 1 and the
 *   value returned by {@link ingres_num_fields}. If
 *   ingres.array_index_start is 0 then {@link index} must be between 0
 *   and {@link ingres_num_fields} - 1.
 * @return int Returns the length of a field.
 * @since PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0
 **/
function ingres_field_length($result, $index){}

/**
 * Get the name of a field in a query result
 *
 * {@link ingres_field_name} returns the name of a field in a query
 * result.
 *
 * @param resource $result The query result identifier
 * @param int $index {@link index} is the field whose name will be
 *   retrieved. The possible values of {@link index} depend upon the
 *   value of ingres.array_index_start. If ingres.array_index_start is 1
 *   (the default) then {@link index} must be between 1 and the value
 *   returned by {@link ingres_num_fields}. If ingres.array_index_start
 *   is 0 then {@link index} must be between 0 and {@link
 *   ingres_num_fields} - 1.
 * @return string Returns the name of a field in a query result
 * @since PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0
 **/
function ingres_field_name($result, $index){}

/**
 * Test if a field is nullable
 *
 * @param resource $result The query result identifier
 * @param int $index {@link index} is the field whose nullability will
 *   be retrieved. The possible values of {@link index} depend upon the
 *   value of ingres.array_index_start. If ingres.array_index_start is 1
 *   (the default) then {@link index} must be between 1 and the value
 *   returned by {@link ingres_num_fields}. If ingres.array_index_start
 *   is 0 then {@link index} must be between 0 and {@link
 *   ingres_num_fields} - 1.
 * @return bool {@link ingres_field_nullable} returns TRUE if the field
 *   can be set to the NULL value and FALSE if it cannot
 * @since PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0
 **/
function ingres_field_nullable($result, $index){}

/**
 * Get the precision of a field
 *
 * {@link ingres_field_precision} returns the precision of a field. This
 * value is used only for decimal, float, and money SQL data types. For
 * detailed information, see the Ingres OpenAPI User Guide, Appendix
 * "Data Types" in the Ingres documentation.
 *
 * @param resource $result The query result identifier
 * @param int $index {@link index} is the field whose precision will be
 *   retrieved. The possible values of {@link index} depend upon the
 *   value of ingres.array_index_start. If ingres.array_index_start is 1
 *   (the default) then {@link index} must be between 1 and the value
 *   returned by {@link ingres_num_fields}. If ingres.array_index_start
 *   is 0 then {@link index} must be between 0 and {@link
 *   ingres_num_fields} - 1.
 * @return int Returns the field precision as an integer
 * @since PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0
 **/
function ingres_field_precision($result, $index){}

/**
 * Get the scale of a field
 *
 * {@link ingres_field_scale} returns the scale of a field. This value is
 * used only for the decimal SQL data type. For detailed information, see
 * the Ingres OpenAPI User Guide, Appendix "Data Types" in the Ingres
 * documentation.
 *
 * @param resource $result The query result identifier
 * @param int $index {@link index} is the field whose scale will be
 *   retrieved. The possible values of {@link index} depend upon the
 *   value of ingres.array_index_start. If ingres.array_index_start is 1
 *   (the default) then {@link index} must be between 1 and the value
 *   returned by {@link ingres_num_fields}. If ingres.array_index_start
 *   is 0 then {@link index} must be between 0 and {@link
 *   ingres_num_fields} - 1.
 * @return int Returns the scale of the field, as an integer
 * @since PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0
 **/
function ingres_field_scale($result, $index){}

/**
 * Get the type of a field in a query result
 *
 * @param resource $result The query result identifier
 * @param int $index {@link index} is the field whose type will be
 *   retrieved. The possible values of {@link index} depend upon the
 *   value of ingres.array_index_start. If ingres.array_index_start is 1
 *   (the default) then {@link index} must be between 1 and the value
 *   returned by {@link ingres_num_fields}. If ingres.array_index_start
 *   is 0 then {@link index} must be between 0 and {@link
 *   ingres_num_fields} - 1.
 * @return string {@link ingres_field_type} returns the type of a field
 *   in a query result. Examples of types returned are IIAPI_BYTE_TYPE,
 *   IIAPI_CHA_TYPE, IIAPI_DTE_TYPE, IIAPI_FLT_TYPE, IIAPI_INT_TYPE,
 *   IIAPI_VCH_TYPE. Some of these types can map to more than one SQL
 *   type depending on the length of the field (see {@link
 *   ingres_field_length}). For example IIAPI_FLT_TYPE can be a float4 or
 *   a float8. For detailed information, see the Ingres OpenAPI User
 *   Guide, Appendix "Data Types" in the Ingres documentation.
 * @since PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0
 **/
function ingres_field_type($result, $index){}

/**
 * Free the resources associated with a result identifier
 *
 * @param resource $result The query result identifier
 * @return bool
 * @since PECL ingres >= 2.0.0
 **/
function ingres_free_result($result){}

/**
 * Get the next Ingres error
 *
 * Get the next Ingres error for the last executed query. Each call to
 * {@link ingres_next_error} can be followed by a call to {@link
 * ingres_errno}, {@link ingres_error} or {@link ingres_errsqlstate} to
 * get the respective error number, error text, or SQL STATE. While
 * {@link ingres_next_error} returns TRUE, there are more errors to
 * fetch.
 *
 * @param resource $link The connection link identifier
 * @return bool {@link ingres_next_error} returns TRUE if there is
 *   another error to retrieve or FALSE when there are no more errors
 * @since PECL ingres >= 2.0.0
 **/
function ingres_next_error($link){}

/**
 * Get the number of fields returned by the last query
 *
 * {@link ingres_num_fields} returns the number of fields in the results
 * returned by the Ingres server after a call to {@link ingres_query}.
 *
 * @param resource $result The query result identifier
 * @return int Returns the number of fields
 * @since PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0
 **/
function ingres_num_fields($result){}

/**
 * Get the number of rows affected or returned by a query
 *
 * This function primarily is meant to get the number of rows modified in
 * the database. However, it can be used to retrieve the number of rows
 * to fetch for a SELECT statement.
 *
 * @param resource $result The result identifier for a query
 * @return int For delete, insert, or update queries, {@link
 *   ingres_num_rows} returns the number of rows affected by the query.
 *   For other queries, {@link ingres_num_rows} returns the number of
 *   rows in the query's result.
 * @since PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0
 **/
function ingres_num_rows($result){}

/**
 * Open a persistent connection to an Ingres database
 *
 * There are only two differences between this function and {@link
 * ingres_connect}: First, when connecting, the function will initially
 * try to find a (persistent) link that is already opened with the same
 * parameters. If one is found, an identifier for it will be returned
 * instead of opening a new connection. Second, the connection to the
 * Ingres server will not be closed when the execution of the script
 * ends. Instead, the link will remain open for future use ({@link
 * ingres_close} will not close links established by {@link
 * ingres_pconnect}). This type of link is therefore called "persistent".
 *
 * @param string $database The database name. Must follow the syntax:
 *   [vnode::]dbname[/svr_class]
 * @param string $username The Ingres user name
 * @param string $password The password associated with {@link
 *   username}
 * @param array $options See {@link ingres_connect} for the list of
 *   options that can be passed
 * @return resource Returns an Ingres link resource on success
 * @since PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0
 **/
function ingres_pconnect($database, $username, $password, $options){}

/**
 * Prepare a query for later execution
 *
 * Prepares a query for execution by {@link ingres_execute}.
 *
 * The query becomes part of the currently open transaction. If there is
 * no open transaction, {@link ingres_query} opens a new transaction. To
 * close the transaction, you can call either {@link ingres_commit} to
 * commit the changes made to the database or {@link ingres_rollback} to
 * cancel these changes. When the script ends, any open transaction is
 * rolled back (by calling {@link ingres_rollback}). You can also use
 * {@link ingres_autocommit} before opening a new transaction to have
 * every SQL query immediately committed.
 *
 * @param resource $link The connection link identifier
 * @param string $query A valid SQL query (see the Ingres SQL reference
 *   guide) in the Ingres documentation. See the query parameter in
 *   {@link ingres_query} for a list of SQL statements which cannot be
 *   executed using {@link ingres_prepare}
 * @return mixed {@link ingres_prepare} returns a query result
 *   identifier that is used with {@link ingres_execute} to execute the
 *   query. To see if an error occurred, use {@link ingres_errno}, {@link
 *   ingres_error}, or {@link ingres_errsqlstate}.
 * @since PECL ingres >= 1.1.0
 **/
function ingres_prepare($link, $query){}

/**
 * Send an SQL query to Ingres
 *
 * {@link ingres_query} sends the given {@link query} to the Ingres
 * server.
 *
 * The query becomes part of the currently open transaction. If there is
 * no open transaction, {@link ingres_query} opens a new transaction. To
 * close the transaction, you can call either {@link ingres_commit} to
 * commit the changes made to the database or {@link ingres_rollback} to
 * cancel these changes. When the script ends, any open transaction is
 * rolled back (by calling {@link ingres_rollback}). You can also use
 * {@link ingres_autocommit} before opening a new transaction to have
 * every SQL query immediately committed.
 *
 * @param resource $link The connection link identifier.
 * @param string $query A valid SQL query (see the Ingres SQL reference
 *   guide) in the Ingres documentation. Data inside the query should be
 *   properly escaped. The following types of SQL queries cannot be sent
 *   with this function: close (see {@link ingres_close}) commit (see
 *   {@link ingres_commit}) connect (see {@link ingres_connect})
 *   disconnect (see {@link ingres_close}) get dbevent prepare to commit
 *   rollback (see {@link ingres_rollback}) savepoint set autocommit (see
 *   {@link ingres_autocommit}) all cursor-related queries are
 *   unsupported
 * @param array $params An array of parameter values to be used with
 *   the query
 * @param string $types A string containing a sequence of types for the
 *   parameter values passed. When ingres.describe is enabled, this
 *   parameter can be ignored as the driver automatically fetches the
 *   expected parameter types from the server.
 * @return mixed {@link ingres_query} returns a query result identifier
 *   on success else it returns FALSE. To see if an error occurred use
 *   {@link ingres_errno}, {@link ingres_error} or {@link
 *   ingres_errsqlstate}.
 * @since PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0
 **/
function ingres_query($link, $query, $params, $types){}

/**
 * Set the row position before fetching data
 *
 * This function is used to position the cursor associated with the
 * result resource before issuing a fetch. If ingres.array_index_start is
 * set to 0 then the first row is 0 else it is 1. {@link
 * ingres_result_seek} can be used only with queries that make use of
 * scrollable cursors. It cannot be used with {@link
 * ingres_unbuffered_query}.
 *
 * @param resource $result The result identifier for a query
 * @param int $position The row to position the cursor on. If
 *   ingres.array_index_start is set to 0, then the first row is 0, else
 *   it is 1
 * @return bool
 * @since PECL ingres >= 2.1.0
 **/
function ingres_result_seek($result, $position){}

/**
 * Roll back a transaction
 *
 * {@link ingres_rollback} rolls back the currently open transaction,
 * actually cancelling all changes made to the database during the
 * transaction.
 *
 * This closes the transaction. A new transaction can be opened by
 * sending a query with {@link ingres_query}.
 *
 * @param resource $link The connection link identifier
 * @return bool
 * @since PHP 4 >= 4.0.2, PHP 5 < 5.1.0, PECL ingres >= 1.0.0
 **/
function ingres_rollback($link){}

/**
 * Set environment features controlling output options
 *
 * {@link ingres_set_environment} is called to set environmental options
 * that affect the output of certain values from Ingres, such as the
 * timezone, date format, decimal character separator, and float
 * precision.
 *
 * @param resource $link The connection link identifier
 * @param array $options An enumerated array of option name/value
 *   pairs. The following table lists the option name and the expected
 *   type
 *   
 *   Option name Option type Description Example date_century_boundary
 *   integer The threshold by which a 2-digit year is determined to be in
 *   the current century or in the next century. Equivalent to
 *   II_DATE_CENTURY_BOUNDARY 50 timezone string Controls the timezone of
 *   the session. If not set, it will default the value defined by
 *   II_TIMEZONE_NAME. If II_TIMEZONE_NAME is not defined, NA-PACIFIC
 *   (GMT-8 with Daylight Savings) is used. UNITED-KINGDOM date_format
 *   integer Sets the allowable input and output format for Ingres dates.
 *   Defaults to the value defined by II_DATE_FORMAT. If II_DATE_FORMAT
 *   is not set, the default date format is US, for example mm/dd/yy.
 *   Valid values for date_format are: INGRES_DATE_DMY INGRES_DATE_FINISH
 *   INGRES_DATE_GERMAN INGRES_DATE_ISO INGRES_DATE_ISO4 INGRES_DATE_MDY
 *   INGRES_DATE_MULTINATIONAL INGRES_DATE_MULTINATIONAL4 INGRES_DATE_YMD
 *   INGRES_DATE_US INGRES_DATE_ISO4 decimal_separator string The
 *   character identifier for decimal data "," money_lort integer Leading
 *   or trailing currency sign. Valid values for money_lort are:
 *   INGRES_MONEY_LEADING INGRES_MONEY_TRAILING INGRES_MONEY_LEADING
 *   money_sign string The currency symbol to be used with the MONEY
 *   datatype € money_precision integer The precision of the MONEY
 *   datatype 2 float4_precision integer Precision of the FLOAT4 datatype
 *   10 float8_precision integer Precision of the FLOAT8 data 10
 *   blob_segment_length integer The amount of data in bytes to fetch at
 *   a time when retrieving BLOB or CLOB data. Defaults to 4096 bytes
 *   when not set explicitly 8192
 * @return bool
 * @since PECL ingres >= 1.2.0
 **/
function ingres_set_environment($link, $options){}

/**
 * Send an unbuffered SQL query to Ingres
 *
 * {@link ingres_unbuffered_query} sends the given {@link query} to the
 * Ingres server.
 *
 * The query becomes part of the currently open transaction. If there is
 * no open transaction, {@link ingres_unbuffered_query} opens a new
 * transaction. To close the transaction, you can call either {@link
 * ingres_commit} to commit the changes made to the database or {@link
 * ingres_rollback} to cancel these changes. When the script ends, any
 * open transaction is rolled back (by calling {@link ingres_rollback}).
 * You can also use {@link ingres_autocommit} before opening a new
 * transaction to have every SQL query immediately committed. Ingres
 * allows only a single unbuffered statement to be active at any one
 * time. The extension will close any active unbuffered statements before
 * executing any SQL. In addition you cannot use {@link
 * ingres_result_seek} to position the row before fetching.
 *
 * @param resource $link The connection link identifier
 * @param string $query A valid SQL query (see the Ingres SQL reference
 *   guide) in the Ingres documentation. See the query parameter in
 *   {@link ingres_query} for a list of SQL statements that cannot be
 *   executed via {@link ingres_unbuffered_query}. Data inside the query
 *   should be properly escaped.
 * @param array $params An array of parameter values to be used with
 *   the query
 * @param string $types A string containing a sequence of types for the
 *   parameter values passed. See the types parameter in {@link
 *   ingres_query} for the list of type codes.
 * @return mixed {@link ingres_unbuffered_query} returns a query result
 *   identifier when there are rows to fetch; else it returns FALSE when
 *   there are no rows, as is the case of an INSERT, UPDATE, or DELETE
 *   statement. To see if an error occurred, use {@link ingres_errno},
 *   {@link ingres_error}, or {@link ingres_errsqlstate}.
 **/
function ingres_unbuffered_query($link, $query, $params, $types){}

/**
 * Sets the value of a configuration option
 *
 * Sets the value of the given configuration option. The configuration
 * option will keep this new value during the script's execution, and
 * will be restored at the script's ending.
 *
 * @param string $varname Not all the available options can be changed
 *   using {@link ini_set}. There is a list of all available options in
 *   the appendix.
 * @param string $newvalue The new value for the option.
 * @return string Returns the old value on success, FALSE on failure.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ini_alter($varname, $newvalue){}

/**
 * Gets the value of a configuration option
 *
 * Returns the value of the configuration option on success.
 *
 * @param string $varname The configuration option name.
 * @return string Returns the value of the configuration option as a
 *   string on success, or an empty string for null values. Returns FALSE
 *   if the configuration option doesn't exist.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ini_get($varname){}

/**
 * Gets all configuration options
 *
 * Returns all the registered configuration options.
 *
 * @param string $extension An optional extension name. If set, the
 *   function return only options specific for that extension.
 * @param bool $details Retrieve details settings or only the current
 *   value for each setting. Default is TRUE (retrieve details).
 * @return array Returns an associative array with directive name as
 *   the array key.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function ini_get_all($extension, $details){}

/**
 * Restores the value of a configuration option
 *
 * Restores a given configuration option to its original value.
 *
 * @param string $varname The configuration option name.
 * @return void
 * @since PHP 4, PHP 5, PHP 7
 **/
function ini_restore($varname){}

/**
 * Sets the value of a configuration option
 *
 * Sets the value of the given configuration option. The configuration
 * option will keep this new value during the script's execution, and
 * will be restored at the script's ending.
 *
 * @param string $varname Not all the available options can be changed
 *   using {@link ini_set}. There is a list of all available options in
 *   the appendix.
 * @param string $newvalue The new value for the option.
 * @return string Returns the old value on success, FALSE on failure.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ini_set($varname, $newvalue){}

/**
 * Add a watch to an initialized inotify instance
 *
 * {@link inotify_add_watch} adds a new watch or modify an existing watch
 * for the file or directory specified in {@link pathname}.
 *
 * Using {@link inotify_add_watch} on a watched object replaces the
 * existing watch. Using the IN_MASK_ADD constant adds (OR) events to the
 * existing watch.
 *
 * @param resource $inotify_instance
 * @param string $pathname File or directory to watch
 * @param int $mask Events to watch for. See .
 * @return int The return value is a unique (inotify instance wide)
 *   watch descriptor.
 * @since PECL inotify >= 0.1.2
 **/
function inotify_add_watch($inotify_instance, $pathname, $mask){}

/**
 * Initialize an inotify instance
 *
 * Initialize an inotify instance for use with {@link inotify_add_watch}
 *
 * @return resource A stream resource or FALSE on error.
 * @since PECL inotify >= 0.1.2
 **/
function inotify_init(){}

/**
 * Return a number upper than zero if there are pending events
 *
 * This function allows to know if {@link inotify_read} will block or
 * not. If a number upper than zero is returned, there are pending events
 * and {@link inotify_read} will not block.
 *
 * @param resource $inotify_instance
 * @return int Returns a number upper than zero if there are pending
 *   events.
 * @since PECL inotify >= 0.1.2
 **/
function inotify_queue_len($inotify_instance){}

/**
 * Read events from an inotify instance
 *
 * Read inotify events from an inotify instance.
 *
 * @param resource $inotify_instance
 * @return array An array of inotify events or FALSE if no events was
 *   pending and {@link inotify_instance} is non-blocking. Each event is
 *   an array with the following keys: wd is a watch descriptor returned
 *   by {@link inotify_add_watch} mask is a bit mask of events cookie is
 *   a unique id to connect related events (e.g. IN_MOVE_FROM and
 *   IN_MOVE_TO) name is the name of a file (e.g. if a file was modified
 *   in a watched directory)
 * @since PECL inotify >= 0.1.2
 **/
function inotify_read($inotify_instance){}

/**
 * Remove an existing watch from an inotify instance
 *
 * {@link inotify_rm_watch} removes the watch {@link watch_descriptor}
 * from the inotify instance {@link inotify_instance}.
 *
 * @param resource $inotify_instance
 * @param int $watch_descriptor Watch to remove from the instance
 * @return bool
 * @since PECL inotify >= 0.1.2
 **/
function inotify_rm_watch($inotify_instance, $watch_descriptor){}

/**
 * Integer division
 *
 * Returns the integer quotient of the division of {@link dividend} by
 * {@link divisor}.
 *
 * @param int $dividend Number to be divided.
 * @param int $divisor Number which divides the {@link dividend}.
 * @return int The integer quotient of the division of {@link dividend}
 *   by {@link divisor}.
 * @since PHP 7
 **/
function intdiv($dividend, $divisor){}

/**
 * Checks if the interface has been defined
 *
 * Checks if the given interface has been defined.
 *
 * @param string $interface_name The interface name
 * @param bool $autoload Whether to call or not by default.
 * @return bool Returns TRUE if the interface given by {@link
 *   interface_name} has been defined, FALSE otherwise.
 * @since PHP 5 >= 5.0.2, PHP 7
 **/
function interface_exists($interface_name, $autoload){}

/**
 * Add a (signed) amount of time to a field
 *
 * Add a signed amount to a field. Adding a positive amount allows
 * advances in time, even if the numeric value of the field decreases
 * (e.g. when working with years in BC dates).
 *
 * Other fields may need to adjusted – for instance, adding a month to
 * the 31st of January will result in the 28th (or 29th) of February.
 * Contrary to {@link IntlCalendar::roll}, when a value wraps around,
 * more significant fields may change. For instance, adding a day to the
 * 31st of January will result in the 1st of February, not the 1st of
 * Janurary.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @param int $field
 * @param int $amount The signed amount to add to the current field. If
 *   the amount is positive, the instant will be moved forward; if it is
 *   negative, the instant wil be moved into the past. The unit is
 *   implicit to the field type. For instance, hours for
 *   IntlCalendar::FIELD_HOUR_OF_DAY.
 * @return bool Returns TRUE on success.
 **/
function intlcal_add($cal, $field, $amount){}

/**
 * Whether this objectʼs time is after that of the passed object
 *
 * Returns whether this objectʼs time succeeds the argumentʼs time.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @param IntlCalendar $other The calendar whose time will be checked
 *   against the primary objectʼs time.
 * @return bool Returns TRUE if this objectʼs current time is after
 *   that of the {@link calendar} argumentʼs time. Returns FALSE
 *   otherwise. Also returns FALSE on failure. You can use exceptions or
 *   {@link intl_get_error_code} to detect error conditions.
 **/
function intlcal_after($cal, $other){}

/**
 * Whether this objectʼs time is before that of the passed object
 *
 * Returns whether this objectʼs time precedes the argumentʼs time.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @param IntlCalendar $other The calendar whose time will be checked
 *   against the primary objectʼs time.
 * @return bool Returns TRUE if this objectʼs current time is before
 *   that of the {@link calendar} argumentʼs time. Returns FALSE
 *   otherwise. Also returns FALSE on failure. You can use exceptions or
 *   {@link intl_get_error_code} to detect error conditions.
 **/
function intlcal_before($cal, $other){}

/**
 * Clear a field or all fields
 *
 * Clears either all of the fields or a specific field. A cleared field
 * is marked as unset, giving it the lowest priority against overlapping
 * fields or even default values when calculating the time. Additionally,
 * its value is set to 0, though given the fieldʼs low priority, its
 * value may have been internally set to another value by the time the
 * field has finished been queried.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @param int $field
 * @return bool Returns TRUE on success. Failure can only occur is
 *   invalid arguments are provided.
 **/
function intlcal_clear($cal, $field){}

/**
 * Create a new IntlCalendar
 *
 * Given a timezone and locale, this method creates an IntlCalendar
 * object. This factory method may return a subclass of IntlCalendar.
 *
 * The calendar created will represent the time instance at which it was
 * created, based on the system time. The fields can all be cleared by
 * calling {@link IntCalendar::clear} with no arguments. See also {@link
 * IntlGregorianCalendar::__construct}.
 *
 * @param mixed $timeZone The timezone to use.
 * @param string $locale A locale to use or NULL to use the default
 *   locale.
 * @return IntlCalendar The created IntlCalendar instance or NULL on
 *   failure.
 **/
function intlcal_create_instance($timeZone, $locale){}

/**
 * Compare time of two IntlCalendar objects for equality
 *
 * Returns true if this calendar and the given calendar have the same
 * time. The settings, calendar types and field states do not have to be
 * the same.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @param IntlCalendar $other The calendar to compare with the primary
 *   object.
 * @return bool Returns TRUE if the current time of both this and the
 *   passed in IntlCalendar object are the same, or FALSE otherwise. The
 *   value FALSE can also be returned on failure. This can only happen if
 *   bad arguments are passed in. In any case, the two cases can be
 *   distinguished by calling {@link intl_get_error_code}.
 **/
function intlcal_equals($cal, $other){}

/**
 * Calculate difference between given time and this objectʼs time
 *
 * Return the difference between the given time and the time this object
 * is set to, with respect to the quantity specified the {@link field}
 * parameter.
 *
 * This method is meant to be called successively, first with the most
 * significant field of interest down to the least significant field. To
 * this end, as a side effect, this calendarʼs value for the field
 * specified is advanced by the amount returned.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @param float $when The time against which to compare the quantity
 *   represented by the {@link field}. For the result to be positive, the
 *   time given for this parameter must be ahead of the time of the
 *   object the method is being invoked on.
 * @param int $field The field that represents the quantity being
 *   compared.
 * @return int Returns a (signed) difference of time in the unit
 *   associated with the specified field.
 **/
function intlcal_field_difference($cal, $when, $field){}

/**
 * Create an IntlCalendar from a DateTime object or string
 *
 * Creates an IntlCalendar object either from a DateTime object or from a
 * string from which a DateTime object can be built.
 *
 * The new calendar will represent not only the same instant as the given
 * DateTime (subject to precision loss for dates very far into the past
 * or future), but also the same timezone (subject to the caveat that
 * different timezone databases will be used, and therefore the results
 * may differ).
 *
 * @param mixed $dateTime A DateTime object or a string that can be
 *   passed to {@link DateTime::__construct}.
 * @return IntlCalendar The created IntlCalendar object or NULL in case
 *   of failure. If a string is passed, any exception that occurs inside
 *   the DateTime constructor is propagated.
 **/
function intlcal_from_date_time($dateTime){}

/**
 * Get the value for a field
 *
 * Gets the value for a specific field.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @param int $field
 * @return int An integer with the value of the time field.
 **/
function intlcal_get($cal, $field){}

/**
 * The maximum value for a field, considering the objectʼs current time
 *
 * Returns a fieldʼs relative maximum value around the current time. The
 * exact semantics vary by field, but in the general case this is the
 * value that would be obtained if one would set the field value into the
 * smallest relative maximum for the field and would increment it until
 * reaching the global maximum or the field value wraps around, in which
 * the value returned would be the global maximum or the value before the
 * wrapping, respectively.
 *
 * For instance, in the gregorian calendar, the actual maximum value for
 * the day of month would vary between 28 and 31, depending on the month
 * and year of the current time.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @param int $field
 * @return int An int representing the maximum value in the units
 *   associated with the given {@link field}.
 **/
function intlcal_get_actual_maximum($cal, $field){}

/**
 * The minimum value for a field, considering the objectʼs current time
 *
 * Returns a fieldʼs relative minimum value around the current time. The
 * exact semantics vary by field, but in the general case this is the
 * value that would be obtained if one would set the field value into the
 * greatest relative minimum for the field and would decrement it until
 * reaching the global minimum or the field value wraps around, in which
 * the value returned would be the global minimum or the value before the
 * wrapping, respectively.
 *
 * For the Gregorian calendar, this is always the same as {@link
 * IntlCalendar::getMinimum}.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @param int $field
 * @return int An int representing the minimum value in the fieldʼs
 *   unit.
 **/
function intlcal_get_actual_minimum($cal, $field){}

/**
 * Get array of locales for which there is data
 *
 * Gives the list of locales for which calendars are installed. As of ICU
 * 51, this is the list of all installed ICU locales.
 *
 * @return array An array of strings, one for which locale.
 **/
function intlcal_get_available_locales(){}

/**
 * Tell whether a day is a weekday, weekend or a day that has a
 * transition between the two
 *
 * Returns whether the passed day is a weekday
 * (IntlCalendar::DOW_TYPE_WEEKDAY), a weekend day
 * (IntlCalendar::DOW_TYPE_WEEKEND), a day during which a transition
 * occurs into the weekend (IntlCalendar::DOW_TYPE_WEEKEND_OFFSET) or a
 * day during which the weekend ceases
 * (IntlCalendar::DOW_TYPE_WEEKEND_CEASE).
 *
 * If the return is either IntlCalendar::DOW_TYPE_WEEKEND_OFFSET or
 * IntlCalendar::DOW_TYPE_WEEKEND_CEASE, then {@link
 * IntlCalendar::getWeekendTransition} can be called to obtain the time
 * of the transition.
 *
 * This function requires ICU 4.4 or later.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @param int $dayOfWeek One of the constants IntlCalendar::DOW_SUNDAY,
 *   IntlCalendar::DOW_MONDAY, …, IntlCalendar::DOW_SATURDAY.
 * @return int Returns one of the constants
 *   IntlCalendar::DOW_TYPE_WEEKDAY, IntlCalendar::DOW_TYPE_WEEKEND,
 *   IntlCalendar::DOW_TYPE_WEEKEND_OFFSET or
 *   IntlCalendar::DOW_TYPE_WEEKEND_CEASE.
 **/
function intlcal_get_day_of_week_type($cal, $dayOfWeek){}

/**
 * Get last error code on the object
 *
 * Returns the numeric ICU error code for the last call on this object
 * (including cloning) or the IntlCalendar given for the {@link calendar}
 * parameter (in the procedural‒style version). This may indicate only
 * a warning (negative error code) or no error at all (U_ZERO_ERROR). The
 * actual presence of an error can be tested with {@link
 * intl_is_failure}.
 *
 * Invalid arguments detected on the PHP side (before invoking functions
 * of the ICU library) are not recorded for the purposes of this
 * function.
 *
 * The last error that occurred in any call to a function of the intl
 * extension, including early argument errors, can be obtained with
 * {@link intl_get_error_code}. This function resets the global error
 * code, but not the objectʼs error code.
 *
 * @param IntlCalendar $calendar The calendar object, on the procedural
 *   style interface.
 * @return int An ICU error code indicating either success, failure or
 *   a warning.
 **/
function intlcal_get_error_code($calendar){}

/**
 * Get last error message on the object
 *
 * Returns the error message (if any) associated with the error reported
 * by {@link IntlCalendar::getErrorCode} or {@link
 * intlcal_get_error_code}. If there is no associated error message, only
 * the string representation of the name of the error constant will be
 * returned. Otherwise, the message also includes a message set on the
 * side of the PHP binding.
 *
 * @param IntlCalendar $calendar The calendar object, on the procedural
 *   style interface.
 * @return string The error message associated with last error that
 *   occurred in a function call on this object, or a string indicating
 *   the non-existance of an error.
 **/
function intlcal_get_error_message($calendar){}

/**
 * Get the first day of the week for the calendarʼs locale
 *
 * The week day deemed to start a week, either the default value for this
 * locale or the value set with {@link IntlCalendar::setFirstDayOfWeek}.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @return int One of the constants IntlCalendar::DOW_SUNDAY,
 *   IntlCalendar::DOW_MONDAY, …, IntlCalendar::DOW_SATURDAY.
 **/
function intlcal_get_first_day_of_week($cal){}

/**
 * Get the largest local minimum value for a field
 *
 * Returns the largest local minimum for a field. This should be a value
 * larger or equal to that returned by {@link
 * IntlCalendar::getActualMinimum}, which is in its turn larger or equal
 * to that returned by {@link IntlCalendar::getMinimum}. All these three
 * functions return the same value for the Gregorian calendar.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @param int $field
 * @return int An int representing a field value, in the fieldʼs
 *   unit,.
 **/
function intlcal_get_greatest_minimum($cal, $field){}

/**
 * Get set of locale keyword values
 *
 * For a given locale key, get the set of values for that key that would
 * result in a different behavior. For now, only the 'calendar' keyword
 * is supported.
 *
 * This function requires ICU 4.2 or later.
 *
 * @param string $key The locale keyword for which relevant values are
 *   to be queried. Only 'calendar' is supported.
 * @param string $locale The locale onto which the keyword/value pair
 *   are to be appended.
 * @param bool $commonlyUsed Whether to show only the values commonly
 *   used for the specified locale.
 * @return Iterator An iterator that yields strings with the locale
 *   keyword values.
 **/
function intlcal_get_keyword_values_for_locale($key, $locale, $commonlyUsed){}

/**
 * Get the smallest local maximum for a field
 *
 * Returns the smallest local maximumw for a field. This should be a
 * value smaller or equal to that returned by {@link
 * IntlCalendar::getActualMaxmimum}, which is in its turn smaller or
 * equal to that returned by {@link IntlCalendar::getMaximum}.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @param int $field
 * @return int An int representing a field value in the fieldʼs unit.
 **/
function intlcal_get_least_maximum($cal, $field){}

/**
 * Get the locale associated with the object
 *
 * Returns the locale used by this calendar object.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @param int $localeType Whether to fetch the actual locale (the
 *   locale from which the calendar data originates, with
 *   Locale::ACTUAL_LOCALE) or the valid locale, i.e., the most specific
 *   locale supported by ICU relatively to the requested locale – see
 *   Locale::VALID_LOCALE. From the most general to the most specific,
 *   the locales are ordered in this fashion – actual locale, valid
 *   locale, requested locale.
 * @return string A locale string.
 **/
function intlcal_get_locale($cal, $localeType){}

/**
 * Get the global maximum value for a field
 *
 * Gets the global maximum for a field, in this specific calendar. This
 * value is larger or equal to that returned by {@link
 * IntlCalendar::getActualMaximum}, which is in its turn larger or equal
 * to that returned by {@link IntlCalendar::getLeastMaximum}.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @param int $field
 * @return int An int representing a field value in the fieldʼs unit.
 **/
function intlcal_get_maximum($cal, $field){}

/**
 * Set minimal number of days the first week in a year or month can have
 *
 * Sets the smallest number of days the first week of a year or month
 * must have in the new year or month. For instance, in the Gregorian
 * calendar, if this value is 1, then the first week of the year will
 * necessarily include January 1st, while if this value is 7, then the
 * week with January 1st will be the first week of the year only if the
 * day of the week for January 1st matches the day of the week returned
 * by {@link IntlCalendar::getFirstDayOfWeek}; otherwise it will be the
 * previous yearʼs last week.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @param int $minimalDays The number of minimal days to set.
 * @return bool TRUE on success, FALSE on failure.
 **/
function intlcal_get_minimal_days_in_first_week($cal, $minimalDays){}

/**
 * Get the global minimum value for a field
 *
 * Gets the global minimum for a field, in this specific calendar. This
 * value is smaller or equal to that returned by {@link
 * IntlCalendar::getActualMinimum}, which is in its turn smaller or equal
 * to that returned by {@link IntlCalendar::getGreatestMinimum}. For the
 * Gregorian calendar, these three functions always return the same value
 * (for each field).
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @param int $field
 * @return int An int representing a value for the given field in the
 *   fieldʼs unit.
 **/
function intlcal_get_minimum($cal, $field){}

/**
 * Get number representing the current time
 *
 * The number of milliseconds that have passed since the reference date.
 * This number is derived from the system time.
 *
 * @return float A float representing a number of milliseconds since
 *   the epoch, not counting leap seconds.
 **/
function intlcal_get_now(){}

/**
 * Get behavior for handling repeating wall time
 *
 * Gets the current strategy for dealing with wall times that are
 * repeated whenever the clock is set back during dailight saving time
 * end transitions. The default value is IntlCalendar::WALLTIME_LAST.
 *
 * This function requires ICU 4.9 or later.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @return int One of the constants IntlCalendar::WALLTIME_FIRST or
 *   IntlCalendar::WALLTIME_LAST.
 **/
function intlcal_get_repeated_wall_time_option($cal){}

/**
 * Get behavior for handling skipped wall time
 *
 * Gets the current strategy for dealing with wall times that are skipped
 * whenever the clock is forwarded during dailight saving time start
 * transitions. The default value is IntlCalendar::WALLTIME_LAST.
 *
 * The calendar must be lenient for this option to have any effect,
 * otherwise attempting to set a non-existing time will cause an error.
 *
 * This function requires ICU 4.9 or later.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @return int One of the constants IntlCalendar::WALLTIME_FIRST,
 *   IntlCalendar::WALLTIME_LAST or IntlCalendar::WALLTIME_NEXT_VALID.
 **/
function intlcal_get_skipped_wall_time_option($cal){}

/**
 * Get time currently represented by the object
 *
 * Returns the time associated with this object, expressed as the number
 * of milliseconds since the epoch.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @return float A float representing the number of milliseconds
 *   elapsed since the reference time (1 Jan 1970 00:00:00 UTC).
 **/
function intlcal_get_time($cal){}

/**
 * Get the objectʼs timezone
 *
 * Returns the IntlTimeZone object associated with this calendar.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @return IntlTimeZone An IntlTimeZone object corresponding to the one
 *   used internally in this object.
 **/
function intlcal_get_time_zone($cal){}

/**
 * Get the calendar type
 *
 * A string describing the type of this calendar. This is one of the
 * valid values for the calendar keyword value 'calendar'.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @return string A string representing the calendar type, such as
 *   'gregorian', 'islamic', etc.
 **/
function intlcal_get_type($cal){}

/**
 * Get time of the day at which weekend begins or ends
 *
 * Returns the number of milliseconds after midnight at which the weekend
 * begins or ends.
 *
 * This is only applicable for days of the week for which {@link
 * IntlCalendar::getDayOfWeekType} returns either
 * IntlCalendar::DOW_TYPE_WEEKEND_OFFSET or
 * IntlCalendar::DOW_TYPE_WEEKEND_CEASE. Calling this function for other
 * days of the week is an error condition.
 *
 * This function requires ICU 4.4 or later.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @param string $dayOfWeek One of the constants
 *   IntlCalendar::DOW_SUNDAY, IntlCalendar::DOW_MONDAY, …,
 *   IntlCalendar::DOW_SATURDAY.
 * @return int The number of milliseconds into the day at which the
 *   weekend begins or ends.
 **/
function intlcal_get_weekend_transition($cal, $dayOfWeek){}

/**
 * Whether the objectʼs time is in Daylight Savings Time
 *
 * Whether, for the instant represented by this object and for this
 * objectʼs timezone, daylight saving time is in place.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @return bool Returns TRUE if the date is in Daylight Savings Time,
 *   FALSE otherwise. The value FALSE may also be returned on failure,
 *   for instance after specifying invalid field values on non-lenient
 *   mode; use exceptions or query {@link intl_get_error_code} to
 *   disambiguate.
 **/
function intlcal_in_daylight_time($cal){}

/**
 * Whether another calendar is equal but for a different time
 *
 * Returns whether this and the given object are equivalent for all
 * purposes except as to the time they have set. The locales do not have
 * to match, as long as no change in behavior results from such mismatch.
 * This includes the timezone, whether the lenient mode is set, the
 * repeated and skipped wall time settings, the days of the week when the
 * weekend starts and ceases and the times where such transitions occur.
 * It may also include other calendar specific settings, such as the
 * Gregorian/Julian transition instant.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @param IntlCalendar $other The other calendar against which the
 *   comparison is to be made.
 * @return bool Assuming there are no argument errors, returns TRUE iif
 *   the calendars are equivalent except possibly for their set time.
 **/
function intlcal_is_equivalent_to($cal, $other){}

/**
 * Whether date/time interpretation is in lenient mode
 *
 * Returns whether the current date/time interpretations is lenient (the
 * default). If that is case, some out of range values for fields will be
 * accepted instead of raising an error.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @return bool A bool representing whether the calendar is set to
 *   lenient mode.
 **/
function intlcal_is_lenient($cal){}

/**
 * Whether a field is set
 *
 * Returns whether a field is set (as opposed to clear). Set fields take
 * priority over unset fields and their default values when the date/time
 * is being calculated. Fields set later take priority over fields set
 * earlier.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @param int $field
 * @return bool Assuming there are no argument errors, returns TRUE iif
 *   the field is set.
 **/
function intlcal_is_set($cal, $field){}

/**
 * Whether a certain date/time is in the weekend
 *
 * Returns whether either the obejctʼs current time or the provided
 * timestamp occur during a weekend in this objectʼs calendar system.
 *
 * This function requires ICU 4.4 or later.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @param float $date An optional timestamp representing the number of
 *   milliseconds since the epoch, excluding leap seconds. If NULL, this
 *   objectʼs current time is used instead.
 * @return bool A bool indicating whether the given or this objectʼs
 *   time occurs in a weekend.
 **/
function intlcal_is_weekend($cal, $date){}

/**
 * Add value to field without carrying into more significant fields
 *
 * Adds a (signed) amount to a field. The difference with respect to
 * {@link IntlCalendar::add} is that when the field value overflows, it
 * does not carry into more significant fields.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @param int $field
 * @param mixed $amountOrUpOrDown The (signed) amount to add to the
 *   field, TRUE for rolling up (adding 1), or FALSE for rolling down
 *   (subtracting 1).
 * @return bool Returns TRUE on success or FALSE on failure.
 **/
function intlcal_roll($cal, $field, $amountOrUpOrDown){}

/**
 * Set a time field or several common fields at once
 *
 * Sets either a specific field to the given value, or sets at once
 * several common fields. The range of values that are accepted depend on
 * whether the calendar is using the lenient mode.
 *
 * For fields that conflict, the fields that are set later have priority.
 *
 * This method cannot be called with exactly four arguments.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @param int $field
 * @param int $value The new value of the given field.
 * @return bool Returns TRUE on success and FALSE on failure.
 **/
function intlcal_set($cal, $field, $value){}

/**
 * Set the day on which the week is deemed to start
 *
 * Defines the day of week deemed to start the week. This affects the
 * behavior of fields that depend on the concept of week start and end
 * such as IntlCalendar::FIELD_WEEK_OF_YEAR and
 * IntlCalendar::FIELD_YEAR_WOY.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @param int $dayOfWeek One of the constants IntlCalendar::DOW_SUNDAY,
 *   IntlCalendar::DOW_MONDAY, …, IntlCalendar::DOW_SATURDAY.
 * @return bool Returns TRUE on success. Failure can only happen due to
 *   invalid parameters.
 **/
function intlcal_set_first_day_of_week($cal, $dayOfWeek){}

/**
 * Set whether date/time interpretation is to be lenient
 *
 * Defines whether the calendar is ‘lenient mode’. In such a mode,
 * some of out-of-bounds values for some fields are accepted, the
 * behavior being similar to that of {@link IntlCalendar::add} (i.e., the
 * value wraps around, carrying into more significant fields each time).
 * If the lenient mode is off, then such values will generate an error.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @param bool $isLenient Use TRUE to activate the lenient mode; FALSE
 *   otherwise.
 * @return bool Returns TRUE on success. Failure can only happen due to
 *   invalid parameters.
 **/
function intlcal_set_lenient($cal, $isLenient){}

/**
 * Set behavior for handling repeating wall times at negative timezone
 * offset transitions
 *
 * Sets the current strategy for dealing with wall times that are
 * repeated whenever the clock is set back during dailight saving time
 * end transitions. The default value is IntlCalendar::WALLTIME_LAST
 * (take the post-DST instant). The other possible value is
 * IntlCalendar::WALLTIME_FIRST (take the instant that occurs during
 * DST).
 *
 * This function requires ICU 4.9 or later.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @param int $wallTimeOption One of the constants
 *   IntlCalendar::WALLTIME_FIRST or IntlCalendar::WALLTIME_LAST.
 * @return bool Returns TRUE on success. Failure can only happen due to
 *   invalid parameters.
 **/
function intlcal_set_repeated_wall_time_option($cal, $wallTimeOption){}

/**
 * Set behavior for handling skipped wall times at positive timezone
 * offset transitions
 *
 * Sets the current strategy for dealing with wall times that are skipped
 * whenever the clock is forwarded during dailight saving time start
 * transitions. The default value is IntlCalendar::WALLTIME_LAST (take it
 * as being the same instant as the one when the wall time is one hour
 * more). Alternative values are IntlCalendar::WALLTIME_FIRST (same
 * instant as the one with a wall time of one hour less) and
 * IntlCalendar::WALLTIME_NEXT_VALID (same instant as when DST begins).
 *
 * This affects only the instant represented by the calendar (as reported
 * by {@link IntlCalendar::getTime}), the field values will not be
 * rewritten accordingly.
 *
 * The calendar must be lenient for this option to have any effect,
 * otherwise attempting to set a non-existing time will cause an error.
 *
 * This function requires ICU 4.9 or later.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @param int $wallTimeOption One of the constants
 *   IntlCalendar::WALLTIME_FIRST, IntlCalendar::WALLTIME_LAST or
 *   IntlCalendar::WALLTIME_NEXT_VALID.
 * @return bool Returns TRUE on success. Failure can only happen due to
 *   invalid parameters.
 **/
function intlcal_set_skipped_wall_time_option($cal, $wallTimeOption){}

/**
 * Set the calendar time in milliseconds since the epoch
 *
 * Sets the instant represented by this object. The instant is
 * represented by a float whose value should be an integer number of
 * milliseconds since the epoch (1 Jan 1970 00:00:00.000 UTC), ignoring
 * leap seconds. All the field values will be recalculated accordingly.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @param float $date An instant represented by the number of number of
 *   milliseconds between such instant and the epoch, ignoring leap
 *   seconds.
 * @return bool Returns TRUE on success and FALSE on failure.
 **/
function intlcal_set_time($cal, $date){}

/**
 * Set the timezone used by this calendar
 *
 * Defines a new timezone for this calendar. The time represented by the
 * object is preserved to the detriment of the field values.
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @param mixed $timeZone The new timezone to be used by this calendar.
 *   It can be specified in the following ways:
 * @return bool Returns TRUE on success and FALSE on failure.
 **/
function intlcal_set_time_zone($cal, $timeZone){}

/**
 * Convert an IntlCalendar into a DateTime object
 *
 * Create a DateTime object that represents the same instant (up to
 * second precision, with a rounding error of less than 1 second) and has
 * an analog timezone to this object (the difference being DateTimeʼs
 * timezone will be backed by PHPʼs timezone while IntlCalendarʼs
 * timezone is backed by ICUʼs).
 *
 * @param IntlCalendar $cal The IntlCalendar resource.
 * @return DateTime A DateTime object with the same timezone as this
 *   object (though using PHPʼs database instead of ICUʼs) and the same
 *   time, except for the smaller precision (second precision instead of
 *   millisecond). Returns FALSE on failure.
 **/
function intlcal_to_date_time($cal){}

/**
 * Get last error code on the object
 *
 * @return int
 **/
function intltz_get_error_code(){}

/**
 * Get last error message on the object
 *
 * @return string
 **/
function intltz_get_error_message(){}

/**
 * Get symbolic name for a given error code
 *
 * Return ICU error code name.
 *
 * @param int $error_code
 * @return string
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function intl_error_name($error_code){}

/**
 * Get the last error code
 *
 * Useful to handle errors occurred in static methods when there's no
 * object to get error code from.
 *
 * @return int
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function intl_get_error_code(){}

/**
 * Get description of the last error
 *
 * Get error message from last internationalization function called.
 *
 * @return string
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function intl_get_error_message(){}

/**
 * Check whether the given error code indicates failure
 *
 * @param int $error_code
 * @return bool
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function intl_is_failure($error_code){}

/**
 * Get the integer value of a variable
 *
 * Returns the integer value of {@link var}, using the specified {@link
 * base} for the conversion (the default is base 10). {@link intval}
 * should not be used on objects, as doing so will emit an E_NOTICE level
 * error and return 1.
 *
 * @param mixed $var The scalar value being converted to an integer
 * @param int $base The base for the conversion
 * @return int The integer value of {@link var} on success, or 0 on
 *   failure. Empty arrays return 0, non-empty arrays return 1.
 * @since PHP 4, PHP 5, PHP 7
 **/
function intval($var, $base){}

/**
 * Checks if a value exists in an array
 *
 * Searches {@link haystack} for {@link needle} using loose comparison
 * unless {@link strict} is set.
 *
 * @param mixed $needle The searched value.
 * @param array $haystack The array.
 * @param bool $strict If the third parameter {@link strict} is set to
 *   TRUE then the {@link in_array} function will also check the types of
 *   the {@link needle} in the {@link haystack}.
 * @return bool Returns TRUE if {@link needle} is found in the array,
 *   FALSE otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function in_array($needle, $haystack, $strict){}

/**
 * Converts a string containing an (IPv4) Internet Protocol dotted
 * address into a long integer
 *
 * The function {@link ip2long} generates an long integer representation
 * of IPv4 Internet network address from its Internet standard format
 * (dotted string) representation.
 *
 * {@link ip2long} will also work with non-complete IP addresses. Read
 * for more info.
 *
 * @param string $ip_address A standard format address.
 * @return int Returns the long integer or FALSE if {@link ip_address}
 *   is invalid.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ip2long($ip_address){}

/**
 * Embeds binary IPTC data into a JPEG image
 *
 * @param string $iptcdata The data to be written.
 * @param string $jpeg_file_name Path to the JPEG image.
 * @param int $spool Spool flag. If the spool flag is less than 2 then
 *   the JPEG will be returned as a string. Otherwise the JPEG will be
 *   printed to STDOUT.
 * @return mixed If {@link spool} is less than 2, the JPEG will be
 *   returned, . Otherwise returns TRUE on success .
 * @since PHP 4, PHP 5, PHP 7
 **/
function iptcembed($iptcdata, $jpeg_file_name, $spool){}

/**
 * Parse a binary IPTC block into single tags
 *
 * Parses an IPTC block into its single tags.
 *
 * @param string $iptcblock A binary IPTC block.
 * @return array Returns an array using the tagmarker as an index and
 *   the value as the value. It returns FALSE on error or if no IPTC data
 *   was found.
 * @since PHP 4, PHP 5, PHP 7
 **/
function iptcparse($iptcblock){}

/**
 * Checks if the object is of this class or has this class as one of its
 * parents
 *
 * Checks if the given {@link object} is of this class or has this class
 * as one of its parents.
 *
 * @param object $object The tested object
 * @param string $class_name The class name
 * @param bool $allow_string If this parameter set to FALSE, string
 *   class name as {@link object} is not allowed. This also prevents from
 *   calling autoloader if the class doesn't exist.
 * @return bool Returns TRUE if the object is of this class or has this
 *   class as one of its parents, FALSE otherwise.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function is_a($object, $class_name, $allow_string){}

/**
 * Finds whether a variable is an array
 *
 * Finds whether the given variable is an array.
 *
 * @param mixed $var The variable being evaluated.
 * @return bool Returns TRUE if {@link var} is an array, FALSE
 *   otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function is_array($var){}

/**
 * Finds out whether a variable is a boolean
 *
 * Finds whether the given variable is a boolean.
 *
 * @param mixed $var The variable being evaluated.
 * @return bool Returns TRUE if {@link var} is a boolean, FALSE
 *   otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function is_bool($var){}

/**
 * Verify that the contents of a variable can be called as a function
 *
 * Verify that the contents of a variable can be called as a function.
 * This can check that a simple variable contains the name of a valid
 * function, or that an array contains a properly encoded object and
 * function name.
 *
 * @param mixed $var The value to check
 * @param bool $syntax_only If set to TRUE the function only verifies
 *   that {@link name} might be a function or method. It will only reject
 *   simple variables that are not strings, or an array that does not
 *   have a valid structure to be used as a callback. The valid ones are
 *   supposed to have only 2 entries, the first of which is an object or
 *   a string, and the second a string.
 * @param string $callable_name Receives the "callable name". In the
 *   example below it is "someClass::someMethod". Note, however, that
 *   despite the implication that someClass::SomeMethod() is a callable
 *   static method, this is not the case.
 * @return bool Returns TRUE if {@link var} is callable, FALSE
 *   otherwise.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function is_callable($var, $syntax_only, &$callable_name){}

/**
 * Verify that the contents of a variable is a countable value
 *
 * Verify that the contents of a variable is an array or an object
 * implementing Countable
 *
 * @param mixed $var The value to check
 * @return bool Returns TRUE if {@link var} is countable, FALSE
 *   otherwise.
 * @since PHP 7 >= 7.3.0
 **/
function is_countable($var){}

/**
 * Tells whether the filename is a directory
 *
 * Tells whether the given filename is a directory.
 *
 * @param string $filename Path to the file. If {@link filename} is a
 *   relative filename, it will be checked relative to the current
 *   working directory. If {@link filename} is a symbolic or hard link
 *   then the link will be resolved and checked. If you have enabled , or
 *   open_basedir further restrictions may apply.
 * @return bool Returns TRUE if the filename exists and is a directory,
 *   FALSE otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function is_dir($filename){}

/**
 * Finds whether the type of a variable is float
 *
 * Finds whether the type of the given variable is float.
 *
 * @param mixed $var The variable being evaluated.
 * @return bool Returns TRUE if {@link var} is a float, FALSE
 *   otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function is_double($var){}

/**
 * Tells whether the filename is executable
 *
 * @param string $filename Path to the file.
 * @return bool Returns TRUE if the filename exists and is executable,
 *   or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function is_executable($filename){}

/**
 * Tells whether the filename is a regular file
 *
 * Tells whether the given file is a regular file.
 *
 * @param string $filename Path to the file.
 * @return bool Returns TRUE if the filename exists and is a regular
 *   file, FALSE otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function is_file($filename){}

/**
 * Finds whether a value is a legal finite number
 *
 * Checks whether {@link val} is a legal finite on this platform.
 *
 * @param float $val The value to check
 * @return bool TRUE if {@link val} is a legal finite number within the
 *   allowed range for a PHP float on this platform, else FALSE.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function is_finite($val){}

/**
 * Finds whether the type of a variable is float
 *
 * Finds whether the type of the given variable is float.
 *
 * @param mixed $var The variable being evaluated.
 * @return bool Returns TRUE if {@link var} is a float, FALSE
 *   otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function is_float($var){}

/**
 * Finds whether a value is infinite
 *
 * Returns TRUE if {@link val} is infinite (positive or negative), like
 * the result of log(0) or any value too big to fit into a float on this
 * platform.
 *
 * @param float $val The value to check
 * @return bool TRUE if {@link val} is infinite, else FALSE.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function is_infinite($val){}

/**
 * Find whether the type of a variable is integer
 *
 * Finds whether the type of the given variable is integer.
 *
 * @param mixed $var The variable being evaluated.
 * @return bool Returns TRUE if {@link var} is an integer, FALSE
 *   otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function is_int($var){}

/**
 * Find whether the type of a variable is integer
 *
 * Finds whether the type of the given variable is integer.
 *
 * @param mixed $var The variable being evaluated.
 * @return bool Returns TRUE if {@link var} is an integer, FALSE
 *   otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function is_integer($var){}

/**
 * Verify that the contents of a variable is an iterable value
 *
 * Verify that the contents of a variable is accepted by the iterable
 * pseudo-type, i.e. that it is an array or an object implementing
 * Traversable
 *
 * @param mixed $var The value to check
 * @return bool Returns TRUE if {@link var} is iterable, FALSE
 *   otherwise.
 * @since PHP 7 >= 7.1.0
 **/
function is_iterable($var){}

/**
 * Tells whether the filename is a symbolic link
 *
 * Tells whether the given file is a symbolic link.
 *
 * @param string $filename Path to the file.
 * @return bool Returns TRUE if the filename exists and is a symbolic
 *   link, FALSE otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function is_link($filename){}

/**
 * Find whether the type of a variable is integer
 *
 * Finds whether the type of the given variable is integer.
 *
 * @param mixed $var The variable being evaluated.
 * @return bool Returns TRUE if {@link var} is an integer, FALSE
 *   otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function is_long($var){}

/**
 * Finds whether a value is not a number
 *
 * Checks whether {@link val} is 'not a number', like the result of
 * acos(1.01).
 *
 * @param float $val The value to check
 * @return bool Returns TRUE if {@link val} is 'not a number', else
 *   FALSE.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function is_nan($val){}

/**
 * Finds whether a variable is NULL
 *
 * Finds whether the given variable is NULL.
 *
 * @param mixed $var The variable being evaluated.
 * @return bool Returns TRUE if {@link var} is null, FALSE otherwise.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function is_null($var){}

/**
 * Finds whether a variable is a number or a numeric string
 *
 * Finds whether the given variable is numeric. Numeric strings consist
 * of optional sign, any number of digits, optional decimal part and
 * optional exponential part. Thus +0123.45e6 is a valid numeric value.
 * Hexadecimal (e.g. 0xf4c3b00c) and binary (e.g. 0b10100111001) notation
 * is not allowed.
 *
 * @param mixed $var The variable being evaluated.
 * @return bool Returns TRUE if {@link var} is a number or a numeric
 *   string, FALSE otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function is_numeric($var){}

/**
 * Finds whether a variable is an object
 *
 * Finds whether the given variable is an object.
 *
 * @param mixed $var The variable being evaluated.
 * @return bool Returns TRUE if {@link var} is an object, FALSE
 *   otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function is_object($var){}

/**
 * Tells whether a file exists and is readable
 *
 * @param string $filename Path to the file.
 * @return bool Returns TRUE if the file or directory specified by
 *   {@link filename} exists and is readable, FALSE otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function is_readable($filename){}

/**
 * Finds whether the type of a variable is float
 *
 * Finds whether the type of the given variable is float.
 *
 * @param mixed $var The variable being evaluated.
 * @return bool Returns TRUE if {@link var} is a float, FALSE
 *   otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function is_real($var){}

/**
 * Finds whether a variable is a resource
 *
 * Finds whether the given variable is a resource.
 *
 * @param mixed $var The variable being evaluated.
 * @return bool Returns TRUE if {@link var} is a resource, FALSE
 *   otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function is_resource($var){}

/**
 * Finds whether a variable is a scalar
 *
 * Finds whether the given variable is a scalar.
 *
 * Scalar variables are those containing an integer, float, string or
 * boolean. Types array, object and resource are not scalar.
 *
 * @param mixed $var The variable being evaluated.
 * @return bool Returns TRUE if {@link var} is a scalar, FALSE
 *   otherwise.
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7
 **/
function is_scalar($var){}

/**
 * Checks if a SOAP call has failed
 *
 * This function is useful to check if the SOAP call failed, but without
 * using exceptions. To use it, create a SoapClient object with the
 * exceptions option set to zero or FALSE. In this case, the SOAP method
 * will return a special SoapFault object which encapsulates the fault
 * details (faultcode, faultstring, faultactor and faultdetails).
 *
 * If exceptions is not set then SOAP call will throw an exception on
 * error. {@link is_soap_fault} checks if the given parameter is a
 * SoapFault object.
 *
 * @param mixed $object The object to test.
 * @return bool This will return TRUE on error, and FALSE otherwise.
 * @since PHP 5, PHP 7
 **/
function is_soap_fault($object){}

/**
 * Find whether the type of a variable is string
 *
 * Finds whether the type of the given variable is string.
 *
 * @param mixed $var The variable being evaluated.
 * @return bool Returns TRUE if {@link var} is of type string, FALSE
 *   otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function is_string($var){}

/**
 * Checks if the object has this class as one of its parents or
 * implements it
 *
 * Checks if the given {@link object} has the class {@link class_name} as
 * one of its parents or implements it.
 *
 * @param mixed $object A class name or an object instance. No error is
 *   generated if the class does not exist.
 * @param string $class_name The class name
 * @param bool $allow_string If this parameter set to false, string
 *   class name as {@link object} is not allowed. This also prevents from
 *   calling autoloader if the class doesn't exist.
 * @return bool This function returns TRUE if the object {@link
 *   object}, belongs to a class which is a subclass of {@link
 *   class_name}, FALSE otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function is_subclass_of($object, $class_name, $allow_string){}

/**
 * Checks whether a string is tainted
 *
 * @param string $string
 * @return bool Return TRUE if the string is tainted, FALSE otherwise.
 * @since PECL taint >=0.1.0
 **/
function is_tainted($string){}

/**
 * Tells whether the file was uploaded via HTTP POST
 *
 * Returns TRUE if the file named by {@link filename} was uploaded via
 * HTTP POST. This is useful to help ensure that a malicious user hasn't
 * tried to trick the script into working on files upon which it should
 * not be working--for instance, /etc/passwd.
 *
 * This sort of check is especially important if there is any chance that
 * anything done with uploaded files could reveal their contents to the
 * user, or even to other users on the same system.
 *
 * For proper working, the function {@link is_uploaded_file} needs an
 * argument like $_FILES['userfile']['tmp_name'], - the name of the
 * uploaded file on the client's machine $_FILES['userfile']['name'] does
 * not work.
 *
 * @param string $filename The filename being checked.
 * @return bool
 * @since PHP 4 >= 4.0.3, PHP 5, PHP 7
 **/
function is_uploaded_file($filename){}

/**
 * Tells whether the filename is writable
 *
 * Returns TRUE if the {@link filename} exists and is writable. The
 * filename argument may be a directory name allowing you to check if a
 * directory is writable.
 *
 * Keep in mind that PHP may be accessing the file as the user id that
 * the web server runs as (often 'nobody'). Safe mode limitations are not
 * taken into account.
 *
 * @param string $filename The filename being checked.
 * @return bool Returns TRUE if the {@link filename} exists and is
 *   writable.
 * @since PHP 4, PHP 5, PHP 7
 **/
function is_writable($filename){}

/**
 * Tells whether the filename is writable
 *
 * Returns TRUE if the {@link filename} exists and is writable. The
 * filename argument may be a directory name allowing you to check if a
 * directory is writable.
 *
 * Keep in mind that PHP may be accessing the file as the user id that
 * the web server runs as (often 'nobody'). Safe mode limitations are not
 * taken into account.
 *
 * @param string $filename The filename being checked.
 * @return bool Returns TRUE if the {@link filename} exists and is
 *   writable.
 * @since PHP 4, PHP 5, PHP 7
 **/
function is_writeable($filename){}

/**
 * Call a function for every element in an iterator
 *
 * Calls a function for every element in an iterator.
 *
 * @param Traversable $iterator The iterator object to iterate over.
 * @param callable $function The callback function to call on every
 *   element. This function only receives the given {@link args}, so it
 *   is nullary by default. If count($args) === 3, for instance, the
 *   callback function is ternary. The function must return TRUE in order
 *   to continue iterating over the {@link iterator}.
 * @param array $args An array of arguments; each element of {@link
 *   args} is passed to the callback {@link function} as separate
 *   argument.
 * @return int Returns the iteration count.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function iterator_apply($iterator, $function, $args){}

/**
 * Count the elements in an iterator
 *
 * Count the elements in an iterator. {@link iterator_count} is not
 * guaranteed to retain the current position of the {@link iterator}.
 *
 * @param Traversable $iterator The iterator being counted.
 * @return int The number of elements in {@link iterator}.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function iterator_count($iterator){}

/**
 * Copy the iterator into an array
 *
 * Copy the elements of an iterator into an array.
 *
 * @param Traversable $iterator The iterator being copied.
 * @param bool $use_keys Whether to use the iterator element keys as
 *   index. In PHP 5.5 and later, if a key is an array or object, a
 *   warning will be generated. NULL keys will be converted to an empty
 *   string, float keys will be truncated to their integer counterpart,
 *   resource keys will generate a warning and be converted to their
 *   resource ID, and boolean keys will be converted to integers.
 * @return array An array containing the elements of the {@link
 *   iterator}.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function iterator_to_array($iterator, $use_keys){}

/**
 * Returns the day of the week
 *
 * Returns the day of the week. Can return a string or an integer
 * depending on the mode.
 *
 * @param int $julianday A julian day number as integer
 * @param int $mode
 * @return mixed The gregorian weekday as either an integer or string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function jddayofweek($julianday, $mode){}

/**
 * Returns a month name
 *
 * Returns a string containing a month name. {@link mode} tells this
 * function which calendar to convert the Julian Day Count to, and what
 * type of month names are to be returned. Calendar modes Mode Meaning
 * Values CAL_MONTH_GREGORIAN_SHORT Gregorian - abbreviated Jan, Feb,
 * Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec
 * CAL_MONTH_GREGORIAN_LONG Gregorian January, February, March, April,
 * May, June, July, August, September, October, November, December
 * CAL_MONTH_JULIAN_SHORT Julian - abbreviated Jan, Feb, Mar, Apr, May,
 * Jun, Jul, Aug, Sep, Oct, Nov, Dec CAL_MONTH_JULIAN_LONG Julian
 * January, February, March, April, May, June, July, August, September,
 * October, November, December CAL_MONTH_JEWISH Jewish Tishri, Heshvan,
 * Kislev, Tevet, Shevat, AdarI, AdarII, Nisan, Iyyar, Sivan, Tammuz, Av,
 * Elul CAL_MONTH_FRENCH French Republican Vendemiaire, Brumaire,
 * Frimaire, Nivose, Pluviose, Ventose, Germinal, Floreal, Prairial,
 * Messidor, Thermidor, Fructidor, Extra
 *
 * @param int $julianday The Julian Day to operate on
 * @param int $mode The calendar mode (see table above).
 * @return string The month name for the given Julian Day and {@link
 *   mode}.
 * @since PHP 4, PHP 5, PHP 7
 **/
function jdmonthname($julianday, $mode){}

/**
 * Converts a Julian Day Count to the French Republican Calendar
 *
 * @param int $juliandaycount A julian day number as integer
 * @return string The french revolution date as a string in the form
 *   "month/day/year"
 * @since PHP 4, PHP 5, PHP 7
 **/
function jdtofrench($juliandaycount){}

/**
 * Converts Julian Day Count to Gregorian date
 *
 * Converts Julian Day Count to a string containing the Gregorian date in
 * the format of "month/day/year".
 *
 * @param int $julianday A julian day number as integer
 * @return string The gregorian date as a string in the form
 *   "month/day/year"
 * @since PHP 4, PHP 5, PHP 7
 **/
function jdtogregorian($julianday){}

/**
 * Converts a Julian day count to a Jewish calendar date
 *
 * Converts a Julian Day Count to the Jewish Calendar.
 *
 * @param int $juliandaycount A julian day number as integer
 * @param bool $hebrew If the {@link hebrew} parameter is set to TRUE,
 *   the {@link fl} parameter is used for Hebrew, ISO-8859-8 encoded
 *   string based, output format.
 * @param int $fl A bitmask which may consist of
 *   CAL_JEWISH_ADD_ALAFIM_GERESH, CAL_JEWISH_ADD_ALAFIM and
 *   CAL_JEWISH_ADD_GERESHAYIM.
 * @return string The Jewish date as a string in the form
 *   "month/day/year", or an ISO-8859-8 encoded Hebrew date string,
 *   according to the {@link hebrew} parameter.
 * @since PHP 4, PHP 5, PHP 7
 **/
function jdtojewish($juliandaycount, $hebrew, $fl){}

/**
 * Converts a Julian Day Count to a Julian Calendar Date
 *
 * Converts Julian Day Count to a string containing the Julian Calendar
 * Date in the format of "month/day/year".
 *
 * @param int $julianday A julian day number as integer
 * @return string The julian date as a string in the form
 *   "month/day/year"
 * @since PHP 4, PHP 5, PHP 7
 **/
function jdtojulian($julianday){}

/**
 * Convert Julian Day to Unix timestamp
 *
 * This function will return a Unix timestamp corresponding to the Julian
 * Day given in {@link jday} or FALSE if {@link jday} is not inside the
 * Unix epoch (Gregorian years between 1970 and 2037 or 2440588 <= {@link
 * jday} <= 2465342 ). The time returned is UTC.
 *
 * @param int $jday A julian day number between 2440588 and 2465342.
 * @return int The unix timestamp for the start (midnight, not noon) of
 *   the given Julian day.
 * @since PHP 4, PHP 5, PHP 7
 **/
function jdtounix($jday){}

/**
 * Converts a date in the Jewish Calendar to Julian Day Count
 *
 * Although this function can handle dates all the way back to the year 1
 * (3761 B.C.), such use may not be meaningful. The Jewish calendar has
 * been in use for several thousand years, but in the early days there
 * was no formula to determine the start of a month. A new month was
 * started when the new moon was first observed.
 *
 * @param int $month The month as a number from 1 to 13, where 1 means
 *   Tishri, 13 means Elul, and 6 and 7 mean Adar in regular years, but
 *   Adar I and Adar II, respectively, in leap years.
 * @param int $day The day as a number from 1 to 30. If the month has
 *   only 29 days, the first day of the following month is assumed.
 * @param int $year The year as a number between 1 and 9999
 * @return int The julian day for the given jewish date as an integer.
 * @since PHP 4, PHP 5, PHP 7
 **/
function jewishtojd($month, $day, $year){}

/**
 * Join array elements with a string
 *
 * Join array elements with a {@link glue} string.
 *
 * @param string $glue Defaults to an empty string.
 * @param array $pieces The array of strings to implode.
 * @return string Returns a string containing a string representation
 *   of all the array elements in the same order, with the glue string
 *   between each element.
 * @since PHP 4, PHP 5, PHP 7
 **/
function join($glue, $pieces){}

/**
 * Convert JPEG image file to WBMP image file
 *
 * Converts a JPEG file into a WBMP file.
 *
 * @param string $jpegname Path to JPEG file.
 * @param string $wbmpname Path to destination WBMP file.
 * @param int $dest_height Destination image height.
 * @param int $dest_width Destination image width.
 * @param int $threshold Threshold value, between 0 and 8 (inclusive).
 * @return bool
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7
 **/
function jpeg2wbmp($jpegname, $wbmpname, $dest_height, $dest_width, $threshold){}

/**
 * Decodes a JSON string
 *
 * Takes a JSON encoded string and converts it into a PHP variable.
 *
 * @param string $json The {@link json} string being decoded. This
 *   function only works with UTF-8 encoded strings.
 * @param bool $assoc When TRUE, returned objects will be converted
 *   into associative arrays.
 * @param int $depth User specified recursion depth.
 * @param int $options Bitmask of JSON decode options. Currently there
 *   are two supported options. The first is JSON_BIGINT_AS_STRING that
 *   allows casting big integers to string instead of floats which is the
 *   default. The second option is JSON_OBJECT_AS_ARRAY that has the same
 *   effect as setting {@link assoc} to TRUE.
 * @return mixed Returns the value encoded in {@link json} in
 *   appropriate PHP type. Values true, false and null are returned as
 *   TRUE, FALSE and NULL respectively. NULL is returned if the {@link
 *   json} cannot be decoded or if the encoded data is deeper than the
 *   recursion limit.
 * @since PHP 5 >= 5.2.0, PHP 7, PECL json >= 1.2.0
 **/
function json_decode($json, $assoc, $depth, $options){}

/**
 * Returns the JSON representation of a value
 *
 * Returns a string containing the JSON representation of the supplied
 * {@link value}.
 *
 * The encoding is affected by the supplied {@link options} and
 * additionally the encoding of float values depends on the value of
 * serialize_precision.
 *
 * @param mixed $value The {@link value} being encoded. Can be any type
 *   except a resource. All string data must be UTF-8 encoded.
 * @param int $options Bitmask consisting of JSON_HEX_QUOT,
 *   JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK,
 *   JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT,
 *   JSON_PRESERVE_ZERO_FRACTION, JSON_UNESCAPED_UNICODE,
 *   JSON_PARTIAL_OUTPUT_ON_ERROR. The behaviour of these constants is
 *   described on the JSON constants page.
 * @param int $depth Set the maximum depth. Must be greater than zero.
 * @return string Returns a JSON encoded string on success .
 * @since PHP 5 >= 5.2.0, PHP 7, PECL json >= 1.2.0
 **/
function json_encode($value, $options, $depth){}

/**
 * Returns the last error occurred
 *
 * Returns the last error (if any) occurred during the last JSON
 * encoding/decoding.
 *
 * @return int Returns an integer, the value can be one of the
 *   following constants:
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function json_last_error(){}

/**
 * Returns the error string of the last json_encode() or json_decode()
 * call
 *
 * @return string Returns the error message on success, "No error" if
 *   no error has occurred, .
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function json_last_error_msg(){}

/**
 * Return the type of a array
 *
 * {@link judy_type} return an integer corresponding to the Judy type of
 * the specified Judy {@link array}.
 *
 * @param Judy $array The Judy Array to test.
 * @return int Return an integer corresponding to a Judy type.
 * @since PECL judy >= 0.1.1
 **/
function judy_type($array){}

/**
 * Return or print the current PHP Judy version
 *
 * Return a string of the PHP Judy version. If the return value is not
 * used, the string will be printed.
 *
 * @return string Return a string of the PHP Judy version.
 * @since PECL judy >= 0.1.1
 **/
function judy_version(){}

/**
 * Converts a Julian Calendar date to Julian Day Count
 *
 * Valid Range for Julian Calendar 4713 B.C. to 9999 A.D.
 *
 * Although this function can handle dates all the way back to 4713 B.C.,
 * such use may not be meaningful. The calendar was created in 46 B.C.,
 * but the details did not stabilize until at least 8 A.D., and perhaps
 * as late at the 4th century. Also, the beginning of a year varied from
 * one culture to another - not all accepted January as the first month.
 *
 * @param int $month The month as a number from 1 (for January) to 12
 *   (for December)
 * @param int $day The day as a number from 1 to 31
 * @param int $year The year as a number between -4713 and 9999
 * @return int The julian day for the given julian date as an integer.
 * @since PHP 4, PHP 5, PHP 7
 **/
function juliantojd($month, $day, $year){}

/**
 * Changes the principal's password
 *
 * {@link kadm5_chpass_principal} sets the new password {@link password}
 * for the {@link principal}.
 *
 * @param resource $handle A KADM5 handle.
 * @param string $principal The principal.
 * @param string $password The new password.
 * @return bool
 * @since PECL kadm5 >= 0.2.3
 **/
function kadm5_chpass_principal($handle, $principal, $password){}

/**
 * Creates a kerberos principal with the given parameters
 *
 * Creates a {@link principal} with the given {@link password}.
 *
 * @param resource $handle A KADM5 handle.
 * @param string $principal The principal.
 * @param string $password If {@link password} is omitted or is NULL, a
 *   random key will be generated.
 * @param array $options It is possible to specify several optional
 *   parameters within the array {@link options}. Allowed are the
 *   following options: KADM5_PRINC_EXPIRE_TIME, KADM5_PW_EXPIRATION,
 *   KADM5_ATTRIBUTES, KADM5_MAX_LIFE, KADM5_KVNO, KADM5_POLICY,
 *   KADM5_CLEARPOLICY, KADM5_MAX_RLIFE.
 * @return bool
 * @since PECL kadm5 >= 0.2.3
 **/
function kadm5_create_principal($handle, $principal, $password, $options){}

/**
 * Deletes a kerberos principal
 *
 * Removes the {@link principal} from the Kerberos database.
 *
 * @param resource $handle A KADM5 handle.
 * @param string $principal The removed principal.
 * @return bool
 * @since PECL kadm5 >= 0.2.3
 **/
function kadm5_delete_principal($handle, $principal){}

/**
 * Closes the connection to the admin server and releases all related
 * resources
 *
 * Closes the connection to the admin server and releases all related
 * resources.
 *
 * @param resource $handle A KADM5 handle.
 * @return bool
 * @since PECL kadm5 >= 0.2.3
 **/
function kadm5_destroy($handle){}

/**
 * Flush all changes to the Kerberos database
 *
 * Flush all changes to the Kerberos database, leaving the connection to
 * the Kerberos admin server open.
 *
 * @param resource $handle A KADM5 handle.
 * @return bool
 * @since PECL kadm5 >= 0.2.3
 **/
function kadm5_flush($handle){}

/**
 * Gets all policies from the Kerberos database
 *
 * Gets an array containing the policies's names.
 *
 * @param resource $handle A KADM5 handle.
 * @return array Returns array of policies on success.
 * @since PECL kadm5 >= 0.2.3
 **/
function kadm5_get_policies($handle){}

/**
 * Gets the principal's entries from the Kerberos database
 *
 * @param resource $handle A KADM5 handle.
 * @param string $principal The principal.
 * @return array Returns array of options containing the following
 *   keys: KADM5_PRINCIPAL, KADM5_PRINC_EXPIRE_TIME, KADM5_PW_EXPIRATION,
 *   KADM5_ATTRIBUTES, KADM5_MAX_LIFE, KADM5_MOD_NAME, KADM5_MOD_TIME,
 *   KADM5_KVNO, KADM5_POLICY, KADM5_MAX_RLIFE, KADM5_LAST_SUCCESS,
 *   KADM5_LAST_FAILED, KADM5_FAIL_AUTH_COUNT on success.
 * @since PECL kadm5 >= 0.2.3
 **/
function kadm5_get_principal($handle, $principal){}

/**
 * Gets all principals from the Kerberos database
 *
 * {@link kadm5_get_principals} returns an array containing the
 * principals's names.
 *
 * @param resource $handle A KADM5 handle.
 * @return array Returns array of principals on success.
 * @since PECL kadm5 >= 0.2.3
 **/
function kadm5_get_principals($handle){}

/**
 * Opens a connection to the KADM5 library
 *
 * Opens a connection with the KADM5 library using the {@link principal}
 * and the given {@link password} to obtain initial credentials from the
 * {@link admin_server}.
 *
 * @param string $admin_server The server.
 * @param string $realm Defines the authentication domain for the
 *   connection.
 * @param string $principal The principal.
 * @param string $password If {@link password} is omitted or is NULL, a
 *   random key will be generated.
 * @return resource Returns a KADM5 handle on success.
 * @since PECL kadm5 >= 0.2.3
 **/
function kadm5_init_with_password($admin_server, $realm, $principal, $password){}

/**
 * Modifies a kerberos principal with the given parameters
 *
 * Modifies a {@link principal} according to the given {@link options}.
 *
 * @param resource $handle A KADM5 handle.
 * @param string $principal The principal.
 * @param array $options It is possible to specify several optional
 *   parameters within the array {@link options}. Allowed are the
 *   following options: KADM5_PRINC_EXPIRE_TIME, KADM5_PW_EXPIRATION,
 *   KADM5_ATTRIBUTES, KADM5_MAX_LIFE, KADM5_KVNO, KADM5_POLICY,
 *   KADM5_CLEARPOLICY, KADM5_MAX_RLIFE. KADM5_FAIL_AUTH_COUNT.
 * @return bool
 * @since PECL kadm5 >= 0.2.3
 **/
function kadm5_modify_principal($handle, $principal, $options){}

/**
 * Fetch a key from an array
 *
 * {@link key} returns the index element of the current array position.
 *
 * @param array $array The array.
 * @return mixed The {@link key} function simply returns the key of the
 *   array element that's currently being pointed to by the internal
 *   pointer. It does not move the pointer in any way. If the internal
 *   pointer points beyond the end of the elements list or the array is
 *   empty, {@link key} returns NULL.
 * @since PHP 4, PHP 5, PHP 7
 **/
function key($array){}

/**
 * Checks if the given key or index exists in the array
 *
 * {@link key_exists} returns TRUE if the given {@link key} is set in the
 * array. {@link key} can be any value possible for an array index.
 *
 * @param mixed $key Value to check.
 * @param array $array An array with keys to check.
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function key_exists($key, $array){}

/**
 * Sort an array by key in reverse order
 *
 * Sorts an array by key in reverse order, maintaining key to data
 * correlations. This is useful mainly for associative arrays.
 *
 * @param array $array The input array.
 * @param int $sort_flags You may modify the behavior of the sort using
 *   the optional parameter {@link sort_flags}, for details see {@link
 *   sort}.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function krsort(&$array, $sort_flags){}

/**
 * Sort an array by key
 *
 * Sorts an array by key, maintaining key to data correlations. This is
 * useful mainly for associative arrays.
 *
 * @param array $array The input array.
 * @param int $sort_flags You may modify the behavior of the sort using
 *   the optional parameter {@link sort_flags}, for details see {@link
 *   sort}.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function ksort(&$array, $sort_flags){}

/**
 * Make a string's first character lowercase
 *
 * Returns a string with the first character of {@link str} lowercased if
 * that character is alphabetic.
 *
 * Note that 'alphabetic' is determined by the current locale. For
 * instance, in the default "C" locale characters such as umlaut-a (ä)
 * will not be converted.
 *
 * @param string $str The input string.
 * @return string Returns the resulting string.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function lcfirst($str){}

/**
 * Combined linear congruential generator
 *
 * {@link lcg_value} returns a pseudo random number in the range of (0,
 * 1). The function combines two CGs with periods of 2^31 - 85 and 2^31 -
 * 249. The period of this function is equal to the product of both
 * primes.
 *
 * @return float A pseudo random float value between 0.0 and 1.0,
 *   inclusive.
 * @since PHP 4, PHP 5, PHP 7
 **/
function lcg_value(){}

/**
 * Changes group ownership of symlink
 *
 * Attempts to change the group of the symlink {@link filename} to {@link
 * group}.
 *
 * Only the superuser may change the group of a symlink arbitrarily;
 * other users may change the group of a symlink to any group of which
 * that user is a member.
 *
 * @param string $filename Path to the symlink.
 * @param mixed $group The group specified by name or number.
 * @return bool
 * @since PHP 5 >= 5.1.3, PHP 7
 **/
function lchgrp($filename, $group){}

/**
 * Changes user ownership of symlink
 *
 * Attempts to change the owner of the symlink {@link filename} to user
 * {@link user}.
 *
 * Only the superuser may change the owner of a symlink.
 *
 * @param string $filename Path to the file.
 * @param mixed $user User name or number.
 * @return bool
 * @since PHP 5 >= 5.1.3, PHP 7
 **/
function lchown($filename, $user){}

/**
 * Translate 8859 characters to t61 characters
 *
 * Translate ISO-8859 characters to t61 characters.
 *
 * This function is useful if you have to talk to a legacy LDAPv2 server.
 *
 * @param string $value The text to be translated.
 * @return string Return the t61 translation of {@link value}.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function ldap_8859_to_t61($value){}

/**
 * Add entries to LDAP directory
 *
 * Add entries in the LDAP directory.
 *
 * @param resource $link_identifier An LDAP link identifier, returned
 *   by {@link ldap_connect}.
 * @param string $dn The distinguished name of an LDAP entity.
 * @param array $entry An array that specifies the information about
 *   the entry. The values in the entries are indexed by individual
 *   attributes. In case of multiple values for an attribute, they are
 *   indexed using integers starting with 0. <?php $entry["attribute1"] =
 *   "value"; $entry["attribute2"][0] = "value1"; $entry["attribute2"][1]
 *   = "value2"; ?>
 * @param array $serverctrls
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function ldap_add($link_identifier, $dn, $entry, $serverctrls){}

/**
 * Bind to LDAP directory
 *
 * Binds to the LDAP directory with specified RDN and password.
 *
 * @param resource $link_identifier An LDAP link identifier, returned
 *   by {@link ldap_connect}.
 * @param string $bind_rdn
 * @param string $bind_password
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function ldap_bind($link_identifier, $bind_rdn, $bind_password){}

/**
 * Unbind from LDAP directory
 *
 * Unbinds from the LDAP directory.
 *
 * @param resource $link_identifier An LDAP link identifier, returned
 *   by {@link ldap_connect}.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function ldap_close($link_identifier){}

/**
 * Compare value of attribute found in entry specified with DN
 *
 * Compare {@link value} of {@link attribute} with value of same
 * attribute in an LDAP directory entry.
 *
 * @param resource $link_identifier An LDAP link identifier, returned
 *   by {@link ldap_connect}.
 * @param string $dn The distinguished name of an LDAP entity.
 * @param string $attribute The attribute name.
 * @param string $value The compared value.
 * @param array $serverctrls
 * @return mixed Returns TRUE if {@link value} matches otherwise
 *   returns FALSE. Returns -1 on error.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function ldap_compare($link_identifier, $dn, $attribute, $value, $serverctrls){}

/**
 * Connect to an LDAP server
 *
 * Creates an LDAP link identifier and checks whether the given {@link
 * host} and {@link port} are plausible.
 *
 * @param string $host This field supports using a hostname or, with
 *   OpenLDAP 2.x.x and later, a full LDAP URI of the form
 *   ldap://hostname:port or ldaps://hostname:port for SSL encryption.
 *   You can also provide multiple LDAP-URIs separated by a space as one
 *   string Note that hostname:port is not a supported LDAP URI as the
 *   schema is missing.
 * @param int $port The port to connect to. Not used when using LDAP
 *   URIs.
 * @return resource Returns a positive LDAP link identifier when the
 *   provided hostname/port combination or LDAP URI seems plausible. It's
 *   a syntactic check of the provided parameters but the server(s) will
 *   not be contacted! If the syntactic check fails it returns FALSE.
 *   When OpenLDAP 2.x.x is used, {@link ldap_connect} will always return
 *   a resource as it does not actually connect but just initializes the
 *   connecting parameters. The actual connect happens with the next
 *   calls to ldap_* funcs, usually with {@link ldap_bind}.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ldap_connect($host, $port){}

/**
 * Send LDAP pagination control
 *
 * Enable LDAP pagination by sending the pagination control (page size,
 * cookie...).
 *
 * @param resource $link An LDAP link identifier, returned by {@link
 *   ldap_connect}.
 * @param int $pagesize The number of entries by page.
 * @param bool $iscritical Indicates whether the pagination is critical
 *   or not. If true and if the server doesn't support pagination, the
 *   search will return no result.
 * @param string $cookie An opaque structure sent by the server ({@link
 *   ldap_control_paged_result_response}).
 * @return bool
 * @since PHP 5 >= 5.4.0, PHP 7
 **/
function ldap_control_paged_result($link, $pagesize, $iscritical, $cookie){}

/**
 * Retrieve the LDAP pagination cookie
 *
 * Retrieve the pagination information send by the server.
 *
 * @param resource $link An LDAP link identifier, returned by {@link
 *   ldap_connect}.
 * @param resource $result
 * @param string $cookie An opaque structure sent by the server.
 * @param int $estimated The estimated number of entries to retrieve.
 * @return bool
 * @since PHP 5 >= 5.4.0, PHP 7
 **/
function ldap_control_paged_result_response($link, $result, &$cookie, &$estimated){}

/**
 * Count the number of entries in a search
 *
 * Returns the number of entries stored in the result of previous search
 * operations.
 *
 * @param resource $link_identifier An LDAP link identifier, returned
 *   by {@link ldap_connect}.
 * @param resource $result_identifier The internal LDAP result.
 * @return int Returns number of entries in the result or FALSE on
 *   error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ldap_count_entries($link_identifier, $result_identifier){}

/**
 * Delete an entry from a directory
 *
 * Deletes a particular entry in LDAP directory.
 *
 * @param resource $link_identifier An LDAP link identifier, returned
 *   by {@link ldap_connect}.
 * @param string $dn The distinguished name of an LDAP entity.
 * @param array $serverctrls
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function ldap_delete($link_identifier, $dn, $serverctrls){}

/**
 * Convert DN to User Friendly Naming format
 *
 * Turns the specified {@link dn}, into a more user-friendly form,
 * stripping off type names.
 *
 * @param string $dn The distinguished name of an LDAP entity.
 * @return string Returns the user friendly name.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ldap_dn2ufn($dn){}

/**
 * Convert LDAP error number into string error message
 *
 * Returns the string error message explaining the error number {@link
 * errno}. While LDAP errno numbers are standardized, different libraries
 * return different or even localized textual error messages. Never check
 * for a specific error message text, but always use an error number to
 * check.
 *
 * @param int $errno The error number.
 * @return string Returns the error message, as a string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ldap_err2str($errno){}

/**
 * Return the LDAP error number of the last LDAP command
 *
 * Returns the standardized error number returned by the last LDAP
 * command. This number can be converted into a textual error message
 * using {@link ldap_err2str}.
 *
 * @param resource $link_identifier An LDAP link identifier, returned
 *   by {@link ldap_connect}.
 * @return int Return the LDAP error number of the last LDAP command
 *   for this link.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ldap_errno($link_identifier){}

/**
 * Return the LDAP error message of the last LDAP command
 *
 * Returns the string error message explaining the error generated by the
 * last LDAP command for the given {@link link_identifier}. While LDAP
 * errno numbers are standardized, different libraries return different
 * or even localized textual error messages. Never check for a specific
 * error message text, but always use an error number to check.
 *
 * Unless you lower your warning level in your sufficiently or prefix
 * your LDAP commands with @ (at) characters to suppress warning output,
 * the errors generated will also show up in your HTML output.
 *
 * @param resource $link_identifier An LDAP link identifier, returned
 *   by {@link ldap_connect}.
 * @return string Returns string error message.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ldap_error($link_identifier){}

/**
 * Escape a string for use in an LDAP filter or DN
 *
 * Escapes {@link value} for use in the context implied by {@link flags}.
 *
 * @param string $value The value to escape.
 * @param string $ignore Characters to ignore when escaping.
 * @param int $flags The context the escaped string will be used in:
 *   LDAP_ESCAPE_FILTER for filters to be used with {@link ldap_search},
 *   or LDAP_ESCAPE_DN for DNs.
 * @return string Returns the escaped string.
 * @since PHP 5 >= 5.6.0, PHP 7
 **/
function ldap_escape($value, $ignore, $flags){}

/**
 * Performs an extended operation
 *
 * Performs an extended operation on the specified {@link link} with
 * {@link reqoid} the OID of the operation and {@link reqdata} the data.
 *
 * @param resource $link An LDAP link identifier, returned by {@link
 *   ldap_connect}.
 * @param string $reqoid The extended operation request OID. You may
 *   use one of LDAP_EXOP_START_TLS, LDAP_EXOP_MODIFY_PASSWD,
 *   LDAP_EXOP_REFRESH, LDAP_EXOP_WHO_AM_I, LDAP_EXOP_TURN, or a string
 *   with the OID of the operation you want to send.
 * @param string $reqdata The extended operation request data. May be
 *   NULL for some operations like LDAP_EXOP_WHO_AM_I, may also need to
 *   be BER encoded.
 * @param array $servercontrols Unused as of PHP 7.2.
 * @param string $retdata Will be filled with the extended operation
 *   response data if provided. If not provided you may use
 *   ldap_parse_exop on the result object later to get this data.
 * @param string $retoid Will be filled with the response OID if
 *   provided, usually equal to the request OID.
 * @return mixed When used with {@link retdata}, returns TRUE on
 *   success or FALSE on error. When used without {@link retdata},
 *   returns a result identifier or FALSE on error.
 * @since PHP 7 >= 7.2.0
 **/
function ldap_exop($link, $reqoid, $reqdata, $servercontrols, &$retdata, &$retoid){}

/**
 * PASSWD extended operation helper
 *
 * Performs a PASSWD extended operation.
 *
 * @param resource $link An LDAP link identifier, returned by {@link
 *   ldap_connect}.
 * @param string $user dn of the user to change the password of.
 * @param string $oldpw The old password of this user. May be ommited
 *   depending of server configuration.
 * @param string $newpw The new password for this user. May be omitted
 *   or empty to have a generated password.
 * @param array $serverctrls
 * @return mixed Returns the generated password if {@link newpw} is
 *   empty or omitted. Otherwise returns TRUE on success and FALSE on
 *   failure.
 * @since PHP 7 >= 7.2.0
 **/
function ldap_exop_passwd($link, $user, $oldpw, $newpw, &$serverctrls){}

/**
 * Refresh extended operation helper
 *
 * Performs a Refresh extended operation and returns the data.
 *
 * @param resource $link An LDAP link identifier, returned by {@link
 *   ldap_connect}.
 * @param string $dn dn of the entry to refresh.
 * @param int $ttl Time in seconds (between 1 and 31557600) that the
 *   client requests that the entry exists in the directory before being
 *   automatically removed.
 * @return int From RFC: The responseTtl field is the time in seconds
 *   which the server chooses to have as the time-to-live field for that
 *   entry. It must not be any smaller than that which the client
 *   requested, and it may be larger. However, to allow servers to
 *   maintain a relatively accurate directory, and to prevent clients
 *   from abusing the dynamic extensions, servers are permitted to
 *   shorten a client-requested time-to-live value, down to a minimum of
 *   86400 seconds (one day).
 *   
 *   FALSE will be returned on error.
 * @since PHP 7 >= 7.3.0
 **/
function ldap_exop_refresh($link, $dn, $ttl){}

/**
 * WHOAMI extended operation helper
 *
 * Performs a WHOAMI extended operation and returns the data.
 *
 * @param resource $link An LDAP link identifier, returned by {@link
 *   ldap_connect}.
 * @return string The data returned by the server, or FALSE on error.
 * @since PHP 7 >= 7.2.0
 **/
function ldap_exop_whoami($link){}

/**
 * Splits DN into its component parts
 *
 * Splits the DN returned by {@link ldap_get_dn} and breaks it up into
 * its component parts. Each part is known as Relative Distinguished
 * Name, or RDN.
 *
 * @param string $dn The distinguished name of an LDAP entity.
 * @param int $with_attrib Used to request if the RDNs are returned
 *   with only values or their attributes as well. To get RDNs with the
 *   attributes (i.e. in attribute=value format) set {@link with_attrib}
 *   to 0 and to get only values set it to 1.
 * @return array Returns an array of all DN components, . The first
 *   element in the array has count key and represents the number of
 *   returned values, next elements are numerically indexed DN
 *   components.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ldap_explode_dn($dn, $with_attrib){}

/**
 * Return first attribute
 *
 * Gets the first attribute in the given entry. Remaining attributes are
 * retrieved by calling {@link ldap_next_attribute} successively.
 *
 * Similar to reading entries, attributes are also read one by one from a
 * particular entry.
 *
 * @param resource $link_identifier An LDAP link identifier, returned
 *   by {@link ldap_connect}.
 * @param resource $result_entry_identifier
 * @return string Returns the first attribute in the entry on success
 *   and FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ldap_first_attribute($link_identifier, $result_entry_identifier){}

/**
 * Return first result id
 *
 * Returns the entry identifier for first entry in the result. This entry
 * identifier is then supplied to {@link ldap_next_entry} routine to get
 * successive entries from the result.
 *
 * Entries in the LDAP result are read sequentially using the {@link
 * ldap_first_entry} and {@link ldap_next_entry} functions.
 *
 * @param resource $link_identifier An LDAP link identifier, returned
 *   by {@link ldap_connect}.
 * @param resource $result_identifier
 * @return resource Returns the result entry identifier for the first
 *   entry on success and FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ldap_first_entry($link_identifier, $result_identifier){}

/**
 * Return first reference
 *
 * @param resource $link
 * @param resource $result
 * @return resource
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7
 **/
function ldap_first_reference($link, $result){}

/**
 * Free result memory
 *
 * Frees up the memory allocated internally to store the result. All
 * result memory will be automatically freed when the script terminates.
 *
 * Typically all the memory allocated for the LDAP result gets freed at
 * the end of the script. In case the script is making successive
 * searches which return large result sets, {@link ldap_free_result}
 * could be called to keep the runtime memory usage by the script low.
 *
 * @param resource $result_identifier
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function ldap_free_result($result_identifier){}

/**
 * Get attributes from a search result entry
 *
 * Reads attributes and values from an entry in the search result.
 *
 * Having located a specific entry in the directory, you can find out
 * what information is held for that entry by using this call. You would
 * use this call for an application which "browses" directory entries
 * and/or where you do not know the structure of the directory entries.
 * In many applications you will be searching for a specific attribute
 * such as an email address or a surname, and won't care what other data
 * is held.
 *
 * return_value["count"] = number of attributes in the entry
 * return_value[0] = first attribute return_value[n] = nth attribute
 *
 * return_value["attribute"]["count"] = number of values for attribute
 * return_value["attribute"][0] = first value of the attribute
 * return_value["attribute"][i] = (i+1)th value of the attribute
 *
 * @param resource $link_identifier An LDAP link identifier, returned
 *   by {@link ldap_connect}.
 * @param resource $result_entry_identifier
 * @return array Returns a complete entry information in a
 *   multi-dimensional array on success and FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ldap_get_attributes($link_identifier, $result_entry_identifier){}

/**
 * Get the DN of a result entry
 *
 * Finds out the DN of an entry in the result.
 *
 * @param resource $link_identifier An LDAP link identifier, returned
 *   by {@link ldap_connect}.
 * @param resource $result_entry_identifier
 * @return string Returns the DN of the result entry and FALSE on
 *   error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ldap_get_dn($link_identifier, $result_entry_identifier){}

/**
 * Get all result entries
 *
 * Reads multiple entries from the given result, and then reading the
 * attributes and multiple values.
 *
 * @param resource $link_identifier An LDAP link identifier, returned
 *   by {@link ldap_connect}.
 * @param resource $result_identifier
 * @return array Returns a complete result information in a
 *   multi-dimensional array on success and FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ldap_get_entries($link_identifier, $result_identifier){}

/**
 * Get the current value for given option
 *
 * Sets {@link retval} to the value of the specified option.
 *
 * @param resource $link_identifier An LDAP link identifier, returned
 *   by {@link ldap_connect}.
 * @param int $option The parameter {@link option} can be one of:
 *   Option Type since LDAP_OPT_DEREF integer LDAP_OPT_SIZELIMIT integer
 *   LDAP_OPT_TIMELIMIT integer LDAP_OPT_NETWORK_TIMEOUT integer
 *   LDAP_OPT_PROTOCOL_VERSION integer LDAP_OPT_ERROR_NUMBER integer
 *   LDAP_OPT_DIAGNOSTIC_MESSAGE integer LDAP_OPT_REFERRALS bool
 *   LDAP_OPT_RESTART bool LDAP_OPT_HOST_NAME string
 *   LDAP_OPT_ERROR_STRING string LDAP_OPT_MATCHED_DN string
 *   LDAP_OPT_SERVER_CONTROLS array LDAP_OPT_CLIENT_CONTROLS array
 *   LDAP_OPT_X_KEEPALIVE_IDLE int 7.1 LDAP_OPT_X_KEEPALIVE_PROBES int
 *   7.1 LDAP_OPT_X_KEEPALIVE_INTERVAL int 7.1 LDAP_OPT_X_TLS_CACERTDIR
 *   string 7.1 LDAP_OPT_X_TLS_CACERTFILE string 7.1
 *   LDAP_OPT_X_TLS_CERTFILE string 7.1 LDAP_OPT_X_TLS_CIPHER_SUITE
 *   string 7.1 LDAP_OPT_X_TLS_CRLCHECK integer 7.1
 *   LDAP_OPT_X_TLS_CRL_NONE integer 7.1 LDAP_OPT_X_TLS_CRL_PEER integer
 *   7.1 LDAP_OPT_X_TLS_CRL_ALL integer 7.1 LDAP_OPT_X_TLS_CRLFILE string
 *   7.1 LDAP_OPT_X_TLS_DHFILE string 7.1 LDAP_OPT_X_TLS_KEYILE string
 *   7.1 LDAP_OPT_X_TLS_PACKAGE string 7.1 LDAP_OPT_X_TLS_PROTOCOL_MIN
 *   integer 7.1 LDAP_OPT_X_TLS_RANDOM_FILE string 7.1
 *   LDAP_OPT_X_TLS_REQUIRE_CERT integer
 * @param mixed $retval This will be set to the option value.
 * @return bool
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function ldap_get_option($link_identifier, $option, &$retval){}

/**
 * Get all values from a result entry
 *
 * Reads all the values of the attribute in the entry in the result.
 *
 * This call needs a {@link result_entry_identifier}, so needs to be
 * preceded by one of the ldap search calls and one of the calls to get
 * an individual entry.
 *
 * You application will either be hard coded to look for certain
 * attributes (such as "surname" or "mail") or you will have to use the
 * {@link ldap_get_attributes} call to work out what attributes exist for
 * a given entry.
 *
 * @param resource $link_identifier An LDAP link identifier, returned
 *   by {@link ldap_connect}.
 * @param resource $result_entry_identifier
 * @param string $attribute
 * @return array Returns an array of values for the attribute on
 *   success and FALSE on error. The number of values can be found by
 *   indexing "count" in the resultant array. Individual values are
 *   accessed by integer index in the array. The first index is 0.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ldap_get_values($link_identifier, $result_entry_identifier, $attribute){}

/**
 * Get all binary values from a result entry
 *
 * Reads all the values of the attribute in the entry in the result.
 *
 * This function is used exactly like {@link ldap_get_values} except that
 * it handles binary data and not string data.
 *
 * @param resource $link_identifier An LDAP link identifier, returned
 *   by {@link ldap_connect}.
 * @param resource $result_entry_identifier
 * @param string $attribute
 * @return array Returns an array of values for the attribute on
 *   success and FALSE on error. Individual values are accessed by
 *   integer index in the array. The first index is 0. The number of
 *   values can be found by indexing "count" in the resultant array.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ldap_get_values_len($link_identifier, $result_entry_identifier, $attribute){}

/**
 * Single-level search
 *
 * Performs the search for a specified {@link filter} on the directory
 * with the scope LDAP_SCOPE_ONELEVEL.
 *
 * LDAP_SCOPE_ONELEVEL means that the search should only return
 * information that is at the level immediately below the {@link base_dn}
 * given in the call. (Equivalent to typing "ls" and getting a list of
 * files and folders in the current working directory.)
 *
 * @param resource $link_identifier An LDAP link identifier, returned
 *   by {@link ldap_connect}.
 * @param string $base_dn The base DN for the directory.
 * @param string $filter
 * @param array $attributes An array of the required attributes, e.g.
 *   array("mail", "sn", "cn"). Note that the "dn" is always returned
 *   irrespective of which attributes types are requested. Using this
 *   parameter is much more efficient than the default action (which is
 *   to return all attributes and their associated values). The use of
 *   this parameter should therefore be considered good practice.
 * @param int $attrsonly Should be set to 1 if only attribute types are
 *   wanted. If set to 0 both attributes types and attribute values are
 *   fetched which is the default behaviour.
 * @param int $sizelimit Enables you to limit the count of entries
 *   fetched. Setting this to 0 means no limit.
 * @param int $timelimit Sets the number of seconds how long is spend
 *   on the search. Setting this to 0 means no limit.
 * @param int $deref Specifies how aliases should be handled during the
 *   search. It can be one of the following: LDAP_DEREF_NEVER - (default)
 *   aliases are never dereferenced. LDAP_DEREF_SEARCHING - aliases
 *   should be dereferenced during the search but not when locating the
 *   base object of the search. LDAP_DEREF_FINDING - aliases should be
 *   dereferenced when locating the base object but not during the
 *   search. LDAP_DEREF_ALWAYS - aliases should be dereferenced always.
 * @param array $serverctrls
 * @return resource Returns a search result identifier or FALSE on
 *   error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ldap_list($link_identifier, $base_dn, $filter, $attributes, $attrsonly, $sizelimit, $timelimit, $deref, $serverctrls){}

/**
 * Replace attribute values with new ones
 *
 * Replaces one or more attributes from the specified {@link dn}. It may
 * also add or remove attributes.
 *
 * @param resource $link_identifier An LDAP link identifier, returned
 *   by {@link ldap_connect}.
 * @param string $dn The distinguished name of an LDAP entity.
 * @param array $entry An associative array listing the attributes to
 *   replace. Sending an empty array as value will remove the attribute,
 *   while sending an attribute not existing yet on this entry will add
 *   it.
 * @param array $serverctrls
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function ldap_modify($link_identifier, $dn, $entry, $serverctrls){}

/**
 * Batch and execute modifications on an LDAP entry
 *
 * Modifies an existing entry in the LDAP directory. Allows detailed
 * specification of the modifications to perform.
 *
 * @param resource $link_identifier An LDAP link identifier, returned
 *   by {@link ldap_connect}.
 * @param string $dn The distinguished name of an LDAP entity.
 * @param array $entry An array that specifies the modifications to
 *   make. Each entry in this array is an associative array with two or
 *   three keys: attrib maps to the name of the attribute to modify,
 *   modtype maps to the type of modification to perform, and (depending
 *   on the type of modification) values maps to an array of attribute
 *   values relevant to the modification. Possible values for modtype
 *   include: LDAP_MODIFY_BATCH_ADD Each value specified through values
 *   is added (as an additional value) to the attribute named by attrib.
 *   LDAP_MODIFY_BATCH_REMOVE Each value specified through values is
 *   removed from the attribute named by attrib. Any value of the
 *   attribute not contained in the values array will remain untouched.
 *   LDAP_MODIFY_BATCH_REMOVE_ALL All values are removed from the
 *   attribute named by attrib. A values entry must not be provided.
 *   LDAP_MODIFY_BATCH_REPLACE All current values of the attribute named
 *   by attrib are replaced with the values specified through values.
 *   Note that any value for attrib must be a string, any value for
 *   values must be an array of strings, and any value for modtype must
 *   be one of the LDAP_MODIFY_BATCH_* constants listed above.
 * @param array $serverctrls Each value specified through values is
 *   added (as an additional value) to the attribute named by attrib.
 * @return bool
 * @since PHP 5.4 >= 5.4.26, PHP 5.5 >= 5.5.10, PHP 5.6 >= 5.6.0, PHP 7
 **/
function ldap_modify_batch($link_identifier, $dn, $entry, $serverctrls){}

/**
 * Add attribute values to current attributes
 *
 * Adds one or more attribute values to the specified {@link dn}. To add
 * a whole new object see {@link ldap_add} function.
 *
 * @param resource $link_identifier An LDAP link identifier, returned
 *   by {@link ldap_connect}.
 * @param string $dn The distinguished name of an LDAP entity.
 * @param array $entry An associative array listing the attirbute
 *   values to add. If an attribute was not existing yet it will be
 *   added. If an attribute is existing you can only add values to it if
 *   it supports multiple values.
 * @param array $serverctrls
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function ldap_mod_add($link_identifier, $dn, $entry, $serverctrls){}

/**
 * Delete attribute values from current attributes
 *
 * Removes one or more attribute values from the specified {@link dn}.
 * Object deletions are done by the {@link ldap_delete} function.
 *
 * @param resource $link_identifier An LDAP link identifier, returned
 *   by {@link ldap_connect}.
 * @param string $dn The distinguished name of an LDAP entity.
 * @param array $entry
 * @param array $serverctrls
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function ldap_mod_del($link_identifier, $dn, $entry, $serverctrls){}

/**
 * Replace attribute values with new ones
 *
 * Replaces one or more attributes from the specified {@link dn}. It may
 * also add or remove attributes.
 *
 * @param resource $link_identifier An LDAP link identifier, returned
 *   by {@link ldap_connect}.
 * @param string $dn The distinguished name of an LDAP entity.
 * @param array $entry An associative array listing the attributes to
 *   replace. Sending an empty array as value will remove the attribute,
 *   while sending an attribute not existing yet on this entry will add
 *   it.
 * @param array $serverctrls
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function ldap_mod_replace($link_identifier, $dn, $entry, $serverctrls){}

/**
 * Get the next attribute in result
 *
 * Retrieves the attributes in an entry. The first call to {@link
 * ldap_next_attribute} is made with the {@link result_entry_identifier}
 * returned from {@link ldap_first_attribute}.
 *
 * @param resource $link_identifier An LDAP link identifier, returned
 *   by {@link ldap_connect}.
 * @param resource $result_entry_identifier
 * @return string Returns the next attribute in an entry on success and
 *   FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ldap_next_attribute($link_identifier, $result_entry_identifier){}

/**
 * Get next result entry
 *
 * Retrieve the entries stored in the result. Successive calls to the
 * {@link ldap_next_entry} return entries one by one till there are no
 * more entries. The first call to {@link ldap_next_entry} is made after
 * the call to {@link ldap_first_entry} with the {@link
 * result_entry_identifier} as returned from the {@link
 * ldap_first_entry}.
 *
 * @param resource $link_identifier An LDAP link identifier, returned
 *   by {@link ldap_connect}.
 * @param resource $result_entry_identifier
 * @return resource Returns entry identifier for the next entry in the
 *   result whose entries are being read starting with {@link
 *   ldap_first_entry}. If there are no more entries in the result then
 *   it returns FALSE.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ldap_next_entry($link_identifier, $result_entry_identifier){}

/**
 * Get next reference
 *
 * @param resource $link
 * @param resource $entry
 * @return resource
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7
 **/
function ldap_next_reference($link, $entry){}

/**
 * Parse result object from an LDAP extended operation
 *
 * Parse LDAP extended operation data from result object {@link result}
 *
 * @param resource $link An LDAP link identifier, returned by {@link
 *   ldap_connect}.
 * @param resource $result An LDAP result resource, returned by {@link
 *   ldap_exop}.
 * @param string $retdata Will be filled by the response data.
 * @param string $retoid Will be filled by the response OID.
 * @return bool
 * @since PHP 7 >= 7.2.0
 **/
function ldap_parse_exop($link, $result, &$retdata, &$retoid){}

/**
 * Extract information from reference entry
 *
 * @param resource $link
 * @param resource $entry
 * @param array $referrals
 * @return bool
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7
 **/
function ldap_parse_reference($link, $entry, &$referrals){}

/**
 * Extract information from result
 *
 * Parses an LDAP search result.
 *
 * @param resource $link An LDAP link identifier, returned by {@link
 *   ldap_connect}.
 * @param resource $result An LDAP result resource, returned by {@link
 *   ldap_list} or {@link ldap_search}.
 * @param int $errcode A reference to a variable that will be set to
 *   the LDAP error code in the result, or 0 if no error occurred.
 * @param string $matcheddn A reference to a variable that will be set
 *   to a matched DN if one was recognised within the request, otherwise
 *   it will be set to NULL.
 * @param string $errmsg A reference to a variable that will be set to
 *   the LDAP error message in the result, or an empty string if no error
 *   occurred.
 * @param array $referrals A reference to a variable that will be set
 *   to an array set to all of the referral strings in the result, or an
 *   empty array if no referrals were returned.
 * @param array $serverctrls
 * @return bool
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7
 **/
function ldap_parse_result($link, $result, &$errcode, &$matcheddn, &$errmsg, &$referrals, &$serverctrls){}

/**
 * Read an entry
 *
 * Performs the search for a specified {@link filter} on the directory
 * with the scope LDAP_SCOPE_BASE. So it is equivalent to reading an
 * entry from the directory.
 *
 * @param resource $link_identifier An LDAP link identifier, returned
 *   by {@link ldap_connect}.
 * @param string $base_dn The base DN for the directory.
 * @param string $filter An empty filter is not allowed. If you want to
 *   retrieve absolutely all information for this entry, use a filter of
 *   objectClass=*. If you know which entry types are used on the
 *   directory server, you might use an appropriate filter such as
 *   objectClass=inetOrgPerson.
 * @param array $attributes An array of the required attributes, e.g.
 *   array("mail", "sn", "cn"). Note that the "dn" is always returned
 *   irrespective of which attributes types are requested. Using this
 *   parameter is much more efficient than the default action (which is
 *   to return all attributes and their associated values). The use of
 *   this parameter should therefore be considered good practice.
 * @param int $attrsonly Should be set to 1 if only attribute types are
 *   wanted. If set to 0 both attributes types and attribute values are
 *   fetched which is the default behaviour.
 * @param int $sizelimit Enables you to limit the count of entries
 *   fetched. Setting this to 0 means no limit.
 * @param int $timelimit Sets the number of seconds how long is spend
 *   on the search. Setting this to 0 means no limit.
 * @param int $deref Specifies how aliases should be handled during the
 *   search. It can be one of the following: LDAP_DEREF_NEVER - (default)
 *   aliases are never dereferenced. LDAP_DEREF_SEARCHING - aliases
 *   should be dereferenced during the search but not when locating the
 *   base object of the search. LDAP_DEREF_FINDING - aliases should be
 *   dereferenced when locating the base object but not during the
 *   search. LDAP_DEREF_ALWAYS - aliases should be dereferenced always.
 * @param array $serverctrls
 * @return resource Returns a search result identifier or FALSE on
 *   error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ldap_read($link_identifier, $base_dn, $filter, $attributes, $attrsonly, $sizelimit, $timelimit, $deref, $serverctrls){}

/**
 * Modify the name of an entry
 *
 * The entry specified by {@link dn} is renamed/moved.
 *
 * @param resource $link_identifier An LDAP link identifier, returned
 *   by {@link ldap_connect}.
 * @param string $dn The distinguished name of an LDAP entity.
 * @param string $newrdn The new RDN.
 * @param string $newparent The new parent/superior entry.
 * @param bool $deleteoldrdn If TRUE the old RDN value(s) is removed,
 *   else the old RDN value(s) is retained as non-distinguished values of
 *   the entry.
 * @param array $serverctrls
 * @return bool
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7
 **/
function ldap_rename($link_identifier, $dn, $newrdn, $newparent, $deleteoldrdn, $serverctrls){}

/**
 * Bind to LDAP directory using SASL
 *
 * @param resource $link
 * @param string $binddn
 * @param string $password
 * @param string $sasl_mech
 * @param string $sasl_realm
 * @param string $sasl_authc_id
 * @param string $sasl_authz_id
 * @param string $props
 * @return bool
 * @since PHP 5, PHP 7
 **/
function ldap_sasl_bind($link, $binddn, $password, $sasl_mech, $sasl_realm, $sasl_authc_id, $sasl_authz_id, $props){}

/**
 * Search LDAP tree
 *
 * Performs the search for a specified filter on the directory with the
 * scope of LDAP_SCOPE_SUBTREE. This is equivalent to searching the
 * entire directory.
 *
 * From 4.0.5 on it's also possible to do parallel searches. To do this
 * you use an array of link identifiers, rather than a single identifier,
 * as the first argument. If you don't want the same base DN and the same
 * filter for all the searches, you can also use an array of base DNs
 * and/or an array of filters. Those arrays must be of the same size as
 * the link identifier array since the first entries of the arrays are
 * used for one search, the second entries are used for another, and so
 * on. When doing parallel searches an array of search result identifiers
 * is returned, except in case of error, then the entry corresponding to
 * the search will be FALSE. This is very much like the value normally
 * returned, except that a result identifier is always returned when a
 * search was made. There are some rare cases where the normal search
 * returns FALSE while the parallel search returns an identifier.
 *
 * @param resource $link_identifier An LDAP link identifier, returned
 *   by {@link ldap_connect}.
 * @param string $base_dn The base DN for the directory.
 * @param string $filter The search filter can be simple or advanced,
 *   using boolean operators in the format described in the LDAP
 *   documentation (see the Netscape Directory SDK or RFC4515 for full
 *   information on filters).
 * @param array $attributes An array of the required attributes, e.g.
 *   array("mail", "sn", "cn"). Note that the "dn" is always returned
 *   irrespective of which attributes types are requested. Using this
 *   parameter is much more efficient than the default action (which is
 *   to return all attributes and their associated values). The use of
 *   this parameter should therefore be considered good practice.
 * @param int $attrsonly Should be set to 1 if only attribute types are
 *   wanted. If set to 0 both attributes types and attribute values are
 *   fetched which is the default behaviour.
 * @param int $sizelimit Enables you to limit the count of entries
 *   fetched. Setting this to 0 means no limit.
 * @param int $timelimit Sets the number of seconds how long is spend
 *   on the search. Setting this to 0 means no limit.
 * @param int $deref Specifies how aliases should be handled during the
 *   search. It can be one of the following: LDAP_DEREF_NEVER - (default)
 *   aliases are never dereferenced. LDAP_DEREF_SEARCHING - aliases
 *   should be dereferenced during the search but not when locating the
 *   base object of the search. LDAP_DEREF_FINDING - aliases should be
 *   dereferenced when locating the base object but not during the
 *   search. LDAP_DEREF_ALWAYS - aliases should be dereferenced always.
 * @param array $serverctrls
 * @return resource Returns a search result identifier or FALSE on
 *   error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ldap_search($link_identifier, $base_dn, $filter, $attributes, $attrsonly, $sizelimit, $timelimit, $deref, $serverctrls){}

/**
 * Set the value of the given option
 *
 * Sets the value of the specified option to be {@link newval}.
 *
 * @param resource $link_identifier An LDAP link identifier, returned
 *   by {@link ldap_connect}.
 * @param int $option The parameter {@link option} can be one of:
 *   Option Type Available since LDAP_OPT_DEREF integer
 *   LDAP_OPT_SIZELIMIT integer LDAP_OPT_TIMELIMIT integer
 *   LDAP_OPT_NETWORK_TIMEOUT integer PHP 5.3.0 LDAP_OPT_PROTOCOL_VERSION
 *   integer LDAP_OPT_ERROR_NUMBER integer LDAP_OPT_REFERRALS bool
 *   LDAP_OPT_RESTART bool LDAP_OPT_HOST_NAME string
 *   LDAP_OPT_ERROR_STRING string LDAP_OPT_DIAGNOSTIC_MESSAGE string
 *   LDAP_OPT_MATCHED_DN string LDAP_OPT_SERVER_CONTROLS array
 *   LDAP_OPT_CLIENT_CONTROLS array LDAP_OPT_X_KEEPALIVE_IDLE int PHP
 *   7.1.0 LDAP_OPT_X_KEEPALIVE_PROBES int PHP 7.1.0
 *   LDAP_OPT_X_KEEPALIVE_INTERVAL int PHP 7.1.0 LDAP_OPT_X_TLS_CACERTDIR
 *   string PHP 7.1.0 LDAP_OPT_X_TLS_CACERTFILE string PHP 7.1.0
 *   LDAP_OPT_X_TLS_CERTFILE string PHP 7.1.0 LDAP_OPT_X_TLS_CIPHER_SUITE
 *   string PHP 7.1.0 LDAP_OPT_X_TLS_CRLCHECK integer PHP 7.1.0
 *   LDAP_OPT_X_TLS_CRLFILE string PHP 7.1.0 LDAP_OPT_X_TLS_DHFILE string
 *   PHP 7.1.0 LDAP_OPT_X_TLS_KEYFILE string PHP 7.1.0
 *   LDAP_OPT_X_TLS_PROTOCOL_MIN integer PHP 7.1.0
 *   LDAP_OPT_X_TLS_RANDOM_FILE string PHP 7.1.0
 *   LDAP_OPT_X_TLS_REQUIRE_CERT integer PHP 7.0.5
 *   LDAP_OPT_SERVER_CONTROLS and LDAP_OPT_CLIENT_CONTROLS require a list
 *   of controls, this means that the value must be an array of controls.
 *   A control consists of an oid identifying the control, an optional
 *   value, and an optional flag for criticality. In PHP a control is
 *   given by an array containing an element with the key oid and string
 *   value, and two optional elements. The optional elements are key
 *   value with string value and key iscritical with boolean value.
 *   iscritical defaults to FALSE if not supplied. See
 *   draft-ietf-ldapext-ldap-c-api-xx.txt for details. See also the
 *   second example below.
 * @param mixed $newval The new value for the specified {@link option}.
 * @return bool
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function ldap_set_option($link_identifier, $option, $newval){}

/**
 * Set a callback function to do re-binds on referral chasing
 *
 * @param resource $link
 * @param callable $callback
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function ldap_set_rebind_proc($link, $callback){}

/**
 * Sort LDAP result entries on the client side
 *
 * Sort the result of a LDAP search, returned by {@link ldap_search}.
 *
 * As this function sorts the returned values on the client side it is
 * possible that you might not get the expected results in case you reach
 * the {@link sizelimit} either of the server or defined within {@link
 * ldap_search}.
 *
 * @param resource $link An LDAP link identifier, returned by {@link
 *   ldap_connect}.
 * @param resource $result An search result identifier, returned by
 *   {@link ldap_search}.
 * @param string $sortfilter The attribute to use as a key in the sort.
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function ldap_sort($link, $result, $sortfilter){}

/**
 * Start TLS
 *
 * @param resource $link
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function ldap_start_tls($link){}

/**
 * Translate t61 characters to 8859 characters
 *
 * @param string $value
 * @return string
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function ldap_t61_to_8859($value){}

/**
 * Unbind from LDAP directory
 *
 * Unbinds from the LDAP directory.
 *
 * @param resource $link_identifier An LDAP link identifier, returned
 *   by {@link ldap_connect}.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function ldap_unbind($link_identifier){}

/**
 * Calculate Levenshtein distance between two strings
 *
 * The Levenshtein distance is defined as the minimal number of
 * characters you have to replace, insert or delete to transform {@link
 * str1} into {@link str2}. The complexity of the algorithm is O(m*n),
 * where n and m are the length of {@link str1} and {@link str2} (rather
 * good when compared to {@link similar_text}, which is O(max(n,m)**3),
 * but still expensive).
 *
 * In its simplest form the function will take only the two strings as
 * parameter and will calculate just the number of insert, replace and
 * delete operations needed to transform {@link str1} into {@link str2}.
 *
 * A second variant will take three additional parameters that define the
 * cost of insert, replace and delete operations. This is more general
 * and adaptive than variant one, but not as efficient.
 *
 * @param string $str1 One of the strings being evaluated for
 *   Levenshtein distance.
 * @param string $str2 One of the strings being evaluated for
 *   Levenshtein distance.
 * @return int This function returns the Levenshtein-Distance between
 *   the two argument strings or -1, if one of the argument strings is
 *   longer than the limit of 255 characters.
 * @since PHP 4 >= 4.0.1, PHP 5, PHP 7
 **/
function levenshtein($str1, $str2){}

/**
 * Clear libxml error buffer
 *
 * {@link libxml_clear_errors} clears the libxml error buffer.
 *
 * @return void
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function libxml_clear_errors(){}

/**
 * Disable the ability to load external entities
 *
 * Disable/enable the ability to load external entities.
 *
 * @param bool $disable Disable (TRUE) or enable (FALSE) libxml
 *   extensions (such as , and ) to load external entities.
 * @return bool Returns the previous value.
 * @since PHP 5 >= 5.2.11, PHP 7
 **/
function libxml_disable_entity_loader($disable){}

/**
 * Retrieve array of errors
 *
 * Retrieve array of errors.
 *
 * @return array Returns an array with LibXMLError objects if there are
 *   any errors in the buffer, or an empty array otherwise.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function libxml_get_errors(){}

/**
 * Retrieve last error from libxml
 *
 * Retrieve last error from libxml.
 *
 * @return LibXMLError Returns a LibXMLError object if there is any
 *   error in the buffer, FALSE otherwise.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function libxml_get_last_error(){}

/**
 * Changes the default external entity loader
 *
 * @param callable $resolver_function A callable that takes three
 *   arguments. Two strings, a public id and system id, and a context (an
 *   array with four keys) as the third argument. This callback should
 *   return a resource, a string from which a resource can be opened, or
 *   NULL.
 * @return bool
 * @since PHP 5 >= 5.4.0, PHP 7
 **/
function libxml_set_external_entity_loader($resolver_function){}

/**
 * Set the streams context for the next libxml document load or write
 *
 * Sets the streams context for the next libxml document load or write.
 *
 * @param resource $streams_context The stream context resource
 *   (created with {@link stream_context_create})
 * @return void
 * @since PHP 5, PHP 7
 **/
function libxml_set_streams_context($streams_context){}

/**
 * Disable libxml errors and allow user to fetch error information as
 * needed
 *
 * {@link libxml_use_internal_errors} allows you to disable standard
 * libxml errors and enable user error handling.
 *
 * @param bool $use_errors Enable (TRUE) user error handling or disable
 *   (FALSE) user error handling. Disabling will also clear any existing
 *   libxml errors.
 * @return bool This function returns the previous value of {@link
 *   use_errors}.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function libxml_use_internal_errors($use_errors){}

/**
 * Create a hard link
 *
 * {@link link} creates a hard link.
 *
 * @param string $target Target of the link.
 * @param string $link The link name.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function link($target, $link){}

/**
 * Gets information about a link
 *
 * This function is used to verify if a link (pointed to by {@link path})
 * really exists (using the same method as the S_ISLNK macro defined in
 * stat.h).
 *
 * @param string $path Path to the link.
 * @return int {@link linkinfo} returns the st_dev field of the Unix C
 *   stat structure returned by the lstat system call. Returns 0 or FALSE
 *   in case of error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function linkinfo($path){}

/**
 * Get numeric formatting information
 *
 * Returns an associative array containing localized numeric and monetary
 * formatting information.
 *
 * @return array {@link localeconv} returns data based upon the current
 *   locale as set by {@link setlocale}. The associative array that is
 *   returned contains the following fields: Array element Description
 *   decimal_point Decimal point character thousands_sep Thousands
 *   separator grouping Array containing numeric groupings
 *   int_curr_symbol International currency symbol (i.e. USD)
 *   currency_symbol Local currency symbol (i.e. $) mon_decimal_point
 *   Monetary decimal point character mon_thousands_sep Monetary
 *   thousands separator mon_grouping Array containing monetary groupings
 *   positive_sign Sign for positive values negative_sign Sign for
 *   negative values int_frac_digits International fractional digits
 *   frac_digits Local fractional digits p_cs_precedes TRUE if
 *   currency_symbol precedes a positive value, FALSE if it succeeds one
 *   p_sep_by_space TRUE if a space separates currency_symbol from a
 *   positive value, FALSE otherwise n_cs_precedes TRUE if
 *   currency_symbol precedes a negative value, FALSE if it succeeds one
 *   n_sep_by_space TRUE if a space separates currency_symbol from a
 *   negative value, FALSE otherwise p_sign_posn 0 - Parentheses surround
 *   the quantity and currency_symbol 1 - The sign string precedes the
 *   quantity and currency_symbol 2 - The sign string succeeds the
 *   quantity and currency_symbol 3 - The sign string immediately
 *   precedes the currency_symbol 4 - The sign string immediately
 *   succeeds the currency_symbol n_sign_posn 0 - Parentheses surround
 *   the quantity and currency_symbol 1 - The sign string precedes the
 *   quantity and currency_symbol 2 - The sign string succeeds the
 *   quantity and currency_symbol 3 - The sign string immediately
 *   precedes the currency_symbol 4 - The sign string immediately
 *   succeeds the currency_symbol
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7
 **/
function localeconv(){}

/**
 * Tries to find out best available locale based on HTTP
 * "Accept-Language" header
 *
 * Tries to find locale that can satisfy the language list that is
 * requested by the HTTP "Accept-Language" header.
 *
 * @param string $header The string containing the "Accept-Language"
 *   header according to format in RFC 2616.
 * @return string The corresponding locale identifier.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function locale_accept_from_http($header){}

/**
 * Returns a correctly ordered and delimited locale ID
 *
 * Returns a correctly ordered and delimited locale ID the keys identify
 * the particular locale ID subtags, and the values are the associated
 * subtag values.
 *
 * @param array $subtags an array containing a list of key-value pairs,
 *   where the keys identify the particular locale ID subtags, and the
 *   values are the associated subtag values. The 'variant' and 'private'
 *   subtags can take maximum 15 values whereas 'extlang' can take
 *   maximum 3 values.e.g. Variants are allowed with the suffix ranging
 *   from 0-14. Hence the keys for the input array can be variant0,
 *   variant1, ...,variant14. In the returned locale id, the subtag is
 *   ordered by suffix resulting in variant0 followed by variant1
 *   followed by variant2 and so on. The 'variant', 'private' and
 *   'extlang' multiple values can be specified both as array under
 *   specific key (e.g. 'variant') and as multiple numbered keys (e.g.
 *   'variant0', 'variant1', etc.).
 * @return string The corresponding locale identifier.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function locale_compose($subtags){}

/**
 * Checks if a language tag filter matches with locale
 *
 * Checks if a $langtag filter matches with $locale according to RFC
 * 4647's basic filtering algorithm
 *
 * @param string $langtag The language tag to check
 * @param string $locale The language range to check against
 * @param bool $canonicalize If true, the arguments will be converted
 *   to canonical form before matching.
 * @return bool TRUE if $locale matches $langtag FALSE otherwise.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function locale_filter_matches($langtag, $locale, $canonicalize){}

/**
 * Gets the variants for the input locale
 *
 * @param string $locale The locale to extract the variants from
 * @return array The array containing the list of all variants subtag
 *   for the locale or NULL if not present
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function locale_get_all_variants($locale){}

/**
 * Gets the default locale value from the INTL global 'default_locale'
 *
 * Gets the default locale value. At the PHP initialization this value is
 * set to 'intl.default_locale' value from if that value exists or from
 * ICU's function uloc_getDefault().
 *
 * @return string The current runtime locale
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function locale_get_default(){}

/**
 * Returns an appropriately localized display name for language of the
 * inputlocale
 *
 * Returns an appropriately localized display name for language of the
 * input locale. If is NULL then the default locale is used.
 *
 * @param string $locale The locale to return a display language for
 * @param string $in_locale Optional format locale to use to display
 *   the language name
 * @return string display name of the language for the $locale in the
 *   format appropriate for $in_locale.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function locale_get_display_language($locale, $in_locale){}

/**
 * Returns an appropriately localized display name for the input locale
 *
 * Returns an appropriately localized display name for the input locale.
 * If $locale is NULL then the default locale is used.
 *
 * @param string $locale The locale to return a display name for.
 * @param string $in_locale optional format locale
 * @return string Display name of the locale in the format appropriate
 *   for $in_locale.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function locale_get_display_name($locale, $in_locale){}

/**
 * Returns an appropriately localized display name for region of the
 * input locale
 *
 * Returns an appropriately localized display name for region of the
 * input locale. If is NULL then the default locale is used.
 *
 * @param string $locale The locale to return a display region for.
 * @param string $in_locale Optional format locale to use to display
 *   the region name
 * @return string display name of the region for the $locale in the
 *   format appropriate for $in_locale.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function locale_get_display_region($locale, $in_locale){}

/**
 * Returns an appropriately localized display name for script of the
 * input locale
 *
 * Returns an appropriately localized display name for script of the
 * input locale. If is NULL then the default locale is used.
 *
 * @param string $locale The locale to return a display script for
 * @param string $in_locale Optional format locale to use to display
 *   the script name
 * @return string Display name of the script for the $locale in the
 *   format appropriate for $in_locale.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function locale_get_display_script($locale, $in_locale){}

/**
 * Returns an appropriately localized display name for variants of the
 * input locale
 *
 * Returns an appropriately localized display name for variants of the
 * input locale. If is NULL then the default locale is used.
 *
 * @param string $locale The locale to return a display variant for
 * @param string $in_locale Optional format locale to use to display
 *   the variant name
 * @return string Display name of the variant for the $locale in the
 *   format appropriate for $in_locale.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function locale_get_display_variant($locale, $in_locale){}

/**
 * Gets the keywords for the input locale
 *
 * @param string $locale The locale to extract the keywords from
 * @return array Associative array containing the keyword-value pairs
 *   for this locale
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function locale_get_keywords($locale){}

/**
 * Gets the primary language for the input locale
 *
 * @param string $locale The locale to extract the primary language
 *   code from
 * @return string The language code associated with the language or
 *   NULL in case of error.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function locale_get_primary_language($locale){}

/**
 * Gets the region for the input locale
 *
 * @param string $locale The locale to extract the region code from
 * @return string The region subtag for the locale or NULL if not
 *   present
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function locale_get_region($locale){}

/**
 * Gets the script for the input locale
 *
 * @param string $locale The locale to extract the script code from
 * @return string The script subtag for the locale or NULL if not
 *   present
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function locale_get_script($locale){}

/**
 * Searches the language tag list for the best match to the language
 *
 * Searches the items in {@link langtag} for the best match to the
 * language range specified in {@link locale} according to RFC 4647's
 * lookup algorithm.
 *
 * @param array $langtag An array containing a list of language tags to
 *   compare to {@link locale}. Maximum 100 items allowed.
 * @param string $locale The locale to use as the language range when
 *   matching.
 * @param bool $canonicalize If true, the arguments will be converted
 *   to canonical form before matching.
 * @param string $default The locale to use if no match is found.
 * @return string The closest matching language tag or default value.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function locale_lookup($langtag, $locale, $canonicalize, $default){}

/**
 * Returns a key-value array of locale ID subtag elements
 *
 * @param string $locale The locale to extract the subtag array from.
 *   Note: The 'variant' and 'private' subtags can take maximum 15 values
 *   whereas 'extlang' can take maximum 3 values.
 * @return array Returns an array containing a list of key-value pairs,
 *   where the keys identify the particular locale ID subtags, and the
 *   values are the associated subtag values. The array will be ordered
 *   as the locale id subtags e.g. in the locale id if variants are
 *   '-varX-varY-varZ' then the returned array will have variant0=>varX ,
 *   variant1=>varY , variant2=>varZ
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function locale_parse($locale){}

/**
 * Sets the default runtime locale
 *
 * Sets the default runtime locale to $locale. This changes the value of
 * INTL global 'default_locale' locale identifier. UAX #35 extensions are
 * accepted.
 *
 * @param string $locale Is a BCP 47 compliant language tag.
 * @return bool
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function locale_set_default($locale){}

/**
 * Get the local time
 *
 * The {@link localtime} function returns an array identical to that of
 * the structure returned by the C function call.
 *
 * @param int $timestamp If set to FALSE or not supplied then the array
 *   is returned as a regular, numerically indexed array. If the argument
 *   is set to TRUE then {@link localtime} returns an associative array
 *   containing all the different elements of the structure returned by
 *   the C function call to localtime. The names of the different keys of
 *   the associative array are as follows:
 *   
 *   "tm_sec" - seconds, 0 to 59 "tm_min" - minutes, 0 to 59 "tm_hour" -
 *   hours, 0 to 23 "tm_mday" - day of the month, 1 to 31 "tm_mon" -
 *   month of the year, 0 (Jan) to 11 (Dec) "tm_year" - years since 1900
 *   "tm_wday" - day of the week, 0 (Sun) to 6 (Sat) "tm_yday" - day of
 *   the year, 0 to 365 "tm_isdst" - is daylight savings time in effect?
 *   Positive if yes, 0 if not, negative if unknown.
 * @param bool $is_associative
 * @return array
 * @since PHP 4, PHP 5, PHP 7
 **/
function localtime($timestamp, $is_associative){}

/**
 * Natural logarithm
 *
 * If the optional {@link base} parameter is specified, {@link log}
 * returns logbase {@link arg}, otherwise {@link log} returns the natural
 * logarithm of {@link arg}.
 *
 * @param float $arg The value to calculate the logarithm for
 * @param float $base The optional logarithmic base to use (defaults to
 *   'e' and so to the natural logarithm).
 * @return float The logarithm of {@link arg} to {@link base}, if
 *   given, or the natural logarithm.
 * @since PHP 4, PHP 5, PHP 7
 **/
function log($arg, $base){}

/**
 * Returns log(1 + number), computed in a way that is accurate even when
 * the value of number is close to zero
 *
 * {@link log1p} returns log(1 + {@link number}) computed in a way that
 * is accurate even when the value of {@link number} is close to zero.
 * {@link log} might only return log(1) in this case due to lack of
 * precision.
 *
 * @param float $number The argument to process
 * @return float log(1 + {@link number})
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function log1p($number){}

/**
 * Base-10 logarithm
 *
 * Returns the base-10 logarithm of {@link arg}.
 *
 * @param float $arg The argument to process
 * @return float The base-10 logarithm of {@link arg}
 * @since PHP 4, PHP 5, PHP 7
 **/
function log10($arg){}

/**
 * Callback When Deleting Documents
 *
 * A callable function, used by the log_cmd_delete context option, when
 * deleteing a document
 *
 * @param array $server key value limit integer, 1 or 0. If 0, delete
 *   all matching documents. q Array, the search criteria
 * @param array $writeOptions
 * @param array $deleteOptions
 * @param array $protocolOptions
 * @since PECL mongo >= 1.5.0
 **/
function log_cmd_delete($server, $writeOptions, $deleteOptions, $protocolOptions){}

/**
 * Callback When Inserting Documents
 *
 * A callable function, used by the log_cmd_insert context option, when
 * inserting a document
 *
 * @param array $server The document that has been prepared to be
 *   inserted
 * @param array $document
 * @param array $writeOptions
 * @param array $protocolOptions
 * @since PECL mongo >= 1.5.0
 **/
function log_cmd_insert($server, $document, $writeOptions, $protocolOptions){}

/**
 * Callback When Updating Documents
 *
 * A callable function, used by the log_cmd_update context option, when
 * updateing a document
 *
 * @param array $server key value multi Boolean, true if this update is
 *   allowed to update all matched criteria upsert Boolean, true if the
 *   document should be created if criteria does not match q Array, the
 *   search criteria u Array, the new object/modifications
 * @param array $writeOptions
 * @param array $updateOptions
 * @param array $protocolOptions
 * @since PECL mongo >= 1.5.0
 **/
function log_cmd_update($server, $writeOptions, $updateOptions, $protocolOptions){}

/**
 * Callback When Retrieving Next Cursor Batch
 *
 * A callable function, used by the log_getmore context option, when
 * executing a GET_MORE operation.
 *
 * @param array $server key value request_id integer, the driver
 *   request identifier cursor_id integer, the cursor identifier being
 *   used to fetch more data batch_size integer, maximum number of
 *   documents being requested
 * @param array $info
 * @since PECL mongo >= 1.5.0
 **/
function log_getmore($server, $info){}

/**
 * Callback When Executing KILLCURSOR operations
 *
 * A callable function, used by the log_killcursor context option, when
 * reading a killcursor from MongoDB.
 *
 * @param array $server key value cursor_id integer, the cursor
 *   identifier to kill
 * @param array $info
 * @since PECL mongo >= 1.5.0
 **/
function log_killcursor($server, $info){}

/**
 * Callback When Reading the MongoDB reply
 *
 * A callable function, used by the log_reply context option, when
 * reading a reply from MongoDB.
 *
 * @param array $server key value length integer, bytes, message reply
 *   length request_id integer, the server request identifier response_id
 *   integer, the driver request identifier this message is a response of
 *   opcode integer, the opcode id
 * @param array $messageHeaders key value flags integer, bitmask of
 *   protocol flags cursor_id integer, ID of the cursor created on the
 *   server (0 if none created, or its been exhausted) start The starting
 *   offset of this cursor returned integer, how many documents are
 *   returned in this trip
 * @param array $operationHeaders
 * @since PECL mongo >= 1.5.0
 **/
function log_reply($server, $messageHeaders, $operationHeaders){}

/**
 * Callback When Writing Batches
 *
 * A callable function, used by the log_write_batch context option, when
 * executing a batch operation.
 *
 * @param array $server Array, the actual batch operation.
 * @param array $writeOptions
 * @param array $batch
 * @param array $protocolOptions
 * @since PECL mongo >= 1.5.0
 **/
function log_write_batch($server, $writeOptions, $batch, $protocolOptions){}

/**
 * Converts an long integer address into a string in (IPv4) Internet
 * standard dotted format
 *
 * The function {@link long2ip} generates an Internet address in dotted
 * format (i.e.: aaa.bbb.ccc.ddd) from the long integer representation.
 *
 * @param int $proper_address A proper address representation in long
 *   integer.
 * @return string Returns the Internet IP address as a string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function long2ip($proper_address){}

/**
 * Gives information about a file or symbolic link
 *
 * Gathers the statistics of the file or symbolic link named by {@link
 * filename}.
 *
 * @param string $filename Path to a file or a symbolic link.
 * @return array See the manual page for {@link stat} for information
 *   on the structure of the array that {@link lstat} returns. This
 *   function is identical to the {@link stat} function except that if
 *   the {@link filename} parameter is a symbolic link, the status of the
 *   symbolic link is returned, not the status of the file pointed to by
 *   the symbolic link.
 * @since PHP 4, PHP 5, PHP 7
 **/
function lstat($filename){}

/**
 * Strip whitespace (or other characters) from the beginning of a string
 *
 * @param string $str The input string.
 * @param string $character_mask You can also specify the characters
 *   you want to strip, by means of the {@link character_mask} parameter.
 *   Simply list all characters that you want to be stripped. With .. you
 *   can specify a range of characters.
 * @return string This function returns a string with whitespace
 *   stripped from the beginning of {@link str}. Without the second
 *   parameter, {@link ltrim} will strip these characters: " " (ASCII 32
 *   (0x20)), an ordinary space. "\t" (ASCII 9 (0x09)), a tab. "\n"
 *   (ASCII 10 (0x0A)), a new line (line feed). "\r" (ASCII 13 (0x0D)), a
 *   carriage return. "\0" (ASCII 0 (0x00)), the NUL-byte. "\x0B" (ASCII
 *   11 (0x0B)), a vertical tab.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ltrim($str, $character_mask){}

/**
 * LZF compression
 *
 * {@link lzf_compress} compresses the given {@link data} string using
 * LZF encoding.
 *
 * @param string $data The string to compress.
 * @return string Returns the compressed data or FALSE if an error
 *   occurred.
 * @since PECL lzf >= 0.1.0
 **/
function lzf_compress($data){}

/**
 * LZF decompression
 *
 * {@link lzf_compress} decompresses the given {@link data} string
 * containing lzf encoded data.
 *
 * @param string $data The compressed string.
 * @return string Returns the decompressed data or FALSE if an error
 *   occurred.
 * @since PECL lzf >= 0.1.0
 **/
function lzf_decompress($data){}

/**
 * Determines what LZF extension was optimized for
 *
 * Determines what was LZF extension optimized for during compilation.
 *
 * @return int Returns 1 if LZF was optimized for speed, 0 for
 *   compression.
 * @since PECL lzf >= 1.0.0
 **/
function lzf_optimized_for(){}

/**
 * Sets the current active configuration setting of magic_quotes_runtime
 *
 * Set the current active configuration setting of magic_quotes_runtime.
 *
 * @param bool $new_setting FALSE for off, TRUE for on.
 * @return bool
 * @since PHP 4, PHP 5
 **/
function magic_quotes_runtime($new_setting){}

/**
 * Send mail
 *
 * Sends an email.
 *
 * @param string $to Receiver, or receivers of the mail. The formatting
 *   of this string must comply with RFC 2822. Some examples are:
 *   user@example.com user@example.com, anotheruser@example.com User
 *   <user@example.com> User <user@example.com>, Another User
 *   <anotheruser@example.com>
 * @param string $subject Subject of the email to be sent.
 * @param string $message Message to be sent. Each line should be
 *   separated with a CRLF (\r\n). Lines should not be larger than 70
 *   characters.
 * @param mixed $additional_headers String or array to be inserted at
 *   the end of the email header. This is typically used to add extra
 *   headers (From, Cc, and Bcc). Multiple extra headers should be
 *   separated with a CRLF (\r\n). If outside data are used to compose
 *   this header, the data should be sanitized so that no unwanted
 *   headers could be injected. If an array is passed, its keys are the
 *   header names and its values are the respective header values.
 * @param string $additional_parameters The {@link
 *   additional_parameters} parameter can be used to pass additional
 *   flags as command line options to the program configured to be used
 *   when sending mail, as defined by the sendmail_path configuration
 *   setting. For example, this can be used to set the envelope sender
 *   address when using sendmail with the -f sendmail option. This
 *   parameter is escaped by {@link escapeshellcmd} internally to prevent
 *   command execution. {@link escapeshellcmd} prevents command
 *   execution, but allows to add additional parameters. For security
 *   reasons, it is recommended for the user to sanitize this parameter
 *   to avoid adding unwanted parameters to the shell command. Since
 *   {@link escapeshellcmd} is applied automatically, some characters
 *   that are allowed as email addresses by internet RFCs cannot be used.
 *   {@link mail} can not allow such characters, so in programs where the
 *   use of such characters is required, alternative means of sending
 *   emails (such as using a framework or a library) is recommended. The
 *   user that the webserver runs as should be added as a trusted user to
 *   the sendmail configuration to prevent a 'X-Warning' header from
 *   being added to the message when the envelope sender (-f) is set
 *   using this method. For sendmail users, this file is
 *   /etc/mail/trusted-users.
 * @return bool Returns TRUE if the mail was successfully accepted for
 *   delivery, FALSE otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function mail($to, $subject, $message, $additional_headers, $additional_parameters){}

/**
 * Gets the best way of encoding
 *
 * Figures out the best way of encoding the content read from the given
 * file pointer.
 *
 * @param resource $fp A valid file pointer, which must be seek-able.
 * @return string Returns one of the character encodings supported by
 *   the mbstring module.
 * @since PECL mailparse >= 0.9.0
 **/
function mailparse_determine_best_xfer_encoding($fp){}

/**
 * Create a mime mail resource
 *
 * Create a MIME mail resource.
 *
 * @return resource Returns a handle that can be used to parse a
 *   message.
 * @since PECL mailparse >= 0.9.0
 **/
function mailparse_msg_create(){}

/**
 * Extracts/decodes a message section
 *
 * @param resource $mimemail A valid MIME resource.
 * @param string $msgbody
 * @param callable $callbackfunc
 * @return void
 * @since PECL mailparse >= 0.9.0
 **/
function mailparse_msg_extract_part($mimemail, $msgbody, $callbackfunc){}

/**
 * Extracts/decodes a message section
 *
 * Extracts/decodes a message section from the supplied filename.
 *
 * The contents of the section will be decoded according to their
 * transfer encoding - base64, quoted-printable and uuencoded text are
 * supported.
 *
 * @param resource $mimemail A valid MIME resource, created with {@link
 *   mailparse_msg_create}.
 * @param mixed $filename Can be a file name or a valid stream
 *   resource.
 * @param callable $callbackfunc If set, this must be either a valid
 *   callback that will be passed the extracted section, or NULL to make
 *   this function return the extracted section. If not specified, the
 *   contents will be sent to "stdout".
 * @return string If {@link callbackfunc} is not NULL returns TRUE on
 *   success.
 * @since PECL mailparse >= 0.9.0
 **/
function mailparse_msg_extract_part_file($mimemail, $filename, $callbackfunc){}

/**
 * Extracts a message section including headers without decoding the
 * transfer encoding
 *
 * @param resource $mimemail A valid MIME resource.
 * @param string $filename
 * @param callable $callbackfunc
 * @return string
 * @since PECL mailparse >= 0.9.0
 **/
function mailparse_msg_extract_whole_part_file($mimemail, $filename, $callbackfunc){}

/**
 * Frees a MIME resource
 *
 * Frees a MIME resource.
 *
 * @param resource $mimemail A valid MIME resource allocated by {@link
 *   mailparse_msg_create} or {@link mailparse_msg_parse_file}.
 * @return bool
 * @since PECL mailparse >= 0.9.0
 **/
function mailparse_msg_free($mimemail){}

/**
 * Returns a handle on a given section in a mimemessage
 *
 * @param resource $mimemail A valid MIME resource.
 * @param string $mimesection
 * @return resource
 * @since PECL mailparse >= 0.9.0
 **/
function mailparse_msg_get_part($mimemail, $mimesection){}

/**
 * Returns an associative array of info about the message
 *
 * @param resource $mimemail A valid MIME resource.
 * @return array
 * @since PECL mailparse >= 0.9.0
 **/
function mailparse_msg_get_part_data($mimemail){}

/**
 * Returns an array of mime section names in the supplied message
 *
 * @param resource $mimemail A valid MIME resource.
 * @return array
 * @since PECL mailparse >= 0.9.0
 **/
function mailparse_msg_get_structure($mimemail){}

/**
 * Incrementally parse data into buffer
 *
 * Incrementally parse data into the supplied mime mail resource.
 *
 * This function allow you to stream portions of a file at a time, rather
 * than read and parse the whole thing.
 *
 * @param resource $mimemail A valid MIME resource.
 * @param string $data
 * @return bool
 * @since PECL mailparse >= 0.9.0
 **/
function mailparse_msg_parse($mimemail, $data){}

/**
 * Parses a file
 *
 * Parses a file. This is the optimal way of parsing a mail file that you
 * have on disk.
 *
 * @param string $filename Path to the file holding the message. The
 *   file is opened and streamed through the parser.
 * @return resource Returns a MIME resource representing the structure,
 *   or FALSE on error.
 * @since PECL mailparse >= 0.9.0
 **/
function mailparse_msg_parse_file($filename){}

/**
 * Parse RFC 822 compliant addresses
 *
 * Parses a RFC 822 compliant recipient list, such as that found in the
 * To: header.
 *
 * @param string $addresses A string containing addresses, like in: Wez
 *   Furlong <wez@example.com>, doe@example.com
 * @return array Returns an array of associative arrays with the
 *   following keys for each recipient: display The recipient name, for
 *   display purpose. If this part is not set for a recipient, this key
 *   will hold the same value as address. address The email address
 *   is_group TRUE if the recipient is a newsgroup, FALSE otherwise.
 * @since PECL mailparse >= 0.9.0
 **/
function mailparse_rfc822_parse_addresses($addresses){}

/**
 * Streams data from source file pointer, apply encoding and write to
 * destfp
 *
 * Streams data from the source file pointer, apply {@link encoding} and
 * write to the destination file pointer.
 *
 * @param resource $sourcefp A valid file handle. The file is streamed
 *   through the parser.
 * @param resource $destfp The destination file handle in which the
 *   encoded data will be written.
 * @param string $encoding One of the character encodings supported by
 *   the mbstring module.
 * @return bool
 * @since PECL mailparse >= 0.9.0
 **/
function mailparse_stream_encode($sourcefp, $destfp, $encoding){}

/**
 * Scans the data from fp and extract each embedded uuencoded file
 *
 * Scans the data from the given file pointer and extract each embedded
 * uuencoded file into a temporary file.
 *
 * @param resource $fp A valid file pointer.
 * @return array Returns an array of associative arrays listing
 *   filename information. filename Path to the temporary file name
 *   created origfilename The original filename, for uuencoded parts only
 *   The first filename entry is the message body. The next entries are
 *   the decoded uuencoded files.
 * @since PECL mailparse >= 0.9.0
 **/
function mailparse_uudecode_all($fp){}

/**
 * Find highest value
 *
 * If the first and only parameter is an array, {@link max} returns the
 * highest value in that array. If at least two parameters are provided,
 * {@link max} returns the biggest of these values.
 *
 * @param array $values An array containing the values.
 * @return mixed {@link max} returns the parameter value considered
 *   "highest" according to standard comparisons. If multiple values of
 *   different types evaluate as equal (e.g. 0 and 'abc') the first
 *   provided to the function will be returned.
 * @since PHP 4, PHP 5, PHP 7
 **/
function max($values){}

/**
 * Gets the number of affected rows in a previous MaxDB operation
 *
 * {@link maxdb_affected_rows} returns the number of rows affected by the
 * last INSERT, UPDATE, or DELETE query associated with the provided
 * {@link link} parameter. If this number cannot be determined, this
 * function will return -1.
 *
 * The {@link maxdb_affected_rows} function only works with queries which
 * modify a table. In order to return the number of rows from a SELECT
 * query, use the {@link maxdb_num_rows} function instead.
 *
 * @param resource $link
 * @return int An integer greater than zero indicates the number of
 *   rows affected or retrieved. Zero indicates that no records where
 *   updated for an UPDATE statement, no rows matched the WHERE clause in
 *   the query or that no query has yet been executed. -1 indicates that
 *   the number of rows affected can not be determined.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_affected_rows($link){}

/**
 * Turns on or off auto-commiting database modifications
 *
 * {@link maxdb_autocommit} is used to turn on or off auto-commit mode on
 * queries for the database connection represented by the {@link link}
 * resource.
 *
 * @param resource $link
 * @param bool $mode
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_autocommit($link, $mode){}

/**
 * Binds variables to a prepared statement as parameters
 *
 * (extended syntax):
 *
 * (extended syntax):
 *
 * {@link maxdb_bind_param} is used to bind variables for the parameter
 * markers in the SQL statement that was passed to {@link maxdb_prepare}.
 * The string {@link types} contains one or more characters which specify
 * the types for the corresponding bind variables.
 *
 * The extended syntax of {@link maxdb_bind_param} allows to give the
 * parameters as an array instead of a variable list of PHP variables to
 * the function. If the array variable has not been used before calling
 * {@link maxdb_bind_param}, it has to be initialized as an emtpy array.
 * See the examples how to use {@link maxdb_bind_param} with extended
 * syntax.
 *
 * Variables for SELECT INTO SQL statements can also be bound using
 * {@link maxdb_bind_param}. Parameters for database procedures can be
 * bound using {@link maxdb_bind_param}. See the examples how to use
 * {@link maxdb_bind_param} in this cases.
 *
 * If a variable bound as INTO variable to an SQL statement was used
 * before, the content of this variable is overwritten by the data of the
 * SELECT INTO statement. A reference to this variable will be invalid
 * after a call to {@link maxdb_bind_param}.
 *
 * For INOUT parameters of database procedures the content of the bound
 * INOUT variable is overwritten by the output value of the database
 * procedure. A reference to this variable will be invalid after a call
 * to {@link maxdb_bind_param}.
 *
 * Type specification chars Character Description i corresponding
 * variable has type integer d corresponding variable has type double s
 * corresponding variable has type string b corresponding variable is a
 * blob and will be sent in packages
 *
 * @param resource $stmt
 * @param string $types
 * @param mixed $var1
 * @return bool
 * @since PECL maxdb 1.0
 **/
function maxdb_bind_param($stmt, $types, &$var1){}

/**
 * Binds variables to a prepared statement for result storage
 *
 * {@link maxdb_bind_result} is used to associate (bind) columns in the
 * result set to variables. When {@link maxdb_stmt_fetch} is called to
 * fetch data, the MaxDB client/server protocol places the data for the
 * bound columns into the specified variables {@link var1, ...}.
 *
 * @param resource $stmt
 * @param mixed $var1
 * @return bool
 * @since PECL maxdb 1.0
 **/
function maxdb_bind_result($stmt, &$var1){}

/**
 * Changes the user of the specified database connection
 *
 * {@link maxdb_change_user} is used to change the user of the specified
 * database connection as given by the {@link link} parameter and to set
 * the current database to that specified by the {@link database}
 * parameter.
 *
 * In order to successfully change users a valid {@link username} and
 * {@link password} parameters must be provided and that user must have
 * sufficient permissions to access the desired database. If for any
 * reason authorization fails, the current user authentication will
 * remain.
 *
 * @param resource $link
 * @param string $user
 * @param string $password
 * @param string $database
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_change_user($link, $user, $password, $database){}

/**
 * Returns the default character set for the database connection
 *
 * Returns the current character set for the database connection
 * specified by the {@link link} parameter.
 *
 * @param resource $link
 * @return string The default character set for the current connection,
 *   either ascii or unicode.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_character_set_name($link){}

/**
 * Returns the default character set for the database connection
 *
 * Returns the current character set for the database connection
 * specified by the {@link link} parameter.
 *
 * @param resource $link
 * @return string The default character set for the current connection,
 *   either ascii or unicode.
 * @since PECL maxdb 1.0
 **/
function maxdb_client_encoding($link){}

/**
 * Closes a previously opened database connection
 *
 * The {@link maxdb_close} function closes a previously opened database
 * connection specified by the {@link link} parameter.
 *
 * @param resource $link
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_close($link){}

/**
 * Ends a sequence of
 *
 * This function has to be called after a sequence of {@link
 * maxdb_stmt_send_long_data}, that was started after {@link
 * maxdb_execute}.
 *
 * {@link param_nr} indicates which parameter to associate the end of
 * data with. Parameters are numbered beginning with 0.
 *
 * @param resource $stmt
 * @param int $param_nr
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_close_long_data($stmt, $param_nr){}

/**
 * Commits the current transaction
 *
 * Commits the current transaction for the database connection specified
 * by the {@link link} parameter.
 *
 * @param resource $link
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_commit($link){}

/**
 * Open a new connection to the MaxDB server
 *
 * The {@link maxdb_connect} function attempts to open a connection to
 * the MaxDB Server running on {@link host} which can be either a host
 * name or an IP address. Passing the string "localhost" to this
 * parameter, the local host is assumed. If successful, the {@link
 * maxdb_connect} will return an resource representing the connection to
 * the database.
 *
 * The {@link username} and {@link password} parameters specify the
 * username and password under which to connect to the MaxDB server. If
 * the password is not provided (the NULL value is passed), the MaxDB
 * server will attempt to authenticate the user against the {@link
 * maxdb.default_pw} in .
 *
 * The {@link dbname} parameter if provided will specify the default
 * database to be used when performing queries. If not provied, the entry
 * {@link maxdb.default_db} in is used.
 *
 * The {@link port} and {@link socket} parameters are ignored for the
 * MaxDB server.
 *
 * @param string $host
 * @param string $username
 * @param string $passwd
 * @param string $dbname
 * @param int $port
 * @param string $socket
 * @return resource Returns a resource which represents the connection
 *   to a MaxDB Server or FALSE if the connection failed.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_connect($host, $username, $passwd, $dbname, $port, $socket){}

/**
 * Returns the error code from last connect call
 *
 * The {@link maxdb_connect_errno} function will return the last error
 * code number for last call to {@link maxdb_connect}. If no errors have
 * occurred, this function will return zero.
 *
 * @return int An error code value for the last call to {@link
 *   maxdb_connect}, if it failed. zero means no error occurred.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_connect_errno(){}

/**
 * Returns a string description of the last connect error
 *
 * The {@link maxdb_connect_error} function is identical to the
 * corresponding {@link maxdb_connect_errno} function in every way,
 * except instead of returning an integer error code the {@link
 * maxdb_connect_error} function will return a string representation of
 * the last error to occur for the last {@link maxdb_connect} call. If no
 * error has occurred, this function will return an empty string.
 *
 * @return string A string that describes the error. An empty string if
 *   no error occurred.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_connect_error(){}

/**
 * Adjusts the result pointer to an arbitary row in the result
 *
 * The {@link maxdb_data_seek} function seeks to an arbitrary result
 * pointer specified by the {@link offset} in the result set represented
 * by {@link result}. The {@link offset} parameter must be between zero
 * and the total number of rows minus one (0..{@link maxdb_num_rows} -
 * 1).
 *
 * @param resource $result
 * @param int $offset
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_data_seek($result, $offset){}

/**
 * Performs debugging operations
 *
 * The {@link maxdb_debug} can be used to trace the SQLDBC communication.
 * The following strings can be used as a parameter to {@link
 * maxdb_debug}:
 *
 * @param string $debug
 * @return void {@link maxdb_debug} doesn't return any value.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_debug($debug){}

/**
 * Disable reads from master
 *
 * @param resource $link
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_disable_reads_from_master($link){}

/**
 * Disable RPL parse
 *
 * @param resource $link
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_disable_rpl_parse($link){}

/**
 * Dump debugging information into the log
 *
 * @param resource $link
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_dump_debug_info($link){}

/**
 * Open a connection to an embedded MaxDB server
 *
 * @param string $dbname
 * @return resource
 * @since PECL maxdb >= 1.0
 **/
function maxdb_embedded_connect($dbname){}

/**
 * Enable reads from master
 *
 * @param resource $link
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_enable_reads_from_master($link){}

/**
 * Enable RPL parse
 *
 * @param resource $link
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_enable_rpl_parse($link){}

/**
 * Returns the error code for the most recent function call
 *
 * The {@link maxdb_errno} function will return the last error code for
 * the most recent MaxDB function call that can succeed or fail with
 * respect to the database link defined by the {@link link} parameter. If
 * no errors have occurred, this function will return zero.
 *
 * @param resource $link
 * @return int An error code value for the last call, if it failed.
 *   zero means no error occurred.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_errno($link){}

/**
 * Returns a string description of the last error
 *
 * The {@link maxdb_error} function is identical to the corresponding
 * {@link maxdb_errno} function in every way, except instead of returning
 * an integer error code the {@link maxdb_error} function will return a
 * string representation of the last error to occur for the database
 * connection represented by the {@link link} parameter. If no error has
 * occurred, this function will return an empty string.
 *
 * @param resource $link
 * @return string A string that describes the error. An empty string if
 *   no error occurred.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_error($link){}

/**
 * Escapes special characters in a string for use in an SQL statement,
 * taking into account the current charset of the connection
 *
 * This function is used to create a legal SQL string that you can use in
 * an SQL statement. The string escapestr is encoded to an escaped SQL
 * string, taking into account the current character set of the
 * connection.
 *
 * Characters encoded are ', ".
 *
 * @param resource $link
 * @param string $escapestr
 * @return string Returns an escaped string.
 * @since PECL maxdb 1.0
 **/
function maxdb_escape_string($link, $escapestr){}

/**
 * Executes a prepared Query
 *
 * The {@link maxdb_execute} function executes a query that has been
 * previously prepared using the {@link maxdb_prepare} function
 * represented by the {@link stmt} resource. When executed any parameter
 * markers which exist will automatically be replaced with the appropiate
 * data.
 *
 * If the statement is UPDATE, DELETE, or INSERT, the total number of
 * affected rows can be determined by using the {@link
 * maxdb_stmt_affected_rows} function. Likewise, if the query yields a
 * result set the {@link maxdb_fetch} function is used.
 *
 * @param resource $stmt
 * @return bool
 * @since PECL maxdb 1.0
 **/
function maxdb_execute($stmt){}

/**
 * Fetch results from a prepared statement into the bound variables
 *
 * {@link maxdb_fetch} returns row data using the variables bound by
 * {@link maxdb_stmt_bind_result}.
 *
 * @param resource $stmt
 * @return bool
 * @since PECL maxdb 1.0
 **/
function maxdb_fetch($stmt){}

/**
 * Fetch a result row as an associative, a numeric array, or both
 *
 * Returns an array that corresponds to the fetched row or NULL if there
 * are no more rows for the resultset represented by the {@link result}
 * parameter.
 *
 * {@link maxdb_fetch_array} is an extended version of the {@link
 * maxdb_fetch_row} function. In addition to storing the data in the
 * numeric indices of the result array, the {@link maxdb_fetch_array}
 * function can also store the data in associative indices, using the
 * field names of the result set as keys.
 *
 * If two or more columns of the result have the same field names, the
 * last column will take precedence and overwrite the earlier data. In
 * order to access multiple columns with the same name, the numerically
 * indexed version of the row must be used.
 *
 * The optional second argument {@link resulttype} is a constant
 * indicating what type of array should be produced from the current row
 * data. The possible values for this parameter are the constants
 * MAXDB_ASSOC, MAXDB_ASSOC_UPPER, MAXDB_ASSOC_LOWER, MAXDB_NUM, or
 * MAXDB_BOTH. By default the {@link maxdb_fetch_array} function will
 * assume MAXDB_BOTH, which is a combination of MAXDB_NUM and MAXDB_ASSOC
 * for this parameter.
 *
 * By using the MAXDB_ASSOC constant this function will behave
 * identically to the {@link maxdb_fetch_assoc}, while MAXDB_NUM will
 * behave identically to the {@link maxdb_fetch_row} function. The final
 * option MAXDB_BOTH will create a single array with the attributes of
 * both.
 *
 * By using the MAXDB_ASSOC_UPPER constant, the behaviour of this
 * function is identical to the use of MAXDB_ASSOC except the array index
 * of a column is the fieldname in upper case.
 *
 * By using the MAXDB_ASSOC_LOWER constant, the behaviour of this
 * function is identical to the use of MAXDB_ASSOC except the array index
 * of a column is the fieldname in lower case.
 *
 * @param resource $result
 * @param int $resulttype
 * @return mixed Returns an array that corresponds to the fetched row
 *   or NULL if there are no more rows in resultset.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_fetch_array($result, $resulttype){}

/**
 * Fetch a result row as an associative array
 *
 * Returns an associative array that corresponds to the fetched row or
 * NULL if there are no more rows.
 *
 * The {@link maxdb_fetch_assoc} function is used to return an
 * associative array representing the next row in the result set for the
 * result represented by the {@link result} parameter, where each key in
 * the array represents the name of one of the result set's columns.
 *
 * If two or more columns of the result have the same field names, the
 * last column will take precedence. To access the other column(s) of the
 * same name, you either need to access the result with numeric indices
 * by using {@link maxdb_fetch_row} or add alias names.
 *
 * @param resource $result
 * @return array Returns an array that corresponds to the fetched row
 *   or NULL if there are no more rows in resultset.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_fetch_assoc($result){}

/**
 * Returns the next field in the result set
 *
 * The {@link maxdb_fetch_field} returns the definition of one column of
 * a result set as an resource. Call this function repeatedly to retrieve
 * information about all columns in the result set. {@link
 * maxdb_fetch_field} returns FALSE when no more fields are left.
 *
 * @param resource $result
 * @return mixed Returns an resource which contains field definition
 *   information or FALSE if no field information is available.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_fetch_field($result){}

/**
 * Returns an array of resources representing the fields in a result set
 *
 * This function serves an identical purpose to the {@link
 * maxdb_fetch_field} function with the single difference that, instead
 * of returning one resource at a time for each field, the columns are
 * returned as an array of resources.
 *
 * @param resource $result
 * @return mixed Returns an array of resources which contains field
 *   definition information or FALSE if no field information is
 *   available.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_fetch_fields($result){}

/**
 * Fetch meta-data for a single field
 *
 * {@link maxdb_fetch_field_direct} returns an resource which contains
 * field definition information from specified resultset. The value of
 * fieldnr must be in the range from 0 to number of fields - 1.
 *
 * @param resource $result
 * @param int $fieldnr
 * @return mixed Returns an resource which contains field definition
 *   information or FALSE if no field information for specified fieldnr
 *   is available.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_fetch_field_direct($result, $fieldnr){}

/**
 * Returns the lengths of the columns of the current row in the result
 * set
 *
 * The {@link maxdb_fetch_lengths} function returns an array containing
 * the lengths of every column of the current row within the result set
 * represented by the {@link result} parameter. If successful, a
 * numerically indexed array representing the lengths of each column is
 * returned.
 *
 * @param resource $result
 * @return array An array of integers representing the size of each
 *   column (not including any terminating null characters). FALSE if an
 *   error occurred.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_fetch_lengths($result){}

/**
 * Returns the current row of a result set as an object
 *
 * The {@link maxdb_fetch_object} will return the current row result set
 * as an object where the attributes of the object represent the names of
 * the fields found within the result set. If no more rows exist in the
 * current result set, NULL is returned.
 *
 * @param object $result
 * @return object Returns an object that corresponds to the fetched row
 *   or NULL if there are no more rows in resultset.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_fetch_object($result){}

/**
 * Get a result row as an enumerated array
 *
 * Returns an array that corresponds to the fetched row, or NULL if there
 * are no more rows.
 *
 * {@link maxdb_fetch_row} fetches one row of data from the result set
 * represented by {@link result} and returns it as an enumerated array,
 * where each column is stored in an array offset starting from 0 (zero).
 * Each subsequent call to the {@link maxdb_fetch_row} function will
 * return the next row within the result set, or FALSE if there are no
 * more rows.
 *
 * @param resource $result
 * @return mixed {@link maxdb_fetch_row} returns an array that
 *   corresponds to the fetched row or NULL if there are no more rows in
 *   result set.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_fetch_row($result){}

/**
 * Returns the number of columns for the most recent query
 *
 * Returns the number of columns for the most recent query on the
 * connection represented by the {@link link} parameter. This function
 * can be useful when using the {@link maxdb_store_result} function to
 * determine if the query should have produced a non-empty result set or
 * not without knowing the nature of the query.
 *
 * @param resource $link
 * @return int An integer representing the number of fields in a result
 *   set.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_field_count($link){}

/**
 * Set result pointer to a specified field offset
 *
 * Sets the field cursor to the given offset. The next call to {@link
 * maxdb_fetch_field} will retrieve the field definition of the column
 * associated with that offset.
 *
 * @param resource $result
 * @param int $fieldnr
 * @return bool {@link maxdb_field_seek} returns previuos value of
 *   field cursor.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_field_seek($result, $fieldnr){}

/**
 * Get current field offset of a result pointer
 *
 * Returns the position of the field cursor used for the last {@link
 * maxdb_fetch_field} call. This value can be used as an argument to
 * {@link maxdb_field_seek}.
 *
 * @param resource $result
 * @return int Returns current offset of field cursor.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_field_tell($result){}

/**
 * Frees the memory associated with a result
 *
 * The {@link maxdb_free_result} function frees the memory associated
 * with the result represented by the {@link result} parameter, which was
 * allocated by {@link maxdb_query}, {@link maxdb_store_result} or {@link
 * maxdb_use_result}.
 *
 * @param resource $result
 * @return void This function doesn't return any value.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_free_result($result){}

/**
 * Returns the MaxDB client version as a string
 *
 * The {@link maxdb_get_client_info} function is used to return a string
 * representing the client version being used in the MaxDB extension.
 *
 * @return string A string that represents the MaxDB client library
 *   version
 * @since PECL maxdb >= 1.0
 **/
function maxdb_get_client_info(){}

/**
 * Get MaxDB client info
 *
 * Returns client version number as an integer.
 *
 * @return int A number that represents the MaxDB client library
 *   version in format: main_version*10000 + minor_version *100 +
 *   sub_version. For example, 7.5.0 is returned as 70500.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_get_client_version(){}

/**
 * Returns a string representing the type of connection used
 *
 * The {@link maxdb_get_host_info} function returns a string describing
 * the connection represented by the {@link link} parameter is using.
 *
 * @param resource $link
 * @return string A character string representing the server hostname
 *   and the connection type.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_get_host_info($link){}

/**
 * Returns result set metadata from a prepared statement
 *
 * If a statement passed to {@link maxdb_prepare} is one that produces a
 * result set, {@link maxdb_get_metadata} returns the result resource
 * that can be used to process the meta information such as total number
 * of fields and individual field information.
 *
 * The result set structure should be freed when you are done with it,
 * which you can do by passing it to {@link maxdb_free_result}
 *
 * @param resource $stmt
 * @return resource {@link maxdb_stmt_result_metadata} returns a result
 *   resource or FALSE if an error occurred.
 * @since PECL maxdb 1.0
 **/
function maxdb_get_metadata($stmt){}

/**
 * Returns the version of the MaxDB protocol used
 *
 * Returns an integer representing the MaxDB protocol version used by the
 * connection represented by the {@link link} parameter.
 *
 * @param resource $link
 * @return int Returns an integer representing the protocol version
 *   (constant 10).
 * @since PECL maxdb >= 1.0
 **/
function maxdb_get_proto_info($link){}

/**
 * Returns the version of the MaxDB server
 *
 * Returns a string representing the version of the MaxDB server that the
 * MaxDB extension is connected to (represented by the {@link link}
 * parameter).
 *
 * @param resource $link
 * @return string A character string representing the server version.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_get_server_info($link){}

/**
 * Returns the version of the MaxDB server as an integer
 *
 * The {@link maxdb_get_server_version} function returns the version of
 * the server connected to (represented by the {@link link} parameter) as
 * an integer.
 *
 * The form of this version number is main_version * 10000 +
 * minor_version * 100 + sub_version (i.e. version 7.5.0 is 70500).
 *
 * @param resource $link
 * @return int An integer representing the server version.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_get_server_version($link){}

/**
 * Retrieves information about the most recently executed query
 *
 * The {@link maxdb_info} function returns a string providing information
 * about the last query executed. The nature of this string is provided
 * below:
 *
 * Possible maxdb_info return values Query type Example result string
 * INSERT INTO...SELECT... Records: 100 Duplicates: 0 Warnings: 0 INSERT
 * INTO...VALUES (...),(...),(...) Records: 3 Duplicates: 0 Warnings: 0
 * LOAD DATA INFILE ... Records: 1 Deleted: 0 Skipped: 0 Warnings: 0
 * ALTER TABLE ... Records: 3 Duplicates: 0 Warnings: 0 UPDATE ... Rows
 * matched: 40 Changed: 40 Warnings: 0
 *
 * @param resource $link
 * @return string A character string representing additional
 *   information about the most recently executed query.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_info($link){}

/**
 * Initializes MaxDB and returns an resource for use with
 * maxdb_real_connect
 *
 * Allocates or initializes a MaxDB resource suitable for {@link
 * maxdb_options} and {@link maxdb_real_connect}.
 *
 * @return resource Returns an resource.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_init(){}

/**
 * Returns the auto generated id used in the last query
 *
 * The {@link maxdb_insert_id} function returns the ID generated by a
 * query on a table with a column having the DEFAULT SERIAL attribute. If
 * the last query wasn't an INSERT or UPDATE statement or if the modified
 * table does not have a column with the DEFAULT SERIAL attribute, this
 * function will return zero.
 *
 * @param resource $link
 * @return mixed The value of the DEFAULT SERIAL field that was updated
 *   by the previous query. Returns zero if there was no previous query
 *   on the connection or if the query did not update an DEFAULT_SERIAL
 *   value.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_insert_id($link){}

/**
 * Disconnects from a MaxDB server
 *
 * This function is used to disconnect from a MaxDB server specified by
 * the {@link processid} parameter.
 *
 * @param resource $link
 * @param int $processid
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_kill($link, $processid){}

/**
 * Enforce execution of a query on the master in a master/slave setup
 *
 * @param resource $link
 * @param string $query
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_master_query($link, $query){}

/**
 * Check if there any more query results from a multi query
 *
 * {@link maxdb_more_results} indicates if one or more result sets are
 * available from a previous call to {@link maxdb_multi_query}.
 *
 * @param resource $link
 * @return bool Always FALSE.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_more_results($link){}

/**
 * Performs a query on the database
 *
 * The {@link maxdb_multi_query} works like the function {@link
 * maxdb_query}. Multiple queries are not yet supported.
 *
 * @param resource $link
 * @param string $query
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_multi_query($link, $query){}

/**
 * Prepare next result from multi_query
 *
 * Since multiple queries are not yet supported, {@link
 * maxdb_next_result} returns always FALSE.
 *
 * @param resource $link
 * @return bool Returns FALSE.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_next_result($link){}

/**
 * Get the number of fields in a result
 *
 * {@link maxdb_num_fields} returns the number of fields from specified
 * result set.
 *
 * @param resource $result
 * @return int The number of fields from a result set
 * @since PECL maxdb >= 1.0
 **/
function maxdb_num_fields($result){}

/**
 * Gets the number of rows in a result
 *
 * Returns the number of rows in the result set.
 *
 * The use of {@link maxdb_num_rows} depends on whether you use buffered
 * or unbuffered result sets. In case you use unbuffered resultsets
 * {@link maxdb_num_rows} will not correct the correct number of rows
 * until all the rows in the result have been retrieved.
 *
 * @param resource $result
 * @return int Returns number of rows in the result set.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_num_rows($result){}

/**
 * Set options
 *
 * {@link maxdb_options} can be used to set extra connect options and
 * affect behavior for a connection.
 *
 * This function may be called multiple times to set several options.
 *
 * {@link maxdb_options} should be called after {@link maxdb_init} and
 * before {@link maxdb_real_connect}.
 *
 * The parameter {@link option} is the option that you want to set, the
 * {@link value} is the value for the option. For detailed description of
 * the options see The parameter {@link option} can be one of the
 * following values: Valid options Name Description MAXDB_COMPNAME The
 * component name used to initialise the SQLDBC runtime environment.
 * MAXDB_APPLICATION The application to be connected to the database.
 * MAXDB_APPVERSION The version of the application. MAXDB_SQLMODE The SQL
 * mode. MAXDB_UNICODE TRUE, if the connection is an unicode (UCS2)
 * client or FALSE, if not. MAXDB_TIMEOUT The maximum allowed time of
 * inactivity after which the connection to the database is closed by the
 * system. MAXDB_ISOLATIONLEVEL Specifies whether and how shared locks
 * and exclusive locks are implicitly requested or released.
 * MAXDB_PACKETCOUNT The number of different request packets used for the
 * connection. MAXDB_STATEMENTCACHESIZE The number of prepared statements
 * to be cached for the connection for re-use. MAXDB_CURSORPREFIX The
 * prefix to use for result tables that are automatically named.
 *
 * @param resource $link
 * @param int $option
 * @param mixed $value
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_options($link, $option, $value){}

/**
 * Returns the number of parameter for the given statement
 *
 * {@link maxdb_param_count} returns the number of parameter markers
 * present in the prepared statement.
 *
 * @param resource $stmt
 * @return int returns an integer representing the number of
 *   parameters.
 * @since PECL maxdb 1.0
 **/
function maxdb_param_count($stmt){}

/**
 * Pings a server connection, or tries to reconnect if the connection has
 * gone down
 *
 * Checks whether the connection to the server is working. If it has gone
 * down, and global option maxdb.reconnect is enabled an automatic
 * reconnection is attempted.
 *
 * This function can be used by clients that remain idle for a long
 * while, to check whether the server has closed the connection and
 * reconnect if necessary.
 *
 * @param resource $link
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_ping($link){}

/**
 * Prepare an SQL statement for execution
 *
 * {@link maxdb_prepare} prepares the SQL query pointed to by the
 * null-terminated string query, and returns a statement handle to be
 * used for further operations on the statement. The query must consist
 * of a single SQL statement.
 *
 * The parameter {@link query} can include one or more parameter markers
 * in the SQL statement by embedding question mark (?) characters at the
 * appropriate positions.
 *
 * The parameter markers must be bound to application variables using
 * {@link maxdb_stmt_bind_param} and/or {@link maxdb_stmt_bind_result}
 * before executing the statement or fetching rows.
 *
 * @param resource $link
 * @param string $query
 * @return resource {@link maxdb_prepare} returns a statement resource
 *   or FALSE if an error occurred.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_prepare($link, $query){}

/**
 * Performs a query on the database
 *
 * The {@link maxdb_query} function is used to simplify the act of
 * performing a query against the database represented by the {@link
 * link} parameter.
 *
 * @param resource $link
 * @param string $query
 * @param int $resultmode
 * @return mixed For SELECT, SHOW, DESCRIBE or EXPLAIN {@link
 *   maxdb_query} will return a result resource.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_query($link, $query, $resultmode){}

/**
 * Opens a connection to a MaxDB server
 *
 * {@link maxdb_real_connect} attempts to establish a connection to a
 * MaxDB database engine running on {@link hostname}.
 *
 * This function differs from {@link maxdb_connect}:
 *
 * @param resource $link
 * @param string $hostname
 * @param string $username
 * @param string $passwd
 * @param string $dbname
 * @param int $port
 * @param string $socket
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_real_connect($link, $hostname, $username, $passwd, $dbname, $port, $socket){}

/**
 * Escapes special characters in a string for use in an SQL statement,
 * taking into account the current charset of the connection
 *
 * This function is used to create a legal SQL string that you can use in
 * an SQL statement. The string escapestr is encoded to an escaped SQL
 * string, taking into account the current character set of the
 * connection.
 *
 * Characters encoded are ', ".
 *
 * @param resource $link
 * @param string $escapestr
 * @return string Returns an escaped string.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_real_escape_string($link, $escapestr){}

/**
 * Execute an SQL query
 *
 * The {@link maxdb_real_query} is functionally identical with the {@link
 * maxdb_query}.
 *
 * @param resource $link
 * @param string $query
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_real_query($link, $query){}

/**
 * Enables or disables internal report functions
 *
 * @param int $flags One of the MAXDB_REPORT_XXX constants.
 * @return bool
 * @since PECL maxdb 1.0
 **/
function maxdb_report($flags){}

/**
 * Rolls back current transaction
 *
 * Rollbacks the current transaction for the database specified by the
 * {@link link} parameter.
 *
 * @param resource $link
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_rollback($link){}

/**
 * Check if RPL parse is enabled
 *
 * @param resource $link
 * @return int
 * @since PECL maxdb >= 1.0
 **/
function maxdb_rpl_parse_enabled($link){}

/**
 * RPL probe
 *
 * @param resource $link
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_rpl_probe($link){}

/**
 * Returns RPL query type
 *
 * @param resource $link
 * @return int
 * @since PECL maxdb >= 1.0
 **/
function maxdb_rpl_query_type($link){}

/**
 * Selects the default database for database queries
 *
 * The {@link maxdb_select_db} function selects the default database
 * (specified by the {@link dbname} parameter) to be used when performing
 * queries against the database connection represented by the {@link
 * link} parameter.
 *
 * @param resource $link
 * @param string $dbname
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_select_db($link, $dbname){}

/**
 * Send data in blocks
 *
 * Allows to send parameter data to the server in pieces (or chunks).
 * This function can be called multiple times to send the parts of a
 * character or binary data value for a column, which must be one of the
 * TEXT or BLOB datatypes.
 *
 * {@link param_nr} indicates which parameter to associate the data with.
 * Parameters are numbered beginning with 0. {@link data} is a string
 * containing data to be sent.
 *
 * @param resource $stmt
 * @param int $param_nr
 * @param string $data
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_send_long_data($stmt, $param_nr, $data){}

/**
 * Send the query and return
 *
 * @param resource $link
 * @param string $query
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_send_query($link, $query){}

/**
 * Shut down the embedded server
 *
 * @return void
 * @since PECL maxdb >= 1.0
 **/
function maxdb_server_end(){}

/**
 * Initialize embedded server
 *
 * @param array $server
 * @param array $groups
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_server_init($server, $groups){}

/**
 * Set options
 *
 * {@link maxdb_set_opt} can be used to set extra connect options and
 * affect behavior for a connection.
 *
 * This function may be called multiple times to set several options.
 *
 * {@link maxdb_set_opt} should be called after {@link maxdb_init} and
 * before {@link maxdb_real_connect}.
 *
 * The parameter {@link option} is the option that you want to set, the
 * {@link value} is the value for the option. For detailed description of
 * the options see The parameter {@link option} can be one of the
 * following values: Valid options Name Description MAXDB_COMPNAME The
 * component name used to initialise the SQLDBC runtime environment.
 * MAXDB_APPLICATION The application to be connected to the database.
 * MAXDB_APPVERSION The version of the application. MAXDB_SQLMODE The SQL
 * mode. MAXDB_UNICODE TRUE, if the connection is an unicode (UCS2)
 * client or FALSE, if not. MAXDB_TIMEOUT The maximum allowed time of
 * inactivity after which the connection to the database is closed by the
 * system. MAXDB_ISOLATIONLEVEL Specifies whether and how shared locks
 * and exclusive locks are implicitly requested or released.
 * MAXDB_PACKETCOUNT The number of different request packets used for the
 * connection. MAXDB_STATEMENTCACHESIZE The number of prepared statements
 * to be cached for the connection for re-use. MAXDB_CURSORPREFIX The
 * prefix to use for result tables that are automatically named.
 *
 * @param resource $link
 * @param int $option
 * @param mixed $value
 * @return bool
 * @since PECL maxdb 1.0
 **/
function maxdb_set_opt($link, $option, $value){}

/**
 * Returns the SQLSTATE error from previous MaxDB operation
 *
 * Returns a string containing the SQLSTATE error code for the last
 * error. The error code consists of five characters. '00000' means no
 * error. The values are specified by ANSI SQL and ODBC.
 *
 * @param resource $link
 * @return string Returns a string containing the SQLSTATE error code
 *   for the last error. The error code consists of five characters.
 *   '00000' means no error.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_sqlstate($link){}

/**
 * Used for establishing secure connections using SSL
 *
 * @param resource $link
 * @param string $key
 * @param string $cert
 * @param string $ca
 * @param string $capath
 * @param string $cipher
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_ssl_set($link, $key, $cert, $ca, $capath, $cipher){}

/**
 * Gets the current system status
 *
 * {@link maxdb_stat} returns a string containing several information
 * about the MaxDB server running.
 *
 * @param resource $link
 * @return string A string describing the server status. FALSE if an
 *   error occurred.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_stat($link){}

/**
 * Returns the total number of rows changed, deleted, or inserted by the
 * last executed statement
 *
 * {@link maxdb_stmt_affected_rows} returns the number of rows affected
 * by INSERT, UPDATE, or DELETE query. If the last query was invalid or
 * the number of rows can not determined, this function will return -1.
 *
 * @param resource $stmt
 * @return int An integer greater than zero indicates the number of
 *   rows affected or retrieved. Zero indicates that no records where
 *   updated for an UPDATE/DELETE statement, no rows matched the WHERE
 *   clause in the query or that no query has yet been executed. -1
 *   indicates that the query has returned an error or the number of rows
 *   can not determined.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_stmt_affected_rows($stmt){}

/**
 * Binds variables to a prepared statement as parameters
 *
 * (extended syntax):
 *
 * (extended syntax):
 *
 * {@link maxdb_stmt_bind_param} is used to bind variables for the
 * parameter markers in the SQL statement that was passed to {@link
 * maxdb_prepare}. The string {@link types} contains one or more
 * characters which specify the types for the corresponding bind
 * variables.
 *
 * The extended syntax of {@link maxdb_stmt_bind_param} allows to give
 * the parameters as an array instead of a variable list of PHP variables
 * to the function. If the array variable has not been used before
 * calling {@link maxdb_stmt_bind_param}, it has to be initialized as an
 * emtpy array. See the examples how to use {@link maxdb_stmt_bind_param}
 * with extended syntax.
 *
 * Variables for SELECT INTO SQL statements can also be bound using
 * {@link maxdb_stmt_bind_param}. Parameters for database procedures can
 * be bound using {@link maxdb_stmt_bind_param}. See the examples how to
 * use {@link maxdb_stmt_bind_param} in this cases.
 *
 * If a variable bound as INTO variable to an SQL statement was used
 * before, the content of this variable is overwritten by the data of the
 * SELECT INTO statement. A reference to this variable will be invalid
 * after a call to {@link maxdb_stmt_bind_param}.
 *
 * For INOUT parameters of database procedures the content of the bound
 * INOUT variable is overwritten by the output value of the database
 * procedure. A reference to this variable will be invalid after a call
 * to {@link maxdb_stmt_bind_param}.
 *
 * Type specification chars Character Description i corresponding
 * variable has type integer d corresponding variable has type double s
 * corresponding variable has type string b corresponding variable is a
 * blob and will be sent in packages
 *
 * @param resource $stmt
 * @param string $types
 * @param mixed $var1
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_stmt_bind_param($stmt, $types, &$var1){}

/**
 * Binds variables to a prepared statement for result storage
 *
 * {@link maxdb_stmt_bind_result} is used to associate (bind) columns in
 * the result set to variables. When {@link maxdb_stmt_fetch} is called
 * to fetch data, the MaxDB client/server protocol places the data for
 * the bound columns into the specified variables {@link var1, ...}.
 *
 * @param resource $stmt
 * @param mixed $var1
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_stmt_bind_result($stmt, &$var1){}

/**
 * Closes a prepared statement
 *
 * Closes a prepared statement. {@link maxdb_stmt_close} also deallocates
 * the statement handle pointed to by {@link stmt}. If the current
 * statement has pending or unread results, this function cancels them so
 * that the next query can be executed.
 *
 * @param resource $stmt
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_stmt_close($stmt){}

/**
 * Ends a sequence of
 *
 * This function has to be called after a sequence of {@link
 * maxdb_stmt_send_long_data}, that was started after {@link
 * maxdb_execute}.
 *
 * {@link param_nr} indicates which parameter to associate the end of
 * data with. Parameters are numbered beginning with 0.
 *
 * @param resource $stmt
 * @param int $param_nr
 * @return bool
 * @since PECL maxdb 1.0
 **/
function maxdb_stmt_close_long_data($stmt, $param_nr){}

/**
 * Seeks to an arbitray row in statement result set
 *
 * The {@link maxdb_stmt_data_seek} function seeks to an arbitrary result
 * pointer specified by the {@link offset} in the statement result set
 * represented by {@link statement}. The {@link offset} parameter must be
 * between zero and the total number of rows minus one (0..{@link
 * maxdb_stmt_num_rows} - 1).
 *
 * @param resource $statement
 * @param int $offset
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_stmt_data_seek($statement, $offset){}

/**
 * Returns the error code for the most recent statement call
 *
 * For the statement specified by stmt, {@link maxdb_stmt_errno} returns
 * the error code for the most recently invoked statement function that
 * can succeed or fail.
 *
 * @param resource $stmt
 * @return int An error code value. Zero means no error occurred.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_stmt_errno($stmt){}

/**
 * Returns a string description for last statement error
 *
 * For the statement specified by stmt, {@link maxdb_stmt_error} returns
 * a containing the error message for the most recently invoked statement
 * function that can succeed or fail.
 *
 * @param resource $stmt
 * @return string A string that describes the error. An empty string if
 *   no error occurred.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_stmt_error($stmt){}

/**
 * Executes a prepared Query
 *
 * The {@link maxdb_stmt_execute} function executes a query that has been
 * previously prepared using the {@link maxdb_prepare} function
 * represented by the {@link stmt} resource. When executed any parameter
 * markers which exist will automatically be replaced with the appropiate
 * data.
 *
 * If the statement is UPDATE, DELETE, or INSERT, the total number of
 * affected rows can be determined by using the {@link
 * maxdb_stmt_affected_rows} function. Likewise, if the query yields a
 * result set the {@link maxdb_fetch} function is used.
 *
 * @param resource $stmt
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_stmt_execute($stmt){}

/**
 * Fetch results from a prepared statement into the bound variables
 *
 * {@link maxdb_stmt_fetch} returns row data using the variables bound by
 * {@link maxdb_stmt_bind_result}.
 *
 * @param resource $stmt
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_stmt_fetch($stmt){}

/**
 * Frees stored result memory for the given statement handle
 *
 * The {@link maxdb_stmt_free_result} function frees the result memory
 * associated with the statement represented by the {@link stmt}
 * parameter, which was allocated by {@link maxdb_stmt_store_result}.
 *
 * @param resource $stmt
 * @return void This function doesn't return any value.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_stmt_free_result($stmt){}

/**
 * Initializes a statement and returns an resource for use with
 * maxdb_stmt_prepare
 *
 * Allocates and initializes a statement resource suitable for {@link
 * maxdb_stmt_prepare}.
 *
 * @param resource $link
 * @return resource Returns an resource.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_stmt_init($link){}

/**
 * Return the number of rows in statements result set
 *
 * Returns the number of rows in the result set.
 *
 * @param resource $stmt
 * @return int An integer representing the number of rows in result
 *   set.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_stmt_num_rows($stmt){}

/**
 * Returns the number of parameter for the given statement
 *
 * {@link maxdb_stmt_param_count} returns the number of parameter markers
 * present in the prepared statement.
 *
 * @param resource $stmt
 * @return int returns an integer representing the number of
 *   parameters.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_stmt_param_count($stmt){}

/**
 * Prepare an SQL statement for execution
 *
 * {@link maxdb_stmt_prepare} prepares the SQL query pointed to by the
 * null-terminated string query. The statement resource has to be
 * allocated by {@link maxdb_stmt_init}. The query must consist of a
 * single SQL statement.
 *
 * The parameter {@link query} can include one or more parameter markers
 * in the SQL statement by embedding question mark (?) characters at the
 * appropriate positions.
 *
 * The parameter markers must be bound to application variables using
 * {@link maxdb_stmt_bind_param} and/or {@link maxdb_stmt_bind_result}
 * before executing the statement or fetching rows.
 *
 * @param resource $stmt
 * @param string $query
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_stmt_prepare($stmt, $query){}

/**
 * Resets a prepared statement
 *
 * @param resource $stmt
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_stmt_reset($stmt){}

/**
 * Returns result set metadata from a prepared statement
 *
 * If a statement passed to {@link maxdb_prepare} is one that produces a
 * result set, {@link maxdb_stmt_result_metadata} returns the result
 * resource that can be used to process the meta information such as
 * total number of fields and individual field information.
 *
 * The result set structure should be freed when you are done with it,
 * which you can do by passing it to {@link maxdb_free_result}
 *
 * @param resource $stmt
 * @return resource {@link maxdb_stmt_result_metadata} returns a result
 *   resource or FALSE if an error occurred.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_stmt_result_metadata($stmt){}

/**
 * Send data in blocks
 *
 * Allows to send parameter data to the server in pieces (or chunks).
 * This function can be called multiple times to send the parts of a
 * character or binary data value for a column, which must be one of the
 * TEXT or BLOB datatypes.
 *
 * {@link param_nr} indicates which parameter to associate the data with.
 * Parameters are numbered beginning with 0. {@link data} is a string
 * containing data to be sent.
 *
 * @param resource $stmt
 * @param int $param_nr
 * @param string $data
 * @return bool
 * @since PECL maxdb 1.0
 **/
function maxdb_stmt_send_long_data($stmt, $param_nr, $data){}

/**
 * Returns SQLSTATE error from previous statement operation
 *
 * Returns a string containing the SQLSTATE error code for the most
 * recently invoked prepared statement function that can succeed or fail.
 * The error code consists of five characters. '00000' means no error.
 * The values are specified by ANSI SQL and ODBC.
 *
 * @param resource $stmt
 * @return string Returns a string containing the SQLSTATE error code
 *   for the last error. The error code consists of five characters.
 *   '00000' means no error.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_stmt_sqlstate($stmt){}

/**
 * Transfers a result set from a prepared statement
 *
 * {@link maxdb_stmt_store_result} has no functionally effect and should
 * not be used for retrieving data from MaxDB server.
 *
 * @param resource $stmt
 * @return bool
 * @since PECL maxdb >= 1.0
 **/
function maxdb_stmt_store_result($stmt){}

/**
 * Transfers a result set from the last query
 *
 * This function has no functionally effect.
 *
 * @param resource $link
 * @return resource Returns a result resource or FALSE if an error
 *   occurred.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_store_result($link){}

/**
 * Returns the thread ID for the current connection
 *
 * The {@link maxdb_thread_id} function returns the thread ID for the
 * current connection which can then be killed using the {@link
 * maxdb_kill} function. If the connection is lost and you reconnect with
 * {@link maxdb_ping}, the thread ID will be other. Therefore you should
 * get the thread ID only when you need it.
 *
 * @param resource $link
 * @return int {@link maxdb_thread_id} returns the Thread ID for the
 *   current connection.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_thread_id($link){}

/**
 * Returns whether thread safety is given or not
 *
 * {@link maxdb_thread_safe} indicates whether the client library is
 * compiled as thread-safe.
 *
 * @return bool TRUE if the client library is thread-safe, otherwise
 *   FALSE.
 * @since PECL maxdb >= 7.6.06.04
 **/
function maxdb_thread_safe(){}

/**
 * Initiate a result set retrieval
 *
 * {@link maxdb_use_result} has no effect.
 *
 * @param resource $link
 * @return resource Returns result .
 * @since PECL maxdb >= 1.0
 **/
function maxdb_use_result($link){}

/**
 * Returns the number of warnings from the last query for the given link
 *
 * {@link maxdb_warning_count} returns the number of warnings from the
 * last query in the connection represented by the {@link link}
 * parameter.
 *
 * @param resource $link
 * @return int Number of warnings or zero if there are no warnings.
 * @since PECL maxdb >= 1.0
 **/
function maxdb_warning_count($link){}

/**
 * Check if the string is valid for the specified encoding
 *
 * Checks if the specified byte stream is valid for the specified
 * encoding. It is useful to prevent so-called "Invalid Encoding Attack".
 *
 * @param string $var The byte stream to check. If it is omitted, this
 *   function checks all the input from the beginning of the request.
 * @param string $encoding The expected encoding.
 * @return bool
 * @since PHP 4 >= 4.4.3, PHP 5 >= 5.1.3, PHP 7
 **/
function mb_check_encoding($var, $encoding){}

/**
 * Get a specific character
 *
 * @param int $cp
 * @param string $encoding
 * @return string Returns a specific character.
 * @since PHP 7 >= 7.2.0
 **/
function mb_chr($cp, $encoding){}

/**
 * Perform case folding on a string
 *
 * Performs case folding on a string, converted in the way specified by
 * {@link mode}.
 *
 * @param string $str The string being converted.
 * @param int $mode The mode of the conversion. It can be one of
 *   MB_CASE_UPPER, MB_CASE_LOWER, or MB_CASE_TITLE.
 * @param string $encoding
 * @return string A case folded version of {@link string} converted in
 *   the way specified by {@link mode}.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function mb_convert_case($str, $mode, $encoding){}

/**
 * Convert character encoding
 *
 * Converts the character encoding of string {@link str} to {@link
 * to_encoding} from optionally {@link from_encoding}.
 *
 * @param string $str The string being encoded.
 * @param string $to_encoding The type of encoding that {@link str} is
 *   being converted to.
 * @param mixed $from_encoding Is specified by character code names
 *   before conversion. It is either an array, or a comma separated
 *   enumerated list. If {@link from_encoding} is not specified, the
 *   internal encoding will be used. See supported encodings.
 * @return string The encoded string.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function mb_convert_encoding($str, $to_encoding, $from_encoding){}

/**
 * Convert "kana" one from another ("zen-kaku", "han-kaku" and more)
 *
 * Performs a "han-kaku" - "zen-kaku" conversion for string {@link str}.
 * This function is only useful for Japanese.
 *
 * @param string $str The string being converted.
 * @param string $option The conversion option. Specify with a
 *   combination of following options. Applicable Conversion Options
 *   Option Meaning r Convert "zen-kaku" alphabets to "han-kaku" R
 *   Convert "han-kaku" alphabets to "zen-kaku" n Convert "zen-kaku"
 *   numbers to "han-kaku" N Convert "han-kaku" numbers to "zen-kaku" a
 *   Convert "zen-kaku" alphabets and numbers to "han-kaku" A Convert
 *   "han-kaku" alphabets and numbers to "zen-kaku" (Characters included
 *   in "a", "A" options are U+0021 - U+007E excluding U+0022, U+0027,
 *   U+005C, U+007E) s Convert "zen-kaku" space to "han-kaku" (U+3000 ->
 *   U+0020) S Convert "han-kaku" space to "zen-kaku" (U+0020 -> U+3000)
 *   k Convert "zen-kaku kata-kana" to "han-kaku kata-kana" K Convert
 *   "han-kaku kata-kana" to "zen-kaku kata-kana" h Convert "zen-kaku
 *   hira-gana" to "han-kaku kata-kana" H Convert "han-kaku kata-kana" to
 *   "zen-kaku hira-gana" c Convert "zen-kaku kata-kana" to "zen-kaku
 *   hira-gana" C Convert "zen-kaku hira-gana" to "zen-kaku kata-kana" V
 *   Collapse voiced sound notation and convert them into a character.
 *   Use with "K","H"
 * @param string $encoding
 * @return string The converted string.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function mb_convert_kana($str, $option, $encoding){}

/**
 * Convert character code in variable(s)
 *
 * Converts character encoding of variables {@link vars} in encoding
 * {@link from_encoding} to encoding {@link to_encoding}.
 *
 * {@link mb_convert_variables} join strings in Array or Object to detect
 * encoding, since encoding detection tends to fail for short strings.
 * Therefore, it is impossible to mix encoding in single array or object.
 *
 * @param string $to_encoding The encoding that the string is being
 *   converted to.
 * @param mixed $from_encoding {@link from_encoding} is specified as an
 *   array or comma separated string, it tries to detect encoding from
 *   {@link from-coding}. When {@link from_encoding} is omitted,
 *   detect_order is used.
 * @param mixed $vars {@link vars} is the reference to the variable
 *   being converted. String, Array and Object are accepted. {@link
 *   mb_convert_variables} assumes all parameters have the same encoding.
 * @return string The character encoding before conversion for success,
 *   or FALSE for failure.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function mb_convert_variables($to_encoding, $from_encoding, &$vars){}

/**
 * Decode string in MIME header field
 *
 * Decodes encoded-word string {@link str} in MIME header.
 *
 * @param string $str The string being decoded.
 * @return string The decoded string in internal character encoding.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function mb_decode_mimeheader($str){}

/**
 * Decode HTML numeric string reference to character
 *
 * Convert numeric string reference of string {@link str} in a specified
 * block to character.
 *
 * @param string $str The string being decoded.
 * @param array $convmap {@link convmap} is an array that specifies the
 *   code area to convert.
 * @param string $encoding
 * @param bool $is_hex
 * @return string The converted string.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function mb_decode_numericentity($str, $convmap, $encoding, $is_hex){}

/**
 * Detect character encoding
 *
 * Detects character encoding in string {@link str}.
 *
 * @param string $str The string being detected.
 * @param mixed $encoding_list {@link encoding_list} is list of
 *   character encoding. Encoding order may be specified by array or
 *   comma separated list string. If {@link encoding_list} is omitted,
 *   detect_order is used.
 * @param bool $strict {@link strict} specifies whether to use the
 *   strict encoding detection or not. Default is FALSE.
 * @return string The detected character encoding or FALSE if the
 *   encoding cannot be detected from the given string.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function mb_detect_encoding($str, $encoding_list, $strict){}

/**
 * Set/Get character encoding detection order
 *
 * Sets the automatic character encoding detection order to {@link
 * encoding_list}.
 *
 * @param mixed $encoding_list {@link encoding_list} is an array or
 *   comma separated list of character encoding. See supported encodings.
 *   If {@link encoding_list} is omitted, it returns the current
 *   character encoding detection order as array. This setting affects
 *   {@link mb_detect_encoding} and {@link mb_send_mail}. mbstring
 *   currently implements the following encoding detection filters. If
 *   there is an invalid byte sequence for the following encodings,
 *   encoding detection will fail. For ISO-8859-*, mbstring always
 *   detects as ISO-8859-*. For UTF-16, UTF-32, UCS2 and UCS4, encoding
 *   detection will fail always.
 * @return mixed When setting the encoding detection order, TRUE is
 *   returned on success or FALSE on failure.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function mb_detect_order($encoding_list){}

/**
 * Encode string for MIME header
 *
 * Encodes a given string {@link str} by the MIME header encoding scheme.
 *
 * @param string $str The string being encoded. Its encoding should be
 *   same as {@link mb_internal_encoding}.
 * @param string $charset {@link charset} specifies the name of the
 *   character set in which {@link str} is represented in. The default
 *   value is determined by the current NLS setting (mbstring.language).
 * @param string $transfer_encoding {@link transfer_encoding} specifies
 *   the scheme of MIME encoding. It should be either "B" (Base64) or "Q"
 *   (Quoted-Printable). Falls back to "B" if not given.
 * @param string $linefeed {@link linefeed} specifies the EOL
 *   (end-of-line) marker with which {@link mb_encode_mimeheader}
 *   performs line-folding (a RFC term, the act of breaking a line longer
 *   than a certain length into multiple lines. The length is currently
 *   hard-coded to 74 characters). Falls back to "\r\n" (CRLF) if not
 *   given.
 * @param int $indent Indentation of the first line (number of
 *   characters in the header before {@link str}).
 * @return string A converted version of the string represented in
 *   ASCII.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function mb_encode_mimeheader($str, $charset, $transfer_encoding, $linefeed, $indent){}

/**
 * Encode character to HTML numeric string reference
 *
 * Converts specified character codes in string {@link str} from
 * character code to HTML numeric character reference.
 *
 * @param string $str The string being encoded.
 * @param array $convmap {@link convmap} is array specifies code area
 *   to convert.
 * @param string $encoding
 * @param bool $is_hex
 * @return string The converted string.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function mb_encode_numericentity($str, $convmap, $encoding, $is_hex){}

/**
 * Get aliases of a known encoding type
 *
 * Returns an array of aliases for a known {@link encoding} type.
 *
 * @param string $encoding The encoding type being checked, for
 *   aliases.
 * @return array Returns a numerically indexed array of encoding
 *   aliases on success,
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function mb_encoding_aliases($encoding){}

/**
 * Regular expression match with multibyte support
 *
 * @param string $pattern The search pattern.
 * @param string $string The search string.
 * @param array $regs If matches are found for parenthesized substrings
 *   of {@link pattern} and the function is called with the third
 *   argument {@link regs}, the matches will be stored in the elements of
 *   the array {@link regs}. If no matches are found, {@link regs} is set
 *   to an empty array. $regs[1] will contain the substring which starts
 *   at the first left parenthesis; $regs[2] will contain the substring
 *   starting at the second, and so on. $regs[0] will contain a copy of
 *   the complete string matched.
 * @return int Returns the byte length of the matched string if a match
 *   for {@link pattern} was found in {@link string}, or FALSE if no
 *   matches were found or an error occurred.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function mb_ereg($pattern, $string, &$regs){}

/**
 * Regular expression match ignoring case with multibyte support
 *
 * @param string $pattern The regular expression pattern.
 * @param string $string The string being searched.
 * @param array $regs If matches are found for parenthesized substrings
 *   of {@link pattern} and the function is called with the third
 *   argument {@link regs}, the matches will be stored in the elements of
 *   the array {@link regs}. If no matches are found, {@link regs} is set
 *   to an empty array. $regs[1] will contain the substring which starts
 *   at the first left parenthesis; $regs[2] will contain the substring
 *   starting at the second, and so on. $regs[0] will contain a copy of
 *   the complete string matched.
 * @return int Returns the byte length of the matched string if a match
 *   for {@link pattern} was found in {@link string}, or FALSE if no
 *   matches were found or an error occurred.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function mb_eregi($pattern, $string, &$regs){}

/**
 * Replace regular expression with multibyte support ignoring case
 *
 * @param string $pattern The regular expression pattern. Multibyte
 *   characters may be used. The case will be ignored.
 * @param string $replace The replacement text.
 * @param string $string The searched string.
 * @param string $option
 * @return string The resultant string or FALSE on error.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function mb_eregi_replace($pattern, $replace, $string, $option){}

/**
 * Regular expression match for multibyte string
 *
 * A regular expression match for a multibyte string
 *
 * @param string $pattern The regular expression pattern.
 * @param string $string The string being evaluated.
 * @param string $option The search option. See {@link
 *   mb_regex_set_options} for explanation.
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function mb_ereg_match($pattern, $string, $option){}

/**
 * Replace regular expression with multibyte support
 *
 * @param string $pattern The regular expression pattern. Multibyte
 *   characters may be used in {@link pattern}.
 * @param string $replacement The replacement text.
 * @param string $string The string being checked.
 * @param string $option
 * @return string The resultant string on success, or FALSE on error.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function mb_ereg_replace($pattern, $replacement, $string, $option){}

/**
 * Perform a regular expresssion seach and replace with multibyte support
 * using a callback
 *
 * Scans {@link string} for matches to {@link pattern}, then replaces the
 * matched text with the output of {@link callback} function.
 *
 * The behavior of this function is almost identical to {@link
 * mb_ereg_replace}, except for the fact that instead of {@link
 * replacement} parameter, one should specify a {@link callback}.
 *
 * @param string $pattern The regular expression pattern. Multibyte
 *   characters may be used in {@link pattern}.
 * @param callable $callback A callback that will be called and passed
 *   an array of matched elements in the {@link subject} string. The
 *   callback should return the replacement string. You'll often need the
 *   {@link callback} function for a {@link mb_ereg_replace_callback} in
 *   just one place. In this case you can use an anonymous function to
 *   declare the callback within the call to {@link
 *   mb_ereg_replace_callback}. By doing it this way you have all
 *   information for the call in one place and do not clutter the
 *   function namespace with a callback function's name not used anywhere
 *   else.
 * @param string $string The string being checked.
 * @param string $option The search option. See {@link
 *   mb_regex_set_options} for explanation.
 * @return string The resultant string on success, or FALSE on error.
 * @since PHP 5 >= 5.4.1, PHP 7
 **/
function mb_ereg_replace_callback($pattern, $callback, $string, $option){}

/**
 * Multibyte regular expression match for predefined multibyte string
 *
 * Performs a multibyte regular expression match for a predefined
 * multibyte string.
 *
 * @param string $pattern The search pattern.
 * @param string $option The search option. See {@link
 *   mb_regex_set_options} for explanation.
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function mb_ereg_search($pattern, $option){}

/**
 * Returns start point for next regular expression match
 *
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function mb_ereg_search_getpos(){}

/**
 * Retrieve the result from the last multibyte regular expression match
 *
 * @return array
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function mb_ereg_search_getregs(){}

/**
 * Setup string and regular expression for a multibyte regular expression
 * match
 *
 * {@link mb_ereg_search_init} sets {@link string} and {@link pattern}
 * for a multibyte regular expression. These values are used for {@link
 * mb_ereg_search}, {@link mb_ereg_search_pos}, and {@link
 * mb_ereg_search_regs}.
 *
 * @param string $string The search string.
 * @param string $pattern The search pattern.
 * @param string $option The search option. See {@link
 *   mb_regex_set_options} for explanation.
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function mb_ereg_search_init($string, $pattern, $option){}

/**
 * Returns position and length of a matched part of the multibyte regular
 * expression for a predefined multibyte string
 *
 * Returns position and length of a matched part of the multibyte regular
 * expression for a predefined multibyte string
 *
 * The string for match is specified by {@link mb_ereg_search_init}. If
 * it is not specified, the previous one will be used.
 *
 * @param string $pattern The search pattern.
 * @param string $option The search option. See {@link
 *   mb_regex_set_options} for explanation.
 * @return array
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function mb_ereg_search_pos($pattern, $option){}

/**
 * Returns the matched part of a multibyte regular expression
 *
 * @param string $pattern The search pattern.
 * @param string $option The search option. See {@link
 *   mb_regex_set_options} for explanation.
 * @return array
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function mb_ereg_search_regs($pattern, $option){}

/**
 * Set start point of next regular expression match
 *
 * @param int $position The position to set. If it is negative, it
 *   counts from the end of the string.
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function mb_ereg_search_setpos($position){}

/**
 * Get internal settings of mbstring
 *
 * @param string $type If {@link type} isn't specified or is specified
 *   to "all", an array having the elements "internal_encoding",
 *   "http_output", "http_input", "func_overload", "mail_charset",
 *   "mail_header_encoding", "mail_body_encoding" will be returned. If
 *   {@link type} is specified as "http_output", "http_input",
 *   "internal_encoding", "func_overload", the specified setting
 *   parameter will be returned.
 * @return mixed An array of type information if {@link type} is not
 *   specified, otherwise a specific {@link type}.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function mb_get_info($type){}

/**
 * Detect HTTP input character encoding
 *
 * @param string $type Input string specifies the input type. "G" for
 *   GET, "P" for POST, "C" for COOKIE, "S" for string, "L" for list, and
 *   "I" for the whole list (will return array). If type is omitted, it
 *   returns the last input type processed.
 * @return mixed The character encoding name, as per the {@link type}.
 *   If {@link mb_http_input} does not process specified HTTP input, it
 *   returns FALSE.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function mb_http_input($type){}

/**
 * Set/Get HTTP output character encoding
 *
 * Set/Get the HTTP output character encoding. Output after this function
 * is called will be converted from the set internal encoding to {@link
 * encoding}.
 *
 * @param string $encoding If {@link encoding} is set, {@link
 *   mb_http_output} sets the HTTP output character encoding to {@link
 *   encoding}. If {@link encoding} is omitted, {@link mb_http_output}
 *   returns the current HTTP output character encoding.
 * @return mixed If {@link encoding} is omitted, {@link mb_http_output}
 *   returns the current HTTP output character encoding. Otherwise,
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function mb_http_output($encoding){}

/**
 * Set/Get internal character encoding
 *
 * Set/Get the internal character encoding
 *
 * @param string $encoding {@link encoding} is the character encoding
 *   name used for the HTTP input character encoding conversion, HTTP
 *   output character encoding conversion, and the default character
 *   encoding for string functions defined by the mbstring module. You
 *   should notice that the internal encoding is totally different from
 *   the one for multibyte regex.
 * @return mixed If {@link encoding} is set, then In this case, the
 *   character encoding for multibyte regex is NOT changed. If {@link
 *   encoding} is omitted, then the current character encoding name is
 *   returned.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function mb_internal_encoding($encoding){}

/**
 * Set/Get current language
 *
 * Set/Get the current language.
 *
 * @param string $language Used for encoding e-mail messages. Valid
 *   languages are "Japanese", "ja","English","en" and "uni" (UTF-8).
 *   {@link mb_send_mail} uses this setting to encode e-mail. Language
 *   and its setting is ISO-2022-JP/Base64 for Japanese, UTF-8/Base64 for
 *   uni, ISO-8859-1/quoted printable for English.
 * @return mixed If {@link language} is set and {@link language} is
 *   valid, it returns TRUE. Otherwise, it returns FALSE. When {@link
 *   language} is omitted, it returns the language name as a string. If
 *   no language is set previously, it then returns FALSE.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function mb_language($language){}

/**
 * Returns an array of all supported encodings
 *
 * Returns an array containing all supported encodings.
 *
 * @return array Returns a numerically indexed array.
 * @since PHP 5, PHP 7
 **/
function mb_list_encodings(){}

/**
 * Get code point of character
 *
 * @param string $str
 * @param string $encoding
 * @return int Returns a code point of character.
 * @since PHP 7 >= 7.2.0
 **/
function mb_ord($str, $encoding){}

/**
 * Callback function converts character encoding in output buffer
 *
 * {@link mb_output_handler} is {@link ob_start} callback function.
 * {@link mb_output_handler} converts characters in the output buffer
 * from internal character encoding to HTTP output character encoding.
 *
 * @param string $contents The contents of the output buffer.
 * @param int $status The status of the output buffer.
 * @return string The converted string.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function mb_output_handler($contents, $status){}

/**
 * Parse GET/POST/COOKIE data and set global variable
 *
 * Parses GET/POST/COOKIE data and sets global variables. Since PHP does
 * not provide raw POST/COOKIE data, it can only be used for GET data for
 * now. It parses URL encoded data, detects encoding, converts coding to
 * internal encoding and set values to the {@link result} array or global
 * variables.
 *
 * @param string $encoded_string The URL encoded data.
 * @param array $result An array containing decoded and character
 *   encoded converted values.
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function mb_parse_str($encoded_string, &$result){}

/**
 * Get MIME charset string
 *
 * Get a MIME charset string for a specific encoding.
 *
 * @param string $encoding The encoding being checked.
 * @return string The MIME charset string for character encoding {@link
 *   encoding}.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function mb_preferred_mime_name($encoding){}

/**
 * Set/Get character encoding for multibyte regex
 *
 * Set/Get character encoding for a multibyte regex.
 *
 * @param string $encoding
 * @return mixed
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function mb_regex_encoding($encoding){}

/**
 * Set/Get the default options for mbregex functions
 *
 * @param string $options The options to set. This is a string where
 *   each character is an option. To set a mode, the mode character must
 *   be the last one set, however there can only be set one mode but
 *   multiple options.
 * @return string The previous options. If {@link options} is omitted,
 *   it returns the string that describes the current options.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function mb_regex_set_options($options){}

/**
 * @param string $str
 * @param string $encoding
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function mb_scrub($str, $encoding){}

/**
 * Send encoded mail
 *
 * Sends email. Headers and messages are converted and encoded according
 * to the {@link mb_language} setting. It's a wrapper function for {@link
 * mail}, so see also {@link mail} for details.
 *
 * @param string $to The mail addresses being sent to. Multiple
 *   recipients may be specified by putting a comma between each address
 *   in {@link to}. This parameter is not automatically encoded.
 * @param string $subject The subject of the mail.
 * @param string $message The message of the mail.
 * @param mixed $additional_headers String or array to be inserted at
 *   the end of the email header. This is typically used to add extra
 *   headers (From, Cc, and Bcc). Multiple extra headers should be
 *   separated with a CRLF (\r\n). Validate parameter not to be injected
 *   unwanted headers by attackers. If an array is passed, its keys are
 *   the header names and its values are the respective header values.
 * @param string $additional_parameter {@link additional_parameter} is
 *   a MTA command line parameter. It is useful when setting the correct
 *   Return-Path header when using sendmail. This parameter is escaped by
 *   {@link escapeshellcmd} internally to prevent command execution.
 *   {@link escapeshellcmd} prevents command execution, but allows to add
 *   addtional parameters. For security reason, this parameter should be
 *   validated. Since {@link escapeshellcmd} is applied automatically,
 *   some characters that are allowed as email addresses by internet RFCs
 *   cannot be used. Programs that are required to use these characters
 *   {@link mail} cannot be used. The user that the webserver runs as
 *   should be added as a trusted user to the sendmail configuration to
 *   prevent a 'X-Warning' header from being added to the message when
 *   the envelope sender (-f) is set using this method. For sendmail
 *   users, this file is /etc/mail/trusted-users.
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function mb_send_mail($to, $subject, $message, $additional_headers, $additional_parameter){}

/**
 * Split multibyte string using regular expression
 *
 * @param string $pattern The regular expression pattern.
 * @param string $string The string being split.
 * @param int $limit
 * @return array The result as an array.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function mb_split($pattern, $string, $limit){}

/**
 * Get part of string
 *
 * {@link mb_strcut} extracts a substring from a string similarly to
 * {@link mb_substr}, but operates on bytes instead of characters. If the
 * cut position happens to be between two bytes of a multi-byte
 * character, the cut is performed starting from the first byte of that
 * character. This is also the difference to the {@link substr} function,
 * which would simply cut the string between the bytes and thus result in
 * a malformed byte sequence.
 *
 * @param string $str The string being cut.
 * @param int $start If {@link start} is non-negative, the returned
 *   string will start at the {@link start}'th byte position in {@link
 *   str}, counting from zero. For instance, in the string 'abcdef', the
 *   byte at position 0 is 'a', the byte at position 2 is 'c', and so
 *   forth. If {@link start} is negative, the returned string will start
 *   at the {@link start}'th byte from the end of {@link str}.
 * @param int $length Length in bytes. If omitted or NULL is passed,
 *   extract all bytes to the end of the string.
 * @param string $encoding
 * @return string {@link mb_strcut} returns the portion of {@link str}
 *   specified by the {@link start} and {@link length} parameters.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function mb_strcut($str, $start, $length, $encoding){}

/**
 * Get truncated string with specified width
 *
 * Truncates string {@link str} to specified {@link width}.
 *
 * @param string $str The string being decoded.
 * @param int $start The start position offset. Number of characters
 *   from the beginning of string (first character is 0), or if start is
 *   negative, number of characters from the end of the string.
 * @param int $width The width of the desired trim. Negative widths
 *   count from the end of the string.
 * @param string $trimmarker A string that is added to the end of
 *   string when string is truncated.
 * @param string $encoding
 * @return string The truncated string. If {@link trimmarker} is set,
 *   {@link trimmarker} replaces the last chars to match the {@link
 *   width}.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function mb_strimwidth($str, $start, $width, $trimmarker, $encoding){}

/**
 * Finds position of first occurrence of a string within another, case
 * insensitive
 *
 * {@link mb_stripos} returns the numeric position of the first
 * occurrence of {@link needle} in the {@link haystack} string. Unlike
 * {@link mb_strpos}, {@link mb_stripos} is case-insensitive. If {@link
 * needle} is not found, it returns FALSE.
 *
 * @param string $haystack The string from which to get the position of
 *   the first occurrence of {@link needle}
 * @param string $needle The string to find in {@link haystack}
 * @param int $offset The position in {@link haystack} to start
 *   searching. A negative offset counts from the end of the string.
 * @param string $encoding Character encoding name to use. If it is
 *   omitted, internal character encoding is used.
 * @return int Return the numeric position of the first occurrence of
 *   {@link needle} in the {@link haystack} string, or FALSE if {@link
 *   needle} is not found.
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function mb_stripos($haystack, $needle, $offset, $encoding){}

/**
 * Finds first occurrence of a string within another, case insensitive
 *
 * {@link mb_stristr} finds the first occurrence of {@link needle} in
 * {@link haystack} and returns the portion of {@link haystack}. Unlike
 * {@link mb_strstr}, {@link mb_stristr} is case-insensitive. If {@link
 * needle} is not found, it returns FALSE.
 *
 * @param string $haystack The string from which to get the first
 *   occurrence of {@link needle}
 * @param string $needle The string to find in {@link haystack}
 * @param bool $before_needle Determines which portion of {@link
 *   haystack} this function returns. If set to TRUE, it returns all of
 *   {@link haystack} from the beginning to the first occurrence of
 *   {@link needle} (excluding needle). If set to FALSE, it returns all
 *   of {@link haystack} from the first occurrence of {@link needle} to
 *   the end (including needle).
 * @param string $encoding Character encoding name to use. If it is
 *   omitted, internal character encoding is used.
 * @return string Returns the portion of {@link haystack}, or FALSE if
 *   {@link needle} is not found.
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function mb_stristr($haystack, $needle, $before_needle, $encoding){}

/**
 * Get string length
 *
 * Gets the length of a string.
 *
 * @param string $str The string being checked for length.
 * @param string $encoding
 * @return int Returns the number of characters in string {@link str}
 *   having character encoding {@link encoding}. A multi-byte character
 *   is counted as 1.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function mb_strlen($str, $encoding){}

/**
 * Find position of first occurrence of string in a string
 *
 * Finds position of the first occurrence of a string in a string.
 *
 * Performs a multi-byte safe {@link strpos} operation based on number of
 * characters. The first character's position is 0, the second character
 * position is 1, and so on.
 *
 * @param string $haystack The string being checked.
 * @param string $needle The string to find in {@link haystack}. In
 *   contrast with {@link strpos}, numeric values are not applied as the
 *   ordinal value of a character.
 * @param int $offset The search offset. If it is not specified, 0 is
 *   used. A negative offset counts from the end of the string.
 * @param string $encoding
 * @return int Returns the numeric position of the first occurrence of
 *   {@link needle} in the {@link haystack} string. If {@link needle} is
 *   not found, it returns FALSE.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function mb_strpos($haystack, $needle, $offset, $encoding){}

/**
 * Finds the last occurrence of a character in a string within another
 *
 * {@link mb_strrchr} finds the last occurrence of {@link needle} in
 * {@link haystack} and returns the portion of {@link haystack}. If
 * {@link needle} is not found, it returns FALSE.
 *
 * @param string $haystack The string from which to get the last
 *   occurrence of {@link needle}
 * @param string $needle The string to find in {@link haystack}
 * @param bool $part Determines which portion of {@link haystack} this
 *   function returns. If set to TRUE, it returns all of {@link haystack}
 *   from the beginning to the last occurrence of {@link needle}. If set
 *   to FALSE, it returns all of {@link haystack} from the last
 *   occurrence of {@link needle} to the end,
 * @param string $encoding Character encoding name to use. If it is
 *   omitted, internal character encoding is used.
 * @return string Returns the portion of {@link haystack}. or FALSE if
 *   {@link needle} is not found.
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function mb_strrchr($haystack, $needle, $part, $encoding){}

/**
 * Finds the last occurrence of a character in a string within another,
 * case insensitive
 *
 * {@link mb_strrichr} finds the last occurrence of {@link needle} in
 * {@link haystack} and returns the portion of {@link haystack}. Unlike
 * {@link mb_strrchr}, {@link mb_strrichr} is case-insensitive. If {@link
 * needle} is not found, it returns FALSE.
 *
 * @param string $haystack The string from which to get the last
 *   occurrence of {@link needle}
 * @param string $needle The string to find in {@link haystack}
 * @param bool $part Determines which portion of {@link haystack} this
 *   function returns. If set to TRUE, it returns all of {@link haystack}
 *   from the beginning to the last occurrence of {@link needle}. If set
 *   to FALSE, it returns all of {@link haystack} from the last
 *   occurrence of {@link needle} to the end,
 * @param string $encoding Character encoding name to use. If it is
 *   omitted, internal character encoding is used.
 * @return string Returns the portion of {@link haystack}. or FALSE if
 *   {@link needle} is not found.
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function mb_strrichr($haystack, $needle, $part, $encoding){}

/**
 * Finds position of last occurrence of a string within another, case
 * insensitive
 *
 * {@link mb_strripos} performs multi-byte safe {@link strripos}
 * operation based on number of characters. {@link needle} position is
 * counted from the beginning of {@link haystack}. First character's
 * position is 0. Second character position is 1. Unlike {@link
 * mb_strrpos}, {@link mb_strripos} is case-insensitive.
 *
 * @param string $haystack The string from which to get the position of
 *   the last occurrence of {@link needle}
 * @param string $needle The string to find in {@link haystack}
 * @param int $offset The position in {@link haystack} to start
 *   searching
 * @param string $encoding Character encoding name to use. If it is
 *   omitted, internal character encoding is used.
 * @return int Return the numeric position of the last occurrence of
 *   {@link needle} in the {@link haystack} string, or FALSE if {@link
 *   needle} is not found.
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function mb_strripos($haystack, $needle, $offset, $encoding){}

/**
 * Find position of last occurrence of a string in a string
 *
 * Performs a multibyte safe {@link strrpos} operation based on the
 * number of characters. {@link needle} position is counted from the
 * beginning of {@link haystack}. First character's position is 0. Second
 * character position is 1.
 *
 * @param string $haystack The string being checked, for the last
 *   occurrence of {@link needle}
 * @param string $needle The string to find in {@link haystack}.
 * @param int $offset
 * @param string $encoding
 * @return int Returns the numeric position of the last occurrence of
 *   {@link needle} in the {@link haystack} string. If {@link needle} is
 *   not found, it returns FALSE.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function mb_strrpos($haystack, $needle, $offset, $encoding){}

/**
 * Finds first occurrence of a string within another
 *
 * {@link mb_strstr} finds the first occurrence of {@link needle} in
 * {@link haystack} and returns the portion of {@link haystack}. If
 * {@link needle} is not found, it returns FALSE.
 *
 * @param string $haystack The string from which to get the first
 *   occurrence of {@link needle}
 * @param string $needle The string to find in {@link haystack}
 * @param bool $before_needle Determines which portion of {@link
 *   haystack} this function returns. If set to TRUE, it returns all of
 *   {@link haystack} from the beginning to the first occurrence of
 *   {@link needle} (excluding needle). If set to FALSE, it returns all
 *   of {@link haystack} from the first occurrence of {@link needle} to
 *   the end (including needle).
 * @param string $encoding Character encoding name to use. If it is
 *   omitted, internal character encoding is used.
 * @return string Returns the portion of {@link haystack}, or FALSE if
 *   {@link needle} is not found.
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function mb_strstr($haystack, $needle, $before_needle, $encoding){}

/**
 * Make a string lowercase
 *
 * Returns {@link str} with all alphabetic characters converted to
 * lowercase.
 *
 * @param string $str The string being lowercased.
 * @param string $encoding
 * @return string {@link str} with all alphabetic characters converted
 *   to lowercase.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function mb_strtolower($str, $encoding){}

/**
 * Make a string uppercase
 *
 * Returns {@link str} with all alphabetic characters converted to
 * uppercase.
 *
 * @param string $str The string being uppercased.
 * @param string $encoding
 * @return string {@link str} with all alphabetic characters converted
 *   to uppercase.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function mb_strtoupper($str, $encoding){}

/**
 * Return width of string
 *
 * Returns the width of string {@link str}, where halfwidth characters
 * count as 1, and fullwidth characters count as 2.
 *
 * The fullwidth characters are: U+1100-U+115F, U+11A3-U+11A7,
 * U+11FA-U+11FF, U+2329-U+232A, U+2E80-U+2E99, U+2E9B-U+2EF3,
 * U+2F00-U+2FD5, U+2FF0-U+2FFB, U+3000-U+303E, U+3041-U+3096,
 * U+3099-U+30FF, U+3105-U+312D, U+3131-U+318E, U+3190-U+31BA,
 * U+31C0-U+31E3, U+31F0-U+321E, U+3220-U+3247, U+3250-U+32FE,
 * U+3300-U+4DBF, U+4E00-U+A48C, U+A490-U+A4C6, U+A960-U+A97C,
 * U+AC00-U+D7A3, U+D7B0-U+D7C6, U+D7CB-U+D7FB, U+F900-U+FAFF,
 * U+FE10-U+FE19, U+FE30-U+FE52, U+FE54-U+FE66, U+FE68-U+FE6B,
 * U+FF01-U+FF60, U+FFE0-U+FFE6, U+1B000-U+1B001, U+1F200-U+1F202,
 * U+1F210-U+1F23A, U+1F240-U+1F248, U+1F250-U+1F251, U+20000-U+2FFFD,
 * U+30000-U+3FFFD. All other characters are halfwidth characters.
 *
 * @param string $str The string being decoded.
 * @param string $encoding
 * @return int The width of string {@link str}.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function mb_strwidth($str, $encoding){}

/**
 * Set/Get substitution character
 *
 * Specifies a substitution character when input character encoding is
 * invalid or character code does not exist in output character encoding.
 * Invalid characters may be substituted NULL (no output), string or
 * integer value (Unicode character code value).
 *
 * This setting affects {@link mb_convert_encoding}, {@link
 * mb_convert_variables}, {@link mb_output_handler}, and {@link
 * mb_send_mail}.
 *
 * @param mixed $substchar Specify the Unicode value as an integer, or
 *   as one of the following strings: "none": no output "long": Output
 *   character code value (Example: U+3000, JIS+7E7E) "entity": Output
 *   character entity (Example: &#x200;)
 * @return mixed If {@link substchar} is set, it returns TRUE for
 *   success, otherwise returns FALSE. If {@link substchar} is not set,
 *   it returns the current setting.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function mb_substitute_character($substchar){}

/**
 * Get part of string
 *
 * Performs a multi-byte safe {@link substr} operation based on number of
 * characters. Position is counted from the beginning of {@link str}.
 * First character's position is 0. Second character position is 1, and
 * so on.
 *
 * @param string $str The string to extract the substring from.
 * @param int $start If {@link start} is non-negative, the returned
 *   string will start at the {@link start}'th position in {@link str},
 *   counting from zero. For instance, in the string 'abcdef', the
 *   character at position 0 is 'a', the character at position 2 is 'c',
 *   and so forth. If {@link start} is negative, the returned string will
 *   start at the {@link start}'th character from the end of {@link str}.
 * @param int $length Maximum number of characters to use from {@link
 *   str}. If omitted or NULL is passed, extract all characters to the
 *   end of the string.
 * @param string $encoding
 * @return string {@link mb_substr} returns the portion of {@link str}
 *   specified by the {@link start} and {@link length} parameters.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function mb_substr($str, $start, $length, $encoding){}

/**
 * Count the number of substring occurrences
 *
 * Counts the number of times the {@link needle} substring occurs in the
 * {@link haystack} string.
 *
 * @param string $haystack The string being checked.
 * @param string $needle The string being found.
 * @param string $encoding
 * @return int The number of times the {@link needle} substring occurs
 *   in the {@link haystack} string.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function mb_substr_count($haystack, $needle, $encoding){}

/**
 * Encrypts/decrypts data in CBC mode
 *
 * The first prototype is when linked against libmcrypt 2.2.x, the second
 * when linked against libmcrypt 2.4.x or higher. The {@link mode} should
 * be either MCRYPT_ENCRYPT or MCRYPT_DECRYPT.
 *
 * @param int $cipher
 * @param string $key
 * @param string $data
 * @param int $mode
 * @param string $iv
 * @return string
 * @since PHP 4, PHP 5
 **/
function mcrypt_cbc($cipher, $key, $data, $mode, $iv){}

/**
 * Encrypts/decrypts data in CFB mode
 *
 * The first prototype is when linked against libmcrypt 2.2.x, the second
 * when linked against libmcrypt 2.4.x or higher. The {@link mode} should
 * be either MCRYPT_ENCRYPT or MCRYPT_DECRYPT.
 *
 * @param int $cipher
 * @param string $key
 * @param string $data
 * @param int $mode
 * @param string $iv
 * @return string
 * @since PHP 4, PHP 5
 **/
function mcrypt_cfb($cipher, $key, $data, $mode, $iv){}

/**
 * Creates an initialization vector (IV) from a random source
 *
 * The IV is only meant to give an alternative seed to the encryption
 * routines. This IV does not need to be secret at all, though it can be
 * desirable. You even can send it along with your ciphertext without
 * losing security.
 *
 * @param int $size The size of the IV.
 * @param int $source The source of the IV. The source can be
 *   MCRYPT_RAND (system random number generator), MCRYPT_DEV_RANDOM
 *   (read data from /dev/random) and MCRYPT_DEV_URANDOM (read data from
 *   /dev/urandom). Prior to 5.3.0, MCRYPT_RAND was the only one
 *   supported on Windows. Note that the default value of this parameter
 *   was MCRYPT_DEV_RANDOM prior to PHP 5.6.0.
 * @return string Returns the initialization vector, or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_create_iv($size, $source){}

/**
 * Decrypts crypttext with given parameters
 *
 * Decrypts the {@link data} and returns the unencrypted data.
 *
 * @param string $cipher
 * @param string $key The key with which the data was encrypted. If the
 *   provided key size is not supported by the cipher, the function will
 *   emit a warning and return FALSE
 * @param string $data The data that will be decrypted with the given
 *   {@link cipher} and {@link mode}. If the size of the data is not n *
 *   blocksize, the data will be padded with '\0'.
 * @param string $mode
 * @param string $iv
 * @return string Returns the decrypted data as a string .
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_decrypt($cipher, $key, $data, $mode, $iv){}

/**
 * Deprecated: Encrypts/decrypts data in ECB mode
 *
 * The first prototype is when linked against libmcrypt 2.2.x, the second
 * when linked against libmcrypt 2.4.x or higher. The {@link mode} should
 * be either MCRYPT_ENCRYPT or MCRYPT_DECRYPT.
 *
 * @param int $cipher
 * @param string $key
 * @param string $data
 * @param int $mode
 * @return string
 * @since PHP 4, PHP 5
 **/
function mcrypt_ecb($cipher, $key, $data, $mode){}

/**
 * Encrypts plaintext with given parameters
 *
 * Encrypts the data and returns it.
 *
 * @param string $cipher
 * @param string $key The key with which the data will be encrypted. If
 *   the provided key size is not supported by the cipher, the function
 *   will emit a warning and return FALSE
 * @param string $data The data that will be encrypted with the given
 *   {@link cipher} and {@link mode}. If the size of the data is not n *
 *   blocksize, the data will be padded with '\0'. The returned crypttext
 *   can be larger than the size of the data that was given by {@link
 *   data}.
 * @param string $mode
 * @param string $iv
 * @return string Returns the encrypted data as a string .
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_encrypt($cipher, $key, $data, $mode, $iv){}

/**
 * Returns the name of the opened algorithm
 *
 * This function returns the name of the algorithm.
 *
 * @param resource $td The encryption descriptor.
 * @return string Returns the name of the opened algorithm as a string.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_enc_get_algorithms_name($td){}

/**
 * Returns the blocksize of the opened algorithm
 *
 * Gets the blocksize of the opened algorithm.
 *
 * @param resource $td The encryption descriptor.
 * @return int Returns the block size of the specified algorithm in
 *   bytes.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_enc_get_block_size($td){}

/**
 * Returns the size of the IV of the opened algorithm
 *
 * This function returns the size of the IV of the algorithm specified by
 * the encryption descriptor in bytes. An IV is used in cbc, cfb and ofb
 * modes, and in some algorithms in stream mode.
 *
 * @param resource $td The encryption descriptor.
 * @return int Returns the size of the IV, or 0 if the IV is ignored by
 *   the algorithm.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_enc_get_iv_size($td){}

/**
 * Returns the maximum supported keysize of the opened mode
 *
 * Gets the maximum supported key size of the algorithm in bytes.
 *
 * @param resource $td The encryption descriptor.
 * @return int Returns the maximum supported key size of the algorithm
 *   in bytes.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_enc_get_key_size($td){}

/**
 * Returns the name of the opened mode
 *
 * This function returns the name of the mode.
 *
 * @param resource $td The encryption descriptor.
 * @return string Returns the name as a string.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_enc_get_modes_name($td){}

/**
 * Returns an array with the supported keysizes of the opened algorithm
 *
 * Gets the supported key sizes of the opened algorithm.
 *
 * @param resource $td The encryption descriptor.
 * @return array Returns an array with the key sizes supported by the
 *   algorithm specified by the encryption descriptor. If it returns an
 *   empty array then all key sizes between 1 and {@link
 *   mcrypt_enc_get_key_size} are supported by the algorithm.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_enc_get_supported_key_sizes($td){}

/**
 * Checks whether the algorithm of the opened mode is a block algorithm
 *
 * Tells whether the algorithm of the opened mode is a block algorithm.
 *
 * @param resource $td The encryption descriptor.
 * @return bool Returns TRUE if the algorithm is a block algorithm or
 *   FALSE if it is a stream one.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_enc_is_block_algorithm($td){}

/**
 * Checks whether the encryption of the opened mode works on blocks
 *
 * Tells whether the algorithm of the opened mode works on blocks (e.g.
 * FALSE for stream, and TRUE for cbc, cfb, ofb)..
 *
 * @param resource $td The encryption descriptor.
 * @return bool Returns TRUE if the mode is for use with block
 *   algorithms, otherwise it returns FALSE.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_enc_is_block_algorithm_mode($td){}

/**
 * Checks whether the opened mode outputs blocks
 *
 * Tells whether the opened mode outputs blocks (e.g. TRUE for cbc and
 * ecb, and FALSE for cfb and stream).
 *
 * @param resource $td The encryption descriptor.
 * @return bool Returns TRUE if the mode outputs blocks of bytes, or
 *   FALSE if it outputs just bytes.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_enc_is_block_mode($td){}

/**
 * Runs a self test on the opened module
 *
 * This function runs the self test on the algorithm specified by the
 * descriptor {@link td}.
 *
 * @param resource $td The encryption descriptor.
 * @return int If the self test succeeds it returns FALSE. In case of
 *   an error, it returns TRUE.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_enc_self_test($td){}

/**
 * This function encrypts data
 *
 * This function encrypts data. The data is padded with "\0" to make sure
 * the length of the data is n * blocksize. This function returns the
 * encrypted data. Note that the length of the returned string can in
 * fact be longer than the input, due to the padding of the data.
 *
 * If you want to store the encrypted data in a database make sure to
 * store the entire string as returned by mcrypt_generic, or the string
 * will not entirely decrypt properly. If your original string is 10
 * characters long and the block size is 8 (use {@link
 * mcrypt_enc_get_block_size} to determine the blocksize), you would need
 * at least 16 characters in your database field. Note the string
 * returned by {@link mdecrypt_generic} will be 16 characters as
 * well...use rtrim($str, "\0") to remove the padding.
 *
 * If you are for example storing the data in a MySQL database remember
 * that varchar fields automatically have trailing spaces removed during
 * insertion. As encrypted data can end in a space (ASCII 32), the data
 * will be damaged by this removal. Store data in a tinyblob/tinytext (or
 * larger) field instead.
 *
 * @param resource $td The encryption descriptor. The encryption handle
 *   should always be initialized with {@link mcrypt_generic_init} with a
 *   key and an IV before calling this function. Where the encryption is
 *   done, you should free the encryption buffers by calling {@link
 *   mcrypt_generic_deinit}. See {@link mcrypt_module_open} for an
 *   example.
 * @param string $data The data to encrypt.
 * @return string Returns the encrypted data.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_generic($td, $data){}

/**
 * This function deinitializes an encryption module
 *
 * This function terminates encryption specified by the encryption
 * descriptor ({@link td}). It clears all buffers, but does not close the
 * module. You need to call {@link mcrypt_module_close} yourself. (But
 * PHP does this for you at the end of the script.)
 *
 * @param resource $td The encryption descriptor.
 * @return bool
 * @since PHP 4 >= 4.0.7, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_generic_deinit($td){}

/**
 * This function terminates encryption
 *
 * {@link mcrypt_generic_deinit} should be used instead of this function,
 * as it can cause crashes when used with {@link mcrypt_module_close} due
 * to multiple buffer frees.
 *
 * This function terminates encryption specified by the encryption
 * descriptor ({@link td}). Actually it clears all buffers, and closes
 * all the modules used. Returns FALSE on error, or TRUE on success.
 *
 * @param resource $td
 * @return bool
 * @since PHP 4 >= 4.0.2, PHP 5
 **/
function mcrypt_generic_end($td){}

/**
 * This function initializes all buffers needed for encryption
 *
 * You need to call this function before every call to {@link
 * mcrypt_generic} or {@link mdecrypt_generic}.
 *
 * @param resource $td The encryption descriptor.
 * @param string $key The maximum length of the key should be the one
 *   obtained by calling {@link mcrypt_enc_get_key_size} and every value
 *   smaller than this is legal.
 * @param string $iv The IV should normally have the size of the
 *   algorithms block size, but you must obtain the size by calling
 *   {@link mcrypt_enc_get_iv_size}. IV is ignored in ECB. IV MUST exist
 *   in CFB, CBC, STREAM, nOFB and OFB modes. It needs to be random and
 *   unique (but not secret). The same IV must be used for
 *   encryption/decryption. If you do not want to use it you should set
 *   it to zeros, but this is not recommended.
 * @return int The function returns a negative value on error: -3 when
 *   the key length was incorrect, -4 when there was a memory allocation
 *   problem and any other return value is an unknown error. If an error
 *   occurs a warning will be displayed accordingly. FALSE is returned if
 *   incorrect parameters were passed.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_generic_init($td, $key, $iv){}

/**
 * Gets the block size of the specified cipher
 *
 * The first prototype is when linked against libmcrypt 2.2.x, the second
 * when linked against libmcrypt 2.4.x or 2.5.x.
 *
 * {@link mcrypt_get_block_size} is used to get the size of a block of
 * the specified {@link cipher} (in combination with an encryption mode).
 *
 * It is more useful to use the {@link mcrypt_enc_get_block_size}
 * function as this uses the resource returned by {@link
 * mcrypt_module_open}.
 *
 * @param int $cipher
 * @return int Returns the algorithm block size in bytes .
 * @since PHP 4, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_get_block_size($cipher){}

/**
 * Gets the name of the specified cipher
 *
 * {@link mcrypt_get_cipher_name} is used to get the name of the
 * specified cipher.
 *
 * {@link mcrypt_get_cipher_name} takes the cipher number as an argument
 * (libmcrypt 2.2.x) or takes the cipher name as an argument (libmcrypt
 * 2.4.x or higher) and returns the name of the cipher or FALSE, if the
 * cipher does not exist.
 *
 * @param int $cipher
 * @return string This function returns the name of the cipher or FALSE
 *   if the cipher does not exist.
 * @since PHP 4, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_get_cipher_name($cipher){}

/**
 * Returns the size of the IV belonging to a specific cipher/mode
 * combination
 *
 * Gets the size of the IV belonging to a specific {@link cipher}/{@link
 * mode} combination.
 *
 * It is more useful to use the {@link mcrypt_enc_get_iv_size} function
 * as this uses the resource returned by {@link mcrypt_module_open}.
 *
 * @param string $cipher
 * @param string $mode The IV is ignored in ECB mode as this mode does
 *   not require it. You will need to have the same IV (think: starting
 *   point) both at encryption and decryption stages, otherwise your
 *   encryption will fail.
 * @return int Returns the size of the Initialization Vector (IV) in
 *   bytes. On error the function returns FALSE. If the IV is ignored in
 *   the specified cipher/mode combination zero is returned.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_get_iv_size($cipher, $mode){}

/**
 * Gets the key size of the specified cipher
 *
 * The first prototype is when linked against libmcrypt 2.2.x, the second
 * when linked against libmcrypt 2.4.x or 2.5.x.
 *
 * {@link mcrypt_get_key_size} is used to get the size of a key of the
 * specified {@link cipher} (in combination with an encryption mode).
 *
 * It is more useful to use the {@link mcrypt_enc_get_key_size} function
 * as this uses the resource returned by {@link mcrypt_module_open}.
 *
 * @param int $cipher
 * @return int Returns the maximum supported key size of the algorithm
 *   in bytes .
 * @since PHP 4, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_get_key_size($cipher){}

/**
 * Gets an array of all supported ciphers
 *
 * Gets the list of all supported algorithms in the {@link lib_dir}
 * parameter.
 *
 * @param string $lib_dir Specifies the directory where all algorithms
 *   are located. If not specified, the value of the
 *   mcrypt.algorithms_dir directive is used.
 * @return array Returns an array with all the supported algorithms.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_list_algorithms($lib_dir){}

/**
 * Gets an array of all supported modes
 *
 * Gets the list of all supported modes in the {@link lib_dir} parameter.
 *
 * @param string $lib_dir Specifies the directory where all modes are
 *   located. If not specified, the value of the mcrypt.modes_dir
 *   directive is used.
 * @return array Returns an array with all the supported modes.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_list_modes($lib_dir){}

/**
 * Closes the mcrypt module
 *
 * Closes the specified encryption handle.
 *
 * @param resource $td The encryption descriptor.
 * @return bool
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_module_close($td){}

/**
 * Returns the blocksize of the specified algorithm
 *
 * Gets the blocksize of the specified algorithm.
 *
 * @param string $algorithm The algorithm name.
 * @param string $lib_dir This optional parameter can contain the
 *   location where the mode module is on the system.
 * @return int Returns the block size of the algorithm specified in
 *   bytes.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_module_get_algo_block_size($algorithm, $lib_dir){}

/**
 * Returns the maximum supported keysize of the opened mode
 *
 * Gets the maximum supported keysize of the opened mode.
 *
 * @param string $algorithm The algorithm name.
 * @param string $lib_dir This optional parameter can contain the
 *   location where the mode module is on the system.
 * @return int This function returns the maximum supported key size of
 *   the algorithm specified in bytes.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_module_get_algo_key_size($algorithm, $lib_dir){}

/**
 * Returns an array with the supported keysizes of the opened algorithm
 *
 * Returns an array with the key sizes supported by the specified
 * algorithm. If it returns an empty array then all key sizes between 1
 * and {@link mcrypt_module_get_algo_key_size} are supported by the
 * algorithm.
 *
 * @param string $algorithm The algorithm to be used.
 * @param string $lib_dir The optional {@link lib_dir} parameter can
 *   contain the location where the algorithm module is on the system.
 * @return array Returns an array with the key sizes supported by the
 *   specified algorithm. If it returns an empty array then all key sizes
 *   between 1 and {@link mcrypt_module_get_algo_key_size} are supported
 *   by the algorithm.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_module_get_supported_key_sizes($algorithm, $lib_dir){}

/**
 * This function checks whether the specified algorithm is a block
 * algorithm
 *
 * This function returns TRUE if the specified algorithm is a block
 * algorithm, or FALSE if it is a stream one.
 *
 * @param string $algorithm The algorithm to check.
 * @param string $lib_dir The optional {@link lib_dir} parameter can
 *   contain the location where the algorithm module is on the system.
 * @return bool This function returns TRUE if the specified algorithm
 *   is a block algorithm, or FALSE if it is a stream one.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_module_is_block_algorithm($algorithm, $lib_dir){}

/**
 * Returns if the specified module is a block algorithm or not
 *
 * This function returns TRUE if the mode is for use with block
 * algorithms, otherwise it returns FALSE. (e.g. FALSE for stream, and
 * TRUE for cbc, cfb, ofb).
 *
 * @param string $mode The mode to check.
 * @param string $lib_dir The optional {@link lib_dir} parameter can
 *   contain the location where the algorithm module is on the system.
 * @return bool This function returns TRUE if the mode is for use with
 *   block algorithms, otherwise it returns FALSE. (e.g. FALSE for
 *   stream, and TRUE for cbc, cfb, ofb).
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_module_is_block_algorithm_mode($mode, $lib_dir){}

/**
 * Returns if the specified mode outputs blocks or not
 *
 * This function returns TRUE if the mode outputs blocks of bytes or
 * FALSE if it outputs just bytes. (e.g. TRUE for cbc and ecb, and FALSE
 * for cfb and stream).
 *
 * @param string $mode
 * @param string $lib_dir The optional {@link lib_dir} parameter can
 *   contain the location where the algorithm module is on the system.
 * @return bool This function returns TRUE if the mode outputs blocks
 *   of bytes or FALSE if it outputs just bytes. (e.g. TRUE for cbc and
 *   ecb, and FALSE for cfb and stream).
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_module_is_block_mode($mode, $lib_dir){}

/**
 * Opens the module of the algorithm and the mode to be used
 *
 * This function opens the module of the algorithm and the mode to be
 * used. The name of the algorithm is specified in algorithm, e.g.
 * "twofish" or is one of the MCRYPT_ciphername constants. The module is
 * closed by calling {@link mcrypt_module_close}.
 *
 * @param string $algorithm
 * @param string $algorithm_directory The {@link algorithm_directory}
 *   parameter is used to locate the encryption module. When you supply a
 *   directory name, it is used. When you set it to an empty string (""),
 *   the value set by the mcrypt.algorithms_dir directive is used. When
 *   it is not set, the default directory that is used is the one that
 *   was compiled into libmcrypt (usually /usr/local/lib/libmcrypt).
 * @param string $mode
 * @param string $mode_directory The {@link mode_directory} parameter
 *   is used to locate the encryption module. When you supply a directory
 *   name, it is used. When you set it to an empty string (""), the value
 *   set by the mcrypt.modes_dir directive is used. When it is not set,
 *   the default directory that is used is the one that was compiled-in
 *   into libmcrypt (usually /usr/local/lib/libmcrypt).
 * @return resource Normally it returns an encryption descriptor, or
 *   FALSE on error.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_module_open($algorithm, $algorithm_directory, $mode, $mode_directory){}

/**
 * This function runs a self test on the specified module
 *
 * This function runs the self test on the algorithm specified.
 *
 * @param string $algorithm
 * @param string $lib_dir The optional {@link lib_dir} parameter can
 *   contain the location where the algorithm module is on the system.
 * @return bool The function returns TRUE if the self test succeeds, or
 *   FALSE when it fails.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mcrypt_module_self_test($algorithm, $lib_dir){}

/**
 * Encrypts/decrypts data in OFB mode
 *
 * The first prototype is when linked against libmcrypt 2.2.x, the second
 * when linked against libmcrypt 2.4.x or higher. The {@link mode} should
 * be either MCRYPT_ENCRYPT or MCRYPT_DECRYPT.
 *
 * @param int $cipher
 * @param string $key
 * @param string $data
 * @param int $mode
 * @param string $iv
 * @return string
 * @since PHP 4, PHP 5
 **/
function mcrypt_ofb($cipher, $key, $data, $mode, $iv){}

/**
 * Calculate the md5 hash of a string
 *
 * Calculates the MD5 hash of {@link str} using the RSA Data Security,
 * Inc. MD5 Message-Digest Algorithm, and returns that hash.
 *
 * @param string $str The string.
 * @param bool $raw_output If the optional {@link raw_output} is set to
 *   TRUE, then the md5 digest is instead returned in raw binary format
 *   with a length of 16.
 * @return string Returns the hash as a 32-character hexadecimal
 *   number.
 * @since PHP 4, PHP 5, PHP 7
 **/
function md5($str, $raw_output){}

/**
 * Calculates the md5 hash of a given file
 *
 * Calculates the MD5 hash of the file specified by the {@link filename}
 * parameter using the RSA Data Security, Inc. MD5 Message-Digest
 * Algorithm, and returns that hash. The hash is a 32-character
 * hexadecimal number.
 *
 * @param string $filename The filename
 * @param bool $raw_output When TRUE, returns the digest in raw binary
 *   format with a length of 16.
 * @return string Returns a string on success, FALSE otherwise.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function md5_file($filename, $raw_output){}

/**
 * Decrypts data
 *
 * This function decrypts data. Note that the length of the returned
 * string can in fact be longer than the unencrypted string, due to the
 * padding of the data.
 *
 * @param resource $td An encryption descriptor returned by {@link
 *   mcrypt_module_open}
 * @param string $data Encrypted data.
 * @return string
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7 < 7.2.0, PECL mcrypt >= 1.0.0
 **/
function mdecrypt_generic($td, $data){}

/**
 * Turn debug output on/off
 *
 * {@link memcache_debug} turns on debug output if parameter {@link
 * on_off} is equal to TRUE and turns off if it's FALSE. {@link
 * memcache_debug} is accessible only if PHP was built with
 * --enable-debug option and always returns TRUE in this case. Otherwise,
 * this function has no effect and always returns FALSE.
 *
 * @param bool $on_off Turns debug output on if equals to TRUE. Turns
 *   debug output off if equals to FALSE.
 * @return bool Returns TRUE if PHP was built with --enable-debug
 *   option, otherwise returns FALSE.
 **/
function memcache_debug($on_off){}

/**
 * Returns the peak of memory allocated by PHP
 *
 * Returns the peak of memory, in bytes, that's been allocated to your
 * PHP script.
 *
 * @param bool $real_usage Set this to TRUE to get the real size of
 *   memory allocated from system. If not set or FALSE only the memory
 *   used by emalloc() is reported.
 * @return int Returns the memory peak in bytes.
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function memory_get_peak_usage($real_usage){}

/**
 * Returns the amount of memory allocated to PHP
 *
 * Returns the amount of memory, in bytes, that's currently being
 * allocated to your PHP script.
 *
 * @param bool $real_usage Set this to TRUE to get total memory
 *   allocated from system, including unused pages. If not set or FALSE
 *   only the used memory is reported.
 * @return int Returns the memory amount in bytes.
 * @since PHP 4 >= 4.3.2, PHP 5, PHP 7
 **/
function memory_get_usage($real_usage){}

/**
 * Calculate the metaphone key of a string
 *
 * Calculates the metaphone key of {@link str}.
 *
 * Similar to {@link soundex} metaphone creates the same key for similar
 * sounding words. It's more accurate than {@link soundex} as it knows
 * the basic rules of English pronunciation. The metaphone generated keys
 * are of variable length.
 *
 * Metaphone was developed by Lawrence Philips <lphilips at verity dot
 * com>. It is described in ["Practical Algorithms for Programmers",
 * Binstock & Rex, Addison Wesley, 1995].
 *
 * @param string $str The input string.
 * @param int $phonemes This parameter restricts the returned metaphone
 *   key to {@link phonemes} characters in length. The default value of 0
 *   means no restriction.
 * @return string Returns the metaphone key as a string, .
 * @since PHP 4, PHP 5, PHP 7
 **/
function metaphone($str, $phonemes){}

/**
 * Checks if the class method exists
 *
 * Checks if the class method exists in the given {@link object}.
 *
 * @param mixed $object An object instance or a class name
 * @param string $method_name The method name
 * @return bool Returns TRUE if the method given by {@link method_name}
 *   has been defined for the given {@link object}, FALSE otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function method_exists($object, $method_name){}

/**
 * Computes hash
 *
 * {@link mhash} applies a hash function specified by {@link hash} to the
 * {@link data}.
 *
 * @param int $hash The hash ID. One of the MHASH_hashname constants.
 * @param string $data The user input, as a string.
 * @param string $key If specified, the function will return the
 *   resulting HMAC instead. HMAC is keyed hashing for message
 *   authentication, or simply a message digest that depends on the
 *   specified key. Not all algorithms supported in mhash can be used in
 *   HMAC mode.
 * @return string Returns the resulting hash (also called digest) or
 *   HMAC as a string, or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function mhash($hash, $data, $key){}

/**
 * Gets the highest available hash ID
 *
 * @return int Returns the highest available hash ID. Hashes are
 *   numbered from 0 to this hash ID.
 * @since PHP 4, PHP 5, PHP 7
 **/
function mhash_count(){}

/**
 * Gets the block size of the specified hash
 *
 * Gets the size of a block of the specified {@link hash}.
 *
 * @param int $hash The hash ID. One of the MHASH_hashname constants.
 * @return int Returns the size in bytes or FALSE, if the {@link hash}
 *   does not exist.
 * @since PHP 4, PHP 5, PHP 7
 **/
function mhash_get_block_size($hash){}

/**
 * Gets the name of the specified hash
 *
 * Gets the name of the specified {@link hash}.
 *
 * @param int $hash The hash ID. One of the MHASH_hashname constants.
 * @return string Returns the name of the hash or FALSE, if the hash
 *   does not exist.
 * @since PHP 4, PHP 5, PHP 7
 **/
function mhash_get_hash_name($hash){}

/**
 * Generates a key
 *
 * Generates a key according to the given {@link hash}, using an user
 * provided {@link password}.
 *
 * This is the Salted S2K algorithm as specified in the OpenPGP document
 * (RFC 2440).
 *
 * Keep in mind that user supplied passwords are not really suitable to
 * be used as keys in cryptographic algorithms, since users normally
 * choose keys they can write on keyboard. These passwords use only 6 to
 * 7 bits per character (or less). It is highly recommended to use some
 * kind of transformation (like this function) to the user supplied key.
 *
 * @param int $hash The hash ID used to create the key. One of the
 *   MHASH_hashname constants.
 * @param string $password An user supplied password.
 * @param string $salt Must be different and random enough for every
 *   key you generate in order to create different keys. Because {@link
 *   salt} must be known when you check the keys, it is a good idea to
 *   append the key to it. Salt has a fixed length of 8 bytes and will be
 *   padded with zeros if you supply less bytes.
 * @param int $bytes The key length, in bytes.
 * @return string Returns the generated key as a string, or FALSE on
 *   error.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function mhash_keygen_s2k($hash, $password, $salt, $bytes){}

/**
 * Return current Unix timestamp with microseconds
 *
 * {@link microtime} returns the current Unix timestamp with
 * microseconds. This function is only available on operating systems
 * that support the gettimeofday() system call.
 *
 * @param bool $get_as_float If used and set to TRUE, {@link microtime}
 *   will return a float instead of a string, as described in the return
 *   values section below.
 * @return mixed By default, {@link microtime} returns a string in the
 *   form "msec sec", where sec is the number of seconds since the Unix
 *   epoch (0:00:00 January 1,1970 GMT), and msec measures microseconds
 *   that have elapsed since sec and is also expressed in seconds.
 * @since PHP 4, PHP 5, PHP 7
 **/
function microtime($get_as_float){}

/**
 * Detect MIME Content-type for a file
 *
 * Returns the MIME content type for a file as determined by using
 * information from the magic.mime file.
 *
 * @param string $filename Path to the tested file.
 * @return string Returns the content type in MIME format, like
 *   text/plain or application/octet-stream, .
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function mime_content_type($filename){}

/**
 * Find lowest value
 *
 * If the first and only parameter is an array, {@link min} returns the
 * lowest value in that array. If at least two parameters are provided,
 * {@link min} returns the smallest of these values.
 *
 * @param array $values An array containing the values.
 * @return mixed {@link min} returns the parameter value considered
 *   "lowest" according to standard comparisons. If multiple values of
 *   different types evaluate as equal (e.g. 0 and 'abc') the first
 *   provided to the function will be returned.
 * @since PHP 4, PHP 5, PHP 7
 **/
function min($values){}

/**
 * Returns the action flag for keyPress(char)
 *
 * @param string $char
 * @return int
 * @since PHP 5 < 5.3.0, PECL ming SVN
 **/
function ming_keypress($char){}

/**
 * Set cubic threshold
 *
 * Sets the threshold error for drawing cubic beziers.
 *
 * @param int $threshold The Threshold. Lower is more accurate, hence
 *   larger file size.
 * @return void
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7, PECL ming SVN
 **/
function ming_setcubicthreshold($threshold){}

/**
 * Set the global scaling factor
 *
 * Sets the scale of the output SWF. Inside the SWF file, coordinates are
 * measured in TWIPS, rather than PIXELS. There are 20 TWIPS in 1 pixel.
 *
 * @param float $scale The scale to be set.
 * @return void
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7, PECL ming SVN
 **/
function ming_setscale($scale){}

/**
 * Sets the SWF output compression
 *
 * Sets the SWF output compression level.
 *
 * @param int $level The new compression level. Should be a value
 *   between 1 and 9 inclusive.
 * @return void
 * @since PHP 5.2.1-5.3.0, PHP 7, PECL ming SVN
 **/
function ming_setswfcompression($level){}

/**
 * Use constant pool
 *
 * @param int $use
 * @return void
 * @since PHP 5 < 5.3.0, PECL ming SVN
 **/
function ming_useconstants($use){}

/**
 * Sets the SWF version
 *
 * Sets the SWF version to be used in the movie. This affect the
 * bahaviour of Action Script.
 *
 * @param int $version SWF version to use.
 * @return void
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ming SVN
 **/
function ming_useswfversion($version){}

/**
 * Makes directory
 *
 * Attempts to create the directory specified by pathname.
 *
 * @param string $pathname The directory path.
 * @param int $mode The mode is 0777 by default, which means the widest
 *   possible access. For more information on modes, read the details on
 *   the {@link chmod} page. Note that you probably want to specify the
 *   mode as an octal number, which means it should have a leading zero.
 *   The mode is also modified by the current umask, which you can change
 *   using {@link umask}.
 * @param bool $recursive Allows the creation of nested directories
 *   specified in the {@link pathname}.
 * @param resource $context
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function mkdir($pathname, $mode, $recursive, $context){}

/**
 * Get Unix timestamp for a date
 *
 * Returns the Unix timestamp corresponding to the arguments given. This
 * timestamp is a long integer containing the number of seconds between
 * the Unix Epoch (January 1 1970 00:00:00 GMT) and the time specified.
 *
 * Arguments may be left out in order from right to left; any arguments
 * thus omitted will be set to the current value according to the local
 * date and time.
 *
 * @param int $hour The number of the hour relative to the start of the
 *   day determined by {@link month}, {@link day} and {@link year}.
 *   Negative values reference the hour before midnight of the day in
 *   question. Values greater than 23 reference the appropriate hour in
 *   the following day(s).
 * @param int $minute The number of the minute relative to the start of
 *   the {@link hour}. Negative values reference the minute in the
 *   previous hour. Values greater than 59 reference the appropriate
 *   minute in the following hour(s).
 * @param int $second The number of seconds relative to the start of
 *   the {@link minute}. Negative values reference the second in the
 *   previous minute. Values greater than 59 reference the appropriate
 *   second in the following minute(s).
 * @param int $month The number of the month relative to the end of the
 *   previous year. Values 1 to 12 reference the normal calendar months
 *   of the year in question. Values less than 1 (including negative
 *   values) reference the months in the previous year in reverse order,
 *   so 0 is December, -1 is November, etc. Values greater than 12
 *   reference the appropriate month in the following year(s).
 * @param int $day The number of the day relative to the end of the
 *   previous month. Values 1 to 28, 29, 30 or 31 (depending upon the
 *   month) reference the normal days in the relevant month. Values less
 *   than 1 (including negative values) reference the days in the
 *   previous month, so 0 is the last day of the previous month, -1 is
 *   the day before that, etc. Values greater than the number of days in
 *   the relevant month reference the appropriate day in the following
 *   month(s).
 * @param int $year The number of the year, may be a two or four digit
 *   value, with values between 0-69 mapping to 2000-2069 and 70-100 to
 *   1970-2000. On systems where time_t is a 32bit signed integer, as
 *   most common today, the valid range for {@link year} is somewhere
 *   between 1901 and 2038. However, before PHP 5.1.0 this range was
 *   limited from 1970 to 2038 on some systems (e.g. Windows).
 * @param int $is_dst This parameter can be set to 1 if the time is
 *   during daylight savings time (DST), 0 if it is not, or -1 (the
 *   default) if it is unknown whether the time is within daylight
 *   savings time or not. If it's unknown, PHP tries to figure it out
 *   itself. This can cause unexpected (but not incorrect) results. Some
 *   times are invalid if DST is enabled on the system PHP is running on
 *   or {@link is_dst} is set to 1. If DST is enabled in e.g. 2:00, all
 *   times between 2:00 and 3:00 are invalid and {@link mktime} returns
 *   an undefined (usually negative) value. Some systems (e.g. Solaris 8)
 *   enable DST at midnight so time 0:30 of the day when DST is enabled
 *   is evaluated as 23:30 of the previous day.
 * @return int {@link mktime} returns the Unix timestamp of the
 *   arguments given. If the arguments are invalid, the function returns
 *   FALSE (before PHP 5.1 it returned -1).
 * @since PHP 4, PHP 5, PHP 7
 **/
function mktime($hour, $minute, $second, $month, $day, $year, $is_dst){}

/**
 * Formats a number as a currency string
 *
 * {@link money_format} returns a formatted version of {@link number}.
 * This function wraps the C library function {@link strfmon}, with the
 * difference that this implementation converts only one number at a
 * time.
 *
 * @param string $format The format specification consists of the
 *   following sequence: a % character optional flags optional field
 *   width optional left precision optional right precision a required
 *   conversion character
 * @param float $number The character = followed by a (single byte)
 *   character f to be used as the numeric fill character. The default
 *   fill character is space.
 * @return string Returns the formatted string. Characters before and
 *   after the formatting string will be returned unchanged. Non-numeric
 *   {@link number} causes returning NULL and emitting E_WARNING.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function money_format($format, $number){}

namespace MongoDB\BSON {

/**
 * Returns the BSON representation of a JSON value
 *
 * Converts an extended JSON string to its BSON representation.
 *
 * @param string $json JSON value to be converted.
 * @return string The serialized BSON document as a binary string.
 **/
function fromJSON($json){}

}

namespace MongoDB\BSON {

/**
 * Returns the BSON representation of a PHP value
 *
 * Serializes a PHP array or object (e.g. document) to its BSON
 * representation. The returned binary string will describe a BSON
 * document.
 *
 * @param array|object $value PHP value to be serialized.
 * @return string The serialized BSON document as a binary string.
 **/
function fromPHP($value){}

}

namespace MongoDB\BSON {

/**
 * Returns the Canonical Extended JSON representation of a BSON value
 *
 * Converts a BSON string to its Canonical Extended JSON representation.
 * The canonical format prefers type fidelity at the expense of concise
 * output and is most suited for producing output that can be converted
 * back to BSON without any loss of type information (e.g. numeric types
 * will remain differentiated).
 *
 * @param string $bson BSON value to be converted.
 * @return string The converted JSON value.
 **/
function toCanonicalExtendedJSON($bson){}

}

namespace MongoDB\BSON {

/**
 * Returns the Legacy Extended JSON representation of a BSON value
 *
 * Converts a BSON string to its Legacy Extended JSON representation.
 *
 * @param string $bson BSON value to be converted.
 * @return string The converted JSON value.
 **/
function toJSON($bson){}

}

namespace MongoDB\BSON {

/**
 * Returns the PHP representation of a BSON value
 *
 * Unserializes a BSON document (i.e. binary string) to its PHP
 * representation. The {@link typeMap} paramater may be used to control
 * the PHP types used for converting BSON arrays and documents (both root
 * and embedded).
 *
 * @param string $bson BSON value to be unserialized.
 * @param array $typeMap
 * @return array|object The unserialized PHP value.
 **/
function toPHP($bson, $typeMap){}

}

namespace MongoDB\BSON {

/**
 * Returns the Relaxed Extended JSON representation of a BSON value
 *
 * Converts a BSON string to its Relaxed Extended JSON representation.
 * The relaxed format prefers use of JSON type primitives at the expense
 * of type fidelity and is most suited for producing output that can be
 * easily consumed by web APIs and humans.
 *
 * @param string $bson BSON value to be converted.
 * @return string The converted JSON value.
 **/
function toRelaxedExtendedJSON($bson){}

}

namespace MongoDB\Driver\Monitoring {

/**
 * Registers a new monitoring event subscriber
 *
 * Registers a new monitoring event subscriber with the driver.
 * Registered subscribers will be notified of monitoring events through
 * specific methods.
 *
 * @param MongoDB\Driver\Monitoring\Subscriber $subscriber A monitoring
 *   event subscriber object to register.
 * @return void
 **/
function addSubscriber($subscriber){}

}

/**
 * Moves an uploaded file to a new location
 *
 * This function checks to ensure that the file designated by {@link
 * filename} is a valid upload file (meaning that it was uploaded via
 * PHP's HTTP POST upload mechanism). If the file is valid, it will be
 * moved to the filename given by {@link destination}.
 *
 * This sort of check is especially important if there is any chance that
 * anything done with uploaded files could reveal their contents to the
 * user, or even to other users on the same system.
 *
 * @param string $filename The filename of the uploaded file.
 * @param string $destination The destination of the moved file.
 * @return bool Returns TRUE on success.
 * @since PHP 4 >= 4.0.3, PHP 5, PHP 7
 **/
function move_uploaded_file($filename, $destination){}

/**
 * MQSeries MQBACK
 *
 * The {@link mqseries_back} (MQBACK) call indicates to the queue manager
 * that all the message gets and puts that have occurred since the last
 * syncpoint are to be backed out. Messages put as part of a unit of work
 * are deleted; messages retrieved as part of a unit of work are
 * reinstated on the queue.
 *
 * Using {@link mqseries_back} only works in conjunction with {@link
 * mqseries_begin} and only function when connecting directly to a Queueu
 * manager. Not via the mqclient interface.
 *
 * @param resource $hconn Connection handle. This handle represents the
 *   connection to the queue manager.
 * @param resource $compCode Completion code.
 * @param resource $reason Reason code qualifying the compCode.
 * @return void
 * @since PECL mqseries >= 0.10.0
 **/
function mqseries_back($hconn, &$compCode, &$reason){}

/**
 * MQseries MQBEGIN
 *
 * The {@link mqseries_begin} (MQBEGIN) call begins a unit of work that
 * is coordinated by the queue manager, and that may involve external
 * resource managers.
 *
 * Using {@link mqseries_begin} starts the unit of work. Either {@link
 * mqseries_back} or {@link mqseries_cmit} ends the unit of work.
 *
 * @param resource $hconn Connection handle. This handle represents the
 *   connection to the queue manager.
 * @param array $beginOptions Completion code.
 * @param resource $compCode Reason code qualifying the compCode.
 * @param resource $reason
 * @return void
 * @since PECL mqseries >= 0.10.0
 **/
function mqseries_begin($hconn, $beginOptions, &$compCode, &$reason){}

/**
 * MQSeries MQCLOSE
 *
 * The {@link mqseries_close} (MQCLOSE) call relinquishes access to an
 * object, and is the inverse of the {@link mqseries_open} (MQOPEN) call.
 *
 * @param resource $hconn Connection handle. This handle represents the
 *   connection to the queue manager.
 * @param resource $hobj Object handle. This handle represents the
 *   object to be used.
 * @param int $options
 * @param resource $compCode Completion code.
 * @param resource $reason Reason code qualifying the compCode.
 * @return void
 * @since PECL mqseries >= 0.10.0
 **/
function mqseries_close($hconn, $hobj, $options, &$compCode, &$reason){}

/**
 * MQSeries MQCMIT
 *
 * The {@link mqseries_cmit} (MQCMIT) call indicates to the queue manager
 * that the application has reached a syncpoint, and that all of the
 * message gets and puts that have occurred since the last syncpoint are
 * to be made permanent. Messages put as part of a unit of work are made
 * available to other applications; messages retrieved as part of a unit
 * of work are deleted.
 *
 * @param resource $hconn Connection handle. This handle represents the
 *   connection to the queue manager.
 * @param resource $compCode Completion code.
 * @param resource $reason Reason code qualifying the compCode.
 * @return void
 * @since PECL mqseries >= 0.10.0
 **/
function mqseries_cmit($hconn, &$compCode, &$reason){}

/**
 * MQSeries MQCONN
 *
 * The {@link mqseries_conn} (MQCONN) call connects an application
 * program to a queue manager. It provides a queue manager connection
 * handle, which is used by the application on subsequent message queuing
 * calls.
 *
 * @param string $qManagerName Name of queue manager. Name of the queue
 *   manager the application wishes to connect.
 * @param resource $hconn Connection handle. This handle represents the
 *   connection to the queue manager.
 * @param resource $compCode Completion code.
 * @param resource $reason Reason code qualifying the compCode.
 * @return void
 * @since PECL mqseries >= 0.10.0
 **/
function mqseries_conn($qManagerName, &$hconn, &$compCode, &$reason){}

/**
 * MQSeries MQCONNX
 *
 * The {@link mqseries_connx} (MQCONNX) call connects an application
 * program to a queue manager. It provides a queue manager connection
 * handle, which is used by the application on subsequent MQ calls.
 *
 * The {@link mqseries_connx} call is like the {@link mqseries_conn}
 * (MQCONN) call, except that MQCONNX allows options to be specified to
 * control the way that the call works.
 *
 * @param string $qManagerName Name of queue manager. Name of the queue
 *   manager the application wishes to connect.
 * @param array $connOptions Options that control the action of
 *   function See also the MQCNO structure.
 * @param resource $hconn Connection handle. This handle represents the
 *   connection to the queue manager.
 * @param resource $compCode Completion code.
 * @param resource $reason Reason code qualifying the compCode.
 * @return void
 * @since PECL mqseries >= 0.10.0
 **/
function mqseries_connx($qManagerName, &$connOptions, &$hconn, &$compCode, &$reason){}

/**
 * MQSeries MQDISC
 *
 * The {@link mqseries_disc} (MQDISC) call breaks the connection between
 * the queue manager and the application program, and is the inverse of
 * the {@link mqseries_conn} (MQCONN) or {@link mqseries_connx} (MQCONNX)
 * call.
 *
 * @param resource $hconn Connection handle. This handle represents the
 *   connection to the queue manager.
 * @param resource $compCode Completion code.
 * @param resource $reason Reason code qualifying the compCode.
 * @return void
 * @since PECL mqseries >= 0.10.0
 **/
function mqseries_disc($hconn, &$compCode, &$reason){}

/**
 * MQSeries MQGET
 *
 * The {@link mqseries_get} (MQGET) call retrieves a message from a local
 * queue that has been opened using the {@link mqseries_open} (MQOPEN)
 * call
 *
 * @param resource $hConn Connection handle. This handle represents the
 *   connection to the queue manager.
 * @param resource $hObj Object handle. This handle represents the
 *   object to be used.
 * @param array $md Message descriptor (MQMD).
 * @param array $gmo Get message options (MQGMO).
 * @param int $bufferLength Expected length of the result buffer
 * @param string $msg Buffer holding the message that was retrieved
 *   from the object.
 * @param int $data_length Actual buffer length
 * @param resource $compCode Completion code.
 * @param resource $reason Reason code qualifying the compCode.
 * @return void
 * @since PECL mqseries >= 0.10.0
 **/
function mqseries_get($hConn, $hObj, &$md, &$gmo, &$bufferLength, &$msg, &$data_length, &$compCode, &$reason){}

/**
 * MQSeries MQINQ
 *
 * The {@link mqseries_inq} (MQINQ) call returns an array of integers and
 * a set of character strings containing the attributes of an object.
 *
 * @param resource $hconn Connection handle. This handle represents the
 *   connection to the queue manager.
 * @param resource $hobj Object handle. This handle represents the
 *   object to be used.
 * @param int $selectorCount Count of selectors.
 * @param array $selectors Array of attribute selectors.
 * @param int $intAttrCount Count of integer attributes.
 * @param resource $intAttr Array of integer attributes.
 * @param int $charAttrLength Length of character attributes buffer.
 * @param resource $charAttr Character attributes.
 * @param resource $compCode Completion code.
 * @param resource $reason Reason code qualifying the compCode.
 * @return void
 * @since PECL mqseries >= 0.10.0
 **/
function mqseries_inq($hconn, $hobj, $selectorCount, $selectors, $intAttrCount, &$intAttr, $charAttrLength, &$charAttr, &$compCode, &$reason){}

/**
 * MQSeries MQOPEN
 *
 * The {@link mqseries_open} (MQOPEN) call establishes access to an
 * object.
 *
 * @param resource $hconn Connection handle. This handle represents the
 *   connection to the queue manager.
 * @param array $objDesc Object descriptor. (MQOD)
 * @param int $option Options that control the action of the function.
 * @param resource $hobj Object handle. This handle represents the
 *   object to be used.
 * @param resource $compCode Completion code.
 * @param resource $reason Reason code qualifying the compCode.
 * @return void
 * @since PECL mqseries >= 0.10.0
 **/
function mqseries_open($hconn, &$objDesc, $option, &$hobj, &$compCode, &$reason){}

/**
 * MQSeries MQPUT
 *
 * The {@link mqseries_put} (MQPUT) call puts a message on a queue or
 * distribution list. The queue or distribution list must already be
 * open.
 *
 * @param resource $hConn Connection handle. This handle represents the
 *   connection to the queue manager.
 * @param resource $hObj Object handle. This handle represents the
 *   object to be used.
 * @param array $md Message descriptor (MQMD).
 * @param array $pmo Put message options (MQPMO).
 * @param string $message The actual message to put onto the queue.
 * @param resource $compCode Completion code.
 * @param resource $reason Reason code qualifying the compCode.
 * @return void
 * @since PECL mqseries >= 0.10.0
 **/
function mqseries_put($hConn, $hObj, &$md, &$pmo, $message, &$compCode, &$reason){}

/**
 * MQSeries MQPUT1
 *
 * The {@link mqseries_put1} (MQPUT1) call puts one message on a queue.
 * The queue need not be open.
 *
 * You can use both the {@link mqseries_put} and {@link mqseries_put1}
 * calls to put messages on a queue; which call to use depends on the
 * circumstances. Use the {@link mqseries_put} (MQPUT) call to place
 * multiple messages on the same queue. Use the {@link mqseries_put1}
 * (MQPUT1) call to put only one message on a queue. This call
 * encapsulates the MQOPEN, MQPUT, and MQCLOSE calls into a single call,
 * minimizing the number of calls that must be issued.
 *
 * @param resource $hconn Connection handle. This handle represents the
 *   connection to the queue manager.
 * @param resource $objDesc Object descriptor. (MQOD) This is a
 *   structure which identifies the queue to which the message is added.
 * @param resource $msgDesc Message descriptor (MQMD).
 * @param resource $pmo Put message options (MQPMO).
 * @param string $buffer Completion code.
 * @param resource $compCode Reason code qualifying the compCode.
 * @param resource $reason
 * @return void
 * @since PECL mqseries >= 0.10.0
 **/
function mqseries_put1($hconn, &$objDesc, &$msgDesc, &$pmo, $buffer, &$compCode, &$reason){}

/**
 * MQSeries MQSET
 *
 * The {@link mqseries_set} (MQSET) call is used to change the attributes
 * of an object represented by a handle. The object must be a queue.
 *
 * @param resource $hConn Connection handle. This handle represents the
 *   connection to the queue manager.
 * @param resource $hObj Object handle. This handle represents the
 *   object to be used.
 * @param int $selectorCount Count of selectors.
 * @param array $selectors Array of attribute selectors.
 * @param int $intAttrCount Count of integer attributes.
 * @param array $intAttrs Array of integer attributes.
 * @param int $charAttrLength Length of character attributes buffer.
 * @param array $charAttrs Character attributes.
 * @param resource $compCode Completion code.
 * @param resource $reason Reason code qualifying the compCode.
 * @return void
 * @since PECL mqseries >= 0.10.0
 **/
function mqseries_set($hConn, $hObj, $selectorCount, $selectors, $intAttrCount, $intAttrs, $charAttrLength, $charAttrs, &$compCode, &$reason){}

/**
 * Returns the error message corresponding to a result code (MQRC)
 *
 * {@link mqseries_strerror} returns the message that correspond to the
 * reason result code.
 *
 * @param int $reason Reason code qualifying the compCode.
 * @return string string representation of the reason code message.
 * @since PECL mqseries >= 0.10.0
 **/
function mqseries_strerror($reason){}

/**
 * Connect to msession server
 *
 * @param string $host
 * @param string $port
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.3
 **/
function msession_connect($host, $port){}

/**
 * Get session count
 *
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.3
 **/
function msession_count(){}

/**
 * Create a session
 *
 * @param string $session
 * @param string $classname
 * @param string $data
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.3
 **/
function msession_create($session, $classname, $data){}

/**
 * Destroy a session
 *
 * @param string $name
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.3
 **/
function msession_destroy($name){}

/**
 * Close connection to msession server
 *
 * @return void
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.3
 **/
function msession_disconnect(){}

/**
 * Find all sessions with name and value
 *
 * @param string $name
 * @param string $value
 * @return array
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.3
 **/
function msession_find($name, $value){}

/**
 * Get value from session
 *
 * @param string $session
 * @param string $name
 * @param string $value
 * @return string
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.3
 **/
function msession_get($session, $name, $value){}

/**
 * Get array of msession variables
 *
 * @param string $session
 * @return array
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.3
 **/
function msession_get_array($session){}

/**
 * Get data session unstructured data
 *
 * @param string $session
 * @return string
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.3
 **/
function msession_get_data($session){}

/**
 * Increment value in session
 *
 * @param string $session
 * @param string $name
 * @return string
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.3
 **/
function msession_inc($session, $name){}

/**
 * List all sessions
 *
 * @return array
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.3
 **/
function msession_list(){}

/**
 * List sessions with variable
 *
 * Used for searching sessions with common attributes.
 *
 * @param string $name The name being searched.
 * @return array Returns an associative array of value/session for all
 *   sessions with a variable named {@link name}.
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.3
 **/
function msession_listvar($name){}

/**
 * Lock a session
 *
 * @param string $name
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.3
 **/
function msession_lock($name){}

/**
 * Call an escape function within the msession personality plugin
 *
 * @param string $session
 * @param string $val
 * @param string $param
 * @return string
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.3
 **/
function msession_plugin($session, $val, $param){}

/**
 * Get random string
 *
 * @param int $param
 * @return string
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.3
 **/
function msession_randstr($param){}

/**
 * Set value in session
 *
 * @param string $session
 * @param string $name
 * @param string $value
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.3
 **/
function msession_set($session, $name, $value){}

/**
 * Set msession variables from an array
 *
 * @param string $session
 * @param array $tuples
 * @return void
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.3
 **/
function msession_set_array($session, $tuples){}

/**
 * Set data session unstructured data
 *
 * @param string $session
 * @param string $value
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.3
 **/
function msession_set_data($session, $value){}

/**
 * Set/get session timeout
 *
 * @param string $session
 * @param int $param
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.3
 **/
function msession_timeout($session, $param){}

/**
 * Get unique id
 *
 * @param int $param
 * @param string $classname
 * @param string $data
 * @return string
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.3
 **/
function msession_uniq($param, $classname, $data){}

/**
 * Unlock a session
 *
 * @param string $session
 * @param int $key
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.3
 **/
function msession_unlock($session, $key){}

/**
 * Constructs a new Message Formatter
 *
 * (method)
 *
 * (constructor):
 *
 * @param string $locale The locale to use when formatting arguments
 * @param string $pattern The pattern string to stick arguments into.
 *   The pattern uses an 'apostrophe-friendly' syntax; it is run through
 *   umsg_autoQuoteApostrophe before being interpreted.
 * @return MessageFormatter The formatter object
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function msgfmt_create($locale, $pattern){}

/**
 * Format the message
 *
 * Format the message by substituting the data into the format string
 * according to the locale rules
 *
 * @param MessageFormatter $fmt The message formatter
 * @param array $args Arguments to insert into the format string
 * @return string The formatted string, or FALSE if an error occurred
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function msgfmt_format($fmt, $args){}

/**
 * Quick format message
 *
 * Quick formatting function that formats the string without having to
 * explicitly create the formatter object. Use this function when the
 * format operation is done only once and does not need and parameters or
 * state to be kept.
 *
 * @param string $locale The locale to use for formatting
 *   locale-dependent parts
 * @param string $pattern The pattern string to insert things into. The
 *   pattern uses an 'apostrophe-friendly' syntax; it is run through
 *   umsg_autoQuoteApostrophe before being interpreted.
 * @param array $args The array of values to insert into the format
 *   string
 * @return string The formatted pattern string or FALSE if an error
 *   occurred
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function msgfmt_format_message($locale, $pattern, $args){}

/**
 * Get the error code from last operation
 *
 * @param MessageFormatter $fmt The message formatter
 * @return int The error code, one of UErrorCode values. Initial value
 *   is U_ZERO_ERROR.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function msgfmt_get_error_code($fmt){}

/**
 * Get the error text from the last operation
 *
 * @param MessageFormatter $fmt The message formatter
 * @return string Description of the last error.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function msgfmt_get_error_message($fmt){}

/**
 * Get the locale for which the formatter was created
 *
 * @param NumberFormatter $formatter The formatter resource
 * @return string The locale name
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function msgfmt_get_locale($formatter){}

/**
 * Get the pattern used by the formatter
 *
 * @param MessageFormatter $fmt The message formatter
 * @return string The pattern string for this message formatter
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function msgfmt_get_pattern($fmt){}

/**
 * Parse input string according to pattern
 *
 * Parses input string and return any extracted items as an array.
 *
 * @param MessageFormatter $fmt The message formatter
 * @param string $value The string to parse
 * @return array An array containing the items extracted, or FALSE on
 *   error
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function msgfmt_parse($fmt, $value){}

/**
 * Quick parse input string
 *
 * Parses input string without explicitly creating the formatter object.
 * Use this function when the format operation is done only once and does
 * not need and parameters or state to be kept.
 *
 * @param string $locale The locale to use for parsing locale-dependent
 *   parts
 * @param string $pattern The pattern with which to parse the {@link
 *   value}.
 * @param string $value The string to parse, conforming to the {@link
 *   pattern}.
 * @return array An array containing items extracted, or FALSE on error
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function msgfmt_parse_message($locale, $pattern, $value){}

/**
 * Set the pattern used by the formatter
 *
 * @param MessageFormatter $fmt The message formatter
 * @param string $pattern The pattern string to use in this message
 *   formatter. The pattern uses an 'apostrophe-friendly' syntax; it is
 *   run through umsg_autoQuoteApostrophe before being interpreted.
 * @return bool
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function msgfmt_set_pattern($fmt, $pattern){}

/**
 * Create or attach to a message queue
 *
 * {@link msg_get_queue} returns an id that can be used to access the
 * System V message queue with the given {@link key}. The first call
 * creates the message queue with the optional {@link perms}. A second
 * call to {@link msg_get_queue} for the same {@link key} will return a
 * different message queue identifier, but both identifiers access the
 * same underlying message queue.
 *
 * @param int $key Message queue numeric ID
 * @param int $perms Queue permissions. Default to 0666. If the message
 *   queue already exists, the {@link perms} will be ignored.
 * @return resource Returns a resource handle that can be used to
 *   access the System V message queue.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function msg_get_queue($key, $perms){}

/**
 * Check whether a message queue exists
 *
 * Checks whether the message queue {@link key} exists.
 *
 * @param int $key Queue key.
 * @return bool
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function msg_queue_exists($key){}

/**
 * Receive a message from a message queue
 *
 * {@link msg_receive} will receive the first message from the specified
 * {@link queue} of the type specified by {@link desiredmsgtype}.
 *
 * @param resource $queue
 * @param int $desiredmsgtype If {@link desiredmsgtype} is 0, the
 *   message from the front of the queue is returned. If {@link
 *   desiredmsgtype} is greater than 0, then the first message of that
 *   type is returned. If {@link desiredmsgtype} is less than 0, the
 *   first message on the queue with the lowest type less than or equal
 *   to the absolute value of {@link desiredmsgtype} will be read. If no
 *   messages match the criteria, your script will wait until a suitable
 *   message arrives on the queue. You can prevent the script from
 *   blocking by specifying MSG_IPC_NOWAIT in the {@link flags}
 *   parameter.
 * @param int $msgtype The type of the message that was received will
 *   be stored in this parameter.
 * @param int $maxsize The maximum size of message to be accepted is
 *   specified by the {@link maxsize}; if the message in the queue is
 *   larger than this size the function will fail (unless you set {@link
 *   flags} as described below).
 * @param mixed $message The received message will be stored in {@link
 *   message}, unless there were errors receiving the message.
 * @param bool $unserialize If set to TRUE, the message is treated as
 *   though it was serialized using the same mechanism as the session
 *   module. The message will be unserialized and then returned to your
 *   script. This allows you to easily receive arrays or complex object
 *   structures from other PHP scripts, or if you are using the WDDX
 *   serializer, from any WDDX compatible source. If {@link unserialize}
 *   is FALSE, the message will be returned as a binary-safe string.
 * @param int $flags The optional {@link flags} allows you to pass
 *   flags to the low-level msgrcv system call. It defaults to 0, but you
 *   may specify one or more of the following values (by adding or ORing
 *   them together). Flag values for msg_receive MSG_IPC_NOWAIT If there
 *   are no messages of the {@link desiredmsgtype}, return immediately
 *   and do not wait. The function will fail and return an integer value
 *   corresponding to MSG_ENOMSG. MSG_EXCEPT Using this flag in
 *   combination with a {@link desiredmsgtype} greater than 0 will cause
 *   the function to receive the first message that is not equal to
 *   {@link desiredmsgtype}. MSG_NOERROR If the message is longer than
 *   {@link maxsize}, setting this flag will truncate the message to
 *   {@link maxsize} and will not signal an error.
 * @param int $errorcode If the function fails, the optional {@link
 *   errorcode} will be set to the value of the system errno variable.
 * @return bool
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function msg_receive($queue, $desiredmsgtype, &$msgtype, $maxsize, &$message, $unserialize, $flags, &$errorcode){}

/**
 * Destroy a message queue
 *
 * {@link msg_remove_queue} destroys the message queue specified by the
 * {@link queue}. Only use this function when all processes have finished
 * working with the message queue and you need to release the system
 * resources held by it.
 *
 * @param resource $queue Message queue resource handle
 * @return bool
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function msg_remove_queue($queue){}

/**
 * Send a message to a message queue
 *
 * {@link msg_send} sends a {@link message} of type {@link msgtype}
 * (which MUST be greater than 0) to the message queue specified by
 * {@link queue}.
 *
 * @param resource $queue
 * @param int $msgtype
 * @param mixed $message
 * @param bool $serialize The optional {@link serialize} controls how
 *   the {@link message} is sent. {@link serialize} defaults to TRUE
 *   which means that the {@link message} is serialized using the same
 *   mechanism as the session module before being sent to the queue. This
 *   allows complex arrays and objects to be sent to other PHP scripts,
 *   or if you are using the WDDX serializer, to any WDDX compatible
 *   client.
 * @param bool $blocking If the message is too large to fit in the
 *   queue, your script will wait until another process reads messages
 *   from the queue and frees enough space for your message to be sent.
 *   This is called blocking; you can prevent blocking by setting the
 *   optional {@link blocking} parameter to FALSE, in which case {@link
 *   msg_send} will immediately return FALSE if the message is too big
 *   for the queue, and set the optional {@link errorcode} to MSG_EAGAIN,
 *   indicating that you should try to send your message again a little
 *   later on.
 * @param int $errorcode
 * @return bool
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function msg_send($queue, $msgtype, $message, $serialize, $blocking, &$errorcode){}

/**
 * Set information in the message queue data structure
 *
 * {@link msg_set_queue} allows you to change the values of the
 * msg_perm.uid, msg_perm.gid, msg_perm.mode and msg_qbytes fields of the
 * underlying message queue data structure.
 *
 * Changing the data structure will require that PHP be running as the
 * same user that created the queue, owns the queue (as determined by the
 * existing msg_perm.xxx fields), or be running with root privileges.
 * root privileges are required to raise the msg_qbytes values above the
 * system defined limit.
 *
 * @param resource $queue Message queue resource handle
 * @param array $data You specify the values you require by setting the
 *   value of the keys that you require in the {@link data} array.
 * @return bool
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function msg_set_queue($queue, $data){}

/**
 * Returns information from the message queue data structure
 *
 * {@link msg_stat_queue} returns the message queue meta data for the
 * message queue specified by the {@link queue}. This is useful, for
 * example, to determine which process sent the message that was just
 * received.
 *
 * @param resource $queue Message queue resource handle
 * @return array The return value is an array whose keys and values
 *   have the following meanings: Array structure for msg_stat_queue
 *   msg_perm.uid The uid of the owner of the queue. msg_perm.gid The gid
 *   of the owner of the queue. msg_perm.mode The file access mode of the
 *   queue. msg_stime The time that the last message was sent to the
 *   queue. msg_rtime The time that the last message was received from
 *   the queue. msg_ctime The time that the queue was last changed.
 *   msg_qnum The number of messages waiting to be read from the queue.
 *   msg_qbytes The maximum number of bytes allowed in one message queue.
 *   On Linux, this value may be read and modified via
 *   /proc/sys/kernel/msgmnb. msg_lspid The pid of the process that sent
 *   the last message to the queue. msg_lrpid The pid of the process that
 *   received the last message from the queue.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function msg_stat_queue($queue){}

/**
 * Send mSQL query
 *
 * {@link msql} selects a database and executes a query on it.
 *
 * @param string $database The name of the mSQL database.
 * @param string $query The SQL query.
 * @param resource $link_identifier
 * @return resource Returns a positive mSQL query identifier to the
 *   query result, or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql($database, $query, $link_identifier){}

/**
 * Returns number of affected rows
 *
 * Returns number of affected rows by the last SELECT, UPDATE or DELETE
 * query associated with {@link result}.
 *
 * @param resource $result
 * @return int Returns the number of affected rows on success, or FALSE
 *   on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_affected_rows($result){}

/**
 * Close mSQL connection
 *
 * {@link msql_close} closes the non-persistent connection to the mSQL
 * server that's associated with the specified link identifier.
 *
 * Using {@link msql_close} isn't usually necessary, as non-persistent
 * open links are automatically closed at the end of the script's
 * execution. See also freeing resources.
 *
 * @param resource $link_identifier
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_close($link_identifier){}

/**
 * Open mSQL connection
 *
 * {@link msql_connect} establishes a connection to a mSQL server.
 *
 * If a second call is made to {@link msql_connect} with the same
 * arguments, no new link will be established, but instead, the link
 * identifier of the already opened link will be returned.
 *
 * The link to the server will be closed as soon as the execution of the
 * script ends, unless it's closed earlier by explicitly calling {@link
 * msql_close}.
 *
 * @param string $hostname The hostname can also include a port number.
 *   e.g. hostname,port. If not specified, the connection is established
 *   by the means of a Unix domain socket, being then more efficient then
 *   a localhost TCP socket connection.
 * @return resource Returns a positive mSQL link identifier on success,
 *   or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_connect($hostname){}

/**
 * Create mSQL database
 *
 * {@link msql_createdb} attempts to create a new database on the mSQL
 * server.
 *
 * @param string $database_name The name of the mSQL database.
 * @param resource $link_identifier
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_createdb($database_name, $link_identifier){}

/**
 * Create mSQL database
 *
 * {@link msql_create_db} attempts to create a new database on the mSQL
 * server.
 *
 * @param string $database_name The name of the mSQL database.
 * @param resource $link_identifier
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_create_db($database_name, $link_identifier){}

/**
 * Move internal row pointer
 *
 * {@link msql_data_seek} moves the internal row pointer of the mSQL
 * result associated with the specified query identifier to point to the
 * specified row number. The next call to {@link msql_fetch_row} would
 * return that row.
 *
 * @param resource $result The seeked row number.
 * @param int $row_number
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_data_seek($result, $row_number){}

/**
 * Get result data
 *
 * {@link msql_dbname} returns the contents of one cell from a mSQL
 * result set.
 *
 * When working on large result sets, you should consider using one of
 * the functions that fetch an entire row (specified below). As these
 * functions return the contents of multiple cells in one function call,
 * they are often much quicker than {@link msql_dbname}.
 *
 * Recommended high-performance alternatives: {@link msql_fetch_row},
 * {@link msql_fetch_array}, and {@link msql_fetch_object}.
 *
 * @param resource $result The row offset.
 * @param int $row Can be the field's offset, or the field's name, or
 *   the field's table dot field's name (tablename.fieldname.). If the
 *   column name has been aliased ('select foo as bar from ...'), use the
 *   alias instead of the column name.
 * @param mixed $field
 * @return string Returns the contents of the cell at the row and
 *   offset in the specified mSQL result set.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_dbname($result, $row, $field){}

/**
 * Send mSQL query
 *
 * {@link msql_db_query} selects a database and executes a query on it.
 *
 * @param string $database The name of the mSQL database.
 * @param string $query The SQL query.
 * @param resource $link_identifier
 * @return resource Returns a positive mSQL query identifier to the
 *   query result, or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_db_query($database, $query, $link_identifier){}

/**
 * Drop (delete) mSQL database
 *
 * {@link msql_drop_db} attempts to drop (remove) a database from the
 * mSQL server.
 *
 * @param string $database_name The name of the database.
 * @param resource $link_identifier
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_drop_db($database_name, $link_identifier){}

/**
 * Returns error message of last msql call
 *
 * {@link msql_error} returns the last issued error by the mSQL server.
 * Note that only the last error message is accessible with {@link
 * msql_error}.
 *
 * @return string The last error message or an empty string if no error
 *   was issued.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_error(){}

/**
 * Fetch row as array
 *
 * {@link msql_fetch_array} is an extended version of {@link
 * msql_fetch_row}. In addition to storing the data in the numeric
 * indices of the result array, it also stores the data in associative
 * indices, using the field names as keys.
 *
 * An important thing to note is that using {@link msql_fetch_array} is
 * NOT significantly slower than using {@link msql_fetch_row}, while it
 * provides a significant added value.
 *
 * @param resource $result A constant that can take the following
 *   values: MSQL_ASSOC, MSQL_NUM, and MSQL_BOTH with MSQL_BOTH being the
 *   default.
 * @param int $result_type
 * @return array Returns an array that corresponds to the fetched row,
 *   or FALSE if there are no more rows.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_fetch_array($result, $result_type){}

/**
 * Get field information
 *
 * {@link msql_fetch_field} can be used in order to obtain information
 * about fields in a certain query result.
 *
 * @param resource $result The field offset. If not specified, the next
 *   field that wasn't yet retrieved by {@link msql_fetch_field} is
 *   retrieved.
 * @param int $field_offset
 * @return object Returns an object containing field information. The
 *   properties of the object are: name - column name table - name of the
 *   table the column belongs to not_null - 1 if the column cannot be
 *   NULL unique - 1 if the column is a unique key type - the type of the
 *   column
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_fetch_field($result, $field_offset){}

/**
 * Fetch row as object
 *
 * {@link msql_fetch_object} is similar to {@link msql_fetch_array}, with
 * one difference - an object is returned, instead of an array.
 * Indirectly, that means that you can only access the data by the field
 * names, and not by their offsets (numbers are illegal property names).
 *
 * Speed-wise, the function is identical to {@link msql_fetch_array}, and
 * almost as quick as {@link msql_fetch_row} (the difference is
 * insignificant).
 *
 * @param resource $result
 * @return object Returns an object with properties that correspond to
 *   the fetched row, or FALSE if there are no more rows.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_fetch_object($result){}

/**
 * Get row as enumerated array
 *
 * {@link msql_fetch_row} fetches one row of data from the result
 * associated with the specified query identifier. The row is returned as
 * an array. Each result column is stored in an array offset, starting at
 * offset 0.
 *
 * Subsequent call to {@link msql_fetch_row} would return the next row in
 * the result set, or FALSE if there are no more rows.
 *
 * @param resource $result
 * @return array Returns an array that corresponds to the fetched row,
 *   or FALSE if there are no more rows.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_fetch_row($result){}

/**
 * Get field flags
 *
 * {@link msql_fieldflags} returns the field flags of the specified
 * field.
 *
 * @param resource $result
 * @param int $field_offset
 * @return string Returns a string containing the field flags of the
 *   specified key. This can be: primary key not null, not null, primary
 *   key, unique not null or unique.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_fieldflags($result, $field_offset){}

/**
 * Get field length
 *
 * {@link msql_fieldlen} returns the length of the specified field.
 *
 * @param resource $result
 * @param int $field_offset
 * @return int Returns the length of the specified field or FALSE on
 *   error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_fieldlen($result, $field_offset){}

/**
 * Get the name of the specified field in a result
 *
 * {@link msql_fieldname} gets the name of the specified field index.
 *
 * @param resource $result
 * @param int $field_offset
 * @return string The name of the field.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_fieldname($result, $field_offset){}

/**
 * Get table name for field
 *
 * Returns the name of the table that the specified field is in.
 *
 * @param resource $result
 * @param int $field_offset
 * @return int The name of the table on success.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_fieldtable($result, $field_offset){}

/**
 * Get field type
 *
 * {@link msql_fieldtype} gets the type of the specified field index.
 *
 * @param resource $result
 * @param int $field_offset
 * @return string The type of the field. One of int, char, real, ident,
 *   null or unknown. This functions will return FALSE on failure.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_fieldtype($result, $field_offset){}

/**
 * Get field flags
 *
 * {@link msql_field_flags} returns the field flags of the specified
 * field.
 *
 * @param resource $result
 * @param int $field_offset
 * @return string Returns a string containing the field flags of the
 *   specified key. This can be: primary key not null, not null, primary
 *   key, unique not null or unique.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_field_flags($result, $field_offset){}

/**
 * Get field length
 *
 * {@link msql_field_len} returns the length of the specified field.
 *
 * @param resource $result
 * @param int $field_offset
 * @return int Returns the length of the specified field or FALSE on
 *   error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_field_len($result, $field_offset){}

/**
 * Get the name of the specified field in a result
 *
 * {@link msql_field_name} gets the name of the specified field index.
 *
 * @param resource $result
 * @param int $field_offset
 * @return string The name of the field.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_field_name($result, $field_offset){}

/**
 * Set field offset
 *
 * Seeks to the specified field offset. If the next call to {@link
 * msql_fetch_field} won't include a field offset, this field would be
 * returned.
 *
 * @param resource $result
 * @param int $field_offset
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_field_seek($result, $field_offset){}

/**
 * Get table name for field
 *
 * Returns the name of the table that the specified field is in.
 *
 * @param resource $result
 * @param int $field_offset
 * @return int The name of the table on success.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_field_table($result, $field_offset){}

/**
 * Get field type
 *
 * {@link msql_field_type} gets the type of the specified field index.
 *
 * @param resource $result
 * @param int $field_offset
 * @return string The type of the field. One of int, char, real, ident,
 *   null or unknown. This functions will return FALSE on failure.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_field_type($result, $field_offset){}

/**
 * Free result memory
 *
 * {@link msql_free_result} frees the memory associated with {@link
 * query_identifier}. When PHP completes a request, this memory is freed
 * automatically, so you only need to call this function when you want to
 * make sure you don't use too much memory while the script is running.
 *
 * @param resource $result
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_free_result($result){}

/**
 * List mSQL databases on server
 *
 * {@link msql_list_tables} lists the databases available on the
 * specified {@link link_identifier}.
 *
 * @param resource $link_identifier
 * @return resource Returns a result set which may be traversed with
 *   any function that fetches result sets, such as {@link
 *   msql_fetch_array}. On failure, this function will return FALSE.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_list_dbs($link_identifier){}

/**
 * List result fields
 *
 * {@link msql_list_fields} returns information about the given table.
 *
 * @param string $database The name of the database.
 * @param string $tablename The name of the table.
 * @param resource $link_identifier
 * @return resource Returns a result set which may be traversed with
 *   any function that fetches result sets, such as {@link
 *   msql_fetch_array}. On failure, this function will return FALSE.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_list_fields($database, $tablename, $link_identifier){}

/**
 * List tables in an mSQL database
 *
 * {@link msql_list_tables} lists the tables on the specified {@link
 * database}.
 *
 * @param string $database The name of the database.
 * @param resource $link_identifier
 * @return resource Returns a result set which may be traversed with
 *   any function that fetches result sets, such as {@link
 *   msql_fetch_array}. On failure, this function will return FALSE.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_list_tables($database, $link_identifier){}

/**
 * Get number of fields in result
 *
 * {@link msql_numfields} returns the number of fields in a result set.
 *
 * @param resource $result
 * @return int Returns the number of fields in the result set.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_numfields($result){}

/**
 * Get number of rows in result
 *
 * {@link msql_numrows} returns the number of rows in a result set.
 *
 * @param resource $query_identifier
 * @return int Returns the number of rows in the result set.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_numrows($query_identifier){}

/**
 * Get number of fields in result
 *
 * {@link msql_num_fields} returns the number of fields in a result set.
 *
 * @param resource $result
 * @return int Returns the number of fields in the result set.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_num_fields($result){}

/**
 * Get number of rows in result
 *
 * {@link msql_num_rows} returns the number of rows in a result set.
 *
 * @param resource $query_identifier
 * @return int Returns the number of rows in the result set.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_num_rows($query_identifier){}

/**
 * Open persistent mSQL connection
 *
 * {@link msql_pconnect} acts very much like {@link msql_connect} with
 * two major differences.
 *
 * First, when connecting, the function would first try to find a
 * (persistent) link that's already open with the same host. If one is
 * found, an identifier for it will be returned instead of opening a new
 * connection.
 *
 * Second, the connection to the SQL server will not be closed when the
 * execution of the script ends. Instead, the link will remain open for
 * future use ({@link msql_close} will not close links established by
 * this function).
 *
 * @param string $hostname The hostname can also include a port number.
 *   e.g. hostname,port. If not specified, the connection is established
 *   by the means of a Unix domain socket, being more efficient than a
 *   localhost TCP socket connection.
 * @return resource Returns a positive mSQL link identifier on success,
 *   or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_pconnect($hostname){}

/**
 * Send mSQL query
 *
 * {@link msql_query} sends a query to the currently active database on
 * the server that's associated with the specified link identifier.
 *
 * @param string $query The SQL query.
 * @param resource $link_identifier
 * @return resource Returns a positive mSQL query identifier on
 *   success, or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_query($query, $link_identifier){}

/**
 * Get result data
 *
 * {@link msql_result} returns the contents of one cell from a mSQL
 * result set.
 *
 * When working on large result sets, you should consider using one of
 * the functions that fetch an entire row (specified below). As these
 * functions return the contents of multiple cells in one function call,
 * they are often much quicker than {@link msql_result}.
 *
 * Recommended high-performance alternatives: {@link msql_fetch_row},
 * {@link msql_fetch_array}, and {@link msql_fetch_object}.
 *
 * @param resource $result The row offset.
 * @param int $row Can be the field's offset, or the field's name, or
 *   the field's table dot field's name (tablename.fieldname.). If the
 *   column name has been aliased ('select foo as bar from ...'), use the
 *   alias instead of the column name.
 * @param mixed $field
 * @return string Returns the contents of the cell at the row and
 *   offset in the specified mSQL result set.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_result($result, $row, $field){}

/**
 * Select mSQL database
 *
 * {@link msql_select_db} sets the current active database on the server
 * that's associated with the specified {@link link_identifier}.
 *
 * Subsequent calls to {@link msql_query} will be made on the active
 * database.
 *
 * @param string $database_name The database name.
 * @param resource $link_identifier
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_select_db($database_name, $link_identifier){}

/**
 * Get result data
 *
 * {@link msql_tablename} returns the contents of one cell from a mSQL
 * result set.
 *
 * When working on large result sets, you should consider using one of
 * the functions that fetch an entire row (specified below). As these
 * functions return the contents of multiple cells in one function call,
 * they are often much quicker than {@link msql_tablename}.
 *
 * Recommended high-performance alternatives: {@link msql_fetch_row},
 * {@link msql_fetch_array}, and {@link msql_fetch_object}.
 *
 * @param resource $result The row offset.
 * @param int $row Can be the field's offset, or the field's name, or
 *   the field's table dot field's name (tablename.fieldname.). If the
 *   column name has been aliased ('select foo as bar from ...'), use the
 *   alias instead of the column name.
 * @param mixed $field
 * @return string Returns the contents of the cell at the row and
 *   offset in the specified mSQL result set.
 * @since PHP 4, PHP 5, PHP 7
 **/
function msql_tablename($result, $row, $field){}

/**
 * Adds a parameter to a stored procedure or a remote stored procedure
 *
 * Binds a parameter to a stored procedure or a remote stored procedure.
 *
 * @param resource $stmt Statement resource, obtained with {@link
 *   mssql_init}.
 * @param string $param_name The parameter name, as a string.
 * @param mixed $var The PHP variable you'll bind the MSSQL parameter
 *   to. It is passed by reference, to retrieve OUTPUT and RETVAL values
 *   after the procedure execution.
 * @param int $type One of: SQLTEXT, SQLVARCHAR, SQLCHAR, SQLINT1,
 *   SQLINT2, SQLINT4, SQLBIT, SQLFLT4, SQLFLT8, SQLFLTN.
 * @param bool $is_output Whether the value is an OUTPUT parameter or
 *   not. If it's an OUTPUT parameter and you don't mention it, it will
 *   be treated as a normal input parameter and no error will be thrown.
 * @param bool $is_null Whether the parameter is NULL or not. Passing
 *   the NULL value as {@link var} will not do the job.
 * @param int $maxlen Used with char/varchar values. You have to
 *   indicate the length of the data so if the parameter is a
 *   varchar(50), the type must be SQLVARCHAR and this value 50.
 * @return bool
 * @since PHP 4 >= 4.0.7, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_bind($stmt, $param_name, &$var, $type, $is_output, $is_null, $maxlen){}

/**
 * Close MS SQL Server connection
 *
 * Closes the link to a MS SQL Server database that's associated with the
 * specified link identifier. If the link identifier isn't specified, the
 * last opened link is assumed.
 *
 * Note that this isn't usually necessary, as non-persistent open links
 * are automatically closed at the end of the script's execution.
 *
 * @param resource $link_identifier A MS SQL link identifier, returned
 *   by {@link mssql_connect}. This function will not close persistent
 *   links generated by {@link mssql_pconnect}.
 * @return bool
 * @since PHP 4, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_close($link_identifier){}

/**
 * Open MS SQL server connection
 *
 * {@link mssql_connect} establishes a connection to a MS SQL server.
 *
 * The link to the server will be closed as soon as the execution of the
 * script ends, unless it's closed earlier by explicitly calling {@link
 * mssql_close}.
 *
 * @param string $servername The MS SQL server. It can also include a
 *   port number, e.g. hostname:port (Linux), or hostname,port (Windows).
 * @param string $username The username.
 * @param string $password The password.
 * @param bool $new_link If a second call is made to {@link
 *   mssql_connect} with the same arguments, no new link will be
 *   established, but instead, the link identifier of the already opened
 *   link will be returned. This parameter modifies this behavior and
 *   makes {@link mssql_connect} always open a new link, even if {@link
 *   mssql_connect} was called before with the same parameters.
 * @return resource Returns a MS SQL link identifier on success, or
 *   FALSE on error.
 * @since PHP 4, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_connect($servername, $username, $password, $new_link){}

/**
 * Moves internal row pointer
 *
 * {@link mssql_data_seek} moves the internal row pointer of the MS SQL
 * result associated with the specified result identifier to point to the
 * specified row number, first row being number 0. The next call to
 * {@link mssql_fetch_row} would return that row.
 *
 * @param resource $result_identifier The result resource that is being
 *   evaluated.
 * @param int $row_number The desired row number of the new result
 *   pointer.
 * @return bool
 * @since PHP 4, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_data_seek($result_identifier, $row_number){}

/**
 * Executes a stored procedure on a MS SQL server database
 *
 * @param resource $stmt Statement handle obtained with {@link
 *   mssql_init}.
 * @param bool $skip_results Whenever to skip the results or not.
 * @return mixed
 * @since PHP 4 >= 4.0.7, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_execute($stmt, $skip_results){}

/**
 * Fetch a result row as an associative array, a numeric array, or both
 *
 * {@link mssql_fetch_array} is an extended version of {@link
 * mssql_fetch_row}. In addition to storing the data in the numeric
 * indices of the result array, it also stores the data in associative
 * indices, using the field names as keys.
 *
 * An important thing to note is that using {@link mssql_fetch_array} is
 * NOT significantly slower than using {@link mssql_fetch_row}, while it
 * provides a significant added value.
 *
 * @param resource $result The result resource that is being evaluated.
 *   This result comes from a call to {@link mssql_query}.
 * @param int $result_type The type of array that is to be fetched.
 *   It's a constant and can take the following values: MSSQL_ASSOC,
 *   MSSQL_NUM, and MSSQL_BOTH.
 * @return array Returns an array that corresponds to the fetched row,
 *   or FALSE if there are no more rows.
 * @since PHP 4, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_fetch_array($result, $result_type){}

/**
 * Returns an associative array of the current row in the result
 *
 * Returns an associative array that corresponds to the fetched row and
 * moves the internal data pointer ahead. {@link mssql_fetch_assoc} is
 * equivalent to calling {@link mssql_fetch_array} with MSSQL_ASSOC for
 * the optional second parameter.
 *
 * @param resource $result_id The result resource that is being
 *   evaluated. This result comes from a call to {@link mssql_query}.
 * @return array Returns an associative array that corresponds to the
 *   fetched row, or FALSE if there are no more rows.
 * @since PHP 4 >= 4.2.0, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_fetch_assoc($result_id){}

/**
 * Returns the next batch of records
 *
 * @param resource $result The result resource that is being evaluated.
 *   This result comes from a call to {@link mssql_query}.
 * @return int Returns the number of rows in the returned batch.
 * @since PHP 4 >= 4.0.4, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_fetch_batch($result){}

/**
 * Get field information
 *
 * {@link mssql_fetch_field} can be used in order to obtain information
 * about fields in a certain query result.
 *
 * @param resource $result The result resource that is being evaluated.
 *   This result comes from a call to {@link mssql_query}.
 * @param int $field_offset The numerical field offset. If the field
 *   offset is not specified, the next field that was not yet retrieved
 *   by this function is retrieved. The {@link field_offset} starts at 0.
 * @return object Returns an object containing field information.
 * @since PHP 4, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_fetch_field($result, $field_offset){}

/**
 * Fetch row as object
 *
 * {@link mssql_fetch_object} is similar to {@link mssql_fetch_array},
 * with one difference - an object is returned, instead of an array.
 * Indirectly, that means that you can only access the data by the field
 * names, and not by their offsets (numbers are illegal property names).
 *
 * Speed-wise, the function is identical to {@link mssql_fetch_array},
 * and almost as quick as {@link mssql_fetch_row} (the difference is
 * insignificant).
 *
 * @param resource $result The result resource that is being evaluated.
 *   This result comes from a call to {@link mssql_query}.
 * @return object Returns an object with properties that correspond to
 *   the fetched row, or FALSE if there are no more rows.
 * @since PHP 4, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_fetch_object($result){}

/**
 * Get row as enumerated array
 *
 * {@link mssql_fetch_row} fetches one row of data from the result
 * associated with the specified result identifier. The row is returned
 * as an array. Each result column is stored in an array offset, starting
 * at offset 0.
 *
 * Subsequent call to {@link mssql_fetch_row} would return the next row
 * in the result set, or FALSE if there are no more rows.
 *
 * @param resource $result The result resource that is being evaluated.
 *   This result comes from a call to {@link mssql_query}.
 * @return array Returns an array that corresponds to the fetched row,
 *   or FALSE if there are no more rows.
 * @since PHP 4, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_fetch_row($result){}

/**
 * Get the length of a field
 *
 * Returns the length of field no. {@link offset} in {@link result}.
 *
 * @param resource $result The result resource that is being evaluated.
 *   This result comes from a call to {@link mssql_query}.
 * @param int $offset The field offset, starts at 0. If omitted, the
 *   current field is used.
 * @return int The length of the specified field index on success.
 * @since PHP 4, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_field_length($result, $offset){}

/**
 * Get the name of a field
 *
 * Returns the name of field no. {@link offset} in {@link result}.
 *
 * @param resource $result The result resource that is being evaluated.
 *   This result comes from a call to {@link mssql_query}.
 * @param int $offset The field offset, starts at 0. If omitted, the
 *   current field is used.
 * @return string The name of the specified field index on success.
 * @since PHP 4, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_field_name($result, $offset){}

/**
 * Seeks to the specified field offset
 *
 * Seeks to the specified field offset. If the next call to {@link
 * mssql_fetch_field} won't include a field offset, this field would be
 * returned.
 *
 * @param resource $result The result resource that is being evaluated.
 *   This result comes from a call to {@link mssql_query}.
 * @param int $field_offset The field offset, starts at 0.
 * @return bool
 * @since PHP 4, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_field_seek($result, $field_offset){}

/**
 * Gets the type of a field
 *
 * Returns the type of field no. {@link offset} in {@link result}.
 *
 * @param resource $result The result resource that is being evaluated.
 *   This result comes from a call to {@link mssql_query}.
 * @param int $offset The field offset, starts at 0. If omitted, the
 *   current field is used.
 * @return string The type of the specified field index on success.
 * @since PHP 4, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_field_type($result, $offset){}

/**
 * Free result memory
 *
 * {@link mssql_free_result} only needs to be called if you are worried
 * about using too much memory while your script is running. All result
 * memory will automatically be freed when the script ends. You may call
 * {@link mssql_free_result} with the result identifier as an argument
 * and the associated result memory will be freed.
 *
 * @param resource $result The result resource that is being freed.
 *   This result comes from a call to {@link mssql_query}.
 * @return bool
 * @since PHP 4, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_free_result($result){}

/**
 * Free statement memory
 *
 * {@link mssql_free_statement} only needs to be called if you are
 * worried about using too much memory while your script is running. All
 * statement memory will automatically be freed when the script ends. You
 * may call {@link mssql_free_statement} with the statement identifier as
 * an argument and the associated statement memory will be freed.
 *
 * @param resource $stmt Statement resource, obtained with {@link
 *   mssql_init}.
 * @return bool
 * @since PHP 4 >= 4.3.2, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_free_statement($stmt){}

/**
 * Returns the last message from the server
 *
 * Gets the last message from the MS-SQL server
 *
 * @return string Returns last error message from server, or an empty
 *   string if no error messages are returned from MSSQL.
 * @since PHP 4, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_get_last_message(){}

/**
 * Converts a 16 byte binary GUID to a string
 *
 * @param string $binary A 16 byte binary GUID.
 * @param bool $short_format Whenever to use short format.
 * @return string Returns the converted string on success.
 * @since PHP 4 >= 4.0.7, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_guid_string($binary, $short_format){}

/**
 * Initializes a stored procedure or a remote stored procedure
 *
 * @param string $sp_name Stored procedure name, like ownew.sp_name or
 *   otherdb.owner.sp_name.
 * @param resource $link_identifier A MS SQL link identifier, returned
 *   by {@link mssql_connect}.
 * @return resource Returns a resource identifier "statement", used in
 *   subsequent calls to {@link mssql_bind} and {@link mssql_execute}, or
 *   FALSE on errors.
 * @since PHP 4 >= 4.0.7, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_init($sp_name, $link_identifier){}

/**
 * Sets the minimum error severity
 *
 * @param int $severity The new error severity.
 * @return void
 * @since PHP 4, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_min_error_severity($severity){}

/**
 * Sets the minimum message severity
 *
 * @param int $severity The new message severity.
 * @return void
 * @since PHP 4, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_min_message_severity($severity){}

/**
 * Move the internal result pointer to the next result
 *
 * When sending more than one SQL statement to the server or executing a
 * stored procedure with multiple results, it will cause the server to
 * return multiple result sets. This function will test for additional
 * results available form the server. If an additional result set exists
 * it will free the existing result set and prepare to fetch the rows
 * from the new result set.
 *
 * @param resource $result_id The result resource that is being
 *   evaluated. This result comes from a call to {@link mssql_query}.
 * @return bool Returns TRUE if an additional result set was available
 *   or FALSE otherwise.
 * @since PHP 4 >= 4.0.5, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_next_result($result_id){}

/**
 * Gets the number of fields in result
 *
 * {@link mssql_num_fields} returns the number of fields in a result set.
 *
 * @param resource $result The result resource that is being evaluated.
 *   This result comes from a call to {@link mssql_query}.
 * @return int Returns the number of fields, as an integer.
 * @since PHP 4, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_num_fields($result){}

/**
 * Gets the number of rows in result
 *
 * {@link mssql_num_rows} returns the number of rows in a result set.
 *
 * @param resource $result The result resource that is being evaluated.
 *   This result comes from a call to {@link mssql_query}.
 * @return int Returns the number of rows, as an integer.
 * @since PHP 4, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_num_rows($result){}

/**
 * Open persistent MS SQL connection
 *
 * {@link mssql_pconnect} acts very much like {@link mssql_connect} with
 * two major differences.
 *
 * First, when connecting, the function would first try to find a
 * (persistent) link that's already open with the same host, username and
 * password. If one is found, an identifier for it will be returned
 * instead of opening a new connection.
 *
 * Second, the connection to the SQL server will not be closed when the
 * execution of the script ends. Instead, the link will remain open for
 * future use ({@link mssql_close} will not close links established by
 * {@link mssql_pconnect}).
 *
 * This type of links is therefore called 'persistent'.
 *
 * @param string $servername The MS SQL server. It can also include a
 *   port number. e.g. hostname:port.
 * @param string $username The username.
 * @param string $password The password.
 * @param bool $new_link If a second call is made to {@link
 *   mssql_pconnect} with the same arguments, no new link will be
 *   established, but instead, the link identifier of the already opened
 *   link will be returned. This parameter modifies this behavior and
 *   makes {@link mssql_pconnect} always open a new link, even if {@link
 *   mssql_pconnect} was called before with the same parameters.
 * @return resource Returns a positive MS SQL persistent link
 *   identifier on success, or FALSE on error.
 * @since PHP 4, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_pconnect($servername, $username, $password, $new_link){}

/**
 * Send MS SQL query
 *
 * {@link mssql_query} sends a query to the currently active database on
 * the server that's associated with the specified link identifier.
 *
 * @param string $query An SQL query.
 * @param resource $link_identifier A MS SQL link identifier, returned
 *   by {@link mssql_connect} or {@link mssql_pconnect}. If the link
 *   identifier isn't specified, the last opened link is assumed. If no
 *   link is open, the function tries to establish a link as if {@link
 *   mssql_connect} was called, and use it.
 * @param int $batch_size The number of records to batch in the buffer.
 * @return mixed Returns a MS SQL result resource on success, TRUE if
 *   no rows were returned, or FALSE on error.
 * @since PHP 4, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_query($query, $link_identifier, $batch_size){}

/**
 * Get result data
 *
 * {@link mssql_result} returns the contents of one cell from a MS SQL
 * result set.
 *
 * @param resource $result The result resource that is being evaluated.
 *   This result comes from a call to {@link mssql_query}.
 * @param int $row The row number.
 * @param mixed $field Can be the field's offset, the field's name or
 *   the field's table dot field's name (tablename.fieldname). If the
 *   column name has been aliased ('select foo as bar from...'), it uses
 *   the alias instead of the column name.
 * @return string Returns the contents of the specified cell.
 * @since PHP 4, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_result($result, $row, $field){}

/**
 * Returns the number of records affected by the query
 *
 * Returns the number of records affected by the last write query.
 *
 * @param resource $link_identifier A MS SQL link identifier, returned
 *   by {@link mssql_connect} or {@link mssql_pconnect}.
 * @return int Returns the number of records affected by last
 *   operation.
 * @since PHP 4 >= 4.0.4, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_rows_affected($link_identifier){}

/**
 * Select MS SQL database
 *
 * {@link mssql_select_db} sets the current active database on the server
 * that's associated with the specified link identifier.
 *
 * Every subsequent call to {@link mssql_query} will be made on the
 * active database.
 *
 * @param string $database_name The database name. To escape the name
 *   of a database that contains spaces, hyphens ("-"), or any other
 *   exceptional characters, the database name must be enclosed in
 *   brackets, as is shown in the example, below. This technique must
 *   also be applied when selecting a database name that is also a
 *   reserved word (such as primary).
 * @param resource $link_identifier A MS SQL link identifier, returned
 *   by {@link mssql_connect} or {@link mssql_pconnect}. If no link
 *   identifier is specified, the last opened link is assumed. If no link
 *   is open, the function will try to establish a link as if {@link
 *   mssql_connect} was called, and use it.
 * @return bool
 * @since PHP 4, PHP 5, PECL odbtp >= 1.1.1
 **/
function mssql_select_db($database_name, $link_identifier){}

/**
 * Show largest possible random value
 *
 * @return int Returns the maximum random value returned by a call to
 *   {@link mt_rand} without arguments, which is the maximum value that
 *   can be used for its {@link max} parameter without the result being
 *   scaled up (and therefore less random).
 * @since PHP 4, PHP 5, PHP 7
 **/
function mt_getrandmax(){}

/**
 * Generate a random value via the Mersenne Twister Random Number
 * Generator
 *
 * @return int A random integer value between {@link min} (or 0) and
 *   {@link max} (or {@link mt_getrandmax}, inclusive), or FALSE if
 *   {@link max} is less than {@link min}.
 * @since PHP 4, PHP 5, PHP 7
 **/
function mt_rand(){}

/**
 * Seeds the Mersenne Twister Random Number Generator
 *
 * Seeds the random number generator with {@link seed} or with a random
 * value if no {@link seed} is given.
 *
 * @param int $seed An arbitrary integer seed value.
 * @param int $mode Use one of the following constants to specify the
 *   implementation of the algorithm to use. Constant MT_RAND_MT19937
 *   Uses the fixed, correct, Mersenne Twister implementation, available
 *   as of PHP 7.1.0. MT_RAND_PHP Uses an incorrect Mersenne Twister
 *   implementation which was used as the default up till PHP 7.1.0. This
 *   mode is available for backward compatibility.
 * @return void
 * @since PHP 4, PHP 5, PHP 7
 **/
function mt_srand($seed, $mode){}

/**
 * Gets the number of affected rows in a previous MySQL operation
 *
 * Returns the number of rows affected by the last INSERT, UPDATE,
 * REPLACE or DELETE query.
 *
 * For SELECT statements {@link mysqli_affected_rows} works like {@link
 * mysqli_num_rows}.
 *
 * @param mysqli $link
 * @return int An integer greater than zero indicates the number of
 *   rows affected or retrieved. Zero indicates that no records were
 *   updated for an UPDATE statement, no rows matched the WHERE clause in
 *   the query or that no query has yet been executed. -1 indicates that
 *   the query returned an error.
 * @since PHP 5, PHP 7
 **/
function mysqli_affected_rows($link){}

/**
 * Turns on or off auto-committing database modifications
 *
 * Turns on or off auto-commit mode on queries for the database
 * connection.
 *
 * To determine the current state of autocommit use the SQL command
 * SELECT @@autocommit.
 *
 * @param mysqli $link Whether to turn on auto-commit or not.
 * @param bool $mode
 * @return bool
 * @since PHP 5, PHP 7
 **/
function mysqli_autocommit($link, $mode){}

/**
 * Starts a transaction
 *
 * Begins a transaction. Requires the InnoDB engine (it is enabled by
 * default). For additional details about how MySQL transactions work,
 * see .
 *
 * @param mysqli $link Valid flags are:
 * @param int $flags Savepoint name for the transaction.
 * @param string $name
 * @return bool
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function mysqli_begin_transaction($link, $flags, $name){}

/**
 * Changes the user of the specified database connection
 *
 * Changes the user of the specified database connection and sets the
 * current database.
 *
 * In order to successfully change users a valid {@link username} and
 * {@link password} parameters must be provided and that user must have
 * sufficient permissions to access the desired database. If for any
 * reason authorization fails, the current user authentication will
 * remain.
 *
 * @param mysqli $link The MySQL user name.
 * @param string $user The MySQL password.
 * @param string $password The database to change to. If desired, the
 *   NULL value may be passed resulting in only changing the user and not
 *   selecting a database. To select a database in this case use the
 *   {@link mysqli_select_db} function.
 * @param string $database
 * @return bool
 * @since PHP 5, PHP 7
 **/
function mysqli_change_user($link, $user, $password, $database){}

/**
 * Returns the default character set for the database connection
 *
 * Returns the current character set for the database connection.
 *
 * @param mysqli $link
 * @return string The default character set for the current connection
 * @since PHP 5, PHP 7
 **/
function mysqli_character_set_name($link){}

/**
 * Closes a previously opened database connection
 *
 * @param mysqli $link
 * @return bool
 * @since PHP 5, PHP 7
 **/
function mysqli_close($link){}

/**
 * Commits the current transaction
 *
 * Commits the current transaction for the database connection.
 *
 * @param mysqli $link A bitmask of MYSQLI_TRANS_COR_* constants.
 * @param int $flags If provided then COMMIT/*name* / is executed.
 * @param string $name
 * @return bool
 * @since PHP 5, PHP 7
 **/
function mysqli_commit($link, $flags, $name){}

/**
 * Open a new connection to the MySQL server
 *
 * Opens a connection to the MySQL Server.
 *
 * @param string $host Can be either a host name or an IP address.
 *   Passing the NULL value or the string "localhost" to this parameter,
 *   the local host is assumed. When possible, pipes will be used instead
 *   of the TCP/IP protocol. Prepending host by p: opens a persistent
 *   connection. {@link mysqli_change_user} is automatically called on
 *   connections opened from the connection pool.
 * @param string $username The MySQL user name.
 * @param string $passwd If not provided or NULL, the MySQL server will
 *   attempt to authenticate the user against those user records which
 *   have no password only. This allows one username to be used with
 *   different permissions (depending on if a password is provided or
 *   not).
 * @param string $dbname If provided will specify the default database
 *   to be used when performing queries.
 * @param int $port Specifies the port number to attempt to connect to
 *   the MySQL server.
 * @param string $socket Specifies the socket or named pipe that should
 *   be used.
 * @return mysqli Returns an object which represents the connection to
 *   a MySQL Server.
 * @since PHP 5, PHP 7
 **/
function mysqli_connect($host, $username, $passwd, $dbname, $port, $socket){}

/**
 * Returns the error code from last connect call
 *
 * Returns the last error code number from the last call to {@link
 * mysqli_connect}.
 *
 * @return int An error code value for the last call to {@link
 *   mysqli_connect}, if it failed. zero means no error occurred.
 * @since PHP 5, PHP 7
 **/
function mysqli_connect_errno(){}

/**
 * Returns a string description of the last connect error
 *
 * Returns the last error message string from the last call to {@link
 * mysqli_connect}.
 *
 * @return string A string that describes the error. NULL is returned
 *   if no error occurred.
 * @since PHP 5, PHP 7
 **/
function mysqli_connect_error(){}

/**
 * Adjusts the result pointer to an arbitrary row in the result
 *
 * The {@link mysqli_data_seek} function seeks to an arbitrary result
 * pointer specified by the {@link offset} in the result set.
 *
 * @param mysqli_result $result The field offset. Must be between zero
 *   and the total number of rows minus one (0..{@link mysqli_num_rows} -
 *   1).
 * @param int $offset
 * @return bool
 * @since PHP 5, PHP 7
 **/
function mysqli_data_seek($result, $offset){}

/**
 * Performs debugging operations
 *
 * Performs debugging operations using the Fred Fish debugging library.
 *
 * @param string $message A string representing the debugging operation
 *   to perform
 * @return bool Returns TRUE.
 * @since PHP 5, PHP 7
 **/
function mysqli_debug($message){}

/**
 * Disable reads from master
 *
 * @param mysqli $link
 * @return bool
 * @since PHP 5 < 5.3.0
 **/
function mysqli_disable_reads_from_master($link){}

/**
 * Disable RPL parse
 *
 * @param mysqli $link
 * @return bool
 * @since PHP 5 < 5.3.0
 **/
function mysqli_disable_rpl_parse($link){}

/**
 * Dump debugging information into the log
 *
 * This function is designed to be executed by an user with the SUPER
 * privilege and is used to dump debugging information into the log for
 * the MySQL Server relating to the connection.
 *
 * @param mysqli $link
 * @return bool
 * @since PHP 5, PHP 7
 **/
function mysqli_dump_debug_info($link){}

/**
 * Stop embedded server
 *
 * @return void
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function mysqli_embedded_server_end(){}

/**
 * Initialize and start embedded server
 *
 * @param int $start
 * @param array $arguments
 * @param array $groups
 * @return bool
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function mysqli_embedded_server_start($start, $arguments, $groups){}

/**
 * Enable reads from master
 *
 * @param mysqli $link
 * @return bool
 * @since PHP 5 < 5.3.0
 **/
function mysqli_enable_reads_from_master($link){}

/**
 * Enable RPL parse
 *
 * @param mysqli $link
 * @return bool
 * @since PHP 5 < 5.3.0
 **/
function mysqli_enable_rpl_parse($link){}

/**
 * Returns the error code for the most recent function call
 *
 * Returns the last error code for the most recent MySQLi function call
 * that can succeed or fail.
 *
 * Client error message numbers are listed in the MySQL errmsg.h header
 * file, server error message numbers are listed in mysqld_error.h. In
 * the MySQL source distribution you can find a complete list of error
 * messages and error numbers in the file Docs/mysqld_error.txt.
 *
 * @param mysqli $link
 * @return int An error code value for the last call, if it failed.
 *   zero means no error occurred.
 * @since PHP 5, PHP 7
 **/
function mysqli_errno($link){}

/**
 * Returns a string description of the last error
 *
 * Returns the last error message for the most recent MySQLi function
 * call that can succeed or fail.
 *
 * @param mysqli $link
 * @return string A string that describes the error. An empty string if
 *   no error occurred.
 * @since PHP 5, PHP 7
 **/
function mysqli_error($link){}

/**
 * Returns a list of errors from the last command executed
 *
 * Returns a array of errors for the most recent MySQLi function call
 * that can succeed or fail.
 *
 * @param mysqli $link
 * @return array A list of errors, each as an associative array
 *   containing the errno, error, and sqlstate.
 * @since PHP 5 >= 5.4.0, PHP 7
 **/
function mysqli_error_list($link){}

/**
 * Fetches all result rows as an associative array, a numeric array, or
 * both
 *
 * {@link mysqli_fetch_all} fetches all result rows and returns the
 * result set as an associative array, a numeric array, or both.
 *
 * @param mysqli_result $result This optional parameter is a constant
 *   indicating what type of array should be produced from the current
 *   row data. The possible values for this parameter are the constants
 *   MYSQLI_ASSOC, MYSQLI_NUM, or MYSQLI_BOTH.
 * @param int $resulttype
 * @return mixed Returns an array of associative or numeric arrays
 *   holding result rows.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function mysqli_fetch_all($result, $resulttype){}

/**
 * Fetch a result row as an associative, a numeric array, or both
 *
 * Returns an array that corresponds to the fetched row or NULL if there
 * are no more rows for the resultset represented by the {@link result}
 * parameter.
 *
 * {@link mysqli_fetch_array} is an extended version of the {@link
 * mysqli_fetch_row} function. In addition to storing the data in the
 * numeric indices of the result array, the {@link mysqli_fetch_array}
 * function can also store the data in associative indices, using the
 * field names of the result set as keys.
 *
 * If two or more columns of the result have the same field names, the
 * last column will take precedence and overwrite the earlier data. In
 * order to access multiple columns with the same name, the numerically
 * indexed version of the row must be used.
 *
 * @param mysqli_result $result This optional parameter is a constant
 *   indicating what type of array should be produced from the current
 *   row data. The possible values for this parameter are the constants
 *   MYSQLI_ASSOC, MYSQLI_NUM, or MYSQLI_BOTH. By using the MYSQLI_ASSOC
 *   constant this function will behave identically to the {@link
 *   mysqli_fetch_assoc}, while MYSQLI_NUM will behave identically to the
 *   {@link mysqli_fetch_row} function. The final option MYSQLI_BOTH will
 *   create a single array with the attributes of both.
 * @param int $resulttype
 * @return mixed Returns an array of strings that corresponds to the
 *   fetched row or NULL if there are no more rows in resultset.
 * @since PHP 5, PHP 7
 **/
function mysqli_fetch_array($result, $resulttype){}

/**
 * Fetch a result row as an associative array
 *
 * Returns an associative array that corresponds to the fetched row or
 * NULL if there are no more rows.
 *
 * @param mysqli_result $result
 * @return array Returns an associative array of strings representing
 *   the fetched row in the result set, where each key in the array
 *   represents the name of one of the result set's columns or NULL if
 *   there are no more rows in resultset.
 * @since PHP 5, PHP 7
 **/
function mysqli_fetch_assoc($result){}

/**
 * Returns the next field in the result set
 *
 * Returns the definition of one column of a result set as an object.
 * Call this function repeatedly to retrieve information about all
 * columns in the result set.
 *
 * @param mysqli_result $result
 * @return object Returns an object which contains field definition
 *   information or FALSE if no field information is available.
 * @since PHP 5, PHP 7
 **/
function mysqli_fetch_field($result){}

/**
 * Returns an array of objects representing the fields in a result set
 *
 * This function serves an identical purpose to the {@link
 * mysqli_fetch_field} function with the single difference that, instead
 * of returning one object at a time for each field, the columns are
 * returned as an array of objects.
 *
 * @param mysqli_result $result
 * @return array Returns an array of objects which contains field
 *   definition information or FALSE if no field information is
 *   available.
 * @since PHP 5, PHP 7
 **/
function mysqli_fetch_fields($result){}

/**
 * Fetch meta-data for a single field
 *
 * Returns an object which contains field definition information from the
 * specified result set.
 *
 * @param mysqli_result $result The field number. This value must be in
 *   the range from 0 to number of fields - 1.
 * @param int $fieldnr
 * @return object Returns an object which contains field definition
 *   information or FALSE if no field information for specified fieldnr
 *   is available.
 * @since PHP 5, PHP 7
 **/
function mysqli_fetch_field_direct($result, $fieldnr){}

/**
 * Returns the lengths of the columns of the current row in the result
 * set
 *
 * The {@link mysqli_fetch_lengths} function returns an array containing
 * the lengths of every column of the current row within the result set.
 *
 * @param mysqli_result $result
 * @return array An array of integers representing the size of each
 *   column (not including any terminating null characters). FALSE if an
 *   error occurred.
 * @since PHP 5, PHP 7
 **/
function mysqli_fetch_lengths($result){}

/**
 * Returns the current row of a result set as an object
 *
 * The {@link mysqli_fetch_object} will return the current row result set
 * as an object where the attributes of the object represent the names of
 * the fields found within the result set.
 *
 * Note that {@link mysqli_fetch_object} sets the properties of the
 * object before calling the object constructor.
 *
 * @param mysqli_result $result The name of the class to instantiate,
 *   set the properties of and return. If not specified, a stdClass
 *   object is returned.
 * @param string $class_name An optional array of parameters to pass to
 *   the constructor for {@link class_name} objects.
 * @param array $params
 * @return object Returns an object with string properties that
 *   corresponds to the fetched row or NULL if there are no more rows in
 *   resultset.
 * @since PHP 5, PHP 7
 **/
function mysqli_fetch_object($result, $class_name, $params){}

/**
 * Get a result row as an enumerated array
 *
 * Fetches one row of data from the result set and returns it as an
 * enumerated array, where each column is stored in an array offset
 * starting from 0 (zero). Each subsequent call to this function will
 * return the next row within the result set, or NULL if there are no
 * more rows.
 *
 * @param mysqli_result $result
 * @return mixed {@link mysqli_fetch_row} returns an array of strings
 *   that corresponds to the fetched row or NULL if there are no more
 *   rows in result set.
 * @since PHP 5, PHP 7
 **/
function mysqli_fetch_row($result){}

/**
 * Returns the number of columns for the most recent query
 *
 * Returns the number of columns for the most recent query on the
 * connection represented by the {@link link} parameter. This function
 * can be useful when using the {@link mysqli_store_result} function to
 * determine if the query should have produced a non-empty result set or
 * not without knowing the nature of the query.
 *
 * @param mysqli $link
 * @return int An integer representing the number of fields in a result
 *   set.
 * @since PHP 5, PHP 7
 **/
function mysqli_field_count($link){}

/**
 * Set result pointer to a specified field offset
 *
 * Sets the field cursor to the given offset. The next call to {@link
 * mysqli_fetch_field} will retrieve the field definition of the column
 * associated with that offset.
 *
 * @param mysqli_result $result The field number. This value must be in
 *   the range from 0 to number of fields - 1.
 * @param int $fieldnr
 * @return bool
 * @since PHP 5, PHP 7
 **/
function mysqli_field_seek($result, $fieldnr){}

/**
 * Get current field offset of a result pointer
 *
 * Returns the position of the field cursor used for the last {@link
 * mysqli_fetch_field} call. This value can be used as an argument to
 * {@link mysqli_field_seek}.
 *
 * @param mysqli_result $result
 * @return int Returns current offset of field cursor.
 * @since PHP 5, PHP 7
 **/
function mysqli_field_tell($result){}

/**
 * Frees the memory associated with a result
 *
 * Frees the memory associated with the result.
 *
 * @param mysqli_result $result
 * @return void
 * @since PHP 5, PHP 7
 **/
function mysqli_free_result($result){}

/**
 * Returns client Zval cache statistics
 *
 * Returns an empty array.
 *
 * @return array Returns an empty array on success, FALSE otherwise.
 * @since PHP 5 >= 5.3.0 and < 5.4.0
 **/
function mysqli_get_cache_stats(){}

/**
 * Returns a character set object
 *
 * Returns a character set object providing several properties of the
 * current active character set.
 *
 * @param mysqli $link
 * @return object The function returns a character set object with the
 *   following properties: {@link charset} Character set name {@link
 *   collation} Collation name {@link dir} Directory the charset
 *   description was fetched from (?) or "" for built-in character sets
 *   {@link min_length} Minimum character length in bytes {@link
 *   max_length} Maximum character length in bytes {@link number}
 *   Internal character set number {@link state} Character set status (?)
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function mysqli_get_charset($link){}

/**
 * Get MySQL client info
 *
 * Returns a string that represents the MySQL client library version.
 *
 * @param mysqli $link
 * @return string A string that represents the MySQL client library
 *   version
 * @since PHP 5, PHP 7
 **/
function mysqli_get_client_info($link){}

/**
 * Returns client per-process statistics
 *
 * @return array Returns an array with client stats if success, FALSE
 *   otherwise.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function mysqli_get_client_stats(){}

/**
 * Returns the MySQL client version as an integer
 *
 * Returns client version number as an integer.
 *
 * @param mysqli $link
 * @return int A number that represents the MySQL client library
 *   version in format: main_version*10000 + minor_version *100 +
 *   sub_version. For example, 4.1.0 is returned as 40100.
 * @since PHP 5, PHP 7
 **/
function mysqli_get_client_version($link){}

/**
 * Returns statistics about the client connection
 *
 * @param mysqli $link
 * @return array Returns an array with connection stats if success,
 *   FALSE otherwise.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function mysqli_get_connection_stats($link){}

/**
 * Returns a string representing the type of connection used
 *
 * Returns a string describing the connection represented by the {@link
 * link} parameter (including the server host name).
 *
 * @param mysqli $link
 * @return string A character string representing the server hostname
 *   and the connection type.
 * @since PHP 5, PHP 7
 **/
function mysqli_get_host_info($link){}

/**
 * Return information about open and cached links
 *
 * {@link mysqli_get_links_stats} returns information about open and
 * cached MySQL links.
 *
 * @return array {@link mysqli_get_links_stats} returns an associative
 *   array with three elements, keyed as follows: {@link total} An
 *   integer indicating the total number of open links in any state.
 *   {@link active_plinks} An integer representing the number of active
 *   persistent connections. {@link cached_plinks} An integer
 *   representing the number of inactive persistent connections.
 * @since PHP 5 >= 5.6.0, PHP 7
 **/
function mysqli_get_links_stats(){}

/**
 * Returns the version of the MySQL protocol used
 *
 * Returns an integer representing the MySQL protocol version used by the
 * connection represented by the {@link link} parameter.
 *
 * @param mysqli $link
 * @return int Returns an integer representing the protocol version.
 * @since PHP 5, PHP 7
 **/
function mysqli_get_proto_info($link){}

/**
 * Returns the version of the MySQL server
 *
 * Returns a string representing the version of the MySQL server that the
 * MySQLi extension is connected to.
 *
 * @param mysqli $link
 * @return string A character string representing the server version.
 * @since PHP 5, PHP 7
 **/
function mysqli_get_server_info($link){}

/**
 * Returns the version of the MySQL server as an integer
 *
 * The {@link mysqli_get_server_version} function returns the version of
 * the server connected to (represented by the {@link link} parameter) as
 * an integer.
 *
 * @param mysqli $link
 * @return int An integer representing the server version.
 * @since PHP 5, PHP 7
 **/
function mysqli_get_server_version($link){}

/**
 * Get result of SHOW WARNINGS
 *
 * @param mysqli $link
 * @return mysqli_warning
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function mysqli_get_warnings($link){}

/**
 * Retrieves information about the most recently executed query
 *
 * The {@link mysqli_info} function returns a string providing
 * information about the last query executed. The nature of this string
 * is provided below:
 *
 * Possible mysqli_info return values Query type Example result string
 * INSERT INTO...SELECT... Records: 100 Duplicates: 0 Warnings: 0 INSERT
 * INTO...VALUES (...),(...),(...) Records: 3 Duplicates: 0 Warnings: 0
 * LOAD DATA INFILE ... Records: 1 Deleted: 0 Skipped: 0 Warnings: 0
 * ALTER TABLE ... Records: 3 Duplicates: 0 Warnings: 0 UPDATE ... Rows
 * matched: 40 Changed: 40 Warnings: 0
 *
 * @param mysqli $link
 * @return string A character string representing additional
 *   information about the most recently executed query.
 * @since PHP 5, PHP 7
 **/
function mysqli_info($link){}

/**
 * Initializes MySQLi and returns a resource for use with
 * mysqli_real_connect()
 *
 * Allocates or initializes a MYSQL object suitable for {@link
 * mysqli_options} and {@link mysqli_real_connect}.
 *
 * @return mysqli Returns an object.
 * @since PHP 5, PHP 7
 **/
function mysqli_init(){}

/**
 * Returns the auto generated id used in the latest query
 *
 * The {@link mysqli_insert_id} function returns the ID generated by a
 * query (usually INSERT) on a table with a column having the
 * AUTO_INCREMENT attribute. If no INSERT or UPDATE statements were sent
 * via this connection, or if the modified table does not have a column
 * with the AUTO_INCREMENT attribute, this function will return zero.
 *
 * @param mysqli $link
 * @return mixed The value of the AUTO_INCREMENT field that was updated
 *   by the previous query. Returns zero if there was no previous query
 *   on the connection or if the query did not update an AUTO_INCREMENT
 *   value.
 * @since PHP 5, PHP 7
 **/
function mysqli_insert_id($link){}

/**
 * Asks the server to kill a MySQL thread
 *
 * This function is used to ask the server to kill a MySQL thread
 * specified by the {@link processid} parameter. This value must be
 * retrieved by calling the {@link mysqli_thread_id} function.
 *
 * To stop a running query you should use the SQL command KILL QUERY
 * processid.
 *
 * @param mysqli $link
 * @param int $processid
 * @return bool
 * @since PHP 5, PHP 7
 **/
function mysqli_kill($link, $processid){}

/**
 * Enforce execution of a query on the master in a master/slave setup
 *
 * @param mysqli $link
 * @param string $query
 * @return bool
 * @since PHP 5 < 5.3.0
 **/
function mysqli_master_query($link, $query){}

/**
 * Check if there are any more query results from a multi query
 *
 * Indicates if one or more result sets are available from a previous
 * call to {@link mysqli_multi_query}.
 *
 * @param mysqli $link
 * @return bool Returns TRUE if one or more result sets are available
 *   from a previous call to {@link mysqli_multi_query}, otherwise FALSE.
 * @since PHP 5, PHP 7
 **/
function mysqli_more_results($link){}

/**
 * Performs a query on the database
 *
 * Executes one or multiple queries which are concatenated by a
 * semicolon.
 *
 * To retrieve the resultset from the first query you can use {@link
 * mysqli_use_result} or {@link mysqli_store_result}. All subsequent
 * query results can be processed using {@link mysqli_more_results} and
 * {@link mysqli_next_result}.
 *
 * @param mysqli $link The query, as a string. Data inside the query
 *   should be properly escaped.
 * @param string $query
 * @return bool Returns FALSE if the first statement failed. To
 *   retrieve subsequent errors from other statements you have to call
 *   {@link mysqli_next_result} first.
 * @since PHP 5, PHP 7
 **/
function mysqli_multi_query($link, $query){}

/**
 * Prepare next result from multi_query
 *
 * Prepares next result set from a previous call to {@link
 * mysqli_multi_query} which can be retrieved by {@link
 * mysqli_store_result} or {@link mysqli_use_result}.
 *
 * @param mysqli $link
 * @return bool
 * @since PHP 5, PHP 7
 **/
function mysqli_next_result($link){}

/**
 * Get the number of fields in a result
 *
 * Returns the number of fields from specified result set.
 *
 * @param mysqli_result $result
 * @return int The number of fields from a result set.
 * @since PHP 5, PHP 7
 **/
function mysqli_num_fields($result){}

/**
 * Gets the number of rows in a result
 *
 * Returns the number of rows in the result set.
 *
 * The behaviour of {@link mysqli_num_rows} depends on whether buffered
 * or unbuffered result sets are being used. For unbuffered result sets,
 * {@link mysqli_num_rows} will not return the correct number of rows
 * until all the rows in the result have been retrieved.
 *
 * @param mysqli_result $result
 * @return int Returns number of rows in the result set.
 * @since PHP 5, PHP 7
 **/
function mysqli_num_rows($result){}

/**
 * Set options
 *
 * Used to set extra connect options and affect behavior for a
 * connection.
 *
 * This function may be called multiple times to set several options.
 *
 * {@link mysqli_options} should be called after {@link mysqli_init} and
 * before {@link mysqli_real_connect}.
 *
 * @param mysqli $link The option that you want to set. It can be one
 *   of the following values: Valid options Name Description
 *   MYSQLI_OPT_CONNECT_TIMEOUT connection timeout in seconds (supported
 *   on Windows with TCP/IP since PHP 5.3.1) MYSQLI_OPT_LOCAL_INFILE
 *   enable/disable use of LOAD LOCAL INFILE MYSQLI_INIT_COMMAND command
 *   to execute after when connecting to MySQL server
 *   MYSQLI_READ_DEFAULT_FILE Read options from named option file instead
 *   of my.cnf MYSQLI_READ_DEFAULT_GROUP Read options from the named
 *   group from my.cnf or the file specified with
 *   MYSQL_READ_DEFAULT_FILE. MYSQLI_SERVER_PUBLIC_KEY RSA public key
 *   file used with the SHA-256 based authentication.
 *   MYSQLI_OPT_NET_CMD_BUFFER_SIZE The size of the internal
 *   command/network buffer. Only valid for mysqlnd.
 *   MYSQLI_OPT_NET_READ_BUFFER_SIZE Maximum read chunk size in bytes
 *   when reading the body of a MySQL command packet. Only valid for
 *   mysqlnd. MYSQLI_OPT_INT_AND_FLOAT_NATIVE Convert integer and float
 *   columns back to PHP numbers. Only valid for mysqlnd.
 *   MYSQLI_OPT_SSL_VERIFY_SERVER_CERT
 * @param int $option The value for the option.
 * @param mixed $value
 * @return bool
 * @since PHP 5, PHP 7
 **/
function mysqli_options($link, $option, $value){}

/**
 * Pings a server connection, or tries to reconnect if the connection has
 * gone down
 *
 * Checks whether the connection to the server is working. If it has gone
 * down and global option mysqli.reconnect is enabled, an automatic
 * reconnection is attempted.
 *
 * This function can be used by clients that remain idle for a long
 * while, to check whether the server has closed the connection and
 * reconnect if necessary.
 *
 * @param mysqli $link
 * @return bool
 * @since PHP 5, PHP 7
 **/
function mysqli_ping($link){}

/**
 * Poll connections
 *
 * Poll connections. The method can be used as static.
 *
 * @param array $read List of connections to check for outstanding
 *   results that can be read.
 * @param array $error List of connections on which an error occured,
 *   for example, query failure or lost connection.
 * @param array $reject List of connections rejected because no
 *   asynchronous query has been run on for which the function could poll
 *   results.
 * @param int $sec Maximum number of seconds to wait, must be
 *   non-negative.
 * @param int $usec Maximum number of microseconds to wait, must be
 *   non-negative.
 * @return int Returns number of ready connections upon success, FALSE
 *   otherwise.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function mysqli_poll(&$read, &$error, &$reject, $sec, $usec){}

/**
 * Prepare an SQL statement for execution
 *
 * Prepares the SQL query, and returns a statement handle to be used for
 * further operations on the statement. The query must consist of a
 * single SQL statement.
 *
 * The parameter markers must be bound to application variables using
 * {@link mysqli_stmt_bind_param} and/or {@link mysqli_stmt_bind_result}
 * before executing the statement or fetching rows.
 *
 * @param mysqli $link The query, as a string. This parameter can
 *   include one or more parameter markers in the SQL statement by
 *   embedding question mark (?) characters at the appropriate positions.
 * @param string $query
 * @return mysqli_stmt {@link mysqli_prepare} returns a statement
 *   object or FALSE if an error occurred.
 * @since PHP 5, PHP 7
 **/
function mysqli_prepare($link, $query){}

/**
 * Performs a query on the database
 *
 * Performs a {@link query} against the database.
 *
 * For non-DML queries (not INSERT, UPDATE or DELETE), this function is
 * similar to calling {@link mysqli_real_query} followed by either {@link
 * mysqli_use_result} or {@link mysqli_store_result}.
 *
 * @param mysqli $link The query string. Data inside the query should
 *   be properly escaped.
 * @param string $query Either the constant MYSQLI_USE_RESULT or
 *   MYSQLI_STORE_RESULT depending on the desired behavior. By default,
 *   MYSQLI_STORE_RESULT is used. If you use MYSQLI_USE_RESULT all
 *   subsequent calls will return error Commands out of sync unless you
 *   call {@link mysqli_free_result} With MYSQLI_ASYNC (available with
 *   mysqlnd), it is possible to perform query asynchronously. {@link
 *   mysqli_poll} is then used to get results from such queries.
 * @param int $resultmode
 * @return mixed Returns FALSE on failure. For successful SELECT, SHOW,
 *   DESCRIBE or EXPLAIN queries {@link mysqli_query} will return a
 *   mysqli_result object. For other successful queries {@link
 *   mysqli_query} will return TRUE.
 * @since PHP 5, PHP 7
 **/
function mysqli_query($link, $query, $resultmode){}

/**
 * Opens a connection to a mysql server
 *
 * Establish a connection to a MySQL database engine.
 *
 * This function differs from {@link mysqli_connect}:
 *
 * @param mysqli $link Can be either a host name or an IP address.
 *   Passing the NULL value or the string "localhost" to this parameter,
 *   the local host is assumed. When possible, pipes will be used instead
 *   of the TCP/IP protocol.
 * @param string $host The MySQL user name.
 * @param string $username If provided or NULL, the MySQL server will
 *   attempt to authenticate the user against those user records which
 *   have no password only. This allows one username to be used with
 *   different permissions (depending on if a password as provided or
 *   not).
 * @param string $passwd If provided will specify the default database
 *   to be used when performing queries.
 * @param string $dbname Specifies the port number to attempt to
 *   connect to the MySQL server.
 * @param int $port Specifies the socket or named pipe that should be
 *   used.
 * @param string $socket With the parameter {@link flags} you can set
 *   different connection options:
 * @param int $flags
 * @return bool
 * @since PHP 5, PHP 7
 **/
function mysqli_real_connect($link, $host, $username, $passwd, $dbname, $port, $socket, $flags){}

/**
 * Escapes special characters in a string for use in an SQL statement,
 * taking into account the current charset of the connection
 *
 * This function is used to create a legal SQL string that you can use in
 * an SQL statement. The given string is encoded to an escaped SQL
 * string, taking into account the current character set of the
 * connection.
 *
 * @param mysqli $link The string to be escaped. Characters encoded are
 *   NUL (ASCII 0), \n, \r, \, ', ", and Control-Z.
 * @param string $escapestr
 * @return string Returns an escaped string.
 * @since PHP 5, PHP 7
 **/
function mysqli_real_escape_string($link, $escapestr){}

/**
 * Execute an SQL query
 *
 * Executes a single query against the database whose result can then be
 * retrieved or stored using the {@link mysqli_store_result} or {@link
 * mysqli_use_result} functions.
 *
 * In order to determine if a given query should return a result set or
 * not, see {@link mysqli_field_count}.
 *
 * @param mysqli $link The query, as a string. Data inside the query
 *   should be properly escaped.
 * @param string $query
 * @return bool
 * @since PHP 5, PHP 7
 **/
function mysqli_real_query($link, $query){}

/**
 * Get result from async query
 *
 * @param mysqli $link
 * @return mysqli_result Returns mysqli_result in success, FALSE
 *   otherwise.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function mysqli_reap_async_query($link){}

/**
 * Refreshes
 *
 * Flushes tables or caches, or resets the replication server
 * information.
 *
 * @param resource $link The options to refresh, using the
 *   MYSQLI_REFRESH_* constants as documented within the MySQLi constants
 *   documentation. See also the official MySQL Refresh documentation.
 * @param int $options
 * @return bool TRUE if the refresh was a success, otherwise FALSE
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function mysqli_refresh($link, $options){}

/**
 * Removes the named savepoint from the set of savepoints of the current
 * transaction
 *
 * @param mysqli $link
 * @param string $name
 * @return bool
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function mysqli_release_savepoint($link, $name){}

/**
 * Enables or disables internal report functions
 *
 * A function helpful in improving queries during code development and
 * testing. Depending on the flags, it reports errors from mysqli
 * function calls or queries that don't use an index (or use a bad
 * index).
 *
 * @param int $flags Supported flags Name Description MYSQLI_REPORT_OFF
 *   Turns reporting off MYSQLI_REPORT_ERROR Report errors from mysqli
 *   function calls MYSQLI_REPORT_STRICT Throw mysqli_sql_exception for
 *   errors instead of warnings MYSQLI_REPORT_INDEX Report if no index or
 *   bad index was used in a query MYSQLI_REPORT_ALL Set all options
 *   (report all)
 * @return bool
 * @since PHP 5, PHP 7
 **/
function mysqli_report($flags){}

/**
 * Rolls back current transaction
 *
 * Rollbacks the current transaction for the database.
 *
 * @param mysqli $link A bitmask of MYSQLI_TRANS_COR_* constants.
 * @param int $flags If provided then ROLLBACK/*name* / is executed.
 * @param string $name
 * @return bool
 * @since PHP 5, PHP 7
 **/
function mysqli_rollback($link, $flags, $name){}

/**
 * Check if RPL parse is enabled
 *
 * @param mysqli $link
 * @return int
 * @since PHP 5 < 5.3.0
 **/
function mysqli_rpl_parse_enabled($link){}

/**
 * RPL probe
 *
 * @param mysqli $link
 * @return bool
 * @since PHP 5 < 5.3.0
 **/
function mysqli_rpl_probe($link){}

/**
 * Returns RPL query type
 *
 * Returns MYSQLI_RPL_MASTER, MYSQLI_RPL_SLAVE or MYSQLI_RPL_ADMIN
 * depending on a query type. INSERT, UPDATE and similar are master
 * queries, SELECT is slave, and FLUSH, REPAIR and similar are admin.
 *
 * @param mysqli $link
 * @param string $query
 * @return int
 * @since PHP 5, PHP 7
 **/
function mysqli_rpl_query_type($link, $query){}

/**
 * Set a named transaction savepoint
 *
 * @param mysqli $link
 * @param string $name
 * @return bool
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function mysqli_savepoint($link, $name){}

/**
 * Selects the default database for database queries
 *
 * Selects the default database to be used when performing queries
 * against the database connection.
 *
 * @param mysqli $link The database name.
 * @param string $dbname
 * @return bool
 * @since PHP 5, PHP 7
 **/
function mysqli_select_db($link, $dbname){}

/**
 * Send the query and return
 *
 * @param mysqli $link
 * @param string $query
 * @return bool
 * @since PHP 5, PHP 7
 **/
function mysqli_send_query($link, $query){}

/**
 * Sets the default client character set
 *
 * Sets the default character set to be used when sending data from and
 * to the database server.
 *
 * @param mysqli $link The charset to be set as default.
 * @param string $charset
 * @return bool
 * @since PHP 5 >= 5.0.5, PHP 7
 **/
function mysqli_set_charset($link, $charset){}

/**
 * Unsets user defined handler for load local infile command
 *
 * Deactivates a LOAD DATA INFILE LOCAL handler previously set with
 * {@link mysqli_set_local_infile_handler}.
 *
 * @param mysqli $link
 * @return void
 * @since PHP 5, PHP 7
 **/
function mysqli_set_local_infile_default($link){}

/**
 * Set callback function for LOAD DATA LOCAL INFILE command
 *
 * The callbacks task is to read input from the file specified in the
 * LOAD DATA LOCAL INFILE and to reformat it into the format understood
 * by LOAD DATA INFILE.
 *
 * The returned data needs to match the format specified in the LOAD DATA
 *
 * @param mysqli $link A callback function or object method taking the
 *   following parameters:
 * @param callable $read_func A PHP stream associated with the SQL
 *   commands INFILE
 * @return bool
 * @since PHP 5, PHP 7
 **/
function mysqli_set_local_infile_handler($link, $read_func){}

/**
 * Force execution of a query on a slave in a master/slave setup
 *
 * @param mysqli $link
 * @param string $query
 * @return bool
 * @since PHP 5 < 5.3.0
 **/
function mysqli_slave_query($link, $query){}

/**
 * Returns the SQLSTATE error from previous MySQL operation
 *
 * Returns a string containing the SQLSTATE error code for the last
 * error. The error code consists of five characters. '00000' means no
 * error. The values are specified by ANSI SQL and ODBC. For a list of
 * possible values, see .
 *
 * @param mysqli $link
 * @return string Returns a string containing the SQLSTATE error code
 *   for the last error. The error code consists of five characters.
 *   '00000' means no error.
 * @since PHP 5, PHP 7
 **/
function mysqli_sqlstate($link){}

/**
 * Used for establishing secure connections using SSL
 *
 * Used for establishing secure connections using SSL. It must be called
 * before {@link mysqli_real_connect}. This function does nothing unless
 * OpenSSL support is enabled.
 *
 * Note that MySQL Native Driver does not support SSL before PHP 5.3.3,
 * so calling this function when using MySQL Native Driver will result in
 * an error. MySQL Native Driver is enabled by default on Microsoft
 * Windows from PHP version 5.3 onwards.
 *
 * @param mysqli $link The path name to the key file.
 * @param string $key The path name to the certificate file.
 * @param string $cert The path name to the certificate authority file.
 * @param string $ca The pathname to a directory that contains trusted
 *   SSL CA certificates in PEM format.
 * @param string $capath A list of allowable ciphers to use for SSL
 *   encryption.
 * @param string $cipher
 * @return bool This function always returns TRUE value. If SSL setup
 *   is incorrect {@link mysqli_real_connect} will return an error when
 *   you attempt to connect.
 * @since PHP 5, PHP 7
 **/
function mysqli_ssl_set($link, $key, $cert, $ca, $capath, $cipher){}

/**
 * Gets the current system status
 *
 * {@link mysqli_stat} returns a string containing information similar to
 * that provided by the 'mysqladmin status' command. This includes uptime
 * in seconds and the number of running threads, questions, reloads, and
 * open tables.
 *
 * @param mysqli $link
 * @return string A string describing the server status. FALSE if an
 *   error occurred.
 * @since PHP 5, PHP 7
 **/
function mysqli_stat($link){}

/**
 * Returns the total number of rows changed, deleted, or inserted by the
 * last executed statement
 *
 * Returns the number of rows affected by INSERT, UPDATE, or DELETE
 * query.
 *
 * This function only works with queries which update a table. In order
 * to get the number of rows from a SELECT query, use {@link
 * mysqli_stmt_num_rows} instead.
 *
 * @param mysqli_stmt $stmt
 * @return int An integer greater than zero indicates the number of
 *   rows affected or retrieved. Zero indicates that no records where
 *   updated for an UPDATE/DELETE statement, no rows matched the WHERE
 *   clause in the query or that no query has yet been executed. -1
 *   indicates that the query has returned an error. NULL indicates an
 *   invalid argument was supplied to the function.
 * @since PHP 5, PHP 7
 **/
function mysqli_stmt_affected_rows($stmt){}

/**
 * Used to get the current value of a statement attribute
 *
 * Gets the current value of a statement attribute.
 *
 * @param mysqli_stmt $stmt The attribute that you want to get.
 * @param int $attr
 * @return int Returns FALSE if the attribute is not found, otherwise
 *   returns the value of the attribute.
 * @since PHP 5, PHP 7
 **/
function mysqli_stmt_attr_get($stmt, $attr){}

/**
 * Used to modify the behavior of a prepared statement
 *
 * Used to modify the behavior of a prepared statement. This function may
 * be called multiple times to set several attributes.
 *
 * @param mysqli_stmt $stmt The attribute that you want to set. It can
 *   have one of the following values: Attribute values Character
 *   Description MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH Setting to TRUE
 *   causes {@link mysqli_stmt_store_result} to update the metadata
 *   MYSQL_FIELD->max_length value. MYSQLI_STMT_ATTR_CURSOR_TYPE Type of
 *   cursor to open for statement when {@link mysqli_stmt_execute} is
 *   invoked. {@link mode} can be MYSQLI_CURSOR_TYPE_NO_CURSOR (the
 *   default) or MYSQLI_CURSOR_TYPE_READ_ONLY.
 *   MYSQLI_STMT_ATTR_PREFETCH_ROWS Number of rows to fetch from server
 *   at a time when using a cursor. {@link mode} can be in the range from
 *   1 to the maximum value of unsigned long. The default is 1. If you
 *   use the MYSQLI_STMT_ATTR_CURSOR_TYPE option with
 *   MYSQLI_CURSOR_TYPE_READ_ONLY, a cursor is opened for the statement
 *   when you invoke {@link mysqli_stmt_execute}. If there is already an
 *   open cursor from a previous {@link mysqli_stmt_execute} call, it
 *   closes the cursor before opening a new one. {@link
 *   mysqli_stmt_reset} also closes any open cursor before preparing the
 *   statement for re-execution. {@link mysqli_stmt_free_result} closes
 *   any open cursor. If you open a cursor for a prepared statement,
 *   {@link mysqli_stmt_store_result} is unnecessary.
 * @param int $attr The value to assign to the attribute.
 * @param int $mode
 * @return bool
 * @since PHP 5, PHP 7
 **/
function mysqli_stmt_attr_set($stmt, $attr, $mode){}

/**
 * Binds variables to a prepared statement as parameters
 *
 * Bind variables for the parameter markers in the SQL statement that was
 * passed to {@link mysqli_prepare}.
 *
 * @param mysqli_stmt $stmt A string that contains one or more
 *   characters which specify the types for the corresponding bind
 *   variables: Type specification chars Character Description i
 *   corresponding variable has type integer d corresponding variable has
 *   type double s corresponding variable has type string b corresponding
 *   variable is a blob and will be sent in packets
 * @param string $types The number of variables and length of string
 *   {@link types} must match the parameters in the statement.
 * @param mixed $var1
 * @return bool
 * @since PHP 5, PHP 7
 **/
function mysqli_stmt_bind_param($stmt, $types, &$var1){}

/**
 * Binds variables to a prepared statement for result storage
 *
 * Binds columns in the result set to variables.
 *
 * When {@link mysqli_stmt_fetch} is called to fetch data, the MySQL
 * client/server protocol places the data for the bound columns into the
 * specified variables {@link var1, ...}.
 *
 * @param mysqli_stmt $stmt The variable to be bound.
 * @param mixed $var1
 * @return bool
 * @since PHP 5, PHP 7
 **/
function mysqli_stmt_bind_result($stmt, &$var1){}

/**
 * Closes a prepared statement
 *
 * Closes a prepared statement. {@link mysqli_stmt_close} also
 * deallocates the statement handle. If the current statement has pending
 * or unread results, this function cancels them so that the next query
 * can be executed.
 *
 * @param mysqli_stmt $stmt
 * @return bool
 * @since PHP 5, PHP 7
 **/
function mysqli_stmt_close($stmt){}

/**
 * Seeks to an arbitrary row in statement result set
 *
 * Seeks to an arbitrary result pointer in the statement result set.
 *
 * {@link mysqli_stmt_store_result} must be called prior to {@link
 * mysqli_stmt_data_seek}.
 *
 * @param mysqli_stmt $stmt Must be between zero and the total number
 *   of rows minus one (0.. {@link mysqli_stmt_num_rows} - 1).
 * @param int $offset
 * @return void
 * @since PHP 5, PHP 7
 **/
function mysqli_stmt_data_seek($stmt, $offset){}

/**
 * Returns the error code for the most recent statement call
 *
 * Returns the error code for the most recently invoked statement
 * function that can succeed or fail.
 *
 * Client error message numbers are listed in the MySQL errmsg.h header
 * file, server error message numbers are listed in mysqld_error.h. In
 * the MySQL source distribution you can find a complete list of error
 * messages and error numbers in the file Docs/mysqld_error.txt.
 *
 * @param mysqli_stmt $stmt
 * @return int An error code value. Zero means no error occurred.
 * @since PHP 5, PHP 7
 **/
function mysqli_stmt_errno($stmt){}

/**
 * Returns a string description for last statement error
 *
 * Returns a string containing the error message for the most recently
 * invoked statement function that can succeed or fail.
 *
 * @param mysqli_stmt $stmt
 * @return string A string that describes the error. An empty string if
 *   no error occurred.
 * @since PHP 5, PHP 7
 **/
function mysqli_stmt_error($stmt){}

/**
 * Returns a list of errors from the last statement executed
 *
 * Returns an array of errors for the most recently invoked statement
 * function that can succeed or fail.
 *
 * @param mysqli_stmt $stmt
 * @return array A list of errors, each as an associative array
 *   containing the errno, error, and sqlstate.
 * @since PHP 5 >= 5.4.0, PHP 7
 **/
function mysqli_stmt_error_list($stmt){}

/**
 * Executes a prepared Query
 *
 * Executes a query that has been previously prepared using the {@link
 * mysqli_prepare} function. When executed any parameter markers which
 * exist will automatically be replaced with the appropriate data.
 *
 * If the statement is UPDATE, DELETE, or INSERT, the total number of
 * affected rows can be determined by using the {@link
 * mysqli_stmt_affected_rows} function. Likewise, if the query yields a
 * result set the {@link mysqli_stmt_fetch} function is used.
 *
 * @param mysqli_stmt $stmt
 * @return bool
 * @since PHP 5, PHP 7
 **/
function mysqli_stmt_execute($stmt){}

/**
 * Fetch results from a prepared statement into the bound variables
 *
 * Fetch the result from a prepared statement into the variables bound by
 * {@link mysqli_stmt_bind_result}.
 *
 * @param mysqli_stmt $stmt
 * @return bool
 * @since PHP 5, PHP 7
 **/
function mysqli_stmt_fetch($stmt){}

/**
 * Returns the number of field in the given statement
 *
 * @param mysqli_stmt $stmt
 * @return int
 * @since PHP 5, PHP 7
 **/
function mysqli_stmt_field_count($stmt){}

/**
 * Frees stored result memory for the given statement handle
 *
 * Frees the result memory associated with the statement, which was
 * allocated by {@link mysqli_stmt_store_result}.
 *
 * @param mysqli_stmt $stmt
 * @return void
 * @since PHP 5, PHP 7
 **/
function mysqli_stmt_free_result($stmt){}

/**
 * Gets a result set from a prepared statement
 *
 * Call to return a result set from a prepared statement query.
 *
 * @param mysqli_stmt $stmt
 * @return mysqli_result Returns a resultset for successful SELECT
 *   queries, or FALSE for other DML queries or on failure. The {@link
 *   mysqli_errno} function can be used to distinguish between the two
 *   types of failure.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function mysqli_stmt_get_result($stmt){}

/**
 * Get result of SHOW WARNINGS
 *
 * @param mysqli_stmt $stmt
 * @return object
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function mysqli_stmt_get_warnings($stmt){}

/**
 * Initializes a statement and returns an object for use with
 * mysqli_stmt_prepare
 *
 * Allocates and initializes a statement object suitable for {@link
 * mysqli_stmt_prepare}.
 *
 * @param mysqli $link
 * @return mysqli_stmt Returns an object.
 * @since PHP 5, PHP 7
 **/
function mysqli_stmt_init($link){}

/**
 * Get the ID generated from the previous INSERT operation
 *
 * @param mysqli_stmt $stmt
 * @return mixed
 * @since PHP 5, PHP 7
 **/
function mysqli_stmt_insert_id($stmt){}

/**
 * Check if there are more query results from a multiple query
 *
 * Checks if there are more query results from a multiple query.
 *
 * @param mysql_stmt $stmt
 * @return bool Returns TRUE if more results exist, otherwise FALSE.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function mysqli_stmt_more_results($stmt){}

/**
 * Reads the next result from a multiple query
 *
 * @param mysql_stmt $stmt
 * @return bool
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function mysqli_stmt_next_result($stmt){}

/**
 * Return the number of rows in statements result set
 *
 * Returns the number of rows in the result set. The use of {@link
 * mysqli_stmt_num_rows} depends on whether or not you used {@link
 * mysqli_stmt_store_result} to buffer the entire result set in the
 * statement handle.
 *
 * If you use {@link mysqli_stmt_store_result}, {@link
 * mysqli_stmt_num_rows} may be called immediately.
 *
 * @param mysqli_stmt $stmt
 * @return int An integer representing the number of rows in result
 *   set.
 * @since PHP 5, PHP 7
 **/
function mysqli_stmt_num_rows($stmt){}

/**
 * Returns the number of parameter for the given statement
 *
 * Returns the number of parameter markers present in the prepared
 * statement.
 *
 * @param mysqli_stmt $stmt
 * @return int Returns an integer representing the number of
 *   parameters.
 * @since PHP 5, PHP 7
 **/
function mysqli_stmt_param_count($stmt){}

/**
 * Prepare an SQL statement for execution
 *
 * Prepares the SQL query pointed to by the null-terminated string query.
 *
 * The parameter markers must be bound to application variables using
 * {@link mysqli_stmt_bind_param} and/or {@link mysqli_stmt_bind_result}
 * before executing the statement or fetching rows.
 *
 * @param mysqli_stmt $stmt The query, as a string. It must consist of
 *   a single SQL statement. You can include one or more parameter
 *   markers in the SQL statement by embedding question mark (?)
 *   characters at the appropriate positions.
 * @param string $query
 * @return bool
 * @since PHP 5, PHP 7
 **/
function mysqli_stmt_prepare($stmt, $query){}

/**
 * Resets a prepared statement
 *
 * Resets a prepared statement on client and server to state after
 * prepare.
 *
 * It resets the statement on the server, data sent using {@link
 * mysqli_stmt_send_long_data}, unbuffered result sets and current
 * errors. It does not clear bindings or stored result sets. Stored
 * result sets will be cleared when executing the prepared statement (or
 * closing it).
 *
 * To prepare a statement with another query use function {@link
 * mysqli_stmt_prepare}.
 *
 * @param mysqli_stmt $stmt
 * @return bool
 * @since PHP 5, PHP 7
 **/
function mysqli_stmt_reset($stmt){}

/**
 * Returns result set metadata from a prepared statement
 *
 * If a statement passed to {@link mysqli_prepare} is one that produces a
 * result set, {@link mysqli_stmt_result_metadata} returns the result
 * object that can be used to process the meta information such as total
 * number of fields and individual field information.
 *
 * The result set structure should be freed when you are done with it,
 * which you can do by passing it to {@link mysqli_free_result}
 *
 * @param mysqli_stmt $stmt
 * @return mysqli_result Returns a result object or FALSE if an error
 *   occurred.
 * @since PHP 5, PHP 7
 **/
function mysqli_stmt_result_metadata($stmt){}

/**
 * Send data in blocks
 *
 * Allows to send parameter data to the server in pieces (or chunks),
 * e.g. if the size of a blob exceeds the size of max_allowed_packet.
 * This function can be called multiple times to send the parts of a
 * character or binary data value for a column, which must be one of the
 * TEXT or BLOB datatypes.
 *
 * @param mysqli_stmt $stmt Indicates which parameter to associate the
 *   data with. Parameters are numbered beginning with 0.
 * @param int $param_nr A string containing data to be sent.
 * @param string $data
 * @return bool
 * @since PHP 5, PHP 7
 **/
function mysqli_stmt_send_long_data($stmt, $param_nr, $data){}

/**
 * Returns SQLSTATE error from previous statement operation
 *
 * Returns a string containing the SQLSTATE error code for the most
 * recently invoked prepared statement function that can succeed or fail.
 * The error code consists of five characters. '00000' means no error.
 * The values are specified by ANSI SQL and ODBC. For a list of possible
 * values, see .
 *
 * @param mysqli_stmt $stmt
 * @return string Returns a string containing the SQLSTATE error code
 *   for the last error. The error code consists of five characters.
 *   '00000' means no error.
 * @since PHP 5, PHP 7
 **/
function mysqli_stmt_sqlstate($stmt){}

/**
 * Transfers a result set from a prepared statement
 *
 * You must call {@link mysqli_stmt_store_result} for every query that
 * successfully produces a result set (SELECT, SHOW, DESCRIBE, EXPLAIN),
 * if and only if you want to buffer the complete result set by the
 * client, so that the subsequent {@link mysqli_stmt_fetch} call returns
 * buffered data.
 *
 * @param mysqli_stmt $stmt
 * @return bool
 * @since PHP 5, PHP 7
 **/
function mysqli_stmt_store_result($stmt){}

/**
 * Transfers a result set from the last query
 *
 * Transfers the result set from the last query on the database
 * connection represented by the {@link link} parameter to be used with
 * the {@link mysqli_data_seek} function.
 *
 * @param mysqli $link The option that you want to set. It can be one
 *   of the following values: Valid options Name Description
 *   MYSQLI_STORE_RESULT_COPY_DATA Copy results from the internal mysqlnd
 *   buffer into the PHP variables fetched. By default, mysqlnd will use
 *   a reference logic to avoid copying and duplicating results held in
 *   memory. For certain result sets, for example, result sets with many
 *   small rows, the copy approach can reduce the overall memory usage
 *   because PHP variables holding results may be released earlier
 *   (available with mysqlnd only, since PHP 5.6.0)
 * @param int $option
 * @return mysqli_result Returns a buffered result object or FALSE if
 *   an error occurred.
 * @since PHP 5, PHP 7
 **/
function mysqli_store_result($link, $option){}

/**
 * Returns the thread ID for the current connection
 *
 * The {@link mysqli_thread_id} function returns the thread ID for the
 * current connection which can then be killed using the {@link
 * mysqli_kill} function. If the connection is lost and you reconnect
 * with {@link mysqli_ping}, the thread ID will be other. Therefore you
 * should get the thread ID only when you need it.
 *
 * @param mysqli $link
 * @return int Returns the Thread ID for the current connection.
 * @since PHP 5, PHP 7
 **/
function mysqli_thread_id($link){}

/**
 * Returns whether thread safety is given or not
 *
 * Tells whether the client library is compiled as thread-safe.
 *
 * @return bool TRUE if the client library is thread-safe, otherwise
 *   FALSE.
 * @since PHP 5, PHP 7
 **/
function mysqli_thread_safe(){}

/**
 * Initiate a result set retrieval
 *
 * Used to initiate the retrieval of a result set from the last query
 * executed using the {@link mysqli_real_query} function on the database
 * connection.
 *
 * Either this or the {@link mysqli_store_result} function must be called
 * before the results of a query can be retrieved, and one or the other
 * must be called to prevent the next query on that database connection
 * from failing.
 *
 * @param mysqli $link
 * @return mysqli_result Returns an unbuffered result object or FALSE
 *   if an error occurred.
 * @since PHP 5, PHP 7
 **/
function mysqli_use_result($link){}

/**
 * Returns the number of warnings from the last query for the given link
 *
 * Returns the number of warnings from the last query in the connection.
 *
 * @param mysqli $link
 * @return int Number of warnings or zero if there are no warnings.
 * @since PHP 5, PHP 7
 **/
function mysqli_warning_count($link){}

/**
 * Returns information about the plugin configuration
 *
 * This function returns an array of all mysqlnd_memcache related
 * configuration information that is attached to the MySQL connection.
 * This includes MySQL, the Memcache object provided via {@link
 * mysqlnd_memcache_set}, and the table mapping configuration that was
 * automatically collected from the MySQL Server.
 *
 * @param mixed $connection A handle to a MySQL Server using one of the
 *   MySQL API extensions for PHP, which are PDO_MYSQL, mysqli or
 *   ext/mysql.
 * @return array An array of mysqlnd_memcache configuration information
 *   on success, otherwise FALSE.
 * @since PECL mysqlnd_memcache >= 1.0.0
 **/
function mysqlnd_memcache_get_config($connection){}

/**
 * Associate a MySQL connection with a Memcache connection
 *
 * Associate {@link mysql_connection} with {@link memcache_connection}
 * using {@link pattern} as a PCRE regular expression, and {@link
 * callback} as a notification callback or to unset the association of
 * {@link mysql_connection}.
 *
 * While associating a MySQL connection with a Memcache connection, this
 * function will query the MySQL Server for its configuration. It will
 * automatically detect whether the server is configured to use the
 * InnoDB Memcache Daemon Plugin or MySQL Cluster NDB Memcache support.
 * It will also query the server to automatically identify exported
 * tables and other configuration options. The results of this automatic
 * configuration can be retrieved using {@link
 * mysqlnd_memcache_get_config}.
 *
 * @param mixed $mysql_connection A handle to a MySQL Server using one
 *   of the MySQL API extensions for PHP, which are PDO_MYSQL, mysqli or
 *   ext/mysql.
 * @param Memcached $memcache_connection A Memcached instance with a
 *   connection to the MySQL Memcache Daemon plugin. If this parameter is
 *   omitted, then {@link mysql_connection} will be unassociated from any
 *   memcache connection. And if a previous association exists, then it
 *   will be replaced.
 * @param string $pattern A regular expression in Perl Compatible
 *   Regular Expression syntax used to identify potential
 *   Memcache-queries. The query should have three sub patterns. The
 *   first subpattern contains the requested field list, the second the
 *   name of the ID column from the query and the third the requested
 *   value. If this parameter is omitted or os set to NULL, then a
 *   default pattern will be used.
 * @param callback $callback A callback which will be used whenever a
 *   query is being sent to MySQL. The callback will receive a single
 *   parameter telling if a query was sent via Memcache.
 * @return bool TRUE if the association or disassociation is
 *   successful, otherwise FALSE if there is an error.
 * @since PECL mysqlnd_memcache >= 1.0.0
 **/
function mysqlnd_memcache_set($mysql_connection, $memcache_connection, $pattern, $callback){}

/**
 * Returns a list of currently configured servers
 *
 * @param mixed $connection A MySQL connection handle obtained from any
 *   of the connect functions of the mysqli, mysql or PDO_MYSQL
 *   extensions.
 * @return array FALSE on error. Otherwise, returns an array with two
 *   entries masters and slaves each of which contains an array listing
 *   all corresponding servers.
 **/
function mysqlnd_ms_dump_servers($connection){}

/**
 * Switch to global sharding server for a given table
 *
 * MySQL Fabric related.
 *
 * Switch the connection to the nodes handling global sharding queries
 * for the given table name.
 *
 * @param mixed $connection A MySQL connection handle obtained from any
 *   of the connect functions of the mysqli, mysql or PDO_MYSQL
 *   extensions.
 * @param mixed $table_name The table name to ask Fabric about.
 * @return array FALSE on error. Otherwise, TRUE
 **/
function mysqlnd_ms_fabric_select_global($connection, $table_name){}

/**
 * Switch to shard
 *
 * MySQL Fabric related.
 *
 * Switch the connection to the shards responsible for the given table
 * name and shard key.
 *
 * @param mixed $connection A MySQL connection handle obtained from any
 *   of the connect functions of the mysqli, mysql or PDO_MYSQL
 *   extensions.
 * @param mixed $table_name The table name to ask Fabric about.
 * @param mixed $shard_key The shard key to ask Fabric about.
 * @return array FALSE on error. Otherwise, TRUE
 **/
function mysqlnd_ms_fabric_select_shard($connection, $table_name, $shard_key){}

/**
 * Returns the latest global transaction ID
 *
 * Returns a global transaction identifier which belongs to a write
 * operation no older than the last write performed by the client. It is
 * not guaranteed that the global transaction identifier is identical to
 * that one created for the last write transaction performed by the
 * client.
 *
 * @param mixed $connection A PECL/mysqlnd_ms connection handle to a
 *   MySQL server of the type PDO_MYSQL, mysqli> or ext/mysql. The
 *   connection handle is obtained when opening a connection with a host
 *   name that matches a mysqlnd_ms configuration file entry using any of
 *   the above three MySQL driver extensions.
 * @return string Returns a global transaction ID (GTID) on success.
 *   Otherwise, returns FALSE.
 * @since PECL mysqlnd_ms >= 1.2.0
 **/
function mysqlnd_ms_get_last_gtid($connection){}

/**
 * Returns an array which describes the last used connection
 *
 * Returns an array which describes the last used connection from the
 * plugins connection pool currently pointed to by the user connection
 * handle. If using the plugin, a user connection handle represents a
 * pool of database connections. It is not possible to tell from the user
 * connection handles properties to which database server from the pool
 * the user connection handle points.
 *
 * The function can be used to debug or monitor PECL mysqlnd_ms.
 *
 * @param mixed $connection A MySQL connection handle obtained from any
 *   of the connect functions of the mysqli, mysql or PDO_MYSQL
 *   extensions.
 * @return array FALSE on error. Otherwise, an array which describes
 *   the connection used to execute the last statement on.
 * @since PECL mysqlnd_ms >= 1.1.0
 **/
function mysqlnd_ms_get_last_used_connection($connection){}

/**
 * Returns query distribution and connection statistics
 *
 * Returns an array of statistics collected by the replication and load
 * balancing plugin.
 *
 * The PHP configuration setting mysqlnd_ms.collect_statistics controls
 * the collection of statistics. The collection of statistics is disabled
 * by default for performance reasons.
 *
 * The scope of the statistics is the PHP process. Depending on your
 * deployment model a PHP process may handle one or multiple requests.
 *
 * Statistics are aggregated for all connections and all storage handler.
 * It is not possible to tell how much queries originating from mysqli,
 * PDO_MySQL or mysql API calls have contributed to the aggregated data
 * values.
 *
 * @return array Returns NULL if the PHP configuration directive
 *   mysqlnd_ms.enable has disabled the plugin. Otherwise, returns array
 *   of statistics.
 * @since PECL mysqlnd_ms >= 1.0.0
 **/
function mysqlnd_ms_get_stats(){}

/**
 * Finds whether a table name matches a wildcard pattern or not
 *
 * This function is not of much practical relevance with PECL mysqlnd_ms
 * 1.1.0 because the plugin does not support MySQL replication table
 * filtering yet.
 *
 * @param string $table_name The table name to check if it is matched
 *   by the wildcard.
 * @param string $wildcard The wildcard pattern to check against the
 *   table name. The wildcard pattern supports the same placeholders as
 *   MySQL replication filters do. MySQL replication filters can be
 *   configured by using the MySQL Server configuration options
 *   --replicate-wild-do-table and --replicate-wild-do-db. Please,
 *   consult the MySQL Reference Manual to learn more about this MySQL
 *   Server feature. The supported placeholders are: % - zero or more
 *   literals _ - one literal Placeholders can be escaped using \.
 * @return bool Returns TRUE table_name is matched by wildcard.
 *   Otherwise, returns FALSE
 * @since PECL mysqlnd_ms >= 1.1.0
 **/
function mysqlnd_ms_match_wild($table_name, $wildcard){}

/**
 * Find whether to send the query to the master, the slave or the last
 * used MySQL server
 *
 * Finds whether to send the query to the master, the slave or the last
 * used MySQL server.
 *
 * The plugins built-in read/write split mechanism will be used to
 * analyze the query string to make a recommendation where to send the
 * query. The built-in read/write split mechanism is very basic and
 * simple. The plugin will recommend sending all queries to the MySQL
 * replication master server but those which begin with SELECT, or begin
 * with a SQL hint which enforces sending the query to a slave server.
 * Due to the basic but fast algorithm the plugin may propose to run some
 * read-only statements such as SHOW TABLES on the replication master.
 *
 * @param string $query Query string to test.
 * @return int A return value of MYSQLND_MS_QUERY_USE_MASTER indicates
 *   that the query should be send to the MySQL replication master
 *   server. The function returns a value of MYSQLND_MS_QUERY_USE_SLAVE
 *   if the query can be run on a slave because it is considered
 *   read-only. A value of MYSQLND_MS_QUERY_USE_LAST_USED is returned to
 *   recommend running the query on the last used server. This can either
 *   be a MySQL replication master server or a MySQL replication slave
 *   server.
 * @since PECL mysqlnd_ms >= 1.0.0
 **/
function mysqlnd_ms_query_is_select($query){}

/**
 * Sets the quality of service needed from the cluster
 *
 * Sets the quality of service needed from the cluster. A database
 * cluster delivers a certain quality of service to the user depending on
 * its architecture. A major aspect of the quality of service is the
 * consistency level the cluster can offer. An asynchronous MySQL
 * replication cluster defaults to eventual consistency for slave reads:
 * a slave may serve stale data, current data, or it may have not the
 * requested data at all, because it is not synchronous to the master. In
 * a MySQL replication cluster, only master accesses can give strong
 * consistency, which promises that all clients see each others changes.
 *
 * PECL/mysqlnd_ms hides the complexity of choosing appropriate nodes to
 * achieve a certain level of service from the cluster. The "Quality of
 * Service" filter implements the necessary logic. The filter can either
 * be configured in the plugins configuration file, or at runtime using
 * {@link mysqlnd_ms_set_qos}.
 *
 * Similar results can be achieved with PECL mysqlnd_ms < 1.2.0, if using
 * SQL hints to force the use of a certain type of node or using the
 * master_on_write plugin configuration option. The first requires more
 * code and causes more work on the application side. The latter is less
 * refined than using the quality of service filter. Settings made
 * through the function call can be reversed, as shown in the example
 * below. The example temporarily switches to a higher service level
 * (session consistency, read your writes) and returns back to the
 * clusters default after it has performed all operations that require
 * the better service. This way, read load on the master can be minimized
 * compared to using master_on_write, which would continue using the
 * master after the first write.
 *
 * Since 1.5.0 calls will fail when done in the middle of a transaction
 * if transaction stickiness is enabled and transaction boundaries have
 * been detected. properly.
 *
 * @param mixed $connection A PECL/mysqlnd_ms connection handle to a
 *   MySQL server of the type PDO_MYSQL, mysqli or ext/mysql for which a
 *   service level is to be set. The connection handle is obtained when
 *   opening a connection with a host name that matches a mysqlnd_ms
 *   configuration file entry using any of the above three MySQL driver
 *   extensions.
 * @param int $service_level The requested service level:
 *   MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL,
 *   MYSQLND_MS_QOS_CONSISTENCY_SESSION or
 *   MYSQLND_MS_QOS_CONSISTENCY_STRONG.
 * @param int $service_level_option An option to parameterize the
 *   requested service level. The option can either be
 *   MYSQLND_MS_QOS_OPTION_GTID or MYSQLND_MS_QOS_OPTION_AGE. The option
 *   MYSQLND_MS_QOS_OPTION_GTID can be used to refine the service level
 *   MYSQLND_MS_QOS_CONSISTENCY_SESSION. It must be combined with a
 *   fourth function parameter, the {@link option_value}. The {@link
 *   option_value} shall be a global transaction ID obtained from {@link
 *   mysqlnd_ms_get_last_gtid}. If set, the plugin considers both master
 *   servers and asynchronous slaves for session consistency (read your
 *   writes). Otherwise, only masters are used to achieve session
 *   consistency. A slave is considered up-to-date and checked if it has
 *   already replicated the global transaction ID from {@link
 *   option_value}. Please note, searching appropriate slaves is an
 *   expensive and slow operation. Use the feature sparsely, if the
 *   master cannot handle the read load alone. The
 *   MYSQLND_MS_QOS_OPTION_AGE option can be combined with the
 *   MYSQLND_MS_QOS_CONSISTENCY_EVENTUAL service level, to filter out
 *   asynchronous slaves that lag more seconds behind the master than
 *   {@link option_value}. If set, the plugin will only consider slaves
 *   for reading if SHOW SLAVE STATUS reports Slave_IO_Running=Yes,
 *   Slave_SQL_Running=Yes and Seconds_Behind_Master <= option_value.
 *   Please note, searching appropriate slaves is an expensive and slow
 *   operation. Use the feature sparsely in version 1.2.0. Future
 *   versions may improve the algorithm used to identify candidates.
 *   Please, see the MySQL reference manual about the precision, accuracy
 *   and limitations of the MySQL administrative command SHOW SLAVE
 *   STATUS.
 * @param mixed $option_value Parameter value for the service level
 *   option. See also the {@link service_level_option} parameter.
 * @return bool Returns TRUE if the connections service level has been
 *   switched to the requested. Otherwise, returns FALSE
 * @since PECL mysqlnd_ms < 1.2.0
 **/
function mysqlnd_ms_set_qos($connection, $service_level, $service_level_option, $option_value){}

/**
 * Sets a callback for user-defined read/write splitting
 *
 * Sets a callback for user-defined read/write splitting. The plugin will
 * call the callback only if pick[]=user is the default rule for server
 * picking in the relevant section of the plugins configuration file.
 *
 * The plugins built-in read/write query split mechanism decisions can be
 * overwritten in two ways. The easiest way is to prepend the query
 * string with the SQL hints MYSQLND_MS_MASTER_SWITCH,
 * MYSQLND_MS_SLAVE_SWITCH or MYSQLND_MS_LAST_USED_SWITCH. Using SQL
 * hints one can control, for example, whether a query shall be send to
 * the MySQL replication master server or one of the slave servers. By
 * help of SQL hints it is not possible to pick a certain slave server
 * for query execution.
 *
 * Full control on server selection can be gained using a callback
 * function. Use of a callback is recommended to expert users only
 * because the callback has to cover all cases otherwise handled by the
 * plugin.
 *
 * The plugin will invoke the callback function for selecting a server
 * from the lists of configured master and slave servers. The callback
 * function inspects the query to run and picks a server for query
 * execution by returning the hosts URI, as found in the master and slave
 * list.
 *
 * If the lazy connections are enabled and the callback chooses a slave
 * server for which no connection has been established so far and
 * establishing the connection to the slave fails, the plugin will return
 * an error upon the next action on the failed connection, for example,
 * when running a query. It is the responsibility of the application
 * developer to handle the error. For example, the application can re-run
 * the query to trigger a new server selection and callback invocation.
 * If so, the callback must make sure to select a different slave, or
 * check slave availability, before returning to the plugin to prevent an
 * endless loop.
 *
 * @param string $function The function to be called. Class methods may
 *   also be invoked statically using this function by passing
 *   array($classname, $methodname) to this parameter. Additionally class
 *   methods of an object instance may be called by passing
 *   array($objectinstance, $methodname) to this parameter.
 * @return bool Host to run the query on. The host URI is to be taken
 *   from the master and slave connection lists passed to the callback
 *   function. If callback returns a value neither found in the master
 *   nor in the slave connection lists the plugin will fallback to the
 *   second pick method configured via the pick[] setting in the plugin
 *   configuration file. If not second pick method is given, the plugin
 *   falls back to the build-in default pick method for server selection.
 * @since PECL mysqlnd_ms < 1.1.0
 **/
function mysqlnd_ms_set_user_pick_server($function){}

/**
 * Starts a distributed/XA transaction among MySQL servers
 *
 * Starts a XA transaction among MySQL servers. PECL/mysqlnd_ms acts as a
 * transaction coordinator the distributed transaction.
 *
 * Once a global transaction has been started, the plugin injects
 * appropriate XA BEGIN SQL statements on all MySQL servers used in the
 * following. The global transaction is either ended by calling {@link
 * mysqlnd_ms_xa_commit}, {@link mysqlnd_ms_xa_rollback} or by an
 * implicit rollback in case of an error.
 *
 * During a global transaction, the plugin tracks all server switches,
 * for example, when switching from one MySQL shard to another MySQL
 * shard. Immediately before a query is run on a server that has not been
 * participating in the global transaction yet, XA BEGIN is executed on
 * the server. From a users perspective the injection happens during a
 * call to a query execution function such as {@link mysqli_query}.
 * Should the injection fail an error is reported to the caller of the
 * query execution function. The failing server does not become a
 * participant in the global transaction. The user may retry executing a
 * query on the server and hereby retry injecting XA BEGIN, abort the
 * global transaction because not all required servers can participate,
 * or ignore and continue the global without the failed server.
 *
 * Reasons to fail executing XA BEGIN include but are not limited to a
 * server being unreachable or the server having an open, concurrent XA
 * transaction using the same xid.
 *
 * Please note, global and local transactions are mutually exclusive. You
 * cannot start a XA transaction when you have a local transaction open.
 * The local transaction must be ended first. The plugin tries to detect
 * this conflict as early as possible. It monitors API calls for
 * controlling local transactions to learn about the current state.
 * However, if using SQL statements for local transactions such as BEGIN,
 * the plugin may not know the current state and the conflict is not
 * detected before XA BEGIN is injected and executed.
 *
 * The use of other XA resources but MySQL servers is not supported by
 * the function. To carry out a global transaction among, for example, a
 * MySQL server and another vendors database system, you should issue the
 * systems SQL commands yourself.
 *
 * @param mixed $connection A MySQL connection handle obtained from any
 *   of the connect functions of the mysqli, mysql or PDO_MYSQL
 *   extensions.
 * @param string $gtrid Global transaction identifier (gtrid). The
 *   gtrid is a binary string up to 64 bytes long. Please note, depending
 *   on your character set settings, 64 characters may require more than
 *   64 bytes to store. In accordance with the MySQL SQL syntax, XA
 *   transactions use identifiers made of three parts. An xid consists of
 *   a global transaction identifier (gtrid), a branch qualifier (bqual)
 *   and a format identifier (formatID). Only the global transaction
 *   identifier can and needs to be set. The branch qualifier and format
 *   identifier are set automatically. The details should be considered
 *   implementation dependent, which may change without prior notice. In
 *   version 1.6 the branch qualifier is consecutive number which is
 *   incremented whenever a participant joins the global transaction.
 * @param int $timeout Timeout in seconds. The default value is 60
 *   seconds. The timeout is a hint to the garbage collection. If a
 *   transaction is recorded to take longer than expected, the garbage
 *   collection begins checking the transactions status. Setting a low
 *   value may make the garbage collection check the progress too often.
 *   Please note, checking the status of a global transaction may involve
 *   connecting to all recorded participants and possibly issuing queries
 *   on the servers.
 * @return int Returns TRUE if there is no open local or global
 *   transaction and a new global transaction can be started. Otherwise,
 *   returns FALSE
 * @since PECL mysqlnd_ms < 1.6.0
 **/
function mysqlnd_ms_xa_begin($connection, $gtrid, $timeout){}

/**
 * Commits a distributed/XA transaction among MySQL servers
 *
 * Commits a global transaction among MySQL servers started by {@link
 * mysqlnd_ms_xa_begin}.
 *
 * If any of the global transaction participants fails to commit an
 * implicit rollback is performed. It may happen that not all cases can
 * be handled during the rollback. For example, no attempts will be made
 * to reconnect to a participant after the connection to the participant
 * has been lost. Solving cases that cannot easily be rolled back is left
 * to the garbage collection.
 *
 * @param mixed $connection A MySQL connection handle obtained from any
 *   of the connect functions of the mysqli, mysql or PDO_MYSQL
 *   extensions.
 * @param string $gtrid Global transaction identifier (gtrid).
 * @return int Returns TRUE if the global transaction has been
 *   committed. Otherwise, returns FALSE
 * @since PECL mysqlnd_ms < 1.6.0
 **/
function mysqlnd_ms_xa_commit($connection, $gtrid){}

/**
 * Garbage collects unfinished XA transactions after severe errors
 *
 * Garbage collects unfinished XA transactions.
 *
 * The XA protocol is a blocking protocol. There exist cases when servers
 * participating in a global transaction cannot make progress when the
 * transaction coordinator crashes or disconnects. In such a case, the
 * MySQL servers keep waiting for instructions to finish the XA
 * transaction in question. Because transactions occupy resources,
 * transactions should always be terminated properly.
 *
 * Garbage collection requires configuring a state store to track global
 * transactions. Should a PHP client crash in the middle of a transaction
 * and a new PHP client be started, then the built-in garbage collection
 * can learn about the aborted global transaction and terminate it. If
 * you do not configure a state store, the garbage collection cannot
 * perform any cleanup tasks.
 *
 * The state store should be crash-safe and be highly available to
 * survive its own crash. Currently, only MySQL is supported as a state
 * store.
 *
 * Garbage collection can also be performed automatically in the
 * background. See the plugin configuration directive garbage_collection
 * for details.
 *
 * @param mixed $connection A MySQL connection handle obtained from any
 *   of the connect functions of the mysqli, mysql or PDO_MYSQL
 *   extensions.
 * @param string $gtrid Global transaction identifier (gtrid). If
 *   given, the garbage collection considers the transaction only.
 *   Otherwise, the state store is scanned for any unfinished
 *   transaction.
 * @param bool $ignore_max_retries Whether to ignore the plugin
 *   configuration max_retries setting. If garbage collection
 *   continuously fails and the max_retries limit is reached prior to
 *   finishing the failed global transaction, you can attempt further
 *   runs prior to investigating the cause and solving the issue manually
 *   by issuing appropriate SQL statements on the participants. Setting
 *   the parameter has the same effect as temporarily setting max_retries
 *   = 0.
 * @return int Returns TRUE if garbage collection was successful.
 *   Otherwise, returns FALSE
 * @since PECL mysqlnd_ms < 1.6.0
 **/
function mysqlnd_ms_xa_gc($connection, $gtrid, $ignore_max_retries){}

/**
 * Rolls back a distributed/XA transaction among MySQL servers
 *
 * Rolls back a global transaction among MySQL servers started by {@link
 * mysqlnd_ms_xa_begin}.
 *
 * If any of the global transaction participants fails to rollback the
 * situation is left to be solved by the garbage collection.
 *
 * @param mixed $connection A MySQL connection handle obtained from any
 *   of the connect functions of the mysqli, mysql or PDO_MYSQL
 *   extensions.
 * @param string $gtrid Global transaction identifier (gtrid).
 * @return int Returns TRUE if the global transaction has been rolled
 *   back. Otherwise, returns FALSE
 * @since PECL mysqlnd_ms < 1.6.0
 **/
function mysqlnd_ms_xa_rollback($connection, $gtrid){}

/**
 * Flush all cache contents
 *
 * Flushing the cache is a storage handler responsibility. All built-in
 * storage handler but the memcache storage handler support flushing the
 * cache. The memcache storage handler cannot flush its cache contents.
 *
 * User-defined storage handler may or may not support the operation.
 *
 * @return bool
 * @since PECL mysqlnd_qc >= 1.0.0
 **/
function mysqlnd_qc_clear_cache(){}

/**
 * Returns a list of available storage handler
 *
 * Which storage are available depends on the compile time configuration
 * of the query cache plugin. The default storage handler is always
 * available. All other storage handler must be enabled explicitly when
 * building the extension.
 *
 * @return array Returns an array of available built-in storage
 *   handler. For each storage handler the version number and version
 *   string is given.
 * @since PECL mysqlnd_qc >= 1.0.0
 **/
function mysqlnd_qc_get_available_handlers(){}

/**
 * Returns information on the current handler, the number of cache
 * entries and cache entries, if available
 *
 * @return array Returns information on the current handler, the number
 *   of cache entries and cache entries, if available. If and what data
 *   will be returned for the cache entries is subject to the active
 *   storage handler. Storage handler are free to return any data.
 *   Storage handler are recommended to return at least the data provided
 *   by the default handler, if technically possible.
 * @since PECL mysqlnd_qc >= 1.0.0
 **/
function mysqlnd_qc_get_cache_info(){}

/**
 * Statistics collected by the core of the query cache
 *
 * Returns an array of statistics collected by the core of the cache
 * plugin. The same data fields will be reported for any storage handler
 * because the data is collected by the core.
 *
 * The PHP configuration setting mysqlnd_qc.collect_statistics controls
 * the collection of statistics. The collection of statistics is disabled
 * by default for performance reasons. Disabling the collection of
 * statistics will also disable the collection of time related
 * statistics.
 *
 * The PHP configuration setting mysqlnd_qc.collect_time_statistics
 * controls the collection of time related statistics.
 *
 * The scope of the core statistics is the PHP process. Depending on your
 * deployment model a PHP process may handle one or multiple requests.
 *
 * Statistics are aggregated for all cache entries and all storage
 * handler. It is not possible to tell how much queries originating from
 * mysqli, PDO_MySQL or mysql API calls have contributed to the
 * aggregated data values.
 *
 * @return array Array of core statistics
 * @since PECL mysqlnd_qc >= 1.0.0
 **/
function mysqlnd_qc_get_core_stats(){}

/**
 * Returns a normalized query trace log for each query inspected by the
 * query cache
 *
 * Returns a normalized query trace log for each query inspected by the
 * query cache. The collection of the trace log is disabled by default.
 * To collect the trace log you have to set the PHP configuration
 * directive mysqlnd_qc.collect_normalized_query_trace to 1
 *
 * Entries in the trace log are grouped by the normalized query
 * statement. The normalized query statement is the query statement with
 * all statement parameter values being replaced with a question mark.
 * For example, the two statements SELECT id FROM test WHERE id = 1 and
 * SELECT id FROM test WHERE id = 2 are normalized as SELECT id FROM test
 * WHERE id = ?. Whenever a statement is inspected by the query cache
 * which matches the normalized statement pattern, its statistics are
 * grouped by the normalized statement string.
 *
 * @return array An array of query log. Every list entry contains the
 *   normalized query stringand further detail information.
 * @since PECL mysqlnd_qc >= 1.0.0
 **/
function mysqlnd_qc_get_normalized_query_trace_log(){}

/**
 * Returns a backtrace for each query inspected by the query cache
 *
 * Returns a backtrace for each query inspected by the query cache. The
 * collection of the backtrace is disabled by default. To collect the
 * backtrace you have to set the PHP configuration directive
 * mysqlnd_qc.collect_query_trace to 1
 *
 * The maximum depth of the backtrace is limited to the depth set with
 * the PHP configuration directive mysqlnd_qc.query_trace_bt_depth.
 *
 * @return array An array of query backtrace. Every list entry contains
 *   the query string, a backtrace and further detail information.
 * @since PECL mysqlnd_qc >= 1.0.0
 **/
function mysqlnd_qc_get_query_trace_log(){}

/**
 * Set conditions for automatic caching
 *
 * Sets a condition for automatic caching of statements which do not
 * contain the necessary SQL hints to enable caching of them.
 *
 * @param int $condition_type Type of the condition. The only allowed
 *   value is MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN.
 * @param mixed $condition Parameter for the condition set with
 *   condition_type. Parameter type and structure depend on
 *   condition_type If condition_type equals
 *   MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN condition must be a string.
 *   The string sets a pattern. Statements are cached if table and
 *   database meta data entry of their result sets match the pattern. The
 *   pattern is checked for a match with the db and org_table meta data
 *   entries provided by the underlying MySQL client server library.
 *   Please, check the MySQL Reference manual for details about the two
 *   entries. The db and org_table values are concatenated with a dot (.)
 *   before matched against condition. Pattern matching supports the
 *   wildcards % and _. The wildcard % will match one or many arbitrary
 *   characters. _ will match one arbitrary character. The escape symbol
 *   is backslash.
 * @param mixed $condition_option Option for condition. Type and
 *   structure depend on condition_type. If condition_type equals
 *   MYSQLND_QC_CONDITION_META_SCHEMA_PATTERN condition_options is the
 *   TTL to be used.
 * @return bool Returns TRUE on success or FALSE on FAILURE.
 * @since PECL mysqlnd_qc >= 1.1.0
 **/
function mysqlnd_qc_set_cache_condition($condition_type, $condition, $condition_option){}

/**
 * Installs a callback which decides whether a statement is cached
 *
 * There are several ways of hinting PELC/mysqlnd_qc to cache a query. By
 * default, PECL/mysqlnd_qc attempts to cache a if caching of all
 * statements is enabled or the query string begins with a certain SQL
 * hint. The plugin internally calls a function named is_select() to find
 * out. This internal function can be replaced with a user-defined
 * callback. Then, the user-defined callback is responsible to decide
 * whether the plugin attempts to cache a statement. Because the internal
 * function is replaced with the callback, the callback gains full
 * control. The callback is free to ignore the configuration setting
 * mysqlnd_qc.cache_by_default and SQL hints.
 *
 * The callback is invoked for every statement inspected by the plugin.
 * It is given the statements string as a parameter. The callback returns
 * FALSE if the statement shall not be cached. It returns TRUE to make
 * the plugin attempt to cache the statements result set, if any. A
 * so-created cache entry is given the default TTL set with the PHP
 * configuration directive mysqlnd_qc.ttl. If a different TTL shall be
 * used, the callback returns a numeric value to be used as the TTL.
 *
 * The internal is_select function is part of the internal cache storage
 * handler interface. Thus, a user-defined storage handler offers the
 * same capabilities.
 *
 * @param string $callback
 * @return mixed
 * @since PECL mysqlnd_qc >= 1.0.0
 **/
function mysqlnd_qc_set_is_select($callback){}

/**
 * Change current storage handler
 *
 * Sets the storage handler used by the query cache. A list of available
 * storage handler can be obtained from {@link
 * mysqlnd_qc_get_available_handlers}. Which storage are available
 * depends on the compile time configuration of the query cache plugin.
 * The default storage handler is always available. All other storage
 * handler must be enabled explicitly when building the extension.
 *
 * @param string $handler Handler can be of type string representing
 *   the name of a built-in storage handler or an object of type
 *   mysqlnd_qc_handler_default. The names of the built-in storage
 *   handler are default, APC, MEMCACHE, sqlite.
 * @return bool
 * @since PECL mysqlnd_qc >= 1.0.0
 **/
function mysqlnd_qc_set_storage_handler($handler){}

/**
 * Sets the callback functions for a user-defined procedural storage
 * handler
 *
 * @param string $get_hash Name of the user function implementing the
 *   storage handler get_hash functionality.
 * @param string $find_query_in_cache Name of the user function
 *   implementing the storage handler find_in_cache functionality.
 * @param string $return_to_cache Name of the user function
 *   implementing the storage handler return_to_cache functionality.
 * @param string $add_query_to_cache_if_not_exists Name of the user
 *   function implementing the storage handler
 *   add_query_to_cache_if_not_exists functionality.
 * @param string $query_is_select Name of the user function
 *   implementing the storage handler query_is_select functionality.
 * @param string $update_query_run_time_stats Name of the user function
 *   implementing the storage handler update_query_run_time_stats
 *   functionality.
 * @param string $get_stats Name of the user function implementing the
 *   storage handler get_stats functionality.
 * @param string $clear_cache Name of the user function implementing
 *   the storage handler clear_cache functionality.
 * @return bool Returns TRUE on success or FALSE on FAILURE.
 * @since PECL mysqlnd_qc >= 1.0.0
 **/
function mysqlnd_qc_set_user_handlers($get_hash, $find_query_in_cache, $return_to_cache, $add_query_to_cache_if_not_exists, $query_is_select, $update_query_run_time_stats, $get_stats, $clear_cache){}

/**
 * Converts a MySQL connection handle into a mysqlnd connection handle
 *
 * Converts a MySQL connection handle into a mysqlnd connection handle.
 * After conversion you can execute mysqlnd library calls on the
 * connection handle. This can be used to access mysqlnd functionality
 * not made available through user space API calls.
 *
 * The function can be disabled with mysqlnd_uh.enable. If
 * mysqlnd_uh.enable is set to FALSE the function will not install the
 * proxy and always return TRUE. Additionally, an error of the type
 * E_WARNING may be emitted. The error message may read like PHP Warning:
 * mysqlnd_uh_convert_to_mysqlnd(): (Mysqlnd User Handler) The plugin has
 * been disabled by setting the configuration parameter mysqlnd_uh.enable
 * = false. You are not allowed to call this function [...].
 *
 * @param mysqli $mysql_connection A MySQL connection handle of type
 *   mysql, mysqli or PDO_MySQL.
 * @return resource A mysqlnd connection handle.
 * @since PECL mysqlnd-uh >= 1.0.0-alpha
 **/
function mysqlnd_uh_convert_to_mysqlnd(&$mysql_connection){}

/**
 * Installs a proxy for mysqlnd connections
 *
 * Installs a proxy object to hook mysqlnd's connection objects methods.
 * Once installed, the proxy will be used for all MySQL connections
 * opened with mysqli, mysql or PDO_MYSQL, assuming that the listed
 * extensions are compiled to use the mysqlnd library.
 *
 * The function can be disabled with mysqlnd_uh.enable. If
 * mysqlnd_uh.enable is set to FALSE the function will not install the
 * proxy and always return TRUE. Additionally, an error of the type
 * E_WARNING may be emitted. The error message may read like PHP Warning:
 * mysqlnd_uh_set_connection_proxy(): (Mysqlnd User Handler) The plugin
 * has been disabled by setting the configuration parameter
 * mysqlnd_uh.enable = false. The proxy has not been installed [...].
 *
 * @param MysqlndUhConnection $connection_proxy A proxy object of type
 *   MysqlndUhConnection.
 * @param mysqli $mysqli_connection Object of type mysqli. If given,
 *   the proxy will be set for this particular connection only.
 * @return bool Returns TRUE on success. Otherwise, returns FALSE
 * @since PECL mysqlnd-uh >= 1.0.0-alpha
 **/
function mysqlnd_uh_set_connection_proxy(&$connection_proxy, &$mysqli_connection){}

/**
 * Installs a proxy for mysqlnd statements
 *
 * Installs a proxy for mysqlnd statements. The proxy object will be used
 * for all mysqlnd prepared statement objects, regardless which PHP MySQL
 * extension (mysqli, mysql, PDO_MYSQL) has created them as long as the
 * extension is compiled to use the mysqlnd library.
 *
 * The function can be disabled with mysqlnd_uh.enable. If
 * mysqlnd_uh.enable is set to FALSE the function will not install the
 * proxy and always return TRUE. Additionally, an error of the type
 * E_WARNING may be emitted. The error message may read like PHP Warning:
 * mysqlnd_uh_set_statement_proxy(): (Mysqlnd User Handler) The plugin
 * has been disabled by setting the configuration parameter
 * mysqlnd_uh.enable = false. The proxy has not been installed [...].
 *
 * @param MysqlndUhStatement $statement_proxy The mysqlnd statement
 *   proxy object of type MysqlndUhStatement
 * @return bool Returns TRUE on success. Otherwise, returns FALSE
 * @since PECL mysqlnd-uh >= 1.0.0-alpha
 **/
function mysqlnd_uh_set_statement_proxy(&$statement_proxy){}

/**
 * Get number of affected rows in previous MySQL operation
 *
 * Get the number of affected rows by the last INSERT, UPDATE, REPLACE or
 * DELETE query associated with {@link link_identifier}.
 *
 * @param resource $link_identifier
 * @return int Returns the number of affected rows on success, and -1
 *   if the last query failed.
 * @since PHP 4, PHP 5
 **/
function mysql_affected_rows($link_identifier){}

/**
 * Returns the name of the character set
 *
 * Retrieves the character_set variable from MySQL.
 *
 * @param resource $link_identifier
 * @return string Returns the default character set name for the
 *   current connection.
 * @since PHP 4 >= 4.3.0, PHP 5
 **/
function mysql_client_encoding($link_identifier){}

/**
 * Close MySQL connection
 *
 * {@link mysql_close} closes the non-persistent connection to the MySQL
 * server that's associated with the specified link identifier. If {@link
 * link_identifier} isn't specified, the last opened link is used.
 *
 * @param resource $link_identifier
 * @return bool
 * @since PHP 4, PHP 5
 **/
function mysql_close($link_identifier){}

/**
 * Open a connection to a MySQL Server
 *
 * Opens or reuses a connection to a MySQL server.
 *
 * @param string $server The MySQL server. It can also include a port
 *   number. e.g. "hostname:port" or a path to a local socket e.g.
 *   ":/path/to/socket" for the localhost. If the PHP directive
 *   mysql.default_host is undefined (default), then the default value is
 *   'localhost:3306'. In , this parameter is ignored and value
 *   'localhost:3306' is always used.
 * @param string $username The username. Default value is defined by
 *   mysql.default_user. In , this parameter is ignored and the name of
 *   the user that owns the server process is used.
 * @param string $password The password. Default value is defined by
 *   mysql.default_password. In , this parameter is ignored and empty
 *   password is used.
 * @param bool $new_link If a second call is made to {@link
 *   mysql_connect} with the same arguments, no new link will be
 *   established, but instead, the link identifier of the already opened
 *   link will be returned. The {@link new_link} parameter modifies this
 *   behavior and makes {@link mysql_connect} always open a new link,
 *   even if {@link mysql_connect} was called before with the same
 *   parameters. In , this parameter is ignored.
 * @param int $client_flags The {@link client_flags} parameter can be a
 *   combination of the following constants: 128 (enable LOAD DATA LOCAL
 *   handling), MYSQL_CLIENT_SSL, MYSQL_CLIENT_COMPRESS,
 *   MYSQL_CLIENT_IGNORE_SPACE or MYSQL_CLIENT_INTERACTIVE. Read the
 *   section about for further information. In , this parameter is
 *   ignored.
 * @return resource Returns a MySQL link identifier on success.
 * @since PHP 4, PHP 5
 **/
function mysql_connect($server, $username, $password, $new_link, $client_flags){}

/**
 * Create a MySQL database
 *
 * {@link mysql_create_db} attempts to create a new database on the
 * server associated with the specified link identifier.
 *
 * @param string $database_name The name of the database being created.
 * @param resource $link_identifier
 * @return bool
 * @since PHP 4, PHP 5
 **/
function mysql_create_db($database_name, $link_identifier){}

/**
 * Move internal result pointer
 *
 * {@link mysql_data_seek} moves the internal row pointer of the MySQL
 * result associated with the specified result identifier to point to the
 * specified row number. The next call to a MySQL fetch function, such as
 * {@link mysql_fetch_assoc}, would return that row.
 *
 * {@link row_number} starts at 0. The {@link row_number} should be a
 * value in the range from 0 to {@link mysql_num_rows} - 1. However if
 * the result set is empty ({@link mysql_num_rows} == 0), a seek to 0
 * will fail with a E_WARNING and {@link mysql_data_seek} will return
 * FALSE.
 *
 * @param resource $result The desired row number of the new result
 *   pointer.
 * @param int $row_number
 * @return bool
 * @since PHP 4, PHP 5
 **/
function mysql_data_seek($result, $row_number){}

/**
 * Retrieves database name from the call to
 *
 * Retrieve the database name from a call to {@link mysql_list_dbs}.
 *
 * @param resource $result The result pointer from a call to {@link
 *   mysql_list_dbs}.
 * @param int $row The index into the result set.
 * @param mixed $field The field name.
 * @return string Returns the database name on success, and FALSE on
 *   failure. If FALSE is returned, use {@link mysql_error} to determine
 *   the nature of the error.
 * @since PHP 4, PHP 5
 **/
function mysql_db_name($result, $row, $field){}

/**
 * Selects a database and executes a query on it
 *
 * {@link mysql_db_query} selects a database, and executes a query on it.
 *
 * @param string $database The name of the database that will be
 *   selected.
 * @param string $query The MySQL query. Data inside the query should
 *   be properly escaped.
 * @param resource $link_identifier
 * @return resource Returns a positive MySQL result resource to the
 *   query result, or FALSE on error. The function also returns
 *   TRUE/FALSE for INSERT/UPDATE/DELETE queries to indicate
 *   success/failure.
 * @since PHP 4, PHP 5
 **/
function mysql_db_query($database, $query, $link_identifier){}

/**
 * Drop (delete) a MySQL database
 *
 * {@link mysql_drop_db} attempts to drop (remove) an entire database
 * from the server associated with the specified link identifier. This
 * function is deprecated, it is preferable to use {@link mysql_query} to
 * issue an sql DROP DATABASE statement instead.
 *
 * @param string $database_name The name of the database that will be
 *   deleted.
 * @param resource $link_identifier
 * @return bool
 * @since PHP 4, PHP 5
 **/
function mysql_drop_db($database_name, $link_identifier){}

/**
 * Returns the numerical value of the error message from previous MySQL
 * operation
 *
 * Returns the error number from the last MySQL function.
 *
 * Errors coming back from the MySQL database backend no longer issue
 * warnings. Instead, use {@link mysql_errno} to retrieve the error code.
 * Note that this function only returns the error code from the most
 * recently executed MySQL function (not including {@link mysql_error}
 * and {@link mysql_errno}), so if you want to use it, make sure you
 * check the value before calling another MySQL function.
 *
 * @param resource $link_identifier
 * @return int Returns the error number from the last MySQL function,
 *   or 0 (zero) if no error occurred.
 * @since PHP 4, PHP 5
 **/
function mysql_errno($link_identifier){}

/**
 * Returns the text of the error message from previous MySQL operation
 *
 * Returns the error text from the last MySQL function. Errors coming
 * back from the MySQL database backend no longer issue warnings.
 * Instead, use {@link mysql_error} to retrieve the error text. Note that
 * this function only returns the error text from the most recently
 * executed MySQL function (not including {@link mysql_error} and {@link
 * mysql_errno}), so if you want to use it, make sure you check the value
 * before calling another MySQL function.
 *
 * @param resource $link_identifier
 * @return string Returns the error text from the last MySQL function,
 *   or '' (empty string) if no error occurred.
 * @since PHP 4, PHP 5
 **/
function mysql_error($link_identifier){}

/**
 * Escapes a string for use in a mysql_query
 *
 * This function will escape the {@link unescaped_string}, so that it is
 * safe to place it in a {@link mysql_query}. This function is
 * deprecated.
 *
 * This function is identical to {@link mysql_real_escape_string} except
 * that {@link mysql_real_escape_string} takes a connection handler and
 * escapes the string according to the current character set. {@link
 * mysql_escape_string} does not take a connection argument and does not
 * respect the current charset setting.
 *
 * @param string $unescaped_string The string that is to be escaped.
 * @return string Returns the escaped string.
 * @since PHP 4 >= 4.0.3, PHP 5
 **/
function mysql_escape_string($unescaped_string){}

/**
 * Fetch a result row as an associative array, a numeric array, or both
 *
 * Returns an array that corresponds to the fetched row and moves the
 * internal data pointer ahead.
 *
 * @param resource $result The type of array that is to be fetched.
 *   It's a constant and can take the following values: MYSQL_ASSOC,
 *   MYSQL_NUM, and MYSQL_BOTH.
 * @param int $result_type
 * @return array Returns an array of strings that corresponds to the
 *   fetched row, or FALSE if there are no more rows. The type of
 *   returned array depends on how {@link result_type} is defined. By
 *   using MYSQL_BOTH (default), you'll get an array with both
 *   associative and number indices. Using MYSQL_ASSOC, you only get
 *   associative indices (as {@link mysql_fetch_assoc} works), using
 *   MYSQL_NUM, you only get number indices (as {@link mysql_fetch_row}
 *   works).
 * @since PHP 4, PHP 5
 **/
function mysql_fetch_array($result, $result_type){}

/**
 * Fetch a result row as an associative array
 *
 * Returns an associative array that corresponds to the fetched row and
 * moves the internal data pointer ahead. {@link mysql_fetch_assoc} is
 * equivalent to calling {@link mysql_fetch_array} with MYSQL_ASSOC for
 * the optional second parameter. It only returns an associative array.
 *
 * @param resource $result
 * @return array Returns an associative array of strings that
 *   corresponds to the fetched row, or FALSE if there are no more rows.
 * @since PHP 4 >= 4.0.3, PHP 5
 **/
function mysql_fetch_assoc($result){}

/**
 * Get column information from a result and return as an object
 *
 * Returns an object containing field information. This function can be
 * used to obtain information about fields in the provided query result.
 *
 * @param resource $result The numerical field offset. If the field
 *   offset is not specified, the next field that was not yet retrieved
 *   by this function is retrieved. The {@link field_offset} starts at 0.
 * @param int $field_offset
 * @return object Returns an object containing field information. The
 *   properties of the object are:
 * @since PHP 4, PHP 5
 **/
function mysql_fetch_field($result, $field_offset){}

/**
 * Get the length of each output in a result
 *
 * Returns an array that corresponds to the lengths of each field in the
 * last row fetched by MySQL.
 *
 * {@link mysql_fetch_lengths} stores the lengths of each result column
 * in the last row returned by {@link mysql_fetch_row}, {@link
 * mysql_fetch_assoc}, {@link mysql_fetch_array}, and {@link
 * mysql_fetch_object} in an array, starting at offset 0.
 *
 * @param resource $result
 * @return array An array of lengths on success.
 * @since PHP 4, PHP 5
 **/
function mysql_fetch_lengths($result){}

/**
 * Fetch a result row as an object
 *
 * Returns an object with properties that correspond to the fetched row
 * and moves the internal data pointer ahead.
 *
 * @param resource $result The name of the class to instantiate, set
 *   the properties of and return. If not specified, a stdClass object is
 *   returned.
 * @param string $class_name An optional array of parameters to pass to
 *   the constructor for {@link class_name} objects.
 * @param array $params
 * @return object Returns an object with string properties that
 *   correspond to the fetched row, or FALSE if there are no more rows.
 * @since PHP 4, PHP 5
 **/
function mysql_fetch_object($result, $class_name, $params){}

/**
 * Get a result row as an enumerated array
 *
 * Returns a numerical array that corresponds to the fetched row and
 * moves the internal data pointer ahead.
 *
 * @param resource $result
 * @return array Returns an numerical array of strings that corresponds
 *   to the fetched row, or FALSE if there are no more rows.
 * @since PHP 4, PHP 5
 **/
function mysql_fetch_row($result){}

/**
 * Get the flags associated with the specified field in a result
 *
 * {@link mysql_field_flags} returns the field flags of the specified
 * field. The flags are reported as a single word per flag separated by a
 * single space, so that you can split the returned value using {@link
 * explode}.
 *
 * @param resource $result
 * @param int $field_offset
 * @return string Returns a string of flags associated with the result.
 * @since PHP 4, PHP 5
 **/
function mysql_field_flags($result, $field_offset){}

/**
 * Returns the length of the specified field
 *
 * {@link mysql_field_len} returns the length of the specified field.
 *
 * @param resource $result
 * @param int $field_offset
 * @return int The length of the specified field index on success.
 * @since PHP 4, PHP 5
 **/
function mysql_field_len($result, $field_offset){}

/**
 * Get the name of the specified field in a result
 *
 * {@link mysql_field_name} returns the name of the specified field
 * index.
 *
 * @param resource $result
 * @param int $field_offset
 * @return string The name of the specified field index on success.
 * @since PHP 4, PHP 5
 **/
function mysql_field_name($result, $field_offset){}

/**
 * Set result pointer to a specified field offset
 *
 * Seeks to the specified field offset. If the next call to {@link
 * mysql_fetch_field} doesn't include a field offset, the field offset
 * specified in {@link mysql_field_seek} will be returned.
 *
 * @param resource $result
 * @param int $field_offset
 * @return bool
 * @since PHP 4, PHP 5
 **/
function mysql_field_seek($result, $field_offset){}

/**
 * Get name of the table the specified field is in
 *
 * Returns the name of the table that the specified field is in.
 *
 * @param resource $result
 * @param int $field_offset
 * @return string The name of the table on success.
 * @since PHP 4, PHP 5
 **/
function mysql_field_table($result, $field_offset){}

/**
 * Get the type of the specified field in a result
 *
 * {@link mysql_field_type} is similar to the {@link mysql_field_name}
 * function. The arguments are identical, but the field type is returned
 * instead.
 *
 * @param resource $result
 * @param int $field_offset
 * @return string The returned field type will be one of "int", "real",
 *   "string", "blob", and others as detailed in the MySQL documentation.
 * @since PHP 4, PHP 5
 **/
function mysql_field_type($result, $field_offset){}

/**
 * Free result memory
 *
 * {@link mysql_free_result} will free all memory associated with the
 * result identifier {@link result}.
 *
 * {@link mysql_free_result} only needs to be called if you are concerned
 * about how much memory is being used for queries that return large
 * result sets. All associated result memory is automatically freed at
 * the end of the script's execution.
 *
 * @param resource $result
 * @return bool
 * @since PHP 4, PHP 5
 **/
function mysql_free_result($result){}

/**
 * Get MySQL client info
 *
 * {@link mysql_get_client_info} returns a string that represents the
 * client library version.
 *
 * @return string The MySQL client version.
 * @since PHP 4 >= 4.0.5, PHP 5
 **/
function mysql_get_client_info(){}

/**
 * Get MySQL host info
 *
 * Describes the type of connection in use for the connection, including
 * the server host name.
 *
 * @param resource $link_identifier
 * @return string Returns a string describing the type of MySQL
 *   connection in use for the connection.
 * @since PHP 4 >= 4.0.5, PHP 5
 **/
function mysql_get_host_info($link_identifier){}

/**
 * Get MySQL protocol info
 *
 * Retrieves the MySQL protocol.
 *
 * @param resource $link_identifier
 * @return int Returns the MySQL protocol on success.
 * @since PHP 4 >= 4.0.5, PHP 5
 **/
function mysql_get_proto_info($link_identifier){}

/**
 * Get MySQL server info
 *
 * Retrieves the MySQL server version.
 *
 * @param resource $link_identifier
 * @return string Returns the MySQL server version on success.
 * @since PHP 4 >= 4.0.5, PHP 5
 **/
function mysql_get_server_info($link_identifier){}

/**
 * Get information about the most recent query
 *
 * Returns detailed information about the last query.
 *
 * @param resource $link_identifier
 * @return string Returns information about the statement on success,
 *   or FALSE on failure. See the example below for which statements
 *   provide information, and what the returned value may look like.
 *   Statements that are not listed will return FALSE.
 * @since PHP 4 >= 4.3.0, PHP 5
 **/
function mysql_info($link_identifier){}

/**
 * Get the ID generated in the last query
 *
 * Retrieves the ID generated for an AUTO_INCREMENT column by the
 * previous query (usually INSERT).
 *
 * @param resource $link_identifier
 * @return int The ID generated for an AUTO_INCREMENT column by the
 *   previous query on success, 0 if the previous query does not generate
 *   an AUTO_INCREMENT value, or FALSE if no MySQL connection was
 *   established.
 * @since PHP 4, PHP 5
 **/
function mysql_insert_id($link_identifier){}

/**
 * List databases available on a MySQL server
 *
 * Returns a result pointer containing the databases available from the
 * current mysql daemon.
 *
 * @param resource $link_identifier
 * @return resource Returns a result pointer resource on success, or
 *   FALSE on failure. Use the {@link mysql_tablename} function to
 *   traverse this result pointer, or any function for result tables,
 *   such as {@link mysql_fetch_array}.
 * @since PHP 4, PHP 5
 **/
function mysql_list_dbs($link_identifier){}

/**
 * List MySQL table fields
 *
 * Retrieves information about the given table name.
 *
 * This function is deprecated. It is preferable to use {@link
 * mysql_query} to issue an SQL SHOW COLUMNS FROM table [LIKE 'name']
 * statement instead.
 *
 * @param string $database_name The name of the database that's being
 *   queried.
 * @param string $table_name The name of the table that's being
 *   queried.
 * @param resource $link_identifier
 * @return resource A result pointer resource on success, or FALSE on
 *   failure.
 * @since PHP 4, PHP 5
 **/
function mysql_list_fields($database_name, $table_name, $link_identifier){}

/**
 * List MySQL processes
 *
 * Retrieves the current MySQL server threads.
 *
 * @param resource $link_identifier
 * @return resource A result pointer resource on success.
 * @since PHP 4 >= 4.3.0, PHP 5
 **/
function mysql_list_processes($link_identifier){}

/**
 * List tables in a MySQL database
 *
 * Retrieves a list of table names from a MySQL database.
 *
 * This function is deprecated. It is preferable to use {@link
 * mysql_query} to issue an SQL SHOW TABLES [FROM db_name] [LIKE
 * 'pattern'] statement instead.
 *
 * @param string $database The name of the database
 * @param resource $link_identifier
 * @return resource A result pointer resource on success.
 * @since PHP 4, PHP 5
 **/
function mysql_list_tables($database, $link_identifier){}

/**
 * Get number of fields in result
 *
 * Retrieves the number of fields from a query.
 *
 * @param resource $result
 * @return int Returns the number of fields in the result set resource
 *   on success.
 * @since PHP 4, PHP 5
 **/
function mysql_num_fields($result){}

/**
 * Get number of rows in result
 *
 * Retrieves the number of rows from a result set. This command is only
 * valid for statements like SELECT or SHOW that return an actual result
 * set. To retrieve the number of rows affected by a INSERT, UPDATE,
 * REPLACE or DELETE query, use {@link mysql_affected_rows}.
 *
 * @param resource $result
 * @return int The number of rows in a result set on success.
 * @since PHP 4, PHP 5
 **/
function mysql_num_rows($result){}

/**
 * Open a persistent connection to a MySQL server
 *
 * Establishes a persistent connection to a MySQL server.
 *
 * {@link mysql_pconnect} acts very much like {@link mysql_connect} with
 * two major differences.
 *
 * First, when connecting, the function would first try to find a
 * (persistent) link that's already open with the same host, username and
 * password. If one is found, an identifier for it will be returned
 * instead of opening a new connection.
 *
 * Second, the connection to the SQL server will not be closed when the
 * execution of the script ends. Instead, the link will remain open for
 * future use ({@link mysql_close} will not close links established by
 * {@link mysql_pconnect}).
 *
 * This type of link is therefore called 'persistent'.
 *
 * @param string $server The MySQL server. It can also include a port
 *   number. e.g. "hostname:port" or a path to a local socket e.g.
 *   ":/path/to/socket" for the localhost. If the PHP directive
 *   mysql.default_host is undefined (default), then the default value is
 *   'localhost:3306'
 * @param string $username The username. Default value is the name of
 *   the user that owns the server process.
 * @param string $password The password. Default value is an empty
 *   password.
 * @param int $client_flags The {@link client_flags} parameter can be a
 *   combination of the following constants: 128 (enable LOAD DATA LOCAL
 *   handling), MYSQL_CLIENT_SSL, MYSQL_CLIENT_COMPRESS,
 *   MYSQL_CLIENT_IGNORE_SPACE or MYSQL_CLIENT_INTERACTIVE.
 * @return resource Returns a MySQL persistent link identifier on
 *   success, or FALSE on failure.
 * @since PHP 4, PHP 5
 **/
function mysql_pconnect($server, $username, $password, $client_flags){}

/**
 * Ping a server connection or reconnect if there is no connection
 *
 * Checks whether or not the connection to the server is working. If it
 * has gone down, an automatic reconnection is attempted. This function
 * can be used by scripts that remain idle for a long while, to check
 * whether or not the server has closed the connection and reconnect if
 * necessary.
 *
 * @param resource $link_identifier
 * @return bool Returns TRUE if the connection to the server MySQL
 *   server is working, otherwise FALSE.
 * @since PHP 4 >= 4.3.0, PHP 5
 **/
function mysql_ping($link_identifier){}

/**
 * Send a MySQL query
 *
 * {@link mysql_query} sends a unique query (multiple queries are not
 * supported) to the currently active database on the server that's
 * associated with the specified {@link link_identifier}.
 *
 * @param string $query An SQL query The query string should not end
 *   with a semicolon. Data inside the query should be properly escaped.
 * @param resource $link_identifier
 * @return mixed For SELECT, SHOW, DESCRIBE, EXPLAIN and other
 *   statements returning resultset, {@link mysql_query} returns a
 *   resource on success, or FALSE on error.
 * @since PHP 4, PHP 5
 **/
function mysql_query($query, $link_identifier){}

/**
 * Escapes special characters in a string for use in an SQL statement
 *
 * Escapes special characters in the {@link unescaped_string}, taking
 * into account the current character set of the connection so that it is
 * safe to place it in a {@link mysql_query}. If binary data is to be
 * inserted, this function must be used.
 *
 * {@link mysql_real_escape_string} calls MySQL's library function
 * mysql_real_escape_string, which prepends backslashes to the following
 * characters: \x00, \n, \r, \, ', " and \x1a.
 *
 * This function must always (with few exceptions) be used to make data
 * safe before sending a query to MySQL.
 *
 * @param string $unescaped_string The string that is to be escaped.
 * @param resource $link_identifier
 * @return string Returns the escaped string, or FALSE on error.
 * @since PHP 4 >= 4.3.0, PHP 5
 **/
function mysql_real_escape_string($unescaped_string, $link_identifier){}

/**
 * Get result data
 *
 * Retrieves the contents of one cell from a MySQL result set.
 *
 * When working on large result sets, you should consider using one of
 * the functions that fetch an entire row (specified below). As these
 * functions return the contents of multiple cells in one function call,
 * they're MUCH quicker than {@link mysql_result}. Also, note that
 * specifying a numeric offset for the field argument is much quicker
 * than specifying a fieldname or tablename.fieldname argument.
 *
 * @param resource $result The row number from the result that's being
 *   retrieved. Row numbers start at 0.
 * @param int $row The name or offset of the field being retrieved. It
 *   can be the field's offset, the field's name, or the field's table
 *   dot field name (tablename.fieldname). If the column name has been
 *   aliased ('select foo as bar from...'), use the alias instead of the
 *   column name. If undefined, the first field is retrieved.
 * @param mixed $field
 * @return string The contents of one cell from a MySQL result set on
 *   success, or FALSE on failure.
 * @since PHP 4, PHP 5
 **/
function mysql_result($result, $row, $field){}

/**
 * Select a MySQL database
 *
 * Sets the current active database on the server that's associated with
 * the specified link identifier. Every subsequent call to {@link
 * mysql_query} will be made on the active database.
 *
 * @param string $database_name The name of the database that is to be
 *   selected.
 * @param resource $link_identifier
 * @return bool
 * @since PHP 4, PHP 5
 **/
function mysql_select_db($database_name, $link_identifier){}

/**
 * Sets the client character set
 *
 * Sets the default character set for the current connection.
 *
 * @param string $charset A valid character set name.
 * @param resource $link_identifier
 * @return bool
 * @since PHP 5 >= 5.2.3
 **/
function mysql_set_charset($charset, $link_identifier){}

/**
 * Get current system status
 *
 * {@link mysql_stat} returns the current server status.
 *
 * @param resource $link_identifier
 * @return string Returns a string with the status for uptime, threads,
 *   queries, open tables, flush tables and queries per second. For a
 *   complete list of other status variables, you have to use the SHOW
 *   STATUS SQL command. If {@link link_identifier} is invalid, NULL is
 *   returned.
 * @since PHP 4 >= 4.3.0, PHP 5
 **/
function mysql_stat($link_identifier){}

/**
 * Get table name of field
 *
 * Retrieves the table name from a {@link result}.
 *
 * This function is deprecated. It is preferable to use {@link
 * mysql_query} to issue an SQL SHOW TABLES [FROM db_name] [LIKE
 * 'pattern'] statement instead.
 *
 * @param resource $result A result pointer resource that's returned
 *   from {@link mysql_list_tables}.
 * @param int $i The integer index (row/table number)
 * @return string The name of the table on success.
 * @since PHP 4, PHP 5
 **/
function mysql_tablename($result, $i){}

/**
 * Return the current thread ID
 *
 * Retrieves the current thread ID. If the connection is lost, and a
 * reconnect with {@link mysql_ping} is executed, the thread ID will
 * change. This means only retrieve the thread ID when needed.
 *
 * @param resource $link_identifier
 * @return int The thread ID on success.
 * @since PHP 4 >= 4.3.0, PHP 5
 **/
function mysql_thread_id($link_identifier){}

/**
 * Send an SQL query to MySQL without fetching and buffering the result
 * rows
 *
 * {@link mysql_unbuffered_query} sends the SQL query {@link query} to
 * MySQL without automatically fetching and buffering the result rows as
 * {@link mysql_query} does. This saves a considerable amount of memory
 * with SQL queries that produce large result sets, and you can start
 * working on the result set immediately after the first row has been
 * retrieved as you don't have to wait until the complete SQL query has
 * been performed. To use {@link mysql_unbuffered_query} while multiple
 * database connections are open, you must specify the optional parameter
 * {@link link_identifier} to identify which connection you want to use.
 *
 * @param string $query The SQL query to execute. Data inside the query
 *   should be properly escaped.
 * @param resource $link_identifier
 * @return resource For SELECT, SHOW, DESCRIBE or EXPLAIN statements,
 *   {@link mysql_unbuffered_query} returns a resource on success, or
 *   FALSE on error.
 * @since PHP 4 >= 4.0.6, PHP 5
 **/
function mysql_unbuffered_query($query, $link_identifier){}

namespace mysql_xdevapi {

/**
 * Bind prepared statement variables as parameters
 *
 * @param string $expression
 * @return object
 **/
function expression($expression){}

}

namespace mysql_xdevapi {

/**
 * Connect to a MySQL server
 *
 * Connects to the MySQL server.
 *
 * @param string $uri The URI to the MySQL server, such as
 *   mysqlx://user:password@host. URI format:
 *   scheme://[user[:[password]]@]target[:port][?attribute1=value1&attribute2=value2...
 *   For related information, see MySQL Shell's Connecting using a URI
 *   String.
 * @return mysql_xdevapi\Session A mysql_xdevap\Session object.
 **/
function getSession($uri){}

}

/**
 * Check to see if a transaction has completed
 *
 * @param resource $conn
 * @param int $identifier
 * @return int
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_checkstatus($conn, $identifier){}

/**
 * Number of complete authorizations in queue, returning an array of
 * their identifiers
 *
 * @param resource $conn Its description
 * @param int $array
 * @return int What the function returns, first on success, then on
 *   failure. See also the &return.success; entity
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_completeauthorizations($conn, &$array){}

/**
 * Establish the connection to MCVE
 *
 * @param resource $conn
 * @return int
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_connect($conn){}

/**
 * Get a textual representation of why a connection failed
 *
 * @param resource $conn
 * @return string
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_connectionerror($conn){}

/**
 * Delete specified transaction from MCVE_CONN structure
 *
 * @param resource $conn
 * @param int $identifier
 * @return bool
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_deletetrans($conn, $identifier){}

/**
 * Destroy the connection and MCVE_CONN structure
 *
 * @param resource $conn
 * @return bool Returns TRUE.
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_destroyconn($conn){}

/**
 * Free memory associated with IP/SSL connectivity
 *
 * @return void
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_destroyengine(){}

/**
 * Get a specific cell from a comma delimited response by column name
 *
 * @param resource $conn
 * @param int $identifier
 * @param string $column
 * @param int $row
 * @return string
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_getcell($conn, $identifier, $column, $row){}

/**
 * Get a specific cell from a comma delimited response by column number
 *
 * @param resource $conn
 * @param int $identifier
 * @param int $column
 * @param int $row
 * @return string
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_getcellbynum($conn, $identifier, $column, $row){}

/**
 * Get the RAW comma delimited data returned from MCVE
 *
 * @param resource $conn
 * @param int $identifier
 * @return string
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_getcommadelimited($conn, $identifier){}

/**
 * Get the name of the column in a comma-delimited response
 *
 * @param resource $conn
 * @param int $identifier
 * @param int $column_num
 * @return string
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_getheader($conn, $identifier, $column_num){}

/**
 * Create and initialize an MCVE_CONN structure
 *
 * @return resource Returns an MCVE_CONN resource.
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_initconn(){}

/**
 * Ready the client for IP/SSL Communication
 *
 * @param string $location
 * @return int
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_initengine($location){}

/**
 * Checks to see if response is comma delimited
 *
 * @param resource $conn
 * @param int $identifier
 * @return int
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_iscommadelimited($conn, $identifier){}

/**
 * The maximum amount of time the API will attempt a connection to MCVE
 *
 * @param resource $conn
 * @param int $secs
 * @return bool
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_maxconntimeout($conn, $secs){}

/**
 * Perform communication with MCVE (send/receive data) Non-blocking
 *
 * @param resource $conn
 * @return int
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_monitor($conn){}

/**
 * Number of columns returned in a comma delimited response
 *
 * @param resource $conn
 * @param int $identifier
 * @return int
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_numcolumns($conn, $identifier){}

/**
 * Number of rows returned in a comma delimited response
 *
 * @param resource $conn
 * @param int $identifier
 * @return int
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_numrows($conn, $identifier){}

/**
 * Parse the comma delimited response so m_getcell, etc will work
 *
 * @param resource $conn
 * @param int $identifier
 * @return int
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_parsecommadelimited($conn, $identifier){}

/**
 * Returns array of strings which represents the keys that can be used
 * for response parameters on this transaction
 *
 * @param resource $conn
 * @param int $identifier
 * @return array
 * @since PHP 5 >= 5.0.5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_responsekeys($conn, $identifier){}

/**
 * Get a custom response parameter
 *
 * @param resource $conn
 * @param int $identifier
 * @param string $key
 * @return string
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_responseparam($conn, $identifier, $key){}

/**
 * Check to see if the transaction was successful
 *
 * @param resource $conn
 * @param int $identifier
 * @return int
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_returnstatus($conn, $identifier){}

/**
 * Set blocking/non-blocking mode for connection
 *
 * @param resource $conn
 * @param int $tf
 * @return int
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_setblocking($conn, $tf){}

/**
 * Set the connection method to Drop-File
 *
 * @param resource $conn
 * @param string $directory
 * @return int
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_setdropfile($conn, $directory){}

/**
 * Set the connection method to IP
 *
 * @param resource $conn
 * @param string $host
 * @param int $port
 * @return int
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_setip($conn, $host, $port){}

/**
 * Set the connection method to SSL
 *
 * @param resource $conn
 * @param string $host
 * @param int $port
 * @return int
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_setssl($conn, $host, $port){}

/**
 * Set SSL CA (Certificate Authority) file for verification of server
 * certificate
 *
 * @param resource $conn
 * @param string $cafile
 * @return int
 * @since PHP 5 >= 5.0.5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_setssl_cafile($conn, $cafile){}

/**
 * Set certificate key files and certificates if server requires client
 * certificate verification
 *
 * @param resource $conn
 * @param string $sslkeyfile
 * @param string $sslcertfile
 * @return int
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_setssl_files($conn, $sslkeyfile, $sslcertfile){}

/**
 * Set maximum transaction time (per trans)
 *
 * @param resource $conn
 * @param int $seconds
 * @return int
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_settimeout($conn, $seconds){}

/**
 * Generate hash for SSL client certificate verification
 *
 * @param string $filename
 * @return string
 * @since PECL mcve >= 5.2.0
 **/
function m_sslcert_gen_hash($filename){}

/**
 * Check to see if outgoing buffer is clear
 *
 * @param resource $conn
 * @return int
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_transactionssent($conn){}

/**
 * Number of transactions in client-queue
 *
 * @param resource $conn
 * @return int
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_transinqueue($conn){}

/**
 * Add key/value pair to a transaction. Replaces deprecated transparam()
 *
 * @param resource $conn
 * @param int $identifier
 * @param string $key
 * @param string $value
 * @return int
 * @since PHP 5 >= 5.0.5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_transkeyval($conn, $identifier, $key, $value){}

/**
 * Start a new transaction
 *
 * @param resource $conn
 * @return int
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_transnew($conn){}

/**
 * Finalize and send the transaction
 *
 * @param resource $conn
 * @param int $identifier
 * @return int
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_transsend($conn, $identifier){}

/**
 * Wait x microsecs
 *
 * @param int $microsecs
 * @return int
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_uwait($microsecs){}

/**
 * Whether or not to validate the passed identifier on any transaction it
 * is passed to
 *
 * @param resource $conn
 * @param int $tf
 * @return int
 * @since PHP 5 >= 5.0.5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_validateidentifier($conn, $tf){}

/**
 * Set whether or not to PING upon connect to verify connection
 *
 * @param resource $conn
 * @param int $tf
 * @return bool
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_verifyconnection($conn, $tf){}

/**
 * Set whether or not to verify the server ssl certificate
 *
 * @param resource $conn
 * @param int $tf
 * @return bool
 * @since PHP 4 >= 4.3.9, PHP 5 < 5.1.0, PECL mcve >= 1.0.0
 **/
function m_verifysslcert($conn, $tf){}

/**
 * Sort an array using a case insensitive "natural order" algorithm
 *
 * {@link natcasesort} is a case insensitive version of {@link natsort}.
 *
 * This function implements a sort algorithm that orders alphanumeric
 * strings in the way a human being would while maintaining key/value
 * associations. This is described as a "natural ordering".
 *
 * @param array $array The input array.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function natcasesort(&$array){}

/**
 * Sort an array using a "natural order" algorithm
 *
 * This function implements a sort algorithm that orders alphanumeric
 * strings in the way a human being would while maintaining key/value
 * associations. This is described as a "natural ordering". An example of
 * the difference between this algorithm and the regular computer string
 * sorting algorithms (used in {@link sort}) can be seen in the example
 * below.
 *
 * @param array $array The input array.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function natsort(&$array){}

/**
 * Add character at current position and advance cursor
 *
 * @param int $ch
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_addch($ch){}

/**
 * Add attributed string with specified length at current position
 *
 * @param string $s
 * @param int $n
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_addchnstr($s, $n){}

/**
 * Add attributed string at current position
 *
 * @param string $s
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_addchstr($s){}

/**
 * Add string with specified length at current position
 *
 * @param string $s
 * @param int $n
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_addnstr($s, $n){}

/**
 * Output text at current position
 *
 * @param string $text
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_addstr($text){}

/**
 * Define default colors for color 0
 *
 * @param int $fg
 * @param int $bg
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_assume_default_colors($fg, $bg){}

/**
 * Turn off the given attributes
 *
 * @param int $attributes
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_attroff($attributes){}

/**
 * Turn on the given attributes
 *
 * @param int $attributes
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_attron($attributes){}

/**
 * Set given attributes
 *
 * @param int $attributes
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_attrset($attributes){}

/**
 * Returns baudrate of terminal
 *
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_baudrate(){}

/**
 * Let the terminal beep
 *
 * {@link ncurses_beep} sends an audible alert (bell) and if its not
 * possible flashes the screen.
 *
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_beep(){}

/**
 * Set background property for terminal screen
 *
 * @param int $attrchar
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_bkgd($attrchar){}

/**
 * Control screen background
 *
 * @param int $attrchar
 * @return void
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_bkgdset($attrchar){}

/**
 * Draw a border around the screen using attributed characters
 *
 * Draws the specified lines and corners around the main window.
 *
 * Use {@link ncurses_wborder} for borders around subwindows!
 *
 * @param int $left
 * @param int $right
 * @param int $top
 * @param int $bottom
 * @param int $tl_corner Top left corner
 * @param int $tr_corner Top right corner
 * @param int $bl_corner Bottom left corner
 * @param int $br_corner Bottom right corner
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_border($left, $right, $top, $bottom, $tl_corner, $tr_corner, $bl_corner, $br_corner){}

/**
 * Moves a visible panel to the bottom of the stack
 *
 * @param resource $panel
 * @return int
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_bottom_panel($panel){}

/**
 * Checks if terminal color definitions can be changed
 *
 * Checks whether the terminal has color capabilities and whether the
 * programmer can change color definitions using {@link
 * ncurses_init_color}. ncurses must be initialized using {@link
 * ncurses_init} before calling this function.
 *
 * @return bool Return TRUE if the programmer can change color
 *   definitions, FALSE otherwise.
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_can_change_color(){}

/**
 * Switch off input buffering
 *
 * Disables line buffering and character processing (interrupt and flow
 * control characters are unaffected), making characters typed by the
 * user immediately available to the program.
 *
 * @return bool Returns TRUE or NCURSES_ERR if any error occurred.
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_cbreak(){}

/**
 * Clear screen
 *
 * Clears the screen completely without setting blanks.
 *
 * Note: {@link ncurses_clear} clears the screen without setting blanks,
 * which have the current background rendition. To clear screen with
 * blanks, use {@link ncurses_erase}.
 *
 * @return bool
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_clear(){}

/**
 * Clear screen from current position to bottom
 *
 * Erases all lines from cursor to end of screen and creates blanks.
 * Blanks created by {@link ncurses_clrtobot} have the current background
 * rendition.
 *
 * @return bool
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_clrtobot(){}

/**
 * Clear screen from current position to end of line
 *
 * Erases the current line from cursor position to the end. Blanks
 * created by {@link ncurses_clrtoeol} have the current background
 * rendition.
 *
 * @return bool
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_clrtoeol(){}

/**
 * Retrieves RGB components of a color
 *
 * Retrieves the red, green, and blue components for the given color
 * definition. Terminal color capabilities must be initialized with
 * {@link ncurses_start_color} prior to calling this function.
 *
 * @param int $color The number of the color to retrieve information
 *   for. May be one of the pre-defined color constants.
 * @param int $r A reference to which to return the red component of
 *   the color. The value returned to the reference will be between 0 and
 *   1000.
 * @param int $g A reference to which to return the green component of
 *   the color. The value returned to the reference will be between 0 and
 *   1000.
 * @param int $b A reference to which to return the blue component of
 *   the color. The value returned to the reference will be between 0 and
 *   1000.
 * @return int Returns -1 if the function was successful, and 0 if
 *   ncurses or terminal color capabilities have not been initialized.
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_color_content($color, &$r, &$g, &$b){}

/**
 * Set active foreground and background colors
 *
 * Sets the active foreground and background colors. Any characters
 * written after this function is invoked will have these colors. This
 * function requires terminal colors to be supported and initialized
 * using {@link ncurses_start_color} beforehand.
 *
 * ncurses uses color pairs to specify both foreground and background
 * colors. Use {@link ncurses_init_pair} to define a color pair.
 *
 * @param int $pair The color pair from which to get the foreground and
 *   background colors to set as the active colors.
 * @return int Returns -1 on success, and 0 on failure.
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_color_set($pair){}

/**
 * Set cursor state
 *
 * @param int $visibility
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_curs_set($visibility){}

/**
 * Define a keycode
 *
 * @param string $definition
 * @param int $keycode
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_define_key($definition, $keycode){}

/**
 * Saves terminals (program) mode
 *
 * Saves the current terminal modes for program (in curses) for use by
 * {@link ncurses_reset_prog_mode}.
 *
 * @return bool Returns FALSE on success, otherwise TRUE.
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_def_prog_mode(){}

/**
 * Saves terminals (shell) mode
 *
 * Saves the current terminal modes for shell (not in curses) for use by
 * {@link ncurses_reset_shell_mode}.
 *
 * @return bool Returns FALSE on success, TRUE otherwise.
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_def_shell_mode(){}

/**
 * Delay output on terminal using padding characters
 *
 * @param int $milliseconds
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_delay_output($milliseconds){}

/**
 * Delete character at current position, move rest of line left
 *
 * Deletes the character under the cursor. All characters to the right of
 * the cursor on the same line are moved to the left one position and the
 * last character on the line is filled with a blank. The cursor position
 * does not change.
 *
 * @return bool Returns FALSE on success, TRUE otherwise.
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_delch(){}

/**
 * Delete line at current position, move rest of screen up
 *
 * Deletes the current line under cursor position. All lines below the
 * current line are moved up one line. The bottom line of window is
 * cleared. Cursor position does not change.
 *
 * @return bool Returns FALSE on success, otherwise TRUE.
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_deleteln(){}

/**
 * Delete a ncurses window
 *
 * @param resource $window
 * @return bool
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_delwin($window){}

/**
 * Remove panel from the stack and delete it (but not the associated
 * window)
 *
 * @param resource $panel
 * @return bool
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_del_panel($panel){}

/**
 * Write all prepared refreshes to terminal
 *
 * Compares the virtual screen to the physical screen and updates the
 * physical screen. This way is more effective than using multiple
 * refresh calls.
 *
 * @return bool
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_doupdate(){}

/**
 * Activate keyboard input echo
 *
 * Enables echo mode. All characters typed by user are echoed by {@link
 * ncurses_getch}.
 *
 * @return bool Returns FALSE on success, TRUE if any error occurred.
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_echo(){}

/**
 * Single character output including refresh
 *
 * @param int $character
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_echochar($character){}

/**
 * Stop using ncurses, clean up the screen
 *
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_end(){}

/**
 * Erase terminal screen
 *
 * Fills the terminal screen with blanks.
 *
 * Created blanks have the current background rendition, set by {@link
 * ncurses_bkgd}.
 *
 * @return bool
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_erase(){}

/**
 * Returns current erase character
 *
 * Returns the current erase character.
 *
 * @return string The current erase char, as a string.
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_erasechar(){}

/**
 * Set LINES for iniscr() and newterm() to 1
 *
 * @return void
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_filter(){}

/**
 * Flash terminal screen (visual bell)
 *
 * Flashes the screen, and if its not possible, sends an audible alert
 * (bell).
 *
 * @return bool Returns FALSE on success, otherwise TRUE.
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_flash(){}

/**
 * Flush keyboard input buffer
 *
 * Throws away any typeahead that has been typed and has not yet been
 * read by your program.
 *
 * @return bool Returns FALSE on success, otherwise TRUE.
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_flushinp(){}

/**
 * Read a character from keyboard
 *
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_getch(){}

/**
 * Returns the size of a window
 *
 * Gets the horizontal and vertical size of the given {@link window} into
 * the given variables.
 *
 * Variables must be passed as reference, so they are updated when the
 * user changes the terminal size.
 *
 * @param resource $window The measured window
 * @param int $y This will be set to the window height
 * @param int $x This will be set to the window width
 * @return void
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_getmaxyx($window, &$y, &$x){}

/**
 * Reads mouse event
 *
 * {@link ncurses_getmouse} reads mouse event out of queue.
 *
 * @param array $mevent Event options will be delivered in this
 *   parameter which has to be an array, passed by reference (see example
 *   below). On success an associative array with following keys will be
 *   delivered: "id" : Id to distinguish multiple devices "x" : screen
 *   relative x-position in character cells "y" : screen relative
 *   y-position in character cells "z" : currently not supported "mmask"
 *   : Mouse action
 * @return bool Returns FALSE if a mouse event is actually visible in
 *   the given window, otherwise returns TRUE.
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_getmouse(&$mevent){}

/**
 * Returns the current cursor position for a window
 *
 * @param resource $window
 * @param int $y
 * @param int $x
 * @return void
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_getyx($window, &$y, &$x){}

/**
 * Put terminal into halfdelay mode
 *
 * @param int $tenth
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_halfdelay($tenth){}

/**
 * Checks if terminal has color capabilities
 *
 * Checks whether the terminal has color capabilities. This function can
 * be used to write terminal-independent programs. ncurses must be
 * initialized using {@link ncurses_init} before calling this function.
 *
 * @return bool Return TRUE if the terminal has color capabilities,
 *   FALSE otherwise.
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_has_colors(){}

/**
 * Check for insert- and delete-capabilities
 *
 * Checks whether the terminal has insert and delete capabilities.
 *
 * @return bool Returns TRUE if the terminal has
 *   insert/delete-capabilities, FALSE otherwise.
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_has_ic(){}

/**
 * Check for line insert- and delete-capabilities
 *
 * Checks whether the terminal has insert- and delete-line-capabilities.
 *
 * @return bool Returns TRUE if the terminal has insert/delete-line
 *   capabilities, FALSE otherwise.
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_has_il(){}

/**
 * Check for presence of a function key on terminal keyboard
 *
 * @param int $keycode
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_has_key($keycode){}

/**
 * Remove panel from the stack, making it invisible
 *
 * @param resource $panel
 * @return int
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_hide_panel($panel){}

/**
 * Draw a horizontal line at current position using an attributed
 * character and max. n characters long
 *
 * @param int $charattr
 * @param int $n
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_hline($charattr, $n){}

/**
 * Get character and attribute at current position
 *
 * Returns the character from the current position.
 *
 * @return string Returns the character, as a string.
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_inch(){}

/**
 * Initialize ncurses
 *
 * Initializes the ncurses interface. This function must be used before
 * any other ncurses function call.
 *
 * Note that {@link ncurses_end} must be called before exiting from the
 * program, or the terminal will not be restored to its proper non-visual
 * mode.
 *
 * @return void
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_init(){}

/**
 * Define a terminal color
 *
 * Defines or redefines the given color. When this function is called,
 * all occurrences of the given color on the screen, if any, immediately
 * change to the new definition.
 *
 * Color capabilities must be supported by the terminal and initialized
 * using {@link ncurses_start_color} prior to calling this function. In
 * addition, the terminal must have color changing capabilities; use
 * {@link ncurses_can_change_color} to check for this.
 *
 * @param int $color The identification number of the color to
 *   redefine. It may be one of the default color constants.
 * @param int $r A color value, between 0 and 1000, for the red
 *   component.
 * @param int $g A color value, between 0 and 1000, for the green
 *   component.
 * @param int $b A color value, between 0 and 1000, for the blue
 *   component.
 * @return int Returns -1 if the function was successful, and 0 if
 *   ncurses or terminal color capabilities have not been initialized or
 *   the terminal does not have color changing capabilities.
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_init_color($color, $r, $g, $b){}

/**
 * Define a color pair
 *
 * Defines or redefines the given color pair to have the given foreground
 * and background colors. If the color pair was previously initialized,
 * the screen is refreshed and all occurrences of it are changed to
 * reflect the new definition.
 *
 * Color capabilities must be initialized using {@link
 * ncurses_start_color} before calling this function. The first color
 * pair (color pair 0) is assumed to be white on black by default, but
 * can be changed using {@link ncurses_assume_default_colors}.
 *
 * @param int $pair The number of the color pair to define.
 * @param int $fg The foreground color for the color pair. May be one
 *   of the pre-defined colors or one defined by {@link
 *   ncurses_init_color} if the terminal has color changing capabilities.
 * @param int $bg The background color for the color pair. May be one
 *   of the pre-defined colors or one defined by {@link
 *   ncurses_init_color} if the terminal has color changing capabilities.
 * @return int Returns -1 if the function was successful, and 0 if
 *   ncurses or color support were not initialized.
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_init_pair($pair, $fg, $bg){}

/**
 * Insert character moving rest of line including character at current
 * position
 *
 * @param int $character
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_insch($character){}

/**
 * Insert lines before current line scrolling down (negative numbers
 * delete and scroll up)
 *
 * @param int $count
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_insdelln($count){}

/**
 * Insert a line, move rest of screen down
 *
 * Inserts a new line above the current line. The bottom line will be
 * lost.
 *
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_insertln(){}

/**
 * Insert string at current position, moving rest of line right
 *
 * @param string $text
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_insstr($text){}

/**
 * Reads string from terminal screen
 *
 * Reads a string from the terminal screen and returns the number of
 * characters read from the current character position until end of line.
 *
 * @param string $buffer The characters. Attributes will be stripped.
 * @return int Returns the number of characters.
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_instr(&$buffer){}

/**
 * Ncurses is in endwin mode, normal screen output may be performed
 *
 * Checks if ncurses is in endwin mode.
 *
 * @return bool Returns TRUE, if {@link ncurses_end} has been called
 *   without any subsequent calls to {@link ncurses_wrefresh}, FALSE
 *   otherwise.
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_isendwin(){}

/**
 * Enable or disable a keycode
 *
 * @param int $keycode
 * @param bool $enable
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_keyok($keycode, $enable){}

/**
 * Turns keypad on or off
 *
 * @param resource $window
 * @param bool $bf
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_keypad($window, $bf){}

/**
 * Returns current line kill character
 *
 * Returns the current line kill character.
 *
 * @return string Returns the kill character, as a string.
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_killchar(){}

/**
 * Returns terminals description
 *
 * Returns a verbose description of the terminal.
 *
 * @return string Returns the description, as a string truncated to 128
 *   characters. On errors, returns NULL.
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_longname(){}

/**
 * Enables/Disable 8-bit meta key information
 *
 * @param resource $window
 * @param bool $_8bit
 * @return int
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_meta($window, $_8bit){}

/**
 * Set timeout for mouse button clicks
 *
 * @param int $milliseconds
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_mouseinterval($milliseconds){}

/**
 * Sets mouse options
 *
 * Sets mouse events to be reported. By default no mouse events will be
 * reported.
 *
 * Mouse events are represented by NCURSES_KEY_MOUSE in the {@link
 * ncurses_wgetch} input stream. To read the event data and pop the event
 * of queue, call {@link ncurses_getmouse}.
 *
 * @param int $newmask Mouse mask options can be set with the following
 *   predefined constants: NCURSES_BUTTON1_PRESSED
 *   NCURSES_BUTTON1_RELEASED NCURSES_BUTTON1_CLICKED
 *   NCURSES_BUTTON1_DOUBLE_CLICKED NCURSES_BUTTON1_TRIPLE_CLICKED
 *   NCURSES_BUTTON2_PRESSED NCURSES_BUTTON2_RELEASED
 *   NCURSES_BUTTON2_CLICKED NCURSES_BUTTON2_DOUBLE_CLICKED
 *   NCURSES_BUTTON2_TRIPLE_CLICKED NCURSES_BUTTON3_PRESSED
 *   NCURSES_BUTTON3_RELEASED NCURSES_BUTTON3_CLICKED
 *   NCURSES_BUTTON3_DOUBLE_CLICKED NCURSES_BUTTON3_TRIPLE_CLICKED
 *   NCURSES_BUTTON4_PRESSED NCURSES_BUTTON4_RELEASED
 *   NCURSES_BUTTON4_CLICKED NCURSES_BUTTON4_DOUBLE_CLICKED
 *   NCURSES_BUTTON4_TRIPLE_CLICKED NCURSES_BUTTON_SHIFT>
 *   NCURSES_BUTTON_CTRL NCURSES_BUTTON_ALT NCURSES_ALL_MOUSE_EVENTS
 *   NCURSES_REPORT_MOUSE_POSITION As a side effect, setting a zero
 *   mousemask in {@link newmask} turns off the mouse pointer. Setting a
 *   non zero value turns mouse pointer on.
 * @param int $oldmask This will be set to the previous value of the
 *   mouse event mask.
 * @return int Returns the mask of reportable events. On complete
 *   failure, it returns 0.
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_mousemask($newmask, &$oldmask){}

/**
 * Transforms coordinates
 *
 * @param int $y
 * @param int $x
 * @param bool $toscreen
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_mouse_trafo(&$y, &$x, $toscreen){}

/**
 * Move output position
 *
 * @param int $y
 * @param int $x
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_move($y, $x){}

/**
 * Moves a panel so that its upper-left corner is at [startx, starty]
 *
 * @param resource $panel
 * @param int $startx
 * @param int $starty
 * @return int
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_move_panel($panel, $startx, $starty){}

/**
 * Move current position and add character
 *
 * @param int $y
 * @param int $x
 * @param int $c
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_mvaddch($y, $x, $c){}

/**
 * Move position and add attributed string with specified length
 *
 * @param int $y
 * @param int $x
 * @param string $s
 * @param int $n
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_mvaddchnstr($y, $x, $s, $n){}

/**
 * Move position and add attributed string
 *
 * @param int $y
 * @param int $x
 * @param string $s
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_mvaddchstr($y, $x, $s){}

/**
 * Move position and add string with specified length
 *
 * @param int $y
 * @param int $x
 * @param string $s
 * @param int $n
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_mvaddnstr($y, $x, $s, $n){}

/**
 * Move position and add string
 *
 * @param int $y
 * @param int $x
 * @param string $s
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_mvaddstr($y, $x, $s){}

/**
 * Move cursor immediately
 *
 * @param int $old_y
 * @param int $old_x
 * @param int $new_y
 * @param int $new_x
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_mvcur($old_y, $old_x, $new_y, $new_x){}

/**
 * Move position and delete character, shift rest of line left
 *
 * @param int $y
 * @param int $x
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_mvdelch($y, $x){}

/**
 * Move position and get character at new position
 *
 * @param int $y
 * @param int $x
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_mvgetch($y, $x){}

/**
 * Set new position and draw a horizontal line using an attributed
 * character and max. n characters long
 *
 * @param int $y
 * @param int $x
 * @param int $attrchar
 * @param int $n
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_mvhline($y, $x, $attrchar, $n){}

/**
 * Move position and get attributed character at new position
 *
 * @param int $y
 * @param int $x
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_mvinch($y, $x){}

/**
 * Set new position and draw a vertical line using an attributed
 * character and max. n characters long
 *
 * @param int $y
 * @param int $x
 * @param int $attrchar
 * @param int $n
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_mvvline($y, $x, $attrchar, $n){}

/**
 * Add string at new position in window
 *
 * @param resource $window
 * @param int $y
 * @param int $x
 * @param string $text
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_mvwaddstr($window, $y, $x, $text){}

/**
 * Sleep
 *
 * @param int $milliseconds
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_napms($milliseconds){}

/**
 * Creates a new pad (window)
 *
 * @param int $rows
 * @param int $cols
 * @return resource
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_newpad($rows, $cols){}

/**
 * Create a new window
 *
 * Creates a new window to draw elements in.
 *
 * When creating additional windows, remember to use {@link
 * ncurses_getmaxyx} to check for available space, as terminal size is
 * individual and may vary.
 *
 * @param int $rows Number of rows
 * @param int $cols Number of columns
 * @param int $y y-coordinate of the origin
 * @param int $x x-coordinate of the origin
 * @return resource Returns a resource ID for the new window.
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_newwin($rows, $cols, $y, $x){}

/**
 * Create a new panel and associate it with window
 *
 * @param resource $window
 * @return resource
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_new_panel($window){}

/**
 * Translate newline and carriage return / line feed
 *
 * @return bool
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_nl(){}

/**
 * Switch terminal to cooked mode
 *
 * Returns terminal to normal (cooked) mode. Initially the terminal may
 * or may not be in cbreak mode as the mode is inherited. Therefore a
 * program should call {@link ncurses_cbreak} and {@link
 * ncurses_nocbreak} explicitly.
 *
 * @return bool Returns TRUE if any error occurred, otherwise FALSE.
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_nocbreak(){}

/**
 * Switch off keyboard input echo
 *
 * Prevents echoing of user typed characters.
 *
 * @return bool Returns TRUE if any error occurred, FALSE otherwise.
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_noecho(){}

/**
 * Do not translate newline and carriage return / line feed
 *
 * @return bool
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_nonl(){}

/**
 * Do not flush on signal characters
 *
 * @return void
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_noqiflush(){}

/**
 * Switch terminal out of raw mode
 *
 * Switches the terminal out of raw mode. Raw mode is similar to cbreak
 * mode, in that characters typed are immediately passed through to the
 * user program. The difference is that in raw mode, the interrupt, quit,
 * suspend and flow control characters are all passed through
 * uninterpreted, instead of generating a signal.
 *
 * @return bool Returns TRUE if any error occurred, otherwise FALSE.
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_noraw(){}

/**
 * Retrieves foreground and background colors of a color pair
 *
 * Retrieves the foreground and background colors that constitute the
 * given color pair. Terminal color capabilities must be initialized with
 * {@link ncurses_start_color} prior to calling this function.
 *
 * @param int $pair The number of the color pair to retrieve
 *   information for.
 * @param int $f A reference to which to return the foreground color of
 *   the color pair. The information returned will be a color number
 *   referring to one of the pre-defined colors or a color defined
 *   previously by {@link ncurses_init_color} if the terminal supports
 *   color changing.
 * @param int $b A reference to which to return the background color of
 *   the color pair. The information returned will be a color number
 *   referring to one of the pre-defined colors or a color defined
 *   previously by {@link ncurses_init_color} if the terminal supports
 *   color changing.
 * @return int Returns -1 if the function was successful, and 0 if
 *   ncurses or terminal color capabilities have not been initialized.
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_pair_content($pair, &$f, &$b){}

/**
 * Returns the panel above panel
 *
 * @param resource $panel
 * @return resource If panel is null, returns the bottom panel in the
 *   stack.
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_panel_above($panel){}

/**
 * Returns the panel below panel
 *
 * @param resource $panel
 * @return resource
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_panel_below($panel){}

/**
 * Returns the window associated with panel
 *
 * @param resource $panel
 * @return resource
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_panel_window($panel){}

/**
 * Copies a region from a pad into the virtual screen
 *
 * @param resource $pad
 * @param int $pminrow
 * @param int $pmincol
 * @param int $sminrow
 * @param int $smincol
 * @param int $smaxrow
 * @param int $smaxcol
 * @return int
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_pnoutrefresh($pad, $pminrow, $pmincol, $sminrow, $smincol, $smaxrow, $smaxcol){}

/**
 * Copies a region from a pad into the virtual screen
 *
 * @param resource $pad
 * @param int $pminrow
 * @param int $pmincol
 * @param int $sminrow
 * @param int $smincol
 * @param int $smaxrow
 * @param int $smaxcol
 * @return int
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_prefresh($pad, $pminrow, $pmincol, $sminrow, $smincol, $smaxrow, $smaxcol){}

/**
 * Apply padding information to the string and output it
 *
 * @param string $text
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_putp($text){}

/**
 * Flush on signal characters
 *
 * @return void
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_qiflush(){}

/**
 * Switch terminal into raw mode
 *
 * Places the terminal in raw mode. Raw mode is similar to cbreak mode,
 * in that characters typed are immediately passed through to the user
 * program. The difference is that in raw mode, the interrupt, quit,
 * suspend and flow control characters are all passed through
 * uninterpreted, instead of generating a signal.
 *
 * @return bool Returns TRUE if any error occurred, otherwise FALSE.
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_raw(){}

/**
 * Refresh screen
 *
 * @param int $ch
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_refresh($ch){}

/**
 * Replaces the window associated with panel
 *
 * @param resource $panel
 * @param resource $window
 * @return int
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_replace_panel($panel, $window){}

/**
 * Restores saved terminal state
 *
 * Restores the terminal state, which was previously saved by calling
 * {@link ncurses_savetty}.
 *
 * @return bool Always returns FALSE.
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_resetty(){}

/**
 * Resets the prog mode saved by def_prog_mode
 *
 * @return int
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_reset_prog_mode(){}

/**
 * Resets the shell mode saved by def_shell_mode
 *
 * @return int
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_reset_shell_mode(){}

/**
 * Saves terminal state
 *
 * Saves the current terminal state. The saved terminal state can be
 * restored with {@link ncurses_resetty}.
 *
 * @return bool Always returns FALSE.
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_savetty(){}

/**
 * Scroll window content up or down without changing current position
 *
 * @param int $count
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_scrl($count){}

/**
 * Dump screen content to file
 *
 * @param string $filename
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_scr_dump($filename){}

/**
 * Initialize screen from file dump
 *
 * @param string $filename
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_scr_init($filename){}

/**
 * Restore screen from file dump
 *
 * @param string $filename
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_scr_restore($filename){}

/**
 * Inherit screen from file dump
 *
 * @param string $filename
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_scr_set($filename){}

/**
 * Places an invisible panel on top of the stack, making it visible
 *
 * @param resource $panel
 * @return int
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_show_panel($panel){}

/**
 * Returns current soft label key attribute
 *
 * Returns the current soft label key attribute.
 *
 * @return int The attribute, as an integer.
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_slk_attr(){}

/**
 * Turn off the given attributes for soft function-key labels
 *
 * @param int $intarg
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_slk_attroff($intarg){}

/**
 * Turn on the given attributes for soft function-key labels
 *
 * @param int $intarg
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_slk_attron($intarg){}

/**
 * Set given attributes for soft function-key labels
 *
 * @param int $intarg
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_slk_attrset($intarg){}

/**
 * Clears soft labels from screen
 *
 * The function {@link ncurses_slk_clear} clears soft label keys from
 * screen.
 *
 * @return bool Returns TRUE on errors, FALSE otherwise.
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_slk_clear(){}

/**
 * Sets color for soft label keys
 *
 * @param int $intarg
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_slk_color($intarg){}

/**
 * Initializes soft label key functions
 *
 * This function must be called before {@link ncurses_init} or {@link
 * ncurses_newwin} is called.
 *
 * @param int $format If {@link ncurses_init} eventually uses a line
 *   from stdscr to emulate the soft labels, then this parameter
 *   determines how the labels are arranged of the screen. 0 indicates a
 *   3-2-3 arrangement of the labels, 1 indicates a 4-4 arrangement and 2
 *   indicates the PC like 4-4-4 mode, but in addition an index line will
 *   be created.
 * @return bool
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_slk_init($format){}

/**
 * Copies soft label keys to virtual screen
 *
 * @return bool
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_slk_noutrefresh(){}

/**
 * Copies soft label keys to screen
 *
 * Copies soft label keys from virtual screen to physical screen.
 *
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_slk_refresh(){}

/**
 * Restores soft label keys
 *
 * Restores the soft label keys after {@link ncurses_slk_clear} has been
 * performed.
 *
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_slk_restore(){}

/**
 * Sets function key labels
 *
 * @param int $labelnr
 * @param string $label
 * @param int $format
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_slk_set($labelnr, $label, $format){}

/**
 * Forces output when ncurses_slk_noutrefresh is performed
 *
 * Forces all the soft labels to be output the next time a {@link
 * ncurses_slk_noutrefresh} is performed.
 *
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_slk_touch(){}

/**
 * Stop using 'standout' attribute
 *
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_standend(){}

/**
 * Start using 'standout' attribute
 *
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_standout(){}

/**
 * Initializes color functionality
 *
 * Initializes color functionality in ncurses. This function must be
 * called before any color manipulation functions are called and after
 * {@link ncurses_init} is called. It is good practice to call this
 * function right after {@link ncurses_init}.
 *
 * @return int Returns 0 on success, or -1 if the color table could not
 *   be allocated or ncurses was not initialized.
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_start_color(){}

/**
 * Returns a logical OR of all attribute flags supported by terminal
 *
 * @return bool
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_termattrs(){}

/**
 * Returns terminals (short)-name
 *
 * Returns terminals shortname.
 *
 * @return string Returns the shortname of the terminal, truncated to
 *   14 characters. On errors, returns NULL.
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_termname(){}

/**
 * Set timeout for special key sequences
 *
 * @param int $millisec
 * @return void
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_timeout($millisec){}

/**
 * Moves a visible panel to the top of the stack
 *
 * @param resource $panel
 * @return int
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_top_panel($panel){}

/**
 * Specify different filedescriptor for typeahead checking
 *
 * @param int $fd
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_typeahead($fd){}

/**
 * Put a character back into the input stream
 *
 * @param int $keycode
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_ungetch($keycode){}

/**
 * Pushes mouse event to queue
 *
 * Pushes a KEY_MOUSE event onto the input queue and associates with this
 * event the given state data and screen-relative character cell
 * coordinates, specified in {@link mevent}.
 *
 * @param array $mevent An associative array specifying the event
 *   options: "id" : Id to distinguish multiple devices "x" : screen
 *   relative x-position in character cells "y" : screen relative
 *   y-position in character cells "z" : currently not supported "mmask"
 *   : Mouse action
 * @return bool Returns FALSE on success, TRUE otherwise.
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_ungetmouse($mevent){}

/**
 * Refreshes the virtual screen to reflect the relations between panels
 * in the stack
 *
 * @return void
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_update_panels(){}

/**
 * Assign terminal default colors to color id -1
 *
 * @return bool
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_use_default_colors(){}

/**
 * Control use of environment information about terminal size
 *
 * @param bool $flag
 * @return void
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_use_env($flag){}

/**
 * Control use of extended names in terminfo descriptions
 *
 * @param bool $flag
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_use_extended_names($flag){}

/**
 * Display the string on the terminal in the video attribute mode
 *
 * @param int $intarg
 * @return int
 * @since PHP 4 >= 4.0.7, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_vidattr($intarg){}

/**
 * Draw a vertical line at current position using an attributed character
 * and max. n characters long
 *
 * @param int $charattr
 * @param int $n
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_vline($charattr, $n){}

/**
 * Adds character at current position in a window and advance cursor
 *
 * @param resource $window
 * @param int $ch
 * @return int
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_waddch($window, $ch){}

/**
 * Outputs text at current postion in window
 *
 * @param resource $window
 * @param string $str
 * @param int $n
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_waddstr($window, $str, $n){}

/**
 * Turns off attributes for a window
 *
 * @param resource $window
 * @param int $attrs
 * @return int
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_wattroff($window, $attrs){}

/**
 * Turns on attributes for a window
 *
 * @param resource $window
 * @param int $attrs
 * @return int
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_wattron($window, $attrs){}

/**
 * Set the attributes for a window
 *
 * @param resource $window
 * @param int $attrs
 * @return int
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_wattrset($window, $attrs){}

/**
 * Draws a border around the window using attributed characters
 *
 * Draws the specified lines and corners around the passed {@link
 * window}.
 *
 * Use {@link ncurses_border} for borders around the main window.
 *
 * @param resource $window The window on which we operate
 * @param int $left
 * @param int $right
 * @param int $top
 * @param int $bottom
 * @param int $tl_corner Top left corner
 * @param int $tr_corner Top right corner
 * @param int $bl_corner Bottom left corner
 * @param int $br_corner Bottom right corner
 * @return int
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_wborder($window, $left, $right, $top, $bottom, $tl_corner, $tr_corner, $bl_corner, $br_corner){}

/**
 * Clears window
 *
 * @param resource $window
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_wclear($window){}

/**
 * Sets windows color pairings
 *
 * @param resource $window
 * @param int $color_pair
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_wcolor_set($window, $color_pair){}

/**
 * Erase window contents
 *
 * @param resource $window
 * @return int
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_werase($window){}

/**
 * Reads a character from keyboard (window)
 *
 * @param resource $window
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_wgetch($window){}

/**
 * Draws a horizontal line in a window at current position using an
 * attributed character and max. n characters long
 *
 * @param resource $window
 * @param int $charattr
 * @param int $n
 * @return int
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_whline($window, $charattr, $n){}

/**
 * Transforms window/stdscr coordinates
 *
 * @param resource $window
 * @param int $y
 * @param int $x
 * @param bool $toscreen
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_wmouse_trafo($window, &$y, &$x, $toscreen){}

/**
 * Moves windows output position
 *
 * @param resource $window
 * @param int $y
 * @param int $x
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_wmove($window, $y, $x){}

/**
 * Copies window to virtual screen
 *
 * @param resource $window
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_wnoutrefresh($window){}

/**
 * Refresh window on terminal screen
 *
 * @param resource $window
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_wrefresh($window){}

/**
 * End standout mode for a window
 *
 * @param resource $window
 * @return int
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_wstandend($window){}

/**
 * Enter standout mode for a window
 *
 * @param resource $window
 * @return int
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_wstandout($window){}

/**
 * Draws a vertical line in a window at current position using an
 * attributed character and max. n characters long
 *
 * @param resource $window
 * @param int $charattr
 * @param int $n
 * @return int
 * @since PHP 4 >= 4.3.0, PHP 5 < 5.3.0, PECL ncurses >= 1.0.0
 **/
function ncurses_wvline($window, $charattr, $n){}

/**
 * Send a beep to the terminal
 *
 * This function sends a beep to the terminal.
 *
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_bell(){}

/**
 * Create a new button
 *
 * Creates a new button.
 *
 * @param int $left X-coordinate of the button.
 * @param int $top Y-coordinate of the button.
 * @param string $text The text which should be displayed in the
 *   button.
 * @return resource Returns a resource link to the created button
 *   component, or FALSE on error.
 * @since PECL newt >= 0.1
 **/
function newt_button($left, $top, $text){}

/**
 * This function returns a grid containing the buttons created
 *
 * @param array $buttons
 * @return resource Returns grid containing the buttons created.
 * @since PECL newt >= 0.1
 **/
function newt_button_bar(&$buttons){}

/**
 * Open a centered window of the specified size
 *
 * @param int $width Window width
 * @param int $height Window height
 * @param string $title Window title
 * @return int Undefined value.
 * @since PECL newt >= 0.1
 **/
function newt_centered_window($width, $height, $title){}

/**
 * @param int $left
 * @param int $top
 * @param string $text
 * @param string $def_value
 * @param string $seq
 * @return resource
 * @since PECL newt >= 0.1
 **/
function newt_checkbox($left, $top, $text, $def_value, $seq){}

/**
 * Retreives value of checkox resource
 *
 * This function returns the character in the sequence which indicates
 * the current value of the checkbox.
 *
 * @param resource $checkbox
 * @return string Returns character indicating the value of the
 *   checkbox.
 * @since PECL newt >= 0.1
 **/
function newt_checkbox_get_value($checkbox){}

/**
 * Configures checkbox resource
 *
 * This function allows to set various flags on checkbox resource.
 *
 * @param resource $checkbox
 * @param int $flags
 * @param int $sense
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_checkbox_set_flags($checkbox, $flags, $sense){}

/**
 * Sets the value of the checkbox
 *
 * This function allows to set the current value of the checkbox
 * resource.
 *
 * @param resource $checkbox
 * @param string $value
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_checkbox_set_value($checkbox, $value){}

/**
 * @param int $left
 * @param int $top
 * @param int $height
 * @param int $flags
 * @return resource
 * @since PECL newt >= 0.1
 **/
function newt_checkbox_tree($left, $top, $height, $flags){}

/**
 * Adds new item to the checkbox tree
 *
 * This function allows to add new item to the checkbox tree.
 *
 * @param resource $checkboxtree
 * @param string $text
 * @param mixed $data
 * @param int $flags
 * @param int $index
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_checkbox_tree_add_item($checkboxtree, $text, $data, $flags, $index){}

/**
 * Finds an item in the checkbox tree
 *
 * Finds an item in the checkbox tree by item's data.
 *
 * @param resource $checkboxtree
 * @param mixed $data
 * @return array Returns checkbox tree item resource, or NULL if it
 *   wasn't found.
 * @since PECL newt >= 0.1
 **/
function newt_checkbox_tree_find_item($checkboxtree, $data){}

/**
 * Returns checkbox tree selected item
 *
 * This method returns checkbox tree selected tem.
 *
 * @param resource $checkboxtree
 * @return mixed Returns current (selected) checkbox tree item.
 * @since PECL newt >= 0.1
 **/
function newt_checkbox_tree_get_current($checkboxtree){}

/**
 * @param resource $checkboxtree
 * @param mixed $data
 * @return string
 * @since PECL newt >= 0.1
 **/
function newt_checkbox_tree_get_entry_value($checkboxtree, $data){}

/**
 * @param resource $checkboxtree
 * @param string $seqnum
 * @return array
 * @since PECL newt >= 0.1
 **/
function newt_checkbox_tree_get_multi_selection($checkboxtree, $seqnum){}

/**
 * @param resource $checkboxtree
 * @return array
 * @since PECL newt >= 0.1
 **/
function newt_checkbox_tree_get_selection($checkboxtree){}

/**
 * @param int $left
 * @param int $top
 * @param int $height
 * @param string $seq
 * @param int $flags
 * @return resource
 * @since PECL newt >= 0.1
 **/
function newt_checkbox_tree_multi($left, $top, $height, $seq, $flags){}

/**
 * @param resource $checkboxtree
 * @param mixed $data
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_checkbox_tree_set_current($checkboxtree, $data){}

/**
 * @param resource $checkboxtree
 * @param mixed $data
 * @param string $text
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_checkbox_tree_set_entry($checkboxtree, $data, $text){}

/**
 * @param resource $checkboxtree
 * @param mixed $data
 * @param string $value
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_checkbox_tree_set_entry_value($checkboxtree, $data, $value){}

/**
 * @param resource $checkbox_tree
 * @param int $width
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_checkbox_tree_set_width($checkbox_tree, $width){}

/**
 * Discards the contents of the terminal's input buffer without waiting
 * for additional input
 *
 * Discards the contents of the terminal's input buffer without waiting
 * for additional input.
 *
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_clear_key_buffer(){}

/**
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_cls(){}

/**
 * @param int $left
 * @param int $top
 * @param string $text
 * @return resource
 * @since PECL newt >= 0.1
 **/
function newt_compact_button($left, $top, $text){}

/**
 * @param resource $component
 * @param mixed $func_name
 * @param mixed $data
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_component_add_callback($component, $func_name, $data){}

/**
 * @param resource $component
 * @param bool $takes_focus
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_component_takes_focus($component, $takes_focus){}

/**
 * @param int $cols
 * @param int $rows
 * @return resource
 * @since PECL newt >= 0.1
 **/
function newt_create_grid($cols, $rows){}

/**
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_cursor_off(){}

/**
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_cursor_on(){}

/**
 * @param int $microseconds
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_delay($microseconds){}

/**
 * @param resource $form
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_draw_form($form){}

/**
 * Displays the string text at the position indicated
 *
 * @param int $left Column number
 * @param int $top Line number
 * @param string $text Text to display.
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_draw_root_text($left, $top, $text){}

/**
 * @param int $left
 * @param int $top
 * @param int $width
 * @param string $init_value
 * @param int $flags
 * @return resource
 * @since PECL newt >= 0.1
 **/
function newt_entry($left, $top, $width, $init_value, $flags){}

/**
 * @param resource $entry
 * @return string
 * @since PECL newt >= 0.1
 **/
function newt_entry_get_value($entry){}

/**
 * @param resource $entry
 * @param string $value
 * @param bool $cursor_at_end
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_entry_set($entry, $value, $cursor_at_end){}

/**
 * @param resource $entry
 * @param callable $filter
 * @param mixed $data
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_entry_set_filter($entry, $filter, $data){}

/**
 * @param resource $entry
 * @param int $flags
 * @param int $sense
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_entry_set_flags($entry, $flags, $sense){}

/**
 * Uninitializes newt interface
 *
 * Uninitializes newt interface. This function be called, when program is
 * ready to exit.
 *
 * @return int Returns 1 on success, 0 on failure.
 * @since PECL newt >= 0.1
 **/
function newt_finished(){}

/**
 * Create a form
 *
 * Create a new form.
 *
 * @param resource $vert_bar Vertical scrollbar which should be
 *   associated with the form
 * @param string $help Help text string
 * @param int $flags Various flags
 * @return resource Returns a resource link to the created form
 *   component, or FALSE on error.
 * @since PECL newt >= 0.1
 **/
function newt_form($vert_bar, $help, $flags){}

/**
 * Adds a single component to the form
 *
 * Adds a single component to the {@link form}.
 *
 * @param resource $form Form to which component will be added
 * @param resource $component Component to add to the form
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_form_add_component($form, $component){}

/**
 * Add several components to the form
 *
 * Adds several components to the {@link form}.
 *
 * @param resource $form Form to which components will be added
 * @param array $components Array of components to add to the form
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_form_add_components($form, $components){}

/**
 * @param resource $form
 * @param int $key
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_form_add_hot_key($form, $key){}

/**
 * Destroys a form
 *
 * This function frees the memory resources used by the form and all of
 * the components which have been added to the form (including those
 * components which are on subforms). Once a form has been destroyed,
 * none of the form's components can be used.
 *
 * @param resource $form Form component, which is going to be destroyed
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_form_destroy($form){}

/**
 * @param resource $form
 * @return resource
 * @since PECL newt >= 0.1
 **/
function newt_form_get_current($form){}

/**
 * Runs a form
 *
 * This function runs the form passed to it.
 *
 * @param resource $form Form component
 * @param array $exit_struct Array, used for returning information
 *   after running the form component. Keys and values are described in
 *   the following table: Form Exit Structure Index Key Value Type
 *   Description reason integer The reason, why the form has been exited.
 *   Possible values are defined here. watch resource Resource link,
 *   specified in {@link newt_form_watch_fd} key integer Hotkey component
 *   resource Component, which caused the form to exit
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_form_run($form, &$exit_struct){}

/**
 * @param resource $from
 * @param int $background
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_form_set_background($from, $background){}

/**
 * @param resource $form
 * @param int $height
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_form_set_height($form, $height){}

/**
 * @param resource $form
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_form_set_size($form){}

/**
 * @param resource $form
 * @param int $milliseconds
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_form_set_timer($form, $milliseconds){}

/**
 * @param resource $form
 * @param int $width
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_form_set_width($form, $width){}

/**
 * @param resource $form
 * @param resource $stream
 * @param int $flags
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_form_watch_fd($form, $stream, $flags){}

/**
 * Fills in the passed references with the current size of the terminal
 *
 * Fills in the passed references with the current size of the terminal.
 *
 * @param int $cols Number of columns in the terminal
 * @param int $rows Number of rows in the terminal
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_get_screen_size(&$cols, &$rows){}

/**
 * @param resource $grid
 * @param resource $form
 * @param bool $recurse
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_grid_add_components_to_form($grid, $form, $recurse){}

/**
 * @param resource $text
 * @param resource $middle
 * @param resource $buttons
 * @return resource
 * @since PECL newt >= 0.1
 **/
function newt_grid_basic_window($text, $middle, $buttons){}

/**
 * @param resource $grid
 * @param bool $recurse
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_grid_free($grid, $recurse){}

/**
 * @param resouce $grid
 * @param int $width
 * @param int $height
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_grid_get_size($grid, &$width, &$height){}

/**
 * @param int $element1_type
 * @param resource $element1
 * @return resource
 * @since PECL newt >= 0.1
 **/
function newt_grid_h_close_stacked($element1_type, $element1){}

/**
 * @param int $element1_type
 * @param resource $element1
 * @return resource
 * @since PECL newt >= 0.1
 **/
function newt_grid_h_stacked($element1_type, $element1){}

/**
 * @param resource $grid
 * @param int $left
 * @param int $top
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_grid_place($grid, $left, $top){}

/**
 * @param resource $grid
 * @param int $col
 * @param int $row
 * @param int $type
 * @param resource $val
 * @param int $pad_left
 * @param int $pad_top
 * @param int $pad_right
 * @param int $pad_bottom
 * @param int $anchor
 * @param int $flags
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_grid_set_field($grid, $col, $row, $type, $val, $pad_left, $pad_top, $pad_right, $pad_bottom, $anchor, $flags){}

/**
 * @param resource $text
 * @param resource $middle
 * @param resource $buttons
 * @return resource
 * @since PECL newt >= 0.1
 **/
function newt_grid_simple_window($text, $middle, $buttons){}

/**
 * @param int $element1_type
 * @param resource $element1
 * @return resource
 * @since PECL newt >= 0.1
 **/
function newt_grid_v_close_stacked($element1_type, $element1){}

/**
 * @param int $element1_type
 * @param resource $element1
 * @return resource
 * @since PECL newt >= 0.1
 **/
function newt_grid_v_stacked($element1_type, $element1){}

/**
 * @param resource $grid
 * @param string $title
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_grid_wrapped_window($grid, $title){}

/**
 * @param resource $grid
 * @param string $title
 * @param int $left
 * @param int $top
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_grid_wrapped_window_at($grid, $title, $left, $top){}

/**
 * Initialize newt
 *
 * Initializes the newt interface. This function must be called before
 * any other newt function.
 *
 * @return int Returns 1 on success, 0 on failure.
 * @since PECL newt >= 0.1
 **/
function newt_init(){}

/**
 * @param int $left
 * @param int $top
 * @param string $text
 * @return resource
 * @since PECL newt >= 0.1
 **/
function newt_label($left, $top, $text){}

/**
 * @param resource $label
 * @param string $text
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_label_set_text($label, $text){}

/**
 * @param int $left
 * @param int $top
 * @param int $height
 * @param int $flags
 * @return resource
 * @since PECL newt >= 0.1
 **/
function newt_listbox($left, $top, $height, $flags){}

/**
 * @param resource $listbox
 * @param string $text
 * @param mixed $data
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_listbox_append_entry($listbox, $text, $data){}

/**
 * @param resource $listobx
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_listbox_clear($listobx){}

/**
 * @param resource $listbox
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_listbox_clear_selection($listbox){}

/**
 * @param resource $listbox
 * @param mixed $key
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_listbox_delete_entry($listbox, $key){}

/**
 * @param resource $listbox
 * @return string
 * @since PECL newt >= 0.1
 **/
function newt_listbox_get_current($listbox){}

/**
 * @param resource $listbox
 * @return array
 * @since PECL newt >= 0.1
 **/
function newt_listbox_get_selection($listbox){}

/**
 * @param resource $listbox
 * @param string $text
 * @param mixed $data
 * @param mixed $key
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_listbox_insert_entry($listbox, $text, $data, $key){}

/**
 * @param resource $listbox
 * @return int
 * @since PECL newt >= 0.1
 **/
function newt_listbox_item_count($listbox){}

/**
 * @param resource $listbox
 * @param mixed $key
 * @param int $sense
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_listbox_select_item($listbox, $key, $sense){}

/**
 * @param resource $listbox
 * @param int $num
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_listbox_set_current($listbox, $num){}

/**
 * @param resource $listbox
 * @param mixed $key
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_listbox_set_current_by_key($listbox, $key){}

/**
 * @param resource $listbox
 * @param int $num
 * @param mixed $data
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_listbox_set_data($listbox, $num, $data){}

/**
 * @param resource $listbox
 * @param int $num
 * @param string $text
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_listbox_set_entry($listbox, $num, $text){}

/**
 * @param resource $listbox
 * @param int $width
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_listbox_set_width($listbox, $width){}

/**
 * @param int $left
 * @param int $top
 * @param string $text
 * @param bool $is_default
 * @param resouce $prev_item
 * @param mixed $data
 * @param int $flags
 * @return resource
 * @since PECL newt >= 0.1
 **/
function newt_listitem($left, $top, $text, $is_default, $prev_item, $data, $flags){}

/**
 * @param resource $item
 * @return mixed
 * @since PECL newt >= 0.1
 **/
function newt_listitem_get_data($item){}

/**
 * @param resource $item
 * @param string $text
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_listitem_set($item, $text){}

/**
 * Open a window of the specified size and position
 *
 * @param int $left Location of the upper left-hand corner of the
 *   window (column number)
 * @param int $top Location of the upper left-hand corner of the window
 *   (row number)
 * @param int $width Window width
 * @param int $height Window height
 * @param string $title Window title
 * @return int Returns 1 on success, 0 on failure.
 * @since PECL newt >= 0.1
 **/
function newt_open_window($left, $top, $width, $height, $title){}

/**
 * Replaces the current help line with the one from the stack
 *
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_pop_help_line(){}

/**
 * Removes the top window from the display
 *
 * Removes the top window from the display, and redraws the display areas
 * which the window overwrote.
 *
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_pop_window(){}

/**
 * Saves the current help line on a stack, and displays the new line
 *
 * @param string $text New help text message
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_push_help_line($text){}

/**
 * @param int $left
 * @param int $top
 * @param string $text
 * @param bool $is_default
 * @param resource $prev_button
 * @return resource
 * @since PECL newt >= 0.1
 **/
function newt_radiobutton($left, $top, $text, $is_default, $prev_button){}

/**
 * @param resource $set_member
 * @return resource
 * @since PECL newt >= 0.1
 **/
function newt_radio_get_current($set_member){}

/**
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_redraw_help_line(){}

/**
 * @param string $text
 * @param int $width
 * @param int $flex_down
 * @param int $flex_up
 * @param int $actual_width
 * @param int $actual_height
 * @return string
 * @since PECL newt >= 0.1
 **/
function newt_reflow_text($text, $width, $flex_down, $flex_up, &$actual_width, &$actual_height){}

/**
 * Updates modified portions of the screen
 *
 * To increase performance, newt only updates the display when it needs
 * to, not when the program tells it to write to the terminal.
 * Applications can force newt to immediately update modified portions of
 * the screen by calling this function.
 *
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_refresh(){}

/**
 * @param bool $redraw
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_resize_screen($redraw){}

/**
 * Resume using the newt interface after calling
 *
 * Resume using the newt interface after calling {@link newt_suspend}.
 *
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_resume(){}

/**
 * Runs a form
 *
 * This function runs the form passed to it.
 *
 * @param resource $form Form component
 * @return resource The component which caused the form to stop
 *   running.
 * @since PECL newt >= 0.1
 **/
function newt_run_form($form){}

/**
 * @param int $left
 * @param int $top
 * @param int $width
 * @param int $full_value
 * @return resource
 * @since PECL newt >= 0.1
 **/
function newt_scale($left, $top, $width, $full_value){}

/**
 * @param resource $scale
 * @param int $amount
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_scale_set($scale, $amount){}

/**
 * @param resource $scrollbar
 * @param int $where
 * @param int $total
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_scrollbar_set($scrollbar, $where, $total){}

/**
 * @param mixed $function
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_set_help_callback($function){}

/**
 * Set a callback function which gets invoked when user presses the
 * suspend key
 *
 * Set a callback function which gets invoked when user presses the
 * suspend key (normally ^Z). If no suspend callback is registered, the
 * suspend keystroke is ignored.
 *
 * @param callable $function A callback function, which accepts one
 *   argument: data
 * @param mixed $data This data is been passed to the callback function
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_set_suspend_callback($function, $data){}

/**
 * Tells newt to return the terminal to its initial state
 *
 * Tells newt to return the terminal to its initial state. Once this is
 * done, the application can suspend itself (by sending itself a SIGTSTP,
 * fork a child program, or do whatever else it likes).
 *
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_suspend(){}

/**
 * @param int $left
 * @param int $top
 * @param int $width
 * @param int $height
 * @param int $flags
 * @return resource
 * @since PECL newt >= 0.1
 **/
function newt_textbox($left, $top, $width, $height, $flags){}

/**
 * @param resource $textbox
 * @return int
 * @since PECL newt >= 0.1
 **/
function newt_textbox_get_num_lines($textbox){}

/**
 * @param int $left
 * @param int $top
 * @param char $text
 * @param int $width
 * @param int $flex_down
 * @param int $flex_up
 * @param int $flags
 * @return resource
 * @since PECL newt >= 0.1
 **/
function newt_textbox_reflowed($left, $top, $text, $width, $flex_down, $flex_up, $flags){}

/**
 * @param resource $textbox
 * @param int $height
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_textbox_set_height($textbox, $height){}

/**
 * @param resource $textbox
 * @param string $text
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_textbox_set_text($textbox, $text){}

/**
 * @param int $left
 * @param int $top
 * @param int $height
 * @param int $normal_colorset
 * @param int $thumb_colorset
 * @return resource
 * @since PECL newt >= 0.1
 **/
function newt_vertical_scrollbar($left, $top, $height, $normal_colorset, $thumb_colorset){}

/**
 * Doesn't return until a key has been pressed
 *
 * This function doesn't return until a key has been pressed. The
 * keystroke is then ignored. If a key is already in the terminal's
 * buffer, this function discards a keystroke and returns immediately.
 *
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_wait_for_key(){}

/**
 * @param string $title
 * @param string $button1_text
 * @param string $button2_text
 * @param string $format
 * @param mixed $args
 * @return int
 * @since PECL newt >= 0.1
 **/
function newt_win_choice($title, $button1_text, $button2_text, $format, $args){}

/**
 * @param string $title
 * @param string $text
 * @param int $suggested_width
 * @param int $flex_down
 * @param int $flex_up
 * @param int $data_width
 * @param array $items
 * @param string $button1
 * @return int
 * @since PECL newt >= 0.1
 **/
function newt_win_entries($title, $text, $suggested_width, $flex_down, $flex_up, $data_width, &$items, $button1){}

/**
 * @param string $title
 * @param string $text
 * @param int $suggestedWidth
 * @param int $flexDown
 * @param int $flexUp
 * @param int $maxListHeight
 * @param array $items
 * @param int $listItem
 * @param string $button1
 * @return int
 * @since PECL newt >= 0.1
 **/
function newt_win_menu($title, $text, $suggestedWidth, $flexDown, $flexUp, $maxListHeight, $items, &$listItem, $button1){}

/**
 * @param string $title
 * @param string $button_text
 * @param string $format
 * @param mixed $args
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_win_message($title, $button_text, $format, $args){}

/**
 * @param string $title
 * @param string $button_text
 * @param string $format
 * @param array $args
 * @return void
 * @since PECL newt >= 0.1
 **/
function newt_win_messagev($title, $button_text, $format, $args){}

/**
 * @param string $title Its description
 * @param string $button1_text Its description
 * @param string $button2_text Its description
 * @param string $button3_text Its description
 * @param string $format Its description
 * @param mixed $args Its description
 * @return int What the function returns, first on success, then on
 *   failure. See also the &return.success; entity
 * @since PECL newt >= 0.1
 **/
function newt_win_ternary($title, $button1_text, $button2_text, $button3_text, $format, $args){}

/**
 * Advance the internal pointer of an array
 *
 * {@link next} behaves like {@link current}, with one difference. It
 * advances the internal array pointer one place forward before returning
 * the element value. That means it returns the next array value and
 * advances the internal array pointer by one.
 *
 * @param array $array The array being affected.
 * @return mixed Returns the array value in the next place that's
 *   pointed to by the internal array pointer, or FALSE if there are no
 *   more elements.
 * @since PHP 4, PHP 5, PHP 7
 **/
function next(&$array){}

/**
 * Plural version of gettext
 *
 * The plural version of {@link gettext}. Some languages have more than
 * one form for plural messages dependent on the count.
 *
 * @param string $msgid1 The singular message ID.
 * @param string $msgid2 The plural message ID.
 * @param int $n The number (e.g. item count) to determine the
 *   translation for the respective grammatical number.
 * @return string Returns correct plural form of message identified by
 *   {@link msgid1} and {@link msgid2} for count {@link n}.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function ngettext($msgid1, $msgid2, $n){}

/**
 * Inserts HTML line breaks before all newlines in a string
 *
 * Returns {@link string} with <br /> or <br> inserted before all
 * newlines (\r\n, \n\r, \n and \r).
 *
 * @param string $string The input string.
 * @param bool $is_xhtml Whether to use XHTML compatible line breaks or
 *   not.
 * @return string Returns the altered string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function nl2br($string, $is_xhtml){}

/**
 * Query language and locale information
 *
 * {@link nl_langinfo} is used to access individual elements of the
 * locale categories. Unlike {@link localeconv}, which returns all of the
 * elements, {@link nl_langinfo} allows you to select any specific
 * element.
 *
 * @param int $item {@link item} may be an integer value of the element
 *   or the constant name of the element. The following is a list of
 *   constant names for {@link item} that may be used and their
 *   description. Some of these constants may not be defined or hold no
 *   value for certain locales. nl_langinfo Constants Constant
 *   Description LC_TIME Category Constants ABDAY_(1-7) Abbreviated name
 *   of n-th day of the week. DAY_(1-7) Name of the n-th day of the week
 *   (DAY_1 = Sunday). ABMON_(1-12) Abbreviated name of the n-th month of
 *   the year. MON_(1-12) Name of the n-th month of the year. AM_STR
 *   String for Ante meridian. PM_STR String for Post meridian. D_T_FMT
 *   String that can be used as the format string for {@link strftime} to
 *   represent time and date. D_FMT String that can be used as the format
 *   string for {@link strftime} to represent date. T_FMT String that can
 *   be used as the format string for {@link strftime} to represent time.
 *   T_FMT_AMPM String that can be used as the format string for {@link
 *   strftime} to represent time in 12-hour format with ante/post
 *   meridian. ERA Alternate era. ERA_YEAR Year in alternate era format.
 *   ERA_D_T_FMT Date and time in alternate era format (string can be
 *   used in {@link strftime}). ERA_D_FMT Date in alternate era format
 *   (string can be used in {@link strftime}). ERA_T_FMT Time in
 *   alternate era format (string can be used in {@link strftime}).
 *   LC_MONETARY Category Constants INT_CURR_SYMBOL International
 *   currency symbol. CURRENCY_SYMBOL Local currency symbol. CRNCYSTR
 *   Same value as CURRENCY_SYMBOL. MON_DECIMAL_POINT Decimal point
 *   character. MON_THOUSANDS_SEP Thousands separator (groups of three
 *   digits). MON_GROUPING Like "grouping" element. POSITIVE_SIGN Sign
 *   for positive values. NEGATIVE_SIGN Sign for negative values.
 *   INT_FRAC_DIGITS International fractional digits. FRAC_DIGITS Local
 *   fractional digits. P_CS_PRECEDES Returns 1 if CURRENCY_SYMBOL
 *   precedes a positive value. P_SEP_BY_SPACE Returns 1 if a space
 *   separates CURRENCY_SYMBOL from a positive value. N_CS_PRECEDES
 *   Returns 1 if CURRENCY_SYMBOL precedes a negative value.
 *   N_SEP_BY_SPACE Returns 1 if a space separates CURRENCY_SYMBOL from a
 *   negative value. P_SIGN_POSN Returns 0 if parentheses surround the
 *   quantity and CURRENCY_SYMBOL. Returns 1 if the sign string precedes
 *   the quantity and CURRENCY_SYMBOL. Returns 2 if the sign string
 *   follows the quantity and CURRENCY_SYMBOL. Returns 3 if the sign
 *   string immediately precedes the CURRENCY_SYMBOL. Returns 4 if the
 *   sign string immediately follows the CURRENCY_SYMBOL. N_SIGN_POSN
 *   LC_NUMERIC Category Constants DECIMAL_POINT Decimal point character.
 *   RADIXCHAR Same value as DECIMAL_POINT. THOUSANDS_SEP Separator
 *   character for thousands (groups of three digits). THOUSEP Same value
 *   as THOUSANDS_SEP. GROUPING LC_MESSAGES Category Constants YESEXPR
 *   Regex string for matching "yes" input. NOEXPR Regex string for
 *   matching "no" input. YESSTR Output string for "yes". NOSTR Output
 *   string for "no". LC_CTYPE Category Constants CODESET Return a string
 *   with the name of the character encoding.
 * @return string Returns the element as a string, or FALSE if {@link
 *   item} is not valid.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function nl_langinfo($item){}

/**
 * Gets the Decomposition_Mapping property for the given UTF-8 encoded
 * code point
 *
 * Gets the Decomposition_Mapping property, as specified in the Unicode
 * Character Database (UCD), for the given UTF-8 encoded code point.
 *
 * @param string $input The input string, which should be a single,
 *   UTF-8 encoded, code point.
 * @return string Returns a string containing the Decomposition_Mapping
 *   property, if present in the UCD.
 **/
function normalizer_get_raw_decomposition($input){}

/**
 * Checks if the provided string is already in the specified
 * normalization form
 *
 * Checks if the provided string is already in the specified
 * normalization form.
 *
 * @param string $input The input string to normalize
 * @param int $form One of the normalization forms.
 * @return bool TRUE if normalized, FALSE otherwise or if there an
 *   error
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function normalizer_is_normalized($input, $form){}

/**
 * Normalizes the input provided and returns the normalized string
 *
 * Normalizes the input provided and returns the normalized string
 *
 * @param string $input The input string to normalize
 * @param int $form One of the normalization forms.
 * @return string The normalized string or FALSE if an error occurred.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function normalizer_normalize($input, $form){}

/**
 * Fetch all HTTP request headers
 *
 * {@link nsapi_request_headers} gets all the HTTP headers in the current
 * request. This is only supported when PHP runs as a NSAPI module.
 *
 * @return array Returns an associative array with all the HTTP
 *   headers.
 * @since PHP 4 >= 4.3.3, PHP 5, PHP 7
 **/
function nsapi_request_headers(){}

/**
 * Fetch all HTTP response headers
 *
 * Gets all the NSAPI response headers.
 *
 * @return array Returns an associative array with all the NSAPI
 *   response headers.
 * @since PHP 4 >= 4.3.3, PHP 5, PHP 7
 **/
function nsapi_response_headers(){}

/**
 * Perform an NSAPI sub-request
 *
 * {@link nsapi_virtual} is an NSAPI-specific function which is
 * equivalent to <!--#include virtual...--> in SSI (.shtml files). It
 * does an NSAPI sub-request. It is useful for including CGI scripts or
 * .shtml files, or anything else that you'd parse through webserver.
 *
 * To run the sub-request, all buffers are terminated and flushed to the
 * browser, pending headers are sent too.
 *
 * You cannot make recursive requests with this function to other PHP
 * scripts. If you want to include PHP scripts, use {@link include} or
 * {@link require}.
 *
 * @param string $uri The URI of the script.
 * @return bool
 * @since PHP 4 >= 4.3.3, PHP 5, PHP 7
 **/
function nsapi_virtual($uri){}

/**
 * Format a number with grouped thousands
 *
 * This function accepts either one, two, or four parameters (not three):
 *
 * If only one parameter is given, {@link number} will be formatted
 * without decimals, but with a comma (",") between every group of
 * thousands.
 *
 * If two parameters are given, {@link number} will be formatted with
 * {@link decimals} decimals with a dot (".") in front, and a comma (",")
 * between every group of thousands.
 *
 * If all four parameters are given, {@link number} will be formatted
 * with {@link decimals} decimals, {@link dec_point} instead of a dot
 * (".") before the decimals and {@link thousands_sep} instead of a comma
 * (",") between every group of thousands.
 *
 * @param float $number The number being formatted.
 * @param int $decimals Sets the number of decimal points.
 * @return string A formatted version of {@link number}.
 * @since PHP 4, PHP 5, PHP 7
 **/
function number_format($number, $decimals){}

/**
 * Create a number formatter
 *
 * (method)
 *
 * (constructor):
 *
 * Creates a number formatter.
 *
 * @param string $locale Locale in which the number would be formatted
 *   (locale name, e.g. en_CA).
 * @param int $style Style of the formatting, one of the format style
 *   constants. If NumberFormatter::PATTERN_DECIMAL or
 *   NumberFormatter::PATTERN_RULEBASED is passed then the number format
 *   is opened using the given pattern, which must conform to the syntax
 *   described in ICU DecimalFormat documentation or ICU
 *   RuleBasedNumberFormat documentation, respectively.
 * @param string $pattern Pattern string if the chosen style requires a
 *   pattern.
 * @return NumberFormatter Returns NumberFormatter object or FALSE on
 *   error.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function numfmt_create($locale, $style, $pattern){}

/**
 * Format a number
 *
 * Format a numeric value according to the formatter rules.
 *
 * @param NumberFormatter $fmt NumberFormatter object.
 * @param number $value The value to format. Can be integer or float,
 *   other values will be converted to a numeric value.
 * @param int $type The formatting type to use.
 * @return string Returns the string containing formatted value, or
 *   FALSE on error.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function numfmt_format($fmt, $value, $type){}

/**
 * Format a currency value
 *
 * Format the currency value according to the formatter rules.
 *
 * @param NumberFormatter $fmt NumberFormatter object.
 * @param float $value The numeric currency value.
 * @param string $currency The 3-letter ISO 4217 currency code
 *   indicating the currency to use.
 * @return string String representing the formatted currency value.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function numfmt_format_currency($fmt, $value, $currency){}

/**
 * Get an attribute
 *
 * Get a numeric attribute associated with the formatter. An example of a
 * numeric attribute is the number of integer digits the formatter will
 * produce.
 *
 * @param NumberFormatter $fmt NumberFormatter object.
 * @param int $attr Attribute specifier - one of the numeric attribute
 *   constants.
 * @return int Return attribute value on success, or FALSE on error.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function numfmt_get_attribute($fmt, $attr){}

/**
 * Get formatter's last error code
 *
 * Get error code from the last function performed by the formatter.
 *
 * @param NumberFormatter $fmt NumberFormatter object.
 * @return int Returns error code from last formatter call.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function numfmt_get_error_code($fmt){}

/**
 * Get formatter's last error message
 *
 * Get error message from the last function performed by the formatter.
 *
 * @param NumberFormatter $fmt NumberFormatter object.
 * @return string Returns error message from last formatter call.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function numfmt_get_error_message($fmt){}

/**
 * Get formatter locale
 *
 * Get formatter locale name.
 *
 * @param NumberFormatter $fmt NumberFormatter object.
 * @param int $type You can choose between valid and actual locale (
 *   Locale::VALID_LOCALE, Locale::ACTUAL_LOCALE, respectively). The
 *   default is the actual locale.
 * @return string The locale name used to create the formatter.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function numfmt_get_locale($fmt, $type){}

/**
 * Get formatter pattern
 *
 * Extract pattern used by the formatter.
 *
 * @param NumberFormatter $fmt NumberFormatter object.
 * @return string Pattern string that is used by the formatter, or
 *   FALSE if an error happens.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function numfmt_get_pattern($fmt){}

/**
 * Get a symbol value
 *
 * Get a symbol associated with the formatter. The formatter uses symbols
 * to represent the special locale-dependent characters in a number, for
 * example the percent sign. This API is not supported for rule-based
 * formatters.
 *
 * @param NumberFormatter $fmt NumberFormatter object.
 * @param int $attr Symbol specifier, one of the format symbol
 *   constants.
 * @return string The symbol string or FALSE on error.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function numfmt_get_symbol($fmt, $attr){}

/**
 * Get a text attribute
 *
 * Get a text attribute associated with the formatter. An example of a
 * text attribute is the suffix for positive numbers. If the formatter
 * does not understand the attribute, U_UNSUPPORTED_ERROR error is
 * produced. Rule-based formatters only understand
 * NumberFormatter::DEFAULT_RULESET and NumberFormatter::PUBLIC_RULESETS.
 *
 * @param NumberFormatter $fmt NumberFormatter object.
 * @param int $attr Attribute specifier - one of the text attribute
 *   constants.
 * @return string Return attribute value on success, or FALSE on error.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function numfmt_get_text_attribute($fmt, $attr){}

/**
 * Parse a number
 *
 * Parse a string into a number using the current formatter rules.
 *
 * @param NumberFormatter $fmt NumberFormatter object.
 * @param string $value The formatting type to use. By default,
 *   NumberFormatter::TYPE_DOUBLE is used.
 * @param int $type Offset in the string at which to begin parsing. On
 *   return, this value will hold the offset at which parsing ended.
 * @param int $position
 * @return mixed The value of the parsed number or FALSE on error.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function numfmt_parse($fmt, $value, $type, &$position){}

/**
 * Parse a currency number
 *
 * Parse a string into a double and a currency using the current
 * formatter.
 *
 * @param NumberFormatter $fmt NumberFormatter object.
 * @param string $value Parameter to receive the currency name
 *   (3-letter ISO 4217 currency code).
 * @param string $currency Offset in the string at which to begin
 *   parsing. On return, this value will hold the offset at which parsing
 *   ended.
 * @param int $position
 * @return float The parsed numeric value or FALSE on error.
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function numfmt_parse_currency($fmt, $value, &$currency, &$position){}

/**
 * Set an attribute
 *
 * Set a numeric attribute associated with the formatter. An example of a
 * numeric attribute is the number of integer digits the formatter will
 * produce.
 *
 * @param NumberFormatter $fmt NumberFormatter object.
 * @param int $attr Attribute specifier - one of the numeric attribute
 *   constants.
 * @param int $value The attribute value.
 * @return bool
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function numfmt_set_attribute($fmt, $attr, $value){}

/**
 * Set formatter pattern
 *
 * Set the pattern used by the formatter. Can not be used on a rule-based
 * formatter.
 *
 * @param NumberFormatter $fmt NumberFormatter object.
 * @param string $pattern Pattern in syntax described in ICU
 *   DecimalFormat documentation.
 * @return bool
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function numfmt_set_pattern($fmt, $pattern){}

/**
 * Set a symbol value
 *
 * Set a symbol associated with the formatter. The formatter uses symbols
 * to represent the special locale-dependent characters in a number, for
 * example the percent sign. This API is not supported for rule-based
 * formatters.
 *
 * @param NumberFormatter $fmt NumberFormatter object.
 * @param int $attr Symbol specifier, one of the format symbol
 *   constants.
 * @param string $value Text for the symbol.
 * @return bool
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function numfmt_set_symbol($fmt, $attr, $value){}

/**
 * Set a text attribute
 *
 * Set a text attribute associated with the formatter. An example of a
 * text attribute is the suffix for positive numbers. If the formatter
 * does not understand the attribute, U_UNSUPPORTED_ERROR error is
 * produced. Rule-based formatters only understand
 * NumberFormatter::DEFAULT_RULESET and NumberFormatter::PUBLIC_RULESETS.
 *
 * @param NumberFormatter $fmt NumberFormatter object.
 * @param int $attr Attribute specifier - one of the text attribute
 *   constants.
 * @param string $value Text for the attribute value.
 * @return bool
 * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
 **/
function numfmt_set_text_attribute($fmt, $attr, $value){}

/**
 * Generate a Signature Base String
 *
 * Generates a Signature Base String according to pecl/oauth.
 *
 * @param string $http_method The HTTP method.
 * @param string $uri URI to encode.
 * @param array $request_parameters Array of request parameters.
 * @return string Returns a Signature Base String.
 * @since PECL OAuth >=0.99.7
 **/
function oauth_get_sbs($http_method, $uri, $request_parameters){}

/**
 * Encode a URI to RFC 3986
 *
 * Encodes a URI to RFC 3986.
 *
 * @param string $uri URI to encode.
 * @return string Returns an RFC 3986 encoded string.
 * @since PECL OAuth >=0.99.2
 **/
function oauth_urlencode($uri){}

/**
 * Clean (erase) the output buffer
 *
 * This function discards the contents of the output buffer.
 *
 * This function does not destroy the output buffer like {@link
 * ob_end_clean} does.
 *
 * The output buffer must be started by {@link ob_start} with
 * PHP_OUTPUT_HANDLER_CLEANABLE flag. Otherwise {@link ob_clean} will not
 * work.
 *
 * @return void
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function ob_clean(){}

/**
 * Clean (erase) the output buffer and turn off output buffering
 *
 * This function discards the contents of the topmost output buffer and
 * turns off this output buffering. If you want to further process the
 * buffer's contents you have to call {@link ob_get_contents} before
 * {@link ob_end_clean} as the buffer contents are discarded when {@link
 * ob_end_clean} is called.
 *
 * The output buffer must be started by {@link ob_start} with
 * PHP_OUTPUT_HANDLER_CLEANABLE and PHP_OUTPUT_HANDLER_REMOVABLE flags.
 * Otherwise {@link ob_end_clean} will not work.
 *
 * @return bool Reasons for failure are first that you called the
 *   function without an active buffer or that for some reason a buffer
 *   could not be deleted (possible for special buffer).
 * @since PHP 4, PHP 5, PHP 7
 **/
function ob_end_clean(){}

/**
 * Flush (send) the output buffer and turn off output buffering
 *
 * This function will send the contents of the topmost output buffer (if
 * any) and turn this output buffer off. If you want to further process
 * the buffer's contents you have to call {@link ob_get_contents} before
 * {@link ob_end_flush} as the buffer contents are discarded after {@link
 * ob_end_flush} is called.
 *
 * The output buffer must be started by {@link ob_start} with
 * PHP_OUTPUT_HANDLER_FLUSHABLE and PHP_OUTPUT_HANDLER_REMOVABLE flags.
 * Otherwise {@link ob_end_flush} will not work.
 *
 * @return bool Reasons for failure are first that you called the
 *   function without an active buffer or that for some reason a buffer
 *   could not be deleted (possible for special buffer).
 * @since PHP 4, PHP 5, PHP 7
 **/
function ob_end_flush(){}

/**
 * Flush (send) the output buffer
 *
 * This function will send the contents of the output buffer (if any). If
 * you want to further process the buffer's contents you have to call
 * {@link ob_get_contents} before {@link ob_flush} as the buffer contents
 * are discarded after {@link ob_flush} is called.
 *
 * This function does not destroy the output buffer like {@link
 * ob_end_flush} does.
 *
 * @return void
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function ob_flush(){}

/**
 * Get current buffer contents and delete current output buffer
 *
 * Gets the current buffer contents and delete current output buffer.
 *
 * {@link ob_get_clean} essentially executes both {@link ob_get_contents}
 * and {@link ob_end_clean}.
 *
 * The output buffer must be started by {@link ob_start} with
 * PHP_OUTPUT_HANDLER_CLEANABLE flag. Otherwise {@link ob_get_clean} will
 * not work.
 *
 * @return string Returns the contents of the output buffer and end
 *   output buffering. If output buffering isn't active then FALSE is
 *   returned.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function ob_get_clean(){}

/**
 * Return the contents of the output buffer
 *
 * Gets the contents of the output buffer without clearing it.
 *
 * @return string This will return the contents of the output buffer or
 *   FALSE, if output buffering isn't active.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ob_get_contents(){}

/**
 * Flush the output buffer, return it as a string and turn off output
 * buffering
 *
 * {@link ob_get_flush} flushes the output buffer, return it as a string
 * and turns off output buffering.
 *
 * The output buffer must be started by {@link ob_start} with
 * PHP_OUTPUT_HANDLER_FLUSHABLE flag. Otherwise {@link ob_get_flush} will
 * not work.
 *
 * @return string Returns the output buffer or FALSE if no buffering is
 *   active.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function ob_get_flush(){}

/**
 * Return the length of the output buffer
 *
 * This will return the length of the contents in the output buffer, in
 * bytes.
 *
 * @return int Returns the length of the output buffer contents, in
 *   bytes, or FALSE if no buffering is active.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function ob_get_length(){}

/**
 * Return the nesting level of the output buffering mechanism
 *
 * Returns the nesting level of the output buffering mechanism.
 *
 * @return int Returns the level of nested output buffering handlers or
 *   zero if output buffering is not active.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function ob_get_level(){}

/**
 * Get status of output buffers
 *
 * {@link ob_get_status} returns status information on either the top
 * level output buffer or all active output buffer levels if {@link
 * full_status} is set to TRUE.
 *
 * @param bool $full_status TRUE to return all active output buffer
 *   levels. If FALSE or not set, only the top level output buffer is
 *   returned.
 * @return array If called without the {@link full_status} parameter or
 *   with {@link full_status} = FALSE a simple array with the following
 *   elements is returned:
 *   
 *   Array ( [level] => 2 [type] => 0 [status] => 0 [name] =>
 *   URL-Rewriter [del] => 1 )
 *   
 *   Simple {@link ob_get_status} results KeyValue levelOutput nesting
 *   level typePHP_OUTPUT_HANDLER_INTERNAL (0) or PHP_OUTPUT_HANDLER_USER
 *   (1) statusOne of PHP_OUTPUT_HANDLER_START (0),
 *   PHP_OUTPUT_HANDLER_CONT (1) or PHP_OUTPUT_HANDLER_END (2) nameName
 *   of active output handler or ' default output handler' if none is set
 *   delErase-flag as set by {@link ob_start}
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function ob_get_status($full_status){}

/**
 * ob_start callback function to gzip output buffer
 *
 * {@link ob_gzhandler} is intended to be used as a callback function for
 * {@link ob_start} to help facilitate sending gz-encoded data to web
 * browsers that support compressed web pages. Before {@link
 * ob_gzhandler} actually sends compressed data, it determines what type
 * of content encoding the browser will accept ("gzip", "deflate" or none
 * at all) and will return its output accordingly. All browsers are
 * supported since it's up to the browser to send the correct header
 * saying that it accepts compressed web pages. If a browser doesn't
 * support compressed pages this function returns FALSE.
 *
 * @param string $buffer
 * @param int $mode
 * @return string
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function ob_gzhandler($buffer, $mode){}

/**
 * Convert character encoding as output buffer handler
 *
 * Converts the string encoded in {@link internal_encoding} to {@link
 * output_encoding}.
 *
 * {@link internal_encoding} and {@link output_encoding} should be
 * defined in the file or in {@link iconv_set_encoding}.
 *
 * @param string $contents
 * @param int $status
 * @return string See {@link ob_start} for information about this
 *   handler return values.
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7
 **/
function ob_iconv_handler($contents, $status){}

/**
 * Turn implicit flush on/off
 *
 * {@link ob_implicit_flush} will turn implicit flushing on or off.
 * Implicit flushing will result in a flush operation after every output
 * call, so that explicit calls to {@link flush} will no longer be
 * needed.
 *
 * @param int $flag 1 to turn implicit flushing on, 0 otherwise.
 * @return void
 * @since PHP 4, PHP 5, PHP 7
 **/
function ob_implicit_flush($flag){}

/**
 * List all output handlers in use
 *
 * Lists all output handlers in use.
 *
 * @return array This will return an array with the output handlers in
 *   use (if any). If output_buffering is enabled or an anonymous
 *   function was used with {@link ob_start}, {@link ob_list_handlers}
 *   will return "default output handler".
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function ob_list_handlers(){}

/**
 * Turn on output buffering
 *
 * This function will turn output buffering on. While output buffering is
 * active no output is sent from the script (other than headers), instead
 * the output is stored in an internal buffer.
 *
 * The contents of this internal buffer may be copied into a string
 * variable using {@link ob_get_contents}. To output what is stored in
 * the internal buffer, use {@link ob_end_flush}. Alternatively, {@link
 * ob_end_clean} will silently discard the buffer contents.
 *
 * Output buffers are stackable, that is, you may call {@link ob_start}
 * while another {@link ob_start} is active. Just make sure that you call
 * {@link ob_end_flush} the appropriate number of times. If multiple
 * output callback functions are active, output is being filtered
 * sequentially through each of them in nesting order.
 *
 * @param callable $output_callback An optional {@link output_callback}
 *   function may be specified. This function takes a string as a
 *   parameter and should return a string. The function will be called
 *   when the output buffer is flushed (sent) or cleaned (with {@link
 *   ob_flush}, {@link ob_clean} or similar function) or when the output
 *   buffer is flushed to the browser at the end of the request. When
 *   {@link output_callback} is called, it will receive the contents of
 *   the output buffer as its parameter and is expected to return a new
 *   output buffer as a result, which will be sent to the browser. If the
 *   {@link output_callback} is not a callable function, this function
 *   will return FALSE. This is the callback signature:
 *   
 *   stringhandler string{@link buffer} int{@link phase} {@link buffer}
 *   Contents of the output buffer. {@link phase} Bitmask of
 *   PHP_OUTPUT_HANDLER_* constants. If {@link output_callback} returns
 *   FALSE original input is sent to the browser. The {@link
 *   output_callback} parameter may be bypassed by passing a NULL value.
 *   {@link ob_end_clean}, {@link ob_end_flush}, {@link ob_clean}, {@link
 *   ob_flush} and {@link ob_start} may not be called from a callback
 *   function. If you call them from callback function, the behavior is
 *   undefined. If you would like to delete the contents of a buffer,
 *   return "" (a null string) from callback function. You can't even
 *   call functions using the output buffering functions like
 *   print_r($expression, true) or highlight_file($filename, true) from a
 *   callback function.
 * @param int $chunk_size
 * @param int $flags
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function ob_start($output_callback, $chunk_size, $flags){}

/**
 * ob_start callback function to repair the buffer
 *
 * Callback function for {@link ob_start} to repair the buffer.
 *
 * @param string $input The buffer.
 * @param int $mode The buffer mode.
 * @return string Returns the modified buffer.
 * @since PHP 5, PHP 7
 **/
function ob_tidyhandler($input, $mode){}

/**
 * Binds a PHP array to an Oracle PL/SQL array parameter
 *
 * Binds the PHP array {@link var_array} to the Oracle placeholder {@link
 * name}, which points to an Oracle PL/SQL array. Whether it will be used
 * for input or output will be determined at run-time.
 *
 * @param resource $statement A valid OCI statement identifier.
 * @param string $name The Oracle placeholder.
 * @param array $var_array An array.
 * @param int $max_table_length Sets the maximum length both for
 *   incoming and result arrays.
 * @param int $max_item_length Sets maximum length for array items. If
 *   not specified or equals to -1, {@link oci_bind_array_by_name} will
 *   find the longest element in the incoming array and will use it as
 *   the maximum length.
 * @param int $type Should be used to set the type of PL/SQL array
 *   items. See list of available types below:
 *   
 *   SQLT_NUM - for arrays of NUMBER. SQLT_INT - for arrays of INTEGER
 *   (Note: INTEGER it is actually a synonym for NUMBER(38), but SQLT_NUM
 *   type won't work in this case even though they are synonyms).
 *   SQLT_FLT - for arrays of FLOAT. SQLT_AFC - for arrays of CHAR.
 *   SQLT_CHR - for arrays of VARCHAR2. SQLT_VCS - for arrays of VARCHAR.
 *   SQLT_AVC - for arrays of CHARZ. SQLT_STR - for arrays of STRING.
 *   SQLT_LVC - for arrays of LONG VARCHAR. SQLT_ODT - for arrays of
 *   DATE.
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL OCI8 >= 1.2.0
 **/
function oci_bind_array_by_name($statement, $name, &$var_array, $max_table_length, $max_item_length, $type){}

/**
 * Binds a PHP variable to an Oracle placeholder
 *
 * Binds a PHP variable {@link variable} to the Oracle bind variable
 * placeholder {@link bv_name}. Binding is important for Oracle database
 * performance and also as a way to avoid SQL Injection security issues.
 *
 * Binding allows the database to reuse the statement context and caches
 * from previous executions of the statement, even if another user or
 * process originally executed it. Binding reduces SQL Injection concerns
 * because the data associated with a bind variable is never treated as
 * part of the SQL statement. It does not need quoting or escaping.
 *
 * PHP variables that have been bound can be changed and the statement
 * re-executed without needing to re-parse the statement or re-bind.
 *
 * In Oracle, bind variables are commonly divided into IN binds for
 * values that are passed into the database, and OUT binds for values
 * that are returned to PHP. A bind variable may be both IN and OUT.
 * Whether a bind variable will be used for input or output is determined
 * at run-time.
 *
 * You must specify {@link maxlength} when using an OUT bind so that PHP
 * allocates enough memory to hold the returned value.
 *
 * For IN binds it is recommended to set the {@link maxlength} length if
 * the statement is re-executed multiple times with different values for
 * the PHP variable. Otherwise Oracle may truncate data to the length of
 * the initial PHP variable value. If you don't know what the maximum
 * length will be, then re-call {@link oci_bind_by_name} with the current
 * data size prior to each {@link oci_execute} call. Binding an
 * unnecessarily large length will have an impact on process memory in
 * the database.
 *
 * A bind call tells Oracle which memory address to read data from. For
 * IN binds that address needs to contain valid data when {@link
 * oci_execute} is called. This means that the variable bound must remain
 * in scope until execution. If it doesn't, unexpected results or errors
 * such as "ORA-01460: unimplemented or unreasonable conversion
 * requested" may occur. For OUT binds one symptom is no value being set
 * in the PHP variable.
 *
 * For a statement that is repeatedly executed, binding values that never
 * change may reduce the ability of the Oracle optimizer to choose the
 * best statement execution plan. Long running statements that are rarely
 * re-executed may not benefit from binding. However in both cases,
 * binding might be safer than joining strings into a SQL statement, as
 * this can be a security risk if unfiltered user text is concatenated.
 *
 * @param resource $statement A valid OCI8 statement identifer.
 * @param string $bv_name The colon-prefixed bind variable placeholder
 *   used in the statement. The colon is optional in {@link bv_name}.
 *   Oracle does not use question marks for placeholders.
 * @param mixed $variable The PHP variable to be associated with {@link
 *   bv_name}
 * @param int $maxlength Sets the maximum length for the data. If you
 *   set it to -1, this function will use the current length of {@link
 *   variable} to set the maximum length. In this case the {@link
 *   variable} must exist and contain data when {@link oci_bind_by_name}
 *   is called.
 * @param int $type The datatype that Oracle will treat the data as.
 *   The default {@link type} used is SQLT_CHR. Oracle will convert the
 *   data between this type and the database column (or PL/SQL variable
 *   type), when possible. If you need to bind an abstract datatype
 *   (LOB/ROWID/BFILE) you need to allocate it first using the {@link
 *   oci_new_descriptor} function. The {@link length} is not used for
 *   abstract datatypes and should be set to -1. Possible values for
 *   {@link type} are: SQLT_BFILEE or OCI_B_BFILE - for BFILEs;
 *   SQLT_CFILEE or OCI_B_CFILEE - for CFILEs; SQLT_CLOB or OCI_B_CLOB -
 *   for CLOBs; SQLT_BLOB or OCI_B_BLOB - for BLOBs; SQLT_RDD or
 *   OCI_B_ROWID - for ROWIDs; SQLT_NTY or OCI_B_NTY - for named
 *   datatypes; SQLT_INT or OCI_B_INT - for integers; SQLT_CHR - for
 *   VARCHARs; SQLT_BIN or OCI_B_BIN - for RAW columns; SQLT_LNG - for
 *   LONG columns; SQLT_LBI - for LONG RAW columns; SQLT_RSET - for
 *   cursors created with {@link oci_new_cursor}; SQLT_BOL or OCI_B_BOL -
 *   for PL/SQL BOOLEANs (Requires OCI8 2.0.7 and Oracle Database 12c)
 * @return bool
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_bind_by_name($statement, $bv_name, &$variable, $maxlength, $type){}

/**
 * Cancels reading from cursor
 *
 * Invalidates a cursor, freeing all associated resources and cancels the
 * ability to read from it.
 *
 * @param resource $statement An OCI statement.
 * @return bool
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_cancel($statement){}

/**
 * Returns the Oracle client library version
 *
 * Returns a string containing the version number of the Oracle C client
 * library that PHP is linked with.
 *
 * @return string Returns the version number as a string.
 * @since PHP 5 >= 5.3.7, PHP 7, PECL OCI8 >= 1.4.6
 **/
function oci_client_version(){}

/**
 * Closes an Oracle connection
 *
 * Unsets {@link connection}. The underlying database connection is
 * closed if no other resources are using it and if it was created with
 * {@link oci_connect} or {@link oci_new_connect}.
 *
 * It is recommended to close connections that are no longer needed
 * because this makes database resources available for other users.
 *
 * @param resource $connection An Oracle connection identifier returned
 *   by {@link oci_connect}, {@link oci_pconnect}, or {@link
 *   oci_new_connect}.
 * @return bool
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_close($connection){}

/**
 * Commits the outstanding database transaction
 *
 * Commits the outstanding transaction for the Oracle {@link connection}.
 * A commit ends the current transaction and makes permanent all changes.
 * It releases all locks held.
 *
 * A transaction begins when the first SQL statement that changes data is
 * executed with {@link oci_execute} using the OCI_NO_AUTO_COMMIT flag.
 * Further data changes made by other statements become part of the same
 * transaction. Data changes made in a transaction are temporary until
 * the transaction is committed or rolled back. Other users of the
 * database will not see the changes until they are committed.
 *
 * When inserting or updating data, using transactions is recommended for
 * relational data consistency and for performance reasons.
 *
 * @param resource $connection An Oracle connection identifier,
 *   returned by {@link oci_connect}, {@link oci_pconnect}, or {@link
 *   oci_new_connect}.
 * @return bool
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_commit($connection){}

/**
 * Connect to an Oracle database
 *
 * Returns a connection identifier needed for most other OCI8 operations.
 *
 * See Connection Handling for general information on connection
 * management and connection pooling.
 *
 * From PHP 5.1.2 (PECL OCI8 1.1) {@link oci_close} can be used to close
 * the connection.
 *
 * The second and subsequent calls to {@link oci_connect} with the same
 * parameters will return the connection handle returned from the first
 * call. This means that transactions in one handle are also in the other
 * handles, because they use the same underlying database connection. If
 * two handles need to be transactionally isolated from each other, use
 * {@link oci_new_connect} instead.
 *
 * @param string $username The Oracle user name.
 * @param string $password The password for {@link username}.
 * @param string $connection_string
 * @param string $character_set
 * @param int $session_mode
 * @return resource Returns a connection identifier or FALSE on error.
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_connect($username, $password, $connection_string, $character_set, $session_mode){}

/**
 * Associates a PHP variable with a column for query fetches
 *
 * Associates a PHP variable with a column for query fetches using {@link
 * oci_fetch}.
 *
 * The {@link oci_define_by_name} call must occur before executing {@link
 * oci_execute}.
 *
 * @param resource $statement
 * @param string $column_name The column name used in the query. Use
 *   uppercase for Oracle's default, non-case sensitive column names. Use
 *   the exact column name case for case-sensitive column names.
 * @param mixed $variable The PHP variable that will contain the
 *   returned column value.
 * @param int $type The data type to be returned. Generally not needed.
 *   Note that Oracle-style data conversions are not performed. For
 *   example, SQLT_INT will be ignored and the returned data type will
 *   still be SQLT_CHR. You can optionally use {@link oci_new_descriptor}
 *   to allocate LOB/ROWID/BFILE descriptors.
 * @return bool
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_define_by_name($statement, $column_name, &$variable, $type){}

/**
 * Returns the last error found
 *
 * The function should be called immediately after an error occurs.
 * Errors are cleared by a successful statement.
 *
 * @param resource $resource For most errors, {@link resource} is the
 *   resource handle that was passed to the failing function call. For
 *   connection errors with {@link oci_connect}, {@link oci_new_connect}
 *   or {@link oci_pconnect} do not pass {@link resource}.
 * @return array If no error is found, {@link oci_error} returns FALSE.
 *   Otherwise, {@link oci_error} returns the error information as an
 *   associative array.
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_error($resource){}

/**
 * Executes a statement
 *
 * Executes a {@link statement} previously returned from {@link
 * oci_parse}.
 *
 * After execution, statements like INSERT will have data committed to
 * the database by default. For statements like SELECT, execution
 * performs the logic of the query. Query results can subsequently be
 * fetched in PHP with functions like {@link oci_fetch_array}.
 *
 * Each parsed statement may be executed multiple times, saving the cost
 * of re-parsing. This is commonly used for INSERT statements when data
 * is bound with {@link oci_bind_by_name}.
 *
 * @param resource $statement A valid OCI statement identifier.
 * @param int $mode An optional second parameter can be one of the
 *   following constants: Execution Modes Constant Description
 *   OCI_COMMIT_ON_SUCCESS Automatically commit all outstanding changes
 *   for this connection when the statement has succeeded. This is the
 *   default. OCI_DESCRIBE_ONLY Make query meta data available to
 *   functions like {@link oci_field_name} but do not create a result
 *   set. Any subsequent fetch call such as {@link oci_fetch_array} will
 *   fail. OCI_NO_AUTO_COMMIT Do not automatically commit changes. Prior
 *   to PHP 5.3.2 (PECL OCI8 1.4) use OCI_DEFAULT which is equivalent to
 *   OCI_NO_AUTO_COMMIT. Using OCI_NO_AUTO_COMMIT mode starts or
 *   continues a transaction. Transactions are automatically rolled back
 *   when the connection is closed, or when the script ends. Explicitly
 *   call {@link oci_commit} to commit a transaction, or {@link
 *   oci_rollback} to abort it. When inserting or updating data, using
 *   transactions is recommended for relational data consistency and for
 *   performance reasons. If OCI_NO_AUTO_COMMIT mode is used for any
 *   statement including queries, and {@link oci_commit} or {@link
 *   oci_rollback} is not subsequently called, then OCI8 will perform a
 *   rollback at the end of the script even if no data was changed. To
 *   avoid an unnecessary rollback, many scripts do not use
 *   OCI_NO_AUTO_COMMIT mode for queries or PL/SQL. Be careful to ensure
 *   the appropriate transactional consistency for the application when
 *   using {@link oci_execute} with different modes in the same script.
 * @return bool
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_execute($statement, $mode){}

/**
 * Fetches the next row from a query into internal buffers
 *
 * Fetches the next row from a query into internal buffers accessible
 * either with {@link oci_result}, or by using variables previously
 * defined with {@link oci_define_by_name}.
 *
 * See {@link oci_fetch_array} for general information about fetching
 * data.
 *
 * @param resource $statement
 * @return bool Returns TRUE on success or FALSE if there are no more
 *   rows in the {@link statement}.
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_fetch($statement){}

/**
 * Fetches multiple rows from a query into a two-dimensional array
 *
 * Fetches multiple rows from a query into a two-dimensional array. By
 * default, all rows are returned.
 *
 * This function can be called only once for each query executed with
 * {@link oci_execute}.
 *
 * @param resource $statement
 * @param array $output The variable to contain the returned rows. LOB
 *   columns are returned as strings, where Oracle supports conversion.
 *   See {@link oci_fetch_array} for more information on how data and
 *   types are fetched.
 * @param int $skip The number of initial rows to discard when fetching
 *   the result. The default value is 0, so the first row onwards is
 *   returned.
 * @param int $maxrows The number of rows to return. The default is -1
 *   meaning return all the rows from {@link skip} + 1 onwards.
 * @param int $flags Parameter {@link flags} indicates the array
 *   structure and whether associative arrays should be used. {@link
 *   oci_fetch_all} Array Structure Modes Constant Description
 *   OCI_FETCHSTATEMENT_BY_ROW The outer array will contain one sub-array
 *   per query row. OCI_FETCHSTATEMENT_BY_COLUMN The outer array will
 *   contain one sub-array per query column. This is the default. Arrays
 *   can be indexed either by column heading or numerically. Only one
 *   index mode will be returned. {@link oci_fetch_all} Array Index Modes
 *   Constant Description OCI_NUM Numeric indexes are used for each
 *   column's array. OCI_ASSOC Associative indexes are used for each
 *   column's array. This is the default. Use the addition operator + to
 *   choose a combination of array structure and index modes. Oracle's
 *   default, non-case sensitive column names will have uppercase array
 *   keys. Case-sensitive column names will have array keys using the
 *   exact column case. Use {@link var_dump} on {@link output} to verify
 *   the appropriate case to use for each query. Queries that have more
 *   than one column with the same name should use column aliases.
 *   Otherwise only one of the columns will appear in an associative
 *   array.
 * @return int Returns the number of rows in {@link output}, which may
 *   be 0 or more, .
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_fetch_all($statement, &$output, $skip, $maxrows, $flags){}

/**
 * Returns the next row from a query as an associative or numeric array
 *
 * Returns an array containing the next result-set row of a query. Each
 * array entry corresponds to a column of the row. This function is
 * typically called in a loop until it returns FALSE, indicating no more
 * rows exist.
 *
 * If {@link statement} corresponds to a PL/SQL block returning Oracle
 * Database 12c Implicit Result Sets, then rows from all sets are
 * consecutively fetched. If {@link statement} is returned by {@link
 * oci_get_implicit_resultset}, then only the subset of rows for one
 * child query are returned.
 *
 * @param resource $statement Can also be a statement identifier
 *   returned by {@link oci_get_implicit_resultset}.
 * @param int $mode An optional second parameter can be any combination
 *   of the following constants: {@link oci_fetch_array} Modes Constant
 *   Description OCI_BOTH Returns an array with both associative and
 *   numeric indices. This is the same as OCI_ASSOC + OCI_NUM and is the
 *   default behavior. OCI_ASSOC Returns an associative array. OCI_NUM
 *   Returns a numeric array. OCI_RETURN_NULLS Creates elements for NULL
 *   fields. The element values will be a PHP NULL. OCI_RETURN_LOBS
 *   Returns the contents of LOBs instead of the LOB descriptors. The
 *   default {@link mode} is OCI_BOTH. Use the addition operator + to
 *   specify more than one mode at a time.
 * @return array Returns an array with associative and/or numeric
 *   indices. If there are no more rows in the {@link statement} then
 *   FALSE is returned.
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_fetch_array($statement, $mode){}

/**
 * Returns the next row from a query as an associative array
 *
 * Returns an associative array containing the next result-set row of a
 * query. Each array entry corresponds to a column of the row. This
 * function is typically called in a loop until it returns FALSE,
 * indicating no more rows exist.
 *
 * Calling {@link oci_fetch_assoc} is identical to calling {@link
 * oci_fetch_array} with OCI_ASSOC + OCI_RETURN_NULLS.
 *
 * @param resource $statement
 * @return array Returns an associative array. If there are no more
 *   rows in the {@link statement} then FALSE is returned.
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_fetch_assoc($statement){}

/**
 * Returns the next row from a query as an object
 *
 * Returns an object containing the next result-set row of a query. Each
 * attribute of the object corresponds to a column of the row. This
 * function is typically called in a loop until it returns FALSE,
 * indicating no more rows exist.
 *
 * @param resource $statement
 * @return object Returns an object. Each attribute of the object
 *   corresponds to a column of the row. If there are no more rows in the
 *   {@link statement} then FALSE is returned.
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_fetch_object($statement){}

/**
 * Returns the next row from a query as a numeric array
 *
 * Returns a numerically indexed array containing the next result-set row
 * of a query. Each array entry corresponds to a column of the row. This
 * function is typically called in a loop until it returns FALSE,
 * indicating no more rows exist.
 *
 * Calling {@link oci_fetch_row} is identical to calling {@link
 * oci_fetch_array} with OCI_NUM + OCI_RETURN_NULLS.
 *
 * @param resource $statement
 * @return array Returns a numerically indexed array. If there are no
 *   more rows in the {@link statement} then FALSE is returned.
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_fetch_row($statement){}

/**
 * Checks if a field in the currently fetched row is NULL
 *
 * Checks if the given {@link field} from the current row of {@link
 * statement} is NULL.
 *
 * @param resource $statement A valid OCI statement identifier.
 * @param mixed $field Can be the field's index (1-based) or name.
 * @return bool Returns TRUE if {@link field} is NULL, FALSE otherwise.
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_field_is_null($statement, $field){}

/**
 * Returns the name of a field from the statement
 *
 * Returns the name of the {@link field}.
 *
 * @param resource $statement A valid OCI statement identifier.
 * @param mixed $field Can be the field's index (1-based) or name.
 * @return string Returns the name as a string, or FALSE on errors.
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_field_name($statement, $field){}

/**
 * Tell the precision of a field
 *
 * Returns precision of the {@link field}.
 *
 * For FLOAT columns, precision is nonzero and scale is -127. If
 * precision is 0, then column is NUMBER. Else it's NUMBER(precision,
 * scale).
 *
 * @param resource $statement A valid OCI statement identifier.
 * @param mixed $field Can be the field's index (1-based) or name.
 * @return int Returns the precision as an integer, or FALSE on errors.
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_field_precision($statement, $field){}

/**
 * Tell the scale of the field
 *
 * Returns the scale of the column with {@link field} index.
 *
 * For FLOAT columns, precision is nonzero and scale is -127. If
 * precision is 0, then column is NUMBER. Else it's NUMBER(precision,
 * scale).
 *
 * @param resource $statement A valid OCI statement identifier.
 * @param mixed $field Can be the field's index (1-based) or name.
 * @return int Returns the scale as an integer, or FALSE on errors.
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_field_scale($statement, $field){}

/**
 * Returns field's size
 *
 * Returns the size of a {@link field}.
 *
 * @param resource $statement A valid OCI statement identifier.
 * @param mixed $field Can be the field's index (1-based) or name.
 * @return int Returns the size of a {@link field} in bytes, or FALSE
 *   on errors.
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_field_size($statement, $field){}

/**
 * Returns a field's data type name
 *
 * @param resource $statement A valid OCI statement identifier.
 * @param mixed $field Can be the field's index (1-based) or name.
 * @return mixed Returns the field data type as a string, or FALSE on
 *   errors.
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_field_type($statement, $field){}

/**
 * Tell the raw Oracle data type of the field
 *
 * Returns Oracle's raw "SQLT" data type of the {@link field}.
 *
 * If you want a field's type name, then use {@link oci_field_type}
 * instead.
 *
 * @param resource $statement A valid OCI statement identifier.
 * @param mixed $field Can be the field's index (1-based) or name.
 * @return int Returns Oracle's raw data type as a number, or FALSE on
 *   errors.
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_field_type_raw($statement, $field){}

/**
 * Frees a descriptor
 *
 * Frees a descriptor allocated by {@link oci_new_descriptor}.
 *
 * @param resource $descriptor
 * @return bool
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_free_descriptor($descriptor){}

/**
 * Frees all resources associated with statement or cursor
 *
 * Frees resources associated with Oracle's cursor or statement, which
 * was received from as a result of {@link oci_parse} or obtained from
 * Oracle.
 *
 * @param resource $statement A valid OCI statement identifier.
 * @return bool
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_free_statement($statement){}

/**
 * Returns the next child statement resource from a parent statement
 * resource that has Oracle Database 12c Implicit Result Sets
 *
 * Used to fetch consectutive sets of query results after the execution
 * of a stored or anonymous Oracle PL/SQL block where that block returns
 * query results with Oracle's DBMS_SQL.RETURN_RESULT PL/SQL function.
 * This allows PL/SQL blocks to easily return query results.
 *
 * The child statement can be used with any of the OCI8 fetching
 * functions: {@link oci_fetch}, {@link oci_fetch_all}, {@link
 * oci_fetch_array}, {@link oci_fetch_object}, {@link oci_fetch_assoc} or
 * {@link oci_fetch_row}
 *
 * Child statements inherit their parent statement's prefetch value, or
 * it can be explicitly set with {@link oci_set_prefetch}.
 *
 * @param resource $statement A valid OCI8 statement identifier created
 *   by {@link oci_parse} and executed by {@link oci_execute}. The
 *   statement identifier may or may not be associated with a SQL
 *   statement that returns Implicit Result Sets.
 * @return resource Returns a statement handle for the next child
 *   statement available on {@link statement}. Returns FALSE when child
 *   statements do not exist, or all child statements have been returned
 *   by previous calls to {@link oci_get_implicit_resultset}.
 * @since PHP 5 >= 5.6.0, PHP 7, PECL OCI8 >= 2.0.0
 **/
function oci_get_implicit_resultset($statement){}

/**
 * Enables or disables internal debug output
 *
 * @param bool $onoff Set this to FALSE to turn debug output off or
 *   TRUE to turn it on.
 * @return void
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_internal_debug($onoff){}

/**
 * Copies large object
 *
 * Copies a large object or a part of a large object to another large
 * object. Old LOB-recipient data will be overwritten.
 *
 * If you need to copy a particular part of a LOB to a particular
 * position of a LOB, use {@link OCI-Lob::seek} to move LOB internal
 * pointers.
 *
 * @param OCI-Lob $lob_to The destination LOB.
 * @param OCI-Lob $lob_from The copied LOB.
 * @param int $length Indicates the length of data to be copied.
 * @return bool
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_lob_copy($lob_to, $lob_from, $length){}

/**
 * Compares two LOB/FILE locators for equality
 *
 * Compares two LOB/FILE locators.
 *
 * @param OCI-Lob $lob1 A LOB identifier.
 * @param OCI-Lob $lob2 A LOB identifier.
 * @return bool Returns TRUE if these objects are equal, FALSE
 *   otherwise.
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_lob_is_equal($lob1, $lob2){}

/**
 * Allocates new collection object
 *
 * Allocates a new collection object.
 *
 * @param resource $connection An Oracle connection identifier,
 *   returned by {@link oci_connect} or {@link oci_pconnect}.
 * @param string $tdo Should be a valid named type (uppercase).
 * @param string $schema Should point to the scheme, where the named
 *   type was created. The name of the current user is the default value.
 * @return OCI-Collection Returns a new OCICollection object or FALSE
 *   on error.
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_new_collection($connection, $tdo, $schema){}

/**
 * Connect to the Oracle server using a unique connection
 *
 * Establishes a new connection to an Oracle server and logs on.
 *
 * Unlike {@link oci_connect} and {@link oci_pconnect}, {@link
 * oci_new_connect} does not cache connections and will always return a
 * brand-new freshly opened connection handle. This is useful if your
 * application needs transactional isolation between two sets of queries.
 *
 * @param string $username The Oracle user name.
 * @param string $password The password for {@link username}.
 * @param string $connection_string
 * @param string $character_set
 * @param int $session_mode
 * @return resource Returns a connection identifier or FALSE on error.
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_new_connect($username, $password, $connection_string, $character_set, $session_mode){}

/**
 * Allocates and returns a new cursor (statement handle)
 *
 * Allocates a new statement handle on the specified connection.
 *
 * @param resource $connection An Oracle connection identifier,
 *   returned by {@link oci_connect} or {@link oci_pconnect}.
 * @return resource Returns a new statement handle, or FALSE on error.
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_new_cursor($connection){}

/**
 * Initializes a new empty LOB or FILE descriptor
 *
 * Allocates resources to hold descriptor or LOB locator.
 *
 * @param resource $connection An Oracle connection identifier,
 *   returned by {@link oci_connect} or {@link oci_pconnect}.
 * @param int $type Valid values for {@link type} are: OCI_DTYPE_FILE,
 *   OCI_DTYPE_LOB and OCI_DTYPE_ROWID.
 * @return OCI-Lob Returns a new LOB or FILE descriptor on success,
 *   FALSE on error.
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_new_descriptor($connection, $type){}

/**
 * Returns the number of result columns in a statement
 *
 * Gets the number of columns in the given {@link statement}.
 *
 * @param resource $statement A valid OCI statement identifier.
 * @return int Returns the number of columns as an integer, or FALSE on
 *   errors.
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_num_fields($statement){}

/**
 * Returns number of rows affected during statement execution
 *
 * Gets the number of rows affected during statement execution.
 *
 * @param resource $statement A valid OCI statement identifier.
 * @return int Returns the number of rows affected as an integer, or
 *   FALSE on errors.
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_num_rows($statement){}

/**
 * Prepares an Oracle statement for execution
 *
 * Prepares {@link sql_text} using {@link connection} and returns the
 * statement identifier, which can be used with {@link oci_bind_by_name},
 * {@link oci_execute} and other functions.
 *
 * Statement identifiers can be freed with {@link oci_free_statement} or
 * by setting the variable to NULL.
 *
 * @param resource $connection An Oracle connection identifier,
 *   returned by {@link oci_connect}, {@link oci_pconnect}, or {@link
 *   oci_new_connect}.
 * @param string $sql_text The SQL or PL/SQL statement. SQL statements
 *   should not end with a semi-colon (;). PL/SQL statements should end
 *   with a semi-colon (;).
 * @return resource Returns a statement handle on success, or FALSE on
 *   error.
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_parse($connection, $sql_text){}

/**
 * Changes password of Oracle's user
 *
 * Changes password for user with {@link username}.
 *
 * The {@link oci_password_change} function is most useful for PHP
 * command-line scripts, or when non-persistent connections are used
 * throughout the PHP application.
 *
 * @param resource $connection An Oracle connection identifier,
 *   returned by {@link oci_connect} or {@link oci_pconnect}.
 * @param string $username The Oracle user name.
 * @param string $old_password The old password.
 * @param string $new_password The new password to be set.
 * @return bool
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_password_change($connection, $username, $old_password, $new_password){}

/**
 * Connect to an Oracle database using a persistent connection
 *
 * Creates a persistent connection to an Oracle server and logs on.
 *
 * Persistent connections are cached and re-used between requests,
 * resulting in reduced overhead on each page load; a typical PHP
 * application will have a single persistent connection open against an
 * Oracle server per Apache child process (or PHP FastCGI/CGI process).
 * See the Persistent Database Connections section for more information.
 *
 * @param string $username The Oracle user name.
 * @param string $password The password for {@link username}.
 * @param string $connection_string
 * @param string $character_set
 * @param int $session_mode
 * @return resource Returns a connection identifier or FALSE on error.
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_pconnect($username, $password, $connection_string, $character_set, $session_mode){}

/**
 * Register a user-defined callback function for Oracle Database TAF
 *
 * Registers a user-defined callback function to {@link connection}. If
 * {@link connection} fails due to instance or network failure, the
 * registered callback function will be invoked for several times during
 * failover. See OCI8 Transparent Application Failover (TAF) Support for
 * information.
 *
 * When {@link oci_register_taf_callback} is called multiple times, each
 * registration overwrites the previous one.
 *
 * Use {@link oci_unregister_taf_callback} to explicitly unregister a
 * user-defined callback.
 *
 * TAF callback registration will NOT be saved across persistent
 * connections, therefore the callback needs to be re-registered for a
 * new persistent connection.
 *
 * @param resource $connection An Oracle connection identifier.
 * @param mixed $callbackFn A user-defined callback to register for
 *   Oracle TAF. It can be a string of the function name or a Closure
 *   (anonymous function). The interface of a TAF user-defined callback
 *   function is as follows: See the parameter description and an example
 *   on OCI8 Transparent Application Failover (TAF) Support page.
 * @return bool
 * @since PHP 7.0 >= 7.0.21, PHP 7 >= 7.1.7, PECL OCI8 >= 2.1.7
 **/
function oci_register_taf_callback($connection, $callbackFn){}

/**
 * Returns field's value from the fetched row
 *
 * Returns the data from {@link field} in the current row, fetched by
 * {@link oci_fetch}.
 *
 * @param resource $statement
 * @param mixed $field Can be either use the column number (1-based) or
 *   the column name. The case of the column name must be the case that
 *   Oracle meta data describes the column as, which is uppercase for
 *   columns created case insensitively.
 * @return mixed Returns everything as strings except for abstract
 *   types (ROWIDs, LOBs and FILEs). Returns FALSE on error.
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_result($statement, $field){}

/**
 * Rolls back the outstanding database transaction
 *
 * Reverts all uncommitted changes for the Oracle {@link connection} and
 * ends the transaction. It releases all locks held. All Oracle
 * SAVEPOINTS are erased.
 *
 * A transaction begins when the first SQL statement that changes data is
 * executed with {@link oci_execute} using the OCI_NO_AUTO_COMMIT flag.
 * Further data changes made by other statements become part of the same
 * transaction. Data changes made in a transaction are temporary until
 * the transaction is committed or rolled back. Other users of the
 * database will not see the changes until they are committed.
 *
 * When inserting or updating data, using transactions is recommended for
 * relational data consistency and for performance reasons.
 *
 * @param resource $connection An Oracle connection identifier,
 *   returned by {@link oci_connect}, {@link oci_pconnect} or {@link
 *   oci_new_connect}.
 * @return bool
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_rollback($connection){}

/**
 * Returns the Oracle Database version
 *
 * Returns a string with the Oracle Database version and available
 * options
 *
 * @param resource $connection
 * @return string Returns the version information as a string or FALSE
 *   on error.
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_server_version($connection){}

/**
 * Sets the action name
 *
 * Sets the action name for Oracle tracing.
 *
 * The action name is registered with the database when the next
 * 'roundtrip' from PHP to the database occurs, typically when an SQL
 * statement is executed.
 *
 * The action name can subsequently be queried from database
 * administration views such as V$SESSION. It can be used for tracing and
 * monitoring such as with V$SQLAREA and
 * DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE.
 *
 * The value may be retained across persistent connections.
 *
 * @param resource $connection
 * @param string $action_name User chosen string up to 32 bytes long.
 * @return bool
 * @since PHP 5 >= 5.3.2, PHP 7, PECL OCI8 >= 1.4.0
 **/
function oci_set_action($connection, $action_name){}

/**
 * Sets the client identifier
 *
 * Sets the client identifier used by various database components to
 * identify lightweight application users who authenticate as the same
 * database user.
 *
 * The client identifier is registered with the database when the next
 * 'roundtrip' from PHP to the database occurs, typically when an SQL
 * statement is executed.
 *
 * The identifier can subsequently be queried, for example with SELECT
 * SYS_CONTEXT('USERENV','CLIENT_IDENTIFIER') FROM DUAL. Database
 * administration views such as V$SESSION will also contain the value. It
 * can be used with DBMS_MONITOR.CLIENT_ID_TRACE_ENABLE for tracing and
 * can also be used for auditing.
 *
 * The value may be retained across page requests that use the same
 * persistent connection.
 *
 * @param resource $connection
 * @param string $client_identifier User chosen string up to 64 bytes
 *   long.
 * @return bool
 * @since PHP 5 >= 5.3.2, PHP 7, PECL OCI8 >= 1.4.0
 **/
function oci_set_client_identifier($connection, $client_identifier){}

/**
 * Sets the client information
 *
 * Sets the client information for Oracle tracing.
 *
 * The client information is registered with the database when the next
 * 'roundtrip' from PHP to the database occurs, typically when an SQL
 * statement is executed.
 *
 * The client information can subsequently be queried from database
 * administration views such as V$SESSION.
 *
 * The value may be retained across persistent connections.
 *
 * @param resource $connection
 * @param string $client_info User chosen string up to 64 bytes long.
 * @return bool
 * @since PHP 5 >= 5.3.2, PHP 7, PECL OCI8 >= 1.4.0
 **/
function oci_set_client_info($connection, $client_info){}

/**
 * Sets the database edition
 *
 * Sets the database "edition" of objects to be used by a subsequent
 * connections.
 *
 * Oracle Editions allow concurrent versions of applications to run using
 * the same schema and object names. This is useful for upgrading live
 * systems.
 *
 * Call {@link oci_set_edition} before calling {@link oci_connect},
 * {@link oci_pconnect} or {@link oci_new_connect}.
 *
 * If an edition is set that is not valid in the database, connection
 * will fail even if {@link oci_set_edition} returns success.
 *
 * When using persistent connections, if a connection with the requested
 * edition setting already exists, it is reused. Otherwise, a different
 * persistent connection is created
 *
 * @param string $edition Oracle Database edition name previously
 *   created with the SQL "CREATE EDITION" command.
 * @return bool
 * @since PHP 5 >= 5.3.2, PHP 7, PECL OCI8 >= 1.4.0
 **/
function oci_set_edition($edition){}

/**
 * Sets the module name
 *
 * Sets the module name for Oracle tracing.
 *
 * The module name is registered with the database when the next
 * 'roundtrip' from PHP to the database occurs, typically when an SQL
 * statement is executed.
 *
 * The name can subsequently be queried from database administration
 * views such as V$SESSION. It can be used for tracing and monitoring
 * such as with V$SQLAREA and DBMS_MONITOR.SERV_MOD_ACT_STAT_ENABLE.
 *
 * The value may be retained across persistent connections.
 *
 * @param resource $connection
 * @param string $module_name User chosen string up to 48 bytes long.
 * @return bool
 * @since PHP 5 >= 5.3.2, PHP 7, PECL OCI8 >= 1.4.0
 **/
function oci_set_module_name($connection, $module_name){}

/**
 * Sets number of rows to be prefetched by queries
 *
 * Sets the number of rows to be buffered by the Oracle Client libraries
 * after a successful query call to {@link oci_execute} and for each
 * subsequent internal fetch request to the database. For queries
 * returning a large number of rows, performance can be significantly
 * improved by increasing the prefetch count above the default
 * oci8.default_prefetch value.
 *
 * Prefetching is Oracle's efficient way of returning more than one data
 * row from the database in each network request. This can result in
 * better network and CPU utilization. The buffering of rows is internal
 * to OCI8 and the behavior of OCI8 fetching functions is unchanged
 * regardless of the prefetch count. For example, {@link oci_fetch_row}
 * will always return one row. The prefetch buffer is per-statement and
 * is not used by re-executed statements or by other connections.
 *
 * Call {@link oci_set_prefetch} before calling {@link oci_execute}.
 *
 * A tuning goal is to set the prefetch value to a reasonable size for
 * the network and database to handle. For queries returning a very large
 * number of rows, overall system efficiency might be better if rows are
 * retrieved from the database in several chunks (i.e set the prefetch
 * value smaller than the number of rows). This allows the database to
 * handle other users' statements while the PHP script is processing the
 * current set of rows.
 *
 * Query prefetching was introduced in Oracle 8i. REF CURSOR prefetching
 * was introduced in Oracle 11gR2 and occurs when PHP is linked with
 * Oracle 11gR2 (or later) Client libraries. Nested cursor prefetching
 * was introduced in Oracle 11gR2 and requires both the Oracle Client
 * libraries and the database to be version 11gR2 or greater.
 *
 * Prefetching is not supported when queries contain LONG or LOB columns.
 * The prefetch value is ignored and single-row fetches will be used in
 * all the situations when prefetching is not supported.
 *
 * When using Oracle Database 12c, the prefetch value set by PHP can be
 * overridden by Oracle's client oraaccess.xml configuration file. Refer
 * to Oracle documentation for more detail.
 *
 * @param resource $statement
 * @param int $rows The number of rows to be prefetched, >= 0
 * @return bool
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_set_prefetch($statement, $rows){}

/**
 * Returns the type of a statement
 *
 * Returns a keyword identifying the type of the OCI8 {@link statement}.
 *
 * @param resource $statement A valid OCI8 statement identifier from
 *   {@link oci_parse}.
 * @return string Returns the type of {@link statement} as one of the
 *   following strings. Statement type Return String Notes ALTER BEGIN
 *   CALL Introduced in PHP 5.2.1 (PECL OCI8 1.2.3) CREATE DECLARE DELETE
 *   DROP INSERT SELECT UPDATE UNKNOWN
 * @since PHP 5, PHP 7, PECL OCI8 >= 1.1.0
 **/
function oci_statement_type($statement){}

/**
 * Unregister a user-defined callback function for Oracle Database TAF
 *
 * Unregister the user-defined callback function registered to connection
 * by {@link oci_register_taf_callback}. See OCI8 Transparent Application
 * Failover (TAF) Support for information.
 *
 * @param resource $connection An Oracle connection identifier.
 * @return bool
 * @since PHP 7.0 >= 7.0.23, PHP 7 >= 7.1.9, PHP 7.2, PECL OCI8 >=
 *   2.1.7
 **/
function oci_unregister_taf_callback($connection){}

/**
 * Octal to decimal
 *
 * Returns the decimal equivalent of the octal number represented by the
 * {@link octal_string} argument.
 *
 * @param string $octal_string The octal string to convert
 * @return number The decimal representation of {@link octal_string}
 * @since PHP 4, PHP 5, PHP 7
 **/
function octdec($octal_string){}

/**
 * Toggle autocommit behaviour
 *
 * Toggles autocommit behaviour.
 *
 * By default, auto-commit is on for a connection. Disabling auto-commit
 * is equivalent with starting a transaction.
 *
 * @param resource $connection_id
 * @param bool $OnOff If {@link OnOff} is TRUE, auto-commit is enabled,
 *   if it is FALSE auto-commit is disabled.
 * @return mixed Without the {@link OnOff} parameter, this function
 *   returns auto-commit status for {@link connection_id}. Non-zero is
 *   returned if auto-commit is on, 0 if it is off, or FALSE if an error
 *   occurs.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_autocommit($connection_id, $OnOff){}

/**
 * Handling of binary column data
 *
 * Enables handling of binary column data. ODBC SQL types affected are
 * BINARY, VARBINARY, and LONGVARBINARY.
 *
 * When binary SQL data is converted to character C data, each byte (8
 * bits) of source data is represented as two ASCII characters. These
 * characters are the ASCII character representation of the number in its
 * hexadecimal form. For example, a binary 00000001 is converted to "01"
 * and a binary 11111111 is converted to "FF". LONGVARBINARY handling
 * binmode longreadlen result ODBC_BINMODE_PASSTHRU 0 passthru
 * ODBC_BINMODE_RETURN 0 passthru ODBC_BINMODE_CONVERT 0 passthru
 * ODBC_BINMODE_PASSTHRU 0 passthru ODBC_BINMODE_PASSTHRU >0 passthru
 * ODBC_BINMODE_RETURN >0 return as is ODBC_BINMODE_CONVERT >0 return as
 * char
 *
 * If {@link odbc_fetch_into} is used, passthru means that an empty
 * string is returned for these columns.
 *
 * @param resource $result_id The result identifier. If {@link
 *   result_id} is 0, the settings apply as default for new results.
 *   Default for longreadlen is 4096 and {@link mode} defaults to
 *   ODBC_BINMODE_RETURN. Handling of binary long columns is also
 *   affected by {@link odbc_longreadlen}.
 * @param int $mode Possible values for {@link mode} are:
 *   ODBC_BINMODE_PASSTHRU: Passthru BINARY data ODBC_BINMODE_RETURN:
 *   Return as is ODBC_BINMODE_CONVERT: Convert to char and return
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_binmode($result_id, $mode){}

/**
 * Close an ODBC connection
 *
 * Closes down the connection to the database server.
 *
 * @param resource $connection_id
 * @return void
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_close($connection_id){}

/**
 * Close all ODBC connections
 *
 * {@link odbc_close_all} will close down all connections to database
 * server(s).
 *
 * @return void
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_close_all(){}

/**
 * Lists columns and associated privileges for the given table
 *
 * @param resource $connection_id
 * @param string $qualifier The qualifier.
 * @param string $owner The owner.
 * @param string $table_name The table name.
 * @param string $column_name The column name.
 * @return resource Returns an ODBC result identifier. This result
 *   identifier can be used to fetch a list of columns and associated
 *   privileges.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_columnprivileges($connection_id, $qualifier, $owner, $table_name, $column_name){}

/**
 * Lists the column names in specified tables
 *
 * Lists all columns in the requested range.
 *
 * @param resource $connection_id
 * @param string $qualifier The qualifier.
 * @param string $schema The owner.
 * @param string $table_name The table name.
 * @param string $column_name The column name.
 * @return resource Returns an ODBC result identifier.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_columns($connection_id, $qualifier, $schema, $table_name, $column_name){}

/**
 * Commit an ODBC transaction
 *
 * Commits all pending transactions on the connection.
 *
 * @param resource $connection_id
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_commit($connection_id){}

/**
 * Connect to a datasource
 *
 * @param string $dsn The database source name for the connection.
 *   Alternatively, a DSN-less connection string can be used.
 * @param string $user The username.
 * @param string $password The password.
 * @param int $cursor_type This sets the type of cursor to be used for
 *   this connection. This parameter is not normally needed, but can be
 *   useful for working around problems with some ODBC drivers.
 *   
 *   SQL_CUR_USE_IF_NEEDED SQL_CUR_USE_ODBC SQL_CUR_USE_DRIVER
 * @return resource Returns an ODBC connection or (FALSE) on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_connect($dsn, $user, $password, $cursor_type){}

/**
 * Get cursorname
 *
 * Gets the cursorname for the given result_id.
 *
 * @param resource $result_id The result identifier.
 * @return string Returns the cursor name, as a string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_cursor($result_id){}

/**
 * Returns information about a current connection
 *
 * This function will return the list of available DSN (after calling it
 * several times).
 *
 * @param resource $connection_id
 * @param int $fetch_type The {@link fetch_type} can be one of two
 *   constant types: SQL_FETCH_FIRST, SQL_FETCH_NEXT. Use SQL_FETCH_FIRST
 *   the first time this function is called, thereafter use the
 *   SQL_FETCH_NEXT.
 * @return array Returns FALSE on error, and an array upon success.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function odbc_data_source($connection_id, $fetch_type){}

/**
 * Prepare and execute an SQL statement
 *
 * Sends an SQL statement to the database server.
 *
 * @param resource $connection_id
 * @param string $query_string The SQL statement.
 * @param int $flags This parameter is currently not used.
 * @return resource Returns an ODBC result identifier if the SQL
 *   command was executed successfully, or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_do($connection_id, $query_string, $flags){}

/**
 * Get the last error code
 *
 * @param resource $connection_id
 * @return string If {@link connection_id} is specified, the last state
 *   of that connection is returned, else the last state of any
 *   connection is returned.
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7
 **/
function odbc_error($connection_id){}

/**
 * Get the last error message
 *
 * @param resource $connection_id
 * @return string If {@link connection_id} is specified, the last state
 *   of that connection is returned, else the last state of any
 *   connection is returned.
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7
 **/
function odbc_errormsg($connection_id){}

/**
 * Prepare and execute an SQL statement
 *
 * Sends an SQL statement to the database server.
 *
 * @param resource $connection_id
 * @param string $query_string The SQL statement.
 * @param int $flags This parameter is currently not used.
 * @return resource Returns an ODBC result identifier if the SQL
 *   command was executed successfully, or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_exec($connection_id, $query_string, $flags){}

/**
 * Execute a prepared statement
 *
 * Executes a statement prepared with {@link odbc_prepare}.
 *
 * @param resource $result_id The result id resource, from {@link
 *   odbc_prepare}.
 * @param array $parameters_array Parameters in {@link parameter_array}
 *   will be substituted for placeholders in the prepared statement in
 *   order. Elements of this array will be converted to strings by
 *   calling this function. Any parameters in {@link parameter_array}
 *   which start and end with single quotes will be taken as the name of
 *   a file to read and send to the database server as the data for the
 *   appropriate placeholder.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_execute($result_id, $parameters_array){}

/**
 * Fetch a result row as an associative array
 *
 * Fetch an associative array from an ODBC query.
 *
 * @param resource $result The result resource from {@link odbc_exec}.
 * @param int $rownumber Optionally choose which row number to
 *   retrieve.
 * @return array Returns an array that corresponds to the fetched row,
 *   or FALSE if there are no more rows.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function odbc_fetch_array($result, $rownumber){}

/**
 * Fetch one result row into array
 *
 * Fetch one result row into array.
 *
 * @param resource $result_id The result resource.
 * @param array $result_array The result array that can be of any type
 *   since it will be converted to type array. The array will contain the
 *   column values starting at array index 0.
 * @param int $rownumber The row number.
 * @return int Returns the number of columns in the result; FALSE on
 *   error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_fetch_into($result_id, &$result_array, $rownumber){}

/**
 * Fetch a result row as an object
 *
 * Fetch an object from an ODBC query.
 *
 * @param resource $result The result resource from {@link odbc_exec}.
 * @param int $rownumber Optionally choose which row number to
 *   retrieve.
 * @return object Returns an object that corresponds to the fetched
 *   row, or FALSE if there are no more rows.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function odbc_fetch_object($result, $rownumber){}

/**
 * Fetch a row
 *
 * Fetches a row of the data that was returned by {@link odbc_do} or
 * {@link odbc_exec}. After {@link odbc_fetch_row} is called, the fields
 * of that row can be accessed with {@link odbc_result}.
 *
 * @param resource $result_id The result identifier.
 * @param int $row_number If {@link row_number} is not specified,
 *   {@link odbc_fetch_row} will try to fetch the next row in the result
 *   set. Calls to {@link odbc_fetch_row} with and without {@link
 *   row_number} can be mixed. To step through the result more than once,
 *   you can call {@link odbc_fetch_row} with {@link row_number} 1, and
 *   then continue doing {@link odbc_fetch_row} without {@link
 *   row_number} to review the result. If a driver doesn't support
 *   fetching rows by number, the {@link row_number} parameter is
 *   ignored.
 * @return bool Returns TRUE if there was a row, FALSE otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_fetch_row($result_id, $row_number){}

/**
 * Get the length (precision) of a field
 *
 * Gets the length of the field referenced by number in the given result
 * identifier.
 *
 * @param resource $result_id The result identifier.
 * @param int $field_number The field number. Field numbering starts at
 *   1.
 * @return int Returns the field length, or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_field_len($result_id, $field_number){}

/**
 * Get the columnname
 *
 * Gets the name of the field occupying the given column number in the
 * given result identifier.
 *
 * @param resource $result_id The result identifier.
 * @param int $field_number The field number. Field numbering starts at
 *   1.
 * @return string Returns the field name as a string, or FALSE on
 *   error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_field_name($result_id, $field_number){}

/**
 * Return column number
 *
 * Gets the number of the column slot that corresponds to the named field
 * in the given result identifier.
 *
 * @param resource $result_id The result identifier.
 * @param string $field_name The field name.
 * @return int Returns the field number as a integer, or FALSE on
 *   error. Field numbering starts at 1.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_field_num($result_id, $field_name){}

/**
 * Get the length (precision) of a field
 *
 * Gets the length of the field referenced by number in the given result
 * identifier.
 *
 * @param resource $result_id The result identifier.
 * @param int $field_number The field number. Field numbering starts at
 *   1.
 * @return int Returns the field length, or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_field_precision($result_id, $field_number){}

/**
 * Get the scale of a field
 *
 * Gets the scale of the field referenced by number in the given result
 * identifier.
 *
 * @param resource $result_id The result identifier.
 * @param int $field_number The field number. Field numbering starts at
 *   1.
 * @return int Returns the field scale as a integer, or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_field_scale($result_id, $field_number){}

/**
 * Datatype of a field
 *
 * Gets the SQL type of the field referenced by number in the given
 * result identifier.
 *
 * @param resource $result_id The result identifier.
 * @param int $field_number The field number. Field numbering starts at
 *   1.
 * @return string Returns the field type as a string, or FALSE on
 *   error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_field_type($result_id, $field_number){}

/**
 * Retrieves a list of foreign keys
 *
 * Retrieves a list of foreign keys in the specified table or a list of
 * foreign keys in other tables that refer to the primary key in the
 * specified table
 *
 * @param resource $connection_id
 * @param string $pk_qualifier The primary key qualifier.
 * @param string $pk_owner The primary key owner.
 * @param string $pk_table The primary key table.
 * @param string $fk_qualifier The foreign key qualifier.
 * @param string $fk_owner The foreign key owner.
 * @param string $fk_table The foreign key table.
 * @return resource Returns an ODBC result identifier.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_foreignkeys($connection_id, $pk_qualifier, $pk_owner, $pk_table, $fk_qualifier, $fk_owner, $fk_table){}

/**
 * Free resources associated with a result
 *
 * {@link odbc_free_result} only needs to be called if you are worried
 * about using too much memory while your script is running. All result
 * memory will automatically be freed when the script is finished.
 *
 * @param resource $result_id The result identifier.
 * @return bool Always returns TRUE.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_free_result($result_id){}

/**
 * Retrieves information about data types supported by the data source
 *
 * @param resource $connection_id
 * @param int $data_type The data type, which can be used to restrict
 *   the information to a single data type.
 * @return resource Returns an ODBC result identifier or FALSE on
 *   failure.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_gettypeinfo($connection_id, $data_type){}

/**
 * Handling of LONG columns
 *
 * Enables handling of LONG and LONGVARBINARY columns.
 *
 * @param resource $result_id The result identifier.
 * @param int $length The number of bytes returned to PHP is controlled
 *   by the parameter length. If it is set to 0, Long column data is
 *   passed through to the client.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_longreadlen($result_id, $length){}

/**
 * Checks if multiple results are available
 *
 * Checks if there are more result sets available as well as allowing
 * access to the next result set via {@link odbc_fetch_array}, {@link
 * odbc_fetch_row}, {@link odbc_result}, etc.
 *
 * @param resource $result_id The result identifier.
 * @return bool Returns TRUE if there are more result sets, FALSE
 *   otherwise.
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7
 **/
function odbc_next_result($result_id){}

/**
 * Number of columns in a result
 *
 * Gets the number of fields (columns) in an ODBC result.
 *
 * @param resource $result_id The result identifier returned by {@link
 *   odbc_exec}.
 * @return int Returns the number of fields, or -1 on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_num_fields($result_id){}

/**
 * Number of rows in a result
 *
 * Gets the number of rows in a result. For INSERT, UPDATE and DELETE
 * statements {@link odbc_num_rows} returns the number of rows affected.
 * For a SELECT clause this can be the number of rows available.
 *
 * @param resource $result_id The result identifier returned by {@link
 *   odbc_exec}.
 * @return int Returns the number of rows in an ODBC result. This
 *   function will return -1 on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_num_rows($result_id){}

/**
 * Open a persistent database connection
 *
 * Opens a persistent database connection.
 *
 * This function is much like {@link odbc_connect}, except that the
 * connection is not really closed when the script has finished. Future
 * requests for a connection with the same {@link dsn}, {@link user},
 * {@link password} combination (via {@link odbc_connect} and {@link
 * odbc_pconnect}) can reuse the persistent connection.
 *
 * @param string $dsn
 * @param string $user
 * @param string $password
 * @param int $cursor_type
 * @return resource Returns an ODBC connection id or 0 (FALSE) on
 *   error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_pconnect($dsn, $user, $password, $cursor_type){}

/**
 * Prepares a statement for execution
 *
 * Prepares a statement for execution. The result identifier can be used
 * later to execute the statement with {@link odbc_execute}.
 *
 * Some databases (such as IBM DB2, MS SQL Server, and Oracle) support
 * stored procedures that accept parameters of type IN, INOUT, and OUT as
 * defined by the ODBC specification. However, the Unified ODBC driver
 * currently only supports parameters of type IN to stored procedures.
 *
 * @param resource $connection_id
 * @param string $query_string The query string statement being
 *   prepared.
 * @return resource Returns an ODBC result identifier if the SQL
 *   command was prepared successfully. Returns FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_prepare($connection_id, $query_string){}

/**
 * Gets the primary keys for a table
 *
 * Returns a result identifier that can be used to fetch the column names
 * that comprise the primary key for a table.
 *
 * @param resource $connection_id
 * @param string $qualifier
 * @param string $owner
 * @param string $table
 * @return resource Returns an ODBC result identifier.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_primarykeys($connection_id, $qualifier, $owner, $table){}

/**
 * Retrieve information about parameters to procedures
 *
 * @param resource $connection_id
 * @return resource Returns the list of input and output parameters, as
 *   well as the columns that make up the result set for the specified
 *   procedures. Returns an ODBC result identifier.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_procedurecolumns($connection_id){}

/**
 * Get the list of procedures stored in a specific data source
 *
 * Lists all procedures in the requested range.
 *
 * @param resource $connection_id
 * @return resource Returns an ODBC result identifier containing the
 *   information.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_procedures($connection_id){}

/**
 * Get result data
 *
 * @param resource $result_id The ODBC resource.
 * @param mixed $field The field name being retrieved. It can either be
 *   an integer containing the column number of the field you want; or it
 *   can be a string containing the name of the field.
 * @return mixed Returns the string contents of the field, FALSE on
 *   error, NULL for NULL data, or TRUE for binary data.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_result($result_id, $field){}

/**
 * Print result as HTML table
 *
 * Prints all rows from a result identifier produced by {@link
 * odbc_exec}. The result is printed in HTML table format.
 *
 * @param resource $result_id The result identifier.
 * @param string $format Additional overall table formatting.
 * @return int Returns the number of rows in the result or FALSE on
 *   error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_result_all($result_id, $format){}

/**
 * Rollback a transaction
 *
 * Rolls back all pending statements on the connection.
 *
 * @param resource $connection_id
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_rollback($connection_id){}

/**
 * Adjust ODBC settings
 *
 * This function allows fiddling with the ODBC options for a particular
 * connection or query result. It was written to help find work around to
 * problems in quirky ODBC drivers. You should probably only use this
 * function if you are an ODBC programmer and understand the effects the
 * various options will have. You will certainly need a good ODBC
 * reference to explain all the different options and values that can be
 * used. Different driver versions support different options.
 *
 * Because the effects may vary depending on the ODBC driver, use of this
 * function in scripts to be made publicly available is strongly
 * discouraged. Also, some ODBC options are not available to this
 * function because they must be set before the connection is established
 * or the query is prepared. However, if on a particular job it can make
 * PHP work so your boss doesn't tell you to use a commercial product,
 * that's all that really matters.
 *
 * @param resource $id Is a connection id or result id on which to
 *   change the settings. For SQLSetConnectOption(), this is a connection
 *   id. For SQLSetStmtOption(), this is a result id.
 * @param int $function Is the ODBC function to use. The value should
 *   be 1 for SQLSetConnectOption() and 2 for SQLSetStmtOption().
 * @param int $option The option to set.
 * @param int $param The value for the given {@link option}.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_setoption($id, $function, $option, $param){}

/**
 * Retrieves special columns
 *
 * Retrieves either the optimal set of columns that uniquely identifies a
 * row in the table, or columns that are automatically updated when any
 * value in the row is updated by a transaction.
 *
 * @param resource $connection_id
 * @param int $type
 * @param string $qualifier The qualifier.
 * @param string $table The table.
 * @param int $scope The scope, which orders the result set.
 * @param int $nullable The nullable option.
 * @return resource Returns an ODBC result identifier or FALSE on
 *   failure.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_specialcolumns($connection_id, $type, $qualifier, $table, $scope, $nullable){}

/**
 * Retrieve statistics about a table
 *
 * Get statistics about a table and its indexes.
 *
 * @param resource $connection_id
 * @param string $qualifier The qualifier.
 * @param string $owner The owner.
 * @param string $table_name The table name.
 * @param int $unique The unique attribute.
 * @param int $accuracy The accuracy.
 * @return resource Returns an ODBC result identifier.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_statistics($connection_id, $qualifier, $owner, $table_name, $unique, $accuracy){}

/**
 * Lists tables and the privileges associated with each table
 *
 * Lists tables in the requested range and the privileges associated with
 * each table.
 *
 * @param resource $connection_id
 * @param string $qualifier The qualifier.
 * @param string $owner The owner. Accepts the following search
 *   patterns: ('%' to match zero or more characters and '_' to match a
 *   single character)
 * @param string $name The name. Accepts the following search patterns:
 *   ('%' to match zero or more characters and '_' to match a single
 *   character)
 * @return resource An ODBC result identifier.
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_tableprivileges($connection_id, $qualifier, $owner, $name){}

/**
 * Get the list of table names stored in a specific data source
 *
 * Lists all tables in the requested range.
 *
 * To support enumeration of qualifiers, owners, and table types, the
 * following special semantics for the {@link qualifier}, {@link owner},
 * {@link name}, and {@link table_type} are available: If {@link
 * qualifier} is a single percent character (%) and {@link owner} and
 * {@link name} are empty strings, then the result set contains a list of
 * valid qualifiers for the data source. (All columns except the
 * TABLE_QUALIFIER column contain NULLs.) If {@link owner} is a single
 * percent character (%) and {@link qualifier} and {@link name} are empty
 * strings, then the result set contains a list of valid owners for the
 * data source. (All columns except the TABLE_OWNER column contain
 * NULLs.) If {@link table_type} is a single percent character (%) and
 * {@link qualifier}, {@link owner} and {@link name} are empty strings,
 * then the result set contains a list of valid table types for the data
 * source. (All columns except the TABLE_TYPE column contain NULLs.)
 *
 * @param resource $connection_id
 * @param string $qualifier The qualifier.
 * @param string $owner The owner. Accepts search patterns ('%' to
 *   match zero or more characters and '_' to match a single character).
 * @param string $name The name. Accepts search patterns ('%' to match
 *   zero or more characters and '_' to match a single character).
 * @param string $types If {@link table_type} is not an empty string,
 *   it must contain a list of comma-separated values for the types of
 *   interest; each value may be enclosed in single quotes (') or
 *   unquoted. For example, "'TABLE','VIEW'" or "TABLE, VIEW". If the
 *   data source does not support a specified table type, {@link
 *   odbc_tables} does not return any results for that type.
 * @return resource Returns an ODBC result identifier containing the
 *   information .
 * @since PHP 4, PHP 5, PHP 7
 **/
function odbc_tables($connection_id, $qualifier, $owner, $name, $types){}

/**
 * Compiles and caches a PHP script without executing it
 *
 * This function compiles a PHP script and adds it to the opcode cache
 * without executing it. This can be used to prime the cache after a Web
 * server restart by pre-caching files that will be included in later
 * requests.
 *
 * @param string $file The path to the PHP script to be compiled.
 * @return bool Returns TRUE if {@link file} was compiled successfully
 *   .
 * @since PHP 5 >= 5.5.5, PHP 7, PECL ZendOpcache > 7.0.2
 **/
function opcache_compile_file($file){}

/**
 * Get configuration information about the cache
 *
 * This function returns configuration information about the cache
 * instance
 *
 * @return array Returns an array of information, including ini,
 *   blacklist and version
 * @since PHP 5 >= 5.5.0, PHP 7, PECL ZendOpcache > 7.0.2
 **/
function opcache_get_configuration(){}

/**
 * Get status information about the cache
 *
 * This function returns state information about the cache instance
 *
 * @param bool $get_scripts Include script specific state information
 * @return array Returns an array of information, optionally containing
 *   script specific state information
 * @since PHP 5 >= 5.5.0, PHP 7, PECL ZendOpcache > 7.0.2
 **/
function opcache_get_status($get_scripts){}

/**
 * Invalidates a cached script
 *
 * This function invalidates a particular script from the opcode cache.
 * If {@link force} is unset or FALSE, the script will only be
 * invalidated if the modification time of the script is newer than the
 * cached opcodes.
 *
 * @param string $script The path to the script being invalidated.
 * @param bool $force If set to TRUE, the script will be invalidated
 *   regardless of whether invalidation is necessary.
 * @return bool Returns TRUE if the opcode cache for {@link script} was
 *   invalidated or if there was nothing to invalidate, or FALSE if the
 *   opcode cache is disabled.
 * @since PHP 5 >= 5.5.0, PHP 7, PECL ZendOpcache >= 7.0.0
 **/
function opcache_invalidate($script, $force){}

/**
 * Tells whether a script is cached in OPCache
 *
 * This function checks if a PHP script has been cached in OPCache. This
 * can be used to more easily detect the "warming" of the cache for a
 * particular script.
 *
 * @param string $file The path to the PHP script to be checked.
 * @return bool Returns TRUE if {@link file} is cached in OPCache,
 *   FALSE otherwise.
 * @since PHP 5 >= 5.5.11, PHP 7, PECL ZendOpcache >= 7.0.4
 **/
function opcache_is_script_cached($file){}

/**
 * Resets the contents of the opcode cache
 *
 * This function resets the entire opcode cache. After calling {@link
 * opcache_reset}, all scripts will be reloaded and reparsed the next
 * time they are hit.
 *
 * @return bool Returns TRUE if the opcode cache was reset, or FALSE if
 *   the opcode cache is disabled.
 * @since PHP 5 >= 5.5.0, PHP 7, PECL ZendOpcache >= 7.0.0
 **/
function opcache_reset(){}

/**
 * Generate OpenAL buffer
 *
 * @return resource Returns an Open AL(Buffer) resource on success or
 *   FALSE on failure.
 * @since PECL openal >= 0.1.0
 **/
function openal_buffer_create(){}

/**
 * Load a buffer with data
 *
 * @param resource $buffer An Open AL(Buffer) resource (previously
 *   created by {@link openal_buffer_create}).
 * @param int $format Format of {@link data}, one of: AL_FORMAT_MONO8,
 *   AL_FORMAT_MONO16, AL_FORMAT_STEREO8 AL_FORMAT_STEREO16
 * @param string $data Block of binary audio data in the {@link format}
 *   and {@link freq} specified.
 * @param int $freq Frequency of {@link data} given in Hz.
 * @return bool
 * @since PECL openal >= 0.1.0
 **/
function openal_buffer_data($buffer, $format, $data, $freq){}

/**
 * Destroys an OpenAL buffer
 *
 * @param resource $buffer An Open AL(Buffer) resource (previously
 *   created by {@link openal_buffer_create}).
 * @return bool
 * @since PECL openal >= 0.1.0
 **/
function openal_buffer_destroy($buffer){}

/**
 * Retrieve an OpenAL buffer property
 *
 * @param resource $buffer An Open AL(Buffer) resource (previously
 *   created by {@link openal_buffer_create}).
 * @param int $property Specific property, one of: AL_FREQUENCY,
 *   AL_BITS, AL_CHANNELS AL_SIZE.
 * @return int Returns an integer value appropriate to the {@link
 *   property} requested.
 * @since PECL openal >= 0.1.0
 **/
function openal_buffer_get($buffer, $property){}

/**
 * Load a .wav file into a buffer
 *
 * @param resource $buffer An Open AL(Buffer) resource (previously
 *   created by {@link openal_buffer_create}).
 * @param string $wavfile Path to .wav file on local file system.
 * @return bool
 * @since PECL openal >= 0.1.0
 **/
function openal_buffer_loadwav($buffer, $wavfile){}

/**
 * Create an audio processing context
 *
 * @param resource $device An Open AL(Device) resource (previously
 *   created by {@link openal_device_open}).
 * @return resource Returns an Open AL(Context) resource on success or
 *   FALSE on failure.
 * @since PECL openal >= 0.1.0
 **/
function openal_context_create($device){}

/**
 * Make the specified context current
 *
 * @param resource $context An Open AL(Context) resource (previously
 *   created by {@link openal_context_create}).
 * @return bool
 * @since PECL openal >= 0.1.0
 **/
function openal_context_current($context){}

/**
 * Destroys a context
 *
 * @param resource $context An Open AL(Context) resource (previously
 *   created by {@link openal_context_create}).
 * @return bool
 * @since PECL openal >= 0.1.0
 **/
function openal_context_destroy($context){}

/**
 * Process the specified context
 *
 * @param resource $context An Open AL(Context) resource (previously
 *   created by {@link openal_context_create}).
 * @return bool
 * @since PECL openal >= 0.1.0
 **/
function openal_context_process($context){}

/**
 * Suspend the specified context
 *
 * @param resource $context An Open AL(Context) resource (previously
 *   created by {@link openal_context_create}).
 * @return bool
 * @since PECL openal >= 0.1.0
 **/
function openal_context_suspend($context){}

/**
 * Close an OpenAL device
 *
 * @param resource $device An Open AL(Device) resource (previously
 *   created by {@link openal_device_open}) to be closed.
 * @return bool
 * @since PECL openal >= 0.1.0
 **/
function openal_device_close($device){}

/**
 * Initialize the OpenAL audio layer
 *
 * @param string $device_desc Open an audio device optionally specified
 *   by {@link device_desc}. If {@link device_desc} is not specified the
 *   first available audio device will be used.
 * @return resource Returns an Open AL(Device) resource on success or
 *   FALSE on failure.
 * @since PECL openal >= 0.1.0
 **/
function openal_device_open($device_desc){}

/**
 * Retrieve a listener property
 *
 * @param int $property Property to retrieve, one of: AL_GAIN (float),
 *   AL_POSITION (array(float,float,float)), AL_VELOCITY
 *   (array(float,float,float)) AL_ORIENTATION
 *   (array(float,float,float)).
 * @return mixed Returns a float or array of floats (as appropriate).
 * @since PECL openal >= 0.1.0
 **/
function openal_listener_get($property){}

/**
 * Set a listener property
 *
 * @param int $property Property to set, one of: AL_GAIN (float),
 *   AL_POSITION (array(float,float,float)), AL_VELOCITY
 *   (array(float,float,float)) AL_ORIENTATION
 *   (array(float,float,float)).
 * @param mixed $setting Value to set, either float, or an array of
 *   floats as appropriate.
 * @return bool
 * @since PECL openal >= 0.1.0
 **/
function openal_listener_set($property, $setting){}

/**
 * Generate a source resource
 *
 * @return resource Returns an Open AL(Source) resource on success or
 *   FALSE on failure.
 * @since PECL openal >= 0.1.0
 **/
function openal_source_create(){}

/**
 * Destroy a source resource
 *
 * @param resource $source An Open AL(Source) resource (previously
 *   created by {@link openal_source_create}).
 * @return bool
 * @since PECL openal >= 0.1.0
 **/
function openal_source_destroy($source){}

/**
 * Retrieve an OpenAL source property
 *
 * @param resource $source An Open AL(Source) resource (previously
 *   created by {@link openal_source_create}).
 * @param int $property Property to get, one of: AL_SOURCE_RELATIVE
 *   (int), AL_SOURCE_STATE (int), AL_PITCH (float), AL_GAIN (float),
 *   AL_MIN_GAIN (float), AL_MAX_GAIN (float), AL_MAX_DISTANCE (float),
 *   AL_ROLLOFF_FACTOR (float), AL_CONE_OUTER_GAIN (float),
 *   AL_CONE_INNER_ANGLE (float), AL_CONE_OUTER_ANGLE (float),
 *   AL_REFERENCE_DISTANCE (float), AL_POSITION
 *   (array(float,float,float)), AL_VELOCITY (array(float,float,float)),
 *   AL_DIRECTION (array(float,float,float)).
 * @return mixed Returns the type associated with the property being
 *   retrieved .
 * @since PECL openal >= 0.1.0
 **/
function openal_source_get($source, $property){}

/**
 * Pause the source
 *
 * @param resource $source An Open AL(Source) resource (previously
 *   created by {@link openal_source_create}).
 * @return bool
 * @since PECL openal >= 0.1.0
 **/
function openal_source_pause($source){}

/**
 * Start playing the source
 *
 * @param resource $source An Open AL(Source) resource (previously
 *   created by {@link openal_source_create}).
 * @return bool
 * @since PECL openal >= 0.1.0
 **/
function openal_source_play($source){}

/**
 * Rewind the source
 *
 * @param resource $source An Open AL(Source) resource (previously
 *   created by {@link openal_source_create}).
 * @return bool
 * @since PECL openal >= 0.1.0
 **/
function openal_source_rewind($source){}

/**
 * Set source property
 *
 * @param resource $source An Open AL(Source) resource (previously
 *   created by {@link openal_source_create}).
 * @param int $property Property to set, one of: AL_BUFFER
 *   (OpenAL(Source)), AL_LOOPING (bool), AL_SOURCE_RELATIVE (int),
 *   AL_SOURCE_STATE (int), AL_PITCH (float), AL_GAIN (float),
 *   AL_MIN_GAIN (float), AL_MAX_GAIN (float), AL_MAX_DISTANCE (float),
 *   AL_ROLLOFF_FACTOR (float), AL_CONE_OUTER_GAIN (float),
 *   AL_CONE_INNER_ANGLE (float), AL_CONE_OUTER_ANGLE (float),
 *   AL_REFERENCE_DISTANCE (float), AL_POSITION
 *   (array(float,float,float)), AL_VELOCITY (array(float,float,float)),
 *   AL_DIRECTION (array(float,float,float)).
 * @param mixed $setting Value to assign to specified {@link property}.
 *   Refer to the description of {@link property} for a description of
 *   the value(s) expected.
 * @return bool
 * @since PECL openal >= 0.1.0
 **/
function openal_source_set($source, $property, $setting){}

/**
 * Stop playing the source
 *
 * @param resource $source An Open AL(Source) resource (previously
 *   created by {@link openal_source_create}).
 * @return bool
 * @since PECL openal >= 0.1.0
 **/
function openal_source_stop($source){}

/**
 * Begin streaming on a source
 *
 * @param resource $source An Open AL(Source) resource (previously
 *   created by {@link openal_source_create}).
 * @param int $format Format of {@link data}, one of: AL_FORMAT_MONO8,
 *   AL_FORMAT_MONO16, AL_FORMAT_STEREO8 AL_FORMAT_STEREO16
 * @param int $rate Frequency of data to stream given in Hz.
 * @return resource Returns a stream resource on success.
 * @since PECL openal >= 0.1.0
 **/
function openal_stream($source, $format, $rate){}

/**
 * Open directory handle
 *
 * Opens up a directory handle to be used in subsequent {@link closedir},
 * {@link readdir}, and {@link rewinddir} calls.
 *
 * @param string $path The directory path that is to be opened
 * @param resource $context For a description of the {@link context}
 *   parameter, refer to the streams section of the manual.
 * @return resource Returns a directory handle resource on success, or
 *   FALSE on failure.
 * @since PHP 4, PHP 5, PHP 7
 **/
function opendir($path, $context){}

/**
 * Open connection to system logger
 *
 * {@link openlog} opens a connection to the system logger for a program.
 *
 * The use of {@link openlog} is optional. It will automatically be
 * called by {@link syslog} if necessary, in which case {@link ident}
 * will default to FALSE.
 *
 * @param string $ident The string {@link ident} is added to each
 *   message.
 * @param int $option The {@link option} argument is used to indicate
 *   what logging options will be used when generating a log message.
 *   {@link openlog} Options Constant Description LOG_CONS if there is an
 *   error while sending data to the system logger, write directly to the
 *   system console LOG_NDELAY open the connection to the logger
 *   immediately LOG_ODELAY (default) delay opening the connection until
 *   the first message is logged LOG_PERROR print log message also to
 *   standard error LOG_PID include PID with each message You can use one
 *   or more of this options. When using multiple options you need to OR
 *   them, i.e. to open the connection immediately, write to the console
 *   and include the PID in each message, you will use: LOG_CONS |
 *   LOG_NDELAY | LOG_PID
 * @param int $facility The {@link facility} argument is used to
 *   specify what type of program is logging the message. This allows you
 *   to specify (in your machine's syslog configuration) how messages
 *   coming from different facilities will be handled. {@link openlog}
 *   Facilities Constant Description LOG_AUTH security/authorization
 *   messages (use LOG_AUTHPRIV instead in systems where that constant is
 *   defined) LOG_AUTHPRIV security/authorization messages (private)
 *   LOG_CRON clock daemon (cron and at) LOG_DAEMON other system daemons
 *   LOG_KERN kernel messages LOG_LOCAL0 ... LOG_LOCAL7 reserved for
 *   local use, these are not available in Windows LOG_LPR line printer
 *   subsystem LOG_MAIL mail subsystem LOG_NEWS USENET news subsystem
 *   LOG_SYSLOG messages generated internally by syslogd LOG_USER generic
 *   user-level messages LOG_UUCP UUCP subsystem
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function openlog($ident, $option, $facility){}

/**
 * Gets the cipher iv length
 *
 * Gets the cipher initialization vector (iv) length.
 *
 * @param string $method The cipher method, see {@link
 *   openssl_get_cipher_methods} for a list of potential values.
 * @return int Returns the cipher length on success, or FALSE on
 *   failure.
 * @since PHP 5 >= 5.3.3, PHP 7
 **/
function openssl_cipher_iv_length($method){}

/**
 * Exports a CSR as a string
 *
 * {@link openssl_csr_export} takes the Certificate Signing Request
 * represented by {@link csr} and stores it in PEM format in {@link out},
 * which is passed by reference.
 *
 * @param mixed $csr on success, this string will contain the PEM
 *   encoded CSR
 * @param string $out
 * @param bool $notext
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function openssl_csr_export($csr, &$out, $notext){}

/**
 * Exports a CSR to a file
 *
 * {@link openssl_csr_export_to_file} takes the Certificate Signing
 * Request represented by {@link csr} and saves it in PEM format into the
 * file named by {@link outfilename}.
 *
 * @param mixed $csr Path to the output file.
 * @param string $outfilename
 * @param bool $notext
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function openssl_csr_export_to_file($csr, $outfilename, $notext){}

/**
 * Returns the public key of a CSR
 *
 * {@link openssl_csr_get_public_key} extracts the public key from {@link
 * csr} and prepares it for use by other functions.
 *
 * @param mixed $csr
 * @param bool $use_shortnames
 * @return resource Returns a positive key resource identifier on
 *   success, or FALSE on error.
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function openssl_csr_get_public_key($csr, $use_shortnames){}

/**
 * Returns the subject of a CSR
 *
 * {@link openssl_csr_get_subject} returns subject distinguished name
 * information encoded in the {@link csr} including fields commonName
 * (CN), organizationName (O), countryName (C) etc.
 *
 * @param mixed $csr {@link shortnames} controls how the data is
 *   indexed in the array - if {@link shortnames} is TRUE (the default)
 *   then fields will be indexed with the short name form, otherwise, the
 *   long name form will be used - e.g.: CN is the shortname form of
 *   commonName.
 * @param bool $use_shortnames
 * @return array
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function openssl_csr_get_subject($csr, $use_shortnames){}

/**
 * Generates a CSR
 *
 * {@link openssl_csr_new} generates a new CSR (Certificate Signing
 * Request) based on the information provided by {@link dn}.
 *
 * @param array $dn The Distinguished Name or subject fields to be used
 *   in the certificate.
 * @param resource $privkey {@link privkey} should be set to a private
 *   key that was previously generated by {@link openssl_pkey_new} (or
 *   otherwise obtained from the other openssl_pkey family of functions).
 *   The corresponding public portion of the key will be used to sign the
 *   CSR.
 * @param array $configargs By default, the information in your system
 *   openssl.conf is used to initialize the request; you can specify a
 *   configuration file section by setting the config_section_section key
 *   of {@link configargs}. You can also specify an alternative openssl
 *   configuration file by setting the value of the config key to the
 *   path of the file you want to use. The following keys, if present in
 *   {@link configargs} behave as their equivalents in the openssl.conf,
 *   as listed in the table below. Configuration overrides {@link
 *   configargs} key type openssl.conf equivalent description digest_alg
 *   string default_md Digest method or signature hash, usually one of
 *   {@link openssl_get_md_methods} x509_extensions string
 *   x509_extensions Selects which extensions should be used when
 *   creating an x509 certificate req_extensions string req_extensions
 *   Selects which extensions should be used when creating a CSR
 *   private_key_bits integer default_bits Specifies how many bits should
 *   be used to generate a private key private_key_type integer none
 *   Specifies the type of private key to create. This can be one of
 *   OPENSSL_KEYTYPE_DSA, OPENSSL_KEYTYPE_DH, OPENSSL_KEYTYPE_RSA or
 *   OPENSSL_KEYTYPE_EC. The default value is OPENSSL_KEYTYPE_RSA.
 *   encrypt_key boolean encrypt_key Should an exported key (with
 *   passphrase) be encrypted? encrypt_key_cipher integer none One of
 *   cipher constants. curve_name string none PHP 7.1+, One of {@link
 *   openssl_get_curve_names}. config string N/A Path to your own
 *   alternative openssl.conf file.
 * @param array $extraattribs {@link extraattribs} is used to specify
 *   additional configuration options for the CSR. Both {@link dn} and
 *   {@link extraattribs} are associative arrays whose keys are converted
 *   to OIDs and applied to the relevant part of the request.
 * @return mixed Returns the CSR.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function openssl_csr_new($dn, &$privkey, $configargs, $extraattribs){}

/**
 * Sign a CSR with another certificate (or itself) and generate a
 * certificate
 *
 * {@link openssl_csr_sign} generates an x509 certificate resource from
 * the given CSR.
 *
 * @param mixed $csr A CSR previously generated by {@link
 *   openssl_csr_new}. It can also be the path to a PEM encoded CSR when
 *   specified as file://path/to/csr or an exported string generated by
 *   {@link openssl_csr_export}.
 * @param mixed $cacert The generated certificate will be signed by
 *   {@link cacert}. If {@link cacert} is NULL, the generated certificate
 *   will be a self-signed certificate.
 * @param mixed $priv_key {@link priv_key} is the private key that
 *   corresponds to {@link cacert}.
 * @param int $days {@link days} specifies the length of time for which
 *   the generated certificate will be valid, in days.
 * @param array $configargs You can finetune the CSR signing by {@link
 *   configargs}. See {@link openssl_csr_new} for more information about
 *   {@link configargs}.
 * @param int $serial An optional the serial number of issued
 *   certificate. If not specified it will default to 0.
 * @return resource Returns an x509 certificate resource on success,
 *   FALSE on failure.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function openssl_csr_sign($csr, $cacert, $priv_key, $days, $configargs, $serial){}

/**
 * Decrypts data
 *
 * Takes a raw or base64 encoded string and decrypts it using a given
 * method and key.
 *
 * @param string $data The encrypted message to be decrypted.
 * @param string $method The cipher method. For a list of available
 *   cipher methods, use {@link openssl_get_cipher_methods}.
 * @param string $key The key.
 * @param int $options {@link options} can be one of OPENSSL_RAW_DATA,
 *   OPENSSL_ZERO_PADDING.
 * @param string $iv A non-NULL Initialization Vector.
 * @param string $tag The authentication tag in AEAD cipher mode. If it
 *   is incorrect, the authentication fails and the function returns
 *   FALSE.
 * @param string $aad Additional authentication data.
 * @return string The decrypted string on success.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function openssl_decrypt($data, $method, $key, $options, $iv, $tag, $aad){}

/**
 * Computes shared secret for public value of remote DH public key and
 * local DH key
 *
 * The shared secret returned by {@link openssl_dh_compute_key} is often
 * used as an encryption key to secretly communicate with a remote party.
 * This is known as the Diffie-Hellman key exchange.
 *
 * @param string $pub_key DH Public key of the remote party.
 * @param resource $dh_key A local DH private key, corresponding to the
 *   public key to be shared with the remote party.
 * @return string Returns shared secret on success.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function openssl_dh_compute_key($pub_key, $dh_key){}

/**
 * Computes a digest
 *
 * Computes a digest hash value for the given data using a given method,
 * and returns a raw or binhex encoded string.
 *
 * @param string $data The data.
 * @param string $method The digest method to use, e.g. "sha256", see
 *   {@link openssl_get_md_methods} for a list of available digest
 *   methods.
 * @param bool $raw_output Setting to TRUE will return as raw output
 *   data, otherwise the return value is binhex encoded.
 * @return string Returns the digested hash value on success.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function openssl_digest($data, $method, $raw_output){}

/**
 * Encrypts data
 *
 * Encrypts given data with given method and key, returns a raw or base64
 * encoded string
 *
 * @param string $data The plaintext message data to be encrypted.
 * @param string $method The cipher method. For a list of available
 *   cipher methods, use {@link openssl_get_cipher_methods}.
 * @param string $key The key.
 * @param int $options {@link options} is a bitwise disjunction of the
 *   flags OPENSSL_RAW_DATA and OPENSSL_ZERO_PADDING.
 * @param string $iv A non-NULL Initialization Vector.
 * @param string $tag The authentication tag passed by reference when
 *   using AEAD cipher mode (GCM or CCM).
 * @param string $aad Additional authentication data.
 * @param int $tag_length The length of the authentication {@link tag}.
 *   Its value can be between 4 and 16 for GCM mode.
 * @return string Returns the encrypted string on success.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function openssl_encrypt($data, $method, $key, $options, $iv, &$tag, $aad, $tag_length){}

/**
 * Return openSSL error message
 *
 * {@link openssl_error_string} returns the last error from the openSSL
 * library. Error messages are queued, so this function should be called
 * multiple times to collect all of the information. The last error will
 * be the most recent one.
 *
 * @return string Returns an error message string, or FALSE if there
 *   are no more error messages to return.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function openssl_error_string(){}

/**
 * Free key resource
 *
 * {@link openssl_free_key} frees the key associated with the specified
 * {@link key_identifier} from memory.
 *
 * @param resource $key_identifier
 * @return void
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function openssl_free_key($key_identifier){}

/**
 * Retrieve the available certificate locations
 *
 * {@link openssl_get_cert_locations} returns an array with information
 * about the available certificate locations that will be searched for
 * SSL certificates.
 *
 * @return array Returns an array with the available certificate
 *   locations.
 * @since PHP 5 >= 5.6.0, PHP 7
 **/
function openssl_get_cert_locations(){}

/**
 * Gets available cipher methods
 *
 * Gets a list of available cipher methods.
 *
 * @param bool $aliases Set to TRUE if cipher aliases should be
 *   included within the returned array.
 * @return array An array of available cipher methods.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function openssl_get_cipher_methods($aliases){}

/**
 * Gets list of available curve names for ECC
 *
 * Gets the list of available curve names for use in Elliptic curve
 * cryptography (ECC) for public/private key operations. The two most
 * widely standardized/supported curves are prime256v1 (NIST P-256) and
 * secp384r1 (NIST P-384). Approximate Equivalancies of AES, RSA, DSA and
 * ECC Keysizes AES Symmetric Keysize (Bits) RSA and DSA Keysize (Bits)
 * ECC Keysize (Bits) 80 1024 160 112 2048 224 128 3072 256 192 7680 384
 * 256 15360 512 NIST recommends using ECC curves with at least 256 bits.
 *
 * @return array An array of available curve names.
 * @since PHP 7 >= 7.1.0
 **/
function openssl_get_curve_names(){}

/**
 * Gets available digest methods
 *
 * Gets a list of available digest methods.
 *
 * @param bool $aliases Set to TRUE if digest aliases should be
 *   included within the returned array.
 * @return array An array of available digest methods.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function openssl_get_md_methods($aliases){}

/**
 * Get a private key
 *
 * {@link openssl_get_privatekey} parses {@link key} and prepares it for
 * use by other functions.
 *
 * @param mixed $key {@link key} can be one of the following: a string
 *   having the format file://path/to/file.pem. The named file must
 *   contain a PEM encoded certificate/private key (it may contain both).
 *   A PEM formatted private key.
 * @param string $passphrase The optional parameter {@link passphrase}
 *   must be used if the specified key is encrypted (protected by a
 *   passphrase).
 * @return resource Returns a positive key resource identifier on
 *   success, or FALSE on error.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function openssl_get_privatekey($key, $passphrase){}

/**
 * Extract public key from certificate and prepare it for use
 *
 * {@link openssl_get_publickey} extracts the public key from {@link
 * certificate} and prepares it for use by other functions.
 *
 * @param mixed $certificate {@link certificate} can be one of the
 *   following: an X.509 certificate resource a string having the format
 *   file://path/to/file.pem. The named file must contain a PEM encoded
 *   certificate/public key (it may contain both). A PEM formatted public
 *   key.
 * @return resource Returns a positive key resource identifier on
 *   success, or FALSE on error.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function openssl_get_publickey($certificate){}

/**
 * Open sealed data
 *
 * {@link openssl_open} opens (decrypts) {@link sealed_data} using the
 * private key associated with the key identifier {@link priv_key_id} and
 * the envelope key {@link env_key}, and fills {@link open_data} with the
 * decrypted data. The envelope key is generated when the data are sealed
 * and can only be used by one specific private key. See {@link
 * openssl_seal} for more information.
 *
 * @param string $sealed_data
 * @param string $open_data If the call is successful the opened data
 *   is returned in this parameter.
 * @param string $env_key
 * @param mixed $priv_key_id
 * @param string $method The cipher method.
 * @param string $iv The initialization vector.
 * @return bool
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function openssl_open($sealed_data, &$open_data, $env_key, $priv_key_id, $method, $iv){}

/**
 * Generates a PKCS5 v2 PBKDF2 string
 *
 * {@link openssl_pbkdf2} computes PBKDF2 (Password-Based Key Derivation
 * Function 2), a key derivation function defined in PKCS5 v2.
 *
 * @param string $password Password from which the derived key is
 *   generated.
 * @param string $salt PBKDF2 recommends a crytographic salt of at
 *   least 64 bits (8 bytes).
 * @param int $key_length Length of desired output key.
 * @param int $iterations The number of iterations desired. NIST
 *   recommends at least 10,000.
 * @param string $digest_algorithm Optional hash or digest algorithm
 *   from {@link openssl_get_md_methods}. Defaults to SHA-1.
 * @return string Returns raw binary string.
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function openssl_pbkdf2($password, $salt, $key_length, $iterations, $digest_algorithm){}

/**
 * Decrypts an S/MIME encrypted message
 *
 * Decrypts the S/MIME encrypted message contained in the file specified
 * by {@link infilename} using the certificate and its associated private
 * key specified by {@link recipcert} and {@link recipkey}.
 *
 * @param string $infilename
 * @param string $outfilename The decrypted message is written to the
 *   file specified by {@link outfilename}.
 * @param mixed $recipcert
 * @param mixed $recipkey
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function openssl_pkcs7_decrypt($infilename, $outfilename, $recipcert, $recipkey){}

/**
 * Encrypt an S/MIME message
 *
 * {@link openssl_pkcs7_encrypt} takes the contents of the file named
 * {@link infile} and encrypts them using an RC2 40-bit cipher so that
 * they can only be read by the intended recipients specified by {@link
 * recipcerts}.
 *
 * @param string $infile
 * @param string $outfile
 * @param mixed $recipcerts Either a lone X.509 certificate, or an
 *   array of X.509 certificates.
 * @param array $headers {@link headers} is an array of headers that
 *   will be prepended to the data after it has been encrypted. {@link
 *   headers} can be either an associative array keyed by header name, or
 *   an indexed array, where each element contains a single header line.
 * @param int $flags {@link flags} can be used to specify options that
 *   affect the encoding process - see PKCS7 constants.
 * @param int $cipherid One of cipher constants.
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function openssl_pkcs7_encrypt($infile, $outfile, $recipcerts, $headers, $flags, $cipherid){}

/**
 * Export the PKCS7 file to an array of PEM certificates
 *
 * @param string $infilename
 * @param array $certs
 * @return bool
 * @since PHP 7 >= 7.2.0
 **/
function openssl_pkcs7_read($infilename, &$certs){}

/**
 * Sign an S/MIME message
 *
 * {@link openssl_pkcs7_sign} takes the contents of the file named {@link
 * infilename} and signs them using the certificate and its matching
 * private key specified by {@link signcert} and {@link privkey}
 * parameters.
 *
 * @param string $infilename The input file you are intending to
 *   digitally sign.
 * @param string $outfilename The file which the digital signature will
 *   be written to.
 * @param mixed $signcert The X.509 certificate used to digitally sign
 *   infilename. See Key/Certificate parameters for a list of valid
 *   values.
 * @param mixed $privkey {@link privkey} is the private key
 *   corresponding to signcert. See Public/Private Key parameters for a
 *   list of valid values.
 * @param array $headers {@link headers} is an array of headers that
 *   will be prepended to the data after it has been signed (see {@link
 *   openssl_pkcs7_encrypt} for more information about the format of this
 *   parameter).
 * @param int $flags {@link flags} can be used to alter the output -
 *   see PKCS7 constants.
 * @param string $extracerts {@link extracerts} specifies the name of a
 *   file containing a bunch of extra certificates to include in the
 *   signature which can for example be used to help the recipient to
 *   verify the certificate that you used.
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function openssl_pkcs7_sign($infilename, $outfilename, $signcert, $privkey, $headers, $flags, $extracerts){}

/**
 * Verifies the signature of an S/MIME signed message
 *
 * {@link openssl_pkcs7_verify} reads the S/MIME message contained in the
 * given file and examines the digital signature.
 *
 * @param string $filename Path to the message.
 * @param int $flags {@link flags} can be used to affect how the
 *   signature is verified - see PKCS7 constants for more information.
 * @param string $outfilename If the {@link outfilename} is specified,
 *   it should be a string holding the name of a file into which the
 *   certificates of the persons that signed the messages will be stored
 *   in PEM format.
 * @param array $cainfo If the {@link cainfo} is specified, it should
 *   hold information about the trusted CA certificates to use in the
 *   verification process - see certificate verification for more
 *   information about this parameter.
 * @param string $extracerts If the {@link extracerts} is specified, it
 *   is the filename of a file containing a bunch of certificates to use
 *   as untrusted CAs.
 * @param string $content You can specify a filename with {@link
 *   content} that will be filled with the verified data, but with the
 *   signature information stripped.
 * @param string $p7bfilename
 * @return mixed Returns TRUE if the signature is verified, FALSE if it
 *   is not correct (the message has been tampered with, or the signing
 *   certificate is invalid), or -1 on error.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function openssl_pkcs7_verify($filename, $flags, $outfilename, $cainfo, $extracerts, $content, $p7bfilename){}

/**
 * Exports a PKCS#12 Compatible Certificate Store File to variable
 *
 * {@link openssl_pkcs12_export} stores {@link x509} into a string named
 * by {@link out} in a PKCS#12 file format.
 *
 * @param mixed $x509 On success, this will hold the PKCS#12.
 * @param string $out Private key component of PKCS#12 file. See
 *   Public/Private Key parameters for a list of valid values.
 * @param mixed $priv_key Encryption password for unlocking the PKCS#12
 *   file.
 * @param string $pass Optional array, other keys will be ignored. Key
 *   "extracerts" array of extra certificates or a single certificate to
 *   be included in the PKCS#12 file. "friendlyname" string to be used
 *   for the supplied certificate and key
 * @param array $args
 * @return bool
 * @since PHP 5 >= 5.2.2, PHP 7
 **/
function openssl_pkcs12_export($x509, &$out, $priv_key, $pass, $args){}

/**
 * Exports a PKCS#12 Compatible Certificate Store File
 *
 * {@link openssl_pkcs12_export_to_file} stores {@link x509} into a file
 * named by {@link filename} in a PKCS#12 file format.
 *
 * @param mixed $x509 Path to the output file.
 * @param string $filename Private key component of PKCS#12 file. See
 *   Public/Private Key parameters for a list of valid values.
 * @param mixed $priv_key Encryption password for unlocking the PKCS#12
 *   file.
 * @param string $pass Optional array, other keys will be ignored. Key
 *   "extracerts" array of extra certificates or a single certificate to
 *   be included in the PKCS#12 file. "friendlyname" string to be used
 *   for the supplied certificate and key
 * @param array $args
 * @return bool
 * @since PHP 5 >= 5.2.2, PHP 7
 **/
function openssl_pkcs12_export_to_file($x509, $filename, $priv_key, $pass, $args){}

/**
 * Parse a PKCS#12 Certificate Store into an array
 *
 * {@link openssl_pkcs12_read} parses the PKCS#12 certificate store
 * supplied by {@link pkcs12} into a array named {@link certs}.
 *
 * @param string $pkcs12 The certificate store contents, not its file
 *   name.
 * @param array $certs On success, this will hold the Certificate Store
 *   Data.
 * @param string $pass Encryption password for unlocking the PKCS#12
 *   file.
 * @return bool
 * @since PHP 5 >= 5.2.2, PHP 7
 **/
function openssl_pkcs12_read($pkcs12, &$certs, $pass){}

/**
 * Gets an exportable representation of a key into a string
 *
 * {@link openssl_pkey_export} exports {@link key} as a PEM encoded
 * string and stores it into {@link out} (which is passed by reference).
 *
 * @param mixed $key
 * @param string $out
 * @param string $passphrase The key is optionally protected by {@link
 *   passphrase}.
 * @param array $configargs {@link configargs} can be used to fine-tune
 *   the export process by specifying and/or overriding options for the
 *   openssl configuration file. See {@link openssl_csr_new} for more
 *   information about {@link configargs}.
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function openssl_pkey_export($key, &$out, $passphrase, $configargs){}

/**
 * Gets an exportable representation of a key into a file
 *
 * {@link openssl_pkey_export_to_file} saves an ascii-armoured (PEM
 * encoded) rendition of {@link key} into the file named by {@link
 * outfilename}.
 *
 * @param mixed $key
 * @param string $outfilename Path to the output file.
 * @param string $passphrase The key can be optionally protected by a
 *   {@link passphrase}.
 * @param array $configargs {@link configargs} can be used to fine-tune
 *   the export process by specifying and/or overriding options for the
 *   openssl configuration file. See {@link openssl_csr_new} for more
 *   information about {@link configargs}.
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function openssl_pkey_export_to_file($key, $outfilename, $passphrase, $configargs){}

/**
 * Frees a private key
 *
 * This function frees a private key created by {@link openssl_pkey_new}.
 *
 * @param resource $key Resource holding the key.
 * @return void
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function openssl_pkey_free($key){}

/**
 * Returns an array with the key details
 *
 * This function returns the key details (bits, key, type).
 *
 * @param resource $key Resource holding the key.
 * @return array Returns an array with the key details in success or
 *   FALSE in failure. Returned array has indexes bits (number of bits),
 *   key (string representation of the public key) and type (type of the
 *   key which is one of OPENSSL_KEYTYPE_RSA, OPENSSL_KEYTYPE_DSA,
 *   OPENSSL_KEYTYPE_DH, OPENSSL_KEYTYPE_EC or -1 meaning unknown).
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function openssl_pkey_get_details($key){}

/**
 * Get a private key
 *
 * {@link openssl_get_privatekey} parses {@link key} and prepares it for
 * use by other functions.
 *
 * @param mixed $key {@link key} can be one of the following: a string
 *   having the format file://path/to/file.pem. The named file must
 *   contain a PEM encoded certificate/private key (it may contain both).
 *   A PEM formatted private key.
 * @param string $passphrase The optional parameter {@link passphrase}
 *   must be used if the specified key is encrypted (protected by a
 *   passphrase).
 * @return resource Returns a positive key resource identifier on
 *   success, or FALSE on error.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function openssl_pkey_get_private($key, $passphrase){}

/**
 * Extract public key from certificate and prepare it for use
 *
 * {@link openssl_get_publickey} extracts the public key from {@link
 * certificate} and prepares it for use by other functions.
 *
 * @param mixed $certificate {@link certificate} can be one of the
 *   following: an X.509 certificate resource a string having the format
 *   file://path/to/file.pem. The named file must contain a PEM encoded
 *   certificate/public key (it may contain both). A PEM formatted public
 *   key.
 * @return resource Returns a positive key resource identifier on
 *   success, or FALSE on error.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function openssl_pkey_get_public($certificate){}

/**
 * Generates a new private key
 *
 * {@link openssl_pkey_new} generates a new private and public key pair.
 * The public component of the key can be obtained using {@link
 * openssl_pkey_get_public}.
 *
 * @param array $configargs You can finetune the key generation (such
 *   as specifying the number of bits) using {@link configargs}. See
 *   {@link openssl_csr_new} for more information about {@link
 *   configargs}.
 * @return resource Returns a resource identifier for the pkey on
 *   success, or FALSE on error.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function openssl_pkey_new($configargs){}

/**
 * Decrypts data with private key
 *
 * {@link openssl_private_decrypt} decrypts {@link data} that was
 * previously encrypted via {@link openssl_public_encrypt} and stores the
 * result into {@link decrypted}.
 *
 * You can use this function e.g. to decrypt data which is supposed to
 * only be available to you.
 *
 * @param string $data
 * @param string $decrypted
 * @param mixed $key {@link key} must be the private key corresponding
 *   that was used to encrypt the data.
 * @param int $padding {@link padding} can be one of
 *   OPENSSL_PKCS1_PADDING, OPENSSL_SSLV23_PADDING,
 *   OPENSSL_PKCS1_OAEP_PADDING, OPENSSL_NO_PADDING.
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function openssl_private_decrypt($data, &$decrypted, $key, $padding){}

/**
 * Encrypts data with private key
 *
 * {@link openssl_private_encrypt} encrypts {@link data} with private
 * {@link key} and stores the result into {@link crypted}. Encrypted data
 * can be decrypted via {@link openssl_public_decrypt}.
 *
 * This function can be used e.g. to sign data (or its hash) to prove
 * that it is not written by someone else.
 *
 * @param string $data
 * @param string $crypted
 * @param mixed $key
 * @param int $padding {@link padding} can be one of
 *   OPENSSL_PKCS1_PADDING, OPENSSL_NO_PADDING.
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function openssl_private_encrypt($data, &$crypted, $key, $padding){}

/**
 * Decrypts data with public key
 *
 * {@link openssl_public_decrypt} decrypts {@link data} that was previous
 * encrypted via {@link openssl_private_encrypt} and stores the result
 * into {@link decrypted}.
 *
 * You can use this function e.g. to check if the message was written by
 * the owner of the private key.
 *
 * @param string $data
 * @param string $decrypted
 * @param mixed $key {@link key} must be the public key corresponding
 *   that was used to encrypt the data.
 * @param int $padding {@link padding} can be one of
 *   OPENSSL_PKCS1_PADDING, OPENSSL_NO_PADDING.
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function openssl_public_decrypt($data, &$decrypted, $key, $padding){}

/**
 * Encrypts data with public key
 *
 * {@link openssl_public_encrypt} encrypts {@link data} with public
 * {@link key} and stores the result into {@link crypted}. Encrypted data
 * can be decrypted via {@link openssl_private_decrypt}.
 *
 * This function can be used e.g. to encrypt message which can be then
 * read only by owner of the private key. It can be also used to store
 * secure data in database.
 *
 * @param string $data
 * @param string $crypted This will hold the result of the encryption.
 * @param mixed $key The public key.
 * @param int $padding {@link padding} can be one of
 *   OPENSSL_PKCS1_PADDING, OPENSSL_SSLV23_PADDING,
 *   OPENSSL_PKCS1_OAEP_PADDING, OPENSSL_NO_PADDING.
 * @return bool
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function openssl_public_encrypt($data, &$crypted, $key, $padding){}

/**
 * Generate a pseudo-random string of bytes
 *
 * Generates a string of pseudo-random bytes, with the number of bytes
 * determined by the {@link length} parameter.
 *
 * It also indicates if a cryptographically strong algorithm was used to
 * produce the pseudo-random bytes, and does this via the optional {@link
 * crypto_strong} parameter. It's rare for this to be FALSE, but some
 * systems may be broken or old.
 *
 * @param int $length The length of the desired string of bytes. Must
 *   be a positive integer. PHP will try to cast this parameter to a
 *   non-null integer to use it.
 * @param bool $crypto_strong If passed into the function, this will
 *   hold a boolean value that determines if the algorithm used was
 *   "cryptographically strong", e.g., safe for usage with GPG,
 *   passwords, etc. TRUE if it did, otherwise FALSE
 * @return string Returns the generated of bytes on success, .
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function openssl_random_pseudo_bytes($length, &$crypto_strong){}

/**
 * Seal (encrypt) data
 *
 * {@link openssl_seal} seals (encrypts) {@link data} by using the given
 * {@link method} with a randomly generated secret key. The key is
 * encrypted with each of the public keys associated with the identifiers
 * in {@link pub_key_ids} and each encrypted key is returned in {@link
 * env_keys}. This means that one can send sealed data to multiple
 * recipients (provided one has obtained their public keys). Each
 * recipient must receive both the sealed data and the envelope key that
 * was encrypted with the recipient's public key.
 *
 * @param string $data The data to seal.
 * @param string $sealed_data The sealed data.
 * @param array $env_keys Array of encrypted keys.
 * @param array $pub_key_ids Array of public key resource identifiers.
 * @param string $method The cipher method.
 * @param string $iv The initialization vector.
 * @return int Returns the length of the sealed data on success, or
 *   FALSE on error. If successful the sealed data is returned in {@link
 *   sealed_data}, and the envelope keys in {@link env_keys}.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function openssl_seal($data, &$sealed_data, &$env_keys, $pub_key_ids, $method, &$iv){}

/**
 * Generate signature
 *
 * {@link openssl_sign} computes a signature for the specified {@link
 * data} by generating a cryptographic digital signature using the
 * private key associated with {@link priv_key_id}. Note that the data
 * itself is not encrypted.
 *
 * @param string $data The string of data you wish to sign
 * @param string $signature If the call was successful the signature is
 *   returned in {@link signature}.
 * @param mixed $priv_key_id resource - a key, returned by {@link
 *   openssl_get_privatekey} string - a PEM formatted key
 * @param mixed $signature_alg int - one of these Signature Algorithms.
 *   string - a valid string returned by {@link openssl_get_md_methods}
 *   example, "sha256WithRSAEncryption" or "sha384".
 * @return bool
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function openssl_sign($data, &$signature, $priv_key_id, $signature_alg){}

/**
 * Exports a valid PEM formatted public key signed public key and
 * challenge
 *
 * Exports PEM formatted public key from encoded signed public key and
 * challenge
 *
 * @param string $spkac Expects a valid signed public key and challenge
 * @return string Returns the associated PEM formatted public key or
 *   NULL on failure.
 * @since PHP 5 >= 5.6.0, PHP 7
 **/
function openssl_spki_export(&$spkac){}

/**
 * Exports the challenge assoicated with a signed public key and
 * challenge
 *
 * Exports challenge from encoded signed public key and challenge
 *
 * @param string $spkac Expects a valid signed public key and challenge
 * @return string Returns the associated challenge string or NULL on
 *   failure.
 * @since PHP 5 >= 5.6.0, PHP 7
 **/
function openssl_spki_export_challenge(&$spkac){}

/**
 * Generate a new signed public key and challenge
 *
 * Generates a signed public key and challenge using specified hashing
 * algorithm
 *
 * @param resource $privkey {@link privkey} should be set to a private
 *   key that was previously generated by {@link openssl_pkey_new} (or
 *   otherwise obtained from the other openssl_pkey family of functions).
 *   The corresponding public portion of the key will be used to sign the
 *   CSR.
 * @param string $challenge The challenge associated to associate with
 *   the SPKAC
 * @param int $algorithm The digest algorithm. See
 *   openssl_get_md_method().
 * @return string Returns a signed public key and challenge string or
 *   NULL on failure.
 * @since PHP 5 >= 5.6.0, PHP 7
 **/
function openssl_spki_new(&$privkey, &$challenge, $algorithm){}

/**
 * Verifies a signed public key and challenge
 *
 * Validates the supplied signed public key and challenge
 *
 * @param string $spkac Expects a valid signed public key and challenge
 * @return string Returns a boolean on success or failure.
 * @since PHP 5 >= 5.6.0, PHP 7
 **/
function openssl_spki_verify(&$spkac){}

/**
 * Verify signature
 *
 * {@link openssl_verify} verifies that the {@link signature} is correct
 * for the specified {@link data} using the public key associated with
 * {@link pub_key_id}. This must be the public key corresponding to the
 * private key used for signing.
 *
 * @param string $data The string of data used to generate the
 *   signature previously
 * @param string $signature A raw binary string, generated by {@link
 *   openssl_sign} or similar means
 * @param mixed $pub_key_id resource - a key, returned by {@link
 *   openssl_get_publickey} string - a PEM formatted key, example,
 *   "-----BEGIN PUBLIC KEY----- MIIBCgK..."
 * @param mixed $signature_alg int - one of these Signature Algorithms.
 *   string - a valid string returned by {@link openssl_get_md_methods}
 *   example, "sha1WithRSAEncryption" or "sha512".
 * @return int Returns 1 if the signature is correct, 0 if it is
 *   incorrect, and -1 on error.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function openssl_verify($data, $signature, $pub_key_id, $signature_alg){}

/**
 * Verifies if a certificate can be used for a particular purpose
 *
 * {@link openssl_x509_checkpurpose} examines a certificate to see if it
 * can be used for the specified {@link purpose}.
 *
 * @param mixed $x509cert The examined certificate.
 * @param int $purpose {@link openssl_x509_checkpurpose} purposes
 *   Constant Description X509_PURPOSE_SSL_CLIENT Can the certificate be
 *   used for the client side of an SSL connection?
 *   X509_PURPOSE_SSL_SERVER Can the certificate be used for the server
 *   side of an SSL connection? X509_PURPOSE_NS_SSL_SERVER Can the cert
 *   be used for Netscape SSL server? X509_PURPOSE_SMIME_SIGN Can the
 *   cert be used to sign S/MIME email? X509_PURPOSE_SMIME_ENCRYPT Can
 *   the cert be used to encrypt S/MIME email? X509_PURPOSE_CRL_SIGN Can
 *   the cert be used to sign a certificate revocation list (CRL)?
 *   X509_PURPOSE_ANY Can the cert be used for Any/All purposes? These
 *   options are not bitfields - you may specify one only!
 * @param array $cainfo {@link cainfo} should be an array of trusted CA
 *   files/dirs as described in Certificate Verification.
 * @param string $untrustedfile If specified, this should be the name
 *   of a PEM encoded file holding certificates that can be used to help
 *   verify the certificate, although no trust is placed in the
 *   certificates that come from that file.
 * @return int Returns TRUE if the certificate can be used for the
 *   intended purpose, FALSE if it cannot, or -1 on error.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function openssl_x509_checkpurpose($x509cert, $purpose, $cainfo, $untrustedfile){}

/**
 * Checks if a private key corresponds to a certificate
 *
 * Checks whether the given {@link key} is the private key that
 * corresponds to {@link cert}.
 *
 * @param mixed $cert The certificate.
 * @param mixed $key The private key.
 * @return bool Returns TRUE if {@link key} is the private key that
 *   corresponds to {@link cert}, or FALSE otherwise.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function openssl_x509_check_private_key($cert, $key){}

/**
 * Exports a certificate as a string
 *
 * {@link openssl_x509_export} stores {@link x509} into a string named by
 * {@link output} in a PEM encoded format.
 *
 * @param mixed $x509 On success, this will hold the PEM.
 * @param string $output
 * @param bool $notext
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function openssl_x509_export($x509, &$output, $notext){}

/**
 * Exports a certificate to file
 *
 * {@link openssl_x509_export_to_file} stores {@link x509} into a file
 * named by {@link outfilename} in a PEM encoded format.
 *
 * @param mixed $x509 Path to the output file.
 * @param string $outfilename
 * @param bool $notext
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function openssl_x509_export_to_file($x509, $outfilename, $notext){}

/**
 * Calculates the fingerprint, or digest, of a given X.509 certificate
 *
 * {@link openssl_x509_fingerprint} returns the digest of {@link x509} as
 * a string.
 *
 * @param mixed $x509 The digest method or hash algorithm to use, e.g.
 *   "sha256", one of {@link openssl_get_md_methods}.
 * @param string $hash_algorithm When set to TRUE, outputs raw binary
 *   data. FALSE outputs lowercase hexits.
 * @param bool $raw_output
 * @return string Returns a string containing the calculated
 *   certificate fingerprint as lowercase hexits unless {@link
 *   raw_output} is set to TRUE in which case the raw binary
 *   representation of the message digest is returned.
 * @since PHP 5 >= 5.6.0, PHP 7
 **/
function openssl_x509_fingerprint($x509, $hash_algorithm, $raw_output){}

/**
 * Free certificate resource
 *
 * {@link openssl_x509_free} frees the certificate associated with the
 * specified {@link x509cert} resource from memory.
 *
 * @param resource $x509cert
 * @return void
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function openssl_x509_free($x509cert){}

/**
 * Parse an X509 certificate and return the information as an array
 *
 * {@link openssl_x509_parse} returns information about the supplied
 * {@link x509cert}, including fields such as subject name, issuer name,
 * purposes, valid from and valid to dates etc.
 *
 * @param mixed $x509cert
 * @param bool $shortnames {@link shortnames} controls how the data is
 *   indexed in the array - if {@link shortnames} is TRUE (the default)
 *   then fields will be indexed with the short name form, otherwise, the
 *   long name form will be used - e.g.: CN is the shortname form of
 *   commonName.
 * @return array The structure of the returned data is (deliberately)
 *   not yet documented, as it is still subject to change.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function openssl_x509_parse($x509cert, $shortnames){}

/**
 * Parse an X.509 certificate and return a resource identifier for it
 *
 * {@link openssl_x509_read} parses the certificate supplied by {@link
 * x509certdata} and returns a resource identifier for it.
 *
 * @param mixed $x509certdata X509 certificate. See Key/Certificate
 *   parameters for a list of valid values.
 * @return resource Returns a resource identifier on success.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function openssl_x509_read($x509certdata){}

/**
 * Convert the first byte of a string to a value between 0 and 255
 *
 * Interprets the binary value of the first byte of {@link string} as an
 * unsigned integer between 0 and 255.
 *
 * If the string is in a single-byte encoding, such as ASCII, ISO-8859,
 * or Windows 1252, this is equivalent to returning the position of a
 * character in the character set's mapping table. However, note that
 * this function is not aware of any string encoding, and in particular
 * will never identify a Unicode code point in a multi-byte encoding such
 * as UTF-8 or UTF-16.
 *
 * This function complements {@link chr}.
 *
 * @param string $string A character.
 * @return int An integer between 0 and 255.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ord($string){}

/**
 * Add URL rewriter values
 *
 * This function adds another name/value pair to the URL rewrite
 * mechanism. The name and value will be added to URLs (as GET parameter)
 * and forms (as hidden input fields) the same way as the session ID when
 * transparent URL rewriting is enabled with session.use_trans_sid.
 *
 * This function's behaviour is controlled by the url_rewriter.tags and
 * url_rewriter.hosts parameters.
 *
 * @param string $name The variable name.
 * @param string $value The variable value.
 * @return bool
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function output_add_rewrite_var($name, $value){}

/**
 * Reset URL rewriter values
 *
 * This function resets the URL rewriter and removes all rewrite
 * variables previously set by the {@link output_add_rewrite_var}
 * function.
 *
 * @return bool
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function output_reset_rewrite_vars(){}

/**
 * Overrides built-in functions
 *
 * Overrides built-in functions by replacing them in the symbol table.
 *
 * @param string $function_name The function to override.
 * @param string $function_args The function arguments, as a comma
 *   separated string. Usually you will want to pass this parameter, as
 *   well as the {@link function_code} parameter, as a single quote
 *   delimited string. The reason for using single quoted strings, is to
 *   protect the variable names from parsing, otherwise, if you use
 *   double quotes there will be a need to escape the variable names,
 *   e.g. \$your_var.
 * @param string $function_code The new code for the function.
 * @return bool
 * @since PECL apd >= 0.2
 **/
function override_function($function_name, $function_args, $function_code){}

/**
 * Pack data into binary string
 *
 * Pack given arguments into a binary string according to {@link format}.
 *
 * The idea for this function was taken from Perl and all formatting
 * codes work the same as in Perl. However, there are some formatting
 * codes that are missing such as Perl's "u" format code.
 *
 * Note that the distinction between signed and unsigned values only
 * affects the function {@link unpack}, where as function {@link pack}
 * gives the same result for signed and unsigned format codes.
 *
 * @param string $format The {@link format} string consists of format
 *   codes followed by an optional repeater argument. The repeater
 *   argument can be either an integer value or * for repeating to the
 *   end of the input data. For a, A, h, H the repeat count specifies how
 *   many characters of one data argument are taken, for @ it is the
 *   absolute position where to put the next data, for everything else
 *   the repeat count specifies how many data arguments are consumed and
 *   packed into the resulting binary string. Currently implemented
 *   formats are: {@link pack} format characters Code Description a
 *   NUL-padded string A SPACE-padded string h Hex string, low nibble
 *   first H Hex string, high nibble first csigned char C unsigned char s
 *   signed short (always 16 bit, machine byte order) S unsigned short
 *   (always 16 bit, machine byte order) n unsigned short (always 16 bit,
 *   big endian byte order) v unsigned short (always 16 bit, little
 *   endian byte order) i signed integer (machine dependent size and byte
 *   order) I unsigned integer (machine dependent size and byte order) l
 *   signed long (always 32 bit, machine byte order) L unsigned long
 *   (always 32 bit, machine byte order) N unsigned long (always 32 bit,
 *   big endian byte order) V unsigned long (always 32 bit, little endian
 *   byte order) q signed long long (always 64 bit, machine byte order) Q
 *   unsigned long long (always 64 bit, machine byte order) J unsigned
 *   long long (always 64 bit, big endian byte order) P unsigned long
 *   long (always 64 bit, little endian byte order) f float (machine
 *   dependent size and representation) g float (machine dependent size,
 *   little endian byte order) G float (machine dependent size, big
 *   endian byte order) d double (machine dependent size and
 *   representation) e double (machine dependent size, little endian byte
 *   order) E double (machine dependent size, big endian byte order) x
 *   NUL byte X Back up one byte Z NUL-padded string (new in PHP 5.5) @
 *   NUL-fill to absolute position
 * @param mixed $args
 * @return string Returns a binary string containing data.
 * @since PHP 4, PHP 5, PHP 7
 **/
function pack($format, $args){}

/**
 * Compile a PHP file and return the resulting op array
 *
 * @param string $filename A string containing the name of the file to
 *   compile. Similar to the argument to {@link include}.
 * @param array $errors A 2D hash of errors (including fatal errors)
 *   encountered during compilation. Returned by reference.
 * @param int $options One of either PARSEKIT_QUIET or PARSEKIT_SIMPLE.
 *   To produce varying degrees of verbosity in the returned output.
 * @return array Returns a complex multi-layer array structure as
 *   detailed below.
 * @since PECL parsekit >= 0.2.0
 **/
function parsekit_compile_file($filename, &$errors, $options){}

/**
 * Compile a string of PHP code and return the resulting op array
 *
 * @param string $phpcode A string containing phpcode. Similar to the
 *   argument to {@link eval}.
 * @param array $errors A 2D hash of errors (including fatal errors)
 *   encountered during compilation. Returned by reference.
 * @param int $options One of either PARSEKIT_QUIET or PARSEKIT_SIMPLE.
 *   To produce varying degrees of verbosity in the returned output.
 * @return array Returns a complex multi-layer array structure as
 *   detailed below.
 * @since PECL parsekit >= 0.2.0
 **/
function parsekit_compile_string($phpcode, &$errors, $options){}

/**
 * Return information regarding function argument(s)
 *
 * @param mixed $function A string describing a function, or an array
 *   describing a class/method.
 * @return array Returns an array containing argument information.
 * @since PECL parsekit >= 0.3.0
 **/
function parsekit_func_arginfo($function){}

/**
 * Parse a configuration file
 *
 * {@link parse_ini_file} loads in the ini file specified in {@link
 * filename}, and returns the settings in it in an associative array.
 *
 * The structure of the ini file is the same as the 's.
 *
 * @param string $filename The filename of the ini file being parsed.
 * @param bool $process_sections By setting the {@link
 *   process_sections} parameter to TRUE, you get a multidimensional
 *   array, with the section names and settings included. The default for
 *   {@link process_sections} is FALSE
 * @param int $scanner_mode Can either be INI_SCANNER_NORMAL (default)
 *   or INI_SCANNER_RAW. If INI_SCANNER_RAW is supplied, then option
 *   values will not be parsed.
 * @return array The settings are returned as an associative array on
 *   success, and FALSE on failure.
 * @since PHP 4, PHP 5, PHP 7
 **/
function parse_ini_file($filename, $process_sections, $scanner_mode){}

/**
 * Parse a configuration string
 *
 * {@link parse_ini_string} returns the settings in string {@link ini} in
 * an associative array.
 *
 * The structure of the ini string is the same as the 's.
 *
 * @param string $ini The contents of the ini file being parsed.
 * @param bool $process_sections By setting the {@link
 *   process_sections} parameter to TRUE, you get a multidimensional
 *   array, with the section names and settings included. The default for
 *   {@link process_sections} is FALSE
 * @param int $scanner_mode Can either be INI_SCANNER_NORMAL (default)
 *   or INI_SCANNER_RAW. If INI_SCANNER_RAW is supplied, then option
 *   values will not be parsed.
 * @return array The settings are returned as an associative array on
 *   success, and FALSE on failure.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function parse_ini_string($ini, $process_sections, $scanner_mode){}

/**
 * Parses the string into variables
 *
 * Parses {@link encoded_string} as if it were the query string passed
 * via a URL and sets variables in the current scope (or in the array if
 * {@link result} is provided).
 *
 * @param string $encoded_string The input string.
 * @param array $result If the second parameter {@link result} is
 *   present, variables are stored in this variable as array elements
 *   instead.
 * @return void
 * @since PHP 4, PHP 5, PHP 7
 **/
function parse_str($encoded_string, &$result){}

/**
 * Parse a URL and return its components
 *
 * This function parses a URL and returns an associative array containing
 * any of the various components of the URL that are present. The values
 * of the array elements are not URL decoded.
 *
 * This function is not meant to validate the given URL, it only breaks
 * it up into the above listed parts. Partial URLs are also accepted,
 * {@link parse_url} tries its best to parse them correctly.
 *
 * @param string $url The URL to parse. Invalid characters are replaced
 *   by _.
 * @param int $component Specify one of PHP_URL_SCHEME, PHP_URL_HOST,
 *   PHP_URL_PORT, PHP_URL_USER, PHP_URL_PASS, PHP_URL_PATH,
 *   PHP_URL_QUERY or PHP_URL_FRAGMENT to retrieve just a specific URL
 *   component as a string (except when PHP_URL_PORT is given, in which
 *   case the return value will be an integer).
 * @return mixed On seriously malformed URLs, {@link parse_url} may
 *   return FALSE.
 * @since PHP 4, PHP 5, PHP 7
 **/
function parse_url($url, $component){}

/**
 * Execute an external program and display raw output
 *
 * The {@link passthru} function is similar to the {@link exec} function
 * in that it executes a {@link command}. This function should be used in
 * place of {@link exec} or {@link system} when the output from the Unix
 * command is binary data which needs to be passed directly back to the
 * browser. A common use for this is to execute something like the
 * pbmplus utilities that can output an image stream directly. By setting
 * the Content-type to image/gif and then calling a pbmplus program to
 * output a gif, you can create PHP scripts that output images directly.
 *
 * @param string $command The command that will be executed.
 * @param int $return_var If the {@link return_var} argument is
 *   present, the return status of the Unix command will be placed here.
 * @return void
 * @since PHP 4, PHP 5, PHP 7
 **/
function passthru($command, &$return_var){}

/**
 * Returns information about the given hash
 *
 * When passed in a valid hash created by an algorithm supported by
 * {@link password_hash}, this function will return an array of
 * information about that hash.
 *
 * @param string $hash
 * @return array Returns an associative array with three elements:
 *   algo, which will match a password algorithm constant algoName, which
 *   has the human readable name of the algorithm options, which includes
 *   the options provided when calling {@link password_hash}
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function password_get_info($hash){}

/**
 * Creates a password hash
 *
 * {@link password_hash} creates a new password hash using a strong
 * one-way hashing algorithm. {@link password_hash} is compatible with
 * {@link crypt}. Therefore, password hashes created by {@link crypt} can
 * be used with {@link password_hash}.
 *
 * PASSWORD_DEFAULT - Use the bcrypt algorithm (default as of PHP 5.5.0).
 * Note that this constant is designed to change over time as new and
 * stronger algorithms are added to PHP. For that reason, the length of
 * the result from using this identifier can change over time. Therefore,
 * it is recommended to store the result in a database column that can
 * expand beyond 60 characters (255 characters would be a good choice).
 * PASSWORD_BCRYPT - Use the CRYPT_BLOWFISH algorithm to create the hash.
 * This will produce a standard {@link crypt} compatible hash using the
 * "$2y$" identifier. The result will always be a 60 character string, .
 * PASSWORD_ARGON2I - Use the Argon2 hashing algorithm to create the
 * hash.
 *
 * salt (string) - to manually provide a salt to use when hashing the
 * password. Note that this will override and prevent a salt from being
 * automatically generated. If omitted, a random salt will be generated
 * by {@link password_hash} for each password hashed. This is the
 * intended mode of operation. The salt option has been deprecated as of
 * PHP 7.0.0. It is now preferred to simply use the salt that is
 * generated by default. cost (integer) - which denotes the algorithmic
 * cost that should be used. Examples of these values can be found on the
 * {@link crypt} page. If omitted, a default value of 10 will be used.
 * This is a good baseline cost, but you may want to consider increasing
 * it depending on your hardware.
 *
 * memory_cost (integer) - Maximum memory (in kibibytes) that may be used
 * to compute the Argon2 hash. Defaults to
 * PASSWORD_ARGON2_DEFAULT_MEMORY_COST. time_cost (integer) - Maximum
 * amount of time it may take to compute the Argon2 hash. Defaults to
 * PASSWORD_ARGON2_DEFAULT_TIME_COST. threads (integer) - Number of
 * threads to use for computing the Argon2 hash. Defaults to
 * PASSWORD_ARGON2_DEFAULT_THREADS.
 *
 * @param string $password
 * @param int $algo
 * @param array $options If omitted, a random salt will be created and
 *   the default cost will be used.
 * @return string Returns the hashed password, .
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function password_hash($password, $algo, $options){}

/**
 * Checks if the given hash matches the given options
 *
 * This function checks to see if the supplied hash implements the
 * algorithm and options provided. If not, it is assumed that the hash
 * needs to be rehashed.
 *
 * @param string $hash
 * @param int $algo
 * @param array $options
 * @return bool Returns TRUE if the hash should be rehashed to match
 *   the given {@link algo} and {@link options}, or FALSE otherwise.
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function password_needs_rehash($hash, $algo, $options){}

/**
 * Verifies that a password matches a hash
 *
 * Verifies that the given hash matches the given password.
 *
 * Note that {@link password_hash} returns the algorithm, cost and salt
 * as part of the returned hash. Therefore, all information that's needed
 * to verify the hash is included in it. This allows the verify function
 * to verify the hash without needing separate storage for the salt or
 * algorithm information.
 *
 * This function is safe against timing attacks.
 *
 * @param string $password
 * @param string $hash
 * @return bool Returns TRUE if the password and hash match, or FALSE
 *   otherwise.
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function password_verify($password, $hash){}

/**
 * Returns information about a file path
 *
 * {@link pathinfo} returns information about {@link path}: either an
 * associative array or a string, depending on {@link options}.
 *
 * @param string $path The path to be parsed.
 * @param int $options If present, specifies a specific element to be
 *   returned; one of PATHINFO_DIRNAME, PATHINFO_BASENAME,
 *   PATHINFO_EXTENSION or PATHINFO_FILENAME. If {@link options} is not
 *   specified, returns all available elements.
 * @return mixed If the {@link options} parameter is not passed, an
 *   associative array containing the following elements is returned:
 *   dirname, basename, extension (if any), and filename.
 * @since PHP 4 >= 4.0.3, PHP 5, PHP 7
 **/
function pathinfo($path, $options){}

/**
 * Closes process file pointer
 *
 * Closes a file pointer to a pipe opened by {@link popen}.
 *
 * @param resource $handle The file pointer must be valid, and must
 *   have been returned by a successful call to {@link popen}.
 * @return int Returns the termination status of the process that was
 *   run. In case of an error then -1 is returned.
 * @since PHP 4, PHP 5, PHP 7
 **/
function pclose($handle){}

/**
 * Set an alarm clock for delivery of a signal
 *
 * Creates a timer that will send a SIGALRM signal to the process after
 * the given number of seconds. Any call to {@link pcntl_alarm} will
 * cancel any previously set alarm.
 *
 * @param int $seconds The number of seconds to wait. If {@link
 *   seconds} is zero, no new alarm is created.
 * @return int Returns the time in seconds that any previously
 *   scheduled alarm had remaining before it was to be delivered, or 0 if
 *   there was no previously scheduled alarm.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function pcntl_alarm($seconds){}

/**
 * Enable/disable asynchronous signal handling or return the old setting
 *
 * If the {@link on} parameter is omitted, {@link pcntl_async_signals}
 * returns whether asynchronous signal handling is enabled. Otherwise,
 * asynchronous signal handling is enabled or disabled.
 *
 * @param bool $on Whether asynchronous signal handling should be
 *   enabled.
 * @return bool When used as getter (that is without the optional
 *   parameter) it returns whether asynchronous signal handling is
 *   enabled. When used as setter (that is with the optional parameter
 *   given), it returns whether asynchronous signal handling was enabled
 *   before the function call.
 * @since PHP 7 >= 7.1.0
 **/
function pcntl_async_signals($on){}

/**
 * Retrieve the error number set by the last pcntl function which failed
 *
 * @return int Returns error code.
 * @since PHP 5 >= 5.3.4, PHP 7
 **/
function pcntl_errno(){}

/**
 * Executes specified program in current process space
 *
 * Executes the program with the given arguments.
 *
 * @param string $path {@link path} must be the path to a binary
 *   executable or a script with a valid path pointing to an executable
 *   in the shebang ( #!/usr/local/bin/perl for example) as the first
 *   line. See your system's man execve(2) page for additional
 *   information.
 * @param array $args {@link args} is an array of argument strings
 *   passed to the program.
 * @param array $envs {@link envs} is an array of strings which are
 *   passed as environment to the program. The array is in the format of
 *   name => value, the key being the name of the environmental variable
 *   and the value being the value of that variable.
 * @return void
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pcntl_exec($path, $args, $envs){}

/**
 * Forks the currently running process
 *
 * The {@link pcntl_fork} function creates a child process that differs
 * from the parent process only in its PID and PPID. Please see your
 * system's fork(2) man page for specific details as to how fork works on
 * your system.
 *
 * @return int On success, the PID of the child process is returned in
 *   the parent's thread of execution, and a 0 is returned in the child's
 *   thread of execution. On failure, a -1 will be returned in the
 *   parent's context, no child process will be created, and a PHP error
 *   is raised.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function pcntl_fork(){}

/**
 * Get the priority of any process
 *
 * {@link pcntl_getpriority} gets the priority of {@link pid}. Because
 * priority levels can differ between system types and kernel versions,
 * please see your system's getpriority(2) man page for specific details.
 *
 * @param int $pid If not specified, the pid of the current process is
 *   used.
 * @param int $process_identifier One of PRIO_PGRP, PRIO_USER or
 *   PRIO_PROCESS.
 * @return int {@link pcntl_getpriority} returns the priority of the
 *   process or FALSE on error. A lower numerical value causes more
 *   favorable scheduling.
 * @since PHP 5, PHP 7
 **/
function pcntl_getpriority($pid, $process_identifier){}

/**
 * Retrieve the error number set by the last pcntl function which failed
 *
 * @return int Returns error code.
 * @since PHP 5 >= 5.3.4, PHP 7
 **/
function pcntl_get_last_error(){}

/**
 * Change the priority of any process
 *
 * {@link pcntl_setpriority} sets the priority of {@link pid}.
 *
 * @param int $priority {@link priority} is generally a value in the
 *   range -20 to 20. The default priority is 0 while a lower numerical
 *   value causes more favorable scheduling. Because priority levels can
 *   differ between system types and kernel versions, please see your
 *   system's setpriority(2) man page for specific details.
 * @param int $pid If not specified, the pid of the current process is
 *   used.
 * @param int $process_identifier One of PRIO_PGRP, PRIO_USER or
 *   PRIO_PROCESS.
 * @return bool
 * @since PHP 5, PHP 7
 **/
function pcntl_setpriority($priority, $pid, $process_identifier){}

/**
 * Installs a signal handler
 *
 * The {@link pcntl_signal} function installs a new signal handler or
 * replaces the current signal handler for the signal indicated by {@link
 * signo}.
 *
 * @param int $signo The signal number.
 * @param callable|int $handler The signal handler. This may be either
 *   a callable, which will be invoked to handle the signal, or either of
 *   the two global constants SIG_IGN or SIG_DFL, which will ignore the
 *   signal or restore the default signal handler respectively. If a
 *   callable is given, it must implement the following signature:
 *   
 *   voidhandler int{@link signo} mixed{@link signinfo} {@link signo} The
 *   signal being handled. {@link siginfo} If operating systems supports
 *   siginfo_t structures, this will be an array of signal information
 *   dependent on the signal.
 * @param bool $restart_syscalls
 * @return bool
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function pcntl_signal($signo, $handler, $restart_syscalls){}

/**
 * Calls signal handlers for pending signals
 *
 * The {@link pcntl_signal_dispatch} function calls the signal handlers
 * installed by {@link pcntl_signal} for each pending signal.
 *
 * @return bool
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function pcntl_signal_dispatch(){}

/**
 * Get the current handler for specified signal
 *
 * The {@link pcntl_signal_get_handler} function will get the current
 * handler for the specified {@link signo}.
 *
 * @param int $signo The signal number.
 * @return mixed This function may return an integer value that refers
 *   to SIG_DFL or SIG_IGN. If you set a custom handler a string value
 *   containing the function name is returned.
 * @since PHP 7 >= 7.1.0
 **/
function pcntl_signal_get_handler($signo){}

/**
 * Sets and retrieves blocked signals
 *
 * The {@link pcntl_sigprocmask} function adds, removes or sets blocked
 * signals, depending on the {@link how} parameter.
 *
 * @param int $how Sets the behavior of {@link pcntl_sigprocmask}.
 *   Possible values: SIG_BLOCK: Add the signals to the currently blocked
 *   signals. SIG_UNBLOCK: Remove the signals from the currently blocked
 *   signals. SIG_SETMASK: Replace the currently blocked signals by the
 *   given list of signals.
 * @param array $set List of signals.
 * @param array $oldset The {@link oldset} parameter is set to an array
 *   containing the list of the previously blocked signals.
 * @return bool
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function pcntl_sigprocmask($how, $set, &$oldset){}

/**
 * Waits for signals, with a timeout
 *
 * The {@link pcntl_sigtimedwait} function operates in exactly the same
 * way as {@link pcntl_sigwaitinfo} except that it takes two additional
 * parameters, {@link seconds} and {@link nanoseconds}, which enable an
 * upper bound to be placed on the time for which the script is
 * suspended.
 *
 * @param array $set Array of signals to wait for.
 * @param array $siginfo The {@link siginfo} is set to an array
 *   containing informations about the signal. See {@link
 *   pcntl_sigwaitinfo}.
 * @param int $seconds Timeout in seconds.
 * @param int $nanoseconds Timeout in nanoseconds.
 * @return int On success, {@link pcntl_sigtimedwait} returns a signal
 *   number.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function pcntl_sigtimedwait($set, &$siginfo, $seconds, $nanoseconds){}

/**
 * Waits for signals
 *
 * The {@link pcntl_sigwaitinfo} function suspends execution of the
 * calling script until one of the signals given in {@link set} are
 * delivered. If one of the signal is already pending (e.g. blocked by
 * {@link pcntl_sigprocmask}), {@link pcntl_sigwaitinfo} will return
 * immediately.
 *
 * @param array $set Array of signals to wait for.
 * @param array $siginfo The {@link siginfo} parameter is set to an
 *   array containing informations about the signal. The following
 *   elements are set for all signals: signo: Signal number errno: An
 *   error number code: Signal code The following elements may be set for
 *   the SIGCHLD signal: status: Exit value or signal utime: User time
 *   consumed stime: System time consumed pid: Sending process ID uid:
 *   Real user ID of sending process The following elements may be set
 *   for the SIGILL, SIGFPE, SIGSEGV and SIGBUS signals: addr: Memory
 *   location which caused fault The following element may be set for the
 *   SIGPOLL signal: band: Band event fd: File descriptor number
 * @return int On success, {@link pcntl_sigwaitinfo} returns a signal
 *   number.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function pcntl_sigwaitinfo($set, &$siginfo){}

/**
 * Retrieve the system error message associated with the given errno
 *
 * @param int $errno
 * @return string Returns error description on success.
 * @since PHP 5 >= 5.3.4, PHP 7
 **/
function pcntl_strerror($errno){}

/**
 * Waits on or returns the status of a forked child
 *
 * The wait function suspends execution of the current process until a
 * child has exited, or until a signal is delivered whose action is to
 * terminate the current process or to call a signal handling function.
 * If a child has already exited by the time of the call (a so-called
 * "zombie" process), the function returns immediately. Any system
 * resources used by the child are freed. Please see your system's
 * wait(2) man page for specific details as to how wait works on your
 * system.
 *
 * @param int $status {@link pcntl_wait} will store status information
 *   in the {@link status} parameter which can be evaluated using the
 *   following functions: {@link pcntl_wifexited}, {@link
 *   pcntl_wifstopped}, {@link pcntl_wifsignaled}, {@link
 *   pcntl_wexitstatus}, {@link pcntl_wtermsig} and {@link
 *   pcntl_wstopsig}.
 * @param int $options If wait3 is available on your system (mostly
 *   BSD-style systems), you can provide the optional {@link options}
 *   parameter. If this parameter is not provided, wait will be used for
 *   the system call. If wait3 is not available, providing a value for
 *   options will have no effect. The value of options is the value of
 *   zero or more of the following two constants OR'ed together: Possible
 *   values for {@link options} WNOHANG Return immediately if no child
 *   has exited. WUNTRACED Return for children which are stopped, and
 *   whose status has not been reported.
 * @param array $rusage
 * @return int {@link pcntl_wait} returns the process ID of the child
 *   which exited, -1 on error or zero if WNOHANG was provided as an
 *   option (on wait3-available systems) and no child was available.
 * @since PHP 5, PHP 7
 **/
function pcntl_wait(&$status, $options, &$rusage){}

/**
 * Waits on or returns the status of a forked child
 *
 * Suspends execution of the current process until a child as specified
 * by the {@link pid} argument has exited, or until a signal is delivered
 * whose action is to terminate the current process or to call a signal
 * handling function.
 *
 * If a child as requested by {@link pid} has already exited by the time
 * of the call (a so-called "zombie" process), the function returns
 * immediately. Any system resources used by the child are freed. Please
 * see your system's waitpid(2) man page for specific details as to how
 * waitpid works on your system.
 *
 * @param int $pid The value of {@link pid} can be one of the
 *   following: possible values for {@link pid} < -1 wait for any child
 *   process whose process group ID is equal to the absolute value of
 *   {@link pid}. -1 wait for any child process; this is the same
 *   behaviour that the wait function exhibits. 0 wait for any child
 *   process whose process group ID is equal to that of the calling
 *   process. > 0 wait for the child whose process ID is equal to the
 *   value of {@link pid}.
 * @param int $status {@link pcntl_waitpid} will store status
 *   information in the {@link status} parameter which can be evaluated
 *   using the following functions: {@link pcntl_wifexited}, {@link
 *   pcntl_wifstopped}, {@link pcntl_wifsignaled}, {@link
 *   pcntl_wexitstatus}, {@link pcntl_wtermsig} and {@link
 *   pcntl_wstopsig}.
 * @param int $options The value of {@link options} is the value of
 *   zero or more of the following two global constants OR'ed together:
 *   possible values for {@link options} WNOHANG return immediately if no
 *   child has exited. WUNTRACED return for children which are stopped,
 *   and whose status has not been reported.
 * @param array $rusage
 * @return int {@link pcntl_waitpid} returns the process ID of the
 *   child which exited, -1 on error or zero if WNOHANG was used and no
 *   child was available
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function pcntl_waitpid($pid, &$status, $options, &$rusage){}

/**
 * Returns the return code of a terminated child
 *
 * Returns the return code of a terminated child. This function is only
 * useful if {@link pcntl_wifexited} returned TRUE.
 *
 * @param int $status
 * @return int Returns the return code, as an integer.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function pcntl_wexitstatus($status){}

/**
 * Checks if status code represents a normal exit
 *
 * Checks whether the child status code represents a normal exit.
 *
 * @param int $status
 * @return bool Returns TRUE if the child status code represents a
 *   normal exit, FALSE otherwise.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function pcntl_wifexited($status){}

/**
 * Checks whether the status code represents a termination due to a
 * signal
 *
 * Checks whether the child process exited because of a signal which was
 * not caught.
 *
 * @param int $status
 * @return bool Returns TRUE if the child process exited because of a
 *   signal which was not caught, FALSE otherwise.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function pcntl_wifsignaled($status){}

/**
 * Checks whether the child process is currently stopped
 *
 * Checks whether the child process which caused the return is currently
 * stopped; this is only possible if the call to {@link pcntl_waitpid}
 * was done using the option WUNTRACED.
 *
 * @param int $status
 * @return bool Returns TRUE if the child process which caused the
 *   return is currently stopped, FALSE otherwise.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function pcntl_wifstopped($status){}

/**
 * Returns the signal which caused the child to stop
 *
 * Returns the number of the signal which caused the child to stop. This
 * function is only useful if {@link pcntl_wifstopped} returned TRUE.
 *
 * @param int $status
 * @return int Returns the signal number.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function pcntl_wstopsig($status){}

/**
 * Returns the signal which caused the child to terminate
 *
 * Returns the number of the signal that caused the child process to
 * terminate. This function is only useful if {@link pcntl_wifsignaled}
 * returned TRUE.
 *
 * @param int $status
 * @return int Returns the signal number, as an integer.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function pcntl_wtermsig($status){}

/**
 * Activate structure element or other content item
 *
 * Activates a previously created structure element or other content
 * item.
 *
 * @param resource $pdfdoc
 * @param int $id
 * @return bool
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_activate_item($pdfdoc, $id){}

/**
 * Add launch annotation for current page [deprecated]
 *
 * Adds a link to a web resource.
 *
 * This function is deprecated since PDFlib version 6, use {@link
 * PDF_create_action} with {@link type=Launch} and {@link
 * PDF_create_annotation} with {@link type=Link} instead.
 *
 * @param resource $pdfdoc
 * @param float $llx
 * @param float $lly
 * @param float $urx
 * @param float $ury
 * @param string $filename
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0
 **/
function PDF_add_launchlink($pdfdoc, $llx, $lly, $urx, $ury, $filename){}

/**
 * Add link annotation for current page [deprecated]
 *
 * Add a link annotation to a target within the current PDF file.
 *
 * This function is deprecated since PDFlib version 6, use {@link
 * PDF_create_action} with {@link type=GoTo} and {@link
 * PDF_create_annotation} with {@link type=Link} instead.
 *
 * @param resource $pdfdoc
 * @param float $lowerleftx
 * @param float $lowerlefty
 * @param float $upperrightx
 * @param float $upperrighty
 * @param int $page
 * @param string $dest
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0
 **/
function PDF_add_locallink($pdfdoc, $lowerleftx, $lowerlefty, $upperrightx, $upperrighty, $page, $dest){}

/**
 * Create named destination
 *
 * Creates a named destination on an arbitrary page in the current
 * document.
 *
 * @param resource $pdfdoc
 * @param string $name
 * @param string $optlist
 * @return bool
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_add_nameddest($pdfdoc, $name, $optlist){}

/**
 * Set annotation for current page [deprecated]
 *
 * Sets an annotation for the current page.
 *
 * This function is deprecated since PDFlib version 6, use {@link
 * PDF_create_annotation} with {@link type=Text} instead.
 *
 * @param resource $pdfdoc
 * @param float $llx
 * @param float $lly
 * @param float $urx
 * @param float $ury
 * @param string $contents
 * @param string $title
 * @param string $icon
 * @param int $open
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0
 **/
function PDF_add_note($pdfdoc, $llx, $lly, $urx, $ury, $contents, $title, $icon, $open){}

/**
 * Add file link annotation for current page [deprecated]
 *
 * Add a file link annotation to a PDF target.
 *
 * This function is deprecated since PDFlib version 6, use {@link
 * PDF_create_action} with {@link type=GoToR} and {@link
 * PDF_create_annotation} with {@link type=Link} instead.
 *
 * @param resource $pdfdoc
 * @param float $bottom_left_x
 * @param float $bottom_left_y
 * @param float $up_right_x
 * @param float $up_right_y
 * @param string $filename
 * @param int $page
 * @param string $dest
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_add_pdflink($pdfdoc, $bottom_left_x, $bottom_left_y, $up_right_x, $up_right_y, $filename, $page, $dest){}

/**
 * Add a cell to a new or existing table
 *
 * Adds a cell to a new or existing table.
 *
 * @param resource $pdfdoc
 * @param int $table
 * @param int $column
 * @param int $row
 * @param string $text
 * @param string $optlist
 * @return int
 * @since PECL pdflib >= 2.1.0
 **/
function PDF_add_table_cell($pdfdoc, $table, $column, $row, $text, $optlist){}

/**
 * Create Textflow or add text to existing Textflow
 *
 * Creates a Textflow object, or adds text and explicit options to an
 * existing Textflow.
 *
 * @param resource $pdfdoc
 * @param int $textflow
 * @param string $text
 * @param string $optlist
 * @return int
 * @since PECL pdflib >= 2.1.0
 **/
function PDF_add_textflow($pdfdoc, $textflow, $text, $optlist){}

/**
 * Add thumbnail for current page
 *
 * Adds an existing image as thumbnail for the current page.
 *
 * @param resource $pdfdoc
 * @param int $image
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0
 **/
function PDF_add_thumbnail($pdfdoc, $image){}

/**
 * Add weblink for current page [deprecated]
 *
 * Adds a weblink annotation to a target {@link url} on the Web.
 *
 * This function is deprecated since PDFlib version 6, use {@link
 * PDF_create_action} with {@link type=URI} and {@link
 * PDF_create_annotation} with {@link type=Link} instead.
 *
 * @param resource $pdfdoc
 * @param float $lowerleftx
 * @param float $lowerlefty
 * @param float $upperrightx
 * @param float $upperrighty
 * @param string $url
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_add_weblink($pdfdoc, $lowerleftx, $lowerlefty, $upperrightx, $upperrighty, $url){}

/**
 * Draw a counterclockwise circular arc segment
 *
 * Adds a counterclockwise circular arc.
 *
 * @param resource $p
 * @param float $x
 * @param float $y
 * @param float $r
 * @param float $alpha
 * @param float $beta
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_arc($p, $x, $y, $r, $alpha, $beta){}

/**
 * Draw a clockwise circular arc segment
 *
 * Except for the drawing direction, this function behaves exactly like
 * {@link PDF_arc}.
 *
 * @param resource $p
 * @param float $x
 * @param float $y
 * @param float $r
 * @param float $alpha
 * @param float $beta
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0
 **/
function PDF_arcn($p, $x, $y, $r, $alpha, $beta){}

/**
 * Add file attachment for current page [deprecated]
 *
 * Adds a file attachment annotation.
 *
 * This function is deprecated since PDFlib version 6, use {@link
 * PDF_create_annotation} with {@link type=FileAttachment} instead.
 *
 * @param resource $pdfdoc
 * @param float $llx
 * @param float $lly
 * @param float $urx
 * @param float $ury
 * @param string $filename
 * @param string $description
 * @param string $author
 * @param string $mimetype
 * @param string $icon
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0
 **/
function PDF_attach_file($pdfdoc, $llx, $lly, $urx, $ury, $filename, $description, $author, $mimetype, $icon){}

/**
 * Create new PDF file
 *
 * Creates a new PDF file subject to various options.
 *
 * @param resource $pdfdoc
 * @param string $filename
 * @param string $optlist
 * @return int
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_begin_document($pdfdoc, $filename, $optlist){}

/**
 * Start a Type 3 font definition
 *
 * Starts a Type 3 font definition.
 *
 * @param resource $pdfdoc
 * @param string $filename
 * @param float $a
 * @param float $b
 * @param float $c
 * @param float $d
 * @param float $e
 * @param float $f
 * @param string $optlist
 * @return bool
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_begin_font($pdfdoc, $filename, $a, $b, $c, $d, $e, $f, $optlist){}

/**
 * Start glyph definition for Type 3 font
 *
 * Starts a glyph definition for a Type 3 font.
 *
 * @param resource $pdfdoc
 * @param string $glyphname
 * @param float $wx
 * @param float $llx
 * @param float $lly
 * @param float $urx
 * @param float $ury
 * @return bool
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_begin_glyph($pdfdoc, $glyphname, $wx, $llx, $lly, $urx, $ury){}

/**
 * Open structure element or other content item
 *
 * Opens a structure element or other content item with attributes
 * supplied as options.
 *
 * @param resource $pdfdoc
 * @param string $tag
 * @param string $optlist
 * @return int
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_begin_item($pdfdoc, $tag, $optlist){}

/**
 * Start layer
 *
 * Starts a layer for subsequent output on the page.
 *
 * This function requires PDF 1.5.
 *
 * @param resource $pdfdoc
 * @param int $layer
 * @return bool
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_begin_layer($pdfdoc, $layer){}

/**
 * Start new page [deprecated]
 *
 * Adds a new page to the document.
 *
 * This function is deprecated since PDFlib version 6, use {@link
 * PDF_begin_page_ext} instead.
 *
 * @param resource $pdfdoc
 * @param float $width
 * @param float $height
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_begin_page($pdfdoc, $width, $height){}

/**
 * Start new page
 *
 * Adds a new page to the document, and specifies various options. The
 * parameters {@link width} and {@link height} are the dimensions of the
 * new page in points.
 *
 * Common Page Sizes in Points name size A0 2380 x 3368 A1 1684 x 2380 A2
 * 1190 x 1684 A3 842 x 1190 A4 595 x 842 A5 421 x 595 A6 297 x 421 B5
 * 501 x 709 letter (8.5" x 11") 612 x 792 legal (8.5" x 14") 612 x 1008
 * ledger (17" x 11") 1224 x 792 11" x 17" 792 x 1224
 *
 * @param resource $pdfdoc
 * @param float $width
 * @param float $height
 * @param string $optlist
 * @return bool
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_begin_page_ext($pdfdoc, $width, $height, $optlist){}

/**
 * Start pattern definition
 *
 * Starts a new pattern definition.
 *
 * @param resource $pdfdoc
 * @param float $width
 * @param float $height
 * @param float $xstep
 * @param float $ystep
 * @param int $painttype
 * @return int
 * @since PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0
 **/
function PDF_begin_pattern($pdfdoc, $width, $height, $xstep, $ystep, $painttype){}

/**
 * Start template definition [deprecated]
 *
 * Starts a new template definition.
 *
 * This function is deprecated since PDFlib version 7, use {@link
 * PDF_begin_template_ext} instead.
 *
 * @param resource $pdfdoc
 * @param float $width
 * @param float $height
 * @return int
 * @since PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0
 **/
function PDF_begin_template($pdfdoc, $width, $height){}

/**
 * Start template definition
 *
 * Starts a new template definition.
 *
 * @param resource $pdfdoc
 * @param float $width
 * @param float $height
 * @param string $optlist
 * @return int
 * @since PECL pdflib >= 2.1.0
 **/
function PDF_begin_template_ext($pdfdoc, $width, $height, $optlist){}

/**
 * Draw a circle
 *
 * Adds a circle.
 *
 * @param resource $pdfdoc
 * @param float $x
 * @param float $y
 * @param float $r
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_circle($pdfdoc, $x, $y, $r){}

/**
 * Clip to current path
 *
 * Uses the current path as clipping path, and terminate the path.
 *
 * @param resource $p
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_clip($p){}

/**
 * Close pdf resource [deprecated]
 *
 * Closes the generated PDF file, and frees all document-related
 * resources.
 *
 * This function is deprecated since PDFlib version 6, use {@link
 * PDF_end_document} instead.
 *
 * @param resource $p
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_close($p){}

/**
 * Close current path
 *
 * Closes the current path.
 *
 * @param resource $p
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_closepath($p){}

/**
 * Close, fill and stroke current path
 *
 * Closes the path, fills, and strokes it.
 *
 * @param resource $p
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_closepath_fill_stroke($p){}

/**
 * Close and stroke path
 *
 * Closes the path, and strokes it.
 *
 * @param resource $p
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_closepath_stroke($p){}

/**
 * Close image
 *
 * Closes an {@link image} retrieved with the {@link PDF_open_image}
 * function.
 *
 * @param resource $p
 * @param int $image
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_close_image($p, $image){}

/**
 * Close the input PDF document [deprecated]
 *
 * Closes all open page handles, and closes the input PDF document.
 *
 * This function is deprecated since PDFlib version 7, use {@link
 * PDF_close_pdi_document} instead.
 *
 * @param resource $p
 * @param int $doc
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0
 **/
function PDF_close_pdi($p, $doc){}

/**
 * Close the page handle
 *
 * Closes the page handle, and frees all page-related resources.
 *
 * @param resource $p
 * @param int $page
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0
 **/
function PDF_close_pdi_page($p, $page){}

/**
 * Concatenate a matrix to the CTM
 *
 * Concatenates a matrix to the current transformation matrix (CTM).
 *
 * @param resource $p
 * @param float $a
 * @param float $b
 * @param float $c
 * @param float $d
 * @param float $e
 * @param float $f
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0
 **/
function PDF_concat($p, $a, $b, $c, $d, $e, $f){}

/**
 * Output text in next line
 *
 * Prints {@link text} at the next line.
 *
 * @param resource $p
 * @param string $text
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_continue_text($p, $text){}

/**
 * Create 3D view
 *
 * Creates a 3D view.
 *
 * This function requires PDF 1.6.
 *
 * @param resource $pdfdoc
 * @param string $username
 * @param string $optlist
 * @return int
 * @since PECL pdflib >= 2.1.0
 **/
function PDF_create_3dview($pdfdoc, $username, $optlist){}

/**
 * Create action for objects or events
 *
 * Creates an action which can be applied to various objects and events.
 *
 * @param resource $pdfdoc
 * @param string $type
 * @param string $optlist
 * @return int
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_create_action($pdfdoc, $type, $optlist){}

/**
 * Create rectangular annotation
 *
 * Creates a rectangular annotation on the current page.
 *
 * @param resource $pdfdoc
 * @param float $llx
 * @param float $lly
 * @param float $urx
 * @param float $ury
 * @param string $type
 * @param string $optlist
 * @return bool
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_create_annotation($pdfdoc, $llx, $lly, $urx, $ury, $type, $optlist){}

/**
 * Create bookmark
 *
 * Creates a bookmark subject to various options.
 *
 * @param resource $pdfdoc
 * @param string $text
 * @param string $optlist
 * @return int
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_create_bookmark($pdfdoc, $text, $optlist){}

/**
 * Create form field
 *
 * Creates a form field on the current page subject to various options.
 *
 * @param resource $pdfdoc
 * @param float $llx
 * @param float $lly
 * @param float $urx
 * @param float $ury
 * @param string $name
 * @param string $type
 * @param string $optlist
 * @return bool
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_create_field($pdfdoc, $llx, $lly, $urx, $ury, $name, $type, $optlist){}

/**
 * Create form field group
 *
 * Creates a form field group subject to various options.
 *
 * @param resource $pdfdoc
 * @param string $name
 * @param string $optlist
 * @return bool
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_create_fieldgroup($pdfdoc, $name, $optlist){}

/**
 * Create graphics state object
 *
 * Creates a graphics state object subject to various options.
 *
 * @param resource $pdfdoc
 * @param string $optlist
 * @return int
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_create_gstate($pdfdoc, $optlist){}

/**
 * Create PDFlib virtual file
 *
 * Creates a named virtual read-only file from data provided in memory.
 *
 * @param resource $pdfdoc
 * @param string $filename
 * @param string $data
 * @param string $optlist
 * @return bool
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_create_pvf($pdfdoc, $filename, $data, $optlist){}

/**
 * Create textflow object
 *
 * Preprocesses text for later formatting and creates a textflow object.
 *
 * @param resource $pdfdoc
 * @param string $text
 * @param string $optlist
 * @return int
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_create_textflow($pdfdoc, $text, $optlist){}

/**
 * Draw Bezier curve
 *
 * Draws a Bezier curve from the current point, using 3 more control
 * points.
 *
 * @param resource $p
 * @param float $x1
 * @param float $y1
 * @param float $x2
 * @param float $y2
 * @param float $x3
 * @param float $y3
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_curveto($p, $x1, $y1, $x2, $y2, $x3, $y3){}

/**
 * Create layer definition
 *
 * Creates a new layer definition.
 *
 * This function requires PDF 1.5.
 *
 * @param resource $pdfdoc
 * @param string $name
 * @param string $optlist
 * @return int
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_define_layer($pdfdoc, $name, $optlist){}

/**
 * Delete PDFlib object
 *
 * Deletes a PDFlib object, and frees all internal resources.
 *
 * @param resource $pdfdoc
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0
 **/
function PDF_delete($pdfdoc){}

/**
 * Delete PDFlib virtual file
 *
 * Deletes a named virtual file and frees its data structures (but not
 * the contents).
 *
 * @param resource $pdfdoc
 * @param string $filename
 * @return int
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_delete_pvf($pdfdoc, $filename){}

/**
 * Delete table object
 *
 * Deletes a table and all associated data structures.
 *
 * @param resource $pdfdoc
 * @param int $table
 * @param string $optlist
 * @return bool
 * @since PECL pdflib >= 2.1.0
 **/
function PDF_delete_table($pdfdoc, $table, $optlist){}

/**
 * Delete textflow object
 *
 * Deletes a textflow and the associated data structures.
 *
 * @param resource $pdfdoc
 * @param int $textflow
 * @return bool
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_delete_textflow($pdfdoc, $textflow){}

/**
 * Add glyph name and/or Unicode value
 *
 * Adds a glyph name and/or Unicode value to a custom encoding.
 *
 * @param resource $pdfdoc
 * @param string $encoding
 * @param int $slot
 * @param string $glyphname
 * @param int $uv
 * @return bool
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_encoding_set_char($pdfdoc, $encoding, $slot, $glyphname, $uv){}

/**
 * End current path
 *
 * Ends the current path without filling or stroking it.
 *
 * @param resource $p
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_endpath($p){}

/**
 * Close PDF file
 *
 * Closes the generated PDF file and applies various options.
 *
 * @param resource $pdfdoc
 * @param string $optlist
 * @return bool
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_end_document($pdfdoc, $optlist){}

/**
 * Terminate Type 3 font definition
 *
 * Terminates a Type 3 font definition.
 *
 * @param resource $pdfdoc
 * @return bool
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_end_font($pdfdoc){}

/**
 * Terminate glyph definition for Type 3 font
 *
 * Terminates a glyph definition for a Type 3 font.
 *
 * @param resource $pdfdoc
 * @return bool
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_end_glyph($pdfdoc){}

/**
 * Close structure element or other content item
 *
 * Closes a structure element or other content item.
 *
 * @param resource $pdfdoc
 * @param int $id
 * @return bool
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_end_item($pdfdoc, $id){}

/**
 * Deactivate all active layers
 *
 * Deactivates all active layers.
 *
 * This function requires PDF 1.5.
 *
 * @param resource $pdfdoc
 * @return bool
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_end_layer($pdfdoc){}

/**
 * Finish page
 *
 * Finishes the page.
 *
 * @param resource $p
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_end_page($p){}

/**
 * Finish page
 *
 * Finishes a page, and applies various options.
 *
 * @param resource $pdfdoc
 * @param string $optlist
 * @return bool
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_end_page_ext($pdfdoc, $optlist){}

/**
 * Finish pattern
 *
 * Finishes the pattern definition.
 *
 * @param resource $p
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0
 **/
function PDF_end_pattern($p){}

/**
 * Finish template
 *
 * Finishes a template definition.
 *
 * @param resource $p
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0
 **/
function PDF_end_template($p){}

/**
 * Fill current path
 *
 * Fills the interior of the current path with the current fill color.
 *
 * @param resource $p
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_fill($p){}

/**
 * Fill image block with variable data
 *
 * Fills an image block with variable data according to its properties.
 *
 * This function is only available in the PDFlib Personalization Server
 * (PPS).
 *
 * @param resource $pdfdoc
 * @param int $page
 * @param string $blockname
 * @param int $image
 * @param string $optlist
 * @return int
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_fill_imageblock($pdfdoc, $page, $blockname, $image, $optlist){}

/**
 * Fill PDF block with variable data
 *
 * Fills a PDF block with variable data according to its properties.
 *
 * This function is only available in the PDFlib Personalization Server
 * (PPS).
 *
 * @param resource $pdfdoc
 * @param int $page
 * @param string $blockname
 * @param int $contents
 * @param string $optlist
 * @return int
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_fill_pdfblock($pdfdoc, $page, $blockname, $contents, $optlist){}

/**
 * Fill and stroke path
 *
 * Fills and strokes the current path with the current fill and stroke
 * color.
 *
 * @param resource $p
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_fill_stroke($p){}

/**
 * Fill text block with variable data
 *
 * Fills a text block with variable data according to its properties.
 *
 * This function is only available in the PDFlib Personalization Server
 * (PPS).
 *
 * @param resource $pdfdoc
 * @param int $page
 * @param string $blockname
 * @param string $text
 * @param string $optlist
 * @return int
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_fill_textblock($pdfdoc, $page, $blockname, $text, $optlist){}

/**
 * Prepare font for later use [deprecated]
 *
 * Search for a font and prepare it for later use with {@link
 * PDF_setfont}. The metrics will be loaded, and if {@link embed} is
 * nonzero, the font file will be checked, but not yet used. {@link
 * encoding} is one of builtin, macroman, winansi, host, a user-defined
 * encoding name or the name of a CMap. Parameter {@link embed} is
 * optional before PHP 4.3.5 or with PDFlib less than 5.
 *
 * This function is deprecated since PDFlib version 5, use {@link
 * PDF_load_font} instead.
 *
 * @param resource $p
 * @param string $fontname
 * @param string $encoding
 * @param int $embed
 * @return int
 * @since PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0
 **/
function PDF_findfont($p, $fontname, $encoding, $embed){}

/**
 * Place image or template
 *
 * Places an image or template on the page, subject to various options.
 *
 * @param resource $pdfdoc
 * @param int $image
 * @param float $x
 * @param float $y
 * @param string $optlist
 * @return bool
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_fit_image($pdfdoc, $image, $x, $y, $optlist){}

/**
 * Place imported PDF page
 *
 * Places an imported PDF page on the page, subject to various options.
 *
 * @param resource $pdfdoc
 * @param int $page
 * @param float $x
 * @param float $y
 * @param string $optlist
 * @return bool
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_fit_pdi_page($pdfdoc, $page, $x, $y, $optlist){}

/**
 * Place table on page
 *
 * Places a table on the page fully or partially.
 *
 * @param resource $pdfdoc
 * @param int $table
 * @param float $llx
 * @param float $lly
 * @param float $urx
 * @param float $ury
 * @param string $optlist
 * @return string
 * @since PECL pdflib >= 2.1.0
 **/
function PDF_fit_table($pdfdoc, $table, $llx, $lly, $urx, $ury, $optlist){}

/**
 * Format textflow in rectangular area
 *
 * Formats the next portion of a textflow into a rectangular area.
 *
 * @param resource $pdfdoc
 * @param int $textflow
 * @param float $llx
 * @param float $lly
 * @param float $urx
 * @param float $ury
 * @param string $optlist
 * @return string
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_fit_textflow($pdfdoc, $textflow, $llx, $lly, $urx, $ury, $optlist){}

/**
 * Place single line of text
 *
 * Places a single line of text on the page, subject to various options.
 *
 * @param resource $pdfdoc
 * @param string $text
 * @param float $x
 * @param float $y
 * @param string $optlist
 * @return bool
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_fit_textline($pdfdoc, $text, $x, $y, $optlist){}

/**
 * Get name of unsuccessfull API function
 *
 * Gets the name of the API function which threw the last exception or
 * failed.
 *
 * @param resource $pdfdoc
 * @return string
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_get_apiname($pdfdoc){}

/**
 * Get PDF output buffer
 *
 * Fetches the buffer containing the generated PDF data.
 *
 * @param resource $p
 * @return string
 * @since PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0
 **/
function PDF_get_buffer($p){}

/**
 * Get error text
 *
 * Gets the text of the last thrown exception or the reason for a failed
 * function call.
 *
 * @param resource $pdfdoc
 * @return string
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_get_errmsg($pdfdoc){}

/**
 * Get error number
 *
 * Gets the number of the last thrown exception or the reason for a
 * failed function call.
 *
 * @param resource $pdfdoc
 * @return int
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_get_errnum($pdfdoc){}

/**
 * Get major version number [deprecated]
 *
 * This function is deprecated since PDFlib version 5, use {@link
 * PDF_get_value} with the parameter {@link major} instead.
 *
 * @return int
 * @since PHP 4 >= 4.2.0, PECL pdflib >= 1.0.0
 **/
function PDF_get_majorversion(){}

/**
 * Get minor version number [deprecated]
 *
 * Returns the minor version number of the PDFlib version.
 *
 * This function is deprecated since PDFlib version 5, use {@link
 * PDF_get_value} with the parameter {@link minor} instead.
 *
 * @return int
 * @since PHP 4 >= 4.2.0, PECL pdflib >= 1.0.0
 **/
function PDF_get_minorversion(){}

/**
 * Get string parameter
 *
 * Gets the contents of some PDFlib parameter with string type.
 *
 * @param resource $p
 * @param string $key
 * @param float $modifier
 * @return string
 * @since PHP 4 >= 4.0.1, PECL pdflib >= 1.0.0
 **/
function PDF_get_parameter($p, $key, $modifier){}

/**
 * Get PDI string parameter [deprecated]
 *
 * Gets the contents of a PDI document parameter with string type.
 *
 * This function is deprecated since PDFlib version 7, use {@link
 * PDF_pcos_get_string} instead.
 *
 * @param resource $p
 * @param string $key
 * @param int $doc
 * @param int $page
 * @param int $reserved
 * @return string
 * @since PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0
 **/
function PDF_get_pdi_parameter($p, $key, $doc, $page, $reserved){}

/**
 * Get PDI numerical parameter [deprecated]
 *
 * Gets the contents of a PDI document parameter with numerical type.
 *
 * This function is deprecated since PDFlib version 7, use {@link
 * PDF_pcos_get_number} instead.
 *
 * @param resource $p
 * @param string $key
 * @param int $doc
 * @param int $page
 * @param int $reserved
 * @return float
 * @since PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0
 **/
function PDF_get_pdi_value($p, $key, $doc, $page, $reserved){}

/**
 * Get numerical parameter
 *
 * Gets the value of some PDFlib parameter with numerical type.
 *
 * @param resource $p
 * @param string $key
 * @param float $modifier
 * @return float
 * @since PHP 4 >= 4.0.1, PECL pdflib >= 1.0.0
 **/
function PDF_get_value($p, $key, $modifier){}

/**
 * Query detailed information about a loaded font
 *
 * Queries detailed information about a loaded font.
 *
 * @param resource $pdfdoc
 * @param int $font
 * @param string $keyword
 * @param string $optlist
 * @return float
 * @since PECL pdflib >= 2.1.0
 **/
function PDF_info_font($pdfdoc, $font, $keyword, $optlist){}

/**
 * Query matchbox information
 *
 * Queries information about a matchbox on the current page.
 *
 * @param resource $pdfdoc
 * @param string $boxname
 * @param int $num
 * @param string $keyword
 * @return float
 * @since PECL pdflib >= 2.1.0
 **/
function PDF_info_matchbox($pdfdoc, $boxname, $num, $keyword){}

/**
 * Retrieve table information
 *
 * Retrieves table information related to the most recently placed table
 * instance.
 *
 * @param resource $pdfdoc
 * @param int $table
 * @param string $keyword
 * @return float
 * @since PECL pdflib >= 2.1.0
 **/
function PDF_info_table($pdfdoc, $table, $keyword){}

/**
 * Query textflow state
 *
 * Queries the current state of a textflow.
 *
 * @param resource $pdfdoc
 * @param int $textflow
 * @param string $keyword
 * @return float
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_info_textflow($pdfdoc, $textflow, $keyword){}

/**
 * Perform textline formatting and query metrics
 *
 * Performs textline formatting and queries the resulting metrics.
 *
 * @param resource $pdfdoc
 * @param string $text
 * @param string $keyword
 * @param string $optlist
 * @return float
 * @since PECL pdflib >= 2.1.0
 **/
function PDF_info_textline($pdfdoc, $text, $keyword, $optlist){}

/**
 * Reset graphic state
 *
 * Reset all color and graphics state parameters to their defaults.
 *
 * @param resource $p
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0
 **/
function PDF_initgraphics($p){}

/**
 * Draw a line
 *
 * Draws a line from the current point to another point.
 *
 * @param resource $p
 * @param float $x
 * @param float $y
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_lineto($p, $x, $y){}

/**
 * Load 3D model
 *
 * Loads a 3D model from a disk-based or virtual file.
 *
 * This function requires PDF 1.6.
 *
 * @param resource $pdfdoc
 * @param string $filename
 * @param string $optlist
 * @return int
 * @since PECL pdflib >= 2.1.0
 **/
function PDF_load_3ddata($pdfdoc, $filename, $optlist){}

/**
 * Search and prepare font
 *
 * Searches for a font and prepares it for later use.
 *
 * @param resource $pdfdoc
 * @param string $fontname
 * @param string $encoding
 * @param string $optlist
 * @return int
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_load_font($pdfdoc, $fontname, $encoding, $optlist){}

/**
 * Search and prepare ICC profile
 *
 * Searches for an ICC profile, and prepares it for later use.
 *
 * @param resource $pdfdoc
 * @param string $profilename
 * @param string $optlist
 * @return int
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_load_iccprofile($pdfdoc, $profilename, $optlist){}

/**
 * Open image file
 *
 * Opens a disk-based or virtual image file subject to various options.
 *
 * @param resource $pdfdoc
 * @param string $imagetype
 * @param string $filename
 * @param string $optlist
 * @return int
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_load_image($pdfdoc, $imagetype, $filename, $optlist){}

/**
 * Make spot color
 *
 * Finds a built-in spot color name, or makes a named spot color from the
 * current fill color.
 *
 * @param resource $p
 * @param string $spotname
 * @return int
 * @since PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0
 **/
function PDF_makespotcolor($p, $spotname){}

/**
 * Set current point
 *
 * Sets the current point for graphics output.
 *
 * @param resource $p
 * @param float $x
 * @param float $y
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_moveto($p, $x, $y){}

/**
 * Create PDFlib object
 *
 * Creates a new PDFlib object with default settings.
 *
 * @return resource
 * @since PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0
 **/
function PDF_new(){}

/**
 * Open raw CCITT image [deprecated]
 *
 * Opens a raw CCITT image.
 *
 * This function is deprecated since PDFlib version 5, use {@link
 * PDF_load_image} instead.
 *
 * @param resource $pdfdoc
 * @param string $filename
 * @param int $width
 * @param int $height
 * @param int $BitReverse
 * @param int $k
 * @param int $Blackls1
 * @return int
 * @since PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0
 **/
function PDF_open_ccitt($pdfdoc, $filename, $width, $height, $BitReverse, $k, $Blackls1){}

/**
 * Create PDF file [deprecated]
 *
 * Creates a new PDF file using the supplied file name.
 *
 * This function is deprecated since PDFlib version 6, use {@link
 * PDF_begin_document} instead.
 *
 * @param resource $p
 * @param string $filename
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0
 **/
function PDF_open_file($p, $filename){}

/**
 * Use image data [deprecated]
 *
 * Uses image data from a variety of data sources.
 *
 * This function is deprecated since PDFlib version 5, use virtual files
 * and {@link PDF_load_image} instead.
 *
 * @param resource $p
 * @param string $imagetype
 * @param string $source
 * @param string $data
 * @param int $length
 * @param int $width
 * @param int $height
 * @param int $components
 * @param int $bpc
 * @param string $params
 * @return int
 * @since PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0
 **/
function PDF_open_image($p, $imagetype, $source, $data, $length, $width, $height, $components, $bpc, $params){}

/**
 * Read image from file [deprecated]
 *
 * Opens an image file.
 *
 * This function is deprecated since PDFlib version 5, use {@link
 * PDF_load_image} with the colorize, ignoremask, invert, mask, masked,
 * and page options instead.
 *
 * @param resource $p
 * @param string $imagetype
 * @param string $filename
 * @param string $stringparam
 * @param int $intparam
 * @return int
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_open_image_file($p, $imagetype, $filename, $stringparam, $intparam){}

/**
 * Open image created with PHP's image functions [not supported]
 *
 * This function is not supported by PDFlib GmbH.
 *
 * @param resource $p
 * @param resource $image
 * @return int
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_open_memory_image($p, $image){}

/**
 * Open PDF file [deprecated]
 *
 * Opens a disk-based or virtual PDF document and prepares it for later
 * use.
 *
 * This function is deprecated since PDFlib version 7, use {@link
 * PDF_open_pdi_document} instead.
 *
 * @param resource $pdfdoc
 * @param string $filename
 * @param string $optlist
 * @param int $len
 * @return int
 * @since PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0
 **/
function PDF_open_pdi($pdfdoc, $filename, $optlist, $len){}

/**
 * Prepare a pdi document
 *
 * Open a disk-based or virtual PDF document and prepare it for later
 * use.
 *
 * @param resource $p
 * @param string $filename
 * @param string $optlist
 * @return int
 * @since PECL pdflib >= 2.1.0
 **/
function PDF_open_pdi_document($p, $filename, $optlist){}

/**
 * Prepare a page
 *
 * Prepares a page for later use with {@link PDF_fit_pdi_page}.
 *
 * @param resource $p
 * @param int $doc
 * @param int $pagenumber
 * @param string $optlist
 * @return int
 * @since PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0
 **/
function PDF_open_pdi_page($p, $doc, $pagenumber, $optlist){}

/**
 * Get value of pCOS path with type number or boolean
 *
 * Gets the value of a pCOS path with type number or boolean.
 *
 * @param resource $p
 * @param int $doc
 * @param string $path
 * @return float
 * @since PECL pdflib >= 2.1.0
 **/
function PDF_pcos_get_number($p, $doc, $path){}

/**
 * Get contents of pCOS path with type stream, fstream, or string
 *
 * Gets the contents of a pCOS path with type stream, fstream, or string.
 *
 * @param resource $p
 * @param int $doc
 * @param string $optlist
 * @param string $path
 * @return string
 * @since PECL pdflib >= 2.1.0
 **/
function PDF_pcos_get_stream($p, $doc, $optlist, $path){}

/**
 * Get value of pCOS path with type name, string, or boolean
 *
 * Gets the value of a pCOS path with type name, string, or boolean.
 *
 * @param resource $p
 * @param int $doc
 * @param string $path
 * @return string
 * @since PECL pdflib >= 2.1.0
 **/
function PDF_pcos_get_string($p, $doc, $path){}

/**
 * Place image on the page [deprecated]
 *
 * Places an image and scales it.
 *
 * This function is deprecated since PDFlib version 5, use {@link
 * PDF_fit_image} instead.
 *
 * @param resource $pdfdoc
 * @param int $image
 * @param float $x
 * @param float $y
 * @param float $scale
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_place_image($pdfdoc, $image, $x, $y, $scale){}

/**
 * Place PDF page [deprecated]
 *
 * Places a PDF page and scales it.
 *
 * This function is deprecated since PDFlib version 5, use {@link
 * PDF_fit_pdi_page} instead.
 *
 * @param resource $pdfdoc
 * @param int $page
 * @param float $x
 * @param float $y
 * @param float $sx
 * @param float $sy
 * @return bool
 * @since PHP 4 >= 4.0.6, PECL pdflib >= 1.0.0
 **/
function PDF_place_pdi_page($pdfdoc, $page, $x, $y, $sx, $sy){}

/**
 * Process imported PDF document
 *
 * Processes certain elements of an imported PDF document.
 *
 * @param resource $pdfdoc
 * @param int $doc
 * @param int $page
 * @param string $optlist
 * @return int
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_process_pdi($pdfdoc, $doc, $page, $optlist){}

/**
 * Draw rectangle
 *
 * Draws a rectangle.
 *
 * @param resource $p
 * @param float $x
 * @param float $y
 * @param float $width
 * @param float $height
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_rect($p, $x, $y, $width, $height){}

/**
 * Restore graphics state
 *
 * Restores the most recently saved graphics state.
 *
 * @param resource $p
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_restore($p){}

/**
 * Resume page
 *
 * Resumes a page to add more content to it.
 *
 * @param resource $pdfdoc
 * @param string $optlist
 * @return bool
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_resume_page($pdfdoc, $optlist){}

/**
 * Rotate coordinate system
 *
 * Rotates the coordinate system.
 *
 * @param resource $p
 * @param float $phi
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_rotate($p, $phi){}

/**
 * Save graphics state
 *
 * Saves the current graphics state.
 *
 * @param resource $p
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_save($p){}

/**
 * Scale coordinate system
 *
 * Scales the coordinate system.
 *
 * @param resource $p
 * @param float $sx
 * @param float $sy
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_scale($p, $sx, $sy){}

/**
 * Set fill and stroke color
 *
 * Sets the current color space and color.
 *
 * @param resource $p
 * @param string $fstype
 * @param string $colorspace
 * @param float $c1
 * @param float $c2
 * @param float $c3
 * @param float $c4
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0
 **/
function PDF_setcolor($p, $fstype, $colorspace, $c1, $c2, $c3, $c4){}

/**
 * Set simple dash pattern
 *
 * Sets the current dash pattern to {@link b} black and {@link w} white
 * units.
 *
 * @param resource $pdfdoc
 * @param float $b
 * @param float $w
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_setdash($pdfdoc, $b, $w){}

/**
 * Set dash pattern
 *
 * Sets a dash pattern defined by an option list.
 *
 * @param resource $pdfdoc
 * @param string $optlist
 * @return bool
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_setdashpattern($pdfdoc, $optlist){}

/**
 * Set flatness
 *
 * Sets the flatness parameter.
 *
 * @param resource $pdfdoc
 * @param float $flatness
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_setflat($pdfdoc, $flatness){}

/**
 * Set font
 *
 * Sets the current font in the specified {@link fontsize}, using a
 * {@link font} handle returned by {@link PDF_load_font}.
 *
 * @param resource $pdfdoc
 * @param int $font
 * @param float $fontsize
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0
 **/
function PDF_setfont($pdfdoc, $font, $fontsize){}

/**
 * Set color to gray [deprecated]
 *
 * Sets the current fill and stroke color to a gray value between 0 and 1
 * inclusive.
 *
 * This function is deprecated since PDFlib version 4, use {@link
 * PDF_setcolor} instead.
 *
 * @param resource $p
 * @param float $g
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_setgray($p, $g){}

/**
 * Set fill color to gray [deprecated]
 *
 * Sets the current fill color to a gray value between 0 and 1 inclusive.
 *
 * This function is deprecated since PDFlib version 4, use {@link
 * PDF_setcolor} instead.
 *
 * @param resource $p
 * @param float $g
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_setgray_fill($p, $g){}

/**
 * Set stroke color to gray [deprecated]
 *
 * Sets the current stroke color to a gray value between 0 and 1
 * inclusive.
 *
 * This function is deprecated since PDFlib version 4, use {@link
 * PDF_setcolor} instead.
 *
 * @param resource $p
 * @param float $g
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_setgray_stroke($p, $g){}

/**
 * Set linecap parameter
 *
 * Sets the {@link linecap} parameter to control the shape at the end of
 * a path with respect to stroking.
 *
 * @param resource $p
 * @param int $linecap
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_setlinecap($p, $linecap){}

/**
 * Set linejoin parameter
 *
 * Sets the {@link linejoin} parameter to specify the shape at the
 * corners of paths that are stroked.
 *
 * @param resource $p
 * @param int $value
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_setlinejoin($p, $value){}

/**
 * Set line width
 *
 * Sets the current line width.
 *
 * @param resource $p
 * @param float $width
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_setlinewidth($p, $width){}

/**
 * Set current transformation matrix
 *
 * Explicitly sets the current transformation matrix.
 *
 * @param resource $p
 * @param float $a
 * @param float $b
 * @param float $c
 * @param float $d
 * @param float $e
 * @param float $f
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL pdflib >= 1.0.0
 **/
function PDF_setmatrix($p, $a, $b, $c, $d, $e, $f){}

/**
 * Set miter limit
 *
 * Sets the miter limit.
 *
 * @param resource $pdfdoc
 * @param float $miter
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_setmiterlimit($pdfdoc, $miter){}

/**
 * Set fill and stroke rgb color values [deprecated]
 *
 * Sets the current fill and stroke color to the supplied RGB values.
 *
 * This function is deprecated since PDFlib version 4, use {@link
 * PDF_setcolor} instead.
 *
 * @param resource $p
 * @param float $red
 * @param float $green
 * @param float $blue
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_setrgbcolor($p, $red, $green, $blue){}

/**
 * Set fill rgb color values [deprecated]
 *
 * Sets the current fill color to the supplied RGB values.
 *
 * This function is deprecated since PDFlib version 4, use {@link
 * PDF_setcolor} instead.
 *
 * @param resource $p
 * @param float $red
 * @param float $green
 * @param float $blue
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_setrgbcolor_fill($p, $red, $green, $blue){}

/**
 * Set stroke rgb color values [deprecated]
 *
 * Sets the current stroke color to the supplied RGB values.
 *
 * This function is deprecated since PDFlib version 4, use {@link
 * PDF_setcolor} instead.
 *
 * @param resource $p
 * @param float $red
 * @param float $green
 * @param float $blue
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_setrgbcolor_stroke($p, $red, $green, $blue){}

/**
 * Set border color of annotations [deprecated]
 *
 * Sets the border color for all kinds of annotations.
 *
 * This function is deprecated since PDFlib version 6, use the option
 * {@link annotcolor} in {@link PDF_create_annotation} instead.
 *
 * @param resource $p
 * @param float $red
 * @param float $green
 * @param float $blue
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_set_border_color($p, $red, $green, $blue){}

/**
 * Set border dash style of annotations [deprecated]
 *
 * Sets the border dash style for all kinds of annotations.
 *
 * This function is deprecated since PDFlib version 6, use the option
 * {@link dasharray} in {@link PDF_create_annotation} instead.
 *
 * @param resource $pdfdoc
 * @param float $black
 * @param float $white
 * @return bool
 * @since PHP 4 >= 4.0.1, PECL pdflib >= 1.0.0
 **/
function PDF_set_border_dash($pdfdoc, $black, $white){}

/**
 * Set border style of annotations [deprecated]
 *
 * Sets the border style for all kinds of annotations.
 *
 * This function is deprecated since PDFlib version 6, use the options
 * {@link borderstyle} and {@link linewidth} in {@link
 * PDF_create_annotation} instead.
 *
 * @param resource $pdfdoc
 * @param string $style
 * @param float $width
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_set_border_style($pdfdoc, $style, $width){}

/**
 * Activate graphics state object
 *
 * Activates a graphics state object.
 *
 * @param resource $pdfdoc
 * @param int $gstate
 * @return bool
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_set_gstate($pdfdoc, $gstate){}

/**
 * Fill document info field
 *
 * Fill document information field {@link key} with {@link value}.
 *
 * @param resource $p
 * @param string $key
 * @param string $value
 * @return bool
 * @since PHP 4 >= 4.0.1, PECL pdflib >= 1.0.0
 **/
function PDF_set_info($p, $key, $value){}

/**
 * Define relationships among layers
 *
 * Defines hierarchical and group relationships among layers.
 *
 * This function requires PDF 1.5.
 *
 * @param resource $pdfdoc
 * @param string $type
 * @param string $optlist
 * @return bool
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_set_layer_dependency($pdfdoc, $type, $optlist){}

/**
 * Set string parameter
 *
 * Sets some PDFlib parameter with string type.
 *
 * @param resource $p
 * @param string $key
 * @param string $value
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_set_parameter($p, $key, $value){}

/**
 * Set text position
 *
 * Sets the position for text output on the page.
 *
 * @param resource $p
 * @param float $x
 * @param float $y
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_set_text_pos($p, $x, $y){}

/**
 * Set numerical parameter
 *
 * Sets the value of some PDFlib parameter with numerical type.
 *
 * @param resource $p
 * @param string $key
 * @param float $value
 * @return bool
 * @since PHP 4 >= 4.0.1, PECL pdflib >= 1.0.0
 **/
function PDF_set_value($p, $key, $value){}

/**
 * Define blend
 *
 * Defines a blend from the current fill color to another color.
 *
 * This function requires PDF 1.4 or above.
 *
 * @param resource $pdfdoc
 * @param string $shtype
 * @param float $x0
 * @param float $y0
 * @param float $x1
 * @param float $y1
 * @param float $c1
 * @param float $c2
 * @param float $c3
 * @param float $c4
 * @param string $optlist
 * @return int
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_shading($pdfdoc, $shtype, $x0, $y0, $x1, $y1, $c1, $c2, $c3, $c4, $optlist){}

/**
 * Define shading pattern
 *
 * Defines a shading pattern using a shading object.
 *
 * This function requires PDF 1.4 or above.
 *
 * @param resource $pdfdoc
 * @param int $shading
 * @param string $optlist
 * @return int
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_shading_pattern($pdfdoc, $shading, $optlist){}

/**
 * Fill area with shading
 *
 * Fills an area with a shading, based on a shading object.
 *
 * This function requires PDF 1.4 or above.
 *
 * @param resource $pdfdoc
 * @param int $shading
 * @return bool
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_shfill($pdfdoc, $shading){}

/**
 * Output text at current position
 *
 * Prints {@link text} in the current font and size at the current
 * position.
 *
 * @param resource $pdfdoc
 * @param string $text
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_show($pdfdoc, $text){}

/**
 * Output text in a box [deprecated]
 *
 * This function is deprecated since PDFlib version 6, use {@link
 * PDF_fit_textline} for single lines, or the {@link PDF_*_textflow}
 * functions for multi-line formatting instead.
 *
 * @param resource $p
 * @param string $text
 * @param float $left
 * @param float $top
 * @param float $width
 * @param float $height
 * @param string $mode
 * @param string $feature
 * @return int
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_show_boxed($p, $text, $left, $top, $width, $height, $mode, $feature){}

/**
 * Output text at given position
 *
 * Prints {@link text} in the current font.
 *
 * @param resource $p
 * @param string $text
 * @param float $x
 * @param float $y
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_show_xy($p, $text, $x, $y){}

/**
 * Skew the coordinate system
 *
 * Skews the coordinate system in x and y direction by {@link alpha} and
 * {@link beta} degrees, respectively.
 *
 * @param resource $p
 * @param float $alpha
 * @param float $beta
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_skew($p, $alpha, $beta){}

/**
 * Return width of text
 *
 * Returns the width of {@link text} in an arbitrary font.
 *
 * @param resource $p
 * @param string $text
 * @param int $font
 * @param float $fontsize
 * @return float
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_stringwidth($p, $text, $font, $fontsize){}

/**
 * Stroke path
 *
 * Strokes the path with the current color and line width, and clear it.
 *
 * @param resource $p
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_stroke($p){}

/**
 * Suspend page
 *
 * Suspends the current page so that it can later be resumed with {@link
 * PDF_resume_page}.
 *
 * @param resource $pdfdoc
 * @param string $optlist
 * @return bool
 * @since PECL pdflib >= 2.0.0
 **/
function PDF_suspend_page($pdfdoc, $optlist){}

/**
 * Set origin of coordinate system
 *
 * Translates the origin of the coordinate system.
 *
 * @param resource $p
 * @param float $tx
 * @param float $ty
 * @return bool
 * @since PHP 4, PECL pdflib >= 1.0.0
 **/
function PDF_translate($p, $tx, $ty){}

/**
 * Convert string from UTF-8 to UTF-16
 *
 * Converts a string from UTF-8 format to UTF-16.
 *
 * @param resource $pdfdoc
 * @param string $utf8string
 * @param string $ordering
 * @return string
 * @since PECL pdflib >= 2.0.3
 **/
function PDF_utf8_to_utf16($pdfdoc, $utf8string, $ordering){}

/**
 * Convert string from UTF-16 to UTF-8
 *
 * Converts a string from UTF-16 format to UTF-8.
 *
 * @param resource $pdfdoc
 * @param string $utf16string
 * @return string
 * @since PECL pdflib >= 2.0.3
 **/
function PDF_utf16_to_utf8($pdfdoc, $utf16string){}

/**
 * Convert string from UTF-32 to UTF-16
 *
 * Converts a string from UTF-32 format to UTF-16.
 *
 * @param resource $pdfdoc
 * @param string $utf32string
 * @param string $ordering
 * @return string
 * @since PECL pdflib >= Unknown future
 **/
function PDF_utf32_to_utf16($pdfdoc, $utf32string, $ordering){}

/**
 * Return an array of available PDO drivers
 *
 * This function returns all currently available PDO drivers which can be
 * used in {@link DSN} parameter of {@link PDO::__construct}.
 *
 * @return array {@link PDO::getAvailableDrivers} returns an array of
 *   PDO driver names. If no drivers are available, it returns an empty
 *   array.
 * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.9.0
 **/
function pdo_drivers(){}

/**
 * Open persistent Internet or Unix domain socket connection
 *
 * This function behaves exactly as {@link fsockopen} with the difference
 * that the connection is not closed after the script finishes. It is the
 * persistent version of {@link fsockopen}.
 *
 * @param string $hostname
 * @param int $port
 * @param int $errno
 * @param string $errstr
 * @param float $timeout
 * @return resource
 * @since PHP 4, PHP 5, PHP 7
 **/
function pfsockopen($hostname, $port, &$errno, &$errstr, $timeout){}

/**
 * Returns number of affected records (tuples)
 *
 * {@link pg_affected_rows} returns the number of tuples
 * (instances/records/rows) affected by INSERT, UPDATE, and DELETE
 * queries.
 *
 * Since PostgreSQL 9.0 and above, the server returns the number of
 * SELECTed rows. Older PostgreSQL return 0 for SELECT.
 *
 * @param resource $result PostgreSQL query result resource, returned
 *   by {@link pg_query}, {@link pg_query_params} or {@link pg_execute}
 *   (among others).
 * @return int The number of rows affected by the query. If no tuple is
 *   affected, it will return 0.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_affected_rows($result){}

/**
 * Cancel an asynchronous query
 *
 * {@link pg_cancel_query} cancels an asynchronous query sent with {@link
 * pg_send_query}, {@link pg_send_query_params} or {@link
 * pg_send_execute}. You cannot cancel a query executed using {@link
 * pg_query}.
 *
 * @param resource $connection PostgreSQL database connection resource.
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_cancel_query($connection){}

/**
 * Gets the client encoding
 *
 * PostgreSQL supports automatic character set conversion between server
 * and client for certain character sets. {@link pg_client_encoding}
 * returns the client encoding as a string. The returned string will be
 * one of the standard PostgreSQL encoding identifiers.
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @return string The client encoding, or FALSE on error.
 * @since PHP 4 >= 4.0.3, PHP 5, PHP 7
 **/
function pg_client_encoding($connection){}

/**
 * Closes a PostgreSQL connection
 *
 * {@link pg_close} closes the non-persistent connection to a PostgreSQL
 * database associated with the given {@link connection} resource.
 *
 * If there is open large object resource on the connection, do not close
 * the connection before closing all large object resources.
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function pg_close($connection){}

/**
 * Open a PostgreSQL connection
 *
 * {@link pg_connect} opens a connection to a PostgreSQL database
 * specified by the {@link connection_string}.
 *
 * If a second call is made to {@link pg_connect} with the same {@link
 * connection_string} as an existing connection, the existing connection
 * will be returned unless you pass PGSQL_CONNECT_FORCE_NEW as {@link
 * connect_type}.
 *
 * The old syntax with multiple parameters $conn = pg_connect("host",
 * "port", "options", "tty", "dbname") has been deprecated.
 *
 * @param string $connection_string The {@link connection_string} can
 *   be empty to use all default parameters, or it can contain one or
 *   more parameter settings separated by whitespace. Each parameter
 *   setting is in the form keyword = value. Spaces around the equal sign
 *   are optional. To write an empty value or a value containing spaces,
 *   surround it with single quotes, e.g., keyword = 'a value'. Single
 *   quotes and backslashes within the value must be escaped with a
 *   backslash, i.e., \' and \\. The currently recognized parameter
 *   keywords are: {@link host}, {@link hostaddr}, {@link port}, {@link
 *   dbname} (defaults to value of {@link user}), {@link user}, {@link
 *   password}, {@link connect_timeout}, {@link options}, {@link tty}
 *   (ignored), {@link sslmode}, {@link requiressl} (deprecated in favor
 *   of {@link sslmode}), and {@link service}. Which of these arguments
 *   exist depends on your PostgreSQL version. The {@link options}
 *   parameter can be used to set command line parameters to be invoked
 *   by the server.
 * @param int $connect_type If PGSQL_CONNECT_FORCE_NEW is passed, then
 *   a new connection is created, even if the {@link connection_string}
 *   is identical to an existing connection. If PGSQL_CONNECT_ASYNC is
 *   given, then the connection is established asynchronously. The state
 *   of the connection can then be checked via {@link pg_connect_poll} or
 *   {@link pg_connection_status}.
 * @return resource PostgreSQL connection resource on success, FALSE on
 *   failure.
 * @since PHP 4, PHP 5, PHP 7
 **/
function pg_connect($connection_string, $connect_type){}

/**
 * Get connection is busy or not
 *
 * {@link pg_connection_busy} determines whether or not a connection is
 * busy. If it is busy, a previous query is still executing. If {@link
 * pg_get_result} is used on the connection, it will be blocked.
 *
 * @param resource $connection PostgreSQL database connection resource.
 * @return bool Returns TRUE if the connection is busy, FALSE
 *   otherwise.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_connection_busy($connection){}

/**
 * Reset connection (reconnect)
 *
 * {@link pg_connection_reset} resets the connection. It is useful for
 * error recovery.
 *
 * @param resource $connection PostgreSQL database connection resource.
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_connection_reset($connection){}

/**
 * Get connection status
 *
 * {@link pg_connection_status} returns the status of the specified
 * {@link connection}.
 *
 * @param resource $connection PostgreSQL database connection resource.
 * @return int PGSQL_CONNECTION_OK or PGSQL_CONNECTION_BAD.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_connection_status($connection){}

/**
 * Poll the status of an in-progress asynchronous PostgreSQL connection
 * attempt
 *
 * {@link pg_connect_poll} polls the status of a PostgreSQL connection
 * created by calling {@link pg_connect} with the PGSQL_CONNECT_ASYNC
 * option.
 *
 * @param resource $connection PostgreSQL database connection resource.
 * @return int Returns PGSQL_POLLING_FAILED, PGSQL_POLLING_READING,
 *   PGSQL_POLLING_WRITING, PGSQL_POLLING_OK, or PGSQL_POLLING_ACTIVE.
 * @since PHP 5 >= 5.6.0, PHP 7
 **/
function pg_connect_poll($connection){}

/**
 * Reads input on the connection
 *
 * {@link pg_consume_input} consumes any input waiting to be read from
 * the database server.
 *
 * @param resource $connection PostgreSQL database connection resource.
 * @return bool TRUE if no error occurred, or FALSE if there was an
 *   error. Note that TRUE does not necessarily indicate that input was
 *   waiting to be read.
 * @since PHP 5 >= 5.6.0, PHP 7
 **/
function pg_consume_input($connection){}

/**
 * Convert associative array values into forms suitable for SQL
 * statements
 *
 * {@link pg_convert} checks and converts the values in {@link
 * assoc_array} into suitable values for use in an SQL statement.
 * Precondition for {@link pg_convert} is the existence of a table {@link
 * table_name} which has at least as many columns as {@link assoc_array}
 * has elements. The fieldnames in {@link table_name} must match the
 * indices in {@link assoc_array} and the corresponding datatypes must be
 * compatible. Returns an array with the converted values on success,
 * FALSE otherwise.
 *
 * @param resource $connection PostgreSQL database connection resource.
 * @param string $table_name Name of the table against which to convert
 *   types.
 * @param array $assoc_array Data to be converted.
 * @param int $options Any number of PGSQL_CONV_IGNORE_DEFAULT,
 *   PGSQL_CONV_FORCE_NULL or PGSQL_CONV_IGNORE_NOT_NULL, combined.
 * @return array An array of converted values, or FALSE on error.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function pg_convert($connection, $table_name, $assoc_array, $options){}

/**
 * Insert records into a table from an array
 *
 * {@link pg_copy_from} inserts records into a table from {@link rows}.
 * It issues a COPY FROM SQL command internally to insert records.
 *
 * @param resource $connection PostgreSQL database connection resource.
 * @param string $table_name Name of the table into which to copy the
 *   {@link rows}.
 * @param array $rows An array of data to be copied into {@link
 *   table_name}. Each value in {@link rows} becomes a row in {@link
 *   table_name}. Each value in {@link rows} should be a delimited string
 *   of the values to insert into each field. Values should be linefeed
 *   terminated.
 * @param string $delimiter The token that separates values for each
 *   field in each element of {@link rows}. Default is TAB.
 * @param string $null_as How SQL NULL values are represented in the
 *   {@link rows}. Default is \N ("\\N").
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_copy_from($connection, $table_name, $rows, $delimiter, $null_as){}

/**
 * Copy a table to an array
 *
 * {@link pg_copy_to} copies a table to an array. It issues COPY TO SQL
 * command internally to retrieve records.
 *
 * @param resource $connection PostgreSQL database connection resource.
 * @param string $table_name Name of the table from which to copy the
 *   data into {@link rows}.
 * @param string $delimiter The token that separates values for each
 *   field in each element of {@link rows}. Default is TAB.
 * @param string $null_as How SQL NULL values are represented in the
 *   {@link rows}. Default is \N ("\\N").
 * @return array An array with one element for each line of COPY data.
 *   It returns FALSE on failure.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_copy_to($connection, $table_name, $delimiter, $null_as){}

/**
 * Get the database name
 *
 * {@link pg_dbname} returns the name of the database that the given
 * PostgreSQL {@link connection} resource.
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @return string A string containing the name of the database the
 *   {@link connection} is to, or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function pg_dbname($connection){}

/**
 * Deletes records
 *
 * {@link pg_delete} deletes records from a table specified by the keys
 * and values in {@link assoc_array}. If {@link options} is specified,
 * {@link pg_convert} is applied to {@link assoc_array} with the
 * specified options.
 *
 * @param resource $connection PostgreSQL database connection resource.
 * @param string $table_name Name of the table from which to delete
 *   rows.
 * @param array $assoc_array An array whose keys are field names in the
 *   table {@link table_name}, and whose values are the values of those
 *   fields that are to be deleted.
 * @param int $options Any number of PGSQL_CONV_FORCE_NULL,
 *   PGSQL_DML_NO_CONV, PGSQL_DML_ESCAPE, PGSQL_DML_EXEC, PGSQL_DML_ASYNC
 *   or PGSQL_DML_STRING combined. If PGSQL_DML_STRING is part of the
 *   {@link options} then query string is returned. When
 *   PGSQL_DML_NO_CONV or PGSQL_DML_ESCAPE is set, it does not call
 *   {@link pg_convert} internally.
 * @return mixed Returns string if PGSQL_DML_STRING is passed via
 *   {@link options}.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function pg_delete($connection, $table_name, $assoc_array, $options){}

/**
 * Sync with PostgreSQL backend
 *
 * {@link pg_end_copy} syncs the PostgreSQL frontend (usually a web
 * server process) with the PostgreSQL server after doing a copy
 * operation performed by {@link pg_put_line}. {@link pg_end_copy} must
 * be issued, otherwise the PostgreSQL server may get out of sync with
 * the frontend and will report an error.
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @return bool
 * @since PHP 4 >= 4.0.3, PHP 5, PHP 7
 **/
function pg_end_copy($connection){}

/**
 * Escape a string for insertion into a bytea field
 *
 * {@link pg_escape_bytea} escapes string for bytea datatype. It returns
 * escaped string.
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @param string $data A string containing text or binary data to be
 *   inserted into a bytea column.
 * @return string A string containing the escaped data.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_escape_bytea($connection, $data){}

/**
 * Escape a identifier for insertion into a text field
 *
 * {@link pg_escape_identifier} escapes a identifier (e.g. table, field
 * names) for quering the database. It returns an escaped identifier
 * string for PostgreSQL server. {@link pg_escape_identifier} adds double
 * quotes before and after data. Users should not add double quotes. Use
 * of this function is recommended for identifier parameters in query.
 * For SQL literals (i.e. parameters except bytea), {@link
 * pg_escape_literal} or {@link pg_escape_string} must be used. For bytea
 * type fields, {@link pg_escape_bytea} must be used instead.
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @param string $data A string containing text to be escaped.
 * @return string A string containing the escaped data.
 * @since PHP 5 >= 5.4.4, PHP 7
 **/
function pg_escape_identifier($connection, $data){}

/**
 * Escape a literal for insertion into a text field
 *
 * {@link pg_escape_literal} escapes a literal for querying the
 * PostgreSQL database. It returns an escaped literal in the PostgreSQL
 * format. {@link pg_escape_literal} adds quotes before and after data.
 * Users should not add quotes. Use of this function is recommended
 * instead of {@link pg_escape_string}. If the type of the column is
 * bytea, {@link pg_escape_bytea} must be used instead. For escaping
 * identifiers (e.g. table, field names), {@link pg_escape_identifier}
 * must be used.
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}. When there is no default
 *   connection, it raises E_WARNING and returns FALSE.
 * @param string $data A string containing text to be escaped.
 * @return string A string containing the escaped data.
 * @since PHP 5 >= 5.4.4, PHP 7
 **/
function pg_escape_literal($connection, $data){}

/**
 * Escape a string for query
 *
 * {@link pg_escape_string} escapes a string for querying the database.
 * It returns an escaped string in the PostgreSQL format without quotes.
 * {@link pg_escape_literal} is more preferred way to escape SQL
 * parameters for PostgreSQL. {@link addslashes} must not be used with
 * PostgreSQL. If the type of the column is bytea, {@link
 * pg_escape_bytea} must be used instead. {@link pg_escape_identifier}
 * must be used to escape identifiers (e.g. table names, field names)
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @param string $data A string containing text to be escaped.
 * @return string A string containing the escaped data.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_escape_string($connection, $data){}

/**
 * Sends a request to execute a prepared statement with given parameters,
 * and waits for the result
 *
 * Sends a request to execute a prepared statement with given parameters,
 * and waits for the result.
 *
 * {@link pg_execute} is like {@link pg_query_params}, but the command to
 * be executed is specified by naming a previously-prepared statement,
 * instead of giving a query string. This feature allows commands that
 * will be used repeatedly to be parsed and planned just once, rather
 * than each time they are executed. The statement must have been
 * prepared previously in the current session. {@link pg_execute} is
 * supported only against PostgreSQL 7.4 or higher connections; it will
 * fail when using earlier versions.
 *
 * The parameters are identical to {@link pg_query_params}, except that
 * the name of a prepared statement is given instead of a query string.
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @param string $stmtname The name of the prepared statement to
 *   execute. if "" is specified, then the unnamed statement is executed.
 *   The name must have been previously prepared using {@link
 *   pg_prepare}, {@link pg_send_prepare} or a PREPARE SQL command.
 * @param array $params An array of parameter values to substitute for
 *   the $1, $2, etc. placeholders in the original prepared query string.
 *   The number of elements in the array must match the number of
 *   placeholders.
 * @return resource A query result resource on success.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function pg_execute($connection, $stmtname, $params){}

/**
 * Fetches all rows from a result as an array
 *
 * {@link pg_fetch_all} returns an array that contains all rows (records)
 * in the result resource.
 *
 * @param resource $result PostgreSQL query result resource, returned
 *   by {@link pg_query}, {@link pg_query_params} or {@link pg_execute}
 *   (among others).
 * @param int $result_type
 * @return array An array with all rows in the result. Each row is an
 *   array of field values indexed by field name.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function pg_fetch_all($result, $result_type){}

/**
 * Fetches all rows in a particular result column as an array
 *
 * {@link pg_fetch_all_columns} returns an array that contains all rows
 * (records) in a particular column of the result resource.
 *
 * @param resource $result PostgreSQL query result resource, returned
 *   by {@link pg_query}, {@link pg_query_params} or {@link pg_execute}
 *   (among others).
 * @param int $column Column number, zero-based, to be retrieved from
 *   the result resource. Defaults to the first column if not specified.
 * @return array An array with all values in the result column.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function pg_fetch_all_columns($result, $column){}

/**
 * Fetch a row as an array
 *
 * {@link pg_fetch_array} returns an array that corresponds to the
 * fetched row (record).
 *
 * {@link pg_fetch_array} is an extended version of {@link pg_fetch_row}.
 * In addition to storing the data in the numeric indices (field number)
 * to the result array, it can also store the data using associative
 * indices (field name). It stores both indicies by default.
 *
 * {@link pg_fetch_array} is NOT significantly slower than using {@link
 * pg_fetch_row}, and is significantly easier to use.
 *
 * @param resource $result PostgreSQL query result resource, returned
 *   by {@link pg_query}, {@link pg_query_params} or {@link pg_execute}
 *   (among others).
 * @param int $row Row number in result to fetch. Rows are numbered
 *   from 0 upwards. If omitted or NULL, the next row is fetched.
 * @param int $result_type An optional parameter that controls how the
 *   returned array is indexed. {@link result_type} is a constant and can
 *   take the following values: PGSQL_ASSOC, PGSQL_NUM and PGSQL_BOTH.
 *   Using PGSQL_NUM, {@link pg_fetch_array} will return an array with
 *   numerical indices, using PGSQL_ASSOC it will return only associative
 *   indices while PGSQL_BOTH, the default, will return both numerical
 *   and associative indices.
 * @return array An array indexed numerically (beginning with 0) or
 *   associatively (indexed by field name), or both. Each value in the
 *   array is represented as a string. Database NULL values are returned
 *   as NULL.
 * @since PHP 4, PHP 5, PHP 7
 **/
function pg_fetch_array($result, $row, $result_type){}

/**
 * Fetch a row as an associative array
 *
 * {@link pg_fetch_assoc} returns an associative array that corresponds
 * to the fetched row (records).
 *
 * {@link pg_fetch_assoc} is equivalent to calling {@link pg_fetch_array}
 * with PGSQL_ASSOC as the optional third parameter. It only returns an
 * associative array. If you need the numeric indices, use {@link
 * pg_fetch_row}.
 *
 * {@link pg_fetch_assoc} is NOT significantly slower than using {@link
 * pg_fetch_row}, and is significantly easier to use.
 *
 * @param resource $result PostgreSQL query result resource, returned
 *   by {@link pg_query}, {@link pg_query_params} or {@link pg_execute}
 *   (among others).
 * @param int $row Row number in result to fetch. Rows are numbered
 *   from 0 upwards. If omitted or NULL, the next row is fetched.
 * @return array An array indexed associatively (by field name). Each
 *   value in the array is represented as a string. Database NULL values
 *   are returned as NULL.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function pg_fetch_assoc($result, $row){}

/**
 * Fetch a row as an object
 *
 * {@link pg_fetch_object} returns an object with properties that
 * correspond to the fetched row's field names. It can optionally
 * instantiate an object of a specific class, and pass parameters to that
 * class's constructor.
 *
 * Speed-wise, the function is identical to {@link pg_fetch_array}, and
 * almost as fast as {@link pg_fetch_row} (the difference is
 * insignificant).
 *
 * @param resource $result PostgreSQL query result resource, returned
 *   by {@link pg_query}, {@link pg_query_params} or {@link pg_execute}
 *   (among others).
 * @param int $row Row number in result to fetch. Rows are numbered
 *   from 0 upwards. If omitted or NULL, the next row is fetched.
 * @param int $result_type Ignored and deprecated.
 * @return object An object with one attribute for each field name in
 *   the result. Database NULL values are returned as NULL.
 * @since PHP 4, PHP 5, PHP 7
 **/
function pg_fetch_object($result, $row, $result_type){}

/**
 * Returns values from a result resource
 *
 * {@link pg_fetch_result} returns the value of a particular row and
 * field (column) in a PostgreSQL result resource.
 *
 * @param resource $result PostgreSQL query result resource, returned
 *   by {@link pg_query}, {@link pg_query_params} or {@link pg_execute}
 *   (among others).
 * @param int $row Row number in result to fetch. Rows are numbered
 *   from 0 upwards. If omitted, next row is fetched.
 * @param mixed $field A string representing the name of the field
 *   (column) to fetch, otherwise an int representing the field number to
 *   fetch. Fields are numbered from 0 upwards.
 * @return string Boolean is returned as t or f. All other types,
 *   including arrays are returned as strings formatted in the same
 *   default PostgreSQL manner that you would see in the psql program.
 *   Database NULL values are returned as NULL.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_fetch_result($result, $row, $field){}

/**
 * Get a row as an enumerated array
 *
 * {@link pg_fetch_row} fetches one row of data from the result
 * associated with the specified {@link result} resource.
 *
 * @param resource $result PostgreSQL query result resource, returned
 *   by {@link pg_query}, {@link pg_query_params} or {@link pg_execute}
 *   (among others).
 * @param int $row Row number in result to fetch. Rows are numbered
 *   from 0 upwards. If omitted or NULL, the next row is fetched.
 * @return array An array, indexed from 0 upwards, with each value
 *   represented as a string. Database NULL values are returned as NULL.
 * @since PHP 4, PHP 5, PHP 7
 **/
function pg_fetch_row($result, $row){}

/**
 * Test if a field is SQL
 *
 * {@link pg_field_is_null} tests if a field in a PostgreSQL result
 * resource is SQL NULL or not.
 *
 * @param resource $result PostgreSQL query result resource, returned
 *   by {@link pg_query}, {@link pg_query_params} or {@link pg_execute}
 *   (among others).
 * @param int $row Row number in result to fetch. Rows are numbered
 *   from 0 upwards. If omitted, current row is fetched.
 * @param mixed $field Field number (starting from 0) as an integer or
 *   the field name as a string.
 * @return int Returns 1 if the field in the given row is SQL NULL, 0
 *   if not. FALSE is returned if the row is out of range, or upon any
 *   other error.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_field_is_null($result, $row, $field){}

/**
 * Returns the name of a field
 *
 * {@link pg_field_name} returns the name of the field occupying the
 * given {@link field_number} in the given PostgreSQL {@link result}
 * resource. Field numbering starts from 0.
 *
 * @param resource $result PostgreSQL query result resource, returned
 *   by {@link pg_query}, {@link pg_query_params} or {@link pg_execute}
 *   (among others).
 * @param int $field_number Field number, starting from 0.
 * @return string The field name, or FALSE on error.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_field_name($result, $field_number){}

/**
 * Returns the field number of the named field
 *
 * {@link pg_field_num} will return the number of the field number that
 * corresponds to the {@link field_name} in the given PostgreSQL {@link
 * result} resource.
 *
 * @param resource $result PostgreSQL query result resource, returned
 *   by {@link pg_query}, {@link pg_query_params} or {@link pg_execute}
 *   (among others).
 * @param string $field_name The name of the field.
 * @return int The field number (numbered from 0), or -1 on error.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_field_num($result, $field_name){}

/**
 * Returns the printed length
 *
 * {@link pg_field_prtlen} returns the actual printed length (number of
 * characters) of a specific value in a PostgreSQL {@link result}. Row
 * numbering starts at 0. This function will return FALSE on an error.
 *
 * {@link field_name_or_number} can be passed either as an integer or as
 * a string. If it is passed as an integer, PHP recognises it as the
 * field number, otherwise as field name.
 *
 * See the example given at the {@link pg_field_name} page.
 *
 * @param resource $result PostgreSQL query result resource, returned
 *   by {@link pg_query}, {@link pg_query_params} or {@link pg_execute}
 *   (among others).
 * @param int $row_number Row number in result. Rows are numbered from
 *   0 upwards. If omitted, current row is fetched.
 * @param mixed $field_name_or_number
 * @return int The field printed length, or FALSE on error.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_field_prtlen($result, $row_number, $field_name_or_number){}

/**
 * Returns the internal storage size of the named field
 *
 * {@link pg_field_size} returns the internal storage size (in bytes) of
 * the field number in the given PostgreSQL {@link result}.
 *
 * @param resource $result PostgreSQL query result resource, returned
 *   by {@link pg_query}, {@link pg_query_params} or {@link pg_execute}
 *   (among others).
 * @param int $field_number Field number, starting from 0.
 * @return int The internal field storage size (in bytes). -1 indicates
 *   a variable length field. FALSE is returned on error.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_field_size($result, $field_number){}

/**
 * Returns the name or oid of the tables field
 *
 * {@link pg_field_table} returns the name of the table that field
 * belongs to, or the table's oid if {@link oid_only} is TRUE.
 *
 * @param resource $result PostgreSQL query result resource, returned
 *   by {@link pg_query}, {@link pg_query_params} or {@link pg_execute}
 *   (among others).
 * @param int $field_number Field number, starting from 0.
 * @param bool $oid_only By default the tables name that field belongs
 *   to is returned but if {@link oid_only} is set to TRUE, then the oid
 *   will instead be returned.
 * @return mixed On success either the fields table name or oid. Or,
 *   FALSE on failure.
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function pg_field_table($result, $field_number, $oid_only){}

/**
 * Returns the type name for the corresponding field number
 *
 * {@link pg_field_type} returns a string containing the base type name
 * of the given {@link field_number} in the given PostgreSQL {@link
 * result} resource.
 *
 * @param resource $result PostgreSQL query result resource, returned
 *   by {@link pg_query}, {@link pg_query_params} or {@link pg_execute}
 *   (among others).
 * @param int $field_number Field number, starting from 0.
 * @return string A string containing the base name of the field's
 *   type, or FALSE on error.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_field_type($result, $field_number){}

/**
 * Returns the type ID (OID) for the corresponding field number
 *
 * {@link pg_field_type_oid} returns an integer containing the OID of the
 * base type of the given {@link field_number} in the given PostgreSQL
 * {@link result} resource.
 *
 * You can get more information about the field type by querying
 * PostgreSQL's pg_type system table using the OID obtained with this
 * function. The PostgreSQL {@link format_type} function will convert a
 * type OID into an SQL standard type name.
 *
 * @param resource $result PostgreSQL query result resource, returned
 *   by {@link pg_query}, {@link pg_query_params} or {@link pg_execute}
 *   (among others).
 * @param int $field_number Field number, starting from 0.
 * @return int The OID of the field's base type. FALSE is returned on
 *   error.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function pg_field_type_oid($result, $field_number){}

/**
 * Flush outbound query data on the connection
 *
 * {@link pg_flush} flushes any outbound query data waiting to be sent on
 * the connection.
 *
 * @param resource $connection PostgreSQL database connection resource.
 * @return mixed Returns TRUE if the flush was successful or no data
 *   was waiting to be flushed, 0 if part of the pending data was flushed
 *   but more remains.
 * @since PHP 5 >= 5.6.0, PHP 7
 **/
function pg_flush($connection){}

/**
 * Free result memory
 *
 * {@link pg_free_result} frees the memory and data associated with the
 * specified PostgreSQL query result resource.
 *
 * This function need only be called if memory consumption during script
 * execution is a problem. Otherwise, all result memory will be
 * automatically freed when the script ends.
 *
 * @param resource $result PostgreSQL query result resource, returned
 *   by {@link pg_query}, {@link pg_query_params} or {@link pg_execute}
 *   (among others).
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_free_result($result){}

/**
 * Gets SQL NOTIFY message
 *
 * {@link pg_get_notify} gets notifications generated by a NOTIFY SQL
 * command. To receive notifications, the LISTEN SQL command must be
 * issued.
 *
 * @param resource $connection PostgreSQL database connection resource.
 * @param int $result_type An optional parameter that controls how the
 *   returned array is indexed. {@link result_type} is a constant and can
 *   take the following values: PGSQL_ASSOC, PGSQL_NUM and PGSQL_BOTH.
 *   Using PGSQL_NUM, {@link pg_get_notify} will return an array with
 *   numerical indices, using PGSQL_ASSOC it will return only associative
 *   indices while PGSQL_BOTH, the default, will return both numerical
 *   and associative indices.
 * @return array An array containing the NOTIFY message name and
 *   backend PID. As of PHP 5.4.0 and if supported by the server, the
 *   array also contains the server version and the payload. Otherwise if
 *   no NOTIFY is waiting, then FALSE is returned.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function pg_get_notify($connection, $result_type){}

/**
 * Gets the backend's process ID
 *
 * {@link pg_get_pid} gets the backend's (database server process) PID.
 * The PID is useful to determine whether or not a NOTIFY message
 * received via {@link pg_get_notify} is sent from another process or
 * not.
 *
 * @param resource $connection PostgreSQL database connection resource.
 * @return int The backend database process ID.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function pg_get_pid($connection){}

/**
 * Get asynchronous query result
 *
 * {@link pg_get_result} gets the result resource from an asynchronous
 * query executed by {@link pg_send_query}, {@link pg_send_query_params}
 * or {@link pg_send_execute}.
 *
 * {@link pg_send_query} and the other asynchronous query functions can
 * send multiple queries to a PostgreSQL server and {@link pg_get_result}
 * is used to get each query's results, one by one.
 *
 * @param resource $connection PostgreSQL database connection resource.
 * @return resource The result resource, or FALSE if no more results
 *   are available.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_get_result($connection){}

/**
 * Returns the host name associated with the connection
 *
 * {@link pg_host} returns the host name of the given PostgreSQL {@link
 * connection} resource is connected to.
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @return string A string containing the name of the host the {@link
 *   connection} is to, or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function pg_host($connection){}

/**
 * Insert array into table
 *
 * {@link pg_insert} inserts the values of {@link assoc_array} into the
 * table specified by {@link table_name}. If {@link options} is
 * specified, {@link pg_convert} is applied to {@link assoc_array} with
 * the specified options.
 *
 * @param resource $connection PostgreSQL database connection resource.
 * @param string $table_name Name of the table into which to insert
 *   rows. The table {@link table_name} must at least have as many
 *   columns as {@link assoc_array} has elements.
 * @param array $assoc_array An array whose keys are field names in the
 *   table {@link table_name}, and whose values are the values of those
 *   fields that are to be inserted.
 * @param int $options Any number of PGSQL_CONV_OPTS,
 *   PGSQL_DML_NO_CONV, PGSQL_DML_ESCAPE, PGSQL_DML_EXEC, PGSQL_DML_ASYNC
 *   or PGSQL_DML_STRING combined. If PGSQL_DML_STRING is part of the
 *   {@link options} then query string is returned. When
 *   PGSQL_DML_NO_CONV or PGSQL_DML_ESCAPE is set, it does not call
 *   {@link pg_convert} internally.
 * @return mixed Returns the connection resource on success, . Returns
 *   string if PGSQL_DML_STRING is passed via {@link options}.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function pg_insert($connection, $table_name, $assoc_array, $options){}

/**
 * Get the last error message string of a connection
 *
 * {@link pg_last_error} returns the last error message for a given
 * {@link connection}.
 *
 * Error messages may be overwritten by internal PostgreSQL (libpq)
 * function calls. It may not return an appropriate error message if
 * multiple errors occur inside a PostgreSQL module function.
 *
 * Use {@link pg_result_error}, {@link pg_result_error_field}, {@link
 * pg_result_status} and {@link pg_connection_status} for better error
 * handling.
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @return string A string containing the last error message on the
 *   given {@link connection}, or FALSE on error.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_last_error($connection){}

/**
 * Returns the last notice message from PostgreSQL server
 *
 * {@link pg_last_notice} returns the last notice message from the
 * PostgreSQL server on the specified {@link connection}. The PostgreSQL
 * server sends notice messages in several cases, for instance when
 * creating a SERIAL column in a table.
 *
 * With {@link pg_last_notice}, you can avoid issuing useless queries by
 * checking whether or not the notice is related to your transaction.
 *
 * Notice message tracking can be set to optional by setting 1 for
 * pgsql.ignore_notice in .
 *
 * Notice message logging can be set to optional by setting 0 for
 * pgsql.log_notice in . Unless pgsql.ignore_notice is set to 0, notice
 * message cannot be logged.
 *
 * @param resource $connection PostgreSQL database connection resource.
 * @param int $option One of PGSQL_NOTICE_LAST (to return last notice),
 *   PGSQL_NOTICE_ALL (to return all notices), or PGSQL_NOTICE_CLEAR (to
 *   clear notices).
 * @return mixed A string containing the last notice on the given
 *   {@link connection} with PGSQL_NOTICE_LAST, an array with
 *   PGSQL_NOTICE_ALL, a boolean with PGSQL_NOTICE_CLEAR, or FALSE on
 *   error.
 * @since PHP 4 >= 4.0.6, PHP 5, PHP 7
 **/
function pg_last_notice($connection, $option){}

/**
 * Returns the last row's OID
 *
 * {@link pg_last_oid} is used to retrieve the OID assigned to an
 * inserted row.
 *
 * OID field became an optional field from PostgreSQL 7.2 and will not be
 * present by default in PostgreSQL 8.1. When the OID field is not
 * present in a table, the programmer must use {@link pg_result_status}
 * to check for successful insertion.
 *
 * To get the value of a SERIAL field in an inserted row, it is necessary
 * to use the PostgreSQL CURRVAL function, naming the sequence whose last
 * value is required. If the name of the sequence is unknown, the
 * pg_get_serial_sequence PostgreSQL 8.0 function is necessary.
 *
 * PostgreSQL 8.1 has a function LASTVAL that returns the value of the
 * most recently used sequence in the session. This avoids the need for
 * naming the sequence, table or column altogether.
 *
 * @param resource $result PostgreSQL query result resource, returned
 *   by {@link pg_query}, {@link pg_query_params} or {@link pg_execute}
 *   (among others).
 * @return string A string containing the OID assigned to the most
 *   recently inserted row in the specified {@link connection}, or FALSE
 *   on error or no available OID.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_last_oid($result){}

/**
 * Close a large object
 *
 * {@link pg_lo_close} closes a large object. {@link large_object} is a
 * resource for the large object from {@link pg_lo_open}.
 *
 * To use the large object interface, it is necessary to enclose it
 * within a transaction block.
 *
 * @param resource $large_object PostgreSQL large object (LOB)
 *   resource, returned by {@link pg_lo_open}.
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_lo_close($large_object){}

/**
 * Create a large object
 *
 * {@link pg_lo_create} creates a large object and returns the OID of the
 * large object. PostgreSQL access modes INV_READ, INV_WRITE, and
 * INV_ARCHIVE are not supported, the object is created always with both
 * read and write access. INV_ARCHIVE has been removed from PostgreSQL
 * itself (version 6.3 and above).
 *
 * To use the large object interface, it is necessary to enclose it
 * within a transaction block.
 *
 * Instead of using the large object interface (which has no access
 * controls and is cumbersome to use), try PostgreSQL's bytea column type
 * and {@link pg_escape_bytea}.
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @param mixed $object_id If an {@link object_id} is given the
 *   function will try to create a large object with this id, else a free
 *   object id is assigned by the server. The parameter was added in PHP
 *   5.3 and relies on functionality that first appeared in PostgreSQL
 *   8.1.
 * @return int A large object OID or FALSE on error.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_lo_create($connection, $object_id){}

/**
 * Export a large object to file
 *
 * {@link pg_lo_export} takes a large object in a PostgreSQL database and
 * saves its contents to a file on the local filesystem.
 *
 * To use the large object interface, it is necessary to enclose it
 * within a transaction block.
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @param int $oid The OID of the large object in the database.
 * @param string $pathname The full path and file name of the file in
 *   which to write the large object on the client filesystem.
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_lo_export($connection, $oid, $pathname){}

/**
 * Import a large object from file
 *
 * {@link pg_lo_import} creates a new large object in the database using
 * a file on the filesystem as its data source.
 *
 * To use the large object interface, it is necessary to enclose it
 * within a transaction block.
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @param string $pathname The full path and file name of the file on
 *   the client filesystem from which to read the large object data.
 * @param mixed $object_id If an {@link object_id} is given the
 *   function will try to create a large object with this id, else a free
 *   object id is assigned by the server. The parameter was added in PHP
 *   5.3 and relies on functionality that first appeared in PostgreSQL
 *   8.1.
 * @return int The OID of the newly created large object, or FALSE on
 *   failure.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_lo_import($connection, $pathname, $object_id){}

/**
 * Open a large object
 *
 * {@link pg_lo_open} opens a large object in the database and returns
 * large object resource so that it can be manipulated.
 *
 * To use the large object interface, it is necessary to enclose it
 * within a transaction block.
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @param int $oid The OID of the large object in the database.
 * @param string $mode Can be either "r" for read-only, "w" for write
 *   only or "rw" for read and write.
 * @return resource A large object resource or FALSE on error.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_lo_open($connection, $oid, $mode){}

/**
 * Read a large object
 *
 * {@link pg_lo_read} reads at most {@link len} bytes from a large object
 * and returns it as a string.
 *
 * To use the large object interface, it is necessary to enclose it
 * within a transaction block.
 *
 * @param resource $large_object PostgreSQL large object (LOB)
 *   resource, returned by {@link pg_lo_open}.
 * @param int $len An optional maximum number of bytes to return.
 * @return string A string containing {@link len} bytes from the large
 *   object, or FALSE on error.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_lo_read($large_object, $len){}

/**
 * Reads an entire large object and send straight to browser
 *
 * {@link pg_lo_read_all} reads a large object and passes it straight
 * through to the browser after sending all pending headers. Mainly
 * intended for sending binary data like images or sound.
 *
 * To use the large object interface, it is necessary to enclose it
 * within a transaction block.
 *
 * @param resource $large_object PostgreSQL large object (LOB)
 *   resource, returned by {@link pg_lo_open}.
 * @return int Number of bytes read or FALSE on error.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_lo_read_all($large_object){}

/**
 * Seeks position within a large object
 *
 * {@link pg_lo_seek} seeks a position within a large object resource.
 *
 * To use the large object interface, it is necessary to enclose it
 * within a transaction block.
 *
 * @param resource $large_object PostgreSQL large object (LOB)
 *   resource, returned by {@link pg_lo_open}.
 * @param int $offset The number of bytes to seek.
 * @param int $whence One of the constants PGSQL_SEEK_SET (seek from
 *   object start), PGSQL_SEEK_CUR (seek from current position) or
 *   PGSQL_SEEK_END (seek from object end) .
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_lo_seek($large_object, $offset, $whence){}

/**
 * Returns current seek position a of large object
 *
 * {@link pg_lo_tell} returns the current position (offset from the
 * beginning) of a large object.
 *
 * To use the large object interface, it is necessary to enclose it
 * within a transaction block.
 *
 * @param resource $large_object PostgreSQL large object (LOB)
 *   resource, returned by {@link pg_lo_open}.
 * @return int The current seek offset (in number of bytes) from the
 *   beginning of the large object. If there is an error, the return
 *   value is negative.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_lo_tell($large_object){}

/**
 * Truncates a large object
 *
 * {@link pg_lo_truncate} truncates a large object resource.
 *
 * To use the large object interface, it is necessary to enclose it
 * within a transaction block.
 *
 * @param resource $large_object PostgreSQL large object (LOB)
 *   resource, returned by {@link pg_lo_open}.
 * @param int $size The number of bytes to truncate.
 * @return bool
 * @since PHP 5 >= 5.6.0, PHP 7
 **/
function pg_lo_truncate($large_object, $size){}

/**
 * Delete a large object
 *
 * {@link pg_lo_unlink} deletes a large object with the {@link oid}.
 *
 * To use the large object interface, it is necessary to enclose it
 * within a transaction block.
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @param int $oid The OID of the large object in the database.
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_lo_unlink($connection, $oid){}

/**
 * Write to a large object
 *
 * {@link pg_lo_write} writes data into a large object at the current
 * seek position.
 *
 * To use the large object interface, it is necessary to enclose it
 * within a transaction block.
 *
 * @param resource $large_object PostgreSQL large object (LOB)
 *   resource, returned by {@link pg_lo_open}.
 * @param string $data The data to be written to the large object. If
 *   {@link len} is specified and is less than the length of {@link
 *   data}, only {@link len} bytes will be written.
 * @param int $len An optional maximum number of bytes to write. Must
 *   be greater than zero and no greater than the length of {@link data}.
 *   Defaults to the length of {@link data}.
 * @return int The number of bytes written to the large object, or
 *   FALSE on error.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_lo_write($large_object, $data, $len){}

/**
 * Get meta data for table
 *
 * {@link pg_meta_data} returns table definition for table_name as an
 * array.
 *
 * @param resource $connection PostgreSQL database connection resource.
 * @param string $table_name The name of the table.
 * @param bool $extended Flag for returning extended meta data. Default
 *   to FALSE.
 * @return array An array of the table definition, or FALSE on error.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function pg_meta_data($connection, $table_name, $extended){}

/**
 * Returns the number of fields in a result
 *
 * {@link pg_num_fields} returns the number of fields (columns) in a
 * PostgreSQL result resource.
 *
 * @param resource $result PostgreSQL query result resource, returned
 *   by {@link pg_query}, {@link pg_query_params} or {@link pg_execute}
 *   (among others).
 * @return int The number of fields (columns) in the result. On error,
 *   -1 is returned.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_num_fields($result){}

/**
 * Returns the number of rows in a result
 *
 * {@link pg_num_rows} will return the number of rows in a PostgreSQL
 * result resource.
 *
 * @param resource $result PostgreSQL query result resource, returned
 *   by {@link pg_query}, {@link pg_query_params} or {@link pg_execute}
 *   (among others).
 * @return int The number of rows in the result. On error, -1 is
 *   returned.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_num_rows($result){}

/**
 * Get the options associated with the connection
 *
 * {@link pg_options} will return a string containing the options
 * specified on the given PostgreSQL {@link connection} resource.
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @return string A string containing the {@link connection} options,
 *   or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function pg_options($connection){}

/**
 * Looks up a current parameter setting of the server
 *
 * Certain parameter values are reported by the server automatically at
 * connection startup or whenever their values change. {@link
 * pg_parameter_status} can be used to interrogate these settings. It
 * returns the current value of a parameter if known, or FALSE if the
 * parameter is not known.
 *
 * Parameters reported as of PostgreSQL 8.0 include server_version,
 * server_encoding, client_encoding, is_superuser, session_authorization,
 * DateStyle, TimeZone, and integer_datetimes. (server_encoding,
 * TimeZone, and integer_datetimes were not reported by releases before
 * 8.0.) Note that server_version, server_encoding and integer_datetimes
 * cannot change after PostgreSQL startup.
 *
 * PostgreSQL 7.3 or lower servers do not report parameter settings,
 * {@link pg_parameter_status} includes logic to obtain values for
 * server_version and client_encoding anyway. Applications are encouraged
 * to use {@link pg_parameter_status} rather than ad hoc code to
 * determine these values.
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @param string $param_name Possible {@link param_name} values include
 *   server_version, server_encoding, client_encoding, is_superuser,
 *   session_authorization, DateStyle, TimeZone, and integer_datetimes.
 * @return string A string containing the value of the parameter, FALSE
 *   on failure or invalid {@link param_name}.
 * @since PHP 5, PHP 7
 **/
function pg_parameter_status($connection, $param_name){}

/**
 * Open a persistent PostgreSQL connection
 *
 * {@link pg_pconnect} opens a connection to a PostgreSQL database. It
 * returns a connection resource that is needed by other PostgreSQL
 * functions.
 *
 * If a second call is made to {@link pg_pconnect} with the same {@link
 * connection_string} as an existing connection, the existing connection
 * will be returned unless you pass PGSQL_CONNECT_FORCE_NEW as {@link
 * connect_type}.
 *
 * To enable persistent connection, the pgsql.allow_persistent directive
 * must be set to On (which is the default). The maximum number of
 * persistent connection can be defined with the pgsql.max_persistent
 * directive (defaults to -1 for no limit). The total number of
 * connections can be set with the pgsql.max_links directive.
 *
 * {@link pg_close} will not close persistent links generated by {@link
 * pg_pconnect}.
 *
 * @param string $connection_string The {@link connection_string} can
 *   be empty to use all default parameters, or it can contain one or
 *   more parameter settings separated by whitespace. Each parameter
 *   setting is in the form keyword = value. Spaces around the equal sign
 *   are optional. To write an empty value or a value containing spaces,
 *   surround it with single quotes, e.g., keyword = 'a value'. Single
 *   quotes and backslashes within the value must be escaped with a
 *   backslash, i.e., \' and \\. The currently recognized parameter
 *   keywords are: {@link host}, {@link hostaddr}, {@link port}, {@link
 *   dbname}, {@link user}, {@link password}, {@link connect_timeout},
 *   {@link options}, {@link tty} (ignored), {@link sslmode}, {@link
 *   requiressl} (deprecated in favor of {@link sslmode}), and {@link
 *   service}. Which of these arguments exist depends on your PostgreSQL
 *   version.
 * @param int $connect_type If PGSQL_CONNECT_FORCE_NEW is passed, then
 *   a new connection is created, even if the {@link connection_string}
 *   is identical to an existing connection.
 * @return resource PostgreSQL connection resource on success, FALSE on
 *   failure.
 * @since PHP 4, PHP 5, PHP 7
 **/
function pg_pconnect($connection_string, $connect_type){}

/**
 * Ping database connection
 *
 * {@link pg_ping} pings a database connection and tries to reconnect it
 * if it is broken.
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @return bool
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function pg_ping($connection){}

/**
 * Return the port number associated with the connection
 *
 * {@link pg_port} returns the port number that the given PostgreSQL
 * {@link connection} resource is connected to.
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @return int An int containing the port number of the database server
 *   the {@link connection} is to, or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function pg_port($connection){}

/**
 * Submits a request to create a prepared statement with the given
 * parameters, and waits for completion
 *
 * {@link pg_prepare} creates a prepared statement for later execution
 * with {@link pg_execute} or {@link pg_send_execute}. This feature
 * allows commands that will be used repeatedly to be parsed and planned
 * just once, rather than each time they are executed. {@link pg_prepare}
 * is supported only against PostgreSQL 7.4 or higher connections; it
 * will fail when using earlier versions.
 *
 * The function creates a prepared statement named {@link stmtname} from
 * the {@link query} string, which must contain a single SQL command.
 * {@link stmtname} may be "" to create an unnamed statement, in which
 * case any pre-existing unnamed statement is automatically replaced;
 * otherwise it is an error if the statement name is already defined in
 * the current session. If any parameters are used, they are referred to
 * in the {@link query} as $1, $2, etc.
 *
 * Prepared statements for use with {@link pg_prepare} can also be
 * created by executing SQL PREPARE statements. (But {@link pg_prepare}
 * is more flexible since it does not require parameter types to be
 * pre-specified.) Also, although there is no PHP function for deleting a
 * prepared statement, the SQL DEALLOCATE statement can be used for that
 * purpose.
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @param string $stmtname The name to give the prepared statement.
 *   Must be unique per-connection. If "" is specified, then an unnamed
 *   statement is created, overwriting any previously defined unnamed
 *   statement.
 * @param string $query The parameterized SQL statement. Must contain
 *   only a single statement. (multiple statements separated by
 *   semi-colons are not allowed.) If any parameters are used, they are
 *   referred to as $1, $2, etc.
 * @return resource A query result resource on success.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function pg_prepare($connection, $stmtname, $query){}

/**
 * Send a NULL-terminated string to PostgreSQL backend
 *
 * {@link pg_put_line} sends a NULL-terminated string to the PostgreSQL
 * backend server. This is needed in conjunction with PostgreSQL's COPY
 * FROM command.
 *
 * COPY is a high-speed data loading interface supported by PostgreSQL.
 * Data is passed in without being parsed, and in a single transaction.
 *
 * An alternative to using raw {@link pg_put_line} commands is to use
 * {@link pg_copy_from}. This is a far simpler interface.
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @param string $data A line of text to be sent directly to the
 *   PostgreSQL backend. A NULL terminator is added automatically.
 * @return bool
 * @since PHP 4 >= 4.0.3, PHP 5, PHP 7
 **/
function pg_put_line($connection, $data){}

/**
 * Execute a query
 *
 * {@link pg_query} executes the {@link query} on the specified database
 * {@link connection}. {@link pg_query_params} should be preferred in
 * most cases.
 *
 * If an error occurs, and FALSE is returned, details of the error can be
 * retrieved using the {@link pg_last_error} function if the connection
 * is valid.
 *
 * Although {@link connection} can be omitted, it is not recommended,
 * since it can be the cause of hard to find bugs in scripts.
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @param string $query The SQL statement or statements to be executed.
 *   When multiple statements are passed to the function, they are
 *   automatically executed as one transaction, unless there are explicit
 *   BEGIN/COMMIT commands included in the query string. However, using
 *   multiple transactions in one function call is not recommended.
 * @return resource A query result resource on success.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_query($connection, $query){}

/**
 * Submits a command to the server and waits for the result, with the
 * ability to pass parameters separately from the SQL command text
 *
 * Submits a command to the server and waits for the result, with the
 * ability to pass parameters separately from the SQL command text.
 *
 * {@link pg_query_params} is like {@link pg_query}, but offers
 * additional functionality: parameter values can be specified separately
 * from the command string proper. {@link pg_query_params} is supported
 * only against PostgreSQL 7.4 or higher connections; it will fail when
 * using earlier versions.
 *
 * If parameters are used, they are referred to in the {@link query}
 * string as $1, $2, etc. The same parameter may appear more than once in
 * the {@link query}; the same value will be used in that case. {@link
 * params} specifies the actual values of the parameters. A NULL value in
 * this array means the corresponding parameter is SQL NULL.
 *
 * The primary advantage of {@link pg_query_params} over {@link pg_query}
 * is that parameter values may be separated from the {@link query}
 * string, thus avoiding the need for tedious and error-prone quoting and
 * escaping. Unlike {@link pg_query}, {@link pg_query_params} allows at
 * most one SQL command in the given string. (There can be semicolons in
 * it, but not more than one nonempty command.)
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @param string $query The parameterized SQL statement. Must contain
 *   only a single statement. (multiple statements separated by
 *   semi-colons are not allowed.) If any parameters are used, they are
 *   referred to as $1, $2, etc. User-supplied values should always be
 *   passed as parameters, not interpolated into the query string, where
 *   they form possible SQL injection attack vectors and introduce bugs
 *   when handling data containing quotes. If for some reason you cannot
 *   use a parameter, ensure that interpolated values are properly
 *   escaped.
 * @param array $params An array of parameter values to substitute for
 *   the $1, $2, etc. placeholders in the original prepared query string.
 *   The number of elements in the array must match the number of
 *   placeholders. Values intended for bytea fields are not supported as
 *   parameters. Use {@link pg_escape_bytea} instead, or use the large
 *   object functions.
 * @return resource A query result resource on success.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function pg_query_params($connection, $query, $params){}

/**
 * Get error message associated with result
 *
 * {@link pg_result_error} returns any error message associated with the
 * {@link result} resource. Therefore, the user has a better chance of
 * getting the correct error message than with {@link pg_last_error}.
 *
 * The function {@link pg_result_error_field} can give much greater
 * detail on result errors than {@link pg_result_error}.
 *
 * Because {@link pg_query} returns FALSE if the query fails, you must
 * use {@link pg_send_query} and {@link pg_get_result} to get the result
 * handle.
 *
 * @param resource $result PostgreSQL query result resource, returned
 *   by {@link pg_query}, {@link pg_query_params} or {@link pg_execute}
 *   (among others).
 * @return string Returns a string. Returns empty string if there is no
 *   error. If there is an error associated with the {@link result}
 *   parameter, returns FALSE.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_result_error($result){}

/**
 * Returns an individual field of an error report
 *
 * {@link pg_result_error_field} returns one of the detailed error
 * message fields associated with {@link result} resource. It is only
 * available against a PostgreSQL 7.4 or above server. The error field is
 * specified by the {@link fieldcode}.
 *
 * Because {@link pg_query} and {@link pg_query_params} return FALSE if
 * the query fails, you must use {@link pg_send_query} and {@link
 * pg_get_result} to get the result handle.
 *
 * If you need to get additional error information from failed {@link
 * pg_query} queries, use {@link pg_set_error_verbosity} and {@link
 * pg_last_error} and then parse the result.
 *
 * @param resource $result A PostgreSQL query result resource from a
 *   previously executed statement.
 * @param int $fieldcode Possible {@link fieldcode} values are:
 *   PGSQL_DIAG_SEVERITY, PGSQL_DIAG_SQLSTATE,
 *   PGSQL_DIAG_MESSAGE_PRIMARY, PGSQL_DIAG_MESSAGE_DETAIL,
 *   PGSQL_DIAG_MESSAGE_HINT, PGSQL_DIAG_STATEMENT_POSITION,
 *   PGSQL_DIAG_INTERNAL_POSITION (PostgreSQL 8.0+ only),
 *   PGSQL_DIAG_INTERNAL_QUERY (PostgreSQL 8.0+ only),
 *   PGSQL_DIAG_CONTEXT, PGSQL_DIAG_SOURCE_FILE, PGSQL_DIAG_SOURCE_LINE
 *   or PGSQL_DIAG_SOURCE_FUNCTION.
 * @return string A string containing the contents of the error field,
 *   NULL if the field does not exist or FALSE on failure.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function pg_result_error_field($result, $fieldcode){}

/**
 * Set internal row offset in result resource
 *
 * {@link pg_result_seek} sets the internal row offset in a result
 * resource.
 *
 * @param resource $result PostgreSQL query result resource, returned
 *   by {@link pg_query}, {@link pg_query_params} or {@link pg_execute}
 *   (among others).
 * @param int $offset Row to move the internal offset to in the {@link
 *   result} resource. Rows are numbered starting from zero.
 * @return bool
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function pg_result_seek($result, $offset){}

/**
 * Get status of query result
 *
 * {@link pg_result_status} returns the status of a result resource, or
 * the PostgreSQL command completion tag associated with the result
 *
 * @param resource $result PostgreSQL query result resource, returned
 *   by {@link pg_query}, {@link pg_query_params} or {@link pg_execute}
 *   (among others).
 * @param int $type Either PGSQL_STATUS_LONG to return the numeric
 *   status of the {@link result}, or PGSQL_STATUS_STRING to return the
 *   command tag of the {@link result}. If not specified,
 *   PGSQL_STATUS_LONG is the default.
 * @return mixed Possible return values are PGSQL_EMPTY_QUERY,
 *   PGSQL_COMMAND_OK, PGSQL_TUPLES_OK, PGSQL_COPY_OUT, PGSQL_COPY_IN,
 *   PGSQL_BAD_RESPONSE, PGSQL_NONFATAL_ERROR and PGSQL_FATAL_ERROR if
 *   PGSQL_STATUS_LONG is specified. Otherwise, a string containing the
 *   PostgreSQL command tag is returned.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_result_status($result, $type){}

/**
 * Select records
 *
 * {@link pg_select} selects records specified by assoc_array which has
 * field=>value. For a successful query, it returns an array containing
 * all records and fields that match the condition specified by
 * assoc_array.
 *
 * If options is specified, {@link pg_convert} is applied to assoc_array
 * with the specified flags.
 *
 * @param resource $connection PostgreSQL database connection resource.
 * @param string $table_name Name of the table from which to select
 *   rows.
 * @param array $assoc_array An array whose keys are field names in the
 *   table {@link table_name}, and whose values are the conditions that a
 *   row must meet to be retrieved.
 * @param int $options Any number of PGSQL_CONV_FORCE_NULL,
 *   PGSQL_DML_NO_CONV, PGSQL_DML_ESCAPE, PGSQL_DML_EXEC, PGSQL_DML_ASYNC
 *   or PGSQL_DML_STRING combined. If PGSQL_DML_STRING is part of the
 *   {@link options} then query string is returned. When
 *   PGSQL_DML_NO_CONV or PGSQL_DML_ESCAPE is set, it does not call
 *   {@link pg_convert} internally.
 * @param int $result_type
 * @return mixed Returns string if PGSQL_DML_STRING is passed via
 *   {@link options}.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function pg_select($connection, $table_name, $assoc_array, $options, $result_type){}

/**
 * Sends a request to execute a prepared statement with given parameters,
 * without waiting for the result(s)
 *
 * Sends a request to execute a prepared statement with given parameters,
 * without waiting for the result(s).
 *
 * This is similar to {@link pg_send_query_params}, but the command to be
 * executed is specified by naming a previously-prepared statement,
 * instead of giving a query string. The function's parameters are
 * handled identically to {@link pg_execute}. Like {@link pg_execute}, it
 * will not work on pre-7.4 versions of PostgreSQL.
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @param string $stmtname The name of the prepared statement to
 *   execute. if "" is specified, then the unnamed statement is executed.
 *   The name must have been previously prepared using {@link
 *   pg_prepare}, {@link pg_send_prepare} or a PREPARE SQL command.
 * @param array $params An array of parameter values to substitute for
 *   the $1, $2, etc. placeholders in the original prepared query string.
 *   The number of elements in the array must match the number of
 *   placeholders.
 * @return bool Returns TRUE on success, FALSE on failure. Use {@link
 *   pg_get_result} to determine the query result.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function pg_send_execute($connection, $stmtname, $params){}

/**
 * Sends a request to create a prepared statement with the given
 * parameters, without waiting for completion
 *
 * Sends a request to create a prepared statement with the given
 * parameters, without waiting for completion.
 *
 * This is an asynchronous version of {@link pg_prepare}: it returns TRUE
 * if it was able to dispatch the request, and FALSE if not. After a
 * successful call, call {@link pg_get_result} to determine whether the
 * server successfully created the prepared statement. The function's
 * parameters are handled identically to {@link pg_prepare}. Like {@link
 * pg_prepare}, it will not work on pre-7.4 versions of PostgreSQL.
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @param string $stmtname The name to give the prepared statement.
 *   Must be unique per-connection. If "" is specified, then an unnamed
 *   statement is created, overwriting any previously defined unnamed
 *   statement.
 * @param string $query The parameterized SQL statement. Must contain
 *   only a single statement. (multiple statements separated by
 *   semi-colons are not allowed.) If any parameters are used, they are
 *   referred to as $1, $2, etc.
 * @return bool Returns TRUE on success, FALSE on failure. Use {@link
 *   pg_get_result} to determine the query result.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function pg_send_prepare($connection, $stmtname, $query){}

/**
 * Sends asynchronous query
 *
 * {@link pg_send_query} sends a query or queries asynchronously to the
 * {@link connection}. Unlike {@link pg_query}, it can send multiple
 * queries at once to PostgreSQL and get the results one by one using
 * {@link pg_get_result}.
 *
 * Script execution is not blocked while the queries are executing. Use
 * {@link pg_connection_busy} to check if the connection is busy (i.e.
 * the query is executing). Queries may be cancelled using {@link
 * pg_cancel_query}.
 *
 * Although the user can send multiple queries at once, multiple queries
 * cannot be sent over a busy connection. If a query is sent while the
 * connection is busy, it waits until the last query is finished and
 * discards all its results.
 *
 * @param resource $connection PostgreSQL database connection resource.
 * @param string $query The SQL statement or statements to be executed.
 *   Data inside the query should be properly escaped.
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function pg_send_query($connection, $query){}

/**
 * Submits a command and separate parameters to the server without
 * waiting for the result(s)
 *
 * Submits a command and separate parameters to the server without
 * waiting for the result(s).
 *
 * This is equivalent to {@link pg_send_query} except that query
 * parameters can be specified separately from the {@link query} string.
 * The function's parameters are handled identically to {@link
 * pg_query_params}. Like {@link pg_query_params}, it will not work on
 * pre-7.4 PostgreSQL connections, and it allows only one command in the
 * query string.
 *
 * @param resource $connection PostgreSQL database connection resource.
 * @param string $query The parameterized SQL statement. Must contain
 *   only a single statement. (multiple statements separated by
 *   semi-colons are not allowed.) If any parameters are used, they are
 *   referred to as $1, $2, etc.
 * @param array $params An array of parameter values to substitute for
 *   the $1, $2, etc. placeholders in the original prepared query string.
 *   The number of elements in the array must match the number of
 *   placeholders.
 * @return bool
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function pg_send_query_params($connection, $query, $params){}

/**
 * Set the client encoding
 *
 * {@link pg_set_client_encoding} sets the client encoding and returns 0
 * if success or -1 if error.
 *
 * PostgreSQL will automatically convert data in the backend database
 * encoding into the frontend encoding.
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @param string $encoding The required client encoding. One of
 *   SQL_ASCII, EUC_JP, EUC_CN, EUC_KR, EUC_TW, UNICODE, MULE_INTERNAL,
 *   LATINX (X=1...9), KOI8, WIN, ALT, SJIS, BIG5 or WIN1250. The exact
 *   list of available encodings depends on your PostgreSQL version, so
 *   check your PostgreSQL manual for a more specific list.
 * @return int Returns 0 on success or -1 on error.
 * @since PHP 4 >= 4.0.3, PHP 5, PHP 7
 **/
function pg_set_client_encoding($connection, $encoding){}

/**
 * Determines the verbosity of messages returned by and
 *
 * Determines the verbosity of messages returned by {@link pg_last_error}
 * and {@link pg_result_error}.
 *
 * {@link pg_set_error_verbosity} sets the verbosity mode, returning the
 * connection's previous setting. In PGSQL_ERRORS_TERSE mode, returned
 * messages include severity, primary text, and position only; this will
 * normally fit on a single line. The default mode (PGSQL_ERRORS_DEFAULT)
 * produces messages that include the above plus any detail, hint, or
 * context fields (these may span multiple lines). The
 * PGSQL_ERRORS_VERBOSE mode includes all available fields. Changing the
 * verbosity does not affect the messages available from already-existing
 * result objects, only subsequently-created ones.
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @param int $verbosity The required verbosity: PGSQL_ERRORS_TERSE,
 *   PGSQL_ERRORS_DEFAULT or PGSQL_ERRORS_VERBOSE.
 * @return int The previous verbosity level: PGSQL_ERRORS_TERSE,
 *   PGSQL_ERRORS_DEFAULT or PGSQL_ERRORS_VERBOSE.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function pg_set_error_verbosity($connection, $verbosity){}

/**
 * Get a read only handle to the socket underlying a PostgreSQL
 * connection
 *
 * {@link pg_socket} returns a read only resource corresponding to the
 * socket underlying the given PostgreSQL connection.
 *
 * @param resource $connection PostgreSQL database connection resource.
 * @return resource A socket resource on success.
 * @since PHP 5 >= 5.6.0, PHP 7
 **/
function pg_socket($connection){}

/**
 * Enable tracing a PostgreSQL connection
 *
 * {@link pg_trace} enables tracing of the PostgreSQL frontend/backend
 * communication to a file. To fully understand the results, one needs to
 * be familiar with the internals of PostgreSQL communication protocol.
 *
 * For those who are not, it can still be useful for tracing errors in
 * queries sent to the server, you could do for example grep '^To
 * backend' trace.log and see what queries actually were sent to the
 * PostgreSQL server. For more information, refer to the PostgreSQL
 * Documentation.
 *
 * @param string $pathname The full path and file name of the file in
 *   which to write the trace log. Same as in {@link fopen}.
 * @param string $mode An optional file access mode, same as for {@link
 *   fopen}.
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @return bool
 * @since PHP 4 >= 4.0.1, PHP 5, PHP 7
 **/
function pg_trace($pathname, $mode, $connection){}

/**
 * Returns the current in-transaction status of the server
 *
 * @param resource $connection PostgreSQL database connection resource.
 * @return int The status can be PGSQL_TRANSACTION_IDLE (currently
 *   idle), PGSQL_TRANSACTION_ACTIVE (a command is in progress),
 *   PGSQL_TRANSACTION_INTRANS (idle, in a valid transaction block), or
 *   PGSQL_TRANSACTION_INERROR (idle, in a failed transaction block).
 *   PGSQL_TRANSACTION_UNKNOWN is reported if the connection is bad.
 *   PGSQL_TRANSACTION_ACTIVE is reported only when a query has been sent
 *   to the server and not yet completed.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function pg_transaction_status($connection){}

/**
 * Return the TTY name associated with the connection
 *
 * {@link pg_tty} returns the TTY name that server side debugging output
 * is sent to on the given PostgreSQL {@link connection} resource.
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @return string A string containing the debug TTY of the {@link
 *   connection}, or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function pg_tty($connection){}

/**
 * Unescape binary for bytea type
 *
 * {@link pg_unescape_bytea} unescapes PostgreSQL bytea data values. It
 * returns the unescaped string, possibly containing binary data.
 *
 * @param string $data A string containing PostgreSQL bytea data to be
 *   converted into a PHP binary string.
 * @return string A string containing the unescaped data.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function pg_unescape_bytea($data){}

/**
 * Disable tracing of a PostgreSQL connection
 *
 * Stop tracing started by {@link pg_trace}.
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @return bool Always returns TRUE.
 * @since PHP 4 >= 4.0.1, PHP 5, PHP 7
 **/
function pg_untrace($connection){}

/**
 * Update table
 *
 * {@link pg_update} updates records that matches condition with data. If
 * options is specified, {@link pg_convert} is applied to data with
 * specified options.
 *
 * @param resource $connection PostgreSQL database connection resource.
 * @param string $table_name Name of the table into which to update
 *   rows.
 * @param array $data An array whose keys are field names in the table
 *   {@link table_name}, and whose values are what matched rows are to be
 *   updated to.
 * @param array $condition An array whose keys are field names in the
 *   table {@link table_name}, and whose values are the conditions that a
 *   row must meet to be updated.
 * @param int $options Any number of PGSQL_CONV_FORCE_NULL,
 *   PGSQL_DML_NO_CONV, PGSQL_DML_ESCAPE, PGSQL_DML_EXEC, PGSQL_DML_ASYNC
 *   or PGSQL_DML_STRING combined. If PGSQL_DML_STRING is part of the
 *   {@link options} then query string is returned. When
 *   PGSQL_DML_NO_CONV or PGSQL_DML_ESCAPE is set, it does not call
 *   {@link pg_convert} internally.
 * @return mixed Returns string if PGSQL_DML_STRING is passed via
 *   {@link options}.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function pg_update($connection, $table_name, $data, $condition, $options){}

/**
 * Returns an array with client, protocol and server version (when
 * available)
 *
 * {@link pg_version} returns an array with the client, protocol and
 * server version. Protocol and server versions are only available if PHP
 * was compiled with PostgreSQL 7.4 or later.
 *
 * For more detailed server information, use {@link pg_parameter_status}.
 *
 * @param resource $connection PostgreSQL database connection resource.
 *   When {@link connection} is not present, the default connection is
 *   used. The default connection is the last connection made by {@link
 *   pg_connect} or {@link pg_pconnect}.
 * @return array Returns an array with client, protocol and server keys
 *   and values (if available). Returns FALSE on error or invalid
 *   connection.
 * @since PHP 5, PHP 7
 **/
function pg_version($connection){}

/**
 * Prints out the credits for PHP
 *
 * This function prints out the credits listing the PHP developers,
 * modules, etc. It generates the appropriate HTML codes to insert the
 * information in a page.
 *
 * @param int $flag To generate a custom credits page, you may want to
 *   use the {@link flag} parameter.
 *   
 *   Pre-defined {@link phpcredits} flags name description CREDITS_ALL
 *   All the credits, equivalent to using: CREDITS_DOCS + CREDITS_GENERAL
 *   + CREDITS_GROUP + CREDITS_MODULES + CREDITS_FULLPAGE. It generates a
 *   complete stand-alone HTML page with the appropriate tags.
 *   CREDITS_DOCS The credits for the documentation team CREDITS_FULLPAGE
 *   Usually used in combination with the other flags. Indicates that a
 *   complete stand-alone HTML page needs to be printed including the
 *   information indicated by the other flags. CREDITS_GENERAL General
 *   credits: Language design and concept, PHP authors and SAPI module.
 *   CREDITS_GROUP A list of the core developers CREDITS_MODULES A list
 *   of the extension modules for PHP, and their authors CREDITS_SAPI A
 *   list of the server API modules for PHP, and their authors
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function phpcredits($flag){}

/**
 * Inserts a breakpoint at a line in a file
 *
 * Insert a breakpoint at the given {@link line} in the given {@link
 * file}.
 *
 * @param string $file The name of the file.
 * @param int $line The line number.
 * @return void
 * @since PHP 5 >= 5.6.3, PHP 7
 **/
function phpdbg_break_file($file, $line){}

/**
 * Inserts a breakpoint at entry to a function
 *
 * Insert a breakpoint at the entry to the given {@link function}.
 *
 * @param string $function The name of the function.
 * @return void
 * @since PHP 5 >= 5.6.3, PHP 7
 **/
function phpdbg_break_function($function){}

/**
 * Inserts a breakpoint at entry to a method
 *
 * Insert a breakpoint at the entry to the given {@link method} of the
 * given {@link class}.
 *
 * @param string $class The name of the class.
 * @param string $method The name of the method.
 * @return void
 * @since PHP 5 >= 5.6.3, PHP 7
 **/
function phpdbg_break_method($class, $method){}

/**
 * Inserts a breakpoint at the next opcode
 *
 * Insert a breakpoint at the next opcode.
 *
 * @return void
 * @since PHP 5 >= 5.6.3, PHP 7
 **/
function phpdbg_break_next(){}

/**
 * Clears all breakpoints
 *
 * Clear all breakpoints that have been set, either via one of the {@link
 * phpdbg_break_*} functions or interactively in the console.
 *
 * @return void
 * @since PHP 5 >= 5.6.0, PHP 7
 **/
function phpdbg_clear(){}

/**
 * Sets the color of certain elements
 *
 * Set the {@link color} of the given {@link element}.
 *
 * @param int $element One of the PHPDBG_COLOR_* constants.
 * @param string $color The name of the color. One of white, red,
 *   green, yellow, blue, purple, cyan or black, optionally with either a
 *   trailing -bold or -underline, for instance, white-bold or
 *   green-underline.
 * @return void
 * @since PHP 5 >= 5.6.0, PHP 7
 **/
function phpdbg_color($element, $color){}

/**
 * @param array $options
 * @return array
 * @since PHP 7
 **/
function phpdbg_end_oplog($options){}

/**
 * Attempts to set the execution context
 *
 * @param string $context
 * @return mixed If the execution context was set previously it is
 *   returned. If the execution context was not set previously TRUE is
 *   returned. If the request to set the context fails, FALSE is
 *   returned, and an E_WARNING raised.
 * @since PHP 5 >= 5.6.0, PHP 7
 **/
function phpdbg_exec($context){}

/**
 * @param array $options
 * @return array
 * @since PHP 7
 **/
function phpdbg_get_executable($options){}

/**
 * Sets the command prompt
 *
 * Set the command prompt to the given {@link string}.
 *
 * @param string $string The string to use as command prompt.
 * @return void
 * @since PHP 5 >= 5.6.0, PHP 7
 **/
function phpdbg_prompt($string){}

/**
 * @return void
 * @since PHP 7
 **/
function phpdbg_start_oplog(){}

/**
 * Outputs information about PHP's configuration
 *
 * Outputs a large amount of information about the current state of PHP.
 * This includes information about PHP compilation options and
 * extensions, the PHP version, server information and environment (if
 * compiled as a module), the PHP environment, OS version information,
 * paths, master and local values of configuration options, HTTP headers,
 * and the PHP License.
 *
 * Because every system is setup differently, {@link phpinfo} is commonly
 * used to check configuration settings and for available predefined
 * variables on a given system.
 *
 * {@link phpinfo} is also a valuable debugging tool as it contains all
 * EGPCS (Environment, GET, POST, Cookie, Server) data.
 *
 * @param int $what The output may be customized by passing one or more
 *   of the following constants bitwise values summed together in the
 *   optional {@link what} parameter. One can also combine the respective
 *   constants or bitwise values together with the bitwise or operator.
 *   
 *   {@link phpinfo} options Name (constant) Value Description
 *   INFO_GENERAL 1 The configuration line, location, build date, Web
 *   Server, System and more. INFO_CREDITS 2 PHP Credits. See also {@link
 *   phpcredits}. INFO_CONFIGURATION 4 Current Local and Master values
 *   for PHP directives. See also {@link ini_get}. INFO_MODULES 8 Loaded
 *   modules and their respective settings. See also {@link
 *   get_loaded_extensions}. INFO_ENVIRONMENT 16 Environment Variable
 *   information that's also available in $_ENV. INFO_VARIABLES 32 Shows
 *   all predefined variables from EGPCS (Environment, GET, POST, Cookie,
 *   Server). INFO_LICENSE 64 PHP License information. See also the
 *   license FAQ. INFO_ALL -1 Shows all of the above.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function phpinfo($what){}

/**
 * Gets the current PHP version
 *
 * Returns a string containing the version of the currently running PHP
 * parser or extension.
 *
 * @param string $extension An optional extension name.
 * @return string If the optional {@link extension} parameter is
 *   specified, {@link phpversion} returns the version of that extension,
 *   or FALSE if there is no version information associated or the
 *   extension isn't enabled.
 * @since PHP 4, PHP 5, PHP 7
 **/
function phpversion($extension){}

/**
 * Check the PHP syntax of (and execute) the specified file
 *
 * Performs a syntax (lint) check on the specified {@link filename}
 * testing for scripting errors.
 *
 * This is similar to using php -l from the commandline except that this
 * function will execute (but not output) the checked {@link filename}.
 *
 * For example, if a function is defined in {@link filename}, this
 * defined function will be available to the file that executed {@link
 * php_check_syntax}, but output from {@link filename} will be
 * suppressed.
 *
 * @param string $filename The name of the file being checked.
 * @param string $error_message If the {@link error_message} parameter
 *   is used, it will contain the error message generated by the syntax
 *   check. {@link error_message} is passed by reference.
 * @return bool Returns TRUE if the lint check passed, and FALSE if the
 *   link check failed or if {@link filename} cannot be opened.
 * @since PHP 5 < 5.0.5
 **/
function php_check_syntax($filename, &$error_message){}

/**
 * Retrieve a path to the loaded php.ini file
 *
 * Check if a file is loaded, and retrieve its path.
 *
 * @return string The loaded path, or FALSE if one is not loaded.
 * @since PHP 5 >= 5.2.4, PHP 7
 **/
function php_ini_loaded_file(){}

/**
 * Return a list of .ini files parsed from the additional ini dir
 *
 * {@link php_ini_scanned_files} returns a comma-separated list of
 * configuration files parsed after . The directories searched are set by
 * a compile time option and, optionally, by an environment variable at
 * run time: more information can be found in the installation guide.
 *
 * The returned configuration files include the full path.
 *
 * @return string Returns a comma-separated string of .ini files on
 *   success. Each comma is followed by a newline. If the configure
 *   directive --with-config-file-scan-dir wasn't set and the
 *   PHP_INI_SCAN_DIR environment variable isn't set, FALSE is returned.
 *   If it was set and the directory was empty, an empty string is
 *   returned. If a file is unrecognizable, the file will still make it
 *   into the returned string but a PHP error will also result. This PHP
 *   error will be seen both at compile time and while using {@link
 *   php_ini_scanned_files}.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function php_ini_scanned_files(){}

/**
 * Gets the logo guid
 *
 * This function returns the ID which can be used to display the PHP logo
 * using the built-in image. Logo is displayed only if expose_php is On.
 *
 * @return string Returns PHPE9568F34-D428-11d2-A769-00AA001ACF42.
 * @since PHP 4, PHP 5 < 5.5.0
 **/
function php_logo_guid(){}

/**
 * Returns the type of interface between web server and PHP
 *
 * @return string Returns the interface type, as a lowercase string.
 * @since PHP 4 >= 4.0.1, PHP 5, PHP 7
 **/
function php_sapi_name(){}

/**
 * Return source with stripped comments and whitespace
 *
 * Returns the PHP source code in {@link filename} with PHP comments and
 * whitespace removed. This may be useful for determining the amount of
 * actual code in your scripts compared with the amount of comments. This
 * is similar to using php -w from the commandline.
 *
 * @param string $filename Path to the PHP file.
 * @return string The stripped source code will be returned on success,
 *   or an empty string on failure.
 * @since PHP 5, PHP 7
 **/
function php_strip_whitespace($filename){}

/**
 * Returns information about the operating system PHP is running on
 *
 * {@link php_uname} returns a description of the operating system PHP is
 * running on. This is the same string you see at the very top of the
 * {@link phpinfo} output. For the name of just the operating system,
 * consider using the PHP_OS constant, but keep in mind this constant
 * will contain the operating system PHP was built on.
 *
 * On some older UNIX platforms, it may not be able to determine the
 * current OS information in which case it will revert to displaying the
 * OS PHP was built on. This will only happen if your uname() library
 * call either doesn't exist or doesn't work.
 *
 * @param string $mode {@link mode} is a single character that defines
 *   what information is returned: 'a': This is the default. Contains all
 *   modes in the sequence "s n r v m". 's': Operating system name. eg.
 *   FreeBSD. 'n': Host name. eg. localhost.example.com. 'r': Release
 *   name. eg. 5.1.2-RELEASE. 'v': Version information. Varies a lot
 *   between operating systems. 'm': Machine type. eg. i386.
 * @return string Returns the description, as a string.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function php_uname($mode){}

/**
 * Get value of pi
 *
 * @return float The value of pi as float.
 * @since PHP 4, PHP 5, PHP 7
 **/
function pi(){}

/**
 * Convert PNG image file to WBMP image file
 *
 * Converts a PNG file into a WBMP file.
 *
 * @param string $pngname Path to PNG file.
 * @param string $wbmpname Path to destination WBMP file.
 * @param int $dest_height Destination image height.
 * @param int $dest_width Destination image width.
 * @param int $threshold Threshold value, between 0 and 8 (inclusive).
 * @return bool
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7
 **/
function png2wbmp($pngname, $wbmpname, $dest_height, $dest_width, $threshold){}

/**
 * Opens process file pointer
 *
 * Opens a pipe to a process executed by forking the command given by
 * {@link command}.
 *
 * @param string $command The command
 * @param string $mode The mode
 * @return resource Returns a file pointer identical to that returned
 *   by {@link fopen}, except that it is unidirectional (may only be used
 *   for reading or writing) and must be closed with {@link pclose}. This
 *   pointer may be used with {@link fgets}, {@link fgetss}, and {@link
 *   fwrite}. When the mode is 'r', the returned file pointer equals to
 *   the STDOUT of the command, when the mode is 'w', the returned file
 *   pointer equals to the STDIN of the command.
 * @since PHP 4, PHP 5, PHP 7
 **/
function popen($command, $mode){}

/**
 * Return the pos element in an array
 *
 * Every array has an internal pointer to its "pos" element, which is
 * initialized to the first element inserted into the array.
 *
 * @param array $array The array.
 * @return mixed The {@link current} function simply returns the value
 *   of the array element that's currently being pointed to by the
 *   internal pointer. It does not move the pointer in any way. If the
 *   internal pointer points beyond the end of the elements list or the
 *   array is empty, {@link current} returns FALSE.
 * @since PHP 4, PHP 5, PHP 7
 **/
function pos($array){}

/**
 * Determine accessibility of a file
 *
 * {@link posix_access} checks the user's permission of a file.
 *
 * @param string $file The name of the file to be tested.
 * @param int $mode A mask consisting of one or more of POSIX_F_OK,
 *   POSIX_R_OK, POSIX_W_OK and POSIX_X_OK. POSIX_R_OK, POSIX_W_OK and
 *   POSIX_X_OK request checking whether the file exists and has read,
 *   write and execute permissions, respectively. POSIX_F_OK just
 *   requests checking for the existence of the file.
 * @return bool
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function posix_access($file, $mode){}

/**
 * Get path name of controlling terminal
 *
 * Generates a string which is the pathname for the current controlling
 * terminal for the process. On error this will set errno, which can be
 * checked using {@link posix_get_last_error}
 *
 * @return string Upon successful completion, returns string of the
 *   pathname to the current controlling terminal. Otherwise FALSE is
 *   returned and errno is set, which can be checked with {@link
 *   posix_get_last_error}.
 * @since PHP 4, PHP 5, PHP 7
 **/
function posix_ctermid(){}

/**
 * Retrieve the error number set by the last posix function that failed
 *
 * Retrieve the error number set by the last posix function that failed.
 * The system error message associated with the errno may be checked with
 * {@link posix_strerror}.
 *
 * @return int Returns the errno (error number) set by the last posix
 *   function that failed. If no errors exist, 0 is returned.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function posix_errno(){}

/**
 * Pathname of current directory
 *
 * Gets the absolute pathname of the script's current working directory.
 * On error, it sets errno which can be checked using {@link
 * posix_get_last_error}
 *
 * @return string Returns a string of the absolute pathname on success.
 *   On error, returns FALSE and sets errno which can be checked with
 *   {@link posix_get_last_error}.
 * @since PHP 4, PHP 5, PHP 7
 **/
function posix_getcwd(){}

/**
 * Return the effective group ID of the current process
 *
 * Return the numeric effective group ID of the current process.
 *
 * @return int Returns an integer of the effective group ID.
 * @since PHP 4, PHP 5, PHP 7
 **/
function posix_getegid(){}

/**
 * Return the effective user ID of the current process
 *
 * Return the numeric effective user ID of the current process. See also
 * {@link posix_getpwuid} for information on how to convert this into a
 * useable username.
 *
 * @return int Returns the user id, as an integer
 * @since PHP 4, PHP 5, PHP 7
 **/
function posix_geteuid(){}

/**
 * Return the real group ID of the current process
 *
 * Return the numeric real group ID of the current process.
 *
 * @return int Returns the real group id, as an integer.
 * @since PHP 4, PHP 5, PHP 7
 **/
function posix_getgid(){}

/**
 * Return info about a group by group id
 *
 * Gets information about a group provided its id.
 *
 * @param int $gid The group id.
 * @return array The array elements returned are: The group information
 *   array Element Description name The name element contains the name of
 *   the group. This is a short, usually less than 16 character "handle"
 *   of the group, not the real, full name. passwd The passwd element
 *   contains the group's password in an encrypted format. Often, for
 *   example on a system employing "shadow" passwords, an asterisk is
 *   returned instead. gid Group ID, should be the same as the {@link
 *   gid} parameter used when calling the function, and hence redundant.
 *   members This consists of an array of string's for all the members in
 *   the group.
 * @since PHP 4, PHP 5, PHP 7
 **/
function posix_getgrgid($gid){}

/**
 * Return info about a group by name
 *
 * Gets information about a group provided its name.
 *
 * @param string $name The name of the group
 * @return array The array elements returned are: The group information
 *   array Element Description name The name element contains the name of
 *   the group. This is a short, usually less than 16 character "handle"
 *   of the group, not the real, full name. This should be the same as
 *   the {@link name} parameter used when calling the function, and hence
 *   redundant. passwd The passwd element contains the group's password
 *   in an encrypted format. Often, for example on a system employing
 *   "shadow" passwords, an asterisk is returned instead. gid Group ID of
 *   the group in numeric form. members This consists of an array of
 *   string's for all the members in the group.
 * @since PHP 4, PHP 5, PHP 7
 **/
function posix_getgrnam($name){}

/**
 * Return the group set of the current process
 *
 * Gets the group set of the current process.
 *
 * @return array Returns an array of integers containing the numeric
 *   group ids of the group set of the current process.
 * @since PHP 4, PHP 5, PHP 7
 **/
function posix_getgroups(){}

/**
 * Return login name
 *
 * Returns the login name of the user owning the current process.
 *
 * @return string Returns the login name of the user, as a string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function posix_getlogin(){}

/**
 * Get process group id for job control
 *
 * Returns the process group identifier of the process {@link pid}.
 *
 * @param int $pid The process id.
 * @return int Returns the identifier, as an integer.
 * @since PHP 4, PHP 5, PHP 7
 **/
function posix_getpgid($pid){}

/**
 * Return the current process group identifier
 *
 * Return the process group identifier of the current process.
 *
 * @return int Returns the identifier, as an integer.
 * @since PHP 4, PHP 5, PHP 7
 **/
function posix_getpgrp(){}

/**
 * Return the current process identifier
 *
 * Return the process identifier of the current process.
 *
 * @return int Returns the identifier, as an integer.
 * @since PHP 4, PHP 5, PHP 7
 **/
function posix_getpid(){}

/**
 * Return the parent process identifier
 *
 * Return the process identifier of the parent process of the current
 * process.
 *
 * @return int Returns the identifier, as an integer.
 * @since PHP 4, PHP 5, PHP 7
 **/
function posix_getppid(){}

/**
 * Return info about a user by username
 *
 * Returns an array of information about the given user.
 *
 * @param string $username An alphanumeric username.
 * @return array On success an array with the following elements is
 *   returned, else FALSE is returned: The user information array Element
 *   Description name The name element contains the username of the user.
 *   This is a short, usually less than 16 character "handle" of the
 *   user, not the real, full name. This should be the same as the {@link
 *   username} parameter used when calling the function, and hence
 *   redundant. passwd The passwd element contains the user's password in
 *   an encrypted format. Often, for example on a system employing
 *   "shadow" passwords, an asterisk is returned instead. uid User ID of
 *   the user in numeric form. gid The group ID of the user. Use the
 *   function {@link posix_getgrgid} to resolve the group name and a list
 *   of its members. gecos GECOS is an obsolete term that refers to the
 *   finger information field on a Honeywell batch processing system. The
 *   field, however, lives on, and its contents have been formalized by
 *   POSIX. The field contains a comma separated list containing the
 *   user's full name, office phone, office number, and home phone
 *   number. On most systems, only the user's full name is available. dir
 *   This element contains the absolute path to the home directory of the
 *   user. shell The shell element contains the absolute path to the
 *   executable of the user's default shell.
 * @since PHP 4, PHP 5, PHP 7
 **/
function posix_getpwnam($username){}

/**
 * Return info about a user by user id
 *
 * Returns an array of information about the user referenced by the given
 * user ID.
 *
 * @param int $uid The user identifier.
 * @return array Returns an associative array with the following
 *   elements: The user information array Element Description name The
 *   name element contains the username of the user. This is a short,
 *   usually less than 16 character "handle" of the user, not the real,
 *   full name. passwd The passwd element contains the user's password in
 *   an encrypted format. Often, for example on a system employing
 *   "shadow" passwords, an asterisk is returned instead. uid User ID,
 *   should be the same as the {@link uid} parameter used when calling
 *   the function, and hence redundant. gid The group ID of the user. Use
 *   the function {@link posix_getgrgid} to resolve the group name and a
 *   list of its members. gecos GECOS is an obsolete term that refers to
 *   the finger information field on a Honeywell batch processing system.
 *   The field, however, lives on, and its contents have been formalized
 *   by POSIX. The field contains a comma separated list containing the
 *   user's full name, office phone, office number, and home phone
 *   number. On most systems, only the user's full name is available. dir
 *   This element contains the absolute path to the home directory of the
 *   user. shell The shell element contains the absolute path to the
 *   executable of the user's default shell.
 * @since PHP 4, PHP 5, PHP 7
 **/
function posix_getpwuid($uid){}

/**
 * Return info about system resource limits
 *
 * {@link posix_getrlimit} returns an array of information about the
 * current resource's soft and hard limits.
 *
 * @return array Returns an associative array of elements for each
 *   limit that is defined. Each limit has a soft and a hard limit. List
 *   of possible limits returned Limit name Limit description core The
 *   maximum size of the core file. When 0, not core files are created.
 *   When core files are larger than this size, they will be truncated at
 *   this size. totalmem The maximum size of the memory of the process,
 *   in bytes. virtualmem The maximum size of the virtual memory for the
 *   process, in bytes. data The maximum size of the data segment for the
 *   process, in bytes. stack The maximum size of the process stack, in
 *   bytes. rss The maximum number of virtual pages resident in RAM
 *   maxproc The maximum number of processes that can be created for the
 *   real user ID of the calling process. memlock The maximum number of
 *   bytes of memory that may be locked into RAM. cpu The amount of time
 *   the process is allowed to use the CPU. filesize The maximum size of
 *   the data segment for the process, in bytes. openfiles One more than
 *   the maximum number of open file descriptors.
 * @since PHP 4, PHP 5, PHP 7
 **/
function posix_getrlimit(){}

/**
 * Get the current sid of the process
 *
 * Return the session id of the process {@link pid}. The session id of a
 * process is the process group id of the session leader.
 *
 * @param int $pid The process identifier. If set to 0, the current
 *   process is assumed. If an invalid {@link pid} is specified, then
 *   FALSE is returned and an error is set which can be checked with
 *   {@link posix_get_last_error}.
 * @return int Returns the identifier, as an integer.
 * @since PHP 4, PHP 5, PHP 7
 **/
function posix_getsid($pid){}

/**
 * Return the real user ID of the current process
 *
 * Return the numeric real user ID of the current process.
 *
 * @return int Returns the user id, as an integer
 * @since PHP 4, PHP 5, PHP 7
 **/
function posix_getuid(){}

/**
 * Retrieve the error number set by the last posix function that failed
 *
 * Retrieve the error number set by the last posix function that failed.
 * The system error message associated with the errno may be checked with
 * {@link posix_strerror}.
 *
 * @return int Returns the errno (error number) set by the last posix
 *   function that failed. If no errors exist, 0 is returned.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function posix_get_last_error(){}

/**
 * Calculate the group access list
 *
 * Calculates the group access list for the user specified in name.
 *
 * @param string $name The user to calculate the list for.
 * @param int $base_group_id Typically the group number from the
 *   password file.
 * @return bool
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function posix_initgroups($name, $base_group_id){}

/**
 * Determine if a file descriptor is an interactive terminal
 *
 * Determines if the file descriptor {@link fd} refers to a valid
 * terminal type device.
 *
 * @param mixed $fd
 * @return bool Returns TRUE if {@link fd} is an open descriptor
 *   connected to a terminal and FALSE otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function posix_isatty($fd){}

/**
 * Send a signal to a process
 *
 * Send the signal {@link sig} to the process with the process identifier
 * {@link pid}.
 *
 * @param int $pid The process identifier.
 * @param int $sig One of the PCNTL signals constants.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function posix_kill($pid, $sig){}

/**
 * Create a fifo special file (a named pipe)
 *
 * {@link posix_mkfifo} creates a special FIFO file which exists in the
 * file system and acts as a bidirectional communication endpoint for
 * processes.
 *
 * @param string $pathname Path to the FIFO file.
 * @param int $mode The second parameter {@link mode} has to be given
 *   in octal notation (e.g. 0644). The permission of the newly created
 *   FIFO also depends on the setting of the current {@link umask}. The
 *   permissions of the created file are (mode & ~umask).
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function posix_mkfifo($pathname, $mode){}

/**
 * Create a special or ordinary file (POSIX.1)
 *
 * Creates a special or ordinary file.
 *
 * @param string $pathname The file to create
 * @param int $mode This parameter is constructed by a bitwise OR
 *   between file type (one of the following constants: POSIX_S_IFREG,
 *   POSIX_S_IFCHR, POSIX_S_IFBLK, POSIX_S_IFIFO or POSIX_S_IFSOCK) and
 *   permissions.
 * @param int $major The major device kernel identifier (required to
 *   pass when using S_IFCHR or S_IFBLK).
 * @param int $minor The minor device kernel identifier.
 * @return bool
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function posix_mknod($pathname, $mode, $major, $minor){}

/**
 * Set the effective GID of the current process
 *
 * Set the effective group ID of the current process. This is a
 * privileged function and needs appropriate privileges (usually root) on
 * the system to be able to perform this function.
 *
 * @param int $gid The group id.
 * @return bool
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function posix_setegid($gid){}

/**
 * Set the effective UID of the current process
 *
 * Set the effective user ID of the current process. This is a privileged
 * function and needs appropriate privileges (usually root) on the system
 * to be able to perform this function.
 *
 * @param int $uid The user id.
 * @return bool
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function posix_seteuid($uid){}

/**
 * Set the GID of the current process
 *
 * Set the real group ID of the current process. This is a privileged
 * function and needs appropriate privileges (usually root) on the system
 * to be able to perform this function. The appropriate order of function
 * calls is {@link posix_setgid} first, {@link posix_setuid} last.
 *
 * @param int $gid The group id.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function posix_setgid($gid){}

/**
 * Set process group id for job control
 *
 * Let the process {@link pid} join the process group {@link pgid}.
 *
 * @param int $pid The process id.
 * @param int $pgid The process group id.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function posix_setpgid($pid, $pgid){}

/**
 * Set system resource limits
 *
 * {@link posix_setrlimit} sets the soft and hard limits for a given
 * system resource.
 *
 * @param int $resource The resource limit constant corresponding to
 *   the limit that is being set.
 * @param int $softlimit The soft limit, in whatever unit the resource
 *   limit requires, or POSIX_RLIMIT_INFINITY.
 * @param int $hardlimit The hard limit, in whatever unit the resource
 *   limit requires, or POSIX_RLIMIT_INFINITY.
 * @return bool
 * @since PHP 7
 **/
function posix_setrlimit($resource, $softlimit, $hardlimit){}

/**
 * Make the current process a session leader
 *
 * @return int Returns the session id, or -1 on errors.
 * @since PHP 4, PHP 5, PHP 7
 **/
function posix_setsid(){}

/**
 * Set the UID of the current process
 *
 * Set the real user ID of the current process. This is a privileged
 * function that needs appropriate privileges (usually root) on the
 * system to be able to perform this function.
 *
 * @param int $uid The user id.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function posix_setuid($uid){}

/**
 * Retrieve the system error message associated with the given errno
 *
 * Returns the POSIX system error message associated with the given
 * {@link errno}. You may get the {@link errno} parameter by calling
 * {@link posix_get_last_error}.
 *
 * @param int $errno A POSIX error number, returned by {@link
 *   posix_get_last_error}. If set to 0, then the string "Success" is
 *   returned.
 * @return string Returns the error message, as a string.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function posix_strerror($errno){}

/**
 * Get process times
 *
 * Gets information about the current CPU usage.
 *
 * @return array Returns a hash of strings with information about the
 *   current process CPU usage. The indices of the hash are: ticks - the
 *   number of clock ticks that have elapsed since reboot. utime - user
 *   time used by the current process. stime - system time used by the
 *   current process. cutime - user time used by current process and
 *   children. cstime - system time used by current process and children.
 * @since PHP 4, PHP 5, PHP 7
 **/
function posix_times(){}

/**
 * Determine terminal device name
 *
 * Returns a string for the absolute path to the current terminal device
 * that is open on the file descriptor {@link fd}.
 *
 * @param mixed $fd
 * @return string On success, returns a string of the absolute path of
 *   the {@link fd}. On failure, returns FALSE
 * @since PHP 4, PHP 5, PHP 7
 **/
function posix_ttyname($fd){}

/**
 * Get system name
 *
 * Gets information about the system.
 *
 * Posix requires that assumptions must not be made about the format of
 * the values, e.g. the assumption that a release may contain three
 * digits or anything else returned by this function.
 *
 * @return array Returns a hash of strings with information about the
 *   system. The indices of the hash are sysname - operating system name
 *   (e.g. Linux) nodename - system name (e.g. valiant) release -
 *   operating system release (e.g. 2.2.10) version - operating system
 *   version (e.g. #4 Tue Jul 20 17:01:36 MEST 1999) machine - system
 *   architecture (e.g. i586) domainname - DNS domainname (e.g.
 *   example.com)
 * @since PHP 4, PHP 5, PHP 7
 **/
function posix_uname(){}

/**
 * Exponential expression
 *
 * Returns {@link base} raised to the power of {@link exp}.
 *
 * @param number $base The base to use
 * @param number $exp The exponent
 * @return number {@link base} raised to the power of {@link exp}. If
 *   both arguments are non-negative integers and the result can be
 *   represented as an integer, the result will be returned with integer
 *   type, otherwise it will be returned as a float.
 * @since PHP 4, PHP 5, PHP 7
 **/
function pow($base, $exp){}

/**
 * Perform a regular expression search and replace
 *
 * {@link preg_filter} is identical to {@link preg_replace} except it
 * only returns the (possibly transformed) subjects where there was a
 * match. For details about how this function works, read the {@link
 * preg_replace} documentation.
 *
 * @param mixed $pattern
 * @param mixed $replacement
 * @param mixed $subject
 * @param int $limit
 * @param int $count
 * @return mixed Returns an array if the {@link subject} parameter is
 *   an array, or a string otherwise.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function preg_filter($pattern, $replacement, $subject, $limit, &$count){}

/**
 * Return array entries that match the pattern
 *
 * Returns the array consisting of the elements of the {@link input}
 * array that match the given {@link pattern}.
 *
 * @param string $pattern The pattern to search for, as a string.
 * @param array $input The input array.
 * @param int $flags If set to PREG_GREP_INVERT, this function returns
 *   the elements of the input array that do not match the given {@link
 *   pattern}.
 * @return array Returns an array indexed using the keys from the
 *   {@link input} array.
 * @since PHP 4, PHP 5, PHP 7
 **/
function preg_grep($pattern, $input, $flags){}

/**
 * Returns the error code of the last PCRE regex execution
 *
 * {@link preg_last_error} example
 *
 * <?php
 *
 * preg_match('/(?:\D+|<\d+>)*[!?]/', 'foobar foobar foobar');
 *
 * if (preg_last_error() == PREG_BACKTRACK_LIMIT_ERROR) { print
 * 'Backtrack limit was exhausted!'; }
 *
 * ?>
 *
 * Backtrack limit was exhausted!
 *
 * @return int Returns one of the following constants (explained on
 *   their own page): PREG_NO_ERROR PREG_INTERNAL_ERROR
 *   PREG_BACKTRACK_LIMIT_ERROR (see also pcre.backtrack_limit)
 *   PREG_RECURSION_LIMIT_ERROR (see also pcre.recursion_limit)
 *   PREG_BAD_UTF8_ERROR PREG_BAD_UTF8_OFFSET_ERROR (since PHP 5.3.0)
 *   PREG_JIT_STACKLIMIT_ERROR (since PHP 7.0.0)
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function preg_last_error(){}

/**
 * Perform a regular expression match
 *
 * Searches {@link subject} for a match to the regular expression given
 * in {@link pattern}.
 *
 * @param string $pattern The pattern to search for, as a string.
 * @param string $subject The input string.
 * @param array $matches If {@link matches} is provided, then it is
 *   filled with the results of search. $matches[0] will contain the text
 *   that matched the full pattern, $matches[1] will have the text that
 *   matched the first captured parenthesized subpattern, and so on.
 * @param int $flags {@link flags} can be a combination of the
 *   following flags: PREG_OFFSET_CAPTURE If this flag is passed, for
 *   every occurring match the appendant string offset will also be
 *   returned. Note that this changes the value of {@link matches} into
 *   an array where every element is an array consisting of the matched
 *   string at offset 0 and its string offset into {@link subject} at
 *   offset 1.
 *   
 *   <?php preg_match('/(foo)(bar)(baz)/', 'foobarbaz', $matches,
 *   PREG_OFFSET_CAPTURE); print_r($matches); ?>
 *   
 *   Array ( [0] => Array ( [0] => foobarbaz [1] => 0 )
 *   
 *   [1] => Array ( [0] => foo [1] => 0 )
 *   
 *   [2] => Array ( [0] => bar [1] => 3 )
 *   
 *   [3] => Array ( [0] => baz [1] => 6 )
 *   
 *   )
 *   
 *   PREG_UNMATCHED_AS_NULL If this flag is passed, unmatched subpatterns
 *   are reported as NULL; otherwise they are reported as an empty
 *   string.
 *   
 *   <?php preg_match('/(a)(b)*(c)/', 'ac', $matches);
 *   var_dump($matches); preg_match('/(a)(b)*(c)/', 'ac', $matches,
 *   PREG_UNMATCHED_AS_NULL); var_dump($matches); ?>
 *   
 *   array(4) { [0]=> string(2) "ac" [1]=> string(1) "a" [2]=> string(0)
 *   "" [3]=> string(1) "c" } array(4) { [0]=> string(2) "ac" [1]=>
 *   string(1) "a" [2]=> NULL [3]=> string(1) "c" }
 * @param int $offset If this flag is passed, for every occurring match
 *   the appendant string offset will also be returned. Note that this
 *   changes the value of {@link matches} into an array where every
 *   element is an array consisting of the matched string at offset 0 and
 *   its string offset into {@link subject} at offset 1.
 *   
 *   <?php preg_match('/(foo)(bar)(baz)/', 'foobarbaz', $matches,
 *   PREG_OFFSET_CAPTURE); print_r($matches); ?>
 *   
 *   Array ( [0] => Array ( [0] => foobarbaz [1] => 0 )
 *   
 *   [1] => Array ( [0] => foo [1] => 0 )
 *   
 *   [2] => Array ( [0] => bar [1] => 3 )
 *   
 *   [3] => Array ( [0] => baz [1] => 6 )
 *   
 *   )
 * @return int {@link preg_match} returns 1 if the {@link pattern}
 *   matches given {@link subject}, 0 if it does not, or FALSE if an
 *   error occurred.
 * @since PHP 4, PHP 5, PHP 7
 **/
function preg_match($pattern, $subject, &$matches, $flags, $offset){}

/**
 * Perform a global regular expression match
 *
 * Searches {@link subject} for all matches to the regular expression
 * given in {@link pattern} and puts them in {@link matches} in the order
 * specified by {@link flags}.
 *
 * After the first match is found, the subsequent searches are continued
 * on from end of the last match.
 *
 * @param string $pattern The pattern to search for, as a string.
 * @param string $subject The input string.
 * @param array $matches Array of all matches in multi-dimensional
 *   array ordered according to {@link flags}.
 * @param int $flags Can be a combination of the following flags (note
 *   that it doesn't make sense to use PREG_PATTERN_ORDER together with
 *   PREG_SET_ORDER): PREG_PATTERN_ORDER Orders results so that
 *   $matches[0] is an array of full pattern matches, $matches[1] is an
 *   array of strings matched by the first parenthesized subpattern, and
 *   so on.
 *   
 *   <?php preg_match_all("|<[^>]+>(.*)</[^>]+>|U", "<b>example: </b><div
 *   align=left>this is a test</div>", $out, PREG_PATTERN_ORDER); echo
 *   $out[0][0] . ", " . $out[0][1] . "\n"; echo $out[1][0] . ", " .
 *   $out[1][1] . "\n"; ?>
 *   
 *   <b>example: </b>, <div align=left>this is a test</div> example: ,
 *   this is a test
 *   
 *   So, $out[0] contains array of strings that matched full pattern, and
 *   $out[1] contains array of strings enclosed by tags. If the pattern
 *   contains named subpatterns, $matches additionally contains entries
 *   for keys with the subpattern name. If the pattern contains duplicate
 *   named subpatterns, only the rightmost subpattern is stored in
 *   $matches[NAME].
 *   
 *   <?php preg_match_all( '/(?J)(?<match>foo)|(?<match>bar)/', 'foo
 *   bar', $matches, PREG_PATTERN_ORDER ); print_r($matches['match']); ?>
 *   
 *   Array ( [0] => [1] => bar )
 *   
 *   PREG_SET_ORDER Orders results so that $matches[0] is an array of
 *   first set of matches, $matches[1] is an array of second set of
 *   matches, and so on.
 *   
 *   <?php preg_match_all("|<[^>]+>(.*)</[^>]+>|U", "<b>example: </b><div
 *   align=\"left\">this is a test</div>", $out, PREG_SET_ORDER); echo
 *   $out[0][0] . ", " . $out[0][1] . "\n"; echo $out[1][0] . ", " .
 *   $out[1][1] . "\n"; ?>
 *   
 *   <b>example: </b>, example: <div align="left">this is a test</div>,
 *   this is a test
 *   
 *   PREG_OFFSET_CAPTURE If this flag is passed, for every occurring
 *   match the appendant string offset will also be returned. Note that
 *   this changes the value of {@link matches} into an array of arrays
 *   where every element is an array consisting of the matched string at
 *   offset 0 and its string offset into {@link subject} at offset 1.
 *   
 *   <?php preg_match_all('/(foo)(bar)(baz)/', 'foobarbaz', $matches,
 *   PREG_OFFSET_CAPTURE); print_r($matches); ?>
 *   
 *   Array ( [0] => Array ( [0] => Array ( [0] => foobarbaz [1] => 0 )
 *   
 *   )
 *   
 *   [1] => Array ( [0] => Array ( [0] => foo [1] => 0 )
 *   
 *   )
 *   
 *   [2] => Array ( [0] => Array ( [0] => bar [1] => 3 )
 *   
 *   )
 *   
 *   [3] => Array ( [0] => Array ( [0] => baz [1] => 6 )
 *   
 *   )
 *   
 *   )
 *   
 *   PREG_UNMATCHED_AS_NULL If this flag is passed, unmatched subpatterns
 *   are reported as NULL; otherwise they are reported as an empty
 *   string. If no order flag is given, PREG_PATTERN_ORDER is assumed.
 * @param int $offset Orders results so that $matches[0] is an array of
 *   full pattern matches, $matches[1] is an array of strings matched by
 *   the first parenthesized subpattern, and so on.
 *   
 *   <?php preg_match_all("|<[^>]+>(.*)</[^>]+>|U", "<b>example: </b><div
 *   align=left>this is a test</div>", $out, PREG_PATTERN_ORDER); echo
 *   $out[0][0] . ", " . $out[0][1] . "\n"; echo $out[1][0] . ", " .
 *   $out[1][1] . "\n"; ?>
 *   
 *   <b>example: </b>, <div align=left>this is a test</div> example: ,
 *   this is a test
 *   
 *   So, $out[0] contains array of strings that matched full pattern, and
 *   $out[1] contains array of strings enclosed by tags. If the pattern
 *   contains named subpatterns, $matches additionally contains entries
 *   for keys with the subpattern name. If the pattern contains duplicate
 *   named subpatterns, only the rightmost subpattern is stored in
 *   $matches[NAME].
 *   
 *   <?php preg_match_all( '/(?J)(?<match>foo)|(?<match>bar)/', 'foo
 *   bar', $matches, PREG_PATTERN_ORDER ); print_r($matches['match']); ?>
 *   
 *   Array ( [0] => [1] => bar )
 * @return int Returns the number of full pattern matches (which might
 *   be zero), or FALSE if an error occurred.
 * @since PHP 4, PHP 5, PHP 7
 **/
function preg_match_all($pattern, $subject, &$matches, $flags, $offset){}

/**
 * Quote regular expression characters
 *
 * {@link preg_quote} takes {@link str} and puts a backslash in front of
 * every character that is part of the regular expression syntax. This is
 * useful if you have a run-time string that you need to match in some
 * text and the string may contain special regex characters.
 *
 * The special regular expression characters are: . \ + * ? [ ^ ] $ ( ) {
 * } = ! < > | : -
 *
 * Note that / is not a special regular expression character.
 *
 * @param string $str The input string.
 * @param string $delimiter If the optional {@link delimiter} is
 *   specified, it will also be escaped. This is useful for escaping the
 *   delimiter that is required by the PCRE functions. The / is the most
 *   commonly used delimiter.
 * @return string Returns the quoted (escaped) string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function preg_quote($str, $delimiter){}

/**
 * Perform a regular expression search and replace
 *
 * Searches {@link subject} for matches to {@link pattern} and replaces
 * them with {@link replacement}.
 *
 * @param mixed $pattern The pattern to search for. It can be either a
 *   string or an array with strings. Several PCRE modifiers are also
 *   available.
 * @param mixed $replacement The string or an array with strings to
 *   replace. If this parameter is a string and the {@link pattern}
 *   parameter is an array, all patterns will be replaced by that string.
 *   If both {@link pattern} and {@link replacement} parameters are
 *   arrays, each {@link pattern} will be replaced by the {@link
 *   replacement} counterpart. If there are fewer elements in the {@link
 *   replacement} array than in the {@link pattern} array, any extra
 *   {@link pattern}s will be replaced by an empty string. {@link
 *   replacement} may contain references of the form \\n or $n, with the
 *   latter form being the preferred one. Every such reference will be
 *   replaced by the text captured by the n'th parenthesized pattern. n
 *   can be from 0 to 99, and \\0 or $0 refers to the text matched by the
 *   whole pattern. Opening parentheses are counted from left to right
 *   (starting from 1) to obtain the number of the capturing subpattern.
 *   To use backslash in replacement, it must be doubled ("\\\\" PHP
 *   string). When working with a replacement pattern where a
 *   backreference is immediately followed by another number (i.e.:
 *   placing a literal number immediately after a matched pattern), you
 *   cannot use the familiar \\1 notation for your backreference. \\11,
 *   for example, would confuse {@link preg_replace} since it does not
 *   know whether you want the \\1 backreference followed by a literal 1,
 *   or the \\11 backreference followed by nothing. In this case the
 *   solution is to use ${1}1. This creates an isolated $1 backreference,
 *   leaving the 1 as a literal. When using the deprecated e modifier,
 *   this function escapes some characters (namely ', ", \ and NULL) in
 *   the strings that replace the backreferences. This is done to ensure
 *   that no syntax errors arise from backreference usage with either
 *   single or double quotes (e.g. 'strlen(\'$1\')+strlen("$2")'). Make
 *   sure you are aware of PHP's string syntax to know exactly how the
 *   interpreted string will look.
 * @param mixed $subject The string or an array with strings to search
 *   and replace. If {@link subject} is an array, then the search and
 *   replace is performed on every entry of {@link subject}, and the
 *   return value is an array as well.
 * @param int $limit The maximum possible replacements for each pattern
 *   in each {@link subject} string. Defaults to -1 (no limit).
 * @param int $count If specified, this variable will be filled with
 *   the number of replacements done.
 * @return mixed {@link preg_replace} returns an array if the {@link
 *   subject} parameter is an array, or a string otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function preg_replace($pattern, $replacement, $subject, $limit, &$count){}

/**
 * Perform a regular expression search and replace using a callback
 *
 * The behavior of this function is almost identical to {@link
 * preg_replace}, except for the fact that instead of {@link replacement}
 * parameter, one should specify a {@link callback}.
 *
 * @param mixed $pattern The pattern to search for. It can be either a
 *   string or an array with strings.
 * @param callable $callback A callback that will be called and passed
 *   an array of matched elements in the {@link subject} string. The
 *   callback should return the replacement string. This is the callback
 *   signature:
 *   
 *   stringhandler array{@link matches} You'll often need the {@link
 *   callback} function for a {@link preg_replace_callback} in just one
 *   place. In this case you can use an anonymous function to declare the
 *   callback within the call to {@link preg_replace_callback}. By doing
 *   it this way you have all information for the call in one place and
 *   do not clutter the function namespace with a callback function's
 *   name not used anywhere else.
 *   
 *   {@link preg_replace_callback} and anonymous function
 *   
 *   <?php /* a unix-style command line filter to convert uppercase *
 *   letters at the beginning of paragraphs to lowercase * / $fp =
 *   fopen("php://stdin", "r") or die("can't read stdin"); while
 *   (!feof($fp)) { $line = fgets($fp); $line = preg_replace_callback(
 *   '|<p>\s*\w|', function ($matches) { return strtolower($matches[0]);
 *   }, $line ); echo $line; } fclose($fp); ?>
 * @param mixed $subject The string or an array with strings to search
 *   and replace.
 * @param int $limit The maximum possible replacements for each pattern
 *   in each {@link subject} string. Defaults to -1 (no limit).
 * @param int $count If specified, this variable will be filled with
 *   the number of replacements done.
 * @return mixed {@link preg_replace_callback} returns an array if the
 *   {@link subject} parameter is an array, or a string otherwise. On
 *   errors the return value is NULL
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7
 **/
function preg_replace_callback($pattern, $callback, $subject, $limit, &$count){}

/**
 * Perform a regular expression search and replace using callbacks
 *
 * The behavior of this function is similar to {@link
 * preg_replace_callback}, except that callbacks are executed on a
 * per-pattern basis.
 *
 * @param array $patterns_and_callbacks An associative array mapping
 *   patterns (keys) to callbacks (values).
 * @param mixed $subject The string or an array with strings to search
 *   and replace.
 * @param int $limit The maximum possible replacements for each pattern
 *   in each {@link subject} string. Defaults to -1 (no limit).
 * @param int $count If specified, this variable will be filled with
 *   the number of replacements done.
 * @return mixed {@link preg_replace_callback_array} returns an array
 *   if the {@link subject} parameter is an array, or a string otherwise.
 *   On errors the return value is NULL
 * @since PHP 7
 **/
function preg_replace_callback_array($patterns_and_callbacks, $subject, $limit, &$count){}

/**
 * Split string by a regular expression
 *
 * Split the given string by a regular expression.
 *
 * @param string $pattern The pattern to search for, as a string.
 * @param string $subject The input string.
 * @param int $limit If specified, then only substrings up to {@link
 *   limit} are returned with the rest of the string being placed in the
 *   last substring. A {@link limit} of -1 or 0 means "no limit" and, as
 *   is standard across PHP, you can use NULL to skip to the {@link
 *   flags} parameter.
 * @param int $flags {@link flags} can be any combination of the
 *   following flags (combined with the | bitwise operator):
 *   PREG_SPLIT_NO_EMPTY If this flag is set, only non-empty pieces will
 *   be returned by {@link preg_split}. PREG_SPLIT_DELIM_CAPTURE If this
 *   flag is set, parenthesized expression in the delimiter pattern will
 *   be captured and returned as well. PREG_SPLIT_OFFSET_CAPTURE If this
 *   flag is set, for every occurring match the appendant string offset
 *   will also be returned. Note that this changes the return value in an
 *   array where every element is an array consisting of the matched
 *   string at offset 0 and its string offset into {@link subject} at
 *   offset 1.
 * @return array Returns an array containing substrings of {@link
 *   subject} split along boundaries matched by {@link pattern}, .
 * @since PHP 4, PHP 5, PHP 7
 **/
function preg_split($pattern, $subject, $limit, $flags){}

/**
 * Rewind the internal array pointer
 *
 * {@link prev} behaves just like {@link next}, except it rewinds the
 * internal array pointer one place instead of advancing it.
 *
 * @param array $array The input array.
 * @return mixed Returns the array value in the previous place that's
 *   pointed to by the internal array pointer, or FALSE if there are no
 *   more elements.
 * @since PHP 4, PHP 5, PHP 7
 **/
function prev(&$array){}

/**
 * Output a formatted string
 *
 * @param string $format See {@link sprintf} for a description of
 *   {@link format}.
 * @param mixed $args
 * @return int Returns the length of the outputted string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function printf($format, $args){}

/**
 * Prints human-readable information about a variable
 *
 * {@link print_r} displays information about a variable in a way that's
 * readable by humans.
 *
 * {@link print_r}, {@link var_dump} and {@link var_export} will also
 * show protected and private properties of objects. Static class members
 * will not be shown.
 *
 * @param mixed $expression The expression to be printed.
 * @param bool $return If you would like to capture the output of
 *   {@link print_r}, use the {@link return} parameter. When this
 *   parameter is set to TRUE, {@link print_r} will return the
 *   information rather than print it.
 * @return mixed If given a string, integer or float, the value itself
 *   will be printed. If given an array, values will be presented in a
 *   format that shows keys and elements. Similar notation is used for
 *   objects.
 * @since PHP 4, PHP 5, PHP 7
 **/
function print_r($expression, $return){}

/**
 * Close a process opened by and return the exit code of that process
 *
 * {@link proc_close} is similar to {@link pclose} except that it only
 * works on processes opened by {@link proc_open}. {@link proc_close}
 * waits for the process to terminate, and returns its exit code. If you
 * have open pipes to that process, you should {@link fclose} them prior
 * to calling this function in order to avoid a deadlock - the child
 * process may not be able to exit while the pipes are open.
 *
 * @param resource $process The {@link proc_open} resource that will be
 *   closed.
 * @return int Returns the termination status of the process that was
 *   run. In case of an error then -1 is returned.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function proc_close($process){}

/**
 * Get information about a process opened by
 *
 * {@link proc_get_status} fetches data about a process opened using
 * {@link proc_open}.
 *
 * @param resource $process The {@link proc_open} resource that will be
 *   evaluated.
 * @return array An array of collected information on success, and
 *   FALSE on failure. The returned array contains the following
 *   elements:
 * @since PHP 5, PHP 7
 **/
function proc_get_status($process){}

/**
 * Change the priority of the current process
 *
 * {@link proc_nice} changes the priority of the current process by the
 * amount specified in {@link increment}. A positive {@link increment}
 * will lower the priority of the current process, whereas a negative
 * {@link increment} will raise the priority.
 *
 * {@link proc_nice} is not related to {@link proc_open} and its
 * associated functions in any way.
 *
 * @param int $increment The new priority value, the value of this may
 *   differ on platforms. On Unix, a low value, such as -20 means high
 *   priority wheras a positive value have a lower priority. For Windows
 *   the {@link increment} parameter have the following meanings:
 * @return bool If an error occurs, like the user lacks permission to
 *   change the priority, an error of level E_WARNING is also generated.
 * @since PHP 5, PHP 7
 **/
function proc_nice($increment){}

/**
 * Execute a command and open file pointers for input/output
 *
 * {@link proc_open} is similar to {@link popen} but provides a much
 * greater degree of control over the program execution.
 *
 * @param string $cmd The command to execute
 * @param array $descriptorspec An indexed array where the key
 *   represents the descriptor number and the value represents how PHP
 *   will pass that descriptor to the child process. 0 is stdin, 1 is
 *   stdout, while 2 is stderr. Each element can be: An array describing
 *   the pipe to pass to the process. The first element is the descriptor
 *   type and the second element is an option for the given type. Valid
 *   types are pipe (the second element is either r to pass the read end
 *   of the pipe to the process, or w to pass the write end) and file
 *   (the second element is a filename). A stream resource representing a
 *   real file descriptor (e.g. opened file, a socket, STDIN). The file
 *   descriptor numbers are not limited to 0, 1 and 2 - you may specify
 *   any valid file descriptor number and it will be passed to the child
 *   process. This allows your script to interoperate with other scripts
 *   that run as "co-processes". In particular, this is useful for
 *   passing passphrases to programs like PGP, GPG and openssl in a more
 *   secure manner. It is also useful for reading status information
 *   provided by those programs on auxiliary file descriptors.
 * @param array $pipes Will be set to an indexed array of file pointers
 *   that correspond to PHP's end of any pipes that are created.
 * @param string $cwd The initial working dir for the command. This
 *   must be an absolute directory path, or NULL if you want to use the
 *   default value (the working dir of the current PHP process)
 * @param array $env An array with the environment variables for the
 *   command that will be run, or NULL to use the same environment as the
 *   current PHP process
 * @param array $other_options Allows you to specify additional
 *   options. Currently supported options include: suppress_errors
 *   (windows only): suppresses errors generated by this function when
 *   it's set to TRUE bypass_shell (windows only): bypass cmd.exe shell
 *   when set to TRUE
 * @return resource Returns a resource representing the process, which
 *   should be freed using {@link proc_close} when you are finished with
 *   it. On failure returns FALSE.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function proc_open($cmd, $descriptorspec, &$pipes, $cwd, $env, $other_options){}

/**
 * Kills a process opened by proc_open
 *
 * Signals a {@link process} (created using {@link proc_open}) that it
 * should terminate. {@link proc_terminate} returns immediately and does
 * not wait for the process to terminate.
 *
 * {@link proc_terminate} allows you terminate the process and continue
 * with other tasks. You may poll the process (to see if it has stopped
 * yet) by using the {@link proc_get_status} function.
 *
 * @param resource $process The {@link proc_open} resource that will be
 *   closed.
 * @param int $signal This optional parameter is only useful on POSIX
 *   operating systems; you may specify a signal to send to the process
 *   using the kill(2) system call. The default is SIGTERM.
 * @return bool Returns the termination status of the process that was
 *   run.
 * @since PHP 5, PHP 7
 **/
function proc_terminate($process, $signal){}

/**
 * Checks if the object or class has a property
 *
 * This function checks if the given {@link property} exists in the
 * specified class.
 *
 * @param mixed $class The class name or an object of the class to test
 *   for
 * @param string $property The name of the property
 * @return bool Returns TRUE if the property exists, FALSE if it
 *   doesn't exist or NULL in case of an error.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function property_exists($class, $property){}

/**
 * Add the word to a personal wordlist
 *
 * @param int $dictionary_link
 * @param string $word The added word.
 * @return bool
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function pspell_add_to_personal($dictionary_link, $word){}

/**
 * Add the word to the wordlist in the current session
 *
 * @param int $dictionary_link
 * @param string $word The added word.
 * @return bool
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function pspell_add_to_session($dictionary_link, $word){}

/**
 * Check a word
 *
 * @param int $dictionary_link
 * @param string $word The tested word.
 * @return bool Returns TRUE if the spelling is correct, FALSE if not.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function pspell_check($dictionary_link, $word){}

/**
 * Clear the current session
 *
 * @param int $dictionary_link
 * @return bool
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function pspell_clear_session($dictionary_link){}

/**
 * Create a config used to open a dictionary
 *
 * {@link pspell_config_create} has a very similar syntax to {@link
 * pspell_new}. In fact, using {@link pspell_config_create} immediately
 * followed by {@link pspell_new_config} will produce the exact same
 * result. However, after creating a new config, you can also use {@link
 * pspell_config_*} functions before calling {@link pspell_new_config} to
 * take advantage of some advanced functionality.
 *
 * For more information and examples, check out inline manual pspell
 * website:.
 *
 * @param string $language The language parameter is the language code
 *   which consists of the two letter ISO 639 language code and an
 *   optional two letter ISO 3166 country code after a dash or
 *   underscore.
 * @param string $spelling The spelling parameter is the requested
 *   spelling for languages with more than one spelling such as English.
 *   Known values are 'american', 'british', and 'canadian'.
 * @param string $jargon The jargon parameter contains extra
 *   information to distinguish two different words lists that have the
 *   same language and spelling parameters.
 * @param string $encoding The encoding parameter is the encoding that
 *   words are expected to be in. Valid values are 'utf-8', 'iso8859-*',
 *   'koi8-r', 'viscii', 'cp1252', 'machine unsigned 16', 'machine
 *   unsigned 32'. This parameter is largely untested, so be careful when
 *   using.
 * @return int Retuns a pspell config identifier, or FALSE on error.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function pspell_config_create($language, $spelling, $jargon, $encoding){}

/**
 * Location of language data files
 *
 * @param int $conf
 * @param string $directory
 * @return bool
 * @since PHP 5, PHP 7
 **/
function pspell_config_data_dir($conf, $directory){}

/**
 * Location of the main word list
 *
 * @param int $conf
 * @param string $directory
 * @return bool
 * @since PHP 5, PHP 7
 **/
function pspell_config_dict_dir($conf, $directory){}

/**
 * Ignore words less than N characters long
 *
 * @param int $dictionary_link
 * @param int $n Words less than {@link n} characters will be skipped.
 * @return bool
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function pspell_config_ignore($dictionary_link, $n){}

/**
 * Change the mode number of suggestions returned
 *
 * @param int $dictionary_link
 * @param int $mode The mode parameter is the mode in which
 *   spellchecker will work. There are several modes available:
 *   PSPELL_FAST - Fast mode (least number of suggestions) PSPELL_NORMAL
 *   - Normal mode (more suggestions) PSPELL_BAD_SPELLERS - Slow mode (a
 *   lot of suggestions)
 * @return bool
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function pspell_config_mode($dictionary_link, $mode){}

/**
 * Set a file that contains personal wordlist
 *
 * Set a file that contains personal wordlist. The personal wordlist will
 * be loaded and used in addition to the standard one after you call
 * {@link pspell_new_config}. The file is also the file where {@link
 * pspell_save_wordlist} will save personal wordlist to.
 *
 * {@link pspell_config_personal} should be used on a config before
 * calling {@link pspell_new_config}.
 *
 * @param int $dictionary_link
 * @param string $file The personal wordlist. If the file does not
 *   exist, it will be created. The file should be writable by whoever
 *   PHP runs as (e.g. nobody).
 * @return bool
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function pspell_config_personal($dictionary_link, $file){}

/**
 * Set a file that contains replacement pairs
 *
 * The replacement pairs improve the quality of the spellchecker. When a
 * word is misspelled, and a proper suggestion was not found in the list,
 * {@link pspell_store_replacement} can be used to store a replacement
 * pair and then {@link pspell_save_wordlist} to save the wordlist along
 * with the replacement pairs.
 *
 * {@link pspell_config_repl} should be used on a config before calling
 * {@link pspell_new_config}.
 *
 * @param int $dictionary_link
 * @param string $file The file should be writable by whoever PHP runs
 *   as (e.g. nobody).
 * @return bool
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function pspell_config_repl($dictionary_link, $file){}

/**
 * Consider run-together words as valid compounds
 *
 * This function determines whether run-together words will be treated as
 * legal compounds. That is, "thecat" will be a legal compound, although
 * there should be a space between the two words. Changing this setting
 * only affects the results returned by {@link pspell_check}; {@link
 * pspell_suggest} will still return suggestions.
 *
 * {@link pspell_config_runtogether} should be used on a config before
 * calling {@link pspell_new_config}.
 *
 * @param int $dictionary_link
 * @param bool $flag TRUE if run-together words should be treated as
 *   legal compounds, FALSE otherwise.
 * @return bool
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function pspell_config_runtogether($dictionary_link, $flag){}

/**
 * Determine whether to save a replacement pairs list along with the
 * wordlist
 *
 * {@link pspell_config_save_repl} determines whether {@link
 * pspell_save_wordlist} will save the replacement pairs along with the
 * wordlist. Usually there is no need to use this function because if
 * {@link pspell_config_repl} is used, the replacement pairs will be
 * saved by {@link pspell_save_wordlist} anyway, and if it is not, the
 * replacement pairs will not be saved.
 *
 * {@link pspell_config_save_repl} should be used on a config before
 * calling {@link pspell_new_config}.
 *
 * @param int $dictionary_link
 * @param bool $flag TRUE if replacement pairs should be saved, FALSE
 *   otherwise.
 * @return bool
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function pspell_config_save_repl($dictionary_link, $flag){}

/**
 * Load a new dictionary
 *
 * {@link pspell_new} opens up a new dictionary and returns the
 * dictionary link identifier for use in other pspell functions.
 *
 * For more information and examples, check out inline manual pspell
 * website:.
 *
 * @param string $language The language parameter is the language code
 *   which consists of the two letter ISO 639 language code and an
 *   optional two letter ISO 3166 country code after a dash or
 *   underscore.
 * @param string $spelling The spelling parameter is the requested
 *   spelling for languages with more than one spelling such as English.
 *   Known values are 'american', 'british', and 'canadian'.
 * @param string $jargon The jargon parameter contains extra
 *   information to distinguish two different words lists that have the
 *   same language and spelling parameters.
 * @param string $encoding The encoding parameter is the encoding that
 *   words are expected to be in. Valid values are 'utf-8', 'iso8859-*',
 *   'koi8-r', 'viscii', 'cp1252', 'machine unsigned 16', 'machine
 *   unsigned 32'. This parameter is largely untested, so be careful when
 *   using.
 * @param int $mode The mode parameter is the mode in which
 *   spellchecker will work. There are several modes available:
 *   PSPELL_FAST - Fast mode (least number of suggestions) PSPELL_NORMAL
 *   - Normal mode (more suggestions) PSPELL_BAD_SPELLERS - Slow mode (a
 *   lot of suggestions) PSPELL_RUN_TOGETHER - Consider run-together
 *   words as legal compounds. That is, "thecat" will be a legal
 *   compound, although there should be a space between the two words.
 *   Changing this setting only affects the results returned by {@link
 *   pspell_check}; {@link pspell_suggest} will still return suggestions.
 *   Mode is a bitmask constructed from different constants listed above.
 *   However, PSPELL_FAST, PSPELL_NORMAL and PSPELL_BAD_SPELLERS are
 *   mutually exclusive, so you should select only one of them.
 * @return int Returns the dictionary link identifier on success.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function pspell_new($language, $spelling, $jargon, $encoding, $mode){}

/**
 * Load a new dictionary with settings based on a given config
 *
 * @param int $config The {@link config} parameter is the one returned
 *   by {@link pspell_config_create} when the config was created.
 * @return int Returns a dictionary link identifier on success.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function pspell_new_config($config){}

/**
 * Load a new dictionary with personal wordlist
 *
 * For more information and examples, check out inline manual pspell
 * website:.
 *
 * @param string $personal The file where words added to the personal
 *   list will be stored. It should be an absolute filename beginning
 *   with '/' because otherwise it will be relative to $HOME, which is
 *   "/root" for most systems, and is probably not what you want.
 * @param string $language The language code which consists of the two
 *   letter ISO 639 language code and an optional two letter ISO 3166
 *   country code after a dash or underscore.
 * @param string $spelling The requested spelling for languages with
 *   more than one spelling such as English. Known values are 'american',
 *   'british', and 'canadian'.
 * @param string $jargon Extra information to distinguish two different
 *   words lists that have the same language and spelling parameters.
 * @param string $encoding The encoding that words are expected to be
 *   in. Valid values are utf-8, iso8859-*, koi8-r, viscii, cp1252,
 *   machine unsigned 16, machine unsigned 32.
 * @param int $mode The mode in which spellchecker will work. There are
 *   several modes available: PSPELL_FAST - Fast mode (least number of
 *   suggestions) PSPELL_NORMAL - Normal mode (more suggestions)
 *   PSPELL_BAD_SPELLERS - Slow mode (a lot of suggestions)
 *   PSPELL_RUN_TOGETHER - Consider run-together words as legal
 *   compounds. That is, "thecat" will be a legal compound, although
 *   there should be a space between the two words. Changing this setting
 *   only affects the results returned by {@link pspell_check}; {@link
 *   pspell_suggest} will still return suggestions. Mode is a bitmask
 *   constructed from different constants listed above. However,
 *   PSPELL_FAST, PSPELL_NORMAL and PSPELL_BAD_SPELLERS are mutually
 *   exclusive, so you should select only one of them.
 * @return int Returns the dictionary link identifier for use in other
 *   pspell functions.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function pspell_new_personal($personal, $language, $spelling, $jargon, $encoding, $mode){}

/**
 * Save the personal wordlist to a file
 *
 * @param int $dictionary_link A dictionary link identifier opened with
 *   {@link pspell_new_personal}.
 * @return bool
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function pspell_save_wordlist($dictionary_link){}

/**
 * Store a replacement pair for a word
 *
 * @param int $dictionary_link A dictionary link identifier, opened
 *   with {@link pspell_new_personal}
 * @param string $misspelled The misspelled word.
 * @param string $correct The fixed spelling for the {@link misspelled}
 *   word.
 * @return bool
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function pspell_store_replacement($dictionary_link, $misspelled, $correct){}

/**
 * Suggest spellings of a word
 *
 * @param int $dictionary_link
 * @param string $word The tested word.
 * @return array Returns an array of possible spellings.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function pspell_suggest($dictionary_link, $word){}

/**
 * Add bookmark to current page
 *
 * Adds a bookmark for the current page. Bookmarks usually appear in
 * PDF-Viewers left of the page in a hierarchical tree. Clicking on a
 * bookmark will jump to the given page.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param string $text The text used for displaying the bookmark.
 * @param int $parent A bookmark previously created by this function
 *   which is used as the parent of the new bookmark.
 * @param int $open If {@link open} is unequal to zero the bookmark
 *   will be shown open by the pdf viewer.
 * @return int The returned value is a reference for the bookmark. It
 *   is only used if the bookmark shall be used as a parent. The value is
 *   greater zero if the function succeeds. In case of an error zero will
 *   be returned.
 * @since PECL ps >= 1.1.0
 **/
function ps_add_bookmark($psdoc, $text, $parent, $open){}

/**
 * Adds link which launches file
 *
 * Places a hyperlink at the given position pointing to a file program
 * which is being started when clicked on. The hyperlink's source
 * position is a rectangle with its lower left corner at (llx, lly) and
 * its upper right corner at (urx, ury). The rectangle has by default a
 * thin blue border.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param float $llx The x-coordinate of the lower left corner.
 * @param float $lly The y-coordinate of the lower left corner.
 * @param float $urx The x-coordinate of the upper right corner.
 * @param float $ury The y-coordinate of the upper right corner.
 * @param string $filename The path of the program to be started, when
 *   the link is clicked on.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_add_launchlink($psdoc, $llx, $lly, $urx, $ury, $filename){}

/**
 * Adds link to a page in the same document
 *
 * Places a hyperlink at the given position pointing to a page in the
 * same document. Clicking on the link will jump to the given page. The
 * first page in a document has number 1.
 *
 * The hyperlink's source position is a rectangle with its lower left
 * corner at ({@link llx}, {@link lly}) and its upper right corner at
 * ({@link urx}, {@link ury}). The rectangle has by default a thin blue
 * border.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param float $llx The x-coordinate of the lower left corner.
 * @param float $lly The y-coordinate of the lower left corner.
 * @param float $urx The x-coordinate of the upper right corner.
 * @param float $ury The y-coordinate of the upper right corner.
 * @param int $page The number of the page displayed when clicking on
 *   the link.
 * @param string $dest The parameter {@link dest} determines how the
 *   document is being viewed. It can be fitpage, fitwidth, fitheight, or
 *   fitbbox.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_add_locallink($psdoc, $llx, $lly, $urx, $ury, $page, $dest){}

/**
 * Adds note to current page
 *
 * Adds a note at a certain position on the page. Notes are like little
 * rectangular sheets with text on it, which can be placed anywhere on a
 * page. They are shown either folded or unfolded. If folded, the
 * specified icon is used as a placeholder.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param float $llx The x-coordinate of the lower left corner.
 * @param float $lly The y-coordinate of the lower left corner.
 * @param float $urx The x-coordinate of the upper right corner.
 * @param float $ury The y-coordinate of the upper right corner.
 * @param string $contents The text of the note.
 * @param string $title The title of the note as displayed in the
 *   header of the note.
 * @param string $icon The icon shown if the note is folded. This
 *   parameter can be set to comment, insert, note, paragraph,
 *   newparagraph, key, or help.
 * @param int $open If {@link open} is unequal to zero the note will be
 *   shown unfolded after opening the document with a pdf viewer.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_add_note($psdoc, $llx, $lly, $urx, $ury, $contents, $title, $icon, $open){}

/**
 * Adds link to a page in a second pdf document
 *
 * Places a hyperlink at the given position pointing to a second pdf
 * document. Clicking on the link will branch to the document at the
 * given page. The first page in a document has number 1.
 *
 * The hyperlink's source position is a rectangle with its lower left
 * corner at ({@link llx}, {@link lly}) and its upper right corner at
 * ({@link urx}, {@link ury}). The rectangle has by default a thin blue
 * border.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param float $llx The x-coordinate of the lower left corner.
 * @param float $lly The y-coordinate of the lower left corner.
 * @param float $urx The x-coordinate of the upper right corner.
 * @param float $ury The y-coordinate of the upper right corner.
 * @param string $filename The name of the pdf document to be opened
 *   when clicking on this link.
 * @param int $page The page number of the destination pdf document
 * @param string $dest The parameter {@link dest} determines how the
 *   document is being viewed. It can be fitpage, fitwidth, fitheight, or
 *   fitbbox.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_add_pdflink($psdoc, $llx, $lly, $urx, $ury, $filename, $page, $dest){}

/**
 * Adds link to a web location
 *
 * Places a hyperlink at the given position pointing to a web page. The
 * hyperlink's source position is a rectangle with its lower left corner
 * at ({@link llx}, {@link lly}) and its upper right corner at ({@link
 * urx}, {@link ury}). The rectangle has by default a thin blue border.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param float $llx The x-coordinate of the lower left corner.
 * @param float $lly The y-coordinate of the lower left corner.
 * @param float $urx The x-coordinate of the upper right corner.
 * @param float $ury The y-coordinate of the upper right corner.
 * @param string $url The url of the hyperlink to be opened when
 *   clicking on this link, e.g. http://www.php.net.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_add_weblink($psdoc, $llx, $lly, $urx, $ury, $url){}

/**
 * Draws an arc counterclockwise
 *
 * Draws a portion of a circle with at middle point at ({@link x}, {@link
 * y}). The arc starts at an angle of {@link alpha} and ends at an angle
 * of {@link beta}. It is drawn counterclockwise (use {@link ps_arcn} to
 * draw clockwise). The subpath added to the current path starts on the
 * arc at angle {@link alpha} and ends on the arc at angle {@link beta}.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param float $x The x-coordinate of the circle's middle point.
 * @param float $y The y-coordinate of the circle's middle point.
 * @param float $radius The radius of the circle
 * @param float $alpha The start angle given in degrees.
 * @param float $beta The end angle given in degrees.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_arc($psdoc, $x, $y, $radius, $alpha, $beta){}

/**
 * Draws an arc clockwise
 *
 * Draws a portion of a circle with at middle point at ({@link x}, {@link
 * y}). The arc starts at an angle of {@link alpha} and ends at an angle
 * of {@link beta}. It is drawn clockwise (use {@link ps_arc} to draw
 * counterclockwise). The subpath added to the current path starts on the
 * arc at angle {@link beta} and ends on the arc at angle {@link alpha}.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param float $x The x-coordinate of the circle's middle point.
 * @param float $y The y-coordinate of the circle's middle point.
 * @param float $radius The radius of the circle
 * @param float $alpha The starting angle given in degrees.
 * @param float $beta The end angle given in degrees.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_arcn($psdoc, $x, $y, $radius, $alpha, $beta){}

/**
 * Start a new page
 *
 * Starts a new page. Although the parameters {@link width} and {@link
 * height} imply a different page size for each page, this is not
 * possible in PostScript. The first call of {@link ps_begin_page} will
 * set the page size for the whole document. Consecutive calls will have
 * no effect, except for creating a new page. The situation is different
 * if you intent to convert the PostScript document into PDF. This
 * function places pdfmarks into the document which can set the size for
 * each page indiviually. The resulting PDF document will have different
 * page sizes.
 *
 * Though PostScript does not know different page sizes, pslib places a
 * bounding box for each page into the document. This size is evaluated
 * by some PostScript viewers and will have precedence over the
 * BoundingBox in the Header of the document. This can lead to unexpected
 * results when you set a BoundingBox whose lower left corner is not (0,
 * 0), because the bounding box of the page will always have a lower left
 * corner (0, 0) and overwrites the global setting.
 *
 * Each page is encapsulated into save/restore. This means, that most of
 * the settings made on one page will not be retained on the next page.
 *
 * If there is up to the first call of {@link ps_begin_page} no call of
 * {@link ps_findfont}, then the header of the PostScript document will
 * be output and the bounding box will be set to the size of the first
 * page. The lower left corner of the bounding box is set to (0, 0). If
 * {@link ps_findfont} was called before, then the header has been output
 * already, and the document will not have a valid bounding box. In order
 * to prevent this, one should call {@link ps_set_info} to set the info
 * field BoundingBox and possibly Orientation before any {@link
 * ps_findfont} or {@link ps_begin_page} calls.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param float $width The width of the page in pixel, e.g. 596 for A4
 *   format.
 * @param float $height The height of the page in pixel, e.g. 842 for
 *   A4 format.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_begin_page($psdoc, $width, $height){}

/**
 * Start a new pattern
 *
 * Starts a new pattern. A pattern is like a page containing e.g. a
 * drawing which can be used for filling areas. It is used like a color
 * by calling {@link ps_setcolor} and setting the color space to pattern.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param float $width The width of the pattern in pixel.
 * @param float $height The height of the pattern in pixel.
 * @param float $xstep The distance in pixel of placements of the
 *   pattern in horizontal direction.
 * @param float $ystep The distance in pixel of placements of the
 *   pattern in vertical direction.
 * @param int $painttype Must be 1 or 2.
 * @return int The identifier of the pattern .
 * @since PECL ps >= 1.2.0
 **/
function ps_begin_pattern($psdoc, $width, $height, $xstep, $ystep, $painttype){}

/**
 * Start a new template
 *
 * Starts a new template. A template is called a form in the postscript
 * language. It is created similar to a pattern but used like an image.
 * Templates are often used for drawings which are placed several times
 * through out the document, e.g. like a company logo. All drawing
 * functions may be used within a template. The template will not be
 * drawn until it is placed by {@link ps_place_image}.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param float $width The width of the template in pixel.
 * @param float $height The height of the template in pixel.
 * @return int
 * @since PECL ps >= 1.2.0
 **/
function ps_begin_template($psdoc, $width, $height){}

/**
 * Draws a circle
 *
 * Draws a circle with its middle point at ({@link x}, {@link y}). The
 * circle starts and ends at position ({@link x}+{@link radius}, {@link
 * y}). If this function is called outside a path it will start a new
 * path. If it is called within a path it will add the circle as a
 * subpath. If the last drawing operation does not end in point ({@link
 * x}+{@link radius}, {@link y}) then there will be a gap in the path.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param float $x The x-coordinate of the circle's middle point.
 * @param float $y The y-coordinate of the circle's middle point.
 * @param float $radius The radius of the circle
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_circle($psdoc, $x, $y, $radius){}

/**
 * Clips drawing to current path
 *
 * Takes the current path and uses it to define the border of a clipping
 * area. Everything drawn outside of that area will not be visible.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_clip($psdoc){}

/**
 * Closes a PostScript document
 *
 * Closes the PostScript document.
 *
 * This function writes the trailer of the PostScript document. It also
 * writes the bookmark tree. {@link ps_close} does not free any
 * resources, which is done by {@link ps_delete}.
 *
 * This function is also called by {@link ps_delete} if it has not been
 * called before.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_close($psdoc){}

/**
 * Closes path
 *
 * Connects the last point with the first point of a path. The resulting
 * path can be used for stroking, filling, clipping, etc..
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_closepath($psdoc){}

/**
 * Closes and strokes path
 *
 * Connects the last point with first point of a path and draws the
 * resulting closed line.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_closepath_stroke($psdoc){}

/**
 * Closes image and frees memory
 *
 * Closes an image and frees its resources. Once an image is closed it
 * cannot be used anymore.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param int $imageid Resource identifier of the image as returned by
 *   {@link ps_open_image} or {@link ps_open_image_file}.
 * @return void Returns NULL on success.
 * @since PECL ps >= 1.1.0
 **/
function ps_close_image($psdoc, $imageid){}

/**
 * Continue text in next line
 *
 * Output a text one line below the last line. The line spacing is taken
 * from the value "leading" which must be set with {@link ps_set_value}.
 * The actual position of the text is determined by the values "textx"
 * and "texty" which can be requested with {@link ps_get_value}
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param string $text The text to output.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_continue_text($psdoc, $text){}

/**
 * Draws a curve
 *
 * Add a section of a cubic Bézier curve described by the three given
 * control points to the current path.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param float $x1 x-coordinate of first control point.
 * @param float $y1 y-coordinate of first control point.
 * @param float $x2 x-coordinate of second control point.
 * @param float $y2 y-coordinate of second control point.
 * @param float $x3 x-coordinate of third control point.
 * @param float $y3 y-coordinate of third control point.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_curveto($psdoc, $x1, $y1, $x2, $y2, $x3, $y3){}

/**
 * Deletes all resources of a PostScript document
 *
 * Mainly frees memory used by the document. Also closes a file, if it
 * was not closed before with {@link ps_close}. You should in any case
 * close the file with {@link ps_close} before, because {@link ps_close}
 * not just closes the file but also outputs a trailor containing
 * PostScript comments like the number of pages in the document and
 * adding the bookmark hierarchy.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_delete($psdoc){}

/**
 * End a page
 *
 * Ends a page which was started with {@link ps_begin_page}. Ending a
 * page will leave the current drawing context, which e.g. requires to
 * reload fonts if they were loading within the page, and to set many
 * other drawing parameters like the line width, or color..
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_end_page($psdoc){}

/**
 * End a pattern
 *
 * Ends a pattern which was started with {@link ps_begin_pattern}. Once a
 * pattern has been ended, it can be used like a color to fill areas.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @return bool
 * @since PECL ps >= 1.2.0
 **/
function ps_end_pattern($psdoc){}

/**
 * End a template
 *
 * Ends a template which was started with {@link ps_begin_template}. Once
 * a template has been ended, it can be used like an image.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @return bool
 * @since PECL ps >= 1.2.0
 **/
function ps_end_template($psdoc){}

/**
 * Fills the current path
 *
 * Fills the path constructed with previously called drawing functions
 * like {@link ps_lineto}.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_fill($psdoc){}

/**
 * Fills and strokes the current path
 *
 * Fills and draws the path constructed with previously called drawing
 * functions like {@link ps_lineto}.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_fill_stroke($psdoc){}

/**
 * Loads a font
 *
 * Loads a font for later use. Before text is output with a loaded font
 * it must be set with {@link ps_setfont}. This function needs the adobe
 * font metric file in order to calculate the space used up by the
 * characters. A font which is loaded within a page will only be
 * available on that page. Fonts which are to be used in the complete
 * document have to be loaded before the first call of {@link
 * ps_begin_page}. Calling {@link ps_findfont} between pages will make
 * that font available for all following pages.
 *
 * The name of the afm file must be {@link fontname}.afm. If the font
 * shall be embedded the file {@link fontname}.pfb containing the font
 * outline must be present as well.
 *
 * Calling {@link ps_findfont} before the first page requires to output
 * the postscript header which includes the BoundingBox for the whole
 * document. Usually the BoundingBox is set with the first call of {@link
 * ps_begin_page} which now comes after {@link ps_findfont}. Consequently
 * the BoundingBox has not been set and a warning will be issued when
 * {@link ps_findfont} is called. In order to prevent this situation, one
 * should call {@link ps_set_parameter} to set the BoundingBox before
 * {@link ps_findfont} is called.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param string $fontname The name of the font.
 * @param string $encoding {@link ps_findfont} will try to load the
 *   file passed in the parameter {@link encoding}. Encoding files are of
 *   the same syntax as those used by dvips(1). They contain a font
 *   encoding vector (which is currently not used but must be present)
 *   and a list of extra ligatures to extend the list of ligatures
 *   derived from the afm file. {@link encoding} can be NULL or the empty
 *   string if the default encoding (TeXBase1) shall be used. If the
 *   encoding is set to builtin then there will be no reencoding and the
 *   font specific encoding will be used. This is very useful with symbol
 *   fonts.
 * @param bool $embed If set to a value >0 the font will be embedded
 *   into the document. This requires the font outline (.pfb file) to be
 *   present.
 * @return int Returns the identifier of the font or zero in case of an
 *   error. The identifier is a positive number.
 * @since PECL ps >= 1.1.0
 **/
function ps_findfont($psdoc, $fontname, $encoding, $embed){}

/**
 * Fetches the full buffer containig the generated PS data
 *
 * This function is not implemented yet. It will always return an empty
 * string. The idea for a later implementation is to write the contents
 * of the postscript file into an internal buffer if in memory creation
 * is requested, and retrieve the buffer content with this function.
 * Currently, documents created in memory are send to the browser without
 * buffering.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @return string
 * @since PECL ps >= 1.1.0
 **/
function ps_get_buffer($psdoc){}

/**
 * Gets certain parameters
 *
 * Gets several parameters which were directly set by {@link
 * ps_set_parameter} or indirectly by one of the other functions.
 * Parameters are by definition string values. This function cannot be
 * used to retrieve resources which were also set by {@link
 * ps_set_parameter}.
 *
 * The parameter {@link name} can have the following values.
 *
 * fontname The name of the currently active font or the font whose
 * identifier is passed in parameter {@link modifier}. fontencoding The
 * encoding of the currently active font. dottedversion The version of
 * the underlying pslib library in the format <major>.<minor>.<subminor>
 * scope The current drawing scope. Can be object, document, null, page,
 * pattern, path, template, prolog, font, glyph. ligaturedisolvechar The
 * character which dissolves a ligature. If your are using a font which
 * contains the ligature `ff' and `|' is the char to dissolve the
 * ligature, then `f|f' will result in two `f' instead of the ligature
 * `ff'. imageencoding The encoding used for encoding images. Can be
 * either hex or 85. hex encoding uses two bytes in the postscript file
 * each byte in the image. 85 stand for Ascii85 encoding. linenumbermode
 * Set to paragraph if lines are numbered within a paragraph or box if
 * they are numbered within the surrounding box. linebreak Only used if
 * text is output with {@link ps_show_boxed}. If set to TRUE a carriage
 * return will add a line break. parbreak Only used if text is output
 * with {@link ps_show_boxed}. If set to TRUE a carriage return will
 * start a new paragraph. hyphenation Only used if text is output with
 * {@link ps_show_boxed}. If set to TRUE the paragraph will be hyphenated
 * if a hypen dictionary is set and exists. hyphendict Filename of the
 * dictionary used for hyphenation pattern.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param string $name Name of the parameter.
 * @param float $modifier An identifier needed if a parameter of a
 *   resource is requested, e.g. the size of an image. In such a case the
 *   resource id is passed.
 * @return string Returns the value of the parameter .
 * @since PECL ps >= 1.1.0
 **/
function ps_get_parameter($psdoc, $name, $modifier){}

/**
 * Gets certain values
 *
 * Gets several values which were set by {@link ps_set_value}. Values are
 * by definition float values.
 *
 * The parameter {@link name} can have the following values.
 *
 * fontsize The size of the currently active font or the font whose
 * identifier is passed in parameter {@link modifier}. font The currently
 * active font itself. imagewidth The width of the image whose id is
 * passed in the parameter {@link modifier}. imageheight The height of
 * the image whose id is passed in the parameter {@link modifier}.
 * capheight The height of a capital M in the currently active font or
 * the font whose identifier is passed in parameter {@link modifier}.
 * ascender The ascender of the currently active font or the font whose
 * identifier is passed in parameter {@link modifier}. descender The
 * descender of the currently active font or the font whose identifier is
 * passed in parameter {@link modifier}. italicangle The italicangle of
 * the currently active font or the font whose identifier is passed in
 * parameter {@link modifier}. underlineposition The underlineposition of
 * the currently active font or the font whose identifier is passed in
 * parameter {@link modifier}. underlinethickness The underlinethickness
 * of the currently active font or the font whose identifier is passed in
 * parameter {@link modifier}. textx The current x-position for text
 * output. texty The current y-position for text output. textrendering
 * The current mode for text rendering. textrise The space by which text
 * is risen above the base line. leading The distance between text lines
 * in points. wordspacing The space between words as a multiple of the
 * width of a space char. charspacing The space between chars. If
 * charspacing is != 0.0 ligatures will always be dissolved.
 * hyphenminchars Minimum number of chars hyphenated at the end of a
 * word. parindent Indention of the first n line in a paragraph.
 * numindentlines Number of line in a paragraph to indent if parindent !=
 * 0.0. parskip Distance between paragraphs. linenumberspace Overall
 * space in front of each line for the line number. linenumbersep Space
 * between the line and the line number. major The major version number
 * of pslib. minor The minor version number of pslib. subminor, revision
 * The subminor version number of pslib.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param string $name Name of the value.
 * @param float $modifier The parameter {@link modifier} specifies the
 *   resource for which the value is to be retrieved. This can be the id
 *   of a font or an image.
 * @return float Returns the value of the parameter or FALSE.
 * @since PECL ps >= 1.1.0
 **/
function ps_get_value($psdoc, $name, $modifier){}

/**
 * Hyphenates a word
 *
 * Hyphenates the passed word. {@link ps_hyphenate} evaluates the value
 * hyphenminchars (set by {@link ps_set_value}) and the parameter
 * hyphendict (set by {@link ps_set_parameter}). hyphendict must be set
 * before calling this function.
 *
 * This function requires the locale category LC_CTYPE to be set
 * properly. This is done when the extension is initialized by using the
 * environment variables. On Unix systems read the man page of locale for
 * more information.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param string $text {@link text} should not contain any non alpha
 *   characters. Possible positions for breaks are returned in an array
 *   of interger numbers. Each number is the position of the char in
 *   {@link text} after which a hyphenation can take place.
 * @return array An array of integers indicating the position of
 *   possible breaks in the text .
 * @since PECL ps >= 1.1.1
 **/
function ps_hyphenate($psdoc, $text){}

/**
 * Reads an external file with raw PostScript code
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param string $file
 * @return bool
 * @since PECL ps >= 1.3.4
 **/
function ps_include_file($psdoc, $file){}

/**
 * Draws a line
 *
 * Adds a straight line from the current point to the given coordinates
 * to the current path. Use {@link ps_moveto} to set the starting point
 * of the line.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param float $x x-coordinate of the end point of the line.
 * @param float $y y-coordinate of the end point of the line.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_lineto($psdoc, $x, $y){}

/**
 * Create spot color
 *
 * Creates a spot color from the current fill color. The fill color must
 * be defined in rgb, cmyk or gray colorspace. The spot color name can be
 * an arbitrary name. A spot color can be set as any color with {@link
 * ps_setcolor}. When the document is not printed but displayed by an
 * postscript viewer the given color in the specified color space is use.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param string $name Name of the spot color, e.g. Pantone 5565.
 * @param int $reserved
 * @return int The id of the new spot color or 0 in case of an error.
 * @since PECL ps >= 1.1.0
 **/
function ps_makespotcolor($psdoc, $name, $reserved){}

/**
 * Sets current point
 *
 * Sets the current point to new coordinates. If this is the first call
 * of {@link ps_moveto} after a previous path has been ended then it will
 * start a new path. If this function is called in the middle of a path
 * it will just set the current point and start a subpath.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param float $x x-coordinate of the point to move to.
 * @param float $y y-coordinate of the point to move to.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_moveto($psdoc, $x, $y){}

/**
 * Creates a new PostScript document object
 *
 * Creates a new document instance. It does not create the file on disk
 * or in memory, it just sets up everything. {@link ps_new} is usually
 * followed by a call of {@link ps_open_file} to actually create the
 * postscript document.
 *
 * @return resource Resource of PostScript document. The return value
 *   is passed to all other functions as the first argument.
 * @since PECL ps >= 1.1.0
 **/
function ps_new(){}

/**
 * Opens a file for output
 *
 * Creates a new file on disk and writes the PostScript document into it.
 * The file will be closed when {@link ps_close} is called.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param string $filename The name of the postscript file. If {@link
 *   filename} is not passed the document will be created in memory and
 *   all output will go straight to the browser.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_open_file($psdoc, $filename){}

/**
 * Reads an image for later placement
 *
 * Reads an image which is already available in memory. The parameter
 * {@link source} is currently not evaluated and assumed to be memory.
 * The image data is a sequence of pixels starting in th upper left
 * corner and ending in the lower right corner. Each pixel consists of
 * {@link components} color components, and each component has {@link
 * bpc} bits.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param string $type The type of the image. Possible values are png,
 *   jpeg, or eps.
 * @param string $source Not used.
 * @param string $data The image data.
 * @param int $lenght The length of the image data.
 * @param int $width The width of the image.
 * @param int $height The height of the image.
 * @param int $components The number of components for each pixel. This
 *   can be 1 (gray scale images), 3 (rgb images), or 4 (cmyk, rgba
 *   images).
 * @param int $bpc Number of bits per component (quite often 8).
 * @param string $params
 * @return int Returns identifier of image or zero in case of an error.
 *   The identifier is a positive number greater than 0.
 * @since PECL ps >= 1.1.0
 **/
function ps_open_image($psdoc, $type, $source, $data, $lenght, $width, $height, $components, $bpc, $params){}

/**
 * Opens image from file
 *
 * Loads an image for later use.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param string $type The type of the image. Possible values are png,
 *   jpeg, or eps.
 * @param string $filename The name of the file containing the image
 *   data.
 * @param string $stringparam Not used.
 * @param int $intparam Not used.
 * @return int Returns identifier of image or zero in case of an error.
 *   The identifier is a positive number greater than 0.
 * @since PECL ps >= 1.1.0
 **/
function ps_open_image_file($psdoc, $type, $filename, $stringparam, $intparam){}

/**
 * Takes an GD image and returns an image for placement in a PS document
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param int $gd
 * @return int
 * @since PECL ps >= 1.1.0
 **/
function ps_open_memory_image($psdoc, $gd){}

/**
 * Places image on the page
 *
 * Places a formerly loaded image on the page. The image can be scaled.
 * If the image shall be rotated as well, you will have to rotate the
 * coordinate system before with {@link ps_rotate}.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param int $imageid The resource identifier of the image as returned
 *   by {@link ps_open_image} or {@link ps_open_image_file}.
 * @param float $x x-coordinate of the lower left corner of the image.
 * @param float $y y-coordinate of the lower left corner of the image.
 * @param float $scale The scaling factor for the image. A scale of 1.0
 *   will result in a resolution of 72 dpi, because each pixel is
 *   equivalent to 1 point.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_place_image($psdoc, $imageid, $x, $y, $scale){}

/**
 * Draws a rectangle
 *
 * Draws a rectangle with its lower left corner at ({@link x}, {@link
 * y}). The rectangle starts and ends in its lower left corner. If this
 * function is called outside a path it will start a new path. If it is
 * called within a path it will add the rectangle as a subpath. If the
 * last drawing operation does not end in the lower left corner then
 * there will be a gap in the path.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param float $x x-coordinate of the lower left corner of the
 *   rectangle.
 * @param float $y y-coordinate of the lower left corner of the
 *   rectangle.
 * @param float $width The width of the image.
 * @param float $height The height of the image.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_rect($psdoc, $x, $y, $width, $height){}

/**
 * Restore previously save context
 *
 * Restores a previously saved graphics context. Any call of {@link
 * ps_save} must be accompanied by a call to {@link ps_restore}. All
 * coordinate transformations, line style settings, color settings, etc.
 * are being restored to the state before the call of {@link ps_save}.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_restore($psdoc){}

/**
 * Sets rotation factor
 *
 * Sets the rotation of the coordinate system.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param float $rot Angle of rotation in degree.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_rotate($psdoc, $rot){}

/**
 * Save current context
 *
 * Saves the current graphics context, containing colors, translation and
 * rotation settings and some more. A saved context can be restored with
 * {@link ps_restore}.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_save($psdoc){}

/**
 * Sets scaling factor
 *
 * Sets horizontal and vertical scaling of the coordinate system.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param float $x Scaling factor in horizontal direction.
 * @param float $y Scaling factor in vertical direction.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_scale($psdoc, $x, $y){}

/**
 * Sets current color
 *
 * Sets the color for drawing, filling, or both.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param string $type The parameter {@link type} can be both, fill, or
 *   fillstroke.
 * @param string $colorspace The colorspace should be one of gray, rgb,
 *   cmyk, spot, pattern. Depending on the colorspace either only the
 *   first, the first three or all parameters will be used.
 * @param float $c1 Depending on the colorspace this is either the red
 *   component (rgb), the cyan component (cmyk), the gray value (gray),
 *   the identifier of the spot color or the identifier of the pattern.
 * @param float $c2 Depending on the colorspace this is either the
 *   green component (rgb), the magenta component (cmyk).
 * @param float $c3 Depending on the colorspace this is either the blue
 *   component (rgb), the yellow component (cmyk).
 * @param float $c4 This must only be set in cmyk colorspace and
 *   specifies the black component.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_setcolor($psdoc, $type, $colorspace, $c1, $c2, $c3, $c4){}

/**
 * Sets appearance of a dashed line
 *
 * Sets the length of the black and white portions of a dashed line.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param float $on The length of the dash.
 * @param float $off The length of the gap between dashes.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_setdash($psdoc, $on, $off){}

/**
 * Sets flatness
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param float $value The {@link value} must be between 0.2 and 1.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_setflat($psdoc, $value){}

/**
 * Sets font to use for following output
 *
 * Sets a font, which has to be loaded before with {@link ps_findfont}.
 * Outputting text without setting a font results in an error.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param int $fontid The font identifier as returned by {@link
 *   ps_findfont}.
 * @param float $size The size of the font.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_setfont($psdoc, $fontid, $size){}

/**
 * Sets gray value
 *
 * Sets the gray value for all following drawing operations.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param float $gray The value must be between 0 (white) and 1
 *   (black).
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_setgray($psdoc, $gray){}

/**
 * Sets appearance of line ends
 *
 * Sets how line ends look like.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param int $type The type of line ends. Possible values are
 *   PS_LINECAP_BUTT, PS_LINECAP_ROUND, or PS_LINECAP_SQUARED.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_setlinecap($psdoc, $type){}

/**
 * Sets how contected lines are joined
 *
 * Sets how lines are joined.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param int $type The way lines are joined. Possible values are
 *   PS_LINEJOIN_MITER, PS_LINEJOIN_ROUND, or PS_LINEJOIN_BEVEL.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_setlinejoin($psdoc, $type){}

/**
 * Sets width of a line
 *
 * Sets the line width for all following drawing operations.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param float $width The width of lines in points.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_setlinewidth($psdoc, $width){}

/**
 * Sets the miter limit
 *
 * If two lines join in a small angle and the line join is set to
 * PS_LINEJOIN_MITER, then the resulting spike will be very long. The
 * miter limit is the maximum ratio of the miter length (the length of
 * the spike) and the line width.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param float $value The maximum ratio between the miter length and
 *   the line width. Larger values (> 10) will result in very long spikes
 *   when two lines meet in a small angle. Keep the default unless you
 *   know what you are doing.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_setmiterlimit($psdoc, $value){}

/**
 * Sets overprint mode
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param int $mode
 * @return bool
 * @since PECL ps >= 1.3.0
 **/
function ps_setoverprintmode($psdoc, $mode){}

/**
 * Sets appearance of a dashed line
 *
 * Sets the length of the black and white portions of a dashed line.
 * {@link ps_setpolydash} is used to set more complicated dash patterns.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param float $arr {@link arr} is a list of length elements
 *   alternately for the black and white portion.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_setpolydash($psdoc, $arr){}

/**
 * Sets color of border for annotations
 *
 * Links added with one of the functions {@link ps_add_weblink}, {@link
 * ps_add_pdflink}, etc. will be displayed with a surounded rectangle
 * when the postscript document is converted to pdf and viewed in a pdf
 * viewer. This rectangle is not visible in the postscript document. This
 * function sets the color of the rectangle's border line.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param float $red The red component of the border color.
 * @param float $green The green component of the border color.
 * @param float $blue The blue component of the border color.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_set_border_color($psdoc, $red, $green, $blue){}

/**
 * Sets length of dashes for border of annotations
 *
 * Links added with one of the functions {@link ps_add_weblink}, {@link
 * ps_add_pdflink}, etc. will be displayed with a surounded rectangle
 * when the postscript document is converted to pdf and viewed in a pdf
 * viewer. This rectangle is not visible in the postscript document. This
 * function sets the length of the black and white portion of a dashed
 * border line.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param float $black The length of the dash.
 * @param float $white The length of the gap between dashes.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_set_border_dash($psdoc, $black, $white){}

/**
 * Sets border style of annotations
 *
 * Links added with one of the functions {@link ps_add_weblink}, {@link
 * ps_add_pdflink}, etc. will be displayed with a surounded rectangle
 * when the postscript document is converted to pdf and viewed in a pdf
 * viewer. This rectangle is not visible in the postscript document. This
 * function sets the appearance and width of the border line.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param string $style {@link style} can be solid or dashed.
 * @param float $width The line width of the border.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_set_border_style($psdoc, $style, $width){}

/**
 * Sets information fields of document
 *
 * Sets certain information fields of the document. This fields will be
 * shown as a comment in the header of the PostScript file. If the
 * document is converted to pdf this fields will also be used for the
 * document information.
 *
 * The BoundingBox is usually set to the value given to the first page.
 * This only works if {@link ps_findfont} has not been called before. In
 * such cases the BoundingBox would be left unset unless you set it
 * explicitly with this function.
 *
 * This function will have no effect anymore when the header of the
 * postscript file has been already written. It must be called before the
 * first page or the first call of {@link ps_findfont}.
 *
 * @param resource $p Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param string $key The name of the information field to set. The
 *   values which can be set are Keywords, Subject, Title, Creator,
 *   Author, BoundingBox, and Orientation. Be aware that some of them has
 *   a meaning to PostScript viewers.
 * @param string $val The value of the information field. The field
 *   Orientation can be set to either Portrait or Landscape. The
 *   BoundingBox is a string consisting of four numbers. The first two
 *   numbers are the coordinates of the lower left corner of the page.
 *   The last two numbers are the coordinates of the upper right corner.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_set_info($p, $key, $val){}

/**
 * Sets certain parameters
 *
 * Sets several parameters which are used by many functions. Parameters
 * are by definition string values.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param string $name For a list of possible names see {@link
 *   ps_get_parameter}.
 * @param string $value The value of the parameter.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_set_parameter($psdoc, $name, $value){}

/**
 * Sets position for text output
 *
 * Set the position for the next text output. You may alternatively set
 * the x and y value separately by calling {@link ps_set_value} and
 * choosing textx respectively texty as the value name.
 *
 * If you want to output text at a certain position it is more convenient
 * to use {@link ps_show_xy} instead of setting the text position and
 * calling {@link ps_show}.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param float $x x-coordinate of the new text position.
 * @param float $y y-coordinate of the new text position.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_set_text_pos($psdoc, $x, $y){}

/**
 * Sets certain values
 *
 * Sets several values which are used by many functions. Parameters are
 * by definition float values.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param string $name The {@link name} can be one of the following:
 *   textrendering The way how text is shown. textx The x coordinate for
 *   text output. texty The y coordinate for text output. wordspacing The
 *   distance between words relative to the width of a space. leading The
 *   distance between lines in pixels.
 * @param float $value The way how text is shown.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_set_value($psdoc, $name, $value){}

/**
 * Creates a shading for later use
 *
 * Creates a shading, which can be used by {@link ps_shfill} or {@link
 * ps_shading_pattern}.
 *
 * The color of the shading can be in any color space except for pattern.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param string $type The type of shading can be either radial or
 *   axial. Each shading starts with the current fill color and ends with
 *   the given color values passed in the parameters {@link c1} to {@link
 *   c4} (see {@link ps_setcolor} for their meaning).
 * @param float $x0 The coordinates {@link x0}, {@link y0}, {@link x1},
 *   {@link y1} are the start and end point of the shading. If the type
 *   of shading is radial the two points are the middle points of a
 *   starting and ending circle.
 * @param float $y0 See {@link ps_setcolor} for their meaning.
 * @param float $x1 If the shading is of type radial the {@link
 *   optlist} must also contain the parameters r0 and r1 with the radius
 *   of the start and end circle.
 * @param float $y1
 * @param float $c1
 * @param float $c2
 * @param float $c3
 * @param float $c4
 * @param string $optlist
 * @return int Returns the identifier of the pattern .
 * @since PECL ps >= 1.3.0
 **/
function ps_shading($psdoc, $type, $x0, $y0, $x1, $y1, $c1, $c2, $c3, $c4, $optlist){}

/**
 * Creates a pattern based on a shading
 *
 * Creates a pattern based on a shading, which has to be created before
 * with {@link ps_shading}. Shading patterns can be used like regular
 * patterns.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param int $shadingid The identifier of a shading previously created
 *   with {@link ps_shading}.
 * @param string $optlist This argument is not currently used.
 * @return int The identifier of the pattern .
 * @since PECL ps >= 1.3.0
 **/
function ps_shading_pattern($psdoc, $shadingid, $optlist){}

/**
 * Fills an area with a shading
 *
 * Fills an area with a shading, which has to be created before with
 * {@link ps_shading}. This is an alternative way to creating a pattern
 * from a shading {@link ps_shading_pattern} and using the pattern as the
 * filling color.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param int $shadingid The identifier of a shading previously created
 *   with {@link ps_shading}.
 * @return bool
 * @since PECL ps >= 1.3.0
 **/
function ps_shfill($psdoc, $shadingid){}

/**
 * Output text
 *
 * Output a text at the current text position. The text position can be
 * set by storing the x and y coordinates into the values textx and texty
 * with the function {@link ps_set_value}. The function will issue an
 * error if a font was not set before with {@link ps_setfont}.
 *
 * {@link ps_show} evaluates the following parameters and values as set
 * by {@link ps_set_parameter} and {@link ps_set_value}.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param string $text The text to be output.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_show($psdoc, $text){}

/**
 * Output a text at current position
 *
 * Output text at the current position. Do not print more than {@link
 * len} characters.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param string $text The text to be output.
 * @param int $len The maximum number of characters to print.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_show2($psdoc, $text, $len){}

/**
 * Output text in a box
 *
 * Outputs a text in a given box. The lower left corner of the box is at
 * ({@link left}, {@link bottom}). Line breaks will be inserted where
 * needed. Multiple spaces are treated as one. Tabulators are treated as
 * spaces.
 *
 * The text will be hyphenated if the parameter {@link hyphenation} is
 * set to TRUE and the parameter {@link hyphendict} contains a valid
 * filename for a hyphenation file. The line spacing is taken from the
 * value leading. Paragraphs can be separated by an empty line just like
 * in TeX. If the value parindent is set to value > 0.0 then the first n
 * lines will be indented. The number n of lines is set by the parameter
 * numindentlines. In order to prevent indenting of the first m
 * paragraphs set the value parindentskip to a positive number.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param string $text The text to be output into the given box.
 * @param float $left x-coordinate of the lower left corner of the box.
 * @param float $bottom y-coordinate of the lower left corner of the
 *   box.
 * @param float $width Width of the box.
 * @param float $height Height of the box.
 * @param string $hmode The parameter {@link hmode} can be "justify",
 *   "fulljustify", "right", "left", or "center". The difference of
 *   "justify" and "fulljustify" just affects the last line of the box.
 *   In fulljustify mode the last line will be left and right justified
 *   unless this is also the last line of paragraph. In justify mode it
 *   will always be left justified.
 * @param string $feature
 * @return int Number of characters that could not be written.
 * @since PECL ps >= 1.1.0
 **/
function ps_show_boxed($psdoc, $text, $left, $bottom, $width, $height, $hmode, $feature){}

/**
 * Output text at given position
 *
 * Output a text at the given text position.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param string $text The text to be output.
 * @param float $x x-coordinate of the lower left corner of the box
 *   surrounding the text.
 * @param float $y y-coordinate of the lower left corner of the box
 *   surrounding the text.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_show_xy($psdoc, $text, $x, $y){}

/**
 * Output text at position
 *
 * @param resource $psdoc
 * @param string $text
 * @param int $len
 * @param float $xcoor
 * @param float $ycoor
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_show_xy2($psdoc, $text, $len, $xcoor, $ycoor){}

/**
 * Gets width of a string
 *
 * Calculates the width of a string in points if it was output in the
 * given font and font size. This function needs an Adobe font metrics
 * file to calculate the precise width. If kerning is turned on, it will
 * be taken into account.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param string $text The text for which the width is to be
 *   calculated.
 * @param int $fontid The identifier of the font to be used. If not
 *   font is specified the current font will be used.
 * @param float $size The size of the font. If no size is specified the
 *   current size is used.
 * @return float Width of a string in points.
 * @since PECL ps >= 1.1.0
 **/
function ps_stringwidth($psdoc, $text, $fontid, $size){}

/**
 * Gets geometry of a string
 *
 * This function is similar to {@link ps_stringwidth} but returns an
 * array of dimensions containing the width, ascender, and descender of
 * the text.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param string $text The text for which the geometry is to be
 *   calculated.
 * @param int $fontid The identifier of the font to be used. If not
 *   font is specified the current font will be used.
 * @param float $size The size of the font. If no size is specified the
 *   current size is used.
 * @return array An array of the dimensions of a string. The element
 *   'width' contains the width of the string as returned by {@link
 *   ps_stringwidth}. The element 'descender' contains the maximum
 *   descender and 'ascender' the maximum ascender of the string.
 * @since PECL ps >= 1.2.0
 **/
function ps_string_geometry($psdoc, $text, $fontid, $size){}

/**
 * Draws the current path
 *
 * Draws the path constructed with previously called drawing functions
 * like {@link ps_lineto}.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_stroke($psdoc){}

/**
 * Output a glyph
 *
 * Output the glyph at position {@link ord} in the font encoding vector
 * of the current font. The font encoding for a font can be set when
 * loading the font with {@link ps_findfont}.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param int $ord The position of the glyph in the font encoding
 *   vector.
 * @return bool
 * @since PECL ps >= 1.2.0
 **/
function ps_symbol($psdoc, $ord){}

/**
 * Gets name of a glyph
 *
 * This function needs an Adobe font metrics file to know which glyphs
 * are available.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param int $ord The parameter {@link ord} is the position of the
 *   glyph in the font encoding vector.
 * @param int $fontid The identifier of the font to be used. If not
 *   font is specified the current font will be used.
 * @return string The name of a glyph in the given font.
 * @since PECL ps >= 1.2.0
 **/
function ps_symbol_name($psdoc, $ord, $fontid){}

/**
 * Gets width of a glyph
 *
 * Calculates the width of a glyph in points if it was output in the
 * given font and font size. This function needs an Adobe font metrics
 * file to calculate the precise width.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param int $ord The position of the glyph in the font encoding
 *   vector.
 * @param int $fontid The identifier of the font to be used. If not
 *   font is specified the current font will be used.
 * @param float $size The size of the font. If no size is specified the
 *   current size is used.
 * @return float The width of a glyph in points.
 * @since PECL ps >= 1.2.0
 **/
function ps_symbol_width($psdoc, $ord, $fontid, $size){}

/**
 * Sets translation
 *
 * Sets a new initial point of the coordinate system.
 *
 * @param resource $psdoc Resource identifier of the postscript file as
 *   returned by {@link ps_new}.
 * @param float $x x-coordinate of the origin of the translated
 *   coordinate system.
 * @param float $y y-coordinate of the origin of the translated
 *   coordinate system.
 * @return bool
 * @since PECL ps >= 1.1.0
 **/
function ps_translate($psdoc, $x, $y){}

/**
 * Sets the value of an environment variable
 *
 * Adds {@link setting} to the server environment. The environment
 * variable will only exist for the duration of the current request. At
 * the end of the request the environment is restored to its original
 * state.
 *
 * Setting certain environment variables may be a potential security
 * breach. The safe_mode_allowed_env_vars directive contains a
 * comma-delimited list of prefixes. In Safe Mode, the user may only
 * alter environment variables whose names begin with the prefixes
 * supplied by this directive. By default, users will only be able to set
 * environment variables that begin with PHP_ (e.g. PHP_FOO=BAR). Note:
 * if this directive is empty, PHP will let the user modify ANY
 * environment variable!
 *
 * The safe_mode_protected_env_vars directive contains a comma-delimited
 * list of environment variables, that the end user won't be able to
 * change using {@link putenv}. These variables will be protected even if
 * safe_mode_allowed_env_vars is set to allow to change them.
 *
 * @param string $setting The setting, like "FOO=BAR"
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function putenv($setting){}

/**
 * Closes a paradox database
 *
 * Closes the paradox database. This function will not close the file.
 * You will have to call {@link fclose} afterwards.
 *
 * @param resource $pxdoc Resource identifier of the paradox database
 *   as returned by {@link px_new}.
 * @return bool
 * @since PECL paradox >= 1.0.0
 **/
function px_close($pxdoc){}

/**
 * Create a new paradox database
 *
 * Create a new paradox database file. The actual file has to be opened
 * before with {@link fopen}. Make sure the file is writable.
 *
 * @param resource $pxdoc Resource identifier of the paradox database
 *   as returned by {@link px_new}.
 * @param resource $file File handle as returned by {@link fopen}.
 * @param array $fielddesc fielddesc is an array containing one element
 *   for each field specification. A field specification is an array
 *   itself with either two or three elements.The first element is always
 *   a string value used as the name of the field. It may not be larger
 *   than ten characters. The second element contains the field type
 *   which is one of the constants listed in the table Constants for
 *   field types. In the case of a character field or bcd field, you will
 *   have to provide a third element specifying the length respectively
 *   the precesion of the field. If your field specification contains
 *   blob fields, you will have to make sure to either make the field
 *   large enough for all field values to fit or specify a blob file with
 *   {@link px_set_blob_file} for storing the blobs. If this is not done
 *   the field data is truncated.
 * @return bool
 * @since PECL paradox >= 1.0.0
 **/
function px_create_fp($pxdoc, $file, $fielddesc){}

/**
 * Converts a date into a string
 *
 * Turns a date as it stored in the paradox file into human readable
 * format. Paradox dates are the number of days since 1.1.0000. This
 * function is just for convenience. It can be easily replaced by some
 * math and the calendar functions as demonstrated in the example below.
 *
 * @param resource $pxdoc Resource identifier of the paradox database
 *   as returned by {@link px_new}.
 * @param int $value Value as stored in paradox database field of type
 *   PX_FIELD_DATE.
 * @param string $format String format similar to the format used by
 *   {@link date}. The placeholders support by this function is a subset
 *   of those supported by {@link date} (Y, y, m, n, d, j, L).
 * @return string
 * @since PECL paradox >= 1.4.0
 **/
function px_date2string($pxdoc, $value, $format){}

/**
 * Deletes resource of paradox database
 *
 * Deletes the resource of the paradox file and frees all memory.
 *
 * @param resource $pxdoc Resource identifier of the paradox database
 *   as returned by {@link px_new}.
 * @return bool
 * @since PECL paradox >= 1.0.0
 **/
function px_delete($pxdoc){}

/**
 * Deletes record from paradox database
 *
 * This function deletes a record from the database. It does not free the
 * space in the database file but just marks it as deleted. Inserting a
 * new record afterwards will reuse the space.
 *
 * @param resource $pxdoc Resource identifier of the paradox database
 *   as returned by {@link px_new}.
 * @param int $num The record number is an artificial number counting
 *   records in the order as they are stored in the database. The first
 *   record has number 0.
 * @return bool
 * @since PECL paradox >= 1.4.0
 **/
function px_delete_record($pxdoc, $num){}

/**
 * Returns the specification of a single field
 *
 * @param resource $pxdoc Resource identifier of the paradox database
 *   as returned by {@link px_new}.
 * @param int $fieldno Number of the field. The first field has number
 *   0. Specifying a field number less than 0 and greater or equal the
 *   number of fields will trigger an error.
 * @return array Returns the specification of the fieldnoth database
 *   field as an associated array. The array contains three fields named
 *   name, type, and size.
 * @since PECL paradox >= 1.0.0
 **/
function px_get_field($pxdoc, $fieldno){}

/**
 * Return lots of information about a paradox file
 *
 * @param resource $pxdoc Resource identifier of the paradox database
 *   as returned by {@link px_new}.
 * @return array Returns an associated array with lots of information
 *   about a paradox file. This array is likely to be extended in the
 *   future.
 * @since PECL paradox >= 1.0.0
 **/
function px_get_info($pxdoc){}

/**
 * Gets a parameter
 *
 * Gets various parameters.
 *
 * @param resource $pxdoc Resource identifier of the paradox database
 *   as returned by {@link px_new}.
 * @param string $name The {@link name} can be one of the following:
 * @return string Returns the value of the parameter.
 * @since PECL paradox >= 1.1.0
 **/
function px_get_parameter($pxdoc, $name){}

/**
 * Returns record of paradox database
 *
 * @param resource $pxdoc Resource identifier of the paradox database
 *   as returned by {@link px_new}.
 * @param int $num The record number is an artificial number counting
 *   records in the order as they are stored in the database. The first
 *   record has number 0.
 * @param int $mode The optional {@link mode} can be PX_KEYTOLOWER or
 *   PX_KEYTOUPPER in order to convert the keys of the returned array
 *   into lower or upper case. If {@link mode} is not passed or is 0,
 *   then the key will be exactly like the field name. The element values
 *   will contain the field values. NULL values will be retained and are
 *   different from 0.0, 0 or the empty string. Fields of type
 *   PX_FIELD_TIME will be returned as an integer counting the number of
 *   milliseconds starting at midnight. A timestamp (PX_FIELD_TIMESTAMP)
 *   and date (PX_FIELD_DATE) are floating point respectively int values
 *   counting milliseconds respectively days starting at the beginning of
 *   julian calendar. Use the functions {@link px-timestamp2string} and
 *   {@link px-date2string} to convert them into a character
 *   representation.
 * @return array Returns the {@link num}th record from the paradox
 *   database. The record is returned as an associated array with its
 *   keys being the field names.
 * @since PECL paradox >= 1.0.0
 **/
function px_get_record($pxdoc, $num, $mode){}

/**
 * Returns the database schema
 *
 * {@link px_get_schema} returns the database schema.
 *
 * @param resource $pxdoc Resource identifier of the paradox database
 *   as returned by {@link px_new}.
 * @param int $mode If the optional {@link mode} is PX_KEYTOLOWER or
 *   PX_KEYTOUPPER the keys of the returned array will be converted to
 *   lower or upper case. If {@link mode} is 0 or not passed at all, then
 *   the key name will be identical to the field name.
 * @return array Returns the schema of a database file as an associated
 *   array. The key name is equal to the field name. Each array element
 *   is itself an associated array containing the two fields type and
 *   size. type is one of the constants in table Constants for field
 *   types. size is the number of bytes this field consumes in the
 *   record. The total of all field sizes is equal to the record size as
 *   it can be retrieved with {@link px-get-info}.
 * @since PECL paradox >= 1.0.0
 **/
function px_get_schema($pxdoc, $mode){}

/**
 * Gets a value
 *
 * Gets various values.
 *
 * @param resource $pxdoc Resource identifier of the paradox database
 *   as returned by {@link px_new}.
 * @param string $name {@link name} can be one of the following.
 *   numprimkeys The number of primary keys. Paradox databases always use
 *   the first numprimkeys fields for the primary index.
 * @return float Returns the value of the parameter.
 * @since PECL paradox >= 1.1.0
 **/
function px_get_value($pxdoc, $name){}

/**
 * Inserts record into paradox database
 *
 * Inserts a new record into the database. The record is not necessarily
 * inserted at the end of the database, but may be inserted at any
 * position depending on where the first free slot is found.
 *
 * The record data is passed as an array of field values. The elements in
 * the array must correspond to the fields in the database. If the array
 * has less elements than fields in the database, the remaining fields
 * will be set to null.
 *
 * Most field values can be passed as its equivalent php type e.g. a long
 * value is used for fields of type PX_FIELD_LONG, PX_FIELD_SHORT and
 * PX_FIELD_AUTOINC, a double values is used for fields of type
 * PX_FIELD_CURRENCY and PX_FIELD_NUMBER. Field values for blob and alpha
 * fields are passed as strings.
 *
 * Fields of type PX_FIELD_TIME and PX_FIELD_DATE both require a long
 * value. In the first case this is the number of milliseconds since
 * midnight. In the second case this is the number of days since
 * 1.1.0000. Below there are two examples to convert the current date or
 * timestamp into a value suitable for one of paradox's date/time fields.
 *
 * @param resource $pxdoc Resource identifier of the paradox database
 *   as returned by {@link px_new}.
 * @param array $data Associated or indexed array containing the field
 *   values as e.g. returned by {@link px_retrieve_record}.
 * @return int Returns FALSE on failure or the record number in case of
 *   success.
 * @since PECL paradox >= 1.4.0
 **/
function px_insert_record($pxdoc, $data){}

/**
 * Create a new paradox object
 *
 * Create a new paradox object. You will have to call this function
 * before any further functions. {@link px_new} does not create any file
 * on the disk, it just creates an instance of a paradox object. This
 * function must not be called if the object oriented interface is used.
 * Use new paradox_db() instead.
 *
 * @return resource Returns FALSE on failure.
 * @since PECL paradox >= 1.0.0
 **/
function px_new(){}

/**
 * Returns number of fields in a database
 *
 * Get the number of fields in a database file.
 *
 * @param resource $pxdoc Resource identifier of the paradox database
 *   as returned by {@link px_new}.
 * @return int Returns the number of fields in a database file. The
 *   return value of this function is identical to the element numfields
 *   in the array returned by {@link px_get_info}.
 * @since PECL paradox >= 1.0.0
 **/
function px_numfields($pxdoc){}

/**
 * Returns number of records in a database
 *
 * Get the number of records in a database file.
 *
 * @param resource $pxdoc Resource identifier of the paradox database
 *   as returned by {@link px_new}.
 * @return int Returns the number of records in a database file. The
 *   return value of this function is identical to the element numrecords
 *   in the array returned by {@link px_get_info}.
 * @since PECL paradox >= 1.0.0
 **/
function px_numrecords($pxdoc){}

/**
 * Open paradox database
 *
 * Open an existing paradox database file. The actual file has to be
 * opened before with {@link fopen}. This function can also be used to
 * open primary index files and tread them like a paradox database. This
 * is supported for those who would like to investigate a primary index.
 * It cannot be used to accelerate access to a database file.
 *
 * @param resource $pxdoc Resource identifier of the paradox database
 *   as returned by {@link px_new}.
 * @param resource $file {@link file} is the return value from {@link
 *   fopen} with the actual database file as parameter. Make sure the
 *   database is writable if you plan to update or insert records.
 * @return bool
 * @since PECL paradox >= 1.0.0
 **/
function px_open_fp($pxdoc, $file){}

/**
 * Stores record into paradox database
 *
 * Stores a record into a paradox database. The record is always added at
 * the end of the database, regardless of any free slots. Use {@link
 * px_insert_record} to add a new record into the first free slot found
 * in the database.
 *
 * @param resource $pxdoc Resource identifier of the paradox database
 *   as returned by {@link px_new}.
 * @param array $record Associated or indexed array containing the
 *   field values as e.g. returned by {@link px_retrieve_record}.
 * @param int $recpos This optional parameter may be used to specify a
 *   record number greater than the current number of records in the
 *   database. The function will add as many empty records as needed.
 *   There is hardly any need for this parameter.
 * @return bool
 * @since PECL paradox >= 1.0.0
 **/
function px_put_record($pxdoc, $record, $recpos){}

/**
 * Returns record of paradox database
 *
 * This function is very similar to {@link px_get_record} but uses
 * internally a different approach to retrieve the data. It relies on
 * pxlib for reading each single field value, which usually results in
 * support for more field types.
 *
 * @param resource $pxdoc Resource identifier of the paradox database
 *   as returned by {@link px_new}.
 * @param int $num The record number is an artificial number counting
 *   records in the order as they are stored in the database. The first
 *   record has number 0.
 * @param int $mode The optional {@link mode} can be PX_KEYTOLOWER or
 *   PX_KEYTOUPPER in order to convert the keys into lower or upper case.
 *   If {@link mode} is not passed or is 0, then the key will be exactly
 *   like the field name. The element values will contain the field
 *   values. NULL values will be retained and are different from 0.0, 0
 *   or the empty string. Fields of type PX_FIELD_TIME will be returned
 *   as an integer counting the number of milliseconds starting at
 *   midnight. A timestamp is a floating point value also counting
 *   milliseconds starting at the beginning of julian calendar.
 * @return array Returns the {@link num}th record from the paradox
 *   database. The record is returned as an associated array with its
 *   keys being the field names.
 * @since PECL paradox >= 1.4.0
 **/
function px_retrieve_record($pxdoc, $num, $mode){}

/**
 * Sets the file where blobs are read from
 *
 * Sets the name of the file where blobs are going to be read from or
 * written into. Without calling this function, {@link px_get_record} or
 * {@link px_retrieve_record} will only return data in blob fields if the
 * data is part of the record and not stored in the blob file. Blob data
 * is stored in the record if it is small enough to fit in the size of
 * the blob field.
 *
 * Calling {@link px_put_record}, {@link px_insert_record}, or {@link
 * px_update_record} without calling {@link px_set_blob_file} will result
 * in truncated blob fields unless the data fits into the database file.
 *
 * Calling this function twice will close the first blob file and open
 * the new one.
 *
 * @param resource $pxdoc Resource identifier of the paradox database
 *   as returned by {@link px_new}.
 * @param string $filename The name of the file. Its extension should
 *   be .MB.
 * @return bool
 * @since PECL paradox >= 1.3.0
 **/
function px_set_blob_file($pxdoc, $filename){}

/**
 * Sets a parameter
 *
 * Sets various parameters.
 *
 * @param resource $pxdoc Resource identifier of the paradox database
 *   as returned by {@link px_new}.
 * @param string $name Depending on the parameter you want to set,
 *   {@link name} can be one of the following.
 * @param string $value The name of the table as it will be stored in
 *   the database header.
 * @return bool
 * @since PECL paradox >= 1.1.0
 **/
function px_set_parameter($pxdoc, $name, $value){}

/**
 * Sets the name of a table (deprecated)
 *
 * Sets the table name of a paradox database, which was created with
 * {@link px_create_fp}. This function is deprecated use {@link
 * px_set_parameter} instead.
 *
 * @param resource $pxdoc Resource identifier of the paradox database
 *   as returned by {@link px_new}.
 * @param string $name The name of the table. If it is not set
 *   explicitly it will be set to the name of the database file.
 * @return void Returns NULL on success.
 * @since PECL paradox >= 1.0.0
 **/
function px_set_tablename($pxdoc, $name){}

/**
 * Sets the encoding for character fields (deprecated)
 *
 * Set the encoding for data retrieved from a character field. All
 * character fields will be recoded to the encoding set by this function.
 * If the encoding is not set, the character data will be returned in the
 * DOS code page encoding as specified in the database file. The {@link
 * encoding} can be any string identifier known to iconv or recode. On
 * Unix systems run iconv -l for a list of available encodings.
 *
 * This function is deprecated and should be replaced by calling {@link
 * px_set_parameter}.
 *
 * See also {@link px_get_info} to determine the DOS code page as stored
 * in the database file.
 *
 * @param resource $pxdoc Resource identifier of the paradox database
 *   as returned by {@link px_new}.
 * @param string $encoding The encoding for the output. Data which is
 *   being read from character fields is recoded into the targetencoding.
 * @return bool Returns FALSE if the encoding could not be set, e.g.
 *   the encoding is unknown, or pxlib does not support recoding at all.
 *   In the second case a warning will be issued.
 * @since PECL paradox >= 1.0.0
 **/
function px_set_targetencoding($pxdoc, $encoding){}

/**
 * Sets a value
 *
 * Sets various values.
 *
 * @param resource $pxdoc Resource identifier of the paradox database
 *   as returned by {@link px_new}.
 * @param string $name {@link name} can be one of the following.
 * @param float $value The number of primary keys. Paradox databases
 *   always use the first numprimkeys fields for the primary index.
 * @return bool
 * @since PECL paradox >= 1.1.0
 **/
function px_set_value($pxdoc, $name, $value){}

/**
 * Converts the timestamp into a string
 *
 * Turns a timestamp as it stored in the paradox file into human readable
 * format. Paradox timestamps are the number of miliseconds since
 * 0001-01-02. This function is just for convenience. It can be easily
 * replaced by some math and the calendar functions as demonstrated in
 * the following example.
 *
 * @param resource $pxdoc Resource identifier of the paradox database.
 * @param float $value Value as stored in paradox database field of
 *   type PX_FIELD_TIME, or PX_FIELD_TIMESTAMP.
 * @param string $format String format similar to the format used by
 *   {@link date}. The placeholders support by this function is a subset
 *   of those supported by {@link date} (Y, y, m, n, d, j, H, h, G, g, i,
 *   s, A, a, L).
 * @return string
 * @since PECL paradox >= 1.4.0
 **/
function px_timestamp2string($pxdoc, $value, $format){}

/**
 * Updates record in paradox database
 *
 * Updates an exiting record in the database. The record starts at 0.
 *
 * The record data is passed as an array of field values. The elements in
 * the array must correspond to the fields in the database. If the array
 * has less elements than fields in the database, the remaining fields
 * will be set to null.
 *
 * @param resource $pxdoc Resource identifier of the paradox database
 *   as returned by {@link px_new}.
 * @param array $data Associated array containing the field values as
 *   returned by {@link px_retrieve_record}.
 * @param int $num The record number is an artificial number counting
 *   records in the order as they are stored in the database. The first
 *   record has number 0.
 * @return bool
 * @since PECL paradox >= 1.4.0
 **/
function px_update_record($pxdoc, $data, $num){}

/**
 * Convert a quoted-printable string to an 8 bit string
 *
 * This function returns an 8-bit binary string corresponding to the
 * decoded quoted printable string (according to RFC2045, section 6.7,
 * not RFC2821, section 4.5.2, so additional periods are not stripped
 * from the beginning of line).
 *
 * This function is similar to {@link imap_qprint}, except this one does
 * not require the IMAP module to work.
 *
 * @param string $str The input string.
 * @return string Returns the 8-bit binary string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function quoted_printable_decode($str){}

/**
 * Convert a 8 bit string to a quoted-printable string
 *
 * Returns a quoted printable string created according to RFC2045,
 * section 6.7.
 *
 * This function is similar to {@link imap_8bit}, except this one does
 * not require the IMAP module to work.
 *
 * @param string $str The input string.
 * @return string Returns the encoded string.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function quoted_printable_encode($str){}

/**
 * Quote meta characters
 *
 * Returns a version of str with a backslash character (\) before every
 * character that is among these: . \ + * ? [ ^ ] ( $ )
 *
 * @param string $str The input string.
 * @return string Returns the string with meta characters quoted, or
 *   FALSE if an empty string is given as {@link str}.
 * @since PHP 4, PHP 5, PHP 7
 **/
function quotemeta($str){}

/**
 * Converts the radian number to the equivalent number in degrees
 *
 * This function converts {@link number} from radian to degrees.
 *
 * @param float $number A radian value
 * @return float The equivalent of {@link number} in degrees
 * @since PHP 4, PHP 5, PHP 7
 **/
function rad2deg($number){}

/**
 * Creates a Radius handle for accounting
 *
 * @return resource Returns a handle on success, FALSE on error. This
 *   function only fails if insufficient memory is available.
 * @since PECL radius >= 1.1.0
 **/
function radius_acct_open(){}

/**
 * Adds a server
 *
 * {@link radius_add_server} may be called multiple times, and it may be
 * used together with {@link radius_config}. At most 10 servers may be
 * specified. When multiple servers are given, they are tried in
 * round-robin fashion until a valid response is received, or until each
 * server's {@link max_tries} limit has been reached.
 *
 * @param resource $radius_handle
 * @param string $hostname The {@link hostname} parameter specifies the
 *   server host, either as a fully qualified domain name or as a
 *   dotted-quad IP address in text form.
 * @param int $port The {@link port} specifies the UDP port to contact
 *   on the server. If port is given as 0, the library looks up the
 *   radius/udp or radacct/udp service in the network services database,
 *   and uses the port found there. If no entry is found, the library
 *   uses the standard Radius ports, 1812 for authentication and 1813 for
 *   accounting.
 * @param string $secret The shared secret for the server host is
 *   passed to the {@link secret} parameter. The Radius protocol ignores
 *   all but the leading 128 bytes of the shared secret.
 * @param int $timeout The timeout for receiving replies from the
 *   server is passed to the {@link timeout} parameter, in units of
 *   seconds.
 * @param int $max_tries The maximum number of repeated requests to
 *   make before giving up is passed into the {@link max_tries}.
 * @return bool
 * @since PECL radius >= 1.1.0
 **/
function radius_add_server($radius_handle, $hostname, $port, $secret, $timeout, $max_tries){}

/**
 * Creates a Radius handle for authentication
 *
 * @return resource Returns a handle on success, FALSE on error. This
 *   function only fails if insufficient memory is available.
 * @since PECL radius >= 1.1.0
 **/
function radius_auth_open(){}

/**
 * Frees all ressources
 *
 * It is not needed to call this function because php frees all resources
 * at the end of each request.
 *
 * @param resource $radius_handle
 * @return bool
 * @since PECL radius >= 1.1.0
 **/
function radius_close($radius_handle){}

/**
 * Causes the library to read the given configuration file
 *
 * Before issuing any Radius requests, the library must be made aware of
 * the servers it can contact. The easiest way to configure the library
 * is to call {@link radius_config}. {@link radius_config} causes the
 * library to read a configuration file whose format is described in
 * radius.conf.
 *
 * @param resource $radius_handle
 * @param string $file The pathname of the configuration file is passed
 *   as the file argument to {@link radius_config}. The library can also
 *   be configured programmatically by calls to {@link
 *   radius_add_server}.
 * @return bool
 * @since PECL radius >= 1.1.0
 **/
function radius_config($radius_handle, $file){}

/**
 * Create accounting or authentication request
 *
 * A Radius request consists of a code specifying the kind of request,
 * and zero or more attributes which provide additional information. To
 * begin constructing a new request, call {@link radius_create_request}.
 *
 * @param resource $radius_handle
 * @param int $type Type is RADIUS_ACCESS_REQUEST or
 *   RADIUS_ACCOUNTING_REQUEST.
 * @return bool
 * @since PECL radius >= 1.1.0
 **/
function radius_create_request($radius_handle, $type){}

/**
 * Converts raw data to IP-Address
 *
 * @param string $data
 * @return string
 * @since PECL radius >= 1.1.0
 **/
function radius_cvt_addr($data){}

/**
 * Converts raw data to integer
 *
 * @param string $data
 * @return int
 * @since PECL radius >= 1.1.0
 **/
function radius_cvt_int($data){}

/**
 * Converts raw data to string
 *
 * @param string $data
 * @return string
 * @since PECL radius >= 1.1.0
 **/
function radius_cvt_string($data){}

/**
 * Demangles data
 *
 * Some data (Passwords, MS-CHAPv1 MPPE-Keys) is mangled for security
 * reasons, and must be demangled before you can use them.
 *
 * @param resource $radius_handle
 * @param string $mangled
 * @return string Returns the demangled string, or FALSE on error.
 * @since PECL radius >= 1.2.0
 **/
function radius_demangle($radius_handle, $mangled){}

/**
 * Derives mppe-keys from mangled data
 *
 * When using MPPE with MS-CHAPv2, the send- and recv-keys are mangled
 * (see RFC 2548), however this function is useless, because I don't
 * think that there is or will be a PPTP-MPPE implementation in PHP.
 *
 * @param resource $radius_handle
 * @param string $mangled
 * @return string Returns the demangled string, or FALSE on error.
 * @since PECL radius >= 1.2.0
 **/
function radius_demangle_mppe_key($radius_handle, $mangled){}

/**
 * Extracts an attribute
 *
 * Like Radius requests, each response may contain zero or more
 * attributes. After a response has been received successfully by {@link
 * radius_send_request}, its attributes can be extracted one by one using
 * {@link radius_get_attr}. Each time {@link radius_get_attr} is called,
 * it gets the next attribute from the current response.
 *
 * @param resource $radius_handle
 * @return mixed Returns an associative array containing the
 *   attribute-type and the data, or error number <= 0.
 * @since PECL radius >= 1.1.0
 **/
function radius_get_attr($radius_handle){}

/**
 * Extracts the data from a tagged attribute
 *
 * If a tagged attribute has been returned from {@link radius_get_attr},
 * {@link radius_get_tagged_attr_data} will return the data from the
 * attribute.
 *
 * @param string $data The tagged attribute to be decoded.
 * @return string Returns the data from the tagged attribute .
 * @since PECL radius >= 1.3.0
 **/
function radius_get_tagged_attr_data($data){}

/**
 * Extracts the tag from a tagged attribute
 *
 * If a tagged attribute has been returned from {@link radius_get_attr},
 * {@link radius_get_tagged_attr_data} will return the tag from the
 * attribute.
 *
 * @param string $data The tagged attribute to be decoded.
 * @return int Returns the tag from the tagged attribute .
 * @since PECL radius >= 1.3.0
 **/
function radius_get_tagged_attr_tag($data){}

/**
 * Extracts a vendor specific attribute
 *
 * If {@link radius_get_attr} returns RADIUS_VENDOR_SPECIFIC, {@link
 * radius_get_vendor_attr} may be called to determine the vendor.
 *
 * @param string $data
 * @return array Returns an associative array containing the
 *   attribute-type, vendor and the data, or FALSE on error.
 * @since PECL radius >= 1.1.0
 **/
function radius_get_vendor_attr($data){}

/**
 * Attaches an IP address attribute
 *
 * Attaches an IP address attribute to the current RADIUS request.
 *
 * @param resource $radius_handle An IPv4 address in string form, such
 *   as 10.0.0.1.
 * @param int $type
 * @param string $addr
 * @param int $options
 * @param int $tag
 * @return bool
 * @since PECL radius >= 1.1.0
 **/
function radius_put_addr($radius_handle, $type, $addr, $options, $tag){}

/**
 * Attaches a binary attribute
 *
 * Attaches a binary attribute to the current RADIUS request.
 *
 * @param resource $radius_handle The attribute value, which will be
 *   treated as a raw binary string.
 * @param int $type
 * @param string $value
 * @param int $options
 * @param int $tag
 * @return bool
 * @since PECL radius >= 1.1.0
 **/
function radius_put_attr($radius_handle, $type, $value, $options, $tag){}

/**
 * Attaches an integer attribute
 *
 * Attaches an integer attribute to the current RADIUS request.
 *
 * @param resource $radius_handle The attribute value.
 * @param int $type
 * @param int $value
 * @param int $options
 * @param int $tag
 * @return bool
 * @since PECL radius >= 1.1.0
 **/
function radius_put_int($radius_handle, $type, $value, $options, $tag){}

/**
 * Attaches a string attribute
 *
 * Attaches a string attribute to the current RADIUS request. In general,
 * {@link radius_put_attr} is a more useful function for attaching string
 * attributes, as it is binary safe.
 *
 * @param resource $radius_handle The attribute value. This value is
 *   expected by the underlying library to be null terminated, therefore
 *   this parameter is not binary safe.
 * @param int $type
 * @param string $value
 * @param int $options
 * @param int $tag
 * @return bool
 * @since PECL radius >= 1.1.0
 **/
function radius_put_string($radius_handle, $type, $value, $options, $tag){}

/**
 * Attaches a vendor specific IP address attribute
 *
 * Attaches an IP address vendor specific attribute to the current RADIUS
 * request.
 *
 * @param resource $radius_handle An IPv4 address in string form, such
 *   as 10.0.0.1.
 * @param int $vendor
 * @param int $type
 * @param string $addr
 * @return bool
 * @since PECL radius >= 1.1.0
 **/
function radius_put_vendor_addr($radius_handle, $vendor, $type, $addr){}

/**
 * Attaches a vendor specific binary attribute
 *
 * Attaches a vendor specific binary attribute to the current RADIUS
 * request.
 *
 * @param resource $radius_handle The attribute value, which will be
 *   treated as a raw binary string.
 * @param int $vendor
 * @param int $type
 * @param string $value
 * @param int $options
 * @param int $tag
 * @return bool
 * @since PECL radius >= 1.1.0
 **/
function radius_put_vendor_attr($radius_handle, $vendor, $type, $value, $options, $tag){}

/**
 * Attaches a vendor specific integer attribute
 *
 * Attaches a vendor specific integer attribute to the current RADIUS
 * request.
 *
 * @param resource $radius_handle The attribute value.
 * @param int $vendor
 * @param int $type
 * @param int $value
 * @param int $options
 * @param int $tag
 * @return bool
 * @since PECL radius >= 1.1.0
 **/
function radius_put_vendor_int($radius_handle, $vendor, $type, $value, $options, $tag){}

/**
 * Attaches a vendor specific string attribute
 *
 * Attaches a vendor specific string attribute to the current RADIUS
 * request. In general, {@link radius_put_vendor_attr} is a more useful
 * function for attaching string attributes, as it is binary safe.
 *
 * @param resource $radius_handle The attribute value. This value is
 *   expected by the underlying library to be null terminated, therefore
 *   this parameter is not binary safe.
 * @param int $vendor
 * @param int $type
 * @param string $value
 * @param int $options
 * @param int $tag
 * @return bool
 * @since PECL radius >= 1.1.0
 **/
function radius_put_vendor_string($radius_handle, $vendor, $type, $value, $options, $tag){}

/**
 * Returns the request authenticator
 *
 * The request authenticator is needed for demangling mangled data like
 * passwords and encryption-keys.
 *
 * @param resource $radius_handle
 * @return string Returns the request authenticator as string, or FALSE
 *   on error.
 * @since PECL radius >= 1.1.0
 **/
function radius_request_authenticator($radius_handle){}

/**
 * Salt-encrypts a value
 *
 * Applies the RADIUS salt-encryption algorithm to the given value.
 *
 * In general, this is achieved automatically by providing the
 * RADIUS_OPTION_SALT option to an attribute setter function, but this
 * function can be used if low-level request construction is required.
 *
 * @param resource $radius_handle The data to be salt-encrypted.
 * @param string $data
 * @return string Returns the salt-encrypted data .
 * @since PECL radius >= 1.3.0
 **/
function radius_salt_encrypt_attr($radius_handle, $data){}

/**
 * Sends the request and waits for a reply
 *
 * After the Radius request has been constructed, it is sent by {@link
 * radius_send_request}.
 *
 * The {@link radius_send_request} function sends the request and waits
 * for a valid reply, retrying the defined servers in round-robin fashion
 * as necessary.
 *
 * @param resource $radius_handle
 * @return int If a valid response is received, {@link
 *   radius_send_request} returns the Radius code which specifies the
 *   type of the response. This will typically be RADIUS_ACCESS_ACCEPT,
 *   RADIUS_ACCESS_REJECT, or RADIUS_ACCESS_CHALLENGE. If no valid
 *   response is received, {@link radius_send_request} returns FALSE.
 * @since PECL radius >= 1.1.0
 **/
function radius_send_request($radius_handle){}

/**
 * Returns the shared secret
 *
 * The shared secret is needed as salt for demangling mangled data like
 * passwords and encryption-keys.
 *
 * @param resource $radius_handle
 * @return string Returns the server's shared secret as string, or
 *   FALSE on error.
 * @since PECL radius >= 1.1.0
 **/
function radius_server_secret($radius_handle){}

/**
 * Returns an error message
 *
 * If Radius-functions fail then they record an error message. This error
 * message can be retrieved with this function.
 *
 * @param resource $radius_handle
 * @return string Returns error messages as string from failed radius
 *   functions.
 * @since PECL radius >= 1.1.0
 **/
function radius_strerror($radius_handle){}

/**
 * Generate a random integer
 *
 * @return int A pseudo random value between {@link min} (or 0) and
 *   {@link max} (or {@link getrandmax}, inclusive).
 * @since PHP 4, PHP 5, PHP 7
 **/
function rand(){}

/**
 * Generates cryptographically secure pseudo-random bytes
 *
 * Generates an arbitrary length string of cryptographic random bytes
 * that are suitable for cryptographic use, such as when generating
 * salts, keys or initialization vectors.
 *
 * @param int $length The length of the random string that should be
 *   returned in bytes.
 * @return string Returns a string containing the requested number of
 *   cryptographically secure random bytes.
 * @since PHP 7
 **/
function random_bytes($length){}

/**
 * Generates cryptographically secure pseudo-random integers
 *
 * Generates cryptographic random integers that are suitable for use
 * where unbiased results are critical, such as when shuffling a deck of
 * cards for a poker game.
 *
 * @param int $min The lowest value to be returned, which must be
 *   PHP_INT_MIN or higher.
 * @param int $max The highest value to be returned, which must be less
 *   than or equal to PHP_INT_MAX.
 * @return int Returns a cryptographically secure random integer in the
 *   range {@link min} to {@link max}, inclusive.
 * @since PHP 7
 **/
function random_int($min, $max){}

/**
 * Create an array containing a range of elements
 *
 * @param mixed $start First value of the sequence.
 * @param mixed $end The sequence is ended upon reaching the {@link
 *   end} value.
 * @param number $step If a {@link step} value is given, it will be
 *   used as the increment between elements in the sequence. {@link step}
 *   should be given as a positive number. If not specified, {@link step}
 *   will default to 1.
 * @return array Returns an array of elements from {@link start} to
 *   {@link end}, inclusive.
 * @since PHP 4, PHP 5, PHP 7
 **/
function range($start, $end, $step){}

/**
 * Whether opening broken archives is allowed
 *
 * This method defines whether broken archives can be read or all the
 * operations that attempt to extract the archive entries will fail.
 * Broken archives are archives for which no error is detected when the
 * file is opened but an error occurs when reading the entries.
 *
 * @param RarArchive $rarfile A RarArchive object, opened with {@link
 *   rar_open}.
 * @param bool $allow_broken Whether to allow reading broken files
 *   (TRUE) or not (FALSE).
 * @return bool Returns TRUE . It will only fail if the file has
 *   already been closed.
 * @since PECL rar >= 3.0.0
 **/
function rar_allow_broken_set($rarfile, $allow_broken){}

/**
 * Test whether an archive is broken (incomplete)
 *
 * This function determines whether an archive is incomplete, i.e., if a
 * volume is missing or a volume is truncated.
 *
 * @param RarArchive $rarfile A RarArchive object, opened with {@link
 *   rar_open}.
 * @return bool Returns TRUE if the archive is broken, FALSE otherwise.
 *   This function may also return FALSE if the passed file has already
 *   been closed. The only way to tell the two cases apart is to enable
 *   exceptions with RarException::setUsingExceptions; however, this
 *   should be unnecessary as a program should not operate on closed
 *   files.
 * @since PECL rar >= 3.0.0
 **/
function rar_broken_is($rarfile){}

/**
 * Close RAR archive and free all resources
 *
 * Close RAR archive and free all allocated resources.
 *
 * @param RarArchive $rarfile A RarArchive object, opened with {@link
 *   rar_open}.
 * @return bool
 * @since PECL rar >= 0.1
 **/
function rar_close($rarfile){}

/**
 * Get comment text from the RAR archive
 *
 * Get the (global) comment stored in the RAR archive. It may be up to 64
 * KiB long.
 *
 * @param RarArchive $rarfile A RarArchive object, opened with {@link
 *   rar_open}.
 * @return string Returns the comment or NULL if there is none.
 * @since PECL rar >= 2.0.0
 **/
function rar_comment_get($rarfile){}

/**
 * Get entry object from the RAR archive
 *
 * Get entry object (file or directory) from the RAR archive.
 *
 * @param RarArchive $rarfile A RarArchive object, opened with {@link
 *   rar_open}.
 * @param string $entryname Path to the entry within the RAR archive.
 * @return RarEntry Returns the matching RarEntry object .
 * @since PECL rar >= 0.1
 **/
function rar_entry_get($rarfile, $entryname){}

/**
 * Get full list of entries from the RAR archive
 *
 * Get entries list (files and directories) from the RAR archive.
 *
 * @param RarArchive $rarfile A RarArchive object, opened with {@link
 *   rar_open}.
 * @return array {@link rar_list} returns array of RarEntry objects .
 * @since PECL rar >= 0.1
 **/
function rar_list($rarfile){}

/**
 * Open RAR archive
 *
 * Open specified RAR archive and return RarArchive instance representing
 * it.
 *
 * @param string $filename Path to the Rar archive.
 * @param string $password A plain password, if needed to decrypt the
 *   headers. It will also be used by default if encrypted files are
 *   found. Note that the files may have different passwords in respect
 *   to the headers and among them.
 * @param callable $volume_callback A function that receives one
 *   parameter – the path of the volume that was not found – and
 *   returns a string with the correct path for such volume or NULL if
 *   such volume does not exist or is not known. The programmer should
 *   ensure the passed function doesn't cause loops as this function is
 *   called repeatedly if the path returned in a previous call did not
 *   correspond to the needed volume. Specifying this parameter omits the
 *   notice that would otherwise be emitted whenever a volume is not
 *   found; an implementation that only returns NULL can therefore be
 *   used to merely omit such notices.
 * @return RarArchive Returns the requested RarArchive instance .
 * @since PECL rar >= 0.1
 **/
function rar_open($filename, $password, $volume_callback){}

/**
 * Check whether the RAR archive is solid
 *
 * Check whether the RAR archive is solid. Individual file extraction is
 * slower on solid archives.
 *
 * @param RarArchive $rarfile A RarArchive object, opened with {@link
 *   rar_open}.
 * @return bool Returns TRUE if the archive is solid, FALSE otherwise.
 * @since PECL rar >= 2.0.0
 **/
function rar_solid_is($rarfile){}

/**
 * Cache hits and misses for the URL wrapper
 *
 * @return string
 * @since PECL rar >= 3.0.0
 **/
function rar_wrapper_cache_stats(){}

/**
 * Decode URL-encoded strings
 *
 * Returns a string in which the sequences with percent (%) signs
 * followed by two hex digits have been replaced with literal characters.
 *
 * @param string $str The URL to be decoded.
 * @return string Returns the decoded URL, as a string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function rawurldecode($str){}

/**
 * URL-encode according to RFC 3986
 *
 * Encodes the given string according to RFC 3986.
 *
 * @param string $str The URL to be encoded.
 * @return string Returns a string in which all non-alphanumeric
 *   characters except -_.~ have been replaced with a percent (%) sign
 *   followed by two hex digits. This is the encoding described in RFC
 *   3986 for protecting literal characters from being interpreted as
 *   special URL delimiters, and for protecting URLs from being mangled
 *   by transmission media with character conversions (like some email
 *   systems). Prior to PHP 5.3.0, rawurlencode encoded tildes (~) as per
 *   RFC 1738.
 * @since PHP 4, PHP 5, PHP 7
 **/
function rawurlencode($str){}

/**
 * Read entry from directory handle
 *
 * Returns the name of the next entry in the directory. The entries are
 * returned in the order in which they are stored by the filesystem.
 *
 * @param resource $dir_handle The directory handle resource previously
 *   opened with {@link opendir}. If the directory handle is not
 *   specified, the last link opened by {@link opendir} is assumed.
 * @return string Returns the entry name on success.
 * @since PHP 4, PHP 5, PHP 7
 **/
function readdir($dir_handle){}

/**
 * Outputs a file
 *
 * Reads a file and writes it to the output buffer.
 *
 * @param string $filename The filename being read.
 * @param bool $use_include_path You can use the optional second
 *   parameter and set it to TRUE, if you want to search for the file in
 *   the include_path, too.
 * @param resource $context A context stream resource.
 * @return int Returns the number of bytes read from the file. If an
 *   error occurs, FALSE is returned and unless the function was called
 *   as @{@link readfile}, an error message is printed.
 * @since PHP 4, PHP 5, PHP 7
 **/
function readfile($filename, $use_include_path, $context){}

/**
 * Output a gz-file
 *
 * Reads a file, decompresses it and writes it to standard output.
 *
 * {@link readgzfile} can be used to read a file which is not in gzip
 * format; in this case {@link readgzfile} will directly read from the
 * file without decompression.
 *
 * @param string $filename The file name. This file will be opened from
 *   the filesystem and its contents written to standard output.
 * @param int $use_include_path You can set this optional parameter to
 *   1, if you want to search for the file in the include_path too.
 * @return int Returns the number of (uncompressed) bytes read from the
 *   file. If an error occurs, FALSE is returned and unless the function
 *   was called as @readgzfile, an error message is printed.
 * @since PHP 4, PHP 5, PHP 7
 **/
function readgzfile($filename, $use_include_path){}

/**
 * Reads a line
 *
 * Reads a single line from the user. You must add this line to the
 * history yourself using {@link readline_add_history}.
 *
 * @param string $prompt You may specify a string with which to prompt
 *   the user.
 * @return string Returns a single string from the user. The line
 *   returned has the ending newline removed.
 * @since PHP 4, PHP 5, PHP 7
 **/
function readline($prompt){}

/**
 * Adds a line to the history
 *
 * This function adds a line to the command line history.
 *
 * @param string $line The line to be added in the history.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function readline_add_history($line){}

/**
 * Initializes the readline callback interface and terminal, prints the
 * prompt and returns immediately
 *
 * Sets up a readline callback interface then prints {@link prompt} and
 * immediately returns. Calling this function twice without removing the
 * previous callback interface will automatically and conveniently
 * overwrite the old interface.
 *
 * The callback feature is useful when combined with {@link
 * stream_select} as it allows interleaving of IO and user input, unlike
 * {@link readline}.
 *
 * @param string $prompt The prompt message.
 * @param callable $callback The {@link callback} function takes one
 *   parameter; the user input returned.
 * @return bool
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function readline_callback_handler_install($prompt, $callback){}

/**
 * Removes a previously installed callback handler and restores terminal
 * settings
 *
 * Removes a previously installed callback handler and restores terminal
 * settings.
 *
 * @return bool Returns TRUE if a previously installed callback handler
 *   was removed, or FALSE if one could not be found.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function readline_callback_handler_remove(){}

/**
 * Reads a character and informs the readline callback interface when a
 * line is received
 *
 * Reads a character of user input. When a line is received, this
 * function informs the readline callback interface installed using
 * {@link readline_callback_handler_install} that a line is ready for
 * input.
 *
 * @return void
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function readline_callback_read_char(){}

/**
 * Clears the history
 *
 * This function clears the entire command line history.
 *
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function readline_clear_history(){}

/**
 * Registers a completion function
 *
 * This function registers a completion function. This is the same kind
 * of functionality you'd get if you hit your tab key while using Bash.
 *
 * @param callable $function You must supply the name of an existing
 *   function which accepts a partial command line and returns an array
 *   of possible matches.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function readline_completion_function($function){}

/**
 * Gets/sets various internal readline variables
 *
 * Gets or sets various internal readline variables.
 *
 * @param string $varname A variable name.
 * @param string $newvalue If provided, this will be the new value of
 *   the setting.
 * @return mixed If called with no parameters, this function returns an
 *   array of values for all the setting readline uses. The elements will
 *   be indexed by the following values: done, end, erase_empty_line,
 *   library_version, line_buffer, mark, pending_input, point, prompt,
 *   readline_name, and terminal_name.
 * @since PHP 4, PHP 5, PHP 7
 **/
function readline_info($varname, $newvalue){}

/**
 * Lists the history
 *
 * Gets the entire command line history.
 *
 * @return array Returns an array of the entire command line history.
 *   The elements are indexed by integers starting at zero.
 * @since PHP 4, PHP 5, PHP 7
 **/
function readline_list_history(){}

/**
 * Inform readline that the cursor has moved to a new line
 *
 * Tells readline that the cursor has moved to a new line.
 *
 * @return void
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function readline_on_new_line(){}

/**
 * Reads the history
 *
 * This function reads a command history from a file.
 *
 * @param string $filename Path to the filename containing the command
 *   history.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function readline_read_history($filename){}

/**
 * Redraws the display
 *
 * Redraws readline to redraw the display.
 *
 * @return void
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function readline_redisplay(){}

/**
 * Writes the history
 *
 * This function writes the command history to a file.
 *
 * @param string $filename Path to the saved file.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function readline_write_history($filename){}

/**
 * Returns the target of a symbolic link
 *
 * {@link readlink} does the same as the readlink C function.
 *
 * @param string $path The symbolic link path.
 * @return string Returns the contents of the symbolic link path or
 *   FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function readlink($path){}

/**
 * Reads the headers from an image file
 *
 * {@link read_exif_data} reads the EXIF headers from an image file. This
 * way you can read meta data generated by digital cameras.
 *
 * EXIF headers tend to be present in JPEG/TIFF images generated by
 * digital cameras, but unfortunately each digital camera maker has a
 * different idea of how to actually tag their images, so you can't
 * always rely on a specific Exif header being present.
 *
 * Height and Width are computed the same way {@link getimagesize} does
 * so their values must not be part of any header returned. Also, html is
 * a height/width text string to be used inside normal HTML.
 *
 * When an Exif header contains a Copyright note, this itself can contain
 * two values. As the solution is inconsistent in the Exif 2.10 standard,
 * the COMPUTED section will return both entries Copyright.Photographer
 * and Copyright.Editor while the IFD0 sections contains the byte array
 * with the NULL character that splits both entries. Or just the first
 * entry if the datatype was wrong (normal behaviour of Exif). The
 * COMPUTED will also contain the entry Copyright which is either the
 * original copyright string, or a comma separated list of the photo and
 * editor copyright.
 *
 * The tag UserComment has the same problem as the Copyright tag. It can
 * store two values. First the encoding used, and second the value
 * itself. If so the IFD section only contains the encoding or a byte
 * array. The COMPUTED section will store both in the entries
 * UserCommentEncoding and UserComment. The entry UserComment is
 * available in both cases so it should be used in preference to the
 * value in IFD0 section.
 *
 * {@link read_exif_data} also validates EXIF data tags according to the
 * EXIF specification (, page 20).
 *
 * @param mixed $stream The location of the image file. This can either
 *   be a path to the file (stream wrappers are also supported as usual)
 *   or a stream resource.
 * @param string $sections Is a comma separated list of sections that
 *   need to be present in file to produce a result array. If none of the
 *   requested sections could be found the return value is FALSE. FILE
 *   FileName, FileSize, FileDateTime, SectionsFound COMPUTED html,
 *   Width, Height, IsColor, and more if available. Height and Width are
 *   computed the same way {@link getimagesize} does so their values must
 *   not be part of any header returned. Also, html is a height/width
 *   text string to be used inside normal HTML. ANY_TAG Any information
 *   that has a Tag e.g. IFD0, EXIF, ... IFD0 All tagged data of IFD0. In
 *   normal imagefiles this contains image size and so forth. THUMBNAIL A
 *   file is supposed to contain a thumbnail if it has a second IFD. All
 *   tagged information about the embedded thumbnail is stored in this
 *   section. COMMENT Comment headers of JPEG images. EXIF The EXIF
 *   section is a sub section of IFD0. It contains more detailed
 *   information about an image. Most of these entries are digital camera
 *   related.
 * @param bool $arrays Specifies whether or not each section becomes an
 *   array. The {@link sections} COMPUTED, THUMBNAIL, and COMMENT always
 *   become arrays as they may contain values whose names conflict with
 *   other sections.
 * @param bool $thumbnail When set to TRUE the thumbnail itself is
 *   read. Otherwise, only the tagged data is read.
 * @return array It returns an associative array where the array
 *   indexes are the header names and the array values are the values
 *   associated with those headers. If no data can be returned, {@link
 *   exif_read_data} will return FALSE.
 * @since PHP 4 >= 4.0.1, PHP 5, PHP 7
 **/
function read_exif_data($stream, $sections, $arrays, $thumbnail){}

/**
 * Returns canonicalized absolute pathname
 *
 * {@link realpath} expands all symbolic links and resolves references to
 * /./, /../ and extra / characters in the input {@link path} and returns
 * the canonicalized absolute pathname.
 *
 * @param string $path The path being checked. Whilst a path must be
 *   supplied, the value can be blank or NULL In these cases, the value
 *   is interpreted as the current directory.
 * @return string Returns the canonicalized absolute pathname on
 *   success. The resulting path will have no symbolic link, /./ or /../
 *   components. Trailing delimiters, such as \ and /, are also removed.
 * @since PHP 4, PHP 5, PHP 7
 **/
function realpath($path){}

/**
 * Get realpath cache entries
 *
 * Get the contents of the realpath cache.
 *
 * @return array Returns an array of realpath cache entries. The keys
 *   are original path entries, and the values are arrays of data items,
 *   containing the resolved path, expiration date, and other options
 *   kept in the cache.
 * @since PHP 5 >= 5.3.2, PHP 7
 **/
function realpath_cache_get(){}

/**
 * Get realpath cache size
 *
 * Get the amount of memory used by the realpath cache.
 *
 * @return int Returns how much memory realpath cache is using.
 * @since PHP 5 >= 5.3.2, PHP 7
 **/
function realpath_cache_size(){}

/**
 * Recode a string according to a recode request
 *
 * Recode the string {@link string} according to the recode request
 * {@link request}.
 *
 * @param string $request The desired recode request type
 * @param string $string The string to be recoded
 * @return string Returns the recoded string or FALSE, if unable to
 *   perform the recode request.
 * @since PHP 4, PHP 5, PHP 7
 **/
function recode($request, $string){}

/**
 * Recode from file to file according to recode request
 *
 * Recode the file referenced by file handle {@link input} into the file
 * referenced by file handle {@link output} according to the recode
 * {@link request}.
 *
 * @param string $request The desired recode request type
 * @param resource $input A local file handle resource for the {@link
 *   input}
 * @param resource $output A local file handle resource for the {@link
 *   output}
 * @return bool Returns FALSE, if unable to comply, TRUE otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function recode_file($request, $input, $output){}

/**
 * Recode a string according to a recode request
 *
 * Recode the string {@link string} according to the recode request
 * {@link request}.
 *
 * @param string $request The desired recode request type
 * @param string $string The string to be recoded
 * @return string Returns the recoded string or FALSE, if unable to
 *   perform the recode request.
 * @since PHP 4, PHP 5, PHP 7
 **/
function recode_string($request, $string){}

/**
 * Register a function for execution on shutdown
 *
 * Registers a {@link callback} to be executed after script execution
 * finishes or {@link exit} is called.
 *
 * Multiple calls to {@link register_shutdown_function} can be made, and
 * each will be called in the same order as they were registered. If you
 * call {@link exit} within one registered shutdown function, processing
 * will stop completely and no other registered shutdown functions will
 * be called.
 *
 * @param callable $callback The shutdown callback to register. The
 *   shutdown callbacks are executed as the part of the request, so it's
 *   possible to send output from them and access output buffers.
 * @param mixed $parameter It is possible to pass parameters to the
 *   shutdown function by passing additional parameters.
 * @return void
 * @since PHP 4, PHP 5, PHP 7
 **/
function register_shutdown_function($callback, $parameter){}

/**
 * Register a function for execution on each tick
 *
 * @param callable $function The function name as a string, or an array
 *   consisting of an object and a method.
 * @param mixed $arg
 * @return bool
 * @since PHP 4 >= 4.0.3, PHP 5, PHP 7
 **/
function register_tick_function($function, $arg){}

/**
 * Renames a file or directory
 *
 * Attempts to rename {@link oldname} to {@link newname}, moving it
 * between directories if necessary. If renaming a file and {@link
 * newname} exists, it will be overwritten. If renaming a directory and
 * {@link newname} exists, this function will emit a warning.
 *
 * @param string $oldname The old name.
 * @param string $newname The new name.
 * @param resource $context
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function rename($oldname, $newname, $context){}

/**
 * Renames orig_name to new_name in the global function table
 *
 * Renames a orig_name to new_name in the global function table. Useful
 * for temporarily overriding built-in functions.
 *
 * @param string $original_name The original function name.
 * @param string $new_name The new name for the {@link original_name}
 *   function.
 * @return bool
 * @since PECL apd >= 0.2
 **/
function rename_function($original_name, $new_name){}

/**
 * Set the internal pointer of an array to its first element
 *
 * {@link reset} rewinds {@link array}'s internal pointer to the first
 * element and returns the value of the first array element.
 *
 * @param array $array The input array.
 * @return mixed Returns the value of the first array element, or FALSE
 *   if the array is empty.
 * @since PHP 4, PHP 5, PHP 7
 **/
function reset(&$array){}

/**
 * Get number of elements in the bundle
 *
 * Get the number of elements in the bundle.
 *
 * @param ResourceBundle $r ResourceBundle object.
 * @return int Returns number of elements in the bundle.
 **/
function resourcebundle_count($r){}

/**
 * Create a resource bundle
 *
 * (method)
 *
 * (constructor):
 *
 * Creates a resource bundle.
 *
 * @param string $locale Locale for which the resources should be
 *   loaded (locale name, e.g. en_CA).
 * @param string $bundlename The directory where the data is stored or
 *   the name of the .dat file.
 * @param bool $fallback Whether locale should match exactly or
 *   fallback to parent locale is allowed.
 * @return ResourceBundle Returns ResourceBundle object or NULL on
 *   error.
 **/
function resourcebundle_create($locale, $bundlename, $fallback){}

/**
 * Get data from the bundle
 *
 * Get the data from the bundle by index or string key.
 *
 * @param ResourceBundle $r ResourceBundle object.
 * @param string|int $index Data index, must be string or integer.
 * @param bool $fallback Whether locale should match exactly or
 *   fallback to parent locale is allowed.
 * @return mixed Returns the data located at the index or NULL on
 *   error. Strings, integers and binary data strings are returned as
 *   corresponding PHP types, integer array is returned as PHP array.
 *   Complex types are returned as ResourceBundle object.
 **/
function resourcebundle_get($r, $index, $fallback){}

/**
 * Get bundle's last error code
 *
 * Get error code from the last function performed by the bundle object.
 *
 * @param ResourceBundle $r ResourceBundle object.
 * @return int Returns error code from last bundle object call.
 **/
function resourcebundle_get_error_code($r){}

/**
 * Get bundle's last error message
 *
 * Get error message from the last function performed by the bundle
 * object.
 *
 * @param ResourceBundle $r ResourceBundle object.
 * @return string Returns error message from last bundle object's call.
 **/
function resourcebundle_get_error_message($r){}

/**
 * Get supported locales
 *
 * Get available locales from ResourceBundle name.
 *
 * @param string $bundlename Path of ResourceBundle for which to get
 *   available locales, or empty string for default locales list.
 * @return array Returns the list of locales supported by the bundle.
 **/
function resourcebundle_locales($bundlename){}

/**
 * Restores the previous error handler function
 *
 * Used after changing the error handler function using {@link
 * set_error_handler}, to revert to the previous error handler (which
 * could be the built-in or a user defined function).
 *
 * @return bool This function always returns TRUE.
 * @since PHP 4 >= 4.0.1, PHP 5, PHP 7
 **/
function restore_error_handler(){}

/**
 * Restores the previously defined exception handler function
 *
 * Used after changing the exception handler function using {@link
 * set_exception_handler}, to revert to the previous exception handler
 * (which could be the built-in or a user defined function).
 *
 * @return bool This function always returns TRUE.
 * @since PHP 5, PHP 7
 **/
function restore_exception_handler(){}

/**
 * Restores the value of the include_path configuration option
 *
 * @return void
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function restore_include_path(){}

/**
 * Rewind the position of a file pointer
 *
 * Sets the file position indicator for {@link handle} to the beginning
 * of the file stream.
 *
 * @param resource $handle The file pointer must be valid, and must
 *   point to a file successfully opened by {@link fopen}.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function rewind($handle){}

/**
 * Rewind directory handle
 *
 * Resets the directory stream indicated by {@link dir_handle} to the
 * beginning of the directory.
 *
 * @param resource $dir_handle The directory handle resource previously
 *   opened with {@link opendir}. If the directory handle is not
 *   specified, the last link opened by {@link opendir} is assumed.
 * @return void
 * @since PHP 4, PHP 5, PHP 7
 **/
function rewinddir($dir_handle){}

/**
 * Removes directory
 *
 * Attempts to remove the directory named by {@link dirname}. The
 * directory must be empty, and the relevant permissions must permit
 * this. A E_WARNING level error will be generated on failure.
 *
 * @param string $dirname Path to the directory.
 * @param resource $context
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function rmdir($dirname, $context){}

/**
 * Rounds a float
 *
 * Returns the rounded value of {@link val} to specified {@link
 * precision} (number of digits after the decimal point). {@link
 * precision} can also be negative or zero (default).
 *
 * PHP doesn't handle strings like "12,300.2" correctly by default. See
 * converting from strings.
 *
 * @param float $val The value to round
 * @param int $precision The optional number of decimal digits to round
 *   to.
 * @param int $mode Use one of the following constants to specify the
 *   mode in which rounding occurs. Constant PHP_ROUND_HALF_UP Round
 *   {@link val} up to {@link precision} decimal places away from zero,
 *   when it is half way there. Making 1.5 into 2 and -1.5 into -2.
 *   PHP_ROUND_HALF_DOWN Round {@link val} down to {@link precision}
 *   decimal places towards zero, when it is half way there. Making 1.5
 *   into 1 and -1.5 into -1. PHP_ROUND_HALF_EVEN Round {@link val} to
 *   {@link precision} decimal places towards the nearest even value.
 *   PHP_ROUND_HALF_ODD Round {@link val} to {@link precision} decimal
 *   places towards the nearest odd value.
 * @return float The rounded value
 * @since PHP 4, PHP 5, PHP 7
 **/
function round($val, $precision, $mode){}

/**
 * Closes an RPM file
 *
 * {@link rpm_close} will close an RPM file pointer.
 *
 * @param resource $rpmr A file pointer resource successfully opened by
 *   {@link rpm_open}.
 * @return bool
 * @since PECL rpmreader >= 0.1.0
 **/
function rpm_close($rpmr){}

/**
 * Retrieves a header tag from an RPM file
 *
 * {@link rpm_get_tag} will retrieve a given tag from the RPM file's
 * header and return it.
 *
 * @param resource $rpmr A file pointer resource successfully opened by
 *   {@link rpm_open}.
 * @param int $tagnum The tag number to retrieve from the RPM header.
 *   This value can be specified using the list of constants defined by
 *   this module.
 * @return mixed The return value can be of various types depending on
 *   the {@link tagnum} supplied to the function.
 * @since PECL rpmreader >= 0.1.0
 **/
function rpm_get_tag($rpmr, $tagnum){}

/**
 * Tests a filename for validity as an RPM file
 *
 * {@link rpm_is_valid} will test an RPM file for validity as an RPM
 * file. This is not the same as {@link rpm_open} as it only checks the
 * file for validity but does not return a file pointer to be used by
 * further functions.
 *
 * @param string $filename The filename of the RPM file you wish to
 *   check for validity.
 * @return bool
 * @since PECL rpmreader >= 0.1.0
 **/
function rpm_is_valid($filename){}

/**
 * Opens an RPM file
 *
 * {@link rpm_open} will open an RPM file and will determine if the file
 * is a valid RPM file.
 *
 * @param string $filename The filename of the RPM file you wish to
 *   open.
 * @return resource If the open succeeds, then {@link rpm_open} will
 *   return a file pointer resource to the newly opened file. On error,
 *   the function will return FALSE.
 * @since PECL rpmreader >= 0.1.0
 **/
function rpm_open($filename){}

/**
 * Returns a string representing the current version of the rpmreader
 * extension
 *
 * {@link rpm_version} will return the current version of the rpmreader
 * extension.
 *
 * @return string {@link rpm_version} will return a string representing
 *   the rpmreader version currently loaded in PHP.
 * @since PECL rpmreader >= 0.3.0
 **/
function rpm_version(){}

/**
 * Close any outstanding connection to rrd caching daemon
 *
 * This function is automatically called when the whole PHP process is
 * terminated. It depends on used SAPI. For example, it's called
 * automatically at the end of command line script.
 *
 * It's up user whether he wants to call this function at the end of
 * every request or otherwise.
 *
 * @return void
 * @since PECL rrd >= 1.1.2
 **/
function rrdc_disconnect(){}

/**
 * Creates rrd database file
 *
 * Creates the rdd database file.
 *
 * @param string $filename Filename for newly created rrd file.
 * @param array $options Options for rrd create - list of strings. See
 *   man page of rrd create for whole list of options.
 * @return bool
 * @since PECL rrd >= 0.9.0
 **/
function rrd_create($filename, $options){}

/**
 * Gets latest error message
 *
 * Returns latest global rrd error message.
 *
 * @return string Latest error message.
 * @since PECL rrd >= 0.9.0
 **/
function rrd_error(){}

/**
 * Fetch the data for graph as array
 *
 * Gets data for graph output from RRD database file as array. This
 * function has same result as {@link rrd_graph}, but fetched data are
 * returned as array, no image file is created.
 *
 * @param string $filename RRD database file name.
 * @param array $options Array of options for resolution specification.
 * @return array Returns information about retrieved graph data.
 * @since PECL rrd >= 0.9.0
 **/
function rrd_fetch($filename, $options){}

/**
 * Gets the timestamp of the first sample from rrd file
 *
 * Returns the first data sample from the specified RRA of the RRD file.
 *
 * @param string $file RRD database file name.
 * @param int $raaindex The index number of the RRA that is to be
 *   examined. Default value is 0.
 * @return int Integer number of unix timestamp, FALSE if some error
 *   occurs.
 * @since PECL rrd >= 0.9.0
 **/
function rrd_first($file, $raaindex){}

/**
 * Creates image from a data
 *
 * Creates image for a particular data from RRD file.
 *
 * @param string $filename The filename to output the graph to. This
 *   will generally end in either .png, .svg or .eps, depending on the
 *   format you want to output.
 * @param array $options Options for generating image. See man page of
 *   rrd graph for all possible options. All options (data definitions,
 *   variable defintions, etc.) are allowed.
 * @return array Array with information about generated image is
 *   returned, FALSE when error occurs.
 * @since PECL rrd >= 0.9.0
 **/
function rrd_graph($filename, $options){}

/**
 * Gets information about rrd file
 *
 * Returns information about particular RRD database file.
 *
 * @param string $filename RRD database file name.
 * @return array Array with information about requsted RRD file, FALSE
 *   when error occurs.
 * @since PECL rrd >= 0.9.0
 **/
function rrd_info($filename){}

/**
 * Gets unix timestamp of the last sample
 *
 * Returns the UNIX timestamp of the most recent update of the RRD
 * database.
 *
 * @param string $filename RRD database file name.
 * @return int Integer as unix timestamp of the most recent data from
 *   the RRD database.
 * @since PECL rrd >= 0.9.0
 **/
function rrd_last($filename){}

/**
 * Gets information about last updated data
 *
 * Gets array of the UNIX timestamp and the values stored for each date
 * in the most recent update of the RRD database file.
 *
 * @param string $filename RRD database file name.
 * @return array Array of information about last update, FALSE when
 *   error occurs.
 * @since PECL rrd >= 0.9.0
 **/
function rrd_lastupdate($filename){}

/**
 * Restores the RRD file from XML dump
 *
 * Restores the RRD file from the XML dump.
 *
 * @param string $xml_file XML filename with the dump of the original
 *   RRD database file.
 * @param string $rrd_file Restored RRD database file name.
 * @param array $options Array of options for restoring. See man page
 *   for rrd restore.
 * @return bool Returns TRUE on success, FALSE otherwise.
 * @since PECL rrd >= 0.9.0
 **/
function rrd_restore($xml_file, $rrd_file, $options){}

/**
 * Tunes some RRD database file header options
 *
 * Change some options in the RRD dabase header file. E.g. renames the
 * source for the data etc.
 *
 * @param string $filename RRD database file name.
 * @param array $options Options with RRD database file properties
 *   which will be changed. See rrd tune man page for details.
 * @return bool Returns TRUE on success, FALSE otherwise.
 * @since PECL rrd >= 0.9.0
 **/
function rrd_tune($filename, $options){}

/**
 * Updates the RRD database
 *
 * Updates the RRD database file. The input data is time interpolated
 * according to the properties of the RRD database file.
 *
 * @param string $filename RRD database file name. This database will
 *   be updated.
 * @param array $options Options for updating the RRD database. This is
 *   list of strings. See man page of rrd update for whole list of
 *   options.
 * @return bool Returns TRUE on success, FALSE when error occurs.
 * @since PECL rrd >= 0.9.0
 **/
function rrd_update($filename, $options){}

/**
 * Gets information about underlying rrdtool library
 *
 * Returns information about underlying rrdtool library.
 *
 * @return string String with rrdtool version number e.g. "1.4.3".
 * @since PECL rrd >= 1.0.0
 **/
function rrd_version(){}

/**
 * Exports the information about RRD database
 *
 * Exports the information about RRD database file. This data can be
 * converted to XML file via user space PHP script and then restored back
 * as RRD database file.
 *
 * @param array $options Array of options for the export, see rrd xport
 *   man page.
 * @return array Array with information about RRD database file, FALSE
 *   when error occurs.
 * @since PECL rrd >= 0.9.0
 **/
function rrd_xport($options){}

/**
 * Sort an array in reverse order
 *
 * This function sorts an array in reverse order (highest to lowest).
 *
 * @param array $array The input array.
 * @param int $sort_flags You may modify the behavior of the sort using
 *   the optional parameter {@link sort_flags}, for details see {@link
 *   sort}.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function rsort(&$array, $sort_flags){}

/**
 * Strip whitespace (or other characters) from the end of a string
 *
 * This function returns a string with whitespace (or other characters)
 * stripped from the end of {@link str}.
 *
 * Without the second parameter, {@link rtrim} will strip these
 * characters: " " (ASCII 32 (0x20)), an ordinary space. "\t" (ASCII 9
 * (0x09)), a tab. "\n" (ASCII 10 (0x0A)), a new line (line feed). "\r"
 * (ASCII 13 (0x0D)), a carriage return. "\0" (ASCII 0 (0x00)), the
 * NULL-byte. "\x0B" (ASCII 11 (0x0B)), a vertical tab.
 *
 * @param string $str The input string.
 * @param string $character_mask You can also specify the characters
 *   you want to strip, by means of the {@link character_mask} parameter.
 *   Simply list all characters that you want to be stripped. With .. you
 *   can specify a range of characters.
 * @return string Returns the modified string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function rtrim($str, $character_mask){}

/**
 * Convert a base class to an inherited class, add ancestral methods when
 * appropriate
 *
 * @param string $classname Name of class to be adopted
 * @param string $parentname Parent class which child class is
 *   extending
 * @return bool
 * @since PECL runkit >= 0.7.0
 **/
function runkit_class_adopt($classname, $parentname){}

/**
 * Convert an inherited class to a base class, removes any method whose
 * scope is ancestral
 *
 * @param string $classname Name of class to emancipate
 * @return bool
 * @since PECL runkit >= 0.7.0
 **/
function runkit_class_emancipate($classname){}

/**
 * Similar to define(), but allows defining in class definitions as well
 *
 * @param string $constname Name of constant to declare. Either a
 *   string to indicate a global constant, or classname::constname to
 *   indicate a class constant.
 * @param mixed $value NULL, Bool, Long, Double, String, or Resource
 *   value to store in the new constant.
 * @return bool
 * @since PECL runkit >= 0.7.0
 **/
function runkit_constant_add($constname, $value){}

/**
 * Redefine an already defined constant
 *
 * @param string $constname Constant to redefine. Either string
 *   indicating global constant, or classname::constname indicating class
 *   constant.
 * @param mixed $newvalue New value to assign to constant.
 * @return bool
 * @since PECL runkit >= 0.7.0
 **/
function runkit_constant_redefine($constname, $newvalue){}

/**
 * Remove/Delete an already defined constant
 *
 * @param string $constname Name of constant to remove. Either a string
 *   indicating a global constant, or classname::constname indicating a
 *   class constant.
 * @return bool
 * @since PECL runkit >= 0.7.0
 **/
function runkit_constant_remove($constname){}

/**
 * Add a new function, similar to
 *
 * @param string $funcname Name of function to be created
 * @param string $arglist Comma separated argument list
 * @param string $code Code making up the function
 * @param bool $return_by_reference A closure that defines the
 *   function.
 * @param string $doc_comment Whether the function should return by
 *   reference.
 * @return bool
 * @since PECL runkit >= 0.7.0
 **/
function runkit_function_add($funcname, $arglist, $code, $return_by_reference, $doc_comment){}

/**
 * Copy a function to a new function name
 *
 * @param string $funcname Name of existing function
 * @param string $targetname Name of new function to copy definition to
 * @return bool
 * @since PECL runkit >= 0.7.0
 **/
function runkit_function_copy($funcname, $targetname){}

/**
 * Replace a function definition with a new implementation
 *
 * @param string $funcname Name of function to redefine
 * @param string $arglist New list of arguments to be accepted by
 *   function
 * @param string $code New code implementation
 * @param bool $return_by_reference A closure that defines the
 *   function.
 * @param string $doc_comment Whether the function should return by
 *   reference.
 * @return bool
 * @since PECL runkit >= 0.7.0
 **/
function runkit_function_redefine($funcname, $arglist, $code, $return_by_reference, $doc_comment){}

/**
 * Remove a function definition
 *
 * @param string $funcname Name of function to be deleted
 * @return bool
 * @since PECL runkit >= 0.7.0
 **/
function runkit_function_remove($funcname){}

/**
 * Change a function's name
 *
 * @param string $funcname Current function name
 * @param string $newname New function name
 * @return bool
 * @since PECL runkit >= 0.7.0
 **/
function runkit_function_rename($funcname, $newname){}

/**
 * Process a PHP file importing function and class definitions,
 * overwriting where appropriate
 *
 * Similar to {@link include} however any code residing outside of a
 * function or class is simply ignored. Additionally, depending on the
 * value of {@link flags}, any functions or classes which already exist
 * in the currently running environment may be automatically overwritten
 * by their new definitions.
 *
 * @param string $filename Filename to import function and class
 *   definitions from
 * @param int $flags Bitwise OR of the RUNKIT_IMPORT_* family of
 *   constants.
 * @return bool
 * @since PECL runkit >= 0.7.0
 **/
function runkit_import($filename, $flags){}

/**
 * Check the PHP syntax of the specified php code
 *
 * The {@link runkit_lint} function performs a syntax (lint) check on the
 * specified php code testing for scripting errors. This is similar to
 * using php -l from the command line except {@link runkit_lint} accepts
 * actual code rather than a filename.
 *
 * @param string $code PHP Code to be lint checked
 * @return bool
 * @since PECL runkit >= 0.7.0
 **/
function runkit_lint($code){}

/**
 * Check the PHP syntax of the specified file
 *
 * The {@link runkit_lint_file} function performs a syntax (lint) check
 * on the specified filename testing for scripting errors. This is
 * similar to using php -l from the commandline.
 *
 * @param string $filename File containing PHP Code to be lint checked
 * @return bool
 * @since PECL runkit >= 0.7.0
 **/
function runkit_lint_file($filename){}

/**
 * Dynamically adds a new method to a given class
 *
 * @param string $classname The class to which this method will be
 *   added
 * @param string $methodname The name of the method to add
 * @param string $args Comma-delimited list of arguments for the
 *   newly-created method
 * @param string $code The code to be evaluated when {@link methodname}
 *   is called
 * @param int $flags A closure that defines the method.
 * @param string $doc_comment The type of method to create, can be
 *   RUNKIT_ACC_PUBLIC, RUNKIT_ACC_PROTECTED or RUNKIT_ACC_PRIVATE
 *   optionally combined via bitwise OR with RUNKIT_ACC_STATIC (since
 *   1.0.1)
 * @return bool
 * @since PECL runkit >= 0.7.0
 **/
function runkit_method_add($classname, $methodname, $args, $code, $flags, $doc_comment){}

/**
 * Copies a method from class to another
 *
 * @param string $dClass Destination class for copied method
 * @param string $dMethod Destination method name
 * @param string $sClass Source class of the method to copy
 * @param string $sMethod Name of the method to copy from the source
 *   class. If this parameter is omitted, the value of {@link dMethod} is
 *   assumed.
 * @return bool
 * @since PECL runkit >= 0.7.0
 **/
function runkit_method_copy($dClass, $dMethod, $sClass, $sMethod){}

/**
 * Dynamically changes the code of the given method
 *
 * @param string $classname The class in which to redefine the method
 * @param string $methodname The name of the method to redefine
 * @param string $args Comma-delimited list of arguments for the
 *   redefined method
 * @param string $code The new code to be evaluated when {@link
 *   methodname} is called
 * @param int $flags A closure that defines the method.
 * @param string $doc_comment The redefined method can be
 *   RUNKIT_ACC_PUBLIC, RUNKIT_ACC_PROTECTED or RUNKIT_ACC_PRIVATE
 *   optionally combined via bitwise OR with RUNKIT_ACC_STATIC (since
 *   1.0.1)
 * @return bool
 * @since PECL runkit >= 0.7.0
 **/
function runkit_method_redefine($classname, $methodname, $args, $code, $flags, $doc_comment){}

/**
 * Dynamically removes the given method
 *
 * @param string $classname The class in which to remove the method
 * @param string $methodname The name of the method to remove
 * @return bool
 * @since PECL runkit >= 0.7.0
 **/
function runkit_method_remove($classname, $methodname){}

/**
 * Dynamically changes the name of the given method
 *
 * @param string $classname The class in which to rename the method
 * @param string $methodname The name of the method to rename
 * @param string $newname The new name to give to the renamed method
 * @return bool
 * @since PECL runkit >= 0.7.0
 **/
function runkit_method_rename($classname, $methodname, $newname){}

/**
 * Determines if the current functions return value will be used
 *
 * @return bool Returns TRUE if the function's return value is used by
 *   the calling scope, otherwise FALSE
 * @since PECL runkit >= 0.8.0
 **/
function runkit_return_value_used(){}

/**
 * Specify a function to capture and/or process output from a runkit
 * sandbox
 *
 * Ordinarily, anything output (such as with {@link echo} or {@link
 * print}) will be output as though it were printed from the parent's
 * scope. Using {@link runkit_sandbox_output_handler} however, output
 * generated by the sandbox (including errors), can be captured by a
 * function outside of the sandbox.
 *
 * @param object $sandbox Object instance of Runkit_Sandbox class on
 *   which to set output handling.
 * @param mixed $callback Name of a function which expects one
 *   parameter. Output generated by {@link sandbox} will be passed to
 *   this callback. Anything returned by the callback will be displayed
 *   normally. If this parameter is not passed then output handling will
 *   not be changed. If a non-truth value is passed, output handling will
 *   be disabled and will revert to direct display.
 * @return mixed Returns the name of the previously defined output
 *   handler callback, or FALSE if no handler was previously defined.
 * @since PECL runkit >= 0.7.0
 **/
function runkit_sandbox_output_handler($sandbox, $callback){}

/**
 * Return numerically indexed array of registered superglobals
 *
 * @return array Returns a numerically indexed array of the currently
 *   registered superglobals. i.e. _GET, _POST, _REQUEST, _COOKIE,
 *   _SESSION, _SERVER, _ENV, _FILES
 * @since PECL runkit >= 0.7.0
 **/
function runkit_superglobals(){}

/**
 * Convert string from one codepage to another
 *
 * @param int|string $in_codepage The codepage of the {@link subject}
 *   string. Either the codepage name or identifier.
 * @param int|string $out_codepage The codepage to convert the {@link
 *   subject} string to. Either the codepage name or identifier.
 * @param string $subject The string to convert.
 * @return string The {@link subject} string converted to {@link
 *   out_codepage}, or NULL on failure.
 * @since PHP 7 >= 7.1.0
 **/
function sapi_windows_cp_conv($in_codepage, $out_codepage, $subject){}

/**
 * Get process codepage
 *
 * Get the identifier of the codepage of the current process.
 *
 * @param string $kind The kind of codepage: either 'ansi' or 'oem'.
 * @return int Returns the codepage identifier.
 * @since PHP 7 >= 7.1.0
 **/
function sapi_windows_cp_get($kind){}

/**
 * Indicates whether the codepage is UTF-8 compatible
 *
 * Indicates whether the codepage of the current process is UTF-8
 * compatible.
 *
 * @return bool Returns whether the codepage of the current process is
 *   UTF-8 compatible.
 * @since PHP 7 >= 7.1.0
 **/
function sapi_windows_cp_is_utf8(){}

/**
 * Set process codepage
 *
 * Set the codepage of the current process.
 *
 * @param int $cp A codepage identifier.
 * @return bool
 * @since PHP 7 >= 7.1.0
 **/
function sapi_windows_cp_set($cp){}

/**
 * Get or set VT100 support for the specified stream associated to an
 * output buffer of a Windows console.
 *
 * If {@link enable} is omitted, the function return TRUE if the stream
 * {@link stream} has has VT100 control codes enabled, FALSE otherwise.
 *
 * If {@link enable} is specified, the function will try to enable or
 * disable the VT100 features of the stream {@link stream}. If the
 * feature has been successfully enabled (or disabled), the function will
 * return TRUE, or FALSE otherwise.
 *
 * At startup, PHP tries to enable the VT100 feature of the STDOUT/STDERR
 * streams. By the way, if those streams are redirected to a file, the
 * VT100 features may not be enabled.
 *
 * @param resource $stream The stream on which the function will
 *   operate.
 * @param bool $enable If specified, the VT100 feature will be enabled
 *   (if TRUE) or disabled (if FALSE).
 * @return bool If {@link enable} is not specified: returns TRUE if the
 *   VT100 feature is enabled, FALSE otherwise.
 * @since PHP 7 >= 7.2.0
 **/
function sapi_windows_vt100_support($stream, $enable){}

/**
 * List files and directories inside the specified path
 *
 * Returns an array of files and directories from the {@link directory}.
 *
 * @param string $directory The directory that will be scanned.
 * @param int $sorting_order By default, the sorted order is
 *   alphabetical in ascending order. If the optional {@link
 *   sorting_order} is set to SCANDIR_SORT_DESCENDING, then the sort
 *   order is alphabetical in descending order. If it is set to
 *   SCANDIR_SORT_NONE then the result is unsorted.
 * @param resource $context For a description of the {@link context}
 *   parameter, refer to the streams section of the manual.
 * @return array Returns an array of filenames on success, or FALSE on
 *   failure. If {@link directory} is not a directory, then boolean FALSE
 *   is returned, and an error of level E_WARNING is generated.
 * @since PHP 5, PHP 7
 **/
function scandir($directory, $sorting_order, $context){}

/**
 * Get SeasLog author.
 *
 * @return string Return SeasLog author as string.
 * @since PECL seaslog >=1.0.0
 **/
function seaslog_get_author(){}

/**
 * Get SeasLog version.
 *
 * @return string Return SeasLog version (SEASLOG_VERSION) as string.
 * @since PECL seaslog >=1.0.0
 **/
function seaslog_get_version(){}

/**
 * Acquire a semaphore
 *
 * {@link sem_acquire} by default blocks (if necessary) until the
 * semaphore can be acquired. A process attempting to acquire a semaphore
 * which it has already acquired will block forever if acquiring the
 * semaphore would cause its maximum number of semaphore to be exceeded.
 *
 * After processing a request, any semaphores acquired by the process but
 * not explicitly released will be released automatically and a warning
 * will be generated.
 *
 * @param resource $sem_identifier {@link sem_identifier} is a
 *   semaphore resource, obtained from {@link sem_get}.
 * @param bool $nowait Specifies if the process shouldn't wait for the
 *   semaphore to be acquired. If set to true, the call will return false
 *   immediately if a semaphore cannot be immediately acquired.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function sem_acquire($sem_identifier, $nowait){}

/**
 * Get a semaphore id
 *
 * {@link sem_get} returns an id that can be used to access the System V
 * semaphore with the given {@link key}.
 *
 * A second call to {@link sem_get} for the same key will return a
 * different semaphore identifier, but both identifiers access the same
 * underlying semaphore.
 *
 * @param int $key
 * @param int $max_acquire The number of processes that can acquire the
 *   semaphore simultaneously is set to {@link max_acquire}.
 * @param int $perm The semaphore permissions. Actually this value is
 *   set only if the process finds it is the only process currently
 *   attached to the semaphore.
 * @param int $auto_release Specifies if the semaphore should be
 *   automatically released on request shutdown.
 * @return resource Returns a positive semaphore identifier on success,
 *   or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function sem_get($key, $max_acquire, $perm, $auto_release){}

/**
 * Release a semaphore
 *
 * {@link sem_release} releases the semaphore if it is currently acquired
 * by the calling process, otherwise a warning is generated.
 *
 * After releasing the semaphore, {@link sem_acquire} may be called to
 * re-acquire it.
 *
 * @param resource $sem_identifier A Semaphore resource handle as
 *   returned by {@link sem_get}.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function sem_release($sem_identifier){}

/**
 * Remove a semaphore
 *
 * {@link sem_remove} removes the given semaphore.
 *
 * After removing the semaphore, it is no longer accessible.
 *
 * @param resource $sem_identifier A semaphore resource identifier as
 *   returned by {@link sem_get}.
 * @return bool
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function sem_remove($sem_identifier){}

/**
 * Generates a storable representation of a value
 *
 * This is useful for storing or passing PHP values around without losing
 * their type and structure.
 *
 * To make the serialized string into a PHP value again, use {@link
 * unserialize}.
 *
 * @param mixed $value The value to be serialized. {@link serialize}
 *   handles all types, except the resource-type. You can even {@link
 *   serialize} arrays that contain references to itself. Circular
 *   references inside the array/object you are serializing will also be
 *   stored. Any other reference will be lost. When serializing objects,
 *   PHP will attempt to call the member function __sleep() prior to
 *   serialization. This is to allow the object to do any last minute
 *   clean-up, etc. prior to being serialized. Likewise, when the object
 *   is restored using {@link unserialize} the __wakeup() member function
 *   is called.
 * @return string Returns a string containing a byte-stream
 *   representation of {@link value} that can be stored anywhere.
 * @since PHP 4, PHP 5, PHP 7
 **/
function serialize($value){}

/**
 * Discard session array changes and finish session
 *
 * {@link session_abort} finishes session without saving data. Thus the
 * original values in session data are kept.
 *
 * @return bool
 * @since PHP 5 >= 5.6.0, PHP 7
 **/
function session_abort(){}

/**
 * Return current cache expire
 *
 * {@link session_cache_expire} returns the current setting of
 * session.cache_expire.
 *
 * The cache expire is reset to the default value of 180 stored in
 * session.cache_expire at request startup time. Thus, you need to call
 * {@link session_cache_expire} for every request (and before {@link
 * session_start} is called).
 *
 * @param string $new_cache_expire If {@link new_cache_expire} is
 *   given, the current cache expire is replaced with {@link
 *   new_cache_expire}.
 *   
 *   Setting {@link new_cache_expire} is of value only, if
 *   session.cache_limiter is set to a value different from nocache.
 * @return int Returns the current setting of session.cache_expire. The
 *   value returned should be read in minutes, defaults to 180.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function session_cache_expire($new_cache_expire){}

/**
 * Get and/or set the current cache limiter
 *
 * {@link session_cache_limiter} returns the name of the current cache
 * limiter.
 *
 * The cache limiter defines which cache control HTTP headers are sent to
 * the client. These headers determine the rules by which the page
 * content may be cached by the client and intermediate proxies. Setting
 * the cache limiter to nocache disallows any client/proxy caching. A
 * value of public permits caching by proxies and the client, whereas
 * private disallows caching by proxies and permits the client to cache
 * the contents.
 *
 * In private mode, the Expire header sent to the client may cause
 * confusion for some browsers, including Mozilla. You can avoid this
 * problem by using private_no_expire mode. The Expire header is never
 * sent to the client in this mode.
 *
 * Setting the cache limiter to '' will turn off automatic sending of
 * cache headers entirely.
 *
 * The cache limiter is reset to the default value stored in
 * session.cache_limiter at request startup time. Thus, you need to call
 * {@link session_cache_limiter} for every request (and before {@link
 * session_start} is called).
 *
 * @param string $cache_limiter If {@link cache_limiter} is specified,
 *   the name of the current cache limiter is changed to the new value.
 * @return string Returns the name of the current cache limiter.
 * @since PHP 4 >= 4.0.3, PHP 5, PHP 7
 **/
function session_cache_limiter($cache_limiter){}

/**
 * Write session data and end session
 *
 * End the current session and store session data.
 *
 * Session data is usually stored after your script terminated without
 * the need to call {@link session_commit}, but as session data is locked
 * to prevent concurrent writes only one script may operate on a session
 * at any time. When using framesets together with sessions you will
 * experience the frames loading one by one due to this locking. You can
 * reduce the time needed to load all the frames by ending the session as
 * soon as all changes to session variables are done.
 *
 * @return bool
 * @since PHP 4 >= 4.4.0, PHP 5, PHP 7
 **/
function session_commit(){}

/**
 * Create new session id
 *
 * {@link session_create_id} is used to create new session id for the
 * current session. It returns collision free session id.
 *
 * If session is not active, collision check is omitted.
 *
 * Session ID is created according to php.ini settings.
 *
 * It is important to use the same user ID of your web server for GC task
 * script. Otherwise, you may have permission problems especially with
 * files save handler.
 *
 * @param string $prefix If {@link prefix} is specified, new session id
 *   is prefixed by {@link prefix}. Not all characters are allowed within
 *   the session id. Characters in the range a-z A-Z 0-9 , (comma) and -
 *   (minus) are allowed.
 * @return string {@link session_create_id} returns new collision free
 *   session id for the current session. If it is used without active
 *   session, it omits collision check.
 * @since PHP 7 >= 7.1.0
 **/
function session_create_id($prefix){}

/**
 * Decodes session data from a session encoded string
 *
 * {@link session_decode} decodes the serialized session data provided in
 * {@link $data}, and populates the $_SESSION superglobal with the
 * result.
 *
 * By default, the unserialization method used is internal to PHP, and is
 * not the same as {@link unserialize}. The serialization method can be
 * set using session.serialize_handler.
 *
 * @param string $data The encoded data to be stored.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function session_decode($data){}

/**
 * Destroys all data registered to a session
 *
 * In order to kill the session altogether, the session ID must also be
 * unset. If a cookie is used to propagate the session ID (default
 * behavior), then the session cookie must be deleted. {@link setcookie}
 * may be used for that.
 *
 * When session.use_strict_mode is enabled. You do not have to remove
 * obsolete session ID cookie because session module will not accept
 * session ID cookie when there is no data associated to the session ID
 * and set new session ID cookie. Enabling session.use_strict_mode is
 * recommended for all sites.
 *
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function session_destroy(){}

/**
 * Encodes the current session data as a session encoded string
 *
 * {@link session_encode} returns a serialized string of the contents of
 * the current session data stored in the $_SESSION superglobal.
 *
 * By default, the serialization method used is internal to PHP, and is
 * not the same as {@link serialize}. The serialization method can be set
 * using session.serialize_handler.
 *
 * @return string Returns the contents of the current session encoded.
 * @since PHP 4, PHP 5, PHP 7
 **/
function session_encode(){}

/**
 * Perform session data garbage collection
 *
 * {@link session_gc} is used to perform session data GC(garbage
 * collection). PHP does probability based session GC by default.
 *
 * Probability based GC works somewhat but it has few problems. 1) Low
 * traffic sites' session data may not be deleted within the preferred
 * duration. 2) High traffic sites' GC may be too frequent GC. 3) GC is
 * performed on the user's request and the user will experience a GC
 * delay.
 *
 * Therefore, it is recommended to execute GC periodically for production
 * systems using, e.g., "cron" for UNIX-like systems. Make sure to
 * disable probability based GC by setting session.gc_probability to 0.
 *
 * @return int {@link session_gc} returns number of deleted session
 *   data for success, FALSE for failure.
 * @since PHP 7 >= 7.1.0
 **/
function session_gc(){}

/**
 * Get the session cookie parameters
 *
 * Gets the session cookie parameters.
 *
 * @return array Returns an array with the current session cookie
 *   information, the array contains the following items: "lifetime" -
 *   The lifetime of the cookie in seconds. "path" - The path where
 *   information is stored. "domain" - The domain of the cookie. "secure"
 *   - The cookie should only be sent over secure connections. "httponly"
 *   - The cookie can only be accessed through the HTTP protocol.
 * @since PHP 4, PHP 5, PHP 7
 **/
function session_get_cookie_params(){}

/**
 * Get and/or set the current session id
 *
 * {@link session_id} is used to get or set the session id for the
 * current session.
 *
 * The constant SID can also be used to retrieve the current name and
 * session id as a string suitable for adding to URLs. See also Session
 * handling.
 *
 * @param string $id If {@link id} is specified, it will replace the
 *   current session id. {@link session_id} needs to be called before
 *   {@link session_start} for that purpose. Depending on the session
 *   handler, not all characters are allowed within the session id. For
 *   example, the file session handler only allows characters in the
 *   range a-z A-Z 0-9 , (comma) and - (minus)!
 * @return string {@link session_id} returns the session id for the
 *   current session or the empty string ("") if there is no current
 *   session (no current session id exists).
 * @since PHP 4, PHP 5, PHP 7
 **/
function session_id($id){}

/**
 * Find out whether a global variable is registered in a session
 *
 * Finds out whether a global variable is registered in a session.
 *
 * @param string $name The variable name.
 * @return bool {@link session_is_registered} returns TRUE if there is
 *   a global variable with the name {@link name} registered in the
 *   current session, FALSE otherwise.
 * @since PHP 4, PHP 5 < 5.4.0
 **/
function session_is_registered($name){}

/**
 * Get and/or set the current session module
 *
 * {@link session_module_name} gets the name of the current session
 * module.
 *
 * @param string $module If {@link module} is specified, that module
 *   will be used instead.
 * @return string Returns the name of the current session module.
 * @since PHP 4, PHP 5, PHP 7
 **/
function session_module_name($module){}

/**
 * Get and/or set the current session name
 *
 * {@link session_name} returns the name of the current session. If
 * {@link name} is given, {@link session_name} will update the session
 * name and return the old session name.
 *
 * If a new session {@link name} is supplied, {@link session_name}
 * modifies the HTTP cookie (and output content when session.transid is
 * enabled). Once the HTTP cookie is sent, {@link session_name} raises
 * error. {@link session_name} must be called before {@link
 * session_start} for the session to work properly.
 *
 * The session name is reset to the default value stored in session.name
 * at request startup time. Thus, you need to call {@link session_name}
 * for every request (and before {@link session_start} is called).
 *
 * @param string $name The session name references the name of the
 *   session, which is used in cookies and URLs (e.g. PHPSESSID). It
 *   should contain only alphanumeric characters; it should be short and
 *   descriptive (i.e. for users with enabled cookie warnings). If {@link
 *   name} is specified, the name of the current session is changed to
 *   its value.
 *   
 *   The session name can't consist of digits only, at least one letter
 *   must be present. Otherwise a new session id is generated every time.
 * @return string Returns the name of the current session. If {@link
 *   name} is given and function updates the session name, name of the
 *   old session is returned.
 * @since PHP 4, PHP 5, PHP 7
 **/
function session_name($name){}

/**
 * Increments error counts and sets last error message
 *
 * @param int $error_level
 * @param string $error_message
 * @return bool
 * @since PECL session_pgsql SVN
 **/
function session_pgsql_add_error($error_level, $error_message){}

/**
 * Returns number of errors and last error message
 *
 * Get the number of errors and optional the error messages.
 *
 * @param bool $with_error_message Set to TRUE the literal error
 *   message for each error is also returned.
 * @return array The number of errors are returned as array.
 * @since PECL session_pgsql SVN
 **/
function session_pgsql_get_error($with_error_message){}

/**
 * Get custom field value
 *
 * @return string
 * @since PECL session_pgsql SVN
 **/
function session_pgsql_get_field(){}

/**
 * Reset connection to session database servers
 *
 * Reset the connection to the session database servers.
 *
 * @return bool
 * @since PECL session_pgsql SVN
 **/
function session_pgsql_reset(){}

/**
 * Set custom field value
 *
 * @param string $value
 * @return bool
 * @since PECL session_pgsql SVN
 **/
function session_pgsql_set_field($value){}

/**
 * Get current save handler status
 *
 * @return array
 * @since PECL session_pgsql SVN
 **/
function session_pgsql_status(){}

/**
 * Update the current session id with a newly generated one
 *
 * {@link session_regenerate_id} will replace the current session id with
 * a new one, and keep the current session information.
 *
 * When session.use_trans_sid is enabled, output must be started after
 * {@link session_regenerate_id} call. Otherwise, old session ID is used.
 *
 * @param bool $delete_old_session Whether to delete the old associated
 *   session file or not. You should not delete old session if you need
 *   to avoid races caused by deletion or detect/avoid session hijack
 *   attacks.
 * @return bool
 * @since PHP 4 >= 4.3.2, PHP 5, PHP 7
 **/
function session_regenerate_id($delete_old_session){}

/**
 * Register one or more global variables with the current session
 *
 * {@link session_register} accepts a variable number of arguments, any
 * of which can be either a string holding the name of a variable or an
 * array consisting of variable names or other arrays. For each name,
 * {@link session_register} registers the global variable with that name
 * in the current session.
 *
 * You can also create a session variable by simply setting the
 * appropriate member of the $_SESSION array.
 *
 * <?php // Use of session_register() is deprecated $barney = "A big
 * purple dinosaur."; session_register("barney");
 *
 * // Use of $_SESSION is preferred $_SESSION["zim"] = "An invader from
 * another planet."; ?>
 *
 * If {@link session_start} was not called before this function is
 * called, an implicit call to {@link session_start} with no parameters
 * will be made. $_SESSION does not mimic this behavior and requires
 * {@link session_start} before use.
 *
 * @param mixed $name A string holding the name of a variable or an
 *   array consisting of variable names or other arrays.
 * @return bool
 * @since PHP 4, PHP 5 < 5.4.0
 **/
function session_register($name){}

/**
 * Session shutdown function
 *
 * Registers {@link session_write_close} as a shutdown function.
 *
 * @return void
 * @since PHP 5 >= 5.4.0, PHP 7
 **/
function session_register_shutdown(){}

/**
 * Re-initialize session array with original values
 *
 * {@link session_reset} reinitializes a session with original values
 * stored in session storage. This function requires an active session
 * and discards changes in $_SESSION.
 *
 * @return bool
 * @since PHP 5 >= 5.6.0, PHP 7
 **/
function session_reset(){}

/**
 * Get and/or set the current session save path
 *
 * {@link session_save_path} returns the path of the current directory
 * used to save session data.
 *
 * @param string $path Session data path. If specified, the path to
 *   which data is saved will be changed. {@link session_save_path} needs
 *   to be called before {@link session_start} for that purpose.
 *   
 *   On some operating systems, you may want to specify a path on a
 *   filesystem that handles lots of small files efficiently. For
 *   example, on Linux, reiserfs may provide better performance than
 *   ext2fs.
 * @return string Returns the path of the current directory used for
 *   data storage.
 * @since PHP 4, PHP 5, PHP 7
 **/
function session_save_path($path){}

/**
 * Set the session cookie parameters
 *
 * Set cookie parameters defined in the file. The effect of this function
 * only lasts for the duration of the script. Thus, you need to call
 * {@link session_set_cookie_params} for every request and before {@link
 * session_start} is called.
 *
 * This function updates the runtime ini values of the corresponding PHP
 * ini configuration keys which can be retrieved with the {@link
 * ini_get}.
 *
 * @param int $lifetime Lifetime of the session cookie, defined in
 *   seconds.
 * @param string $path Path on the domain where the cookie will work.
 *   Use a single slash ('/') for all paths on the domain.
 * @param string $domain Cookie domain, for example 'www.php.net'. To
 *   make cookies visible on all subdomains then the domain must be
 *   prefixed with a dot like '.php.net'.
 * @param bool $secure If TRUE cookie will only be sent over secure
 *   connections.
 * @param bool $httponly If set to TRUE then PHP will attempt to send
 *   the httponly flag when setting the session cookie.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function session_set_cookie_params($lifetime, $path, $domain, $secure, $httponly){}

/**
 * Sets user-level session storage functions
 *
 * Since PHP 5.4 it is possible to register the following prototype:
 *
 * {@link session_set_save_handler} sets the user-level session storage
 * functions which are used for storing and retrieving data associated
 * with a session. This is most useful when a storage method other than
 * those supplied by PHP sessions is preferred, e.g. storing the session
 * data in a local database.
 *
 * @param callable $open An instance of a class implementing
 *   SessionHandlerInterface, SessionIdInterface, and/or
 *   SessionUpdateTimestampHandlerInterface, such as SessionHandler, to
 *   register as the session handler. Since PHP 5.4 only.
 * @param callable $close Register {@link session_write_close} as a
 *   {@link register_shutdown_function} function.
 * @param callable $read The open callback works like a constructor in
 *   classes and is executed when the session is being opened. It is the
 *   first callback function executed when the session is started
 *   automatically or manually with {@link session_start}. Return value
 *   is TRUE for success, FALSE for failure.
 * @param callable $write The close callback works like a destructor in
 *   classes and is executed after the session write callback has been
 *   called. It is also invoked when {@link session_write_close} is
 *   called. Return value should be TRUE for success, FALSE for failure.
 * @param callable $destroy The {@link read} callback must always
 *   return a session encoded (serialized) string, or an empty string if
 *   there is no data to read. This callback is called internally by PHP
 *   when the session starts or when {@link session_start} is called.
 *   Before this callback is invoked PHP will invoke the {@link open}
 *   callback. The value this callback returns must be in exactly the
 *   same serialized format that was originally passed for storage to the
 *   {@link write} callback. The value returned will be unserialized
 *   automatically by PHP and used to populate the $_SESSION superglobal.
 *   While the data looks similar to {@link serialize} please note it is
 *   a different format which is specified in the
 *   session.serialize_handler ini setting.
 * @param callable $gc The {@link write} callback is called when the
 *   session needs to be saved and closed. This callback receives the
 *   current session ID a serialized version the $_SESSION superglobal.
 *   The serialization method used internally by PHP is specified in the
 *   session.serialize_handler ini setting. The serialized session data
 *   passed to this callback should be stored against the passed session
 *   ID. When retrieving this data, the {@link read} callback must return
 *   the exact value that was originally passed to the {@link write}
 *   callback. This callback is invoked when PHP shuts down or explicitly
 *   when {@link session_write_close} is called. Note that after
 *   executing this function PHP will internally execute the {@link
 *   close} callback. The "write" handler is not executed until after the
 *   output stream is closed. Thus, output from debugging statements in
 *   the "write" handler will never be seen in the browser. If debugging
 *   output is necessary, it is suggested that the debug output be
 *   written to a file instead.
 * @param callable $create_sid This callback is executed when a session
 *   is destroyed with {@link session_destroy} or with {@link
 *   session_regenerate_id} with the destroy parameter set to TRUE.
 *   Return value should be TRUE for success, FALSE for failure.
 * @param callable $validate_sid The garbage collector callback is
 *   invoked internally by PHP periodically in order to purge old session
 *   data. The frequency is controlled by session.gc_probability and
 *   session.gc_divisor. The value of lifetime which is passed to this
 *   callback can be set in session.gc_maxlifetime. Return value should
 *   be TRUE for success, FALSE for failure.
 * @param callable $update_timestamp This callback is executed when a
 *   new session ID is required. No parameters are provided, and the
 *   return value should be a string that is a valid session ID for your
 *   handler.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function session_set_save_handler($open, $close, $read, $write, $destroy, $gc, $create_sid, $validate_sid, $update_timestamp){}

/**
 * Start new or resume existing session
 *
 * {@link session_start} creates a session or resumes the current one
 * based on a session identifier passed via a GET or POST request, or
 * passed via a cookie.
 *
 * When {@link session_start} is called or when a session auto starts,
 * PHP will call the open and read session save handlers. These will
 * either be a built-in save handler provided by default or by PHP
 * extensions (such as SQLite or Memcached); or can be custom handler as
 * defined by {@link session_set_save_handler}. The read callback will
 * retrieve any existing session data (stored in a special serialized
 * format) and will be unserialized and used to automatically populate
 * the $_SESSION superglobal when the read callback returns the saved
 * session data back to PHP session handling.
 *
 * To use a named session, call {@link session_name} before calling
 * {@link session_start}.
 *
 * When session.use_trans_sid is enabled, the {@link session_start}
 * function will register an internal output handler for URL rewriting.
 *
 * If a user uses ob_gzhandler or similar with {@link ob_start}, the
 * function order is important for proper output. For example,
 * ob_gzhandler must be registered before starting the session.
 *
 * @param array $options If provided, this is an associative array of
 *   options that will override the currently set session configuration
 *   directives. The keys should not include the session. prefix. In
 *   addition to the normal set of configuration directives, a
 *   read_and_close option may also be provided. If set to TRUE, this
 *   will result in the session being closed immediately after being
 *   read, thereby avoiding unnecessary locking if the session data won't
 *   be changed.
 * @return bool This function returns TRUE if a session was
 *   successfully started, otherwise FALSE.
 * @since PHP 4, PHP 5, PHP 7
 **/
function session_start($options){}

/**
 * Returns the current session status
 *
 * {@link session_status} is used to return the current session status.
 *
 * @return int PHP_SESSION_DISABLED if sessions are disabled.
 *   PHP_SESSION_NONE if sessions are enabled, but none exists.
 *   PHP_SESSION_ACTIVE if sessions are enabled, and one exists.
 * @since PHP 5 >= 5.4.0, PHP 7
 **/
function session_status(){}

/**
 * Unregister a global variable from the current session
 *
 * {@link session_unregister} unregisters the global variable named
 * {@link name} from the current session.
 *
 * @param string $name The variable name.
 * @return bool
 * @since PHP 4, PHP 5 < 5.4.0
 **/
function session_unregister($name){}

/**
 * Free all session variables
 *
 * The {@link session_unset} function frees all session variables
 * currently registered.
 *
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function session_unset(){}

/**
 * Write session data and end session
 *
 * End the current session and store session data.
 *
 * Session data is usually stored after your script terminated without
 * the need to call {@link session_write_close}, but as session data is
 * locked to prevent concurrent writes only one script may operate on a
 * session at any time. When using framesets together with sessions you
 * will experience the frames loading one by one due to this locking. You
 * can reduce the time needed to load all the frames by ending the
 * session as soon as all changes to session variables are done.
 *
 * @return bool
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function session_write_close(){}

/**
 * Send a cookie
 *
 * {@link setcookie} defines a cookie to be sent along with the rest of
 * the HTTP headers. Like other headers, cookies must be sent before any
 * output from your script (this is a protocol restriction). This
 * requires that you place calls to this function prior to any output,
 * including <html> and <head> tags as well as any whitespace.
 *
 * Once the cookies have been set, they can be accessed on the next page
 * load with the $_COOKIE array. Cookie values may also exist in
 * $_REQUEST.
 *
 * @param string $name The name of the cookie.
 * @param string $value The value of the cookie. This value is stored
 *   on the clients computer; do not store sensitive information.
 *   Assuming the {@link name} is 'cookiename', this value is retrieved
 *   through $_COOKIE['cookiename']
 * @param int $expire The time the cookie expires. This is a Unix
 *   timestamp so is in number of seconds since the epoch. In other
 *   words, you'll most likely set this with the {@link time} function
 *   plus the number of seconds before you want it to expire. Or you
 *   might use {@link mktime}. time()+60*60*24*30 will set the cookie to
 *   expire in 30 days. If set to 0, or omitted, the cookie will expire
 *   at the end of the session (when the browser closes).
 *   
 *   You may notice the {@link expire} parameter takes on a Unix
 *   timestamp, as opposed to the date format Wdy, DD-Mon-YYYY HH:MM:SS
 *   GMT, this is because PHP does this conversion internally.
 * @param string $path The path on the server in which the cookie will
 *   be available on. If set to '/', the cookie will be available within
 *   the entire {@link domain}. If set to '/foo/', the cookie will only
 *   be available within the /foo/ directory and all sub-directories such
 *   as /foo/bar/ of {@link domain}. The default value is the current
 *   directory that the cookie is being set in.
 * @param string $domain The (sub)domain that the cookie is available
 *   to. Setting this to a subdomain (such as 'www.example.com') will
 *   make the cookie available to that subdomain and all other
 *   sub-domains of it (i.e. w2.www.example.com). To make the cookie
 *   available to the whole domain (including all subdomains of it),
 *   simply set the value to the domain name ('example.com', in this
 *   case). Older browsers still implementing the deprecated RFC 2109 may
 *   require a leading . to match all subdomains.
 * @param bool $secure Indicates that the cookie should only be
 *   transmitted over a secure HTTPS connection from the client. When set
 *   to TRUE, the cookie will only be set if a secure connection exists.
 *   On the server-side, it's on the programmer to send this kind of
 *   cookie only on secure connection (e.g. with respect to
 *   $_SERVER["HTTPS"]).
 * @param bool $httponly When TRUE the cookie will be made accessible
 *   only through the HTTP protocol. This means that the cookie won't be
 *   accessible by scripting languages, such as JavaScript. It has been
 *   suggested that this setting can effectively help to reduce identity
 *   theft through XSS attacks (although it is not supported by all
 *   browsers), but that claim is often disputed. Added in PHP 5.2.0.
 *   TRUE or FALSE
 * @return bool If output exists prior to calling this function, {@link
 *   setcookie} will fail and return FALSE. If {@link setcookie}
 *   successfully runs, it will return TRUE. This does not indicate
 *   whether the user accepted the cookie.
 * @since PHP 4, PHP 5, PHP 7
 **/
function setcookie($name, $value, $expire, $path, $domain, $secure, $httponly){}

/**
 * Sets left rasterizing color
 *
 * What this nonsense is about is, every edge segment borders at most two
 * fills. When rasterizing the object, it's pretty handy to know what
 * those fills are ahead of time, so the swf format requires these to be
 * specified.
 *
 * {@link swfshape::setleftfill} sets the fill on the left side of the
 * edge- that is, on the interior if you're defining the outline of the
 * shape in a counter-clockwise fashion. The fill object is an SWFFill
 * object returned from one of the addFill functions above.
 *
 * This seems to be reversed when you're defining a shape in a morph,
 * though. If your browser crashes, just try setting the fill on the
 * other side.
 *
 * @param int $red
 * @param int $green
 * @param int $blue
 * @param int $a
 * @return void
 **/
function setLeftFill($red, $green, $blue, $a){}

/**
 * Sets the shape's line style
 *
 * {@link swfshape::setline} sets the shape's line style. {@link width}
 * is the line's width. If {@link width} is 0, the line's style is
 * removed (then, all other arguments are ignored). If {@link width} > 0,
 * then line's color is set to {@link red}, {@link green}, {@link blue}.
 * Last parameter {@link a} is optional.
 *
 * You must declare all line styles before you use them (see example).
 *
 * @param int $width
 * @param int $red
 * @param int $green
 * @param int $blue
 * @param int $a
 * @return void
 **/
function setLine($width, $red, $green, $blue, $a){}

/**
 * Set locale information
 *
 * Sets locale information.
 *
 * @param int $category {@link category} is a named constant specifying
 *   the category of the functions affected by the locale setting: LC_ALL
 *   for all of the below LC_COLLATE for string comparison, see {@link
 *   strcoll} LC_CTYPE for character classification and conversion, for
 *   example {@link strtoupper} LC_MONETARY for {@link localeconv}
 *   LC_NUMERIC for decimal separator (See also {@link localeconv})
 *   LC_TIME for date and time formatting with {@link strftime}
 *   LC_MESSAGES for system responses (available if PHP was compiled with
 *   libintl)
 * @param string $locale If {@link locale} is NULL or the empty string
 *   "", the locale names will be set from the values of environment
 *   variables with the same names as the above categories, or from
 *   "LANG". If {@link locale} is "0", the locale setting is not
 *   affected, only the current setting is returned. If {@link locale} is
 *   an array or followed by additional parameters then each array
 *   element or parameter is tried to be set as new locale until success.
 *   This is useful if a locale is known under different names on
 *   different systems or for providing a fallback for a possibly not
 *   available locale.
 * @return string Returns the new current locale, or FALSE if the
 *   locale functionality is not implemented on your platform, the
 *   specified locale does not exist or the category name is invalid.
 * @since PHP 4, PHP 5, PHP 7
 **/
function setlocale($category, $locale){}

/**
 * Set the process title
 *
 * Sets the process title of the current process.
 *
 * @param string $title The title to use as the process title.
 * @return void
 * @since PECL proctitle >= 0.1.0
 **/
function setproctitle($title){}

/**
 * Send a cookie without urlencoding the cookie value
 *
 * {@link setrawcookie} is exactly the same as {@link setcookie} except
 * that the cookie value will not be automatically urlencoded when sent
 * to the browser.
 *
 * @param string $name
 * @param string $value
 * @param int $expire
 * @param string $path
 * @param string $domain
 * @param bool $secure
 * @param bool $httponly
 * @return bool
 * @since PHP 5, PHP 7
 **/
function setrawcookie($name, $value, $expire, $path, $domain, $secure, $httponly){}

/**
 * Sets right rasterizing color
 *
 * @param int $red
 * @param int $green
 * @param int $blue
 * @param int $a
 * @return void
 **/
function setRightFill($red, $green, $blue, $a){}

/**
 * Set the thread title
 *
 * Sets the thread title.
 *
 * @param string $title The title to use as the thread title.
 * @return bool
 * @since PECL proctitle >= 0.1.2
 **/
function setthreadtitle($title){}

/**
 * Set the type of a variable
 *
 * Set the type of variable {@link var} to {@link type}.
 *
 * @param mixed $var The variable being converted.
 * @param string $type Possibles values of {@link type} are: "boolean"
 *   or "bool" "integer" or "int" "float" or "double" "string" "array"
 *   "object" "null"
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function settype(&$var, $type){}

/**
 * Sets a user-defined error handler function
 *
 * Sets a user function ({@link error_handler}) to handle errors in a
 * script.
 *
 * This function can be used for defining your own way of handling errors
 * during runtime, for example in applications in which you need to do
 * cleanup of data/files when a critical error happens, or when you need
 * to trigger an error under certain conditions (using {@link
 * trigger_error}).
 *
 * It is important to remember that the standard PHP error handler is
 * completely bypassed for the error types specified by {@link
 * error_types} unless the callback function returns FALSE. {@link
 * error_reporting} settings will have no effect and your error handler
 * will be called regardless - however you are still able to read the
 * current value of error_reporting and act appropriately. Of particular
 * note is that this value will be 0 if the statement that caused the
 * error was prepended by the @ error-control operator.
 *
 * Also note that it is your responsibility to {@link die} if necessary.
 * If the error-handler function returns, script execution will continue
 * with the next statement after the one that caused an error.
 *
 * The following error types cannot be handled with a user defined
 * function: E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING,
 * E_COMPILE_ERROR, E_COMPILE_WARNING, and most of E_STRICT raised in the
 * file where {@link set_error_handler} is called.
 *
 * If errors occur before the script is executed (e.g. on file uploads)
 * the custom error handler cannot be called since it is not registered
 * at that time.
 *
 * @param callable $error_handler A callback with the following
 *   signature. NULL may be passed instead, to reset this handler to its
 *   default state. Instead of a function name, an array containing an
 *   object reference and a method name can also be supplied.
 *   
 *   boolhandler int{@link errno} string{@link errstr} string{@link
 *   errfile} int{@link errline} array{@link errcontext} {@link errno}
 *   The first parameter, {@link errno}, contains the level of the error
 *   raised, as an integer. {@link errstr} The second parameter, {@link
 *   errstr}, contains the error message, as a string. {@link errfile}
 *   The third parameter is optional, {@link errfile}, which contains the
 *   filename that the error was raised in, as a string. {@link errline}
 *   The fourth parameter is optional, {@link errline}, which contains
 *   the line number the error was raised at, as an integer. {@link
 *   errcontext} The fifth parameter is optional, {@link errcontext},
 *   which is an array that points to the active symbol table at the
 *   point the error occurred. In other words, {@link errcontext} will
 *   contain an array of every variable that existed in the scope the
 *   error was triggered in. User error handler must not modify error
 *   context. This parameter has been DEPRECATED as of PHP 7.2.0. Relying
 *   on it is highly discouraged. If the function returns FALSE then the
 *   normal error handler continues.
 * @param int $error_types
 * @return mixed Returns a string containing the previously defined
 *   error handler (if any). If the built-in error handler is used NULL
 *   is returned. NULL is also returned in case of an error such as an
 *   invalid callback. If the previous error handler was a class method,
 *   this function will return an indexed array with the class and the
 *   method name.
 * @since PHP 4 >= 4.0.1, PHP 5, PHP 7
 **/
function set_error_handler($error_handler, $error_types){}

/**
 * Sets a user-defined exception handler function
 *
 * Sets the default exception handler if an exception is not caught
 * within a try/catch block. Execution will stop after the {@link
 * exception_handler} is called.
 *
 * @param callable $exception_handler Name of the function to be called
 *   when an uncaught exception occurs. This handler function needs to
 *   accept one parameter, which will be the exception object that was
 *   thrown. This is the handler signature before PHP 7:
 *   
 *   voidhandler Exception{@link ex} Since PHP 7, most errors are
 *   reported by throwing Error exceptions, which will be caught by the
 *   handler as well. Both Error and Exception implements the Throwable
 *   interface. This is the handler signature since PHP 7:
 *   
 *   voidhandler Throwable{@link ex} NULL may be passed instead, to reset
 *   this handler to its default state.
 * @return callable Returns the name of the previously defined
 *   exception handler, or NULL on error. If no previous handler was
 *   defined, NULL is also returned.
 * @since PHP 5, PHP 7
 **/
function set_exception_handler($exception_handler){}

/**
 * Sets the include_path configuration option
 *
 * Sets the include_path configuration option for the duration of the
 * script.
 *
 * @param string $new_include_path The new value for the include_path
 * @return string Returns the old include_path on success.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function set_include_path($new_include_path){}

/**
 * Sets the current active configuration setting of magic_quotes_runtime
 *
 * Set the current active configuration setting of magic_quotes_runtime.
 *
 * @param bool $new_setting FALSE for off, TRUE for on.
 * @return bool
 * @since PHP 4, PHP 5
 **/
function set_magic_quotes_runtime($new_setting){}

/**
 * Set blocking/non-blocking mode on a stream
 *
 * Sets blocking or non-blocking mode on a {@link stream}.
 *
 * This function works for any stream that supports non-blocking mode
 * (currently, regular files and socket streams).
 *
 * @param resource $stream The stream.
 * @param bool $mode If {@link mode} is FALSE, the given stream will be
 *   switched to non-blocking mode, and if TRUE, it will be switched to
 *   blocking mode. This affects calls like {@link fgets} and {@link
 *   fread} that read from the stream. In non-blocking mode an {@link
 *   fgets} call will always return right away while in blocking mode it
 *   will wait for data to become available on the stream.
 * @return bool
 * @since PHP 4, PHP 5
 **/
function set_socket_blocking($stream, $mode){}

/**
 * Limits the maximum execution time
 *
 * Set the number of seconds a script is allowed to run. If this is
 * reached, the script returns a fatal error. The default limit is 30
 * seconds or, if it exists, the max_execution_time value defined in the
 * .
 *
 * When called, {@link set_time_limit} restarts the timeout counter from
 * zero. In other words, if the timeout is the default 30 seconds, and 25
 * seconds into script execution a call such as set_time_limit(20) is
 * made, the script will run for a total of 45 seconds before timing out.
 *
 * @param int $seconds The maximum execution time, in seconds. If set
 *   to zero, no time limit is imposed.
 * @return bool Returns TRUE on success, or FALSE on failure.
 * @since PHP 4, PHP 5, PHP 7
 **/
function set_time_limit($seconds){}

/**
 * Calculate the sha1 hash of a string
 *
 * @param string $str The input string.
 * @param bool $raw_output If the optional {@link raw_output} is set to
 *   TRUE, then the sha1 digest is instead returned in raw binary format
 *   with a length of 20, otherwise the returned value is a 40-character
 *   hexadecimal number.
 * @return string Returns the sha1 hash as a string.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function sha1($str, $raw_output){}

/**
 * Calculate the sha1 hash of a file
 *
 * @param string $filename The filename of the file to hash.
 * @param bool $raw_output When TRUE, returns the digest in raw binary
 *   format with a length of 20.
 * @return string Returns a string on success, FALSE otherwise.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function sha1_file($filename, $raw_output){}

/**
 * Calculate the sha256 hash of a string
 *
 * @param string $str The string.
 * @param bool $raw_output Whether to return raw binary format (32
 *   bytes).
 * @return string Returns the hash.
 * @since Suhosin >= Unknown
 **/
function sha256($str, $raw_output){}

/**
 * Calculate the sha256 hash of given filename
 *
 * @param string $filename Name of the file.
 * @param bool $raw_output Whether to return raw binary format (32
 *   bytes).
 * @return string Returns the hash.
 * @since Suhosin >= Unknown
 **/
function sha256_file($filename, $raw_output){}

/**
 * Execute command via shell and return the complete output as a string
 *
 * This function is identical to the backtick operator.
 *
 * @param string $cmd The command that will be executed.
 * @return string The output from the executed command or NULL if an
 *   error occurred or the command produces no output.
 * @since PHP 4, PHP 5, PHP 7
 **/
function shell_exec($cmd){}

/**
 * Close shared memory block
 *
 * {@link shmop_close} is used to close a shared memory block.
 *
 * @param resource $shmid The shared memory block resource created by
 *   {@link shmop_open}
 * @return void
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function shmop_close($shmid){}

/**
 * Delete shared memory block
 *
 * {@link shmop_delete} is used to delete a shared memory block.
 *
 * @param resource $shmid The shared memory block resource created by
 *   {@link shmop_open}
 * @return bool
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function shmop_delete($shmid){}

/**
 * Create or open shared memory block
 *
 * {@link shmop_open} can create or open a shared memory block.
 *
 * @param int $key System's id for the shared memory block. Can be
 *   passed as a decimal or hex.
 * @param string $flags The flags that you can use: "a" for access
 *   (sets SHM_RDONLY for shmat) use this flag when you need to open an
 *   existing shared memory segment for read only "c" for create (sets
 *   IPC_CREATE) use this flag when you need to create a new shared
 *   memory segment or if a segment with the same key exists, try to open
 *   it for read and write "w" for read & write access use this flag when
 *   you need to read and write to a shared memory segment, use this flag
 *   in most cases. "n" create a new memory segment (sets
 *   IPC_CREATE|IPC_EXCL) use this flag when you want to create a new
 *   shared memory segment but if one already exists with the same flag,
 *   fail. This is useful for security purposes, using this you can
 *   prevent race condition exploits.
 * @param int $mode The permissions that you wish to assign to your
 *   memory segment, those are the same as permission for a file.
 *   Permissions need to be passed in octal form, like for example 0644
 * @param int $size The size of the shared memory block you wish to
 *   create in bytes
 * @return resource On success {@link shmop_open} will return an
 *   resource that you can use to access the shared memory segment you've
 *   created. FALSE is returned on failure.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function shmop_open($key, $flags, $mode, $size){}

/**
 * Read data from shared memory block
 *
 * {@link shmop_read} will read a string from shared memory block.
 *
 * @param resource $shmid The shared memory block identifier created by
 *   {@link shmop_open}
 * @param int $start Offset from which to start reading
 * @param int $count The number of bytes to read
 * @return string Returns the data.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function shmop_read($shmid, $start, $count){}

/**
 * Get size of shared memory block
 *
 * {@link shmop_size} is used to get the size, in bytes of the shared
 * memory block.
 *
 * @param resource $shmid The shared memory block identifier created by
 *   {@link shmop_open}
 * @return int Returns an int, which represents the number of bytes the
 *   shared memory block occupies.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function shmop_size($shmid){}

/**
 * Write data into shared memory block
 *
 * {@link shmop_write} will write a string into shared memory block.
 *
 * @param resource $shmid The shared memory block identifier created by
 *   {@link shmop_open}
 * @param string $data A string to write into shared memory block
 * @param int $offset Specifies where to start writing data inside the
 *   shared memory segment.
 * @return int The size of the written {@link data}, or FALSE on
 *   failure.
 * @since PHP 4 >= 4.0.4, PHP 5, PHP 7
 **/
function shmop_write($shmid, $data, $offset){}

/**
 * Creates or open a shared memory segment
 *
 * {@link shm_attach} returns an id that can be used to access the System
 * V shared memory with the given {@link key}, the first call creates the
 * shared memory segment with {@link memsize} and the optional perm-bits
 * {@link perm}.
 *
 * A second call to {@link shm_attach} for the same {@link key} will
 * return a different shared memory identifier, but both identifiers
 * access the same underlying shared memory. {@link memsize} and {@link
 * perm} will be ignored.
 *
 * @param int $key A numeric shared memory segment ID
 * @param int $memsize The memory size. If not provided, default to the
 *   sysvshm.init_mem in the , otherwise 10000 bytes.
 * @param int $perm The optional permission bits. Default to 0666.
 * @return resource Returns a shared memory segment identifier.
 * @since PHP 4, PHP 5, PHP 7
 **/
function shm_attach($key, $memsize, $perm){}

/**
 * Disconnects from shared memory segment
 *
 * {@link shm_detach} disconnects from the shared memory given by the
 * {@link shm_identifier} created by {@link shm_attach}. Remember, that
 * shared memory still exist in the Unix system and the data is still
 * present.
 *
 * @param resource $shm_identifier A shared memory resource handle as
 *   returned by {@link shm_attach}
 * @return bool {@link shm_detach} always returns TRUE.
 * @since PHP 4, PHP 5, PHP 7
 **/
function shm_detach($shm_identifier){}

/**
 * Returns a variable from shared memory
 *
 * {@link shm_get_var} returns the variable with a given {@link
 * variable_key}, in the given shared memory segment. The variable is
 * still present in the shared memory.
 *
 * @param resource $shm_identifier Shared memory segment, obtained from
 *   {@link shm_attach}.
 * @param int $variable_key The variable key.
 * @return mixed Returns the variable with the given key.
 * @since PHP 4, PHP 5, PHP 7
 **/
function shm_get_var($shm_identifier, $variable_key){}

/**
 * Check whether a specific entry exists
 *
 * Checks whether a specific key exists inside a shared memory segment.
 *
 * @param resource $shm_identifier Shared memory segment, obtained from
 *   {@link shm_attach}.
 * @param int $variable_key The variable key.
 * @return bool Returns TRUE if the entry exists, otherwise FALSE
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function shm_has_var($shm_identifier, $variable_key){}

/**
 * Inserts or updates a variable in shared memory
 *
 * {@link shm_put_var} inserts or updates the {@link variable} with the
 * given {@link variable_key}.
 *
 * Warnings (E_WARNING level) will be issued if {@link shm_identifier} is
 * not a valid SysV shared memory index or if there was not enough shared
 * memory remaining to complete your request.
 *
 * @param resource $shm_identifier A shared memory resource handle as
 *   returned by {@link shm_attach}
 * @param int $variable_key The variable key.
 * @param mixed $variable The variable. All variable types that {@link
 *   serialize} supports may be used: generally this means all types
 *   except for resources and some internal objects that cannot be
 *   serialized.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function shm_put_var($shm_identifier, $variable_key, $variable){}

/**
 * Removes shared memory from Unix systems
 *
 * {@link shm_remove} removes the shared memory {@link shm_identifier}.
 * All data will be destroyed.
 *
 * @param resource $shm_identifier The shared memory identifier as
 *   returned by {@link shm_attach}
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function shm_remove($shm_identifier){}

/**
 * Removes a variable from shared memory
 *
 * Removes a variable with a given {@link variable_key} and frees the
 * occupied memory.
 *
 * @param resource $shm_identifier The shared memory identifier as
 *   returned by {@link shm_attach}
 * @param int $variable_key The variable key.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function shm_remove_var($shm_identifier, $variable_key){}

/**
 * Syntax highlighting of a file
 *
 * Prints out or returns a syntax highlighted version of the code
 * contained in {@link filename} using the colors defined in the built-in
 * syntax highlighter for PHP.
 *
 * Many servers are configured to automatically highlight files with a
 * phps extension. For example, example.phps when viewed will show the
 * syntax highlighted source of the file. To enable this, add this line
 * to the :
 *
 * @param string $filename Path to the PHP file to be highlighted.
 * @param bool $return Set this parameter to TRUE to make this function
 *   return the highlighted code.
 * @return mixed If {@link return} is set to TRUE, returns the
 *   highlighted code as a string instead of printing it out. Otherwise,
 *   it will return TRUE on success, FALSE on failure.
 * @since PHP 4, PHP 5, PHP 7
 **/
function show_source($filename, $return){}

/**
 * Shuffle an array
 *
 * This function shuffles (randomizes the order of the elements in) an
 * array. It uses a pseudo random number generator that is not suitable
 * for cryptographic purposes.
 *
 * @param array $array The array.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function shuffle(&$array){}

/**
 * Calculate the similarity between two strings
 *
 * This calculates the similarity between two strings as described in .
 * Note that this implementation does not use a stack as in Oliver's
 * pseudo code, but recursive calls which may or may not speed up the
 * whole process. Note also that the complexity of this algorithm is
 * O(N**3) where N is the length of the longest string.
 *
 * @param string $first The first string.
 * @param string $second The second string.
 * @param float $percent By passing a reference as third argument,
 *   {@link similar_text} will calculate the similarity in percent, by
 *   dividing the result of {@link similar_text} by the average of the
 *   lengths of the given strings times 100.
 * @return int Returns the number of matching chars in both strings.
 * @since PHP 4, PHP 5, PHP 7
 **/
function similar_text($first, $second, &$percent){}

/**
 * Get a object from a DOM node
 *
 * This function takes a node of a DOM document and makes it into a
 * SimpleXML node. This new object can then be used as a native SimpleXML
 * element.
 *
 * @param DOMNode $node A DOM Element node
 * @param string $class_name You may use this optional parameter so
 *   that {@link simplexml_import_dom} will return an object of the
 *   specified class. That class should extend the SimpleXMLElement
 *   class.
 * @return SimpleXMLElement Returns a SimpleXMLElement.
 * @since PHP 5, PHP 7
 **/
function simplexml_import_dom($node, $class_name){}

/**
 * Interprets an XML file into an object
 *
 * Convert the well-formed XML document in the given file to an object.
 *
 * @param string $filename Path to the XML file
 * @param string $class_name You may use this optional parameter so
 *   that {@link simplexml_load_file} will return an object of the
 *   specified class. That class should extend the SimpleXMLElement
 *   class.
 * @param int $options Since PHP 5.1.0 and Libxml 2.6.0, you may also
 *   use the {@link options} parameter to specify additional Libxml
 *   parameters.
 * @param string $ns Namespace prefix or URI.
 * @param bool $is_prefix TRUE if {@link ns} is a prefix, FALSE if it's
 *   a URI; defaults to FALSE.
 * @return SimpleXMLElement Returns an object of class SimpleXMLElement
 *   with properties containing the data held within the XML document,.
 * @since PHP 5, PHP 7
 **/
function simplexml_load_file($filename, $class_name, $options, $ns, $is_prefix){}

/**
 * Interprets a string of XML into an object
 *
 * Takes a well-formed XML string and returns it as an object.
 *
 * @param string $data A well-formed XML string
 * @param string $class_name You may use this optional parameter so
 *   that {@link simplexml_load_string} will return an object of the
 *   specified class. That class should extend the SimpleXMLElement
 *   class.
 * @param int $options Since PHP 5.1.0 and Libxml 2.6.0, you may also
 *   use the {@link options} parameter to specify additional Libxml
 *   parameters.
 * @param string $ns Namespace prefix or URI.
 * @param bool $is_prefix TRUE if {@link ns} is a prefix, FALSE if it's
 *   a URI; defaults to FALSE.
 * @return SimpleXMLElement Returns an object of class SimpleXMLElement
 *   with properties containing the data held within the xml document,.
 * @since PHP 5, PHP 7
 **/
function simplexml_load_string($data, $class_name, $options, $ns, $is_prefix){}

/**
 * Sine
 *
 * {@link sin} returns the sine of the {@link arg} parameter. The {@link
 * arg} parameter is in radians.
 *
 * @param float $arg A value in radians
 * @return float The sine of {@link arg}
 * @since PHP 4, PHP 5, PHP 7
 **/
function sin($arg){}

/**
 * Hyperbolic sine
 *
 * Returns the hyperbolic sine of {@link arg}, defined as (exp(arg) -
 * exp(-arg))/2.
 *
 * @param float $arg The argument to process
 * @return float The hyperbolic sine of {@link arg}
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function sinh($arg){}

/**
 * Count all elements in an array, or something in an object
 *
 * Counts all elements in an array, or something in an object.
 *
 * For objects, if you have SPL installed, you can hook into {@link
 * sizeof} by implementing interface Countable. The interface has exactly
 * one method, Countable::sizeof, which returns the return value for the
 * {@link sizeof} function.
 *
 * Please see the Array section of the manual for a detailed explanation
 * of how arrays are implemented and used in PHP.
 *
 * @param mixed $array_or_countable An array or Countable object.
 * @param int $mode If the optional {@link mode} parameter is set to
 *   COUNT_RECURSIVE (or 1), {@link count} will recursively count the
 *   array. This is particularly useful for counting all the elements of
 *   a multidimensional array.
 * @return int Returns the number of elements in {@link
 *   array_or_countable}. When the parameter is neither an array nor an
 *   object with implemented Countable interface, 1 will be returned.
 *   There is one exception, if {@link array_or_countable} is NULL, 0
 *   will be returned.
 * @since PHP 4, PHP 5, PHP 7
 **/
function sizeof($array_or_countable, $mode){}

/**
 * Delay execution
 *
 * @param int $seconds Halt time in seconds.
 * @return int Returns zero on success, or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function sleep($seconds){}

/**
 * Fetch an object
 *
 * The {@link snmp2_get} function is used to read the value of an SNMP
 * object specified by the {@link object_id}.
 *
 * @param string $host The SNMP agent.
 * @param string $community The read community.
 * @param string $object_id The SNMP object.
 * @param string $timeout The number of microseconds until the first
 *   timeout.
 * @param string $retries The number of times to retry if timeouts
 *   occur.
 * @return string Returns SNMP object value on success or FALSE on
 *   error.
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function snmp2_get($host, $community, $object_id, $timeout, $retries){}

/**
 * Fetch the object which follows the given object id
 *
 * The {@link snmp2_get_next} function is used to read the value of the
 * SNMP object that follows the specified {@link object_id}.
 *
 * @param string $host The hostname of the SNMP agent (server).
 * @param string $community The read community.
 * @param string $object_id The SNMP object id which precedes the
 *   wanted one.
 * @param string $timeout The number of microseconds until the first
 *   timeout.
 * @param string $retries The number of times to retry if timeouts
 *   occur.
 * @return string Returns SNMP object value on success or FALSE on
 *   error. In case of an error, an E_WARNING message is shown.
 * @since PHP >= 5.2.0
 **/
function snmp2_getnext($host, $community, $object_id, $timeout, $retries){}

/**
 * Return all objects including their respective object ID within the
 * specified one
 *
 * The {@link snmp2_real_walk} function is used to traverse over a number
 * of SNMP objects starting from {@link object_id} and return not only
 * their values but also their object ids.
 *
 * @param string $host The hostname of the SNMP agent (server).
 * @param string $community The read community.
 * @param string $object_id The SNMP object id which precedes the
 *   wanted one.
 * @param string $timeout The number of microseconds until the first
 *   timeout.
 * @param string $retries The number of times to retry if timeouts
 *   occur.
 * @return array Returns an associative array of the SNMP object ids
 *   and their values on success or FALSE on error. In case of an error,
 *   an E_WARNING message is shown.
 * @since PHP >= 5.2.0
 **/
function snmp2_real_walk($host, $community, $object_id, $timeout, $retries){}

/**
 * Set the value of an object
 *
 * {@link snmp2_set} is used to set the value of an SNMP object specified
 * by the {@link object_id}.
 *
 * @param string $host The hostname of the SNMP agent (server).
 * @param string $community The write community.
 * @param string $object_id The SNMP object id.
 * @param string $type
 * @param string $value The new value.
 * @param string $timeout The number of microseconds until the first
 *   timeout.
 * @param string $retries The number of times to retry if timeouts
 *   occur.
 * @return bool
 * @since PHP >= 5.2.0
 **/
function snmp2_set($host, $community, $object_id, $type, $value, $timeout, $retries){}

/**
 * Fetch all the objects from an agent
 *
 * {@link snmp2_walk} function is used to read all the values from an
 * SNMP agent specified by the {@link hostname}.
 *
 * @param string $host The SNMP agent (server).
 * @param string $community The read community.
 * @param string $object_id If NULL, {@link object_id} is taken as the
 *   root of the SNMP objects tree and all objects under that tree are
 *   returned as an array. If {@link object_id} is specified, all the
 *   SNMP objects below that {@link object_id} are returned.
 * @param string $timeout The number of microseconds until the first
 *   timeout.
 * @param string $retries The number of times to retry if timeouts
 *   occur.
 * @return array Returns an array of SNMP object values starting from
 *   the {@link object_id} as root or FALSE on error.
 * @since PHP >= 5.2.0
 **/
function snmp2_walk($host, $community, $object_id, $timeout, $retries){}

/**
 * Fetch an object
 *
 * The {@link snmp3_get} function is used to read the value of an SNMP
 * object specified by the {@link object_id}.
 *
 * @param string $host The hostname of the SNMP agent (server).
 * @param string $sec_name the security name, usually some kind of
 *   username
 * @param string $sec_level the security level
 *   (noAuthNoPriv|authNoPriv|authPriv)
 * @param string $auth_protocol the authentication protocol (MD5 or
 *   SHA)
 * @param string $auth_passphrase the authentication pass phrase
 * @param string $priv_protocol the privacy protocol (DES or AES)
 * @param string $priv_passphrase the privacy pass phrase
 * @param string $object_id The SNMP object id.
 * @param string $timeout The number of microseconds until the first
 *   timeout.
 * @param string $retries The number of times to retry if timeouts
 *   occur.
 * @return string Returns SNMP object value on success or FALSE on
 *   error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function snmp3_get($host, $sec_name, $sec_level, $auth_protocol, $auth_passphrase, $priv_protocol, $priv_passphrase, $object_id, $timeout, $retries){}

/**
 * Fetch the object which follows the given object id
 *
 * The {@link snmp3_getnext} function is used to read the value of the
 * SNMP object that follows the specified {@link object_id}.
 *
 * @param string $host The hostname of the SNMP agent (server).
 * @param string $sec_name the security name, usually some kind of
 *   username
 * @param string $sec_level the security level
 *   (noAuthNoPriv|authNoPriv|authPriv)
 * @param string $auth_protocol the authentication protocol (MD5 or
 *   SHA)
 * @param string $auth_passphrase the authentication pass phrase
 * @param string $priv_protocol the privacy protocol (DES or AES)
 * @param string $priv_passphrase the privacy pass phrase
 * @param string $object_id The SNMP object id.
 * @param string $timeout The number of microseconds until the first
 *   timeout.
 * @param string $retries The number of times to retry if timeouts
 *   occur.
 * @return string Returns SNMP object value on success or FALSE on
 *   error. In case of an error, an E_WARNING message is shown.
 * @since PHP 5, PHP 7
 **/
function snmp3_getnext($host, $sec_name, $sec_level, $auth_protocol, $auth_passphrase, $priv_protocol, $priv_passphrase, $object_id, $timeout, $retries){}

/**
 * Return all objects including their respective object ID within the
 * specified one
 *
 * The {@link snmp3_real_walk} function is used to traverse over a number
 * of SNMP objects starting from {@link object_id} and return not only
 * their values but also their object ids.
 *
 * @param string $host The hostname of the SNMP agent (server).
 * @param string $sec_name the security name, usually some kind of
 *   username
 * @param string $sec_level the security level
 *   (noAuthNoPriv|authNoPriv|authPriv)
 * @param string $auth_protocol the authentication protocol (MD5 or
 *   SHA)
 * @param string $auth_passphrase the authentication pass phrase
 * @param string $priv_protocol the privacy protocol (DES or AES)
 * @param string $priv_passphrase the privacy pass phrase
 * @param string $object_id The SNMP object id.
 * @param string $timeout The number of microseconds until the first
 *   timeout.
 * @param string $retries The number of times to retry if timeouts
 *   occur.
 * @return array Returns an associative array of the SNMP object ids
 *   and their values on success or FALSE on error. In case of an error,
 *   an E_WARNING message is shown.
 * @since PHP 4, PHP 5, PHP 7
 **/
function snmp3_real_walk($host, $sec_name, $sec_level, $auth_protocol, $auth_passphrase, $priv_protocol, $priv_passphrase, $object_id, $timeout, $retries){}

/**
 * Set the value of an SNMP object
 *
 * {@link snmp3_set} is used to set the value of an SNMP object specified
 * by the {@link object_id}.
 *
 * Even if the security level does not use an auth or priv
 * protocol/password valid values have to be specified.
 *
 * @param string $host The hostname of the SNMP agent (server).
 * @param string $sec_name the security name, usually some kind of
 *   username
 * @param string $sec_level the security level
 *   (noAuthNoPriv|authNoPriv|authPriv)
 * @param string $auth_protocol the authentication protocol (MD5 or
 *   SHA)
 * @param string $auth_passphrase the authentication pass phrase
 * @param string $priv_protocol the privacy protocol (DES or AES)
 * @param string $priv_passphrase the privacy pass phrase
 * @param string $object_id The SNMP object id.
 * @param string $type
 * @param string $value The new value
 * @param int $timeout The number of microseconds until the first
 *   timeout.
 * @param int $retries The number of times to retry if timeouts occur.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function snmp3_set($host, $sec_name, $sec_level, $auth_protocol, $auth_passphrase, $priv_protocol, $priv_passphrase, $object_id, $type, $value, $timeout, $retries){}

/**
 * Fetch all the objects from an agent
 *
 * {@link snmp3_walk} function is used to read all the values from an
 * SNMP agent specified by the {@link hostname}.
 *
 * Even if the security level does not use an auth or priv
 * protocol/password valid values have to be specified.
 *
 * @param string $host The hostname of the SNMP agent (server).
 * @param string $sec_name the security name, usually some kind of
 *   username
 * @param string $sec_level the security level
 *   (noAuthNoPriv|authNoPriv|authPriv)
 * @param string $auth_protocol the authentication protocol (MD5 or
 *   SHA)
 * @param string $auth_passphrase the authentication pass phrase
 * @param string $priv_protocol the privacy protocol (DES or AES)
 * @param string $priv_passphrase the privacy pass phrase
 * @param string $object_id If NULL, {@link object_id} is taken as the
 *   root of the SNMP objects tree and all objects under that tree are
 *   returned as an array. If {@link object_id} is specified, all the
 *   SNMP objects below that {@link object_id} are returned.
 * @param string $timeout The number of microseconds until the first
 *   timeout.
 * @param string $retries The number of times to retry if timeouts
 *   occur.
 * @return array Returns an array of SNMP object values starting from
 *   the {@link object_id} as root or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function snmp3_walk($host, $sec_name, $sec_level, $auth_protocol, $auth_passphrase, $priv_protocol, $priv_passphrase, $object_id, $timeout, $retries){}

/**
 * Fetch an object
 *
 * The {@link snmpget} function is used to read the value of an SNMP
 * object specified by the {@link object_id}.
 *
 * @param string $hostname The SNMP agent.
 * @param string $community The read community.
 * @param string $object_id The SNMP object.
 * @param int $timeout The number of microseconds until the first
 *   timeout.
 * @param int $retries The number of times to retry if timeouts occur.
 * @return string Returns SNMP object value on success or FALSE on
 *   error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function snmpget($hostname, $community, $object_id, $timeout, $retries){}

/**
 * Fetch the object which follows the given object id
 *
 * The {@link snmpgetnext} function is used to read the value of the SNMP
 * object that follows the specified {@link object_id}.
 *
 * @param string $host The hostname of the SNMP agent (server).
 * @param string $community The read community.
 * @param string $object_id The SNMP object id which precedes the
 *   wanted one.
 * @param int $timeout The number of microseconds until the first
 *   timeout.
 * @param int $retries The number of times to retry if timeouts occur.
 * @return string Returns SNMP object value on success or FALSE on
 *   error. In case of an error, an E_WARNING message is shown.
 * @since PHP 5, PHP 7
 **/
function snmpgetnext($host, $community, $object_id, $timeout, $retries){}

/**
 * Return all objects including their respective object ID within the
 * specified one
 *
 * The {@link snmprealwalk} function is used to traverse over a number of
 * SNMP objects starting from {@link object_id} and return not only their
 * values but also their object ids.
 *
 * @param string $host The hostname of the SNMP agent (server).
 * @param string $community The read community.
 * @param string $object_id The SNMP object id which precedes the
 *   wanted one.
 * @param int $timeout The number of microseconds until the first
 *   timeout.
 * @param int $retries The number of times to retry if timeouts occur.
 * @return array Returns an associative array of the SNMP object ids
 *   and their values on success or FALSE on error. In case of an error,
 *   an E_WARNING message is shown.
 * @since PHP 4, PHP 5, PHP 7
 **/
function snmprealwalk($host, $community, $object_id, $timeout, $retries){}

/**
 * Set the value of an object
 *
 * {@link snmpset} is used to set the value of an SNMP object specified
 * by the {@link object_id}.
 *
 * @param string $host The hostname of the SNMP agent (server).
 * @param string $community The write community.
 * @param string $object_id The SNMP object id.
 * @param string $type
 * @param mixed $value The new value.
 * @param int $timeout The number of microseconds until the first
 *   timeout.
 * @param int $retries The number of times to retry if timeouts occur.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function snmpset($host, $community, $object_id, $type, $value, $timeout, $retries){}

/**
 * Fetch all the objects from an agent
 *
 * {@link snmpwalk} function is used to read all the values from an SNMP
 * agent specified by the {@link hostname}.
 *
 * @param string $hostname The SNMP agent (server).
 * @param string $community The read community.
 * @param string $object_id If NULL, {@link object_id} is taken as the
 *   root of the SNMP objects tree and all objects under that tree are
 *   returned as an array. If {@link object_id} is specified, all the
 *   SNMP objects below that {@link object_id} are returned.
 * @param int $timeout The number of microseconds until the first
 *   timeout.
 * @param int $retries The number of times to retry if timeouts occur.
 * @return array Returns an array of SNMP object values starting from
 *   the {@link object_id} as root or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function snmpwalk($hostname, $community, $object_id, $timeout, $retries){}

/**
 * Query for a tree of information about a network entity
 *
 * {@link snmpwalkoid} function is used to read all object ids and their
 * respective values from an SNMP agent specified by {@link hostname}.
 *
 * The existence of {@link snmpwalkoid} and {@link snmpwalk} has
 * historical reasons. Both functions are provided for backward
 * compatibility. Use {@link snmprealwalk} instead.
 *
 * @param string $hostname The SNMP agent.
 * @param string $community The read community.
 * @param string $object_id If NULL, {@link object_id} is taken as the
 *   root of the SNMP objects tree and all objects under that tree are
 *   returned as an array. If {@link object_id} is specified, all the
 *   SNMP objects below that {@link object_id} are returned.
 * @param int $timeout The number of microseconds until the first
 *   timeout.
 * @param int $retries The number of times to retry if timeouts occur.
 * @return array Returns an associative array with object ids and their
 *   respective object value starting from the {@link object_id} as root
 *   or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function snmpwalkoid($hostname, $community, $object_id, $timeout, $retries){}

/**
 * Fetches the current value of the UCD library's quick_print setting
 *
 * Returns the current value stored in the UCD Library for quick_print.
 * quick_print is off by default.
 *
 * @return bool Returns TRUE if quick_print is on, FALSE otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function snmp_get_quick_print(){}

/**
 * Return the method how the SNMP values will be returned
 *
 * @return int OR-ed combitantion of constants ( SNMP_VALUE_LIBRARY or
 *   SNMP_VALUE_PLAIN ) with possible SNMP_VALUE_OBJECT set.
 * @since PHP 4 >= 4.3.3, PHP 5, PHP 7
 **/
function snmp_get_valueretrieval(){}

/**
 * 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 VENDOR-MIB::foo.1 instead of error
 * prone numeric OIDs can be used.
 *
 * The order in which the MIBs are loaded does matter as the underlying
 * Net-SNMP libary will print warnings if referenced objects cannot be
 * resolved.
 *
 * @param string $filename The filename of the MIB.
 * @return bool
 * @since PHP 5, PHP 7
 **/
function snmp_read_mib($filename){}

/**
 * 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.
 *
 * @param int $enum_print As the value is interpreted as boolean by the
 *   Net-SNMP library, it can only be "0" or "1".
 * @return bool
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function snmp_set_enum_print($enum_print){}

/**
 * Set the OID output format
 *
 * {@link snmp_set_oid_output_format}.
 *
 * @param int $oid_format
 * @return void
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function snmp_set_oid_numeric_print($oid_format){}

/**
 * Set the OID output format
 *
 * {@link snmp_set_oid_output_format} sets the output format to be full
 * or numeric.
 *
 * @param int $oid_format Begining from PHP 5.4.0 four additional
 *   constants available:
 *   SNMP_OID_OUTPUT_MODULEDISMAN-EVENT-MIB::sysUpTimeInstance
 *   SNMP_OID_OUTPUT_SUFFIXsysUpTimeInstance
 *   SNMP_OID_OUTPUT_UCDsystem.sysUpTime.sysUpTimeInstance
 *   SNMP_OID_OUTPUT_NONEUndefined
 * @return bool
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function snmp_set_oid_output_format($oid_format){}

/**
 * Set the value of within the UCD library
 *
 * Sets the value of {@link quick_print} within the UCD 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 {@link
 * quick_print} is not enabled (default) the UCD 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 UCD 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.
 *
 * @param bool $quick_print
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function snmp_set_quick_print($quick_print){}

/**
 * Specify the method how the SNMP values will be returned
 *
 * @param int $method
 * @return bool
 * @since PHP 4 >= 4.3.3, PHP 5, PHP 7
 **/
function snmp_set_valueretrieval($method){}

/**
 * Accepts a connection on a socket
 *
 * After the socket {@link socket} has been created using {@link
 * socket_create}, bound to a name with {@link socket_bind}, and told to
 * listen for connections with {@link socket_listen}, this function will
 * accept incoming connections on that socket. Once a successful
 * connection is made, a new socket resource is returned, which may be
 * used for communication. If there are multiple connections queued on
 * the socket, the first will be used. If there are no pending
 * connections, {@link socket_accept} will block until a connection
 * becomes present. If {@link socket} has been made non-blocking using
 * {@link socket_set_blocking} or {@link socket_set_nonblock}, FALSE will
 * be returned.
 *
 * The socket resource returned by {@link socket_accept} may not be used
 * to accept new connections. The original listening socket {@link
 * socket}, however, remains open and may be reused.
 *
 * @param resource $socket A valid socket resource created with {@link
 *   socket_create}.
 * @return resource Returns a new socket resource on success, or FALSE
 *   on error. The actual error code can be retrieved by calling {@link
 *   socket_last_error}. This error code may be passed to {@link
 *   socket_strerror} to get a textual explanation of the error.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function socket_accept($socket){}

/**
 * Create and bind to a socket from a given addrinfo
 *
 * Create a Socket resource, and bind it to the provided AddrInfo
 * resource. The return value of this function may be used with {@link
 * socket_listen}.
 *
 * @param resource $addr Resource created from {@link
 *   socket_addrinfo_lookup()}.
 * @return resource Returns a Socket resource on success or NULL on
 *   failure.
 * @since PHP 7 >= 7.2.0
 **/
function socket_addrinfo_bind($addr){}

/**
 * Create and connect to a socket from a given addrinfo
 *
 * Create a Socket resource, and connect it to the provided AddrInfo
 * resource. The return value of this function may be used with the rest
 * of the socket functions.
 *
 * @param resource $addr Resource created from {@link
 *   socket_addrinfo_lookup()}
 * @return resource Returns a Socket resource on success or NULL on
 *   failure.
 * @since PHP 7 >= 7.2.0
 **/
function socket_addrinfo_connect($addr){}

/**
 * Get information about addrinfo
 *
 * {@link socket_addrinfo_explain()} exposed the underlying addrinfo
 * structure.
 *
 * @param resource $addr Resource created from {@link
 *   socket_addrinfo_lookup()}
 * @return array Returns an array containing the fields in the addrinfo
 *   structure.
 * @since PHP 7 >= 7.2.0
 **/
function socket_addrinfo_explain($addr){}

/**
 * Get array with contents of getaddrinfo about the given hostname
 *
 * Lookup different ways we can connect to {@link host}. The returned
 * array contains a set of resources that we can bind to using {@link
 * socket_addrinfo_bind}.
 *
 * @param string $host Hostname to search.
 * @param string $service The service to connect to. If service is a
 *   name, it is translated to the corresponding port number.
 * @param array $hints Hints provide criteria for selecting addresses
 *   returned. You may specify the hints as defined by getadrinfo.
 * @return array Returns an array of AddrInfo resource handles that can
 *   be used with the other socket_addrinfo functions.
 * @since PHP 7 >= 7.2.0
 **/
function socket_addrinfo_lookup($host, $service, $hints){}

/**
 * Binds a name to a socket
 *
 * Binds the name given in {@link address} to the socket described by
 * {@link socket}. This has to be done before a connection is be
 * established using {@link socket_connect} or {@link socket_listen}.
 *
 * @param resource $socket A valid socket resource created with {@link
 *   socket_create}.
 * @param string $address If the socket is of the AF_INET family, the
 *   {@link address} is an IP in dotted-quad notation (e.g. 127.0.0.1).
 *   If the socket is of the AF_UNIX family, the {@link address} is the
 *   path of a Unix-domain socket (e.g. /tmp/my.sock).
 * @param int $port The {@link port} parameter is only used when
 *   binding an AF_INET socket, and designates the port on which to
 *   listen for connections.
 * @return bool
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function socket_bind($socket, $address, $port){}

/**
 * Clears the error on the socket or the last error code
 *
 * This function clears the error code on the given socket or the global
 * last socket error if no socket is specified.
 *
 * This function allows explicitly resetting the error code value either
 * of a socket or of the extension global last error code. This may be
 * useful to detect within a part of the application if an error occurred
 * or not.
 *
 * @param resource $socket A valid socket resource created with {@link
 *   socket_create}.
 * @return void
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function socket_clear_error($socket){}

/**
 * Closes a socket resource
 *
 * {@link socket_close} closes the socket resource given by {@link
 * socket}. This function is specific to sockets and cannot be used on
 * any other type of resources.
 *
 * @param resource $socket A valid socket resource created with {@link
 *   socket_create} or {@link socket_accept}.
 * @return void
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function socket_close($socket){}

/**
 * Calculate message buffer size
 *
 * Calculates the size of the buffer that should be allocated for
 * receiving the ancillary data.
 *
 * @param int $level
 * @param int $type
 * @param int $n
 * @return int
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function socket_cmsg_space($level, $type, $n){}

/**
 * Initiates a connection on a socket
 *
 * Initiate a connection to {@link address} using the socket resource
 * {@link socket}, which must be a valid socket resource created with
 * {@link socket_create}.
 *
 * @param resource $socket
 * @param string $address The {@link address} parameter is either an
 *   IPv4 address in dotted-quad notation (e.g. 127.0.0.1) if {@link
 *   socket} is AF_INET, a valid IPv6 address (e.g. ::1) if IPv6 support
 *   is enabled and {@link socket} is AF_INET6 or the pathname of a Unix
 *   domain socket, if the socket family is AF_UNIX.
 * @param int $port The {@link port} parameter is only used and is
 *   mandatory when connecting to an AF_INET or an AF_INET6 socket, and
 *   designates the port on the remote host to which a connection should
 *   be made.
 * @return bool The error code can be retrieved with {@link
 *   socket_last_error}. This code may be passed to {@link
 *   socket_strerror} to get a textual explanation of the error.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function socket_connect($socket, $address, $port){}

/**
 * Create a socket (endpoint for communication)
 *
 * Creates and returns a socket resource, also referred to as an endpoint
 * of communication. A typical network connection is made up of 2
 * sockets, one performing the role of the client, and another performing
 * the role of the server.
 *
 * @param int $domain The {@link domain} parameter specifies the
 *   protocol family to be used by the socket.
 * @param int $type The {@link type} parameter selects the type of
 *   communication to be used by the socket.
 * @param int $protocol The {@link protocol} parameter sets the
 *   specific protocol within the specified {@link domain} to be used
 *   when communicating on the returned socket. The proper value can be
 *   retrieved by name by using {@link getprotobyname}. If the desired
 *   protocol is TCP, or UDP the corresponding constants SOL_TCP, and
 *   SOL_UDP can also be used.
 * @return resource {@link socket_create} returns a socket resource on
 *   success, or FALSE on error. The actual error code can be retrieved
 *   by calling {@link socket_last_error}. This error code may be passed
 *   to {@link socket_strerror} to get a textual explanation of the
 *   error.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function socket_create($domain, $type, $protocol){}

/**
 * Opens a socket on port to accept connections
 *
 * {@link socket_create_listen} creates a new socket resource of type
 * AF_INET listening on all local interfaces on the given port waiting
 * for new connections.
 *
 * This function is meant to ease the task of creating a new socket which
 * only listens to accept new connections.
 *
 * @param int $port The port on which to listen on all interfaces.
 * @param int $backlog The {@link backlog} parameter defines the
 *   maximum length the queue of pending connections may grow to.
 *   SOMAXCONN may be passed as {@link backlog} parameter, see {@link
 *   socket_listen} for more information.
 * @return resource {@link socket_create_listen} returns a new socket
 *   resource on success or FALSE on error. The error code can be
 *   retrieved with {@link socket_last_error}. This code may be passed to
 *   {@link socket_strerror} to get a textual explanation of the error.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function socket_create_listen($port, $backlog){}

/**
 * Creates a pair of indistinguishable sockets and stores them in an
 * array
 *
 * {@link socket_create_pair} creates two connected and indistinguishable
 * sockets, and stores them in {@link fd}. This function is commonly used
 * in IPC (InterProcess Communication).
 *
 * @param int $domain The {@link domain} parameter specifies the
 *   protocol family to be used by the socket. See {@link socket_create}
 *   for the full list.
 * @param int $type The {@link type} parameter selects the type of
 *   communication to be used by the socket. See {@link socket_create}
 *   for the full list.
 * @param int $protocol The {@link protocol} parameter sets the
 *   specific protocol within the specified {@link domain} to be used
 *   when communicating on the returned socket. The proper value can be
 *   retrieved by name by using {@link getprotobyname}. If the desired
 *   protocol is TCP, or UDP the corresponding constants SOL_TCP, and
 *   SOL_UDP can also be used. See {@link socket_create} for the full
 *   list of supported protocols.
 * @param array $fd Reference to an array in which the two socket
 *   resources will be inserted.
 * @return bool
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function socket_create_pair($domain, $type, $protocol, &$fd){}

/**
 * Export a socket extension resource into a stream that encapsulates a
 * socket
 *
 * @param resource $socket
 * @return resource Return resource.
 * @since PHP 7 >= 7.0.7
 **/
function socket_export_stream($socket){}

/**
 * Gets socket options for the socket
 *
 * The {@link socket_getopt} function retrieves the value for the option
 * specified by the {@link optname} parameter for the specified {@link
 * socket}.
 *
 * @param resource $socket A valid socket resource created with {@link
 *   socket_create} or {@link socket_accept}.
 * @param int $level The {@link level} parameter specifies the protocol
 *   level at which the option resides. For example, to retrieve options
 *   at the socket level, a {@link level} parameter of SOL_SOCKET would
 *   be used. Other levels, such as TCP, can be used by specifying the
 *   protocol number of that level. Protocol numbers can be found by
 *   using the {@link getprotobyname} function.
 * @param int $optname
 * @return mixed Returns the value of the given option, or FALSE on
 *   errors.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function socket_getopt($socket, $level, $optname){}

/**
 * Queries the remote side of the given socket which may either result in
 * host/port or in a Unix filesystem path, dependent on its type
 *
 * Queries the remote side of the given socket which may either result in
 * host/port or in a Unix filesystem path, dependent on its type.
 *
 * @param resource $socket A valid socket resource created with {@link
 *   socket_create} or {@link socket_accept}.
 * @param string $address If the given socket is of type AF_INET or
 *   AF_INET6, {@link socket_getpeername} will return the peers (remote)
 *   IP address in appropriate notation (e.g. 127.0.0.1 or fe80::1) in
 *   the {@link address} parameter and, if the optional {@link port}
 *   parameter is present, also the associated port. If the given socket
 *   is of type AF_UNIX, {@link socket_getpeername} will return the Unix
 *   filesystem path (e.g. /var/run/daemon.sock) in the {@link address}
 *   parameter.
 * @param int $port If given, this will hold the port associated to
 *   {@link address}.
 * @return bool {@link socket_getpeername} may also return FALSE if the
 *   socket type is not any of AF_INET, AF_INET6, or AF_UNIX, in which
 *   case the last socket error code is not updated.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function socket_getpeername($socket, &$address, &$port){}

/**
 * Queries the local side of the given socket which may either result in
 * host/port or in a Unix filesystem path, dependent on its type
 *
 * @param resource $socket A valid socket resource created with {@link
 *   socket_create} or {@link socket_accept}.
 * @param string $addr If the given socket is of type AF_INET or
 *   AF_INET6, {@link socket_getsockname} will return the local IP
 *   address in appropriate notation (e.g. 127.0.0.1 or fe80::1) in the
 *   {@link address} parameter and, if the optional {@link port}
 *   parameter is present, also the associated port. If the given socket
 *   is of type AF_UNIX, {@link socket_getsockname} will return the Unix
 *   filesystem path (e.g. /var/run/daemon.sock) in the {@link address}
 *   parameter.
 * @param int $port If provided, this will hold the associated port.
 * @return bool {@link socket_getsockname} may also return FALSE if the
 *   socket type is not any of AF_INET, AF_INET6, or AF_UNIX, in which
 *   case the last socket error code is not updated.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function socket_getsockname($socket, &$addr, &$port){}

/**
 * Gets socket options for the socket
 *
 * The {@link socket_get_option} function retrieves the value for the
 * option specified by the {@link optname} parameter for the specified
 * {@link socket}.
 *
 * @param resource $socket A valid socket resource created with {@link
 *   socket_create} or {@link socket_accept}.
 * @param int $level The {@link level} parameter specifies the protocol
 *   level at which the option resides. For example, to retrieve options
 *   at the socket level, a {@link level} parameter of SOL_SOCKET would
 *   be used. Other levels, such as TCP, can be used by specifying the
 *   protocol number of that level. Protocol numbers can be found by
 *   using the {@link getprotobyname} function.
 * @param int $optname
 * @return mixed Returns the value of the given option, or FALSE on
 *   errors.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function socket_get_option($socket, $level, $optname){}

/**
 * Import a stream
 *
 * Imports a stream that encapsulates a socket into a socket extension
 * resource.
 *
 * @param resource $stream The stream resource to import.
 * @return resource Returns FALSE or NULL on failure.
 * @since PHP 5 >= 5.4.0, PHP 7
 **/
function socket_import_stream($stream){}

/**
 * Returns the last error on the socket
 *
 * If a socket resource is passed to this function, the last error which
 * occurred on this particular socket is returned. If the socket resource
 * is omitted, the error code of the last failed socket function is
 * returned. The latter is particularly helpful for functions like {@link
 * socket_create} which don't return a socket on failure and {@link
 * socket_select} which can fail for reasons not directly tied to a
 * particular socket. The error code is suitable to be fed to {@link
 * socket_strerror} which returns a string describing the given error
 * code.
 *
 * If no error had occurred, or the error had been cleared with {@link
 * socket_clear_error}, the function returns 0.
 *
 * @param resource $socket A valid socket resource created with {@link
 *   socket_create}.
 * @return int This function returns a socket error code.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function socket_last_error($socket){}

/**
 * Listens for a connection on a socket
 *
 * After the socket {@link socket} has been created using {@link
 * socket_create} and bound to a name with {@link socket_bind}, it may be
 * told to listen for incoming connections on {@link socket}.
 *
 * {@link socket_listen} is applicable only to sockets of type
 * SOCK_STREAM or SOCK_SEQPACKET.
 *
 * @param resource $socket A valid socket resource created with {@link
 *   socket_create} or {@link socket_addrinfo_bind}
 * @param int $backlog A maximum of {@link backlog} incoming
 *   connections will be queued for processing. If a connection request
 *   arrives with the queue full the client may receive an error with an
 *   indication of ECONNREFUSED, or, if the underlying protocol supports
 *   retransmission, the request may be ignored so that retries may
 *   succeed.
 * @return bool The error code can be retrieved with {@link
 *   socket_last_error}. This code may be passed to {@link
 *   socket_strerror} to get a textual explanation of the error.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function socket_listen($socket, $backlog){}

/**
 * Reads a maximum of length bytes from a socket
 *
 * The function {@link socket_read} reads from the socket resource {@link
 * socket} created by the {@link socket_create} or {@link socket_accept}
 * functions.
 *
 * @param resource $socket A valid socket resource created with {@link
 *   socket_create} or {@link socket_accept}.
 * @param int $length The maximum number of bytes read is specified by
 *   the {@link length} parameter. Otherwise you can use \r, \n, or \0 to
 *   end reading (depending on the {@link type} parameter, see below).
 * @param int $type Optional {@link type} parameter is a named
 *   constant: PHP_BINARY_READ (Default) - use the system recv()
 *   function. Safe for reading binary data. PHP_NORMAL_READ - reading
 *   stops at \n or \r.
 * @return string {@link socket_read} returns the data as a string on
 *   success, or FALSE on error (including if the remote host has closed
 *   the connection). The error code can be retrieved with {@link
 *   socket_last_error}. This code may be passed to {@link
 *   socket_strerror} to get a textual representation of the error.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function socket_read($socket, $length, $type){}

/**
 * Receives data from a connected socket
 *
 * The {@link socket_recv} function receives {@link len} bytes of data in
 * {@link buf} from {@link socket}. {@link socket_recv} can be used to
 * gather data from connected sockets. Additionally, one or more flags
 * can be specified to modify the behaviour of the function.
 *
 * {@link buf} is passed by reference, so it must be specified as a
 * variable in the argument list. Data read from {@link socket} by {@link
 * socket_recv} will be returned in {@link buf}.
 *
 * @param resource $socket The {@link socket} must be a socket resource
 *   previously created by socket_create().
 * @param string $buf The data received will be fetched to the variable
 *   specified with {@link buf}. If an error occurs, if the connection is
 *   reset, or if no data is available, {@link buf} will be set to NULL.
 * @param int $len Up to {@link len} bytes will be fetched from remote
 *   host.
 * @param int $flags The value of {@link flags} can be any combination
 *   of the following flags, joined with the binary OR (|) operator.
 * @return int {@link socket_recv} returns the number of bytes
 *   received, or FALSE if there was an error. The actual error code can
 *   be retrieved by calling {@link socket_last_error}. This error code
 *   may be passed to {@link socket_strerror} to get a textual
 *   explanation of the error.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function socket_recv($socket, &$buf, $len, $flags){}

/**
 * Receives data from a socket whether or not it is connection-oriented
 *
 * The {@link socket_recvfrom} function receives {@link len} bytes of
 * data in {@link buf} from {@link name} on port {@link port} (if the
 * socket is not of type AF_UNIX) using {@link socket}. {@link
 * socket_recvfrom} can be used to gather data from both connected and
 * unconnected sockets. Additionally, one or more flags can be specified
 * to modify the behaviour of the function.
 *
 * The {@link name} and {@link port} must be passed by reference. If the
 * socket is not connection-oriented, {@link name} will be set to the
 * internet protocol address of the remote host or the path to the UNIX
 * socket. If the socket is connection-oriented, {@link name} is NULL.
 * Additionally, the {@link port} will contain the port of the remote
 * host in the case of an unconnected AF_INET or AF_INET6 socket.
 *
 * @param resource $socket The {@link socket} must be a socket resource
 *   previously created by socket_create().
 * @param string $buf The data received will be fetched to the variable
 *   specified with {@link buf}.
 * @param int $len Up to {@link len} bytes will be fetched from remote
 *   host.
 * @param int $flags The value of {@link flags} can be any combination
 *   of the following flags, joined with the binary OR (|) operator.
 * @param string $name If the socket is of the type AF_UNIX type,
 *   {@link name} is the path to the file. Else, for unconnected sockets,
 *   {@link name} is the IP address of, the remote host, or NULL if the
 *   socket is connection-oriented.
 * @param int $port This argument only applies to AF_INET and AF_INET6
 *   sockets, and specifies the remote port from which the data is
 *   received. If the socket is connection-oriented, {@link port} will be
 *   NULL.
 * @return int {@link socket_recvfrom} returns the number of bytes
 *   received, or FALSE if there was an error. The actual error code can
 *   be retrieved by calling {@link socket_last_error}. This error code
 *   may be passed to {@link socket_strerror} to get a textual
 *   explanation of the error.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function socket_recvfrom($socket, &$buf, $len, $flags, &$name, &$port){}

/**
 * Read a message
 *
 * @param resource $socket
 * @param array $message
 * @param int $flags
 * @return int
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function socket_recvmsg($socket, &$message, $flags){}

/**
 * Runs the select() system call on the given arrays of sockets with a
 * specified timeout
 *
 * {@link socket_select} accepts arrays of sockets and waits for them to
 * change status. Those coming with BSD sockets background will recognize
 * that those socket resource arrays are in fact the so-called file
 * descriptor sets. Three independent arrays of socket resources are
 * watched.
 *
 * @param array $read The sockets listed in the {@link read} array will
 *   be watched to see if characters become available for reading (more
 *   precisely, to see if a read will not block - in particular, a socket
 *   resource is also ready on end-of-file, in which case a {@link
 *   socket_read} will return a zero length string).
 * @param array $write The sockets listed in the {@link write} array
 *   will be watched to see if a write will not block.
 * @param array $except The sockets listed in the {@link except} array
 *   will be watched for exceptions.
 * @param int $tv_sec The {@link tv_sec} and {@link tv_usec} together
 *   form the timeout parameter. The timeout is an upper bound on the
 *   amount of time elapsed before {@link socket_select} return. {@link
 *   tv_sec} may be zero , causing {@link socket_select} to return
 *   immediately. This is useful for polling. If {@link tv_sec} is NULL
 *   (no timeout), {@link socket_select} can block indefinitely.
 * @param int $tv_usec
 * @return int On success {@link socket_select} returns the number of
 *   socket resources contained in the modified arrays, which may be zero
 *   if the timeout expires before anything interesting happens. On error
 *   FALSE is returned. The error code can be retrieved with {@link
 *   socket_last_error}.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function socket_select(&$read, &$write, &$except, $tv_sec, $tv_usec){}

/**
 * Sends data to a connected socket
 *
 * The function {@link socket_send} sends {@link len} bytes to the socket
 * {@link socket} from {@link buf}.
 *
 * @param resource $socket A valid socket resource created with {@link
 *   socket_create} or {@link socket_accept}.
 * @param string $buf A buffer containing the data that will be sent to
 *   the remote host.
 * @param int $len The number of bytes that will be sent to the remote
 *   host from {@link buf}.
 * @param int $flags The value of {@link flags} can be any combination
 *   of the following flags, joined with the binary OR (|) operator.
 *   Possible values for {@link flags} MSG_OOB Send OOB (out-of-band)
 *   data. MSG_EOR Indicate a record mark. The sent data completes the
 *   record. MSG_EOF Close the sender side of the socket and include an
 *   appropriate notification of this at the end of the sent data. The
 *   sent data completes the transaction. MSG_DONTROUTE Bypass routing,
 *   use direct interface.
 * @return int {@link socket_send} returns the number of bytes sent, or
 *   FALSE on error.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function socket_send($socket, $buf, $len, $flags){}

/**
 * Send a message
 *
 * @param resource $socket
 * @param array $message
 * @param int $flags
 * @return int Returns the number of bytes sent, .
 * @since PHP 5 >= 5.5.0, PHP 7
 **/
function socket_sendmsg($socket, $message, $flags){}

/**
 * Sends a message to a socket, whether it is connected or not
 *
 * The function {@link socket_sendto} sends {@link len} bytes from {@link
 * buf} through the socket {@link socket} to the {@link port} at the
 * address {@link addr}.
 *
 * @param resource $socket A valid socket resource created using {@link
 *   socket_create}.
 * @param string $buf The sent data will be taken from buffer {@link
 *   buf}.
 * @param int $len {@link len} bytes from {@link buf} will be sent.
 * @param int $flags The value of {@link flags} can be any combination
 *   of the following flags, joined with the binary OR (|) operator.
 *   Possible values for {@link flags} MSG_OOB Send OOB (out-of-band)
 *   data. MSG_EOR Indicate a record mark. The sent data completes the
 *   record. MSG_EOF Close the sender side of the socket and include an
 *   appropriate notification of this at the end of the sent data. The
 *   sent data completes the transaction. MSG_DONTROUTE Bypass routing,
 *   use direct interface.
 * @param string $addr IP address of the remote host.
 * @param int $port {@link port} is the remote port number at which the
 *   data will be sent.
 * @return int {@link socket_sendto} returns the number of bytes sent
 *   to the remote host, or FALSE if an error occurred.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function socket_sendto($socket, $buf, $len, $flags, $addr, $port){}

/**
 * Sets socket options for the socket
 *
 * The {@link socket_setopt} function sets the option specified by the
 * {@link optname} parameter, at the specified protocol {@link level}, to
 * the value pointed to by the {@link optval} parameter for the {@link
 * socket}.
 *
 * @param resource $socket A valid socket resource created with {@link
 *   socket_create} or {@link socket_accept}.
 * @param int $level The {@link level} parameter specifies the protocol
 *   level at which the option resides. For example, to retrieve options
 *   at the socket level, a {@link level} parameter of SOL_SOCKET would
 *   be used. Other levels, such as TCP, can be used by specifying the
 *   protocol number of that level. Protocol numbers can be found by
 *   using the {@link getprotobyname} function.
 * @param int $optname The available socket options are the same as
 *   those for the {@link socket_get_option} function.
 * @param mixed $optval The option value.
 * @return bool
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function socket_setopt($socket, $level, $optname, $optval){}

/**
 * Sets blocking mode on a socket resource
 *
 * The {@link socket_set_block} function removes the O_NONBLOCK flag on
 * the socket specified by the {@link socket} parameter.
 *
 * When an operation (e.g. receive, send, connect, accept, ...) is
 * performed on a blocking socket, the script will pause its execution
 * until it receives a signal or it can perform the operation.
 *
 * @param resource $socket A valid socket resource created with {@link
 *   socket_create} or {@link socket_accept}.
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function socket_set_block($socket){}

/**
 * Sets nonblocking mode for file descriptor fd
 *
 * The {@link socket_set_nonblock} function sets the O_NONBLOCK flag on
 * the socket specified by the {@link socket} parameter.
 *
 * When an operation (e.g. receive, send, connect, accept, ...) is
 * performed on a non-blocking socket, the script will not pause its
 * execution until it receives a signal or it can perform the operation.
 * Rather, if the operation would result in a block, the called function
 * will fail.
 *
 * @param resource $socket A valid socket resource created with {@link
 *   socket_create} or {@link socket_accept}.
 * @return bool
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function socket_set_nonblock($socket){}

/**
 * Sets socket options for the socket
 *
 * The {@link socket_set_option} function sets the option specified by
 * the {@link optname} parameter, at the specified protocol {@link
 * level}, to the value pointed to by the {@link optval} parameter for
 * the {@link socket}.
 *
 * @param resource $socket A valid socket resource created with {@link
 *   socket_create} or {@link socket_accept}.
 * @param int $level The {@link level} parameter specifies the protocol
 *   level at which the option resides. For example, to retrieve options
 *   at the socket level, a {@link level} parameter of SOL_SOCKET would
 *   be used. Other levels, such as TCP, can be used by specifying the
 *   protocol number of that level. Protocol numbers can be found by
 *   using the {@link getprotobyname} function.
 * @param int $optname The available socket options are the same as
 *   those for the {@link socket_get_option} function.
 * @param mixed $optval The option value.
 * @return bool
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function socket_set_option($socket, $level, $optname, $optval){}

/**
 * Shuts down a socket for receiving, sending, or both
 *
 * The {@link socket_shutdown} function allows you to stop incoming,
 * outgoing or all data (the default) from being sent through the {@link
 * socket}
 *
 * @param resource $socket A valid socket resource created with {@link
 *   socket_create}.
 * @param int $how The value of {@link how} can be one of the
 *   following: possible values for {@link how} 0 Shutdown socket reading
 *   1 Shutdown socket writing 2 Shutdown socket reading and writing
 * @return bool
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function socket_shutdown($socket, $how){}

/**
 * Return a string describing a socket error
 *
 * {@link socket_strerror} takes as its {@link errno} parameter a socket
 * error code as returned by {@link socket_last_error} and returns the
 * corresponding explanatory text.
 *
 * @param int $errno A valid socket error number, likely produced by
 *   {@link socket_last_error}.
 * @return string Returns the error message associated with the {@link
 *   errno} parameter.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function socket_strerror($errno){}

/**
 * Write to a socket
 *
 * The function {@link socket_write} writes to the {@link socket} from
 * the given {@link buffer}.
 *
 * @param resource $socket
 * @param string $buffer The buffer to be written.
 * @param int $length The optional parameter {@link length} can specify
 *   an alternate length of bytes written to the socket. If this length
 *   is greater than the buffer length, it is silently truncated to the
 *   length of the buffer.
 * @return int Returns the number of bytes successfully written to the
 *   socket. The error code can be retrieved with {@link
 *   socket_last_error}. This code may be passed to {@link
 *   socket_strerror} to get a textual explanation of the error.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function socket_write($socket, $buffer, $length){}

/**
 * Add large numbers
 *
 * @param string $val
 * @param string $addv
 * @return void
 * @since PHP 7 >= 7.2.0
 **/
function sodium_add(&$val, $addv){}

/**
 * @param string $b64
 * @param int $id
 * @param string $ignore
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_base642bin($b64, $id, $ignore){}

/**
 * @param string $bin
 * @param int $id
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_bin2base64($bin, $id){}

/**
 * Encode to hexadecimal
 *
 * @param string $bin
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_bin2hex($bin){}

/**
 * Compare large numbers
 *
 * @param string $buf1
 * @param string $buf2
 * @return int
 * @since PHP 7 >= 7.2.0
 **/
function sodium_compare($buf1, $buf2){}

/**
 * Decrypt in combined mode with precalculation
 *
 * @param string $ciphertext
 * @param string $ad
 * @param string $nonce
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_aead_aes256gcm_decrypt($ciphertext, $ad, $nonce, $key){}

/**
 * Encrypt in combined mode with precalculation
 *
 * @param string $msg
 * @param string $ad
 * @param string $nonce
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_aead_aes256gcm_encrypt($msg, $ad, $nonce, $key){}

/**
 * Check if hardware supports AES256-GCM
 *
 * @return bool
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_aead_aes256gcm_is_available(){}

/**
 * Get random bytes for key
 *
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_aead_aes256gcm_keygen(){}

/**
 * Verify that the ciphertext includes a valid tag
 *
 * @param string $ciphertext
 * @param string $ad
 * @param string $nonce
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_aead_chacha20poly1305_decrypt($ciphertext, $ad, $nonce, $key){}

/**
 * Encrypt a message
 *
 * @param string $msg
 * @param string $ad
 * @param string $nonce
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_aead_chacha20poly1305_encrypt($msg, $ad, $nonce, $key){}

/**
 * Verify that the ciphertext includes a valid tag
 *
 * @param string $ciphertext
 * @param string $ad
 * @param string $nonce
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_aead_chacha20poly1305_ietf_decrypt($ciphertext, $ad, $nonce, $key){}

/**
 * Encrypt a message
 *
 * @param string $msg
 * @param string $ad
 * @param string $nonce
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_aead_chacha20poly1305_ietf_encrypt($msg, $ad, $nonce, $key){}

/**
 * Get random bytes for key
 *
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_aead_chacha20poly1305_ietf_keygen(){}

/**
 * Get random bytes for key
 *
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_aead_chacha20poly1305_keygen(){}

/**
 * @param string $ciphertext
 * @param string $ad
 * @param string $nonce
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_aead_xchacha20poly1305_ietf_decrypt($ciphertext, $ad, $nonce, $key){}

/**
 * @param string $msg
 * @param string $ad
 * @param string $nonce
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_aead_xchacha20poly1305_ietf_encrypt($msg, $ad, $nonce, $key){}

/**
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_aead_xchacha20poly1305_ietf_keygen(){}

/**
 * Compute a tag for the message
 *
 * @param string $msg
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_auth($msg, $key){}

/**
 * Get random bytes for key
 *
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_auth_keygen(){}

/**
 * Verifies that the tag is valid for the message
 *
 * @param string $signature
 * @param string $msg
 * @param string $key
 * @return bool
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_auth_verify($signature, $msg, $key){}

/**
 * Encrypt a message
 *
 * @param string $msg
 * @param string $nonce
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_box($msg, $nonce, $key){}

/**
 * Randomly generate a secret key and a corresponding public key
 *
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_box_keypair(){}

/**
 * @param string $secret_key
 * @param string $public_key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_box_keypair_from_secretkey_and_publickey($secret_key, $public_key){}

/**
 * Verify and decrypt a ciphertext
 *
 * @param string $ciphertext
 * @param string $nonce
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_box_open($ciphertext, $nonce, $key){}

/**
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_box_publickey($key){}

/**
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_box_publickey_from_secretkey($key){}

/**
 * Encrypt a message
 *
 * @param string $msg
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_box_seal($msg, $key){}

/**
 * Decrypt the ciphertext
 *
 * @param string $ciphertext
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_box_seal_open($ciphertext, $key){}

/**
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_box_secretkey($key){}

/**
 * Deterministically derive the key pair from a single key
 *
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_box_seed_keypair($key){}

/**
 * Get a hash of the message
 *
 * @param string $msg
 * @param string $key
 * @param int $length
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_generichash($msg, $key, $length){}

/**
 * Complete the hash
 *
 * @param string $state
 * @param int $length
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_generichash_final(&$state, $length){}

/**
 * Initialize a hash
 *
 * @param string $key
 * @param int $length
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_generichash_init($key, $length){}

/**
 * Get random bytes for key
 *
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_generichash_keygen(){}

/**
 * Add message to a hash
 *
 * @param string $state
 * @param string $msg
 * @return bool
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_generichash_update(&$state, $msg){}

/**
 * Derive a subkey
 *
 * @param int $subkey_len
 * @param int $subkey_id
 * @param string $context
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_kdf_derive_from_key($subkey_len, $subkey_id, $context, $key){}

/**
 * Get random bytes for key
 *
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_kdf_keygen(){}

/**
 * @param string $client_keypair
 * @param string $server_key
 * @return array
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_kx_client_session_keys($client_keypair, $server_key){}

/**
 * Creates a new sodium keypair
 *
 * Create a new sodium keypair consisting of the the secret key (32
 * bytes) followed by the public key (32 bytes). The keys can be
 * retrieved by calling {@link sodium_crypto_kx_secretkey} and {@link
 * sodium_crypto_kx_publickey}, respectively.
 *
 * @return string Returns the new keypair on success; throws an
 *   exception otherwise.
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_kx_keypair(){}

/**
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_kx_publickey($key){}

/**
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_kx_secretkey($key){}

/**
 * @param string $string
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_kx_seed_keypair($string){}

/**
 * @param string $server_keypair
 * @param string $client_key
 * @return array
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_kx_server_session_keys($server_keypair, $client_key){}

/**
 * Derive a key from a password
 *
 * @param int $length integer; The length of the password hash to
 *   generate, in bytes.
 * @param string $password string; The password to generate a hash for.
 * @param string $salt string A salt to add to the password before
 *   hashing. The salt should be unpredictable, ideally generated from a
 *   good random mumber source such as {@link random_bytes}, and have a
 *   length of at least SODIUM_CRYPTO_PWHASH_SALTBYTES bytes.
 * @param int $opslimit 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:
 *   SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE,
 *   SODIUM_CRYPTO_PWHASH_OPSLIMIT_MODERATE and
 *   SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE.
 * @param int $memlimit 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:
 *   SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE,
 *   SODIUM_CRYPTO_PWHASH_MEMLIMIT_MODERATE, and
 *   SODIUM_CRYPTO_PWHASH_MEMLIMIT_SENSITIVE. Typically these should be
 *   paired with the matching opslimit values.
 * @param int $alg integer A number indicating the hash algorithm to
 *   use. By default SODIUM_CRYPTO_PWHASH_ALG_DEFAULT (the currently
 *   recommended algorithm, which can change from one version of
 *   libsodium to another), or explicitly using
 *   SODIUM_CRYPTO_PWHASH_ALG_ARGON2I13, representing the Argon2id
 *   algorithm version 1.3.
 * @return string Returns the hashed password, .
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_pwhash($length, $password, $salt, $opslimit, $memlimit, $alg){}

/**
 * Derives a key from a password
 *
 * @param int $length
 * @param string $password
 * @param string $salt
 * @param int $opslimit
 * @param int $memlimit
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_pwhash_scryptsalsa208sha256($length, $password, $salt, $opslimit, $memlimit){}

/**
 * Get an ASCII encoded hash
 *
 * @param string $password
 * @param int $opslimit
 * @param int $memlimit
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_pwhash_scryptsalsa208sha256_str($password, $opslimit, $memlimit){}

/**
 * Verify that the password is a valid password verification string
 *
 * @param string $hash
 * @param string $password
 * @return bool
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_pwhash_scryptsalsa208sha256_str_verify($hash, $password){}

/**
 * Get an ASCII encoded hash
 *
 * @param string $password
 * @param int $opslimit
 * @param int $memlimit
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_pwhash_str($password, $opslimit, $memlimit){}

/**
 * @param string $password
 * @param int $opslimit
 * @param int $memlimit
 * @return bool
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_pwhash_str_needs_rehash($password, $opslimit, $memlimit){}

/**
 * Verify that hash is a valid password verification string
 *
 * @param string $hash
 * @param string $password
 * @return bool
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_pwhash_str_verify($hash, $password){}

/**
 * Compute a shared secret given a user's secret key and another user's
 * public key
 *
 * @param string $n
 * @param string $p
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_scalarmult($n, $p){}

/**
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_scalarmult_base($key){}

/**
 * Encrypt a message
 *
 * @param string $string
 * @param string $nonce
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_secretbox($string, $nonce, $key){}

/**
 * Get random bytes for key
 *
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_secretbox_keygen(){}

/**
 * Verify and decrypt a ciphertext
 *
 * @param string $ciphertext
 * @param string $nonce
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_secretbox_open($ciphertext, $nonce, $key){}

/**
 * @param string $header
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_secretstream_xchacha20poly1305_init_pull($header, $key){}

/**
 * @param string $key
 * @return array
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_secretstream_xchacha20poly1305_init_push($key){}

/**
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_secretstream_xchacha20poly1305_keygen(){}

/**
 * @param string $state
 * @param string $c
 * @param string $ad
 * @return array
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_secretstream_xchacha20poly1305_pull(&$state, $c, $ad){}

/**
 * @param string $state
 * @param string $msg
 * @param string $ad
 * @param int $tag
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_secretstream_xchacha20poly1305_push(&$state, $msg, $ad, $tag){}

/**
 * @param string $state
 * @return void
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_secretstream_xchacha20poly1305_rekey(&$state){}

/**
 * Compute a fixed-size fingerprint for the message
 *
 * @param string $msg
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_shorthash($msg, $key){}

/**
 * Get random bytes for key
 *
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_shorthash_keygen(){}

/**
 * Sign a message
 *
 * @param string $msg
 * @param string $secret_key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_sign($msg, $secret_key){}

/**
 * Sign the message
 *
 * @param string $msg
 * @param string $keypair
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_sign_detached($msg, $keypair){}

/**
 * Convert an Ed25519 public key to a Curve25519 public key
 *
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_sign_ed25519_pk_to_curve25519($key){}

/**
 * Convert an Ed25519 secret key to a Curve25519 secret key
 *
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_sign_ed25519_sk_to_curve25519($key){}

/**
 * Randomly generate a secret key and a corresponding public key
 *
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_sign_keypair(){}

/**
 * @param string $secret_key
 * @param string $public_key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_sign_keypair_from_secretkey_and_publickey($secret_key, $public_key){}

/**
 * Check that the signed message has a valid signature
 *
 * @param string $string
 * @param string $keypair
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_sign_open($string, $keypair){}

/**
 * @param string $keypair
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_sign_publickey($keypair){}

/**
 * Extract the public key from the secret key
 *
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_sign_publickey_from_secretkey($key){}

/**
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_sign_secretkey($key){}

/**
 * Deterministically derive the key pair from a single key
 *
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_sign_seed_keypair($key){}

/**
 * Verify signature for the message
 *
 * @param string $signature
 * @param string $msg
 * @param string $key
 * @return bool
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_sign_verify_detached($signature, $msg, $key){}

/**
 * Generate a deterministic sequence of bytes from a seed
 *
 * @param int $length
 * @param string $nonce
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_stream($length, $nonce, $key){}

/**
 * Get random bytes for key
 *
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_stream_keygen(){}

/**
 * Encrypt a message
 *
 * @param string $msg
 * @param string $nonce
 * @param string $key
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_crypto_stream_xor($msg, $nonce, $key){}

/**
 * Decodes a hexadecimally encoded binary string
 *
 * Like {@link sodium_bin2hex}, {@link sodium_hex2bin} is resistant to
 * side-channel attacks while {@link hex2bin} is not.
 *
 * @param string $hex Hexadecimal representation of data.
 * @param string $ignore Optional string argument for characters to
 *   ignore.
 * @return string Returns the binary representation of the given {@link
 *   hex} data.
 * @since PHP 7 >= 7.2.0
 **/
function sodium_hex2bin($hex, $ignore){}

/**
 * Increment large number
 *
 * @param string $val
 * @return void
 * @since PHP 7 >= 7.2.0
 **/
function sodium_increment(&$val){}

/**
 * Test for equality in constant-time
 *
 * @param string $buf1
 * @param string $buf2
 * @return int
 * @since PHP 7 >= 7.2.0
 **/
function sodium_memcmp($buf1, $buf2){}

/**
 * Overwrite buf with zeros
 *
 * @param string $buf
 * @return void
 * @since PHP 7 >= 7.2.0
 **/
function sodium_memzero(&$buf){}

/**
 * Add padding data
 *
 * @param string $unpadded
 * @param int $length
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_pad($unpadded, $length){}

/**
 * Remove padding data
 *
 * @param string $padded
 * @param int $length
 * @return string
 * @since PHP 7 >= 7.2.0
 **/
function sodium_unpad($padded, $length){}

/**
 * Returns the current version of the Apache Solr extension
 *
 * This function returns the current version of the extension as a
 * string.
 *
 * @return string It returns a string on success and FALSE on failure.
 * @since PECL solr >= 0.9.1
 **/
function solr_get_version(){}

/**
 * Sort an array
 *
 * This function sorts an array. Elements will be arranged from lowest to
 * highest when this function has completed.
 *
 * @param array $array The input array.
 * @param int $sort_flags The optional second parameter {@link
 *   sort_flags} may be used to modify the sorting behavior using these
 *   values: Sorting type flags: SORT_REGULAR - compare items normally
 *   (don't change types) SORT_NUMERIC - compare items numerically
 *   SORT_STRING - compare items as strings SORT_LOCALE_STRING - compare
 *   items as strings, based on the current locale. It uses the locale,
 *   which can be changed using {@link setlocale} SORT_NATURAL - compare
 *   items as strings using "natural ordering" like {@link natsort}
 *   SORT_FLAG_CASE - can be combined (bitwise OR) with SORT_STRING or
 *   SORT_NATURAL to sort strings case-insensitively
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function sort(&$array, $sort_flags){}

/**
 * Calculate the soundex key of a string
 *
 * Calculates the soundex key of {@link str}.
 *
 * Soundex keys have the property that words pronounced similarly produce
 * the same soundex key, and can thus be used to simplify searches in
 * databases where you know the pronunciation but not the spelling. This
 * soundex function returns a string 4 characters long, starting with a
 * letter.
 *
 * This particular soundex function is one described by Donald Knuth in
 * "The Art Of Computer Programming, vol. 3: Sorting And Searching",
 * Addison-Wesley (1973), pp. 391-392.
 *
 * @param string $str The input string.
 * @return string Returns the soundex key as a string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function soundex($str){}

/**
 * Split string into array by regular expression
 *
 * Splits a {@link string} into array by regular expression.
 *
 * @param string $pattern Case sensitive regular expression. If you
 *   want to split on any of the characters which are considered special
 *   by regular expressions, you'll need to escape them first. If you
 *   think {@link split} (or any other regex function, for that matter)
 *   is doing something weird, please read the file regex.7, included in
 *   the regex/ subdirectory of the PHP distribution. It's in manpage
 *   format, so you'll want to do something along the lines of man
 *   /usr/local/src/regex/regex.7 in order to read it.
 * @param string $string The input string.
 * @param int $limit If {@link limit} is set, the returned array will
 *   contain a maximum of {@link limit} elements with the last element
 *   containing the whole rest of {@link string}.
 * @return array Returns an array of strings, each of which is a
 *   substring of {@link string} formed by splitting it on boundaries
 *   formed by the case-sensitive regular expression {@link pattern}.
 * @since PHP 4, PHP 5
 **/
function split($pattern, $string, $limit){}

/**
 * Split string into array by regular expression case insensitive
 *
 * Splits a {@link string} into array by regular expression.
 *
 * This function is identical to {@link split} except that this ignores
 * case distinction when matching alphabetic characters.
 *
 * @param string $pattern Case insensitive regular expression. If you
 *   want to split on any of the characters which are considered special
 *   by regular expressions, you'll need to escape them first. If you
 *   think {@link spliti} (or any other regex function, for that matter)
 *   is doing something weird, please read the file regex.7, included in
 *   the regex/ subdirectory of the PHP distribution. It's in manpage
 *   format, so you'll want to do something along the lines of man
 *   /usr/local/src/regex/regex.7 in order to read it.
 * @param string $string The input string.
 * @param int $limit If {@link limit} is set, the returned array will
 *   contain a maximum of {@link limit} elements with the last element
 *   containing the whole rest of {@link string}.
 * @return array Returns an array of strings, each of which is a
 *   substring of {@link string} formed by splitting it on boundaries
 *   formed by the case insensitive regular expression {@link pattern}.
 * @since PHP 4 >= 4.0.1, PHP 5
 **/
function spliti($pattern, $string, $limit){}

/**
 * Default implementation for __autoload()
 *
 * This function is intended to be used as a default implementation for
 * {@link __autoload}. If nothing else is specified and {@link
 * spl_autoload_register} is called without any parameters then this
 * function will be used for any later call to {@link __autoload}.
 *
 * @param string $class_name The lowercased name of the class (and
 *   namespace) being instantiated.
 * @param string $file_extensions By default it checks all include
 *   paths to contain filenames built up by the lowercase class name
 *   appended by the filename extensions .inc and .php.
 * @return void
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function spl_autoload($class_name, $file_extensions){}

/**
 * Try all registered __autoload() functions to load the requested class
 *
 * This function can be used to manually search for a class or interface
 * using the registered __autoload functions.
 *
 * @param string $class_name The class name being searched.
 * @return void
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function spl_autoload_call($class_name){}

/**
 * Register and return default file extensions for spl_autoload
 *
 * This function can modify and check the file extensions that the built
 * in {@link __autoload} fallback function {@link spl_autoload} will be
 * using.
 *
 * @param string $file_extensions When calling without an argument, it
 *   simply returns the current list of extensions each separated by
 *   comma. To modify the list of file extensions, simply invoke the
 *   functions with the new list of file extensions to use in a single
 *   string with each extensions separated by comma.
 * @return string A comma delimited list of default file extensions for
 *   {@link spl_autoload}.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function spl_autoload_extensions($file_extensions){}

/**
 * Return all registered __autoload() functions
 *
 * Get all registered __autoload() functions.
 *
 * @return array An array of all registered __autoload functions. If
 *   the autoload queue is not activated then the return value is FALSE.
 *   If no function is registered the return value will be an empty
 *   array.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function spl_autoload_functions(){}

/**
 * Register given function as __autoload() implementation
 *
 * Register a function with the spl provided __autoload queue. If the
 * queue is not yet activated it will be activated.
 *
 * If your code has an existing {@link __autoload} function then this
 * function must be explicitly registered on the __autoload queue. This
 * is because {@link spl_autoload_register} will effectively replace the
 * engine cache for the {@link __autoload} function by either {@link
 * spl_autoload} or {@link spl_autoload_call}.
 *
 * If there must be multiple autoload functions, {@link
 * spl_autoload_register} allows for this. It effectively creates a queue
 * of autoload functions, and runs through each of them in the order they
 * are defined. By contrast, {@link __autoload} may only be defined once.
 *
 * @param callable $autoload_function The autoload function being
 *   registered. If no parameter is provided, then the default
 *   implementation of {@link spl_autoload} will be registered.
 * @param bool $throw This parameter specifies whether {@link
 *   spl_autoload_register} should throw exceptions when the {@link
 *   autoload_function} cannot be registered.
 * @param bool $prepend If true, {@link spl_autoload_register} will
 *   prepend the autoloader on the autoload queue instead of appending
 *   it.
 * @return bool
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function spl_autoload_register($autoload_function, $throw, $prepend){}

/**
 * Unregister given function as __autoload() implementation
 *
 * Removes a function from the autoload queue. If the queue is activated
 * and empty after removing the given function then it will be
 * deactivated.
 *
 * When this function results in the queue being deactivated, any
 * __autoload function that previously existed will not be reactivated.
 *
 * @param mixed $autoload_function The autoload function being
 *   unregistered.
 * @return bool
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function spl_autoload_unregister($autoload_function){}

/**
 * Return available SPL classes
 *
 * This function returns an array with the current available SPL classes.
 *
 * @return array Returns an array containing the currently available
 *   SPL classes.
 * @since PHP 5, PHP 7
 **/
function spl_classes(){}

/**
 * Return hash id for given object
 *
 * This function returns a unique identifier for the object. This id can
 * be used as a hash key for storing objects, or for identifying an
 * object, as long as the object is not destroyed. Once the object is
 * destroyed, its hash may be reused for other objects.
 *
 * @param object $obj Any object.
 * @return string A string that is unique for each currently existing
 *   object and is always the same for each object.
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function spl_object_hash($obj){}

/**
 * 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 {@link spl_object_hash}.
 *
 * @param object $obj Any object.
 * @return int An integer identifier that is unique for each currently
 *   existing object and is always the same for each object.
 * @since PHP 7 >= 7.2.0
 **/
function spl_object_id($obj){}

/**
 * Return a formatted string
 *
 * Returns a string produced according to the formatting string {@link
 * format}.
 *
 * @param string $format The format string is composed of zero or more
 *   directives: ordinary characters (excluding %) that are copied
 *   directly to the result and conversion specifications, each of which
 *   results in fetching its own parameter. This applies to both {@link
 *   sprintf} and {@link printf}. Each conversion specification consists
 *   of a percent sign (%), followed by one or more of these elements, in
 *   order: An optional sign specifier that forces a sign (- or +) to be
 *   used on a number. By default, only the - sign is used on a number if
 *   it's negative. This specifier forces positive numbers to have the +
 *   sign attached as well. An optional padding specifier that says what
 *   character will be used for padding the results to the right string
 *   size. This may be a space character or a 0 (zero character). The
 *   default is to pad with spaces. An alternate padding character can be
 *   specified by prefixing it with a single quote ('). See the examples
 *   below. An optional alignment specifier that says if the result
 *   should be left-justified or right-justified. The default is
 *   right-justified; a - character here will make it left-justified. An
 *   optional number, a width specifier that says how many characters
 *   (minimum) this conversion should result in. An optional precision
 *   specifier in the form of a period (.) followed by an optional
 *   decimal digit string that says how many decimal digits should be
 *   displayed for floating-point numbers. When using this specifier on a
 *   string, it acts as a cutoff point, setting a maximum character limit
 *   to the string. Additionally, the character to use when padding a
 *   number may optionally be specified between the period and the digit.
 *   A type specifier that says what type the argument data should be
 *   treated as. Possible types: % - a literal percent character. No
 *   argument is required. b - the argument is treated as an integer and
 *   presented as a binary number. c - the argument is treated as an
 *   integer and presented as the character with that ASCII value. d -
 *   the argument is treated as an integer and presented as a (signed)
 *   decimal number. e - the argument is treated as scientific notation
 *   (e.g. 1.2e+2). The precision specifier stands for the number of
 *   digits after the decimal point since PHP 5.2.1. In earlier versions,
 *   it was taken as number of significant digits (one less). E - like %e
 *   but uses uppercase letter (e.g. 1.2E+2). f - the argument is treated
 *   as a float and presented as a floating-point number (locale aware).
 *   F - the argument is treated as a float and presented as a
 *   floating-point number (non-locale aware). Available since PHP 5.0.3.
 *   g - shorter of %e and %f. G - shorter of %E and %f. o - the argument
 *   is treated as an integer and presented as an octal number. s - the
 *   argument is treated as and presented as a string. u - the argument
 *   is treated as an integer and presented as an unsigned decimal
 *   number. x - the argument is treated as an integer and presented as a
 *   hexadecimal number (with lowercase letters). X - the argument is
 *   treated as an integer and presented as a hexadecimal number (with
 *   uppercase letters). Variables will be co-erced to a suitable type
 *   for the specifier: Type Handling Type Specifiers string s integer d,
 *   u, c, o, x, X, b double g, G, e, E, f, F The format string supports
 *   argument numbering/swapping. Here is an example: Argument swapping
 *   
 *   <?php $num = 5; $location = 'tree';
 *   
 *   $format = 'There are %d monkeys in the %s'; echo sprintf($format,
 *   $num, $location); ?>
 *   
 *   This will output "There are 5 monkeys in the tree". But imagine we
 *   are creating a format string in a separate file, commonly because we
 *   would like to internationalize it and we rewrite it as: Argument
 *   swapping
 *   
 *   <?php $format = 'The %s contains %d monkeys'; echo sprintf($format,
 *   $num, $location); ?>
 *   
 *   We now have a problem. The order of the placeholders in the format
 *   string does not match the order of the arguments in the code. We
 *   would like to leave the code as is and simply indicate in the format
 *   string which arguments the placeholders refer to. We would write the
 *   format string like this instead: Argument swapping
 *   
 *   <?php $format = 'The %2$s contains %1$d monkeys'; echo
 *   sprintf($format, $num, $location); ?>
 *   
 *   An added benefit here is that you can repeat the placeholders
 *   without adding more arguments in the code. For example: Argument
 *   swapping
 *   
 *   <?php $format = 'The %2$s contains %1$d monkeys. That\'s a nice %2$s
 *   full of %1$d monkeys.'; echo sprintf($format, $num, $location); ?>
 *   
 *   When using argument swapping, the n$ position specifier must come
 *   immediately after the percent sign (%), before any other specifiers,
 *   as shown in the example below. Specifying padding character <?php
 *   echo sprintf("%'.9d\n", 123); echo sprintf("%'.09d\n", 123); ?>
 *   
 *   ......123 000000123
 *   
 *   Position specifier with other specifiers
 *   
 *   <?php $format = 'The %2$s contains %1$04d monkeys'; echo
 *   sprintf($format, $num, $location); ?>
 *   
 *   The tree contains 0005 monkeys
 * @param mixed $args
 * @return string Returns a string produced according to the formatting
 *   string {@link format}, .
 * @since PHP 4, PHP 5, PHP 7
 **/
function sprintf($format, $args){}

/**
 * Execute a query against a given database and returns an array
 *
 * {@link sqlite_array_query} executes the given query and returns an
 * array of the entire result set. It is similar to calling {@link
 * sqlite_query} and then {@link sqlite_fetch_array} for each row in the
 * result set. {@link sqlite_array_query} is significantly faster than
 * the aforementioned.
 *
 * @param resource $dbhandle The query to be executed. Data inside the
 *   query should be properly escaped.
 * @param string $query The SQLite Database resource; returned from
 *   {@link sqlite_open} when used procedurally. This parameter is not
 *   required when using the object-oriented method.
 * @param int $result_type
 * @param bool $decode_binary
 * @return array Returns an array of the entire result set; FALSE
 *   otherwise.
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.0
 **/
function sqlite_array_query($dbhandle, $query, $result_type, $decode_binary){}

/**
 * Set busy timeout duration, or disable busy handlers
 *
 * Set the maximum time, in milliseconds, that SQLite will wait for a
 * {@link dbhandle} to become ready for use.
 *
 * @param resource $dbhandle The SQLite Database resource; returned
 *   from {@link sqlite_open} when used procedurally. This parameter is
 *   not required when using the object-oriented method.
 * @param int $milliseconds The number of milliseconds. When set to 0,
 *   busy handlers will be disabled and SQLite will return immediately
 *   with a SQLITE_BUSY status code if another process/thread has the
 *   database locked for an update. PHP sets the default busy timeout to
 *   be 60 seconds when the database is opened.
 * @return void
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.0
 **/
function sqlite_busy_timeout($dbhandle, $milliseconds){}

/**
 * Returns the number of rows that were changed by the most recent SQL
 * statement
 *
 * Returns the numbers of rows that were changed by the most recent SQL
 * statement executed against the {@link dbhandle} database handle.
 *
 * @param resource $dbhandle The SQLite Database resource; returned
 *   from {@link sqlite_open} when used procedurally. This parameter is
 *   not required when using the object-oriented method.
 * @return int Returns the number of changed rows.
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.0
 **/
function sqlite_changes($dbhandle){}

/**
 * Closes an open SQLite database
 *
 * Closes the given {@link db_handle} database handle. If the database
 * was persistent, it will be closed and removed from the persistent
 * list.
 *
 * @param resource $dbhandle The SQLite Database resource; returned
 *   from {@link sqlite_open} when used procedurally.
 * @return void
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.0
 **/
function sqlite_close($dbhandle){}

/**
 * Fetches a column from the current row of a result set
 *
 * Fetches the value of a column named {@link index_or_name} (if it is a
 * string), or of the ordinal column numbered {@link index_or_name} (if
 * it is an integer) from the current row of the query result handle
 * {@link result}.
 *
 * @param resource $result The SQLite result resource. This parameter
 *   is not required when using the object-oriented method.
 * @param mixed $index_or_name The column index or name to fetch.
 * @param bool $decode_binary
 * @return mixed Returns the column value.
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.0
 **/
function sqlite_column($result, $index_or_name, $decode_binary){}

/**
 * Register an aggregating UDF for use in SQL statements
 *
 * {@link sqlite_create_aggregate} is similar to {@link
 * sqlite_create_function} except that it registers functions that can be
 * used to calculate a result aggregated across all the rows of a query.
 *
 * The key difference between this function and {@link
 * sqlite_create_function} is that two functions are required to manage
 * the aggregate; {@link step_func} is called for each row of the result
 * set. Your PHP function should accumulate the result and store it into
 * the aggregation context. Once all the rows have been processed, {@link
 * finalize_func} will be called and it should then take the data from
 * the aggregation context and return the result. Callback functions
 * should return a type understood by SQLite (i.e. scalar type).
 *
 * @param resource $dbhandle The SQLite Database resource; returned
 *   from {@link sqlite_open} when used procedurally. This parameter is
 *   not required when using the object-oriented method.
 * @param string $function_name The name of the function used in SQL
 *   statements.
 * @param callable $step_func Callback function called for each row of
 *   the result set. Function parameters are &$context, $value, ....
 * @param callable $finalize_func Callback function to aggregate the
 *   "stepped" data from each row. Function parameter is &$context and
 *   the function should return the final result of aggregation.
 * @param int $num_args Hint to the SQLite parser if the callback
 *   function accepts a predetermined number of arguments.
 * @return void
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.0
 **/
function sqlite_create_aggregate($dbhandle, $function_name, $step_func, $finalize_func, $num_args){}

/**
 * Registers a "regular" User Defined Function for use in SQL statements
 *
 * {@link sqlite_create_function} allows you to register a PHP function
 * with SQLite as an UDF (User Defined Function), so that it can be
 * called from within your SQL statements.
 *
 * The UDF can be used in any SQL statement that can call functions, such
 * as SELECT and UPDATE statements and also in triggers.
 *
 * @param resource $dbhandle The SQLite Database resource; returned
 *   from {@link sqlite_open} when used procedurally. This parameter is
 *   not required when using the object-oriented method.
 * @param string $function_name The name of the function used in SQL
 *   statements.
 * @param callable $callback Callback function to handle the defined
 *   SQL function.
 * @param int $num_args Hint to the SQLite parser if the callback
 *   function accepts a predetermined number of arguments.
 * @return void
 * @since PHP 5 < 5.4.0, sqlite >= 1.0.0
 **/
function sqlite_create_function($dbhandle, $function_name, $callback, $num_args){}

/**
 * Fetches the current row from a result set as an array
 *
 * {@link sqlite_current} is identical to {@link sqlite_fetch_array}
 * except that it does not advance to the next row prior to returning the
 * data; it returns the data from the current position only.
 *
 * @param resource $result The SQLite result resource. This parameter
 *   is not required when using the object-oriented method.
 * @param int $result_type
 * @param bool $decode_binary
 * @return array Returns an array of the current row from a result set;
 *   FALSE if the current position is beyond the final row.
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.0
 **/
function sqlite_current($result, $result_type, $decode_binary){}

/**
 * Returns the textual description of an error code
 *
 * Returns a human readable description of the {@link error_code}
 * returned from {@link sqlite_last_error}.
 *
 * @param int $error_code The error code being used, which might be
 *   passed in from {@link sqlite_last_error}.
 * @return string Returns a human readable description of the {@link
 *   error_code}, as a string.
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.0
 **/
function sqlite_error_string($error_code){}

/**
 * Escapes a string for use as a query parameter
 *
 * {@link sqlite_escape_string} will correctly quote the string specified
 * by {@link item} for use in an SQLite SQL statement. This includes
 * doubling up single-quote characters (') and checking for binary-unsafe
 * characters in the query string.
 *
 * Although the encoding makes it safe to insert the data, it will render
 * simple text comparisons and LIKE clauses in your queries unusable for
 * the columns that contain the binary data. In practice, this shouldn't
 * be a problem, as your schema should be such that you don't use such
 * things on binary columns (in fact, it might be better to store binary
 * data using other means, such as in files).
 *
 * @param string $item The string being quoted. If the {@link item}
 *   contains a NUL character, or if it begins with a character whose
 *   ordinal value is 0x01, PHP will apply a binary encoding scheme so
 *   that you can safely store and retrieve binary data.
 * @return string Returns an escaped string for use in an SQLite SQL
 *   statement.
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.0
 **/
function sqlite_escape_string($item){}

/**
 * Executes a result-less query against a given database
 *
 * Executes an SQL statement given by the {@link query} against a given
 * database handle (specified by the {@link dbhandle} parameter).
 *
 * @param resource $dbhandle The SQLite Database resource; returned
 *   from {@link sqlite_open} when used procedurally. This parameter is
 *   not required when using the object-oriented method.
 * @param string $query The query to be executed. Data inside the query
 *   should be properly escaped.
 * @param string $error_msg The specified variable will be filled if an
 *   error occurs. This is specially important because SQL syntax errors
 *   can't be fetched using the {@link sqlite_last_error} function.
 * @return bool This function will return a boolean result; TRUE for
 *   success or FALSE for failure. If you need to run a query that
 *   returns rows, see {@link sqlite_query}.
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.3
 **/
function sqlite_exec($dbhandle, $query, &$error_msg){}

/**
 * Opens an SQLite database and returns an SQLiteDatabase object
 *
 * {@link sqlite_factory} behaves similarly to {@link sqlite_open} in
 * that it opens an SQLite database or attempts to create it if it does
 * not exist. However, a SQLiteDatabase object is returned rather than a
 * resource. Please see the {@link sqlite_open} reference page for
 * further usage and caveats.
 *
 * @param string $filename The filename of the SQLite database.
 * @param int $mode The mode of the file. Intended to be used to open
 *   the database in read-only mode. Presently, this parameter is ignored
 *   by the sqlite library. The default value for mode is the octal value
 *   0666 and this is the recommended value.
 * @param string $error_message Passed by reference and is set to hold
 *   a descriptive error message explaining why the database could not be
 *   opened if there was an error.
 * @return SQLiteDatabase Returns an SQLiteDatabase object on success,
 *   NULL on error.
 * @since PHP 5 < 5.4.0
 **/
function sqlite_factory($filename, $mode, &$error_message){}

/**
 * Fetches all rows from a result set as an array of arrays
 *
 * {@link sqlite_fetch_all} returns an array of the entire result set
 * from the {@link result} resource. It is similar to calling {@link
 * sqlite_query} (or {@link sqlite_unbuffered_query}) and then {@link
 * sqlite_fetch_array} for each row in the result set.
 *
 * @param resource $result The SQLite result resource. This parameter
 *   is not required when using the object-oriented method.
 * @param int $result_type
 * @param bool $decode_binary
 * @return array Returns an array of the remaining rows in a result
 *   set. If called right after {@link sqlite_query}, it returns all
 *   rows. If called after {@link sqlite_fetch_array}, it returns the
 *   rest. If there are no rows in a result set, it returns an empty
 *   array.
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.0
 **/
function sqlite_fetch_all($result, $result_type, $decode_binary){}

/**
 * Fetches the next row from a result set as an array
 *
 * Fetches the next row from the given {@link result} handle. If there
 * are no more rows, returns FALSE, otherwise returns an associative
 * array representing the row data.
 *
 * @param resource $result The SQLite result resource. This parameter
 *   is not required when using the object-oriented method.
 * @param int $result_type
 * @param bool $decode_binary
 * @return array Returns an array of the next row from a result set;
 *   FALSE if the next position is beyond the final row.
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.0
 **/
function sqlite_fetch_array($result, $result_type, $decode_binary){}

/**
 * Return an array of column types from a particular table
 *
 * {@link sqlite_fetch_column_types} returns an array of column data
 * types from the specified {@link table_name} table.
 *
 * @param string $table_name The table name to query.
 * @param resource $dbhandle The SQLite Database resource; returned
 *   from {@link sqlite_open} when used procedurally. This parameter is
 *   not required when using the object-oriented method.
 * @param int $result_type The optional {@link result_type} parameter
 *   accepts a constant and determines how the returned array will be
 *   indexed. Using SQLITE_ASSOC will return only associative indices
 *   (named fields) while SQLITE_NUM will return only numerical indices
 *   (ordinal field numbers). SQLITE_ASSOC is the default for this
 *   function.
 * @return array Returns an array of column data types; FALSE on error.
 * @since PHP 5 < 5.4.0
 **/
function sqlite_fetch_column_types($table_name, $dbhandle, $result_type){}

/**
 * Fetches the next row from a result set as an object
 *
 * @param resource $result
 * @param string $class_name
 * @param array $ctor_params
 * @param bool $decode_binary
 * @return object
 * @since PHP 5 < 5.4.0
 **/
function sqlite_fetch_object($result, $class_name, $ctor_params, $decode_binary){}

/**
 * Fetches the first column of a result set as a string
 *
 * {@link sqlite_fetch_single} is identical to {@link sqlite_fetch_array}
 * except that it returns the value of the first column of the rowset.
 *
 * This is the most optimal way to retrieve data when you are only
 * interested in the values from a single column of data.
 *
 * @param resource $result The SQLite result resource. This parameter
 *   is not required when using the object-oriented method.
 * @param bool $decode_binary
 * @return string Returns the first column value, as a string.
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.1
 **/
function sqlite_fetch_single($result, $decode_binary){}

/**
 * Fetches the first column of a result set as a string
 *
 * {@link sqlite_fetch_string} is identical to {@link sqlite_fetch_array}
 * except that it returns the value of the first column of the rowset.
 *
 * This is the most optimal way to retrieve data when you are only
 * interested in the values from a single column of data.
 *
 * @param resource $result The SQLite result resource. This parameter
 *   is not required when using the object-oriented method.
 * @param bool $decode_binary
 * @return string Returns the first column value, as a string.
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.0
 **/
function sqlite_fetch_string($result, $decode_binary){}

/**
 * Returns the name of a particular field
 *
 * Given the ordinal column number, {@link field_index}, {@link
 * sqlite_field_name} returns the name of that field in the result set
 * {@link result}.
 *
 * @param resource $result The SQLite result resource. This parameter
 *   is not required when using the object-oriented method.
 * @param int $field_index The ordinal column number in the result set.
 * @return string Returns the name of a field in an SQLite result set,
 *   given the ordinal column number; FALSE on error.
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.0
 **/
function sqlite_field_name($result, $field_index){}

/**
 * Finds whether or not more rows are available
 *
 * Finds whether more rows are available from the given result set.
 *
 * @param resource $result The SQLite result resource.
 * @return bool Returns TRUE if there are more rows available from the
 *   {@link result} handle, or FALSE otherwise.
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.0
 **/
function sqlite_has_more($result){}

/**
 * Returns whether or not a previous row is available
 *
 * Find whether there are more previous rows from the given result
 * handle.
 *
 * @param resource $result The SQLite result resource. This parameter
 *   is not required when using the object-oriented method.
 * @return bool Returns TRUE if there are more previous rows available
 *   from the {@link result} handle, or FALSE otherwise.
 * @since PHP 5 < 5.4.0
 **/
function sqlite_has_prev($result){}

/**
 * Returns the error code of the last error for a database
 *
 * Returns the error code from the last operation performed on {@link
 * dbhandle} (the database handle), or 0 when no error occurred. A human
 * readable description of the error code can be retrieved using {@link
 * sqlite_error_string}.
 *
 * @param resource $dbhandle The SQLite Database resource; returned
 *   from {@link sqlite_open} when used procedurally. This parameter is
 *   not required when using the object-oriented method.
 * @return int Returns an error code, or 0 if no error occurred.
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.0
 **/
function sqlite_last_error($dbhandle){}

/**
 * Returns the rowid of the most recently inserted row
 *
 * Returns the rowid of the row that was most recently inserted into the
 * database {@link dbhandle}, if it was created as an auto-increment
 * field.
 *
 * @param resource $dbhandle The SQLite Database resource; returned
 *   from {@link sqlite_open} when used procedurally. This parameter is
 *   not required when using the object-oriented method.
 * @return int Returns the row id, as an integer.
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.0
 **/
function sqlite_last_insert_rowid($dbhandle){}

/**
 * Returns the encoding of the linked SQLite library
 *
 * The SQLite library may be compiled in either ISO-8859-1 or UTF-8
 * compatible modes. This function allows you to determine which encoding
 * scheme is used by your version of the library.
 *
 * When compiled with UTF-8 support, sqlite handles encoding and decoding
 * of UTF-8 multi-byte character sequences, but does not yet do a
 * complete job when working with the data (no normalization is performed
 * for example), and some comparison operations may still not be carried
 * out correctly.
 *
 * @return string Returns the library encoding.
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.0
 **/
function sqlite_libencoding(){}

/**
 * Returns the version of the linked SQLite library
 *
 * @return string Returns the library version, as a string.
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.0
 **/
function sqlite_libversion(){}

/**
 * Seek to the next row number
 *
 * {@link sqlite_next} advances the result handle {@link result} to the
 * next row.
 *
 * @param resource $result The SQLite result resource. This parameter
 *   is not required when using the object-oriented method.
 * @return bool Returns TRUE on success, or FALSE if there are no more
 *   rows.
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.0
 **/
function sqlite_next($result){}

/**
 * Returns the number of fields in a result set
 *
 * Returns the number of fields in the {@link result} set.
 *
 * @param resource $result The SQLite result resource. This parameter
 *   is not required when using the object-oriented method.
 * @return int Returns the number of fields, as an integer.
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.0
 **/
function sqlite_num_fields($result){}

/**
 * Returns the number of rows in a buffered result set
 *
 * Returns the number of rows in the buffered {@link result} set.
 *
 * @param resource $result The SQLite result resource. This parameter
 *   is not required when using the object-oriented method.
 * @return int Returns the number of rows, as an integer.
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.0
 **/
function sqlite_num_rows($result){}

/**
 * Opens an SQLite database and create the database if it does not exist
 *
 * (constructor):
 *
 * Opens an SQLite database or creates the database if it does not exist.
 *
 * @param string $filename The filename of the SQLite database. If the
 *   file does not exist, SQLite will attempt to create it. PHP must have
 *   write permissions to the file if data is inserted, the database
 *   schema is modified or to create the database if it does not exist.
 * @param int $mode The mode of the file. Intended to be used to open
 *   the database in read-only mode. Presently, this parameter is ignored
 *   by the sqlite library. The default value for mode is the octal value
 *   0666 and this is the recommended value.
 * @param string $error_message Passed by reference and is set to hold
 *   a descriptive error message explaining why the database could not be
 *   opened if there was an error.
 * @return resource Returns a resource (database handle) on success,
 *   FALSE on error.
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.0
 **/
function sqlite_open($filename, $mode, &$error_message){}

/**
 * Opens a persistent handle to an SQLite database and create the
 * database if it does not exist
 *
 * {@link sqlite_popen} will first check to see if a persistent handle
 * has already been opened for the given {@link filename}. If it finds
 * one, it returns that handle to your script, otherwise it opens a fresh
 * handle to the database.
 *
 * The benefit of this approach is that you don't incur the performance
 * cost of re-reading the database and index schema on each page hit
 * served by persistent web server SAPI's (any SAPI except for regular
 * CGI or CLI).
 *
 * @param string $filename The filename of the SQLite database. If the
 *   file does not exist, SQLite will attempt to create it. PHP must have
 *   write permissions to the file if data is inserted, the database
 *   schema is modified or to create the database if it does not exist.
 * @param int $mode The mode of the file. Intended to be used to open
 *   the database in read-only mode. Presently, this parameter is ignored
 *   by the sqlite library. The default value for mode is the octal value
 *   0666 and this is the recommended value.
 * @param string $error_message Passed by reference and is set to hold
 *   a descriptive error message explaining why the database could not be
 *   opened if there was an error.
 * @return resource Returns a resource (database handle) on success,
 *   FALSE on error.
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.0
 **/
function sqlite_popen($filename, $mode, &$error_message){}

/**
 * Seek to the previous row number of a result set
 *
 * {@link sqlite_prev} seeks back the {@link result} handle to the
 * previous row.
 *
 * @param resource $result The SQLite result resource. This parameter
 *   is not required when using the object-oriented method.
 * @return bool Returns TRUE on success, or FALSE if there are no more
 *   previous rows.
 * @since PHP 5 < 5.4.0
 **/
function sqlite_prev($result){}

/**
 * Executes a query against a given database and returns a result handle
 *
 * Executes an SQL statement given by the {@link query} against a given
 * database handle.
 *
 * @param resource $dbhandle The SQLite Database resource; returned
 *   from {@link sqlite_open} when used procedurally. This parameter is
 *   not required when using the object-oriented method.
 * @param string $query The query to be executed. Data inside the query
 *   should be properly escaped.
 * @param int $result_type
 * @param string $error_msg The specified variable will be filled if an
 *   error occurs. This is specially important because SQL syntax errors
 *   can't be fetched using the {@link sqlite_last_error} function.
 * @return resource This function will return a result handle. For
 *   queries that return rows, the result handle can then be used with
 *   functions such as {@link sqlite_fetch_array} and {@link
 *   sqlite_seek}.
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.0
 **/
function sqlite_query($dbhandle, $query, $result_type, &$error_msg){}

/**
 * Seek to the first row number
 *
 * {@link sqlite_rewind} seeks back to the first row in the given result
 * set.
 *
 * @param resource $result The SQLite result resource. This parameter
 *   is not required when using the object-oriented method.
 * @return bool Returns FALSE if there are no rows in the result set,
 *   TRUE otherwise.
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.0
 **/
function sqlite_rewind($result){}

/**
 * Seek to a particular row number of a buffered result set
 *
 * {@link sqlite_seek} seeks to the row given by the parameter {@link
 * rownum}.
 *
 * @param resource $result The SQLite result resource. This parameter
 *   is not required when using the object-oriented method.
 * @param int $rownum The ordinal row number to seek to. The row number
 *   is zero-based (0 is the first row).
 * @return bool Returns FALSE if the row does not exist, TRUE
 *   otherwise.
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.0
 **/
function sqlite_seek($result, $rownum){}

/**
 * Executes a query and returns either an array for one single column or
 * the value of the first row
 *
 * @param resource $db
 * @param string $query
 * @param bool $first_row_only
 * @param bool $decode_binary
 * @return array
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.1
 **/
function sqlite_single_query($db, $query, $first_row_only, $decode_binary){}

/**
 * Decode binary data passed as parameters to an
 *
 * Decodes binary data passed as parameters to a UDF.
 *
 * You must call this function on parameters passed to your UDF if you
 * need them to handle binary data, as the binary encoding employed by
 * PHP will obscure the content and of the parameter in its natural,
 * non-coded form.
 *
 * PHP does not perform this encode/decode operation automatically as it
 * would severely impact performance if it did.
 *
 * @param string $data The encoded data that will be decoded, data that
 *   was applied by either {@link sqlite_udf_encode_binary} or {@link
 *   sqlite_escape_string}.
 * @return string The decoded string.
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.0
 **/
function sqlite_udf_decode_binary($data){}

/**
 * Encode binary data before returning it from an UDF
 *
 * {@link sqlite_udf_encode_binary} applies a binary encoding to the
 * {@link data} so that it can be safely returned from queries (since the
 * underlying libsqlite API is not binary safe).
 *
 * If there is a chance that your data might be binary unsafe (e.g.: it
 * contains a NUL byte in the middle rather than at the end, or if it has
 * and 0x01 byte as the first character) then you must call this function
 * to encode the return value from your UDF.
 *
 * PHP does not perform this encode/decode operation automatically as it
 * would severely impact performance if it did.
 *
 * @param string $data The string being encoded.
 * @return string The encoded string.
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.0
 **/
function sqlite_udf_encode_binary($data){}

/**
 * Execute a query that does not prefetch and buffer all data
 *
 * {@link sqlite_unbuffered_query} is identical to {@link sqlite_query}
 * except that the result that is returned is a sequential forward-only
 * result set that can only be used to read each row, one after the
 * other.
 *
 * This function is ideal for generating things such as HTML tables where
 * you only need to process one row at a time and don't need to randomly
 * access the row data.
 *
 * @param resource $dbhandle The SQLite Database resource; returned
 *   from {@link sqlite_open} when used procedurally. This parameter is
 *   not required when using the object-oriented method.
 * @param string $query The query to be executed. Data inside the query
 *   should be properly escaped.
 * @param int $result_type
 * @param string $error_msg The specified variable will be filled if an
 *   error occurs. This is specially important because SQL syntax errors
 *   can't be fetched using the {@link sqlite_last_error} function.
 * @return resource Returns a result handle.
 * @since PHP 5 < 5.4.0, PECL sqlite >= 1.0.0
 **/
function sqlite_unbuffered_query($dbhandle, $query, $result_type, &$error_msg){}

/**
 * Returns whether more rows are available
 *
 * Finds whether more rows are available from the given result handle.
 *
 * @param resource $result The SQLite result resource. This parameter
 *   is not required when using the object-oriented method.
 * @return bool Returns TRUE if there are more rows available from the
 *   {@link result} handle, or FALSE otherwise.
 * @since PHP 5 < 5.4.0
 **/
function sqlite_valid($result){}

/**
 * Begins a database transaction
 *
 * The transaction begun by {@link sqlsrv_begin_transaction} includes all
 * statements that were executed after the call to {@link
 * sqlsrv_begin_transaction} and before calls to {@link sqlsrv_rollback}
 * or {@link sqlsrv_commit}. Explicit transactions should be started and
 * committed or rolled back using these functions instead of executing
 * SQL statements that begin and committ/roll back transactions. For more
 * information, see SQLSRV Transactions.
 *
 * @param resource $conn The connection resource returned by a call to
 *   {@link sqlsrv_connect}.
 * @return bool
 **/
function sqlsrv_begin_transaction($conn){}

/**
 * Cancels a statement
 *
 * Cancels a statement. Any results associated with the statement that
 * have not been consumed are deleted. After {@link sqlsrv_cancel} has
 * been called, the specified statement can be re-executed if it was
 * created with {@link sqlsrv_prepare}. Calling {@link sqlsrv_cancel} is
 * not necessary if all the results associated with the statement have
 * been consumed.
 *
 * @param resource $stmt The statement resource to be cancelled.
 * @return bool
 **/
function sqlsrv_cancel($stmt){}

/**
 * Returns information about the client and specified connection
 *
 * @param resource $conn The connection about which information is
 *   returned.
 * @return array Returns an associative array with keys described in
 *   the table below. Returns FALSE otherwise. Array returned by
 *   sqlsrv_client_info Key Description DriverDllName SQLNCLI10.DLL
 *   DriverODBCVer ODBC version (xx.yy) DriverVer SQL Server Native
 *   Client DLL version (10.5.xxx) ExtensionVer php_sqlsrv.dll version
 *   (2.0.xxx.x)
 **/
function sqlsrv_client_info($conn){}

/**
 * Closes an open connection and releases resourses associated with the
 * connection
 *
 * @param resource $conn The connection to be closed.
 * @return bool
 **/
function sqlsrv_close($conn){}

/**
 * Commits a transaction that was begun with
 *
 * Commits a transaction that was begun with {@link
 * sqlsrv_begin_transaction}. The connection is returned to auto-commit
 * mode after {@link sqlsrv_commit} is called. The transaction that is
 * committed includes all statements that were executed after the call to
 * {@link sqlsrv_begin_transaction}. Explicit transactions should be
 * started and committed or rolled back using these functions instead of
 * executing SQL statements that begin and committ/roll back
 * transactions. For more information, see SQLSRV Transactions.
 *
 * @param resource $conn The connection on which the transaction is to
 *   be committed.
 * @return bool
 **/
function sqlsrv_commit($conn){}

/**
 * Changes the driver error handling and logging configurations
 *
 * @param string $setting The name of the setting to set. The possible
 *   values are "WarningsReturnAsErrors", "LogSubsystems", and
 *   "LogSeverity".
 * @param mixed $value The value of the specified setting. The
 *   following table shows possible values: Error and Logging Setting
 *   Options Setting Options WarningsReturnAsErrors 1 (TRUE) or 0 (FALSE)
 *   LogSubsystems SQLSRV_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) LogSeverity
 *   SQLSRV_LOG_SEVERITY_ALL (-1) SQLSRV_LOG_SEVERITY_ERROR (1)
 *   SQLSRV_LOG_SEVERITY_NOTICE (4) SQLSRV_LOG_SEVERITY_WARNING (2)
 * @return bool
 **/
function sqlsrv_configure($setting, $value){}

/**
 * Opens a connection to a Microsoft SQL Server database
 *
 * Opens a connection to a Microsoft SQL Server database. By default, the
 * connection is attempted using Windows Authentication. To connect using
 * SQL Server Authentication, include "UID" and "PWD" in the connection
 * options array.
 *
 * @param string $serverName The name of the server to which a
 *   connection is established. To connect to a specific instance, follow
 *   the server name with a backward slash and the instance name (e.g.
 *   serverName\sqlexpress).
 * @param array $connectionInfo An associative array that specifies
 *   options for connecting to the server. If values for the UID and PWD
 *   keys are not specified, the connection will be attempted using
 *   Windows Authentication. For a complete list of supported keys, see
 *   SQLSRV Connection Options.
 * @return resource A connection resource. If a connection cannot be
 *   successfully opened, FALSE is returned.
 **/
function sqlsrv_connect($serverName, $connectionInfo){}

/**
 * Returns error and warning information about the last SQLSRV operation
 * performed
 *
 * @param int $errorsOrWarnings Determines whether error information,
 *   warning information, or both are returned. If this parameter is not
 *   supplied, both error information and warning information are
 *   returned. The following are the supported values for this parameter:
 *   SQLSRV_ERR_ALL, SQLSRV_ERR_ERRORS, SQLSRV_ERR_WARNINGS.
 * @return mixed If errors and/or warnings occurred on the last sqlsrv
 *   operation, an array of arrays containing error information is
 *   returned. If no errors and/or warnings occurred on the last sqlsrv
 *   operation, NULL is returned. The following table describes the
 *   structure of the returned arrays: Array returned by sqlsrv_errors
 *   Key Description SQLSTATE For errors that originate from the ODBC
 *   driver, the SQLSTATE returned by ODBC. For errors that originate
 *   from the Microsoft Drivers for PHP for SQL Server, a SQLSTATE of
 *   IMSSP. For warnings that originate from the Microsoft Drivers for
 *   PHP for SQL Server, a SQLSTATE of 01SSP. code For errors that
 *   originate from SQL Server, the native SQL Server error code. For
 *   errors that originate from the ODBC driver, the error code returned
 *   by ODBC. For errors that originate from the Microsoft Drivers for
 *   PHP for SQL Server, the Microsoft Drivers for PHP for SQL Server
 *   error code. message A description of the error.
 **/
function sqlsrv_errors($errorsOrWarnings){}

/**
 * Executes a statement prepared with
 *
 * Executes a statement prepared with {@link sqlsrv_prepare}. This
 * function is ideal for executing a prepared statement multiple times
 * with different parameter values.
 *
 * @param resource $stmt A statement resource returned by {@link
 *   sqlsrv_prepare}.
 * @return bool
 **/
function sqlsrv_execute($stmt){}

/**
 * Makes the next row in a result set available for reading
 *
 * Makes the next row in a result set available for reading. Use {@link
 * sqlsrv_get_field} to read the fields of the row.
 *
 * @param resource $stmt A statement resource created by executing
 *   {@link sqlsrv_query} or {@link sqlsrv_execute}.
 * @param int $row The row to be accessed. This parameter can only be
 *   used if the specified statement was prepared with a scrollable
 *   cursor. In that case, this parameter can take on one of the
 *   following values: SQLSRV_SCROLL_NEXT SQLSRV_SCROLL_PRIOR
 *   SQLSRV_SCROLL_FIRST SQLSRV_SCROLL_LAST SQLSRV_SCROLL_ABSOLUTE
 *   SQLSRV_SCROLL_RELATIVE
 * @param int $offset Specifies the row to be accessed if the row
 *   parameter is set to SQLSRV_SCROLL_ABSOLUTE or
 *   SQLSRV_SCROLL_RELATIVE. Note that the first row in a result set has
 *   index 0.
 * @return mixed Returns TRUE if the next row of a result set was
 *   successfully retrieved, FALSE if an error occurs, and NULL if there
 *   are no more rows in the result set.
 **/
function sqlsrv_fetch($stmt, $row, $offset){}

/**
 * Returns a row as an array
 *
 * Returns the next available row of data as an associative array, a
 * numeric array, or both (the default).
 *
 * @param resource $stmt A statement resource returned by sqlsrv_query
 *   or sqlsrv_prepare.
 * @param int $fetchType A predefined constant specifying the type of
 *   array to return. Possible values are SQLSRV_FETCH_ASSOC,
 *   SQLSRV_FETCH_NUMERIC, and SQLSRV_FETCH_BOTH (the default). A fetch
 *   type of SQLSRV_FETCH_ASSOC should not be used when consuming a
 *   result set with multiple columns of the same name.
 * @param int $row Specifies the row to access in a result set that
 *   uses a scrollable cursor. Possible values are SQLSRV_SCROLL_NEXT,
 *   SQLSRV_SCROLL_PRIOR, SQLSRV_SCROLL_FIRST, SQLSRV_SCROLL_LAST,
 *   SQLSRV_SCROLL_ABSOLUTE and, SQLSRV_SCROLL_RELATIVE (the default).
 *   When this parameter is specified, the {@link fetchType} must be
 *   explicitly defined.
 * @param int $offset Specifies the row to be accessed if the row
 *   parameter is set to SQLSRV_SCROLL_ABSOLUTE or
 *   SQLSRV_SCROLL_RELATIVE. Note that the first row in a result set has
 *   index 0.
 * @return array Returns an array on success, NULL if there are no more
 *   rows to return, and FALSE if an error occurs.
 **/
function sqlsrv_fetch_array($stmt, $fetchType, $row, $offset){}

/**
 * Retrieves the next row of data in a result set as an object
 *
 * Retrieves the next row of data in a result set as an instance of the
 * specified class with properties that match the row field names and
 * values that correspond to the row field values.
 *
 * @param resource $stmt A statement resource created by {@link
 *   sqlsrv_query} or {@link sqlsrv_execute}.
 * @param string $className The name of the class to instantiate. If no
 *   class name is specified, stdClass is instantiated.
 * @param array $ctorParams Values passed to the constructor of the
 *   specified class. If the constructor of the specified class takes
 *   parameters, the ctorParams array must be supplied.
 * @param int $row The row to be accessed. This parameter can only be
 *   used if the specified statement was prepared with a scrollable
 *   cursor. In that case, this parameter can take on one of the
 *   following values: SQLSRV_SCROLL_NEXT SQLSRV_SCROLL_PRIOR
 *   SQLSRV_SCROLL_FIRST SQLSRV_SCROLL_LAST SQLSRV_SCROLL_ABSOLUTE
 *   SQLSRV_SCROLL_RELATIVE
 * @param int $offset Specifies the row to be accessed if the row
 *   parameter is set to SQLSRV_SCROLL_ABSOLUTE or
 *   SQLSRV_SCROLL_RELATIVE. Note that the first row in a result set has
 *   index 0.
 * @return mixed Returns an object on success, NULL if there are no
 *   more rows to return, and FALSE if an error occurs or if the
 *   specified class does not exist.
 **/
function sqlsrv_fetch_object($stmt, $className, $ctorParams, $row, $offset){}

/**
 * Retrieves metadata for the fields of a statement prepared by or
 *
 * Retrieves metadata for the fields of a statement prepared by {@link
 * sqlsrv_prepare} or {@link sqlsrv_query}. {@link sqlsrv_field_metadata}
 * can be called on a statement before or after statement execution.
 *
 * @param resource $stmt The statment resource for which metadata is
 *   returned.
 * @return mixed Returns an array of arrays is returned on success.
 *   Otherwise, FALSE is returned. Each returned array is described by
 *   the following table: Array returned by sqlsrv_field_metadata Key
 *   Description Name The name of the field. Type The numeric value for
 *   the SQL type. Size The number of characters for fields of character
 *   type, the number of bytes for fields of binary type, or NULL for
 *   other types. Precision The precision for types of variable
 *   precision, NULL for other types. Scale The scale for types of
 *   variable scale, NULL for other types. Nullable An enumeration
 *   indicating whether the column is nullable, not nullable, or if it is
 *   not known. For more information, see sqlsrv_field_metadata in the
 *   Microsoft SQLSRV documentation.
 **/
function sqlsrv_field_metadata($stmt){}

/**
 * Frees all resources for the specified statement
 *
 * Frees all resources for the specified statement. The statement cannot
 * be used after {@link sqlsrv_free_stmt} has been called on it. If
 * {@link sqlsrv_free_stmt} is called on an in-progress statement that
 * alters server state, statement execution is terminated and the
 * statement is rolled back.
 *
 * @param resource $stmt The statment for which resources are freed.
 *   Note that NULL is a valid parameter value. This allows the function
 *   to be called multiple times in a script.
 * @return bool
 **/
function sqlsrv_free_stmt($stmt){}

/**
 * Returns the value of the specified configuration setting
 *
 * @param string $setting The name of the setting for which the value
 *   is returned. For a list of configurable settings, see {@link
 *   sqlsrv_configure}.
 * @return mixed Returns the value of the specified setting. If an
 *   invalid setting is specified, FALSE is returned.
 **/
function sqlsrv_get_config($setting){}

/**
 * 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.
 *
 * @param resource $stmt A statement resource returned by {@link
 *   sqlsrv_query} or {@link sqlsrv_execute}.
 * @param int $fieldIndex 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.
 * @param int $getAsType 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.
 * @return mixed Returns data from the specified field on success.
 *   Returns FALSE otherwise.
 **/
function sqlsrv_get_field($stmt, $fieldIndex, $getAsType){}

/**
 * Indicates whether the specified statement has rows
 *
 * @param resource $stmt A statement resource returned by {@link
 *   sqlsrv_query} or {@link sqlsrv_execute}.
 * @return bool Returns TRUE if the specified statement has rows and
 *   FALSE if the statement does not have rows or if an error occurred.
 **/
function sqlsrv_has_rows($stmt){}

/**
 * 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.
 *
 * @param resource $stmt The statment on which the next result is being
 *   called.
 * @return mixed Returns TRUE if the next result was successfully
 *   retrieved, FALSE if an error occurred, and NULL if there are no more
 *   results to retrieve.
 **/
function sqlsrv_next_result($stmt){}

/**
 * Retrieves the number of fields (columns) on a statement
 *
 * @param resource $stmt The statment for which the number of fields is
 *   returned. {@link sqlsrv_num_fields} can be called on a statement
 *   before or after statement execution.
 * @return mixed Returns the number of fields on success. Returns FALSE
 *   otherwise.
 **/
function sqlsrv_num_fields($stmt){}

/**
 * Retrieves the number of rows in a result set
 *
 * Retrieves the number of rows in a result set. This function requires
 * that the statment resource be created with a static or keyset cursor.
 * For more information, see {@link sqlsrv_query}, {@link
 * sqlsrv_prepare}, or Specifying a Cursor Type and Selecting Rows in the
 * Microsoft SQLSRV documentation.
 *
 * @param resource $stmt The statement for which the row count is
 *   returned. The statment resource must be created with a static or
 *   keyset cursor. For more information, see {@link sqlsrv_query},
 *   {@link sqlsrv_prepare}, or Specifying a Cursor Type and Selecting
 *   Rows in the Microsoft SQLSRV documentation.
 * @return mixed Returns the number of rows retrieved on success and
 *   FALSE if an error occurred. If a forward cursor (the default) or
 *   dynamic cursor is used, FALSE is returned.
 **/
function sqlsrv_num_rows($stmt){}

/**
 * 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.
 *
 * @param resource $conn A connection resource returned by {@link
 *   sqlsrv_connect}.
 * @param string $sql The string that defines the query to be prepared
 *   and executed.
 * @param array $params An array specifying parameter information when
 *   executing a parameterized query. Array elements can be any of the
 *   following: A literal value A PHP variable An array with this
 *   structure: array($value [, $direction [, $phpType [, $sqlType]]])
 *   The following table describes the elements in the array structure
 *   above:
 * @param array $options An array specifing query property options. The
 *   supported keys are described in the following table:
 * @return mixed Returns a statement resource on success and FALSE if
 *   an error occurred.
 **/
function sqlsrv_prepare($conn, $sql, $params, $options){}

/**
 * Prepares and executes a query
 *
 * @param resource $conn A connection resource returned by {@link
 *   sqlsrv_connect}.
 * @param string $sql The string that defines the query to be prepared
 *   and executed.
 * @param array $params An array specifying parameter information when
 *   executing a parameterized query. Array elements can be any of the
 *   following: A literal value A PHP variable An array with this
 *   structure: array($value [, $direction [, $phpType [, $sqlType]]])
 *   The following table describes the elements in the array structure
 *   above:
 * @param array $options An array specifing query property options. The
 *   supported keys are described in the following table:
 * @return mixed Returns a statement resource on success and FALSE if
 *   an error occurred.
 **/
function sqlsrv_query($conn, $sql, $params, $options){}

/**
 * Rolls back a transaction that was begun with
 *
 * Rolls back a transaction that was begun with {@link
 * sqlsrv_begin_transaction} and returns the connection to auto-commit
 * mode.
 *
 * @param resource $conn The connection resource returned by a call to
 *   {@link sqlsrv_connect}.
 * @return bool
 **/
function sqlsrv_rollback($conn){}

/**
 * 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 {@link sqlsrv_num_rows}.
 *
 * @param resource $stmt The executed statement resource for which the
 *   number of affected rows is returned.
 * @return int 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, FALSE is returned.
 **/
function sqlsrv_rows_affected($stmt){}

/**
 * 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.
 *
 * @param resource $stmt A statement resource returned by {@link
 *   sqlsrv_query} or {@link sqlsrv_execute}.
 * @return bool Returns TRUE if there is more data to send and FALSE if
 *   there is not.
 **/
function sqlsrv_send_stream_data($stmt){}

/**
 * Returns information about the server
 *
 * @param resource $conn The connection resource that connects the
 *   client and the server.
 * @return array Returns an array as described in the following table:
 *   Returned Array CurrentDatabase The connected-to database.
 *   SQLServerVersion The SQL Server version. SQLServerName The name of
 *   the server.
 **/
function sqlsrv_server_info($conn){}

/**
 * Make regular expression for case insensitive match
 *
 * Creates a regular expression for a case insensitive match.
 *
 * @param string $string The input string.
 * @return string Returns a valid regular expression which will match
 *   {@link string}, ignoring case. This expression is {@link string}
 *   with each alphabetic character converted to a bracket expression;
 *   this bracket expression contains that character's uppercase and
 *   lowercase form. Other characters remain unchanged.
 * @since PHP 4, PHP 5
 **/
function sql_regcase($string){}

/**
 * Square root
 *
 * Returns the square root of {@link arg}.
 *
 * @param float $arg The argument to process
 * @return float The square root of {@link arg} or the special value
 *   NAN for negative numbers.
 * @since PHP 4, PHP 5, PHP 7
 **/
function sqrt($arg){}

/**
 * Seed the random number generator
 *
 * Seeds the random number generator with {@link seed} or with a random
 * value if no {@link seed} is given.
 *
 * @param int $seed An arbitrary integer seed value.
 * @return void
 * @since PHP 4, PHP 5, PHP 7
 **/
function srand($seed){}

/**
 * Parses input from a string according to a format
 *
 * The function {@link sscanf} is the input analog of {@link printf}.
 * {@link sscanf} reads from the string {@link str} and interprets it
 * according to the specified {@link format}, which is described in the
 * documentation for {@link sprintf}.
 *
 * Any whitespace in the format string matches any whitespace in the
 * input string. This means that even a tab \t in the format string can
 * match a single space character in the input string.
 *
 * @param string $str The input string being parsed.
 * @param string $format The interpreted format for {@link str}, which
 *   is described in the documentation for {@link sprintf} with following
 *   differences: Function is not locale-aware. F, g, G and b are not
 *   supported. D stands for decimal number. i stands for integer with
 *   base detection. n stands for number of characters processed so far.
 *   s stops reading at any whitespace character.
 * @return mixed If only two parameters were passed to this function,
 *   the values parsed will be returned as an array. Otherwise, if
 *   optional parameters are passed, the function will return the number
 *   of assigned values. The optional parameters must be passed by
 *   reference.
 * @since PHP 4 >= 4.0.1, PHP 5, PHP 7
 **/
function sscanf($str, $format){}

/**
 * Calculates the match score between two fuzzy hash signatures
 *
 * Calculates the match score between {@link signature1} and {@link
 * signature2} using context-triggered piecewise hashing, and returns the
 * match score.
 *
 * @param string $signature1 The first fuzzy hash signature string.
 * @param string $signature2 The second fuzzy hash signature string.
 * @return int Returns an integer from 0 to 100 on success, FALSE
 *   otherwise.
 * @since PECL ssdeep >= 1.0.0
 **/
function ssdeep_fuzzy_compare($signature1, $signature2){}

/**
 * Create a fuzzy hash from a string
 *
 * {@link ssdeep_fuzzy_hash} calculates the hash of {@link to_hash} using
 * context-triggered piecewise hashing, and returns that hash.
 *
 * @param string $to_hash The input string.
 * @return string Returns a string on success, FALSE otherwise.
 * @since PECL ssdeep >= 1.0.0
 **/
function ssdeep_fuzzy_hash($to_hash){}

/**
 * Create a fuzzy hash from a file
 *
 * {@link ssdeep_fuzzy_hash_filename} calculates the hash of the file
 * specified by {@link file_name} using context-triggered piecewise
 * hashing, and returns that hash.
 *
 * @param string $file_name The filename of the file to hash.
 * @return string Returns a string on success, FALSE otherwise.
 * @since PECL ssdeep >= 1.0.0
 **/
function ssdeep_fuzzy_hash_filename($file_name){}

/**
 * Authenticate over SSH using the ssh agent
 *
 * @param resource $session An SSH connection link identifier, obtained
 *   from a call to {@link ssh2_connect}.
 * @param string $username Remote user name.
 * @return bool
 * @since PECL ssh2 >= 0.12
 **/
function ssh2_auth_agent($session, $username){}

/**
 * Authenticate using a public hostkey
 *
 * Authenticate using a public hostkey read from a file.
 *
 * @param resource $session An SSH connection link identifier, obtained
 *   from a call to {@link ssh2_connect}.
 * @param string $username
 * @param string $hostname
 * @param string $pubkeyfile
 * @param string $privkeyfile
 * @param string $passphrase If {@link privkeyfile} is encrypted (which
 *   it should be), the passphrase must be provided.
 * @param string $local_username If {@link local_username} is omitted,
 *   then the value for {@link username} will be used for it.
 * @return bool
 * @since PECL ssh2 >= 0.9.0
 **/
function ssh2_auth_hostbased_file($session, $username, $hostname, $pubkeyfile, $privkeyfile, $passphrase, $local_username){}

/**
 * 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.
 *
 * @param resource $session An SSH connection link identifier, obtained
 *   from a call to {@link ssh2_connect}.
 * @param string $username Remote user name.
 * @return mixed Returns TRUE if the server does accept "none" as an
 *   authentication method, or an array of accepted authentication
 *   methods on failure.
 * @since PECL ssh2 >= 0.9.0
 **/
function ssh2_auth_none($session, $username){}

/**
 * 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.
 *
 * @param resource $session An SSH connection link identifier, obtained
 *   from a call to {@link ssh2_connect}.
 * @param string $username Remote user name.
 * @param string $password Password for {@link username}
 * @return bool
 * @since PECL ssh2 >= 0.9.0
 **/
function ssh2_auth_password($session, $username, $password){}

/**
 * Authenticate using a public key
 *
 * Authenticate using a public key read from a file.
 *
 * @param resource $session An SSH connection link identifier, obtained
 *   from a call to {@link ssh2_connect}.
 * @param string $username
 * @param string $pubkeyfile The public key file needs to be in
 *   OpenSSH's format. It should look something like: ssh-rsa
 *   AAAAB3NzaC1yc2EAAA....NX6sqSnHA8= rsa-key-20121110
 * @param string $privkeyfile
 * @param string $passphrase If {@link privkeyfile} is encrypted (which
 *   it should be), the {@link passphrase} must be provided.
 * @return bool
 * @since PECL ssh2 >= 0.9.0
 **/
function ssh2_auth_pubkey_file($session, $username, $pubkeyfile, $privkeyfile, $passphrase){}

/**
 * Connect to an SSH server
 *
 * Establish a connection to a remote SSH server.
 *
 * Once connected, the client should verify the server's hostkey using
 * {@link ssh2_fingerprint}, then authenticate using either password or
 * public key.
 *
 * @param string $host
 * @param int $port
 * @param array $methods {@link methods} may be an associative array
 *   with up to four parameters as described below.
 *   
 *   {@link methods} may be an associative array with any or all of the
 *   following parameters. Index Meaning Supported Values* kex List of
 *   key exchange methods to advertise, comma separated in order of
 *   preference. diffie-hellman-group1-sha1, diffie-hellman-group14-sha1,
 *   and diffie-hellman-group-exchange-sha1 hostkey List of hostkey
 *   methods to advertise, comma separated in order of preference.
 *   ssh-rsa and ssh-dss 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 Associative array containing crypt, compression,
 *   and message authentication code (MAC) method preferences for
 *   messages sent from server to client. * - Supported Values are
 *   dependent on methods supported by underlying library. See libssh2
 *   documentation for additional information.
 *   
 *   {@link client_to_server} and {@link server_to_client} may be an
 *   associative array with any or all of the following parameters. Index
 *   Meaning Supported Values* crypt List of crypto methods to advertise,
 *   comma separated in order of preference. rijndael-cbc@lysator.liu.se,
 *   aes256-cbc, aes192-cbc, aes128-cbc, 3des-cbc, blowfish-cbc,
 *   cast128-cbc, arcfour, and none** comp List of compression methods to
 *   advertise, comma separated in order of preference. zlib and none mac
 *   List of MAC methods to advertise, comma separated in order of
 *   preference. hmac-sha1, hmac-sha1-96, hmac-ripemd160,
 *   hmac-ripemd160@openssh.com, and none**
 *   
 *   Crypt and MAC method "none" For security reasons, none is disabled
 *   by the underlying libssh2 library unless explicitly enabled during
 *   build time by using the appropriate ./configure options. See
 *   documentation for the underlying library for more information.
 * @param array $callbacks {@link callbacks} may be an associative
 *   array with any or all of the following parameters. Callbacks
 *   parameters Index Meaning Prototype ignore Name of function to call
 *   when an SSH2_MSG_IGNORE packet is received void ignore_cb($message)
 *   debug Name of function to call when an SSH2_MSG_DEBUG packet is
 *   received 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 TRUE,
 *   the mismatch will be ignored, otherwise the connection will be
 *   terminated. bool macerror_cb($packet) disconnect Name of function to
 *   call when an SSH2_MSG_DISCONNECT packet is received void
 *   disconnect_cb($reason, $message, $language)
 * @return resource Returns a resource on success, or FALSE on error.
 * @since PECL ssh2 >= 0.9.0
 **/
function ssh2_connect($host, $port, $methods, $callbacks){}

/**
 * Close a connection to a remote SSH server
 *
 * @param resource $session An SSH connection link identifier, obtained
 *   from a call to {@link ssh2_connect}.
 * @return bool
 * @since PECL ssh2 >= 1.0
 **/
function ssh2_disconnect($session){}

/**
 * Execute a command on a remote server
 *
 * Execute a command at the remote end and allocate a channel for it.
 *
 * @param resource $session An SSH connection link identifier, obtained
 *   from a call to {@link ssh2_connect}.
 * @param string $command
 * @param string $pty
 * @param array $env {@link env} may be passed as an associative array
 *   of name/value pairs to set in the target environment.
 * @param int $width Width of the virtual terminal.
 * @param int $height Height of the virtual terminal.
 * @param int $width_height_type {@link width_height_type} should be
 *   one of SSH2_TERM_UNIT_CHARS or SSH2_TERM_UNIT_PIXELS.
 * @return resource Returns a stream on success.
 * @since PECL ssh2 >= 0.9.0
 **/
function ssh2_exec($session, $command, $pty, $env, $width, $height, $width_height_type){}

/**
 * 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 SSH2_STREAM_STDERR (defined as 1).
 *
 * @param resource $channel
 * @param int $streamid An SSH2 channel stream.
 * @return resource Returns the requested stream resource.
 * @since PECL ssh2 >= 0.9.0
 **/
function ssh2_fetch_stream($channel, $streamid){}

/**
 * Retrieve fingerprint of remote server
 *
 * Returns a server hostkey hash from an active session.
 *
 * @param resource $session An SSH connection link identifier, obtained
 *   from a call to {@link ssh2_connect}.
 * @param int $flags {@link flags} may be either of
 *   SSH2_FINGERPRINT_MD5 or SSH2_FINGERPRINT_SHA1 logically ORed with
 *   SSH2_FINGERPRINT_HEX or SSH2_FINGERPRINT_RAW.
 * @return string Returns the hostkey hash as a string.
 * @since PECL ssh2 >= 0.9.0
 **/
function ssh2_fingerprint($session, $flags){}

/**
 * Return list of negotiated methods
 *
 * Returns list of negotiated methods.
 *
 * @param resource $session An SSH connection link identifier, obtained
 *   from a call to {@link ssh2_connect}.
 * @return array
 * @since PECL ssh2 >= 0.9.0
 **/
function ssh2_methods_negotiated($session){}

/**
 * Add an authorized publickey
 *
 * @param resource $pkey Publickey Subsystem resource created by {@link
 *   ssh2_publickey_init}.
 * @param string $algoname Publickey algorithm (e.g.): ssh-dss, ssh-rsa
 * @param string $blob Publickey blob as raw binary data
 * @param bool $overwrite If the specified key already exists, should
 *   it be overwritten?
 * @param array $attributes 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.
 * @return bool
 * @since PECL ssh2 >= 0.10
 **/
function ssh2_publickey_add($pkey, $algoname, $blob, $overwrite, $attributes){}

/**
 * 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 {@link
 * ssh2_publickey_init} function will return FALSE.
 *
 * @param resource $session
 * @return resource Returns an SSH2 Publickey Subsystem resource for
 *   use with all other ssh2_publickey_*() methods.
 * @since PECL ssh2 >= 0.10
 **/
function ssh2_publickey_init($session){}

/**
 * List currently authorized publickeys
 *
 * List currently authorized publickeys.
 *
 * @param resource $pkey Publickey Subsystem resource
 * @return array Returns a numerically indexed array of keys, each of
 *   which is an associative array containing: name, blob, and attrs
 *   elements.
 * @since PECL ssh2 >= 0.10
 **/
function ssh2_publickey_list($pkey){}

/**
 * Remove an authorized publickey
 *
 * Removes an authorized publickey.
 *
 * @param resource $pkey Publickey Subsystem Resource
 * @param string $algoname Publickey algorithm (e.g.): ssh-dss, ssh-rsa
 * @param string $blob Publickey blob as raw binary data
 * @return bool
 * @since PECL ssh2 >= 0.10
 **/
function ssh2_publickey_remove($pkey, $algoname, $blob){}

/**
 * Request a file via SCP
 *
 * Copy a file from the remote server to the local filesystem using the
 * SCP protocol.
 *
 * @param resource $session An SSH connection link identifier, obtained
 *   from a call to {@link ssh2_connect}.
 * @param string $remote_file Path to the remote file.
 * @param string $local_file Path to the local file.
 * @return bool
 * @since PECL ssh2 >= 0.9.0
 **/
function ssh2_scp_recv($session, $remote_file, $local_file){}

/**
 * Send a file via SCP
 *
 * Copy a file from the local filesystem to the remote server using the
 * SCP protocol.
 *
 * @param resource $session An SSH connection link identifier, obtained
 *   from a call to {@link ssh2_connect}.
 * @param string $local_file Path to the local file.
 * @param string $remote_file Path to the remote file.
 * @param int $create_mode The file will be created with the mode
 *   specified by {@link create_mode}.
 * @return bool
 * @since PECL ssh2 >= 0.9.0
 **/
function ssh2_scp_send($session, $local_file, $remote_file, $create_mode){}

/**
 * Initialize SFTP subsystem
 *
 * Request the SFTP subsystem from an already connected SSH2 server.
 *
 * @param resource $session An SSH connection link identifier, obtained
 *   from a call to {@link ssh2_connect}.
 * @return resource This method returns an SSH2 SFTP resource for use
 *   with all other ssh2_sftp_*() methods and the ssh2.sftp:// fopen
 *   wrapper.
 * @since PECL ssh2 >= 0.9.0
 **/
function ssh2_sftp($session){}

/**
 * Changes file mode
 *
 * Attempts to change the mode of the specified file to that given in
 * {@link mode}.
 *
 * @param resource $sftp An SSH2 SFTP resource opened by {@link
 *   ssh2_sftp}.
 * @param string $filename Path to the file.
 * @param int $mode Permissions on the file. See the {@link chmod} for
 *   more details on this parameter.
 * @return bool
 * @since PECL ssh2 >= 0.12
 **/
function ssh2_sftp_chmod($sftp, $filename, $mode){}

/**
 * Stat a symbolic link
 *
 * Stats a symbolic link on the remote filesystem without following the
 * link.
 *
 * This function is similar to using the {@link lstat} function with the
 * ssh2.sftp:// wrapper in PHP 5 and returns the same values.
 *
 * @param resource $sftp An SSH2 SFTP resource opened by {@link
 *   ssh2_sftp}.
 * @param string $path Path to the remote symbolic link.
 * @return array See the documentation for {@link stat} for details on
 *   the values which may be returned.
 * @since PECL ssh2 >= 0.9.0
 **/
function ssh2_sftp_lstat($sftp, $path){}

/**
 * Create a directory
 *
 * Creates a directory on the remote file server with permissions set to
 * {@link mode}.
 *
 * This function is similar to using {@link mkdir} with the ssh2.sftp://
 * wrapper.
 *
 * @param resource $sftp An SSH2 SFTP resource opened by {@link
 *   ssh2_sftp}.
 * @param string $dirname Path of the new directory.
 * @param int $mode Permissions on the new directory.
 * @param bool $recursive If {@link recursive} is TRUE any parent
 *   directories required for {@link dirname} will be automatically
 *   created as well.
 * @return bool
 * @since PECL ssh2 >= 0.9.0
 **/
function ssh2_sftp_mkdir($sftp, $dirname, $mode, $recursive){}

/**
 * Return the target of a symbolic link
 *
 * Returns the target of a symbolic link.
 *
 * @param resource $sftp An SSH2 SFTP resource opened by {@link
 *   ssh2_sftp}.
 * @param string $link Path of the symbolic link.
 * @return string Returns the target of the symbolic {@link link}.
 * @since PECL ssh2 >= 0.9.0
 **/
function ssh2_sftp_readlink($sftp, $link){}

/**
 * Resolve the realpath of a provided path string
 *
 * Translates {@link filename} into the effective real path on the remote
 * filesystem.
 *
 * @param resource $sftp An SSH2 SFTP resource opened by {@link
 *   ssh2_sftp}.
 * @param string $filename
 * @return string Returns the real path as a string.
 * @since PECL ssh2 >= 0.9.0
 **/
function ssh2_sftp_realpath($sftp, $filename){}

/**
 * Rename a remote file
 *
 * Renames a file on the remote filesystem.
 *
 * @param resource $sftp An SSH2 SFTP resource opened by {@link
 *   ssh2_sftp}.
 * @param string $from The current file that is being renamed.
 * @param string $to The new file name that replaces {@link from}.
 * @return bool
 * @since PECL ssh2 >= 0.9.0
 **/
function ssh2_sftp_rename($sftp, $from, $to){}

/**
 * Remove a directory
 *
 * Removes a directory from the remote file server.
 *
 * This function is similar to using {@link rmdir} with the ssh2.sftp://
 * wrapper.
 *
 * @param resource $sftp An SSH2 SFTP resource opened by {@link
 *   ssh2_sftp}.
 * @param string $dirname
 * @return bool
 * @since PECL ssh2 >= 0.9.0
 **/
function ssh2_sftp_rmdir($sftp, $dirname){}

/**
 * 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 {@link stat} function with the
 * ssh2.sftp:// wrapper in PHP 5 and returns the same values.
 *
 * @param resource $sftp An SSH2 SFTP resource opened by {@link
 *   ssh2_sftp}.
 * @param string $path
 * @return array See the documentation for {@link stat} for details on
 *   the values which may be returned.
 * @since PECL ssh2 >= 0.9.0
 **/
function ssh2_sftp_stat($sftp, $path){}

/**
 * Create a symlink
 *
 * Creates a symbolic link named {@link link} on the remote filesystem
 * pointing to {@link target}.
 *
 * @param resource $sftp An SSH2 SFTP resource opened by {@link
 *   ssh2_sftp}.
 * @param string $target Target of the symbolic link.
 * @param string $link
 * @return bool
 * @since PECL ssh2 >= 0.9.0
 **/
function ssh2_sftp_symlink($sftp, $target, $link){}

/**
 * Delete a file
 *
 * Deletes a file on the remote filesystem.
 *
 * @param resource $sftp An SSH2 SFTP resource opened by {@link
 *   ssh2_sftp}.
 * @param string $filename
 * @return bool
 * @since PECL ssh2 >= 0.9.0
 **/
function ssh2_sftp_unlink($sftp, $filename){}

/**
 * Request an interactive shell
 *
 * Open a shell at the remote end and allocate a stream for it.
 *
 * @param resource $session An SSH connection link identifier, obtained
 *   from a call to {@link ssh2_connect}.
 * @param string $term_type {@link term_type} should correspond to one
 *   of the entries in the target system's /etc/termcap file.
 * @param array $env {@link env} may be passed as an associative array
 *   of name/value pairs to set in the target environment.
 * @param int $width Width of the virtual terminal.
 * @param int $height Height of the virtual terminal.
 * @param int $width_height_type {@link width_height_type} should be
 *   one of SSH2_TERM_UNIT_CHARS or SSH2_TERM_UNIT_PIXELS.
 * @return resource
 * @since PECL ssh2 >= 0.9.0
 **/
function ssh2_shell($session, $term_type, $env, $width, $height, $width_height_type){}

/**
 * Open a tunnel through a remote server
 *
 * Open a socket stream to an arbitrary host/port by way of the currently
 * connected SSH server.
 *
 * @param resource $session An SSH connection link identifier, obtained
 *   from a call to {@link ssh2_connect}.
 * @param string $host
 * @param int $port
 * @return resource
 * @since PECL ssh2 >= 0.9.0
 **/
function ssh2_tunnel($session, $host, $port){}

/**
 * Gives information about a file
 *
 * Gathers the statistics of the file named by {@link filename}. If
 * {@link filename} is a symbolic link, statistics are from the file
 * itself, not the symlink.
 *
 * {@link lstat} is identical to {@link stat} except it would instead be
 * based off the symlinks status.
 *
 * @param string $filename Path to the file.
 * @return array {@link stat} and {@link fstat} result format Numeric
 *   Associative Description 0 dev device number 1 ino inode number * 2
 *   mode inode protection mode 3 nlink number of links 4 uid userid of
 *   owner * 5 gid groupid of owner * 6 rdev device type, if inode device
 *   7 size size in bytes 8 atime time of last access (Unix timestamp) 9
 *   mtime time of last modification (Unix timestamp) 10 ctime time of
 *   last inode change (Unix timestamp) 11 blksize blocksize of
 *   filesystem IO ** 12 blocks number of 512-byte blocks allocated ** *
 *   On Windows this will always be 0.
 * @since PHP 4, PHP 5, PHP 7
 **/
function stat($filename){}

/**
 * Returns the absolute deviation of an array of values
 *
 * Returns the absolute deviation of the values in {@link a}.
 *
 * @param array $a The input array
 * @return float Returns the absolute deviation of the values in {@link
 *   a}, or FALSE if {@link a} is empty or is not an array.
 * @since PECL stats >= 1.0.0
 **/
function stats_absolute_deviation($a){}

/**
 * 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 ({@link par1}, {@link par2}, and {@link par3}) are
 * determined by {@link which}.
 *
 * The following table lists the return value and parameters by {@link
 * which}. CDF, x, alpha, and beta denotes cumurative distribution
 * function, the value of the random variable, and shape parameters of
 * the beta distribution, respectively. Return value and parameters
 * {@link which} Return value {@link par1} {@link par2} {@link par3} 1
 * CDF x alpha beta 2 x CDF alpha beta 3 alpha x CDF beta 4 beta x CDF
 * alpha
 *
 * @param float $par1 The first parameter
 * @param float $par2 The second parameter
 * @param float $par3 The third parameter
 * @param int $which The flag to determine what to be calculated
 * @return float Returns CDF, x, alpha, or beta, determined by {@link
 *   which}.
 * @since PECL stats >= 1.0.0
 **/
function stats_cdf_beta($par1, $par2, $par3, $which){}

/**
 * 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 ({@link par1}, {@link par2}, and {@link par3})
 * are determined by {@link which}.
 *
 * The following table lists the return value and parameters by {@link
 * which}. CDF, x, n, and p denotes cumurative distribution function, the
 * number of successes, the number of trials, and the success rate for
 * each trial, respectively. Return value and parameters {@link which}
 * Return value {@link par1} {@link par2} {@link par3} 1 CDF x n p 2 x
 * CDF n p 3 n x CDF p 4 p x CDF n
 *
 * @param float $par1 The first parameter
 * @param float $par2 The second parameter
 * @param float $par3 The third parameter
 * @param int $which The flag to determine what to be calculated
 * @return float Returns CDF, x, n, or p, determined by {@link which}.
 * @since PECL stats >= 1.0.0
 **/
function stats_cdf_binomial($par1, $par2, $par3, $which){}

/**
 * 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 ({@link par1}, {@link par2}, and {@link par3})
 * are determined by {@link which}.
 *
 * The following table lists the return value and parameters by {@link
 * which}. CDF, x, x0, and gamma denotes cumurative distribution
 * function, the value of the random variable, the location and the scale
 * parameter of the Cauchy distribution, respectively. Return value and
 * parameters {@link which} Return value {@link par1} {@link par2} {@link
 * par3} 1 CDF x x0 gamma 2 x CDF x0 gamma 3 x0 x CDF gamma 4 gamma x CDF
 * x0
 *
 * @param float $par1 The first parameter
 * @param float $par2 The second parameter
 * @param float $par3 The third parameter
 * @param int $which The flag to determine what to be calculated
 * @return float Returns CDF, x, x0, or gamma, determined by {@link
 *   which}.
 * @since PECL stats >= 1.0.0
 **/
function stats_cdf_cauchy($par1, $par2, $par3, $which){}

/**
 * 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 ({@link par1} and {@link par2}) are determined by
 * {@link which}.
 *
 * The following table lists the return value and parameters by {@link
 * which}. CDF, x, and k denotes cumurative distribution function, the
 * value of the random variable, and the degree of freedom of the
 * chi-square distribution, respectively. Return value and parameters
 * {@link which} Return value {@link par1} {@link par2} 1 CDF x k 2 x CDF
 * k 3 k x CDF
 *
 * @param float $par1 The first parameter
 * @param float $par2 The second parameter
 * @param int $which The flag to determine what to be calculated
 * @return float Returns CDF, x, or k, determined by {@link which}.
 * @since PECL stats >= 1.0.0
 **/
function stats_cdf_chisquare($par1, $par2, $which){}

/**
 * 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 ({@link par1} and {@link par2}) are
 * determined by {@link which}.
 *
 * The following table lists the return value and parameters by {@link
 * which}. CDF, x, and lambda denotes cumurative distribution function,
 * the value of the random variable, and the rate parameter of the
 * exponential distribution, respectively. Return value and parameters
 * {@link which} Return value {@link par1} {@link par2} 1 CDF x lambda 2
 * x CDF lambda 3 lambda x CDF
 *
 * @param float $par1 The first parameter
 * @param float $par2 The second parameter
 * @param int $which The flag to determine what to be calculated
 * @return float Returns CDF, x, or lambda, determined by {@link
 *   which}.
 * @since PECL stats >= 1.0.0
 **/
function stats_cdf_exponential($par1, $par2, $which){}

/**
 * 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 ({@link par1}, {@link par2}, and {@link par3}) are
 * determined by {@link which}.
 *
 * The following table lists the return value and parameters by {@link
 * which}. CDF, x, d1, and d2 denotes cumurative distribution function,
 * the value of the random variable, and the degree of freedoms of the F
 * distribution, respectively. Return value and parameters {@link which}
 * Return value {@link par1} {@link par2} {@link par3} 1 CDF x d1 d2 2 x
 * CDF d1 d2 3 d1 x CDF d2 4 d2 x CDF d1
 *
 * @param float $par1 The first parameter
 * @param float $par2 The second parameter
 * @param float $par3 The third parameter
 * @param int $which The flag to determine what to be calculated
 * @return float Returns CDF, x, d1, or d2, determined by {@link
 *   which}.
 * @since PECL stats >= 1.0.0
 **/
function stats_cdf_f($par1, $par2, $par3, $which){}

/**
 * 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 ({@link par1}, {@link par2}, and {@link par3})
 * are determined by {@link which}.
 *
 * The following table lists the return value and parameters by {@link
 * which}. CDF, x, k, and theta denotes cumurative distribution function,
 * the value of the random variable, and the shape and the scale
 * parameter of the gamma distribution, respectively. Return value and
 * parameters {@link which} Return value {@link par1} {@link par2} {@link
 * par3} 1 CDF x k theta 2 x CDF k theta 3 k x CDF theta 4 theta x CDF k
 *
 * @param float $par1 The first parameter
 * @param float $par2 The second parameter
 * @param float $par3 The third parameter
 * @param int $which The flag to determine what to be calculated
 * @return float Returns CDF, x, k, or theta, determined by {@link
 *   which}.
 * @since PECL stats >= 1.0.0
 **/
function stats_cdf_gamma($par1, $par2, $par3, $which){}

/**
 * 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 ({@link par1}, {@link par2}, and {@link par3})
 * are determined by {@link which}.
 *
 * The following table lists the return value and parameters by {@link
 * which}. CDF, x, mu, and b denotes cumurative distribution function,
 * the value of the random variable, and the location and the scale
 * parameter of the Laplace distribution, respectively. Return value and
 * parameters {@link which} Return value {@link par1} {@link par2} {@link
 * par3} 1 CDF x mu b 2 x CDF mu b 3 mu x CDF b 4 b x CDF mu
 *
 * @param float $par1 The first parameter
 * @param float $par2 The second parameter
 * @param float $par3 The third parameter
 * @param int $which The flag to determine what to be calculated
 * @return float Returns CDF, x, mu, or b, determined by {@link which}.
 * @since PECL stats >= 1.0.0
 **/
function stats_cdf_laplace($par1, $par2, $par3, $which){}

/**
 * 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 ({@link par1}, {@link par2}, and {@link par3})
 * are determined by {@link which}.
 *
 * The following table lists the return value and parameters by {@link
 * which}. CDF, x, mu, and s denotes cumurative distribution function,
 * the value of the random variable, and the location and the scale
 * parameter of the logistic distribution, respectively. Return value and
 * parameters {@link which} Return value {@link par1} {@link par2} {@link
 * par3} 1 CDF x mu s 2 x CDF mu s 3 mu x CDF s 4 s x CDF mu
 *
 * @param float $par1 The first parameter
 * @param float $par2 The second parameter
 * @param float $par3 The third parameter
 * @param int $which The flag to determine what to be calculated
 * @return float Returns CDF, x, mu, or s, determined by {@link which}.
 * @since PECL stats >= 1.0.0
 **/
function stats_cdf_logistic($par1, $par2, $par3, $which){}

/**
 * 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 ({@link par1}, {@link par2}, and {@link
 * par3}) are determined by {@link which}.
 *
 * The following table lists the return value and parameters by {@link
 * which}. CDF, x, r, and p denotes cumurative distribution function, the
 * number of failure, the number of success, and the success rate for
 * each trial, respectively. Return value and parameters {@link which}
 * Return value {@link par1} {@link par2} {@link par3} 1 CDF x r p 2 x
 * CDF r p 3 r x CDF p 4 p x CDF r
 *
 * @param float $par1 The first parameter
 * @param float $par2 The second parameter
 * @param float $par3 The third parameter
 * @param int $which The flag to determine what to be calculated
 * @return float Returns CDF, x, r, or p, determined by {@link which}.
 * @since PECL stats >= 1.0.0
 **/
function stats_cdf_negative_binomial($par1, $par2, $par3, $which){}

/**
 * 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 ({@link par1}, {@link par2}, and
 * {@link par3}) are determined by {@link which}.
 *
 * The following table lists the return value and parameters by {@link
 * which}. CDF, x, k, and lambda denotes cumurative 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 {@link which} Return value {@link par1} {@link
 * par2} {@link par3} 1 CDF x k lambda 2 x CDF k lambda 3 k x CDF lambda
 * 4 lambda x CDF k
 *
 * @param float $par1 The first parameter
 * @param float $par2 The second parameter
 * @param float $par3 The third parameter
 * @param int $which The flag to determine what to be calculated
 * @return float Returns CDF, x, k, or lambda, determined by {@link
 *   which}.
 * @since PECL stats >= 1.0.0
 **/
function stats_cdf_noncentral_chisquare($par1, $par2, $par3, $which){}

/**
 * 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 ({@link par1}, {@link par2}, {@link par3},
 * and {@link par4}) are determined by {@link which}.
 *
 * The following table lists the return value and parameters by {@link
 * which}. CDF, x, nu1, nu2, and lambda denotes cumurative 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 {@link which} Return value {@link par1} {@link
 * par2} {@link par3} {@link par4} 1 CDF x nu1 nu2 lambda 2 x CDF nu1 nu2
 * lambda 3 nu1 x CDF nu2 lambda 4 nu2 x CDF nu1 lambda 5 lambda x CDF
 * nu1 nu2
 *
 * @param float $par1 The first parameter
 * @param float $par2 The second parameter
 * @param float $par3 The third parameter
 * @param float $par4 The fourth parameter
 * @param int $which The flag to determine what to be calculated
 * @return float Returns CDF, x, nu1, nu2, or lambda, determined by
 *   {@link which}.
 * @since PECL stats >= 1.0.0
 **/
function stats_cdf_noncentral_f($par1, $par2, $par3, $par4, $which){}

/**
 * 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 ({@link par1}, {@link par2}, and {@link
 * par3}) are determined by {@link which}.
 *
 * The following table lists the return value and parameters by {@link
 * which}. CDF, x, nu, and mu denotes cumurative 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 {@link which} Return value {@link par1} {@link
 * par2} {@link par3} 1 CDF x nu mu 2 x CDF nu mu 3 nu x CDF mu 4 mu x
 * CDF nu
 *
 * @param float $par1 The first parameter
 * @param float $par2 The second parameter
 * @param float $par3 The third parameter
 * @param int $which The flag to determine what to be calculated
 * @return float Returns CDF, x, nu, or mu, determined by {@link
 *   which}.
 * @since PECL stats >= 1.0.0
 **/
function stats_cdf_noncentral_t($par1, $par2, $par3, $which){}

/**
 * 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 ({@link par1}, {@link par2}, and {@link par3})
 * are determined by {@link which}.
 *
 * The following table lists the return value and parameters by {@link
 * which}. CDF, x, mu, and sigma denotes cumurative distribution
 * function, the value of the random variable, the mean and the standard
 * deviation of the normal distribution, respectively. Return value and
 * parameters {@link which} Return value {@link par1} {@link par2} {@link
 * par3} 1 CDF x mu sigma 2 x CDF mu sigma 3 mu x CDF sigma 4 sigma x CDF
 * mu
 *
 * @param float $par1 The first parameter
 * @param float $par2 The second parameter
 * @param float $par3 The third parameter
 * @param int $which The flag to determine what to be calculated
 * @return float Returns CDF, x, mu, or sigma, determined by {@link
 *   which}.
 * @since PECL stats >= 1.0.0
 **/
function stats_cdf_normal($par1, $par2, $par3, $which){}

/**
 * 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 ({@link par1} and {@link par2}) are determined by
 * {@link which}.
 *
 * The following table lists the return value and parameters by {@link
 * which}. CDF, x, and lambda denotes cumurative distribution function,
 * the value of the random variable, and the parameter of the Poisson
 * distribution, respectively. Return value and parameters {@link which}
 * Return value {@link par1} {@link par2} 1 CDF x lambda 2 x CDF lambda 3
 * lambda x CDF
 *
 * @param float $par1 The first parameter
 * @param float $par2 The second parameter
 * @param int $which The flag to determine what to be calculated
 * @return float Returns CDF, x, or lambda, determined by {@link
 *   which}.
 * @since PECL stats >= 1.0.0
 **/
function stats_cdf_poisson($par1, $par2, $which){}

/**
 * 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 ({@link par1} and {@link par2}) are determined by
 * {@link which}.
 *
 * The following table lists the return value and parameters by {@link
 * which}. CDF, x, and nu denotes cumurative distribution function, the
 * value of the random variable, and the degrees of freedom of the
 * t-distribution, respectively. Return value and parameters {@link
 * which} Return value {@link par1} {@link par2} 1 CDF x nu 2 x CDF nu 3
 * nu x CDF
 *
 * @param float $par1 The first parameter
 * @param float $par2 The second parameter
 * @param int $which The flag to determine what to be calculated
 * @return float Returns CDF, x, or nu, determined by {@link which}.
 * @since PECL stats >= 1.0.0
 **/
function stats_cdf_t($par1, $par2, $which){}

/**
 * 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 ({@link par1}, {@link par2}, and {@link par3})
 * are determined by {@link which}.
 *
 * The following table lists the return value and parameters by {@link
 * which}. CDF, x, a, and b denotes cumurative distribution function, the
 * value of the random variable, the lower bound and the higher bound of
 * the uniform distribution, respectively. Return value and parameters
 * {@link which} Return value {@link par1} {@link par2} {@link par3} 1
 * CDF x a b 2 x CDF a b 3 a x CDF b 4 b x CDF a
 *
 * @param float $par1 The first parameter
 * @param float $par2 The second parameter
 * @param float $par3 The third parameter
 * @param int $which The flag to determine what to be calculated
 * @return float Returns CDF, x, a, or b, determined by {@link which}.
 * @since PECL stats >= 1.0.0
 **/
function stats_cdf_uniform($par1, $par2, $par3, $which){}

/**
 * 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 binomial distribution. The kind of the return
 * value and parameters ({@link par1}, {@link par2}, and {@link par3})
 * are determined by {@link which}.
 *
 * The following table lists the return value and parameters by {@link
 * which}. CDF, x, k, and lambda denotes cumurative distribution
 * function, the value of the random variable, the shape and the scale
 * parameter of the Weibull distribution, respectively. Return value and
 * parameters {@link which} Return value {@link par1} {@link par2} {@link
 * par3} 1 CDF x k lambda 2 x CDF k lambda 3 k x CDF lambda 4 lambda x
 * CDF k
 *
 * @param float $par1 The first parameter
 * @param float $par2 The second parameter
 * @param float $par3 The third parameter
 * @param int $which The flag to determine what to be calculated
 * @return float Returns CDF, x, k, or lambda, determined by {@link
 *   which}.
 * @since PECL stats >= 1.0.0
 **/
function stats_cdf_weibull($par1, $par2, $par3, $which){}

/**
 * Computes the covariance of two data sets
 *
 * Returns the covariance of {@link a} and {@link b}.
 *
 * @param array $a The first array
 * @param array $b The second array
 * @return float Returns the covariance of {@link a} and {@link b}, or
 *   FALSE on failure.
 * @since PECL stats >= 1.0.0
 **/
function stats_covariance($a, $b){}

/**
 * Probability density function of the beta distribution
 *
 * Returns the probability density at {@link x}, where the random
 * variable follows the beta distribution of which the shape parameters
 * are {@link a} and {@link b}.
 *
 * @param float $x The value at which the probability density is
 *   calculated
 * @param float $a The shape parameter of the distribution
 * @param float $b The shape parameter of the distribution
 * @return float The probability density at {@link x} or FALSE for
 *   failure.
 * @since PECL stats >= 1.0.0
 **/
function stats_dens_beta($x, $a, $b){}

/**
 * Probability density function of the Cauchy distribution
 *
 * Returns the probability density at {@link x}, where the random
 * variable follows the Cauchy distribution whose location and scale are
 * {@link ave} and {@link stdev}, respectively.
 *
 * @param float $x The value at which the probability density is
 *   calculated
 * @param float $ave The location parameter of the distribution
 * @param float $stdev The scale parameter of the distribution
 * @return float The probability density at {@link x} or FALSE for
 *   failure.
 * @since PECL stats >= 1.0.0
 **/
function stats_dens_cauchy($x, $ave, $stdev){}

/**
 * Probability density function of the chi-square distribution
 *
 * Returns the probability density at {@link x}, where the random
 * variable follows the chi-square distribution of which the degree of
 * freedom is {@link dfr}.
 *
 * @param float $x The value at which the probability density is
 *   calculated
 * @param float $dfr The degree of freedom of the distribution
 * @return float The probability density at {@link x} or FALSE for
 *   failure.
 * @since PECL stats >= 1.0.0
 **/
function stats_dens_chisquare($x, $dfr){}

/**
 * Probability density function of the exponential distribution
 *
 * Returns the probability density at {@link x}, where the random
 * variable follows the exponential distribution of which the scale is
 * {@link scale}.
 *
 * @param float $x The value at which the probability density is
 *   calculated
 * @param float $scale The scale of the distribution
 * @return float The probability density at {@link x} or FALSE for
 *   failure.
 * @since PECL stats >= 1.0.0
 **/
function stats_dens_exponential($x, $scale){}

/**
 * Probability density function of the F distribution
 *
 * Returns the probability density at {@link x}, where the random
 * variable follows the F distribution of which the degree of freedoms
 * are {@link dfr1} and {@link dfr2}.
 *
 * @param float $x The value at which the probability density is
 *   calculated
 * @param float $dfr1 The degree of freedom of the distribution
 * @param float $dfr2 The degree of freedom of the distribution
 * @return float The probability density at {@link x} or FALSE for
 *   failure.
 * @since PECL stats >= 1.0.0
 **/
function stats_dens_f($x, $dfr1, $dfr2){}

/**
 * Probability density function of the gamma distribution
 *
 * Returns the probability density at {@link x}, where the random
 * variable follows the gamma distribution of which the shape parameter
 * is {@link shape} and the scale parameter is {@link scale}.
 *
 * @param float $x The value at which the probability density is
 *   calculated
 * @param float $shape The shape parameter of the distribution
 * @param float $scale The scale parameter of the distribution
 * @return float The probability density at {@link x} or FALSE for
 *   failure.
 * @since PECL stats >= 1.0.0
 **/
function stats_dens_gamma($x, $shape, $scale){}

/**
 * Probability density function of the Laplace distribution
 *
 * Returns the probability density at {@link x}, where the random
 * variable follows the Laplace distribution of which the location
 * parameter is {@link ave} and the scale parameter is {@link stdev}.
 *
 * @param float $x The value at which the probability density is
 *   calculated
 * @param float $ave The location parameter of the distribution
 * @param float $stdev The shape parameter of the distribution
 * @return float The probability density at {@link x} or FALSE for
 *   failure.
 * @since PECL stats >= 1.0.0
 **/
function stats_dens_laplace($x, $ave, $stdev){}

/**
 * Probability density function of the logistic distribution
 *
 * Returns the probability density at {@link x}, where the random
 * variable follows the logistic distribution of which the location
 * parameter is {@link ave} and the scale parameter is {@link stdev}.
 *
 * @param float $x The value at which the probability density is
 *   calculated
 * @param float $ave The location parameter of the distribution
 * @param float $stdev The shape parameter of the distribution
 * @return float The probability density at {@link x} or FALSE for
 *   failure.
 * @since PECL stats >= 1.0.0
 **/
function stats_dens_logistic($x, $ave, $stdev){}

/**
 * Probability density function of the normal distribution
 *
 * Returns the probability density at {@link x}, where the random
 * variable follows the normal distribution of which the mean is {@link
 * ave} and the standard deviation is {@link stdev}.
 *
 * @param float $x The value at which the probability density is
 *   calculated
 * @param float $ave The mean of the distribution
 * @param float $stdev The standard deviation of the distribution
 * @return float The probability density at {@link x} or FALSE for
 *   failure.
 * @since PECL stats >= 1.0.0
 **/
function stats_dens_normal($x, $ave, $stdev){}

/**
 * Probability mass function of the binomial distribution
 *
 * Returns the probability mass at {@link x}, where the random variable
 * follows the binomial distribution of which the number of trials is
 * {@link n} and the success rate is {@link pi}.
 *
 * @param float $x The value at which the probability mass is
 *   calculated
 * @param float $n The number of trials of the distribution
 * @param float $pi The success rate of the distribution
 * @return float The probability mass at {@link x} or FALSE for
 *   failure.
 * @since PECL stats >= 1.0.0
 **/
function stats_dens_pmf_binomial($x, $n, $pi){}

/**
 * Probability mass function of the hypergeometric distribution
 *
 * Returns the probability mass at {@link n1}, where the random variable
 * follows the hypergeometric distribution of which the number of failure
 * is {@link n2}, the number of success samples is {@link N1}, and the
 * number of failure samples is {@link N2}.
 *
 * @param float $n1 The number of success, at which the probability
 *   mass is calculated
 * @param float $n2 The number of failure of the distribution
 * @param float $N1 The number of success samples of the distribution
 * @param float $N2 The number of failure samples of the distribution
 * @return float The probability mass at {@link n1} or FALSE for
 *   failure.
 * @since PECL stats >= 1.0.0
 **/
function stats_dens_pmf_hypergeometric($n1, $n2, $N1, $N2){}

/**
 * Probability density function of the negative binomial distribution
 *
 * Returns the probability density at {@link x}, where the random
 * variable follows the negative binomial distribution of which the
 * number of the success is {@link n} and the success rate is {@link pi}.
 *
 * @param float $x The value at which the probability density is
 *   calculated
 * @param float $n The number of the success of the distribution
 * @param float $pi The success rate of the distribution
 * @return float The probability density at {@link x} or FALSE for
 *   failure.
 * @since PECL stats >= 1.0.0
 **/
function stats_dens_pmf_negative_binomial($x, $n, $pi){}

/**
 * Probability mass function of the Poisson distribution
 *
 * Returns the probability mass at {@link x}, where the random variable
 * follows the Poisson distribution whose parameter is {@link lb}.
 *
 * @param float $x The value at which the probability mass is
 *   calculated
 * @param float $lb The parameter of the Poisson distribution
 * @return float The probability mass at {@link x} or FALSE for
 *   failure.
 * @since PECL stats >= 1.0.0
 **/
function stats_dens_pmf_poisson($x, $lb){}

/**
 * Probability density function of the t-distribution
 *
 * Returns the probability density at {@link x}, where the random
 * variable follows the t-distribution of which the degree of freedom is
 * {@link dfr}.
 *
 * @param float $x The value at which the probability density is
 *   calculated
 * @param float $dfr The degree of freedom of the distribution
 * @return float The probability density at {@link x} or FALSE for
 *   failure.
 * @since PECL stats >= 1.0.0
 **/
function stats_dens_t($x, $dfr){}

/**
 * Probability density function of the uniform distribution
 *
 * Returns the probability density at {@link x}, where the random
 * variable follows the uniform distribution of which the lower bound is
 * {@link a} and the upper bound is {@link b}.
 *
 * @param float $x The value at which the probability density is
 *   calculated
 * @param float $a The lower bound of the distribution
 * @param float $b The upper bound of the distribution
 * @return float The probability density at {@link x} or FALSE for
 *   failure.
 * @since PECL stats >= 1.0.0
 **/
function stats_dens_uniform($x, $a, $b){}

/**
 * Probability density function of the Weibull distribution
 *
 * Returns the probability density at {@link x}, where the random
 * variable follows the Weibull distribution of which the shape parameter
 * is {@link a} and the scale parameter is {@link b}.
 *
 * @param float $x The value at which the probability density is
 *   calculated
 * @param float $a The shape parameter of the distribution
 * @param float $b The scale parameter of the distribution
 * @return float The probability density at {@link x} or FALSE for
 *   failure.
 * @since PECL stats >= 1.0.0
 **/
function stats_dens_weibull($x, $a, $b){}

/**
 * Returns the harmonic mean of an array of values
 *
 * Returns the harmonic mean of the values in {@link a}.
 *
 * @param array $a The input array
 * @return number Returns the harmonic mean of the values in {@link a},
 *   or FALSE if {@link a} is empty or is not an array.
 * @since PECL stats >= 1.0.0
 **/
function stats_harmonic_mean($a){}

/**
 * Computes the kurtosis of the data in the array
 *
 * Returns the kurtosis of the values in {@link a}.
 *
 * @param array $a The input array
 * @return float Returns the kurtosis of the values in {@link a}, or
 *   FALSE if {@link a} is empty or is not an array.
 * @since PECL stats >= 1.0.0
 **/
function stats_kurtosis($a){}

/**
 * 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.
 *
 * @param float $a The shape parameter of the beta distribution
 * @param float $b The shape parameter of the beta distribution
 * @return float A random deviate
 * @since PECL stats >= 1.0.0
 **/
function stats_rand_gen_beta($a, $b){}

/**
 * Generates a random deviate from the chi-square distribution
 *
 * Returns a random deviate from the chi-square distribution where the
 * degrees of freedom is {@link df}.
 *
 * @param float $df The degrees of freedom
 * @return float A random deviate
 * @since PECL stats >= 1.0.0
 **/
function stats_rand_gen_chisquare($df){}

/**
 * Generates a random deviate from the exponential distribution
 *
 * Returns a random deviate from the exponential distribution of which
 * the scale is {@link av}.
 *
 * @param float $av The scale parameter
 * @return float A random deviate
 * @since PECL stats >= 1.0.0
 **/
function stats_rand_gen_exponential($av){}

/**
 * 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.
 *
 * @param float $dfn The degrees of freedom in the numerator
 * @param float $dfd The degrees of freedom in the denominator
 * @return float A random deviate
 * @since PECL stats >= 1.0.0
 **/
function stats_rand_gen_f($dfn, $dfd){}

/**
 * Generates uniform float between low (exclusive) and high (exclusive)
 *
 * Returns a random deviate from the uniform distribution from {@link
 * low} to {@link high}.
 *
 * @param float $low The lower bound (inclusive)
 * @param float $high The upper bound (exclusive)
 * @return float A random deviate
 * @since PECL stats >= 1.0.0
 **/
function stats_rand_gen_funiform($low, $high){}

/**
 * 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).
 *
 * @param float $a location parameter of Gamma distribution ({@link a}
 *   > 0).
 * @param float $r shape parameter of Gamma distribution ({@link r} >
 *   0).
 * @return float A random deviate
 * @since PECL stats >= 1.0.0
 **/
function stats_rand_gen_gamma($a, $r){}

/**
 * Generates a random deviate from the binomial distribution
 *
 * Returns a random deviate from the binomial distribution whose number
 * of trials is {@link n} and whose probability of an event in each trial
 * is {@link pp}.
 *
 * @param int $n The number of trials
 * @param float $pp The probability of an event in each trial
 * @return int A random deviate
 * @since PECL stats >= 1.0.0
 **/
function stats_rand_gen_ibinomial($n, $pp){}

/**
 * Generates a random deviate from the negative binomial distribution
 *
 * Returns a random deviate from a negative binomial distribution where
 * the number of success is {@link n} and the success rate is {@link p}.
 *
 * @param int $n The number of success
 * @param float $p The success rate
 * @return int A random deviate, which is the number of failure.
 * @since PECL stats >= 1.0.0
 **/
function stats_rand_gen_ibinomial_negative($n, $p){}

/**
 * Generates random integer between 1 and 2147483562
 *
 * Returns a random integer between 1 and 2147483562
 *
 * @return int A random integer
 * @since PECL stats >= 1.0.0
 **/
function stats_rand_gen_int(){}

/**
 * Generates a single random deviate from a Poisson distribution
 *
 * Returns a random deviate from the Poisson distribution with parameter
 * {@link mu}.
 *
 * @param float $mu The parameter of the Poisson distribution
 * @return int A random deviate
 * @since PECL stats >= 1.0.0
 **/
function stats_rand_gen_ipoisson($mu){}

/**
 * Generates integer uniformly distributed between LOW (inclusive) and
 * HIGH (inclusive)
 *
 * Returns a random integer from the discrete uniform distribution
 * between {@link low} (inclusive) and {@link high} (inclusive).
 *
 * @param int $low The lower bound
 * @param int $high The upper bound
 * @return int A random integer
 * @since PECL stats >= 1.0.0
 **/
function stats_rand_gen_iuniform($low, $high){}

/**
 * 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, {@link df}, and non-centrality parameter,
 * {@link xnonc}.
 *
 * @param float $df The degrees of freedom
 * @param float $xnonc The non-centrality parameter
 * @return float A random deviate
 * @since PECL stats >= 1.0.0
 **/
function stats_rand_gen_noncenral_chisquare($df, $xnonc){}

/**
 * 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, {@link df}, and non-centrality parameter,
 * {@link xnonc}.
 *
 * @param float $df The degrees of freedom
 * @param float $xnonc The non-centrality parameter
 * @return float A random deviate
 * @since PECL stats >= 1.0.0
 **/
function stats_rand_gen_noncentral_chisquare($df, $xnonc){}

/**
 * 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 {@link dfn} (numerator) and {@link dfd}
 * (denominator), and the non-centrality parameter is {@link xnonc}.
 *
 * @param float $dfn The degrees of freedom of the numerator
 * @param float $dfd The degrees of freedom of the denominator
 * @param float $xnonc The non-centrality parameter
 * @return float A random deviate
 * @since PECL stats >= 1.0.0
 **/
function stats_rand_gen_noncentral_f($dfn, $dfd, $xnonc){}

/**
 * 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, {@link df}, and the non-centrality parameter,
 * {@link xnonc}.
 *
 * @param float $df The degrees of freedom
 * @param float $xnonc The non-centrality parameter
 * @return float A random deviate
 * @since PECL stats >= 1.0.0
 **/
function stats_rand_gen_noncentral_t($df, $xnonc){}

/**
 * Generates a single random deviate from a normal distribution
 *
 * Returns a random deviate from the normal distribution with mean,
 * {@link av}, and standard deviation, {@link sd}.
 *
 * @param float $av The mean of the normal distribution
 * @param float $sd The standard deviation of the normal distribution
 * @return float A random deviate
 * @since PECL stats >= 1.0.0
 **/
function stats_rand_gen_normal($av, $sd){}

/**
 * Generates a single random deviate from a t-distribution
 *
 * Returns a random deviate from the t-distribution with the degrees of
 * freedom, {@link df}.
 *
 * @param float $df The degrees of freedom
 * @return float A random deviate
 * @since PECL stats >= 1.0.0
 **/
function stats_rand_gen_t($df){}

/**
 * Get the seed values of the random number generator
 *
 * Returns the current seed values of the random number generator
 *
 * @return array Returns an array of two integers.
 * @since PECL stats >= 1.0.0
 **/
function stats_rand_get_seeds(){}

/**
 * Generate two seeds for the RGN random number generator
 *
 * Generate two seeds for the random number generator from a {@link
 * phrase}.
 *
 * @param string $phrase The input phrase
 * @return array Returns an array of two integers.
 * @since PECL stats >= 1.0.0
 **/
function stats_rand_phrase_to_seeds($phrase){}

/**
 * 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).
 *
 * @return float A random floating point number
 * @since PECL stats >= 1.0.0
 **/
function stats_rand_ranf(){}

/**
 * Set seed values to the random generator
 *
 * Set {@link iseed1} and {@link iseed2} as seed values to the random
 * generator used in statistic functions.
 *
 * @param int $iseed1 The value which is used as the random seed
 * @param int $iseed2 The value which is used as the random seed
 * @return void No values are returned.
 * @since PECL stats >= 1.0.0
 **/
function stats_rand_setall($iseed1, $iseed2){}

/**
 * Computes the skewness of the data in the array
 *
 * Returns the skewness of the values in {@link a}.
 *
 * @param array $a The input array
 * @return float Returns the skewness of the values in {@link a}, or
 *   FALSE if {@link a} is empty or is not an array.
 * @since PECL stats >= 1.0.0
 **/
function stats_skew($a){}

/**
 * Returns the standard deviation
 *
 * Returns the standard deviation of the values in {@link a}.
 *
 * @param array $a The array of data to find the standard deviation
 *   for. Note that all values of the array will be cast to float.
 * @param bool $sample Indicates if {@link a} represents a sample of
 *   the population; defaults to FALSE.
 * @return float Returns the standard deviation on success; FALSE on
 *   failure.
 * @since PECL stats >= 1.0.0
 **/
function stats_standard_deviation($a, $sample){}

/**
 * Returns a binomial coefficient
 *
 * Returns the binomial coefficient of {@link n} choose {@link x}.
 *
 * @param int $x The number of chooses from the set
 * @param int $n The number of elements in the set
 * @return float Returns the binomial coefficient
 * @since PECL stats >= 1.0.0
 **/
function stats_stat_binomial_coef($x, $n){}

/**
 * Returns the Pearson correlation coefficient of two data sets
 *
 * Returns the Pearson correlation coefficient between {@link arr1} and
 * {@link arr2}.
 *
 * @param array $arr1 The first array
 * @param array $arr2 The second array
 * @return float Returns the Pearson correlation coefficient between
 *   {@link arr1} and {@link arr2}, or FALSE on failure.
 * @since PECL stats >= 1.0.0
 **/
function stats_stat_correlation($arr1, $arr2){}

/**
 * Returns the factorial of an integer
 *
 * Returns the factorial of an integer, {@link n}.
 *
 * @param int $n An integer
 * @return float The factorial of {@link n}.
 * @since PECL stats >= 1.0.0
 **/
function stats_stat_factorial($n){}

/**
 * Returns the t-value from the independent two-sample t-test
 *
 * Returns the t-value of the independent two-sample t-test between
 * {@link arr1} and {@link arr2}.
 *
 * @param array $arr1 The first set of values
 * @param array $arr2 The second set of values
 * @return float Returns the t-value, or FALSE if failure.
 * @since PECL stats >= 1.0.0
 **/
function stats_stat_independent_t($arr1, $arr2){}

/**
 * Returns the inner product of two vectors
 *
 * Returns the inner product of {@link arr1} and {@link arr2}.
 *
 * @param array $arr1 The first array
 * @param array $arr2 The second array
 * @return float Returns the inner product of {@link arr1} and {@link
 *   arr2}, or FALSE on failure.
 * @since PECL stats >= 1.0.0
 **/
function stats_stat_innerproduct($arr1, $arr2){}

/**
 * Returns the t-value of the dependent t-test for paired samples
 *
 * Returns the t-value of the dependent t-test for paired samples {@link
 * arr1} and {@link arr2}.
 *
 * @param array $arr1 The first samples
 * @param array $arr2 The second samples
 * @return float Returns the t-value, or FALSE if failure.
 * @since PECL stats >= 1.0.0
 **/
function stats_stat_paired_t($arr1, $arr2){}

/**
 * Returns the percentile value
 *
 * Returns the {@link perc}-th percentile value of the array {@link arr}.
 *
 * @param array $arr The input array
 * @param float $perc The percentile
 * @return float Returns the percentile values of the input array.
 * @since PECL stats >= 1.0.0
 **/
function stats_stat_percentile($arr, $perc){}

/**
 * Returns the power sum of a vector
 *
 * Returns the sum of the {@link power}-th power of a vector represented
 * as an array {@link arr}.
 *
 * @param array $arr The input array
 * @param float $power The power
 * @return float Returns the power sum of the input array.
 * @since PECL stats >= 1.0.0
 **/
function stats_stat_powersum($arr, $power){}

/**
 * Returns the variance
 *
 * Returns the variance of the values in {@link a}.
 *
 * @param array $a The array of data to find the standard deviation
 *   for. Note that all values of the array will be cast to float.
 * @param bool $sample Indicates if {@link a} represents a sample of
 *   the population; defaults to FALSE.
 * @return float Returns the variance on success; FALSE on failure.
 * @since PECL stats >= 1.0.0
 **/
function stats_variance($a, $sample){}

/**
 * Rolls back a transaction in progress
 *
 * @param resource $link The transaction to abort.
 * @param string $transaction_id
 * @param array $headers
 * @return bool
 **/
function stomp_abort($link, $transaction_id, $headers){}

/**
 * Acknowledges consumption of a message
 *
 * Acknowledges consumption of a message from a subscription using client
 * acknowledgment.
 *
 * @param resource $link The message/messageId to be acknowledged.
 * @param mixed $msg
 * @param array $headers
 * @return bool
 **/
function stomp_ack($link, $msg, $headers){}

/**
 * Starts a transaction
 *
 * @param resource $link The transaction id.
 * @param string $transaction_id
 * @param array $headers
 * @return bool
 **/
function stomp_begin($link, $transaction_id, $headers){}

/**
 * Closes stomp connection
 *
 * (destructor):
 *
 * Closes a previously opened connection.
 *
 * @param resource $link
 * @return bool
 **/
function stomp_close($link){}

/**
 * Commits a transaction in progress
 *
 * @param resource $link The transaction id.
 * @param string $transaction_id
 * @param array $headers
 * @return bool
 **/
function stomp_commit($link, $transaction_id, $headers){}

/**
 * Opens a connection
 *
 * (constructor):
 *
 * Opens a connection to a stomp compliant Message Broker.
 *
 * @param string $broker The broker URI
 * @param string $username The username.
 * @param string $password The password.
 * @param array $headers
 * @return resource
 **/
function stomp_connect($broker, $username, $password, $headers){}

/**
 * Returns a string description of the last connect error
 *
 * @return string A string that describes the error, or NULL if no
 *   error occurred.
 * @since PECL stomp >= 0.3.0
 **/
function stomp_connect_error(){}

/**
 * Gets the last stomp error
 *
 * @param resource $link
 * @return string Returns an error string or FALSE if no error
 *   occurred.
 **/
function stomp_error($link){}

/**
 * Gets read timeout
 *
 * @param resource $link
 * @return array Returns an array with 2 elements: sec and usec.
 **/
function stomp_get_read_timeout($link){}

/**
 * Gets the current stomp session ID
 *
 * @param resource $link
 * @return string session id on success.
 **/
function stomp_get_session_id($link){}

/**
 * Indicates whether or not there is a frame ready to read
 *
 * @param resource $link
 * @return bool Returns TRUE if a frame is ready to read, or FALSE
 *   otherwise.
 **/
function stomp_has_frame($link){}

/**
 * Reads the next frame
 *
 * Reads the next frame. It is possible to instantiate an object of a
 * specific class, and pass parameters to that class's constructor.
 *
 * @param resource $link The name of the class to instantiate. If not
 *   specified, a stompFrame object is returned.
 * @return array
 **/
function stomp_read_frame($link){}

/**
 * Sends a message
 *
 * Sends a message to the Message Broker.
 *
 * @param resource $link Where to send the message
 * @param string $destination Message to send.
 * @param mixed $msg
 * @param array $headers
 * @return bool
 **/
function stomp_send($link, $destination, $msg, $headers){}

/**
 * Sets read timeout
 *
 * @param resource $link The seconds part of the timeout to be set.
 * @param int $seconds The microseconds part of the timeout to be set.
 * @param int $microseconds
 * @return void
 **/
function stomp_set_read_timeout($link, $seconds, $microseconds){}

/**
 * Registers to listen to a given destination
 *
 * @param resource $link Destination to subscribe to.
 * @param string $destination
 * @param array $headers
 * @return bool
 **/
function stomp_subscribe($link, $destination, $headers){}

/**
 * Removes an existing subscription
 *
 * @param resource $link Subscription to remove.
 * @param string $destination
 * @param array $headers
 * @return bool
 **/
function stomp_unsubscribe($link, $destination, $headers){}

/**
 * Gets the current stomp extension version
 *
 * Returns a string containing the version of the current stomp
 * extension.
 *
 * @return string It returns the current stomp extension version
 * @since PECL stomp >= 0.1.0
 **/
function stomp_version(){}

/**
 * Binary safe case-insensitive string comparison
 *
 * @param string $str1 The first string
 * @param string $str2 The second string
 * @return int Returns < 0 if {@link str1} is less than {@link str2}; >
 *   0 if {@link str1} is greater than {@link str2}, and 0 if they are
 *   equal.
 * @since PHP 4, PHP 5, PHP 7
 **/
function strcasecmp($str1, $str2){}

/**
 * Find the first occurrence of a string
 *
 * Returns part of {@link haystack} string starting from and including
 * the first occurrence of {@link needle} to the end of {@link haystack}.
 *
 * @param string $haystack The input string.
 * @param mixed $needle If {@link needle} is not a string, it is
 *   converted to an integer and applied as the ordinal value of a
 *   character.
 * @param bool $before_needle If TRUE, {@link strstr} returns the part
 *   of the {@link haystack} before the first occurrence of the {@link
 *   needle} (excluding the needle).
 * @return string Returns the portion of string, or FALSE if {@link
 *   needle} is not found.
 * @since PHP 4, PHP 5, PHP 7
 **/
function strchr($haystack, $needle, $before_needle){}

/**
 * Binary safe string comparison
 *
 * @param string $str1 The first string.
 * @param string $str2 The second string.
 * @return int Returns < 0 if {@link str1} is less than {@link str2}; >
 *   0 if {@link str1} is greater than {@link str2}, and 0 if they are
 *   equal.
 * @since PHP 4, PHP 5, PHP 7
 **/
function strcmp($str1, $str2){}

/**
 * Locale based string comparison
 *
 * Note that this comparison is case sensitive, and unlike {@link strcmp}
 * this function is not binary safe.
 *
 * {@link strcoll} uses the current locale for doing the comparisons. If
 * the current locale is C or POSIX, this function is equivalent to
 * {@link strcmp}.
 *
 * @param string $str1 The first string.
 * @param string $str2 The second string.
 * @return int Returns < 0 if {@link str1} is less than {@link str2}; >
 *   0 if {@link str1} is greater than {@link str2}, and 0 if they are
 *   equal.
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7
 **/
function strcoll($str1, $str2){}

/**
 * Find length of initial segment not matching mask
 *
 * Returns the length of the initial segment of {@link subject} which
 * does not contain any of the characters in {@link mask}.
 *
 * If {@link start} and {@link length} are omitted, then all of {@link
 * subject} will be examined. If they are included, then the effect will
 * be the same as calling strcspn(substr($subject, $start, $length),
 * $mask) (see for more information).
 *
 * @param string $subject The string to examine.
 * @param string $mask The string containing every disallowed
 *   character.
 * @param int $start The position in {@link subject} to start
 *   searching. If {@link start} is given and is non-negative, then
 *   {@link strcspn} will begin examining {@link subject} at the {@link
 *   start}'th position. For instance, in the string 'abcdef', the
 *   character at position 0 is 'a', the character at position 2 is 'c',
 *   and so forth. If {@link start} is given and is negative, then {@link
 *   strcspn} will begin examining {@link subject} at the {@link
 *   start}'th position from the end of {@link subject}.
 * @param int $length The length of the segment from {@link subject} to
 *   examine. If {@link length} is given and is non-negative, then {@link
 *   subject} will be examined for {@link length} characters after the
 *   starting position. If {@link length} is given and is negative, then
 *   {@link subject} will be examined from the starting position up to
 *   {@link length} characters from the end of {@link subject}.
 * @return int Returns the length of the initial segment of {@link
 *   subject} which consists entirely of characters not in {@link mask}.
 * @since PHP 4, PHP 5, PHP 7
 **/
function strcspn($subject, $mask, $start, $length){}

/**
 * Append bucket to brigade
 *
 * @param resource $brigade
 * @param object $bucket
 * @return void
 * @since PHP 5, PHP 7
 **/
function stream_bucket_append($brigade, $bucket){}

/**
 * Return a bucket object from the brigade for operating on
 *
 * @param resource $brigade
 * @return object
 * @since PHP 5, PHP 7
 **/
function stream_bucket_make_writeable($brigade){}

/**
 * Create a new bucket for use on the current stream
 *
 * @param resource $stream
 * @param string $buffer
 * @return object
 * @since PHP 5, PHP 7
 **/
function stream_bucket_new($stream, $buffer){}

/**
 * Prepend bucket to brigade
 *
 * This function can be called to prepend a bucket to a bucket brigade.
 * It is typically called from php_user_filter::filter.
 *
 * @param resource $brigade {@link brigade} is a resource pointing to a
 *   bucket brigade which contains one or more bucket objects.
 * @param object $bucket A bucket object.
 * @return void
 * @since PHP 5, PHP 7
 **/
function stream_bucket_prepend($brigade, $bucket){}

/**
 * Creates a stream context
 *
 * Creates and returns a stream context with any options supplied in
 * {@link options} preset.
 *
 * @param array $options Must be an associative array of associative
 *   arrays in the format $arr['wrapper']['option'] = $value. Refer to
 *   context options for a list of available wrappers and options.
 *   Default to an empty array.
 * @param array $params Must be an associative array in the format
 *   $arr['parameter'] = $value. Refer to context parameters for a
 *   listing of standard stream parameters.
 * @return resource A stream context resource.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function stream_context_create($options, $params){}

/**
 * Retrieve the default stream context
 *
 * @param array $options
 * @return resource A stream context resource.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function stream_context_get_default($options){}

/**
 * Retrieve options for a stream/wrapper/context
 *
 * @param resource $stream_or_context The stream or context to get
 *   options from
 * @return array Returns an associative array with the options.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function stream_context_get_options($stream_or_context){}

/**
 * Retrieves parameters from a context
 *
 * Retrieves parameter and options information from the stream or
 * context.
 *
 * @param resource $stream_or_context A stream resource or a context
 *   resource
 * @return array Returns an associate array containing all context
 *   options and parameters.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function stream_context_get_params($stream_or_context){}

/**
 * Set the default stream context
 *
 * @param array $options The options to set for the default context.
 * @return resource Returns the default stream context.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function stream_context_set_default($options){}

/**
 * Sets an option for a stream/wrapper/context
 *
 * @param resource $stream_or_context The stream or context resource to
 *   apply the options to.
 * @param string $wrapper The options to set for {@link
 *   stream_or_context}.
 * @param string $option
 * @param mixed $value
 * @return bool
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function stream_context_set_option($stream_or_context, $wrapper, $option, $value){}

/**
 * Set parameters for a stream/wrapper/context
 *
 * Sets parameters on the specified context.
 *
 * @param resource $stream_or_context The stream or context to apply
 *   the parameters too.
 * @param array $params An array of parameters to set.
 * @return bool
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function stream_context_set_params($stream_or_context, $params){}

/**
 * Copies data from one stream to another
 *
 * Makes a copy of up to {@link maxlength} bytes of data from the current
 * position (or from the {@link offset} position, if specified) in {@link
 * source} to {@link dest}. If {@link maxlength} is not specified, all
 * remaining content in {@link source} will be copied.
 *
 * @param resource $source The source stream
 * @param resource $dest The destination stream
 * @param int $maxlength Maximum bytes to copy
 * @param int $offset The offset where to start to copy data
 * @return int Returns the total count of bytes copied, .
 * @since PHP 5, PHP 7
 **/
function stream_copy_to_stream($source, $dest, $maxlength, $offset){}

/**
 * Set character set for stream encoding
 *
 * @param resource $stream
 * @param string $encoding
 * @return bool
 **/
function stream_encoding($stream, $encoding){}

/**
 * Attach a filter to a stream
 *
 * Adds {@link filtername} to the list of filters attached to {@link
 * stream}.
 *
 * @param resource $stream The target stream.
 * @param string $filtername The filter name.
 * @param int $read_write By default, {@link stream_filter_append} will
 *   attach the filter to the read filter chain if the file was opened
 *   for reading (i.e. File Mode: r, and/or +). The filter will also be
 *   attached to the write filter chain if the file was opened for
 *   writing (i.e. File Mode: w, a, and/or +). STREAM_FILTER_READ,
 *   STREAM_FILTER_WRITE, and/or STREAM_FILTER_ALL can also be passed to
 *   the {@link read_write} parameter to override this behavior.
 * @param mixed $params This filter will be added with the specified
 *   {@link params} to the end of the list and will therefore be called
 *   last during stream operations. To add a filter to the beginning of
 *   the list, use {@link stream_filter_prepend}.
 * @return resource Returns a resource on success or FALSE on failure.
 *   The resource can be used to refer to this filter instance during a
 *   call to {@link stream_filter_remove}.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function stream_filter_append($stream, $filtername, $read_write, $params){}

/**
 * Attach a filter to a stream
 *
 * Adds {@link filtername} to the list of filters attached to {@link
 * stream}.
 *
 * @param resource $stream The target stream.
 * @param string $filtername The filter name.
 * @param int $read_write By default, {@link stream_filter_prepend}
 *   will attach the filter to the read filter chain if the file was
 *   opened for reading (i.e. File Mode: r, and/or +). The filter will
 *   also be attached to the write filter chain if the file was opened
 *   for writing (i.e. File Mode: w, a, and/or +). STREAM_FILTER_READ,
 *   STREAM_FILTER_WRITE, and/or STREAM_FILTER_ALL can also be passed to
 *   the {@link read_write} parameter to override this behavior. See
 *   {@link stream_filter_append} for an example of using this parameter.
 * @param mixed $params This filter will be added with the specified
 *   {@link params} to the beginning of the list and will therefore be
 *   called first during stream operations. To add a filter to the end of
 *   the list, use {@link stream_filter_append}.
 * @return resource Returns a resource on success or FALSE on failure.
 *   The resource can be used to refer to this filter instance during a
 *   call to {@link stream_filter_remove}.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function stream_filter_prepend($stream, $filtername, $read_write, $params){}

/**
 * Register a user defined stream filter
 *
 * {@link stream_filter_register} allows you to implement your own filter
 * on any registered stream used with all the other filesystem functions
 * (such as {@link fopen}, {@link fread} etc.).
 *
 * @param string $filtername The filter name to be registered.
 * @param string $classname To implement a filter, you need to define a
 *   class as an extension of php_user_filter with a number of member
 *   functions. When performing read/write operations on the stream to
 *   which your filter is attached, PHP will pass the data through your
 *   filter (and any other filters attached to that stream) so that the
 *   data may be modified as desired. You must implement the methods
 *   exactly as described in php_user_filter - doing otherwise will lead
 *   to undefined behaviour.
 * @return bool
 * @since PHP 5, PHP 7
 **/
function stream_filter_register($filtername, $classname){}

/**
 * Remove a filter from a stream
 *
 * Removes a stream filter previously added to a stream with {@link
 * stream_filter_prepend} or {@link stream_filter_append}. Any data
 * remaining in the filter's internal buffer will be flushed through to
 * the next filter before removing it.
 *
 * @param resource $stream_filter The stream filter to be removed.
 * @return bool
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function stream_filter_remove($stream_filter){}

/**
 * Reads remainder of a stream into a string
 *
 * Identical to {@link file_get_contents}, except that {@link
 * stream_get_contents} operates on an already open stream resource and
 * returns the remaining contents in a string, up to {@link maxlength}
 * bytes and starting at the specified {@link offset}.
 *
 * @param resource $handle A stream resource (e.g. returned from {@link
 *   fopen})
 * @param int $maxlength The maximum bytes to read. Defaults to -1
 *   (read all the remaining buffer).
 * @param int $offset Seek to the specified offset before reading. If
 *   this number is negative, no seeking will occur and reading will
 *   start from the current position.
 * @return string Returns a string.
 * @since PHP 5, PHP 7
 **/
function stream_get_contents($handle, $maxlength, $offset){}

/**
 * Retrieve list of registered filters
 *
 * @return array Returns an indexed array containing the name of all
 *   stream filters available.
 * @since PHP 5, PHP 7
 **/
function stream_get_filters(){}

/**
 * Gets line from stream resource up to a given delimiter
 *
 * Gets a line from the given handle.
 *
 * Reading ends when {@link length} bytes have been read, when the string
 * specified by {@link ending} is found (which is not included in the
 * return value), or on EOF (whichever comes first).
 *
 * This function is nearly identical to {@link fgets} except in that it
 * allows end of line delimiters other than the standard \n, \r, and
 * \r\n, and does not return the delimiter itself.
 *
 * @param resource $handle A valid file handle.
 * @param int $length The number of bytes to read from the handle.
 * @param string $ending An optional string delimiter.
 * @return string Returns a string of up to {@link length} bytes read
 *   from the file pointed to by {@link handle}.
 * @since PHP 5, PHP 7
 **/
function stream_get_line($handle, $length, $ending){}

/**
 * Retrieves header/meta data from streams/file pointers
 *
 * Returns information about an existing {@link stream}.
 *
 * @param resource $stream The stream can be any stream created by
 *   {@link fopen}, {@link fsockopen} and {@link pfsockopen}.
 * @return array The result array contains the following items:
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function stream_get_meta_data($stream){}

/**
 * Retrieve list of registered socket transports
 *
 * @return array Returns an indexed array of socket transports names.
 * @since PHP 5, PHP 7
 **/
function stream_get_transports(){}

/**
 * Retrieve list of registered streams
 *
 * Retrieve list of registered streams available on the running system.
 *
 * @return array Returns an indexed array containing the name of all
 *   stream wrappers available on the running system.
 * @since PHP 5, PHP 7
 **/
function stream_get_wrappers(){}

/**
 * Check if a stream is a TTY
 *
 * Determines if stream {@link stream} refers to a valid terminal type
 * device. This is a more portable version of {@link posix_isatty}, since
 * it works on Windows systems too.
 *
 * @param resource $stream
 * @return bool
 * @since PHP 7 >= 7.2.0
 **/
function stream_isatty($stream){}

/**
 * Checks if a stream is a local stream
 *
 * Checks if a stream, or a URL, is a local one or not.
 *
 * @param mixed $stream_or_url The stream resource or URL to check.
 * @return bool
 * @since PHP 5 >= 5.2.4, PHP 7
 **/
function stream_is_local($stream_or_url){}

/**
 * A callback function for the context parameter
 *
 * A callable function, used by the notification context parameter,
 * called during an event.
 *
 * @param int $notification_code One of the STREAM_NOTIFY_*
 *   notification constants.
 * @param int $severity One of the STREAM_NOTIFY_SEVERITY_*
 *   notification constants.
 * @param string $message Passed if a descriptive message is available
 *   for the event.
 * @param int $message_code Passed if a descriptive message code is
 *   available for the event. The meaning of this value is dependent on
 *   the specific wrapper in use.
 * @param int $bytes_transferred If applicable, the {@link
 *   bytes_transferred} will be populated.
 * @param int $bytes_max If applicable, the {@link bytes_max} will be
 *   populated.
 * @return void
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function stream_notification_callback($notification_code, $severity, $message, $message_code, $bytes_transferred, $bytes_max){}

/**
 * Register a URL wrapper implemented as a PHP class
 *
 * Allows you to implement your own protocol handlers and streams for use
 * with all the other filesystem functions (such as {@link fopen}, {@link
 * fread} etc.).
 *
 * @param string $protocol The wrapper name to be registered.
 * @param string $classname The classname which implements the {@link
 *   protocol}.
 * @param int $flags Should be set to STREAM_IS_URL if {@link protocol}
 *   is a URL protocol. Default is 0, local stream.
 * @return bool
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function stream_register_wrapper($protocol, $classname, $flags){}

/**
 * Resolve filename against the include path
 *
 * Resolve {@link filename} against the include path according to the
 * same rules as {@link fopen}/{@link include}.
 *
 * @param string $filename The filename to resolve.
 * @return string Returns a string containing the resolved absolute
 *   filename, .
 * @since PHP 5 >= 5.3.2, PHP 7
 **/
function stream_resolve_include_path($filename){}

/**
 * Runs the equivalent of the select() system call on the given arrays of
 * streams with a timeout specified by tv_sec and tv_usec
 *
 * The {@link stream_select} function accepts arrays of streams and waits
 * for them to change status. Its operation is equivalent to that of the
 * {@link socket_select} function except in that it acts on streams.
 *
 * @param array $read The streams listed in the {@link read} array will
 *   be watched to see if characters become available for reading (more
 *   precisely, to see if a read will not block - in particular, a stream
 *   resource is also ready on end-of-file, in which case an {@link
 *   fread} will return a zero length string).
 * @param array $write The streams listed in the {@link write} array
 *   will be watched to see if a write will not block.
 * @param array $except The streams listed in the {@link except} array
 *   will be watched for high priority exceptional ("out-of-band") data
 *   arriving.
 * @param int $tv_sec The {@link tv_sec} and {@link tv_usec} together
 *   form the timeout parameter, {@link tv_sec} specifies the number of
 *   seconds while {@link tv_usec} the number of microseconds. The {@link
 *   timeout} is an upper bound on the amount of time that {@link
 *   stream_select} will wait before it returns. If {@link tv_sec} and
 *   {@link tv_usec} are both set to 0, {@link stream_select} will not
 *   wait for data - instead it will return immediately, indicating the
 *   current status of the streams. If {@link tv_sec} is NULL {@link
 *   stream_select} can block indefinitely, returning only when an event
 *   on one of the watched streams occurs (or if a signal interrupts the
 *   system call).
 * @param int $tv_usec See {@link tv_sec} description.
 * @return int On success {@link stream_select} returns the number of
 *   stream resources contained in the modified arrays, which may be zero
 *   if the timeout expires before anything interesting happens. On error
 *   FALSE is returned and a warning raised (this can happen if the
 *   system call is interrupted by an incoming signal).
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function stream_select(&$read, &$write, &$except, $tv_sec, $tv_usec){}

/**
 * Set blocking/non-blocking mode on a stream
 *
 * Sets blocking or non-blocking mode on a {@link stream}.
 *
 * This function works for any stream that supports non-blocking mode
 * (currently, regular files and socket streams).
 *
 * @param resource $stream The stream.
 * @param bool $mode If {@link mode} is FALSE, the given stream will be
 *   switched to non-blocking mode, and if TRUE, it will be switched to
 *   blocking mode. This affects calls like {@link fgets} and {@link
 *   fread} that read from the stream. In non-blocking mode an {@link
 *   fgets} call will always return right away while in blocking mode it
 *   will wait for data to become available on the stream.
 * @return bool
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function stream_set_blocking($stream, $mode){}

/**
 * Set the stream chunk size
 *
 * @param resource $fp The target stream.
 * @param int $chunk_size The desired new chunk size.
 * @return int Returns the previous chunk size on success.
 * @since PHP 5 >= 5.4.0, PHP 7
 **/
function stream_set_chunk_size($fp, $chunk_size){}

/**
 * Set read file buffering on the given stream
 *
 * Sets the read buffer. It's the equivalent of {@link
 * stream_set_write_buffer}, but for read operations.
 *
 * @param resource $stream The file pointer.
 * @param int $buffer The number of bytes to buffer. If {@link buffer}
 *   is 0 then read operations are unbuffered. This ensures that all
 *   reads with {@link fread} are completed before other processes are
 *   allowed to read from that input stream.
 * @return int Returns 0 on success, or another value if the request
 *   cannot be honored.
 * @since PHP 5 >= 5.3.3, PHP 7
 **/
function stream_set_read_buffer($stream, $buffer){}

/**
 * Set timeout period on a stream
 *
 * Sets the timeout value on {@link stream}, expressed in the sum of
 * {@link seconds} and {@link microseconds}.
 *
 * When the stream times out, the 'timed_out' key of the array returned
 * by {@link stream_get_meta_data} is set to TRUE, although no
 * error/warning is generated.
 *
 * @param resource $stream The target stream.
 * @param int $seconds The seconds part of the timeout to be set.
 * @param int $microseconds The microseconds part of the timeout to be
 *   set.
 * @return bool
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function stream_set_timeout($stream, $seconds, $microseconds){}

/**
 * Sets write file buffering on the given stream
 *
 * Sets the buffering for write operations on the given {@link stream} to
 * {@link buffer} bytes.
 *
 * @param resource $stream The file pointer.
 * @param int $buffer The number of bytes to buffer. If {@link buffer}
 *   is 0 then write operations are unbuffered. This ensures that all
 *   writes with {@link fwrite} are completed before other processes are
 *   allowed to write to that output stream.
 * @return int Returns 0 on success, or another value if the request
 *   cannot be honored.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function stream_set_write_buffer($stream, $buffer){}

/**
 * Accept a connection on a socket created by
 *
 * Accept a connection on a socket previously created by {@link
 * stream_socket_server}.
 *
 * @param resource $server_socket The server socket to accept a
 *   connection from.
 * @param float $timeout Override the default socket accept timeout.
 *   Time should be given in seconds.
 * @param string $peername Will be set to the name (address) of the
 *   client which connected, if included and available from the selected
 *   transport.
 * @return resource Returns a stream to the accepted socket connection.
 * @since PHP 5, PHP 7
 **/
function stream_socket_accept($server_socket, $timeout, &$peername){}

/**
 * Open Internet or Unix domain socket connection
 *
 * Initiates a stream or datagram connection to the destination specified
 * by {@link remote_socket}. The type of socket created is determined by
 * the transport specified using standard URL formatting:
 * transport://target. For Internet Domain sockets (AF_INET) such as TCP
 * and UDP, the target portion of the {@link remote_socket} parameter
 * should consist of a hostname or IP address followed by a colon and a
 * port number. For Unix domain sockets, the {@link target} portion
 * should point to the socket file on the filesystem.
 *
 * @param string $remote_socket Address to the socket to connect to.
 * @param int $errno Will be set to the system level error number if
 *   connection fails.
 * @param string $errstr Will be set to the system level error message
 *   if the connection fails.
 * @param float $timeout Number of seconds until the connect() system
 *   call should timeout. This parameter only applies when not making
 *   asynchronous connection attempts. To set a timeout for
 *   reading/writing data over the socket, use the {@link
 *   stream_set_timeout}, as the {@link timeout} only applies while
 *   making connecting the socket.
 * @param int $flags Bitmask field which may be set to any combination
 *   of connection flags. Currently the select of connection flags is
 *   limited to STREAM_CLIENT_CONNECT (default),
 *   STREAM_CLIENT_ASYNC_CONNECT and STREAM_CLIENT_PERSISTENT.
 * @param resource $context A valid context resource created with
 *   {@link stream_context_create}.
 * @return resource On success a stream resource is returned which may
 *   be used together with the other file functions (such as {@link
 *   fgets}, {@link fgetss}, {@link fwrite}, {@link fclose}, and {@link
 *   feof}), FALSE on failure.
 * @since PHP 5, PHP 7
 **/
function stream_socket_client($remote_socket, &$errno, &$errstr, $timeout, $flags, $context){}

/**
 * Turns encryption on/off on an already connected socket
 *
 * @param resource $stream The stream resource.
 * @param bool $enable Enable/disable cryptography on the stream.
 * @param int $crypto_type Setup encryption on the stream. Valid
 *   methods are STREAM_CRYPTO_METHOD_SSLv2_CLIENT
 *   STREAM_CRYPTO_METHOD_SSLv3_CLIENT STREAM_CRYPTO_METHOD_SSLv23_CLIENT
 *   STREAM_CRYPTO_METHOD_ANY_CLIENT STREAM_CRYPTO_METHOD_TLS_CLIENT
 *   STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT
 *   STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT
 *   STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT
 *   STREAM_CRYPTO_METHOD_SSLv2_SERVER STREAM_CRYPTO_METHOD_SSLv3_SERVER
 *   STREAM_CRYPTO_METHOD_SSLv23_SERVER STREAM_CRYPTO_METHOD_ANY_SERVER
 *   STREAM_CRYPTO_METHOD_TLS_SERVER STREAM_CRYPTO_METHOD_TLSv1_0_SERVER
 *   STREAM_CRYPTO_METHOD_TLSv1_1_SERVER
 *   STREAM_CRYPTO_METHOD_TLSv1_2_SERVER If omitted, the crypto_method
 *   context option on the stream's SSL context will be used instead.
 * @param resource $session_stream Seed the stream with settings from
 *   {@link session_stream}.
 * @return mixed Returns TRUE on success, FALSE if negotiation has
 *   failed or 0 if there isn't enough data and you should try again
 *   (only for non-blocking sockets).
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function stream_socket_enable_crypto($stream, $enable, $crypto_type, $session_stream){}

/**
 * Retrieve the name of the local or remote sockets
 *
 * Returns the local or remote name of a given socket connection.
 *
 * @param resource $handle The socket to get the name of.
 * @param bool $want_peer If set to TRUE the remote socket name will be
 *   returned, if set to FALSE the local socket name will be returned.
 * @return string The name of the socket.
 * @since PHP 5, PHP 7
 **/
function stream_socket_get_name($handle, $want_peer){}

/**
 * Creates a pair of connected, indistinguishable socket streams
 *
 * {@link stream_socket_pair} creates a pair of connected,
 * indistinguishable socket streams. This function is commonly used in
 * IPC (Inter-Process Communication).
 *
 * @param int $domain The protocol family to be used: STREAM_PF_INET,
 *   STREAM_PF_INET6 or STREAM_PF_UNIX
 * @param int $type The type of communication to be used:
 *   STREAM_SOCK_DGRAM, STREAM_SOCK_RAW, STREAM_SOCK_RDM,
 *   STREAM_SOCK_SEQPACKET or STREAM_SOCK_STREAM
 * @param int $protocol The protocol to be used: STREAM_IPPROTO_ICMP,
 *   STREAM_IPPROTO_IP, STREAM_IPPROTO_RAW, STREAM_IPPROTO_TCP or
 *   STREAM_IPPROTO_UDP
 * @return array Returns an array with the two socket resources on
 *   success, or FALSE on failure.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function stream_socket_pair($domain, $type, $protocol){}

/**
 * Receives data from a socket, connected or not
 *
 * {@link stream_socket_recvfrom} accepts data from a remote socket up to
 * {@link length} bytes.
 *
 * @param resource $socket The remote socket.
 * @param int $length The number of bytes to receive from the {@link
 *   socket}.
 * @param int $flags The value of {@link flags} can be any combination
 *   of the following: Possible values for {@link flags} STREAM_OOB
 *   Process OOB (out-of-band) data. STREAM_PEEK Retrieve data from the
 *   socket, but do not consume the buffer. Subsequent calls to {@link
 *   fread} or {@link stream_socket_recvfrom} will see the same data.
 * @param string $address If {@link address} is provided it will be
 *   populated with the address of the remote socket.
 * @return string Returns the read data, as a string
 * @since PHP 5, PHP 7
 **/
function stream_socket_recvfrom($socket, $length, $flags, &$address){}

/**
 * Sends a message to a socket, whether it is connected or not
 *
 * Sends the specified {@link data} through the {@link socket}.
 *
 * @param resource $socket The socket to send {@link data} to.
 * @param string $data The data to be sent.
 * @param int $flags The value of {@link flags} can be any combination
 *   of the following: possible values for {@link flags} STREAM_OOB
 *   Process OOB (out-of-band) data.
 * @param string $address The address specified when the socket stream
 *   was created will be used unless an alternate address is specified in
 *   {@link address}. If specified, it must be in dotted quad (or [ipv6])
 *   format.
 * @return int Returns a result code, as an integer.
 * @since PHP 5, PHP 7
 **/
function stream_socket_sendto($socket, $data, $flags, $address){}

/**
 * Create an Internet or Unix domain server socket
 *
 * Creates a stream or datagram socket on the specified {@link
 * local_socket}.
 *
 * This function only creates a socket, to begin accepting connections
 * use {@link stream_socket_accept}.
 *
 * @param string $local_socket The type of socket created is determined
 *   by the transport specified using standard URL formatting:
 *   transport://target. For Internet Domain sockets (AF_INET) such as
 *   TCP and UDP, the target portion of the {@link remote_socket}
 *   parameter should consist of a hostname or IP address followed by a
 *   colon and a port number. For Unix domain sockets, the target portion
 *   should point to the socket file on the filesystem. Depending on the
 *   environment, Unix domain sockets may not be available. A list of
 *   available transports can be retrieved using {@link
 *   stream_get_transports}. See for a list of bulitin transports.
 * @param int $errno If the optional {@link errno} and {@link errstr}
 *   arguments are present they will be set to indicate the actual system
 *   level error that occurred in the system-level socket(), bind(), and
 *   listen() calls. If the value returned in {@link errno} is 0 and the
 *   function returned FALSE, it is an indication that the error occurred
 *   before the bind() call. This is most likely due to a problem
 *   initializing the socket. Note that the {@link errno} and {@link
 *   errstr} arguments will always be passed by reference.
 * @param string $errstr See {@link errno} description.
 * @param int $flags A bitmask field which may be set to any
 *   combination of socket creation flags.
 * @param resource $context
 * @return resource Returns the created stream, or FALSE on error.
 * @since PHP 5, PHP 7
 **/
function stream_socket_server($local_socket, &$errno, &$errstr, $flags, $context){}

/**
 * Shutdown a full-duplex connection
 *
 * Shutdowns (partially or not) a full-duplex connection.
 *
 * @param resource $stream An open stream (opened with {@link
 *   stream_socket_client}, for example)
 * @param int $how One of the following constants: STREAM_SHUT_RD
 *   (disable further receptions), STREAM_SHUT_WR (disable further
 *   transmissions) or STREAM_SHUT_RDWR (disable further receptions and
 *   transmissions).
 * @return bool
 * @since PHP 5 >= 5.2.1, PHP 7
 **/
function stream_socket_shutdown($stream, $how){}

/**
 * Tells whether the stream supports locking
 *
 * Tells whether the stream supports locking through {@link flock}.
 *
 * @param resource $stream The stream to check.
 * @return bool
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function stream_supports_lock($stream){}

/**
 * Register a URL wrapper implemented as a PHP class
 *
 * Allows you to implement your own protocol handlers and streams for use
 * with all the other filesystem functions (such as {@link fopen}, {@link
 * fread} etc.).
 *
 * @param string $protocol The wrapper name to be registered.
 * @param string $classname The classname which implements the {@link
 *   protocol}.
 * @param int $flags Should be set to STREAM_IS_URL if {@link protocol}
 *   is a URL protocol. Default is 0, local stream.
 * @return bool
 * @since PHP 4 >= 4.3.2, PHP 5, PHP 7
 **/
function stream_wrapper_register($protocol, $classname, $flags){}

/**
 * Restores a previously unregistered built-in wrapper
 *
 * Restores a built-in wrapper previously unregistered with {@link
 * stream_wrapper_unregister}.
 *
 * @param string $protocol
 * @return bool
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function stream_wrapper_restore($protocol){}

/**
 * Unregister a URL wrapper
 *
 * Allows you to disable an already defined stream wrapper. Once the
 * wrapper has been disabled you may override it with a user-defined
 * wrapper using {@link stream_wrapper_register} or reenable it later on
 * with {@link stream_wrapper_restore}.
 *
 * @param string $protocol
 * @return bool
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function stream_wrapper_unregister($protocol){}

/**
 * Format a local time/date according to locale settings
 *
 * Format the time and/or date according to locale settings. Month and
 * weekday names and other language-dependent strings respect the current
 * locale set with {@link setlocale}.
 *
 * Not all conversion specifiers may be supported by your C library, in
 * which case they will not be supported by PHP's {@link strftime}.
 * Additionally, not all platforms support negative timestamps, so your
 * date range may be limited to no earlier than the Unix epoch. This
 * means that %e, %T, %R and, %D (and possibly others) - as well as dates
 * prior to Jan 1, 1970 - will not work on Windows, some Linux
 * distributions, and a few other operating systems. For Windows systems,
 * a complete overview of supported conversion specifiers can be found at
 * MSDN.
 *
 * @param string $format The following characters are recognized in the
 *   {@link format} parameter string {@link format} Description Example
 *   returned values Day --- --- %a An abbreviated textual representation
 *   of the day Sun through Sat %A A full textual representation of the
 *   day Sunday through Saturday %d Two-digit day of the month (with
 *   leading zeros) 01 to 31 %e Day of the month, with a space preceding
 *   single digits. Not implemented as described on Windows. See below
 *   for more information. 1 to 31 %j Day of the year, 3 digits with
 *   leading zeros 001 to 366 %u ISO-8601 numeric representation of the
 *   day of the week 1 (for Monday) through 7 (for Sunday) %w Numeric
 *   representation of the day of the week 0 (for Sunday) through 6 (for
 *   Saturday) Week --- --- %U Week number of the given year, starting
 *   with the first Sunday as the first week 13 (for the 13th full week
 *   of the year) %V ISO-8601:1988 week number of the given year,
 *   starting with the first week of the year with at least 4 weekdays,
 *   with Monday being the start of the week 01 through 53 (where 53
 *   accounts for an overlapping week) %W A numeric representation of the
 *   week of the year, starting with the first Monday as the first week
 *   46 (for the 46th week of the year beginning with a Monday) Month ---
 *   --- %b Abbreviated month name, based on the locale Jan through Dec
 *   %B Full month name, based on the locale January through December %h
 *   Abbreviated month name, based on the locale (an alias of %b) Jan
 *   through Dec %m Two digit representation of the month 01 (for
 *   January) through 12 (for December) Year --- --- %C Two digit
 *   representation of the century (year divided by 100, truncated to an
 *   integer) 19 for the 20th Century %g Two digit representation of the
 *   year going by ISO-8601:1988 standards (see %V) Example: 09 for the
 *   week of January 6, 2009 %G The full four-digit version of %g
 *   Example: 2008 for the week of January 3, 2009 %y Two digit
 *   representation of the year Example: 09 for 2009, 79 for 1979 %Y Four
 *   digit representation for the year Example: 2038 Time --- --- %H Two
 *   digit representation of the hour in 24-hour format 00 through 23 %k
 *   Hour in 24-hour format, with a space preceding single digits 0
 *   through 23 %I Two digit representation of the hour in 12-hour format
 *   01 through 12 %l (lower-case 'L') Hour in 12-hour format, with a
 *   space preceding single digits 1 through 12 %M Two digit
 *   representation of the minute 00 through 59 %p UPPER-CASE 'AM' or
 *   'PM' based on the given time Example: AM for 00:31, PM for 22:23 %P
 *   lower-case 'am' or 'pm' based on the given time Example: am for
 *   00:31, pm for 22:23 %r Same as "%I:%M:%S %p" Example: 09:34:17 PM
 *   for 21:34:17 %R Same as "%H:%M" Example: 00:35 for 12:35 AM, 16:44
 *   for 4:44 PM %S Two digit representation of the second 00 through 59
 *   %T Same as "%H:%M:%S" Example: 21:34:17 for 09:34:17 PM %X Preferred
 *   time representation based on locale, without the date Example:
 *   03:59:16 or 15:59:16 %z The time zone offset. Not implemented as
 *   described on Windows. See below for more information. Example: -0500
 *   for US Eastern Time %Z The time zone abbreviation. Not implemented
 *   as described on Windows. See below for more information. Example:
 *   EST for Eastern Time Time and Date Stamps --- --- %c Preferred date
 *   and time stamp based on locale Example: Tue Feb 5 00:45:10 2009 for
 *   February 5, 2009 at 12:45:10 AM %D Same as "%m/%d/%y" Example:
 *   02/05/09 for February 5, 2009 %F Same as "%Y-%m-%d" (commonly used
 *   in database datestamps) Example: 2009-02-05 for February 5, 2009 %s
 *   Unix Epoch Time timestamp (same as the {@link time} function)
 *   Example: 305815200 for September 10, 1979 08:40:00 AM %x Preferred
 *   date representation based on locale, without the time Example:
 *   02/05/09 for February 5, 2009 Miscellaneous --- --- %n A newline
 *   character ("\n") --- %t A Tab character ("\t") --- %% A literal
 *   percentage character ("%") --- Maximum length of this parameter is
 *   1023 characters.
 * @param int $timestamp
 * @return string Returns a string formatted according {@link format}
 *   using the given {@link timestamp} or the current local time if no
 *   timestamp is given. Month and weekday names and other
 *   language-dependent strings respect the current locale set with
 *   {@link setlocale}.
 * @since PHP 4, PHP 5, PHP 7
 **/
function strftime($format, $timestamp){}

/**
 * Un-quote string quoted with
 *
 * Returns a string with backslashes stripped off. Recognizes C-like \n,
 * \r ..., octal and hexadecimal representation.
 *
 * @param string $str The string to be unescaped.
 * @return string Returns the unescaped string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function stripcslashes($str){}

/**
 * Find the position of the first occurrence of a case-insensitive
 * substring in a string
 *
 * Find the numeric position of the first occurrence of {@link needle} in
 * the {@link haystack} string.
 *
 * Unlike the {@link strpos}, {@link stripos} is case-insensitive.
 *
 * @param string $haystack The string to search in.
 * @param string $needle Note that the {@link needle} may be a string
 *   of one or more characters. If {@link needle} is not a string, it is
 *   converted to an integer and applied as the ordinal value of a
 *   character.
 * @param int $offset If specified, search will start this number of
 *   characters counted from the beginning of the string. If the offset
 *   is negative, the search will start this number of characters counted
 *   from the end of the string.
 * @return int Returns the position of where the needle exists relative
 *   to the beginnning of the {@link haystack} string (independent of
 *   offset). Also note that string positions start at 0, and not 1.
 * @since PHP 5, PHP 7
 **/
function stripos($haystack, $needle, $offset){}

/**
 * Un-quotes a quoted string
 *
 * An example use of {@link stripslashes} is when the PHP directive
 * magic_quotes_gpc is on (it was on by default before PHP 5.4), and you
 * aren't inserting this data into a place (such as a database) that
 * requires escaping. For example, if you're simply outputting data
 * straight from an HTML form.
 *
 * @param string $str The input string.
 * @return string Returns a string with backslashes stripped off. (\'
 *   becomes ' and so on.) Double backslashes (\\) are made into a single
 *   backslash (\).
 * @since PHP 4, PHP 5, PHP 7
 **/
function stripslashes($str){}

/**
 * Strip HTML and PHP tags from a string
 *
 * This function tries to return a string with all NULL bytes, HTML and
 * PHP tags stripped from a given {@link str}. It uses the same tag
 * stripping state machine as the {@link fgetss} function.
 *
 * @param string $str The input string.
 * @param string $allowable_tags You can use the optional second
 *   parameter to specify tags which should not be stripped.
 * @return string Returns the stripped string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function strip_tags($str, $allowable_tags){}

/**
 * Case-insensitive
 *
 * Returns all of {@link haystack} starting from and including the first
 * occurrence of {@link needle} to the end.
 *
 * @param string $haystack The string to search in
 * @param mixed $needle If {@link needle} is not a string, it is
 *   converted to an integer and applied as the ordinal value of a
 *   character.
 * @param bool $before_needle If TRUE, {@link stristr} returns the part
 *   of the {@link haystack} before the first occurrence of the {@link
 *   needle} (excluding needle).
 * @return string Returns the matched substring. If {@link needle} is
 *   not found, returns FALSE.
 * @since PHP 4, PHP 5, PHP 7
 **/
function stristr($haystack, $needle, $before_needle){}

/**
 * Get string length
 *
 * Returns the length of the given {@link string}.
 *
 * @param string $string The string being measured for length.
 * @return int The length of the {@link string} on success, and 0 if
 *   the {@link string} is empty.
 * @since PHP 4, PHP 5, PHP 7
 **/
function strlen($string){}

/**
 * Case insensitive string comparisons using a "natural order" algorithm
 *
 * This function implements a comparison algorithm that orders
 * alphanumeric strings in the way a human being would. The behaviour of
 * this function is similar to {@link strnatcmp}, except that the
 * comparison is not case sensitive. For more information see: Martin
 * Pool's Natural Order String Comparison page.
 *
 * @param string $str1 The first string.
 * @param string $str2 The second string.
 * @return int Similar to other string comparison functions, this one
 *   returns < 0 if {@link str1} is less than {@link str2} > 0 if {@link
 *   str1} is greater than {@link str2}, and 0 if they are equal.
 * @since PHP 4, PHP 5, PHP 7
 **/
function strnatcasecmp($str1, $str2){}

/**
 * String comparisons using a "natural order" algorithm
 *
 * This function implements a comparison algorithm that orders
 * alphanumeric strings in the way a human being would, this is described
 * as a "natural ordering". Note that this comparison is case sensitive.
 *
 * @param string $str1 The first string.
 * @param string $str2 The second string.
 * @return int Similar to other string comparison functions, this one
 *   returns < 0 if {@link str1} is less than {@link str2}; > 0 if {@link
 *   str1} is greater than {@link str2}, and 0 if they are equal.
 * @since PHP 4, PHP 5, PHP 7
 **/
function strnatcmp($str1, $str2){}

/**
 * Binary safe case-insensitive string comparison of the first n
 * characters
 *
 * This function is similar to {@link strcasecmp}, with the difference
 * that you can specify the (upper limit of the) number of characters
 * from each string to be used in the comparison.
 *
 * @param string $str1 The first string.
 * @param string $str2 The second string.
 * @param int $len The length of strings to be used in the comparison.
 * @return int Returns < 0 if {@link str1} is less than {@link str2}; >
 *   0 if {@link str1} is greater than {@link str2}, and 0 if they are
 *   equal.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function strncasecmp($str1, $str2, $len){}

/**
 * Binary safe string comparison of the first n characters
 *
 * This function is similar to {@link strcmp}, with the difference that
 * you can specify the (upper limit of the) number of characters from
 * each string to be used in the comparison.
 *
 * Note that this comparison is case sensitive.
 *
 * @param string $str1 The first string.
 * @param string $str2 The second string.
 * @param int $len Number of characters to use in the comparison.
 * @return int Returns < 0 if {@link str1} is less than {@link str2}; >
 *   0 if {@link str1} is greater than {@link str2}, and 0 if they are
 *   equal.
 * @since PHP 4, PHP 5, PHP 7
 **/
function strncmp($str1, $str2, $len){}

/**
 * Search a string for any of a set of characters
 *
 * {@link strpbrk} searches the {@link haystack} string for a {@link
 * char_list}.
 *
 * @param string $haystack The string where {@link char_list} is looked
 *   for.
 * @param string $char_list This parameter is case sensitive.
 * @return string Returns a string starting from the character found,
 *   or FALSE if it is not found.
 * @since PHP 5, PHP 7
 **/
function strpbrk($haystack, $char_list){}

/**
 * Find the position of the first occurrence of a substring in a string
 *
 * Find the numeric position of the first occurrence of {@link needle} in
 * the {@link haystack} string.
 *
 * @param string $haystack The string to search in.
 * @param mixed $needle If {@link needle} is not a string, it is
 *   converted to an integer and applied as the ordinal value of a
 *   character.
 * @param int $offset If specified, search will start this number of
 *   characters counted from the beginning of the string. If the offset
 *   is negative, the search will start this number of characters counted
 *   from the end of the string.
 * @return int Returns the position of where the needle exists relative
 *   to the beginning of the {@link haystack} string (independent of
 *   offset). Also note that string positions start at 0, and not 1.
 * @since PHP 4, PHP 5, PHP 7
 **/
function strpos($haystack, $needle, $offset){}

/**
 * Parse a time/date generated with
 *
 * {@link strptime} returns an array with the {@link date} parsed, or
 * FALSE on error.
 *
 * Month and weekday names and other language dependent strings respect
 * the current locale set with {@link setlocale} (LC_TIME).
 *
 * @param string $date The string to parse (e.g. returned from {@link
 *   strftime}).
 * @param string $format The format used in {@link date} (e.g. the same
 *   as used in {@link strftime}). Note that some of the format options
 *   available to {@link strftime} may not have any effect within {@link
 *   strptime}; the exact subset that are supported will vary based on
 *   the operating system and C library in use. For more information
 *   about the format options, read the {@link strftime} page.
 * @return array Returns an array.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function strptime($date, $format){}

/**
 * Find the last occurrence of a character in a string
 *
 * This function returns the portion of {@link haystack} which starts at
 * the last occurrence of {@link needle} and goes until the end of {@link
 * haystack}.
 *
 * @param string $haystack The string to search in
 * @param mixed $needle If {@link needle} contains more than one
 *   character, only the first is used. This behavior is different from
 *   that of {@link strstr}. If {@link needle} is not a string, it is
 *   converted to an integer and applied as the ordinal value of a
 *   character.
 * @return string This function returns the portion of string, or FALSE
 *   if {@link needle} is not found.
 * @since PHP 4, PHP 5, PHP 7
 **/
function strrchr($haystack, $needle){}

/**
 * Reverse a string
 *
 * Returns {@link string}, reversed.
 *
 * @param string $string The string to be reversed.
 * @return string Returns the reversed string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function strrev($string){}

/**
 * Find the position of the last occurrence of a case-insensitive
 * substring in a string
 *
 * Find the numeric position of the last occurrence of {@link needle} in
 * the {@link haystack} string.
 *
 * Unlike the {@link strrpos}, {@link strripos} is case-insensitive.
 *
 * @param string $haystack The string to search in.
 * @param string $needle If {@link needle} is not a string, it is
 *   converted to an integer and applied as the ordinal value of a
 *   character.
 * @param int $offset If specified, search will start this number of
 *   characters counted from the beginning of the string. If the value is
 *   negative, search will instead start from that many characters from
 *   the end of the string, searching backwards.
 * @return int Returns the position where the needle exists relative to
 *   the beginnning of the {@link haystack} string (independent of search
 *   direction or offset). Also note that string positions start at 0,
 *   and not 1.
 * @since PHP 5, PHP 7
 **/
function strripos($haystack, $needle, $offset){}

/**
 * Find the position of the last occurrence of a substring in a string
 *
 * Find the numeric position of the last occurrence of {@link needle} in
 * the {@link haystack} string.
 *
 * @param string $haystack The string to search in.
 * @param string $needle If {@link needle} is not a string, it is
 *   converted to an integer and applied as the ordinal value of a
 *   character.
 * @param int $offset If specified, search will start this number of
 *   characters counted from the beginning of the string. If the value is
 *   negative, search will instead start from that many characters from
 *   the end of the string, searching backwards.
 * @return int Returns the position where the needle exists relative to
 *   the beginning of the {@link haystack} string (independent of search
 *   direction or offset). Also note that string positions start at 0,
 *   and not 1.
 * @since PHP 4, PHP 5, PHP 7
 **/
function strrpos($haystack, $needle, $offset){}

/**
 * Finds the length of the initial segment of a string consisting
 * entirely of characters contained within a given mask
 *
 * Finds the length of the initial segment of {@link subject} that
 * contains only characters from {@link mask}.
 *
 * If {@link start} and {@link length} are omitted, then all of {@link
 * subject} will be examined. If they are included, then the effect will
 * be the same as calling strspn(substr($subject, $start, $length),
 * $mask) (see for more information).
 *
 * The line of code:
 *
 * <?php $var = strspn("42 is the answer to the 128th question.",
 * "1234567890"); ?>
 *
 * will assign 2 to $var, because the string "42" is the initial segment
 * of {@link subject} that consists only of characters contained within
 * "1234567890".
 *
 * @param string $subject The string to examine.
 * @param string $mask The list of allowable characters.
 * @param int $start The position in {@link subject} to start
 *   searching. If {@link start} is given and is non-negative, then
 *   {@link strspn} will begin examining {@link subject} at the {@link
 *   start}'th position. For instance, in the string 'abcdef', the
 *   character at position 0 is 'a', the character at position 2 is 'c',
 *   and so forth. If {@link start} is given and is negative, then {@link
 *   strspn} will begin examining {@link subject} at the {@link start}'th
 *   position from the end of {@link subject}.
 * @param int $length The length of the segment from {@link subject} to
 *   examine. If {@link length} is given and is non-negative, then {@link
 *   subject} will be examined for {@link length} characters after the
 *   starting position. If {@link length} is given and is negative, then
 *   {@link subject} will be examined from the starting position up to
 *   {@link length} characters from the end of {@link subject}.
 * @return int Returns the length of the initial segment of {@link
 *   subject} which consists entirely of characters in {@link mask}.
 * @since PHP 4, PHP 5, PHP 7
 **/
function strspn($subject, $mask, $start, $length){}

/**
 * Find the first occurrence of a string
 *
 * Returns part of {@link haystack} string starting from and including
 * the first occurrence of {@link needle} to the end of {@link haystack}.
 *
 * @param string $haystack The input string.
 * @param mixed $needle If {@link needle} is not a string, it is
 *   converted to an integer and applied as the ordinal value of a
 *   character.
 * @param bool $before_needle If TRUE, {@link strstr} returns the part
 *   of the {@link haystack} before the first occurrence of the {@link
 *   needle} (excluding the needle).
 * @return string Returns the portion of string, or FALSE if {@link
 *   needle} is not found.
 * @since PHP 4, PHP 5, PHP 7
 **/
function strstr($haystack, $needle, $before_needle){}

/**
 * Tokenize string
 *
 * {@link strtok} splits a string ({@link str}) into smaller strings
 * (tokens), with each token being delimited by any character from {@link
 * token}. That is, if you have a string like "This is an example string"
 * you could tokenize this string into its individual words by using the
 * space character as the token.
 *
 * Note that only the first call to strtok uses the string argument.
 * Every subsequent call to strtok only needs the token to use, as it
 * keeps track of where it is in the current string. To start over, or to
 * tokenize a new string you simply call strtok with the string argument
 * again to initialize it. Note that you may put multiple tokens in the
 * token parameter. The string will be tokenized when any one of the
 * characters in the argument is found.
 *
 * @param string $str The string being split up into smaller strings
 *   (tokens).
 * @param string $token The delimiter used when splitting up {@link
 *   str}.
 * @return string A string token.
 * @since PHP 4, PHP 5, PHP 7
 **/
function strtok($str, $token){}

/**
 * Make a string lowercase
 *
 * Returns {@link string} with all alphabetic characters converted to
 * lowercase.
 *
 * Note that 'alphabetic' is determined by the current locale. This means
 * that e.g. in the default "C" locale, characters such as umlaut-A (Ä)
 * will not be converted.
 *
 * @param string $string The input string.
 * @return string Returns the lowercased string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function strtolower($string){}

/**
 * Parse about any English textual datetime description into a Unix
 * timestamp
 *
 * Each parameter of this function uses the default time zone unless a
 * time zone is specified in that parameter. Be careful not to use
 * different time zones in each parameter unless that is intended. See
 * {@link date_default_timezone_get} on the various ways to define the
 * default time zone.
 *
 * @param string $time
 * @param int $now The timestamp which is used as a base for the
 *   calculation of relative dates.
 * @return int Returns a timestamp on success, FALSE otherwise.
 *   Previous to PHP 5.1.0, this function would return -1 on failure.
 * @since PHP 4, PHP 5, PHP 7
 **/
function strtotime($time, $now){}

/**
 * Make a string uppercase
 *
 * Returns {@link string} with all alphabetic characters converted to
 * uppercase.
 *
 * Note that 'alphabetic' is determined by the current locale. For
 * instance, in the default "C" locale characters such as umlaut-a (ä)
 * will not be converted.
 *
 * @param string $string The input string.
 * @return string Returns the uppercased string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function strtoupper($string){}

/**
 * Translate characters or replace substrings
 *
 * If given three arguments, this function returns a copy of {@link str}
 * where all occurrences of each (single-byte) character in {@link from}
 * have been translated to the corresponding character in {@link to},
 * i.e., every occurrence of $from[$n] has been replaced with $to[$n],
 * where $n is a valid offset in both arguments.
 *
 * If {@link from} and {@link to} have different lengths, the extra
 * characters in the longer of the two are ignored. The length of {@link
 * str} will be the same as the return value's.
 *
 * If given two arguments, the second should be an array in the form
 * array('from' => 'to', ...). The return value is a string where all the
 * occurrences of the array keys have been replaced by the corresponding
 * values. The longest keys will be tried first. Once a substring has
 * been replaced, its new value will not be searched again.
 *
 * In this case, the keys and the values may have any length, provided
 * that there is no empty key; additionally, the length of the return
 * value may differ from that of {@link str}. However, this function will
 * be the most efficient when all the keys have the same size.
 *
 * @param string $str The string being translated.
 * @param string $from The string being translated to {@link to}.
 * @param string $to The string replacing {@link from}.
 * @return string Returns the translated string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function strtr($str, $from, $to){}

/**
 * Get string value of a variable
 *
 * @param mixed $var The variable that is being converted to a string.
 *   {@link var} may be any scalar type or an object that implements the
 *   __toString() method. You cannot use {@link strval} on arrays or on
 *   objects that do not implement the __toString() method.
 * @return string The string value of {@link var}.
 * @since PHP 4, PHP 5, PHP 7
 **/
function strval($var){}

/**
 * Parse a CSV string into an array
 *
 * Parses a string input for fields in CSV format and returns an array
 * containing the fields read.
 *
 * @param string $input The string to parse.
 * @param string $delimiter Set the field delimiter (one character
 *   only).
 * @param string $enclosure Set the field enclosure character (one
 *   character only).
 * @param string $escape Set the escape character (one character only).
 *   Defaults as a backslash (\)
 * @return array Returns an indexed array containing the fields read.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function str_getcsv($input, $delimiter, $enclosure, $escape){}

/**
 * Case-insensitive version of
 *
 * This function returns a string or an array with all occurrences of
 * {@link search} in {@link subject} (ignoring case) replaced with the
 * given {@link replace} value. If you don't need fancy replacing rules,
 * you should generally use this function instead of {@link preg_replace}
 * with the i modifier.
 *
 * @param mixed $search The value being searched for, otherwise known
 *   as the needle. An array may be used to designate multiple needles.
 * @param mixed $replace The replacement value that replaces found
 *   {@link search} values. An array may be used to designate multiple
 *   replacements.
 * @param mixed $subject The string or array being searched and
 *   replaced on, otherwise known as the haystack. If {@link subject} is
 *   an array, then the search and replace is performed with every entry
 *   of {@link subject}, and the return value is an array as well.
 * @param int $count If passed, this will be set to the number of
 *   replacements performed.
 * @return mixed Returns a string or an array of replacements.
 * @since PHP 5, PHP 7
 **/
function str_ireplace($search, $replace, $subject, &$count){}

/**
 * Pad a string to a certain length with another string
 *
 * This function returns the {@link input} string padded on the left, the
 * right, or both sides to the specified padding length. If the optional
 * argument {@link pad_string} is not supplied, the {@link input} is
 * padded with spaces, otherwise it is padded with characters from {@link
 * pad_string} up to the limit.
 *
 * @param string $input The input string.
 * @param int $pad_length If the value of {@link pad_length} is
 *   negative, less than, or equal to the length of the input string, no
 *   padding takes place, and {@link input} will be returned.
 * @param string $pad_string
 * @param int $pad_type Optional argument {@link pad_type} can be
 *   STR_PAD_RIGHT, STR_PAD_LEFT, or STR_PAD_BOTH. If {@link pad_type} is
 *   not specified it is assumed to be STR_PAD_RIGHT.
 * @return string Returns the padded string.
 * @since PHP 4 >= 4.0.1, PHP 5, PHP 7
 **/
function str_pad($input, $pad_length, $pad_string, $pad_type){}

/**
 * Repeat a string
 *
 * Returns {@link input} repeated {@link multiplier} times.
 *
 * @param string $input The string to be repeated.
 * @param int $multiplier Number of time the {@link input} string
 *   should be repeated. {@link multiplier} has to be greater than or
 *   equal to 0. If the {@link multiplier} is set to 0, the function will
 *   return an empty string.
 * @return string Returns the repeated string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function str_repeat($input, $multiplier){}

/**
 * Replace all occurrences of the search string with the replacement
 * string
 *
 * This function returns a string or an array with all occurrences of
 * {@link search} in {@link subject} replaced with the given {@link
 * replace} value.
 *
 * If you don't need fancy replacing rules (like regular expressions),
 * you should always use this function instead of {@link preg_replace}.
 *
 * @param mixed $search The value being searched for, otherwise known
 *   as the needle. An array may be used to designate multiple needles.
 * @param mixed $replace The replacement value that replaces found
 *   {@link search} values. An array may be used to designate multiple
 *   replacements.
 * @param mixed $subject The string or array being searched and
 *   replaced on, otherwise known as the haystack. If {@link subject} is
 *   an array, then the search and replace is performed with every entry
 *   of {@link subject}, and the return value is an array as well.
 * @param int $count If passed, this will be set to the number of
 *   replacements performed.
 * @return mixed This function returns a string or an array with the
 *   replaced values.
 * @since PHP 4, PHP 5, PHP 7
 **/
function str_replace($search, $replace, $subject, &$count){}

/**
 * Perform the rot13 transform on a string
 *
 * Performs the ROT13 encoding on the {@link str} argument and returns
 * the resulting string.
 *
 * The ROT13 encoding simply shifts every letter by 13 places in the
 * alphabet while leaving non-alpha characters untouched. Encoding and
 * decoding are done by the same function, passing an encoded string as
 * argument will return the original version.
 *
 * @param string $str The input string.
 * @return string Returns the ROT13 version of the given string.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function str_rot13($str){}

/**
 * Randomly shuffles a string
 *
 * @param string $str The input string.
 * @return string Returns the shuffled string.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function str_shuffle($str){}

/**
 * Convert a string to an array
 *
 * Converts a string to an array.
 *
 * @param string $string The input string.
 * @param int $split_length Maximum length of the chunk.
 * @return array If the optional {@link split_length} parameter is
 *   specified, the returned array will be broken down into chunks with
 *   each being {@link split_length} in length, otherwise each chunk will
 *   be one character in length.
 * @since PHP 5, PHP 7
 **/
function str_split($string, $split_length){}

/**
 * Return information about words used in a string
 *
 * Counts the number of words inside {@link string}. If the optional
 * {@link format} is not specified, then the return value will be an
 * integer representing the number of words found. In the event the
 * {@link format} is specified, the return value will be an array,
 * content of which is dependent on the {@link format}. The possible
 * value for the {@link format} and the resultant outputs are listed
 * below.
 *
 * For the purpose of this function, 'word' is defined as a locale
 * dependent string containing alphabetic characters, which also may
 * contain, but not start with ' and - characters.
 *
 * @param string $string The string
 * @param int $format Specify the return value of this function. The
 *   current supported values are: 0 - returns the number of words found
 *   1 - returns an array containing all the words found inside the
 *   {@link string} 2 - returns an associative array, where the key is
 *   the numeric position of the word inside the {@link string} and the
 *   value is the actual word itself
 * @param string $charlist A list of additional characters which will
 *   be considered as 'word'
 * @return mixed Returns an array or an integer, depending on the
 *   {@link format} chosen.
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function str_word_count($string, $format, $charlist){}

/**
 * Return part of a string
 *
 * Returns the portion of {@link string} specified by the {@link start}
 * and {@link length} parameters.
 *
 * @param string $string The input string. Must be one character or
 *   longer.
 * @param int $start If {@link start} is non-negative, the returned
 *   string will start at the {@link start}'th position in {@link
 *   string}, counting from zero. For instance, in the string 'abcdef',
 *   the character at position 0 is 'a', the character at position 2 is
 *   'c', and so forth. If {@link start} is negative, the returned string
 *   will start at the {@link start}'th character from the end of {@link
 *   string}. If {@link string} is less than {@link start} characters
 *   long, FALSE will be returned.
 *   
 *   Using a negative {@link start}
 *   
 *   <?php $rest = substr("abcdef", -1); // returns "f" $rest =
 *   substr("abcdef", -2); // returns "ef" $rest = substr("abcdef", -3,
 *   1); // returns "d" ?>
 * @param int $length If {@link length} is given and is positive, the
 *   string returned will contain at most {@link length} characters
 *   beginning from {@link start} (depending on the length of {@link
 *   string}). If {@link length} is given and is negative, then that many
 *   characters will be omitted from the end of {@link string} (after the
 *   start position has been calculated when a {@link start} is
 *   negative). If {@link start} denotes the position of this truncation
 *   or beyond, FALSE will be returned. If {@link length} is given and is
 *   0, FALSE or NULL, an empty string will be returned. If {@link
 *   length} is omitted, the substring starting from {@link start} until
 *   the end of the string will be returned.
 * @return string Returns the extracted part of {@link string}; , or an
 *   empty string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function substr($string, $start, $length){}

/**
 * Binary safe comparison of two strings from an offset, up to length
 * characters
 *
 * {@link substr_compare} compares {@link main_str} from position {@link
 * offset} with {@link str} up to {@link length} characters.
 *
 * @param string $main_str The main string being compared.
 * @param string $str The secondary string being compared.
 * @param int $offset The start position for the comparison. If
 *   negative, it starts counting from the end of the string.
 * @param int $length The length of the comparison. The default value
 *   is the largest of the length of the {@link str} compared to the
 *   length of {@link main_str} less the {@link offset}.
 * @param bool $case_insensitivity If {@link case_insensitivity} is
 *   TRUE, comparison is case insensitive.
 * @return int Returns < 0 if {@link main_str} from position {@link
 *   offset} is less than {@link str}, > 0 if it is greater than {@link
 *   str}, and 0 if they are equal. If {@link offset} is equal to or
 *   greater than the length of {@link main_str}, or the {@link length}
 *   is set and is less than 1 (prior to PHP 5.5.11), {@link
 *   substr_compare} prints a warning and returns FALSE.
 * @since PHP 5, PHP 7
 **/
function substr_compare($main_str, $str, $offset, $length, $case_insensitivity){}

/**
 * Count the number of substring occurrences
 *
 * {@link substr_count} returns the number of times the {@link needle}
 * substring occurs in the {@link haystack} string. Please note that
 * {@link needle} is case sensitive.
 *
 * @param string $haystack The string to search in
 * @param string $needle The substring to search for
 * @param int $offset The offset where to start counting. If the offset
 *   is negative, counting starts from the end of the string.
 * @param int $length The maximum length after the specified offset to
 *   search for the substring. It outputs a warning if the offset plus
 *   the length is greater than the {@link haystack} length. A negative
 *   length counts from the end of {@link haystack}.
 * @return int This function returns an integer.
 * @since PHP 4, PHP 5, PHP 7
 **/
function substr_count($haystack, $needle, $offset, $length){}

/**
 * Replace text within a portion of a string
 *
 * {@link substr_replace} replaces a copy of {@link string} delimited by
 * the {@link start} and (optionally) {@link length} parameters with the
 * string given in {@link replacement}.
 *
 * @param mixed $string The input string. An array of strings can be
 *   provided, in which case the replacements will occur on each string
 *   in turn. In this case, the {@link replacement}, {@link start} and
 *   {@link length} parameters may be provided either as scalar values to
 *   be applied to each input string in turn, or as arrays, in which case
 *   the corresponding array element will be used for each input string.
 * @param mixed $replacement The replacement string.
 * @param mixed $start If {@link start} is non-negative, the replacing
 *   will begin at the {@link start}'th offset into {@link string}. If
 *   {@link start} is negative, the replacing will begin at the {@link
 *   start}'th character from the end of {@link string}.
 * @param mixed $length If given and is positive, it represents the
 *   length of the portion of {@link string} which is to be replaced. If
 *   it is negative, it represents the number of characters from the end
 *   of {@link string} at which to stop replacing. If it is not given,
 *   then it will default to strlen( {@link string} ); i.e. end the
 *   replacing at the end of {@link string}. Of course, if {@link length}
 *   is zero then this function will have the effect of inserting {@link
 *   replacement} into {@link string} at the given {@link start} offset.
 * @return mixed The result string is returned. If {@link string} is an
 *   array then array is returned.
 * @since PHP 4, PHP 5, PHP 7
 **/
function substr_replace($string, $replacement, $start, $length){}

/**
 * Encrypts a cookie value according to current cookie encrpytion setting
 *
 * @param string $name Cookie name.
 * @param string $value Cookie value.
 * @return string Returns the encrypted string.
 * @since Suhosin >= 0.9.9
 **/
function suhosin_encrypt_cookie($name, $value){}

/**
 * Returns an array containing the raw cookie values
 *
 * @return array Returns an array containing the raw cookie values.
 * @since Suhosin >= 0.9.9
 **/
function suhosin_get_raw_cookies(){}

/**
 * Schedules the addition of an item in a working directory
 *
 * Adds the file, directory or symbolic link at {@link path} to the
 * working directory. The item will be added to the repository the next
 * time you call {@link svn_commit} on the working copy.
 *
 * @param string $path Path of item to add.
 * @param bool $recursive If item is directory, whether or not to
 *   recursively add all of its contents. Default is TRUE
 * @param bool $force If true, Subversion will recurse into already
 *   versioned directories in order to add unversioned files that may be
 *   hiding in those directories. Default is FALSE
 * @return bool
 * @since PECL svn >= 0.1.0
 **/
function svn_add($path, $recursive, $force){}

/**
 * Retrieves authentication parameter
 *
 * Retrieves authentication parameter at {@link key}. For a list of valid
 * keys and their meanings, consult the authentication constants list.
 *
 * @param string $key String key name. Use the authentication constants
 *   defined by this extension to specify a key.
 * @return string Returns the string value of the parameter at {@link
 *   key}; returns NULL if parameter does not exist.
 * @since PECL svn >= 0.1.0
 **/
function svn_auth_get_parameter($key){}

/**
 * Sets an authentication parameter
 *
 * Sets authentication parameter at {@link key} to {@link value}. For a
 * list of valid keys and their meanings, consult the authentication
 * constants list.
 *
 * @param string $key String key name. Use the authentication constants
 *   defined by this extension to specify a key.
 * @param string $value String value to set to parameter at key. Format
 *   of value varies with the parameter.
 * @return void
 * @since PECL svn >= 0.1.0
 **/
function svn_auth_set_parameter($key, $value){}

/**
 * Get the SVN blame for a file
 *
 * Get the SVN blame of a file from a repository URL.
 *
 * @param string $repository_url The repository URL.
 * @param int $revision_no The revision number.
 * @return array An array of SVN blame information separated by line
 *   which includes the revision number, line number, line of code,
 *   author, and date.
 * @since PECL svn >= 0.3.0
 **/
function svn_blame($repository_url, $revision_no){}

/**
 * Returns the contents of a file in a repository
 *
 * Returns the contents of the URL {@link repos_url} to a file in the
 * repository, optionally at revision number {@link revision_no}.
 *
 * @param string $repos_url String URL path to item in a repository.
 * @param int $revision_no Integer revision number of item to retrieve,
 *   default is the HEAD revision.
 * @return string Returns the string contents of the item from the
 *   repository on success, and FALSE on failure.
 * @since PECL svn >= 0.1.0
 **/
function svn_cat($repos_url, $revision_no){}

/**
 * Checks out a working copy from the repository
 *
 * Checks out a working copy from the repository at {@link repos} to
 * {@link targetpath} at revision {@link revision}.
 *
 * @param string $repos String URL path to directory in repository to
 *   check out.
 * @param string $targetpath String local path to directory to check
 *   out in to
 * @param int $revision Integer revision number of repository to check
 *   out. Default is HEAD, the most recent revision.
 * @param int $flags Any combination of SVN_NON_RECURSIVE and
 *   SVN_IGNORE_EXTERNALS.
 * @return bool
 * @since PECL svn >= 0.1.0
 **/
function svn_checkout($repos, $targetpath, $revision, $flags){}

/**
 * Recursively cleanup a working copy directory, finishing incomplete
 * operations and removing locks
 *
 * Recursively cleanup working copy directory {@link workingdir},
 * finishing any incomplete operations and removing working copy locks.
 * Use when a working copy is in limbo and needs to be usable again.
 *
 * @param string $workingdir String path to local working directory to
 *   cleanup
 * @return bool
 * @since PECL svn >= 0.1.0
 **/
function svn_cleanup($workingdir){}

/**
 * Returns the version of the SVN client libraries
 *
 * @return string String version number, usually in form of x.y.z.
 * @since PECL svn >= 0.1.0
 **/
function svn_client_version(){}

/**
 * Sends changes from the local working copy to the repository
 *
 * Commits changes made in the local working copy files enumerated in the
 * {@link targets} array to the repository, with the log message {@link
 * log}. Directories in the {@link targets} array will be recursively
 * committed unless {@link recursive} is set to FALSE.
 *
 * @param string $log String log text to commit
 * @param array $targets Array of local paths of files to be committed
 * @param bool $recursive Boolean flag to disable recursive committing
 *   of directories in the {@link targets} array. Default is TRUE.
 * @return array Returns array in form of:
 * @since PECL svn >= 0.1.0
 **/
function svn_commit($log, $targets, $recursive){}

/**
 * Delete items from a working copy or repository
 *
 * Deletes the file, directory or symbolic link at {@link path} from the
 * working directory. The item will be deleted from the repository the
 * next time you call {@link svn_commit} on the working copy.
 *
 * @param string $path Path of item to delete.
 * @param bool $force If TRUE, the file will be deleted even if it has
 *   local modifications. Otherwise, local modifications will result in a
 *   failure. Default is FALSE
 * @return bool
 * @since PECL svn >= 0.4.0
 **/
function svn_delete($path, $force){}

/**
 * Recursively diffs two paths
 *
 * Recursively diffs two paths, {@link path1} and {@link path2}.
 *
 * @param string $path1 First path to diff. This can be a URL to a
 *   file/directory in an SVN repository or a local file/directory path.
 * @param int $rev1 First path's revision number. Use SVN_REVISION_HEAD
 *   to specify the most recent revision.
 * @param string $path2 Second path to diff. See {@link path1} for
 *   description.
 * @param int $rev2 Second path's revision number. See {@link rev1} for
 *   description.
 * @return array Returns an array-list consisting of two streams: the
 *   first is the diff output and the second contains error stream
 *   output. The streams can be read using {@link fread}. Returns FALSE
 *   or NULL on error.
 * @since PECL svn >= 0.1.0
 **/
function svn_diff($path1, $rev1, $path2, $rev2){}

/**
 * Export the contents of a SVN directory
 *
 * Export the contents of either a working copy or repository into a
 * 'clean' directory.
 *
 * @param string $frompath The path to the current repository.
 * @param string $topath The path to the new repository.
 * @param bool $working_copy If TRUE, it will export uncommitted files
 *   from the working copy.
 * @param int $revision_no
 * @return bool
 * @since PECL svn >= 0.3.0
 **/
function svn_export($frompath, $topath, $working_copy, $revision_no){}

/**
 * Abort a transaction, returns true if everything is okay, false
 * otherwise
 *
 * @param resource $txn
 * @return bool
 * @since PECL svn >= 0.2.0
 **/
function svn_fs_abort_txn($txn){}

/**
 * Creates and returns a stream that will be used to replace
 *
 * @param resource $root
 * @param string $path
 * @return resource
 * @since PECL svn >= 0.2.0
 **/
function svn_fs_apply_text($root, $path){}

/**
 * Create a new transaction
 *
 * @param resource $repos
 * @param int $rev
 * @return resource
 * @since PECL svn >= 0.2.0
 **/
function svn_fs_begin_txn2($repos, $rev){}

/**
 * Return true if everything is ok, false otherwise
 *
 * @param resource $root
 * @param string $path
 * @param string $name
 * @param string $value
 * @return bool
 * @since PECL svn >= 0.2.0
 **/
function svn_fs_change_node_prop($root, $path, $name, $value){}

/**
 * Determines what kind of item lives at path in a given repository
 * fsroot
 *
 * @param resource $fsroot
 * @param string $path
 * @return int
 * @since PECL svn >= 0.1.0
 **/
function svn_fs_check_path($fsroot, $path){}

/**
 * Return true if content is different, false otherwise
 *
 * @param resource $root1
 * @param string $path1
 * @param resource $root2
 * @param string $path2
 * @return bool
 * @since PECL svn >= 0.2.0
 **/
function svn_fs_contents_changed($root1, $path1, $root2, $path2){}

/**
 * Copies a file or a directory, returns true if all is ok, false
 * otherwise
 *
 * @param resource $from_root
 * @param string $from_path
 * @param resource $to_root
 * @param string $to_path
 * @return bool
 * @since PECL svn >= 0.2.0
 **/
function svn_fs_copy($from_root, $from_path, $to_root, $to_path){}

/**
 * Deletes a file or a directory, return true if all is ok, false
 * otherwise
 *
 * @param resource $root
 * @param string $path
 * @return bool
 * @since PECL svn >= 0.2.0
 **/
function svn_fs_delete($root, $path){}

/**
 * Enumerates the directory entries under path; returns a hash of dir
 * names to file type
 *
 * @param resource $fsroot
 * @param string $path
 * @return array
 * @since PECL svn >= 0.1.0
 **/
function svn_fs_dir_entries($fsroot, $path){}

/**
 * Returns a stream to access the contents of a file from a given version
 * of the fs
 *
 * @param resource $fsroot
 * @param string $path
 * @return resource
 * @since PECL svn >= 0.1.0
 **/
function svn_fs_file_contents($fsroot, $path){}

/**
 * Returns the length of a file from a given version of the fs
 *
 * @param resource $fsroot
 * @param string $path
 * @return int
 * @since PECL svn >= 0.1.0
 **/
function svn_fs_file_length($fsroot, $path){}

/**
 * Return true if the path points to a directory, false otherwise
 *
 * @param resource $root
 * @param string $path
 * @return bool
 * @since PECL svn >= 0.2.0
 **/
function svn_fs_is_dir($root, $path){}

/**
 * Return true if the path points to a file, false otherwise
 *
 * @param resource $root
 * @param string $path
 * @return bool
 * @since PECL svn >= 0.2.0
 **/
function svn_fs_is_file($root, $path){}

/**
 * Creates a new empty directory, returns true if all is ok, false
 * otherwise
 *
 * @param resource $root
 * @param string $path
 * @return bool
 * @since PECL svn >= 0.2.0
 **/
function svn_fs_make_dir($root, $path){}

/**
 * Creates a new empty file, returns true if all is ok, false otherwise
 *
 * @param resource $root
 * @param string $path
 * @return bool
 * @since PECL svn >= 0.2.0
 **/
function svn_fs_make_file($root, $path){}

/**
 * Returns the revision in which path under fsroot was created
 *
 * @param resource $fsroot
 * @param string $path
 * @return int
 * @since PECL svn >= 0.1.0
 **/
function svn_fs_node_created_rev($fsroot, $path){}

/**
 * Returns the value of a property for a node
 *
 * @param resource $fsroot
 * @param string $path
 * @param string $propname
 * @return string
 * @since PECL svn >= 0.1.0
 **/
function svn_fs_node_prop($fsroot, $path, $propname){}

/**
 * Return true if props are different, false otherwise
 *
 * @param resource $root1
 * @param string $path1
 * @param resource $root2
 * @param string $path2
 * @return bool
 * @since PECL svn >= 0.2.0
 **/
function svn_fs_props_changed($root1, $path1, $root2, $path2){}

/**
 * Fetches the value of a named property
 *
 * @param resource $fs
 * @param int $revnum
 * @param string $propname
 * @return string
 * @since PECL svn >= 0.1.0
 **/
function svn_fs_revision_prop($fs, $revnum, $propname){}

/**
 * Get a handle on a specific version of the repository root
 *
 * @param resource $fs
 * @param int $revnum
 * @return resource
 * @since PECL svn >= 0.1.0
 **/
function svn_fs_revision_root($fs, $revnum){}

/**
 * Creates and returns a transaction root
 *
 * @param resource $txn
 * @return resource
 * @since PECL svn >= 0.2.0
 **/
function svn_fs_txn_root($txn){}

/**
 * Returns the number of the youngest revision in the filesystem
 *
 * @param resource $fs
 * @return int
 * @since PECL svn >= 0.1.0
 **/
function svn_fs_youngest_rev($fs){}

/**
 * Imports an unversioned path into a repository
 *
 * Commits unversioned {@link path} into repository at {@link url}. If
 * {@link path} is a directory and {@link nonrecursive} is FALSE, the
 * directory will be imported recursively.
 *
 * @param string $path Path of file or directory to import.
 * @param string $url Repository URL to import into.
 * @param bool $nonrecursive Whether or not to refrain from recursively
 *   processing directories.
 * @return bool
 * @since PECL svn >= 0.2.0
 **/
function svn_import($path, $url, $nonrecursive){}

/**
 * Returns the commit log messages of a repository URL
 *
 * {@link svn_log} returns the complete history of the item at the
 * repository URL {@link repos_url}, or the history of a specific
 * revision if {@link start_revision} is set. This function is equivalent
 * to svn log --verbose -r $start_revision $repos_url.
 *
 * @param string $repos_url Repository URL of the item to retrieve log
 *   history from.
 * @param int $start_revision Revision number of the first log to
 *   retrieve. Use SVN_REVISION_HEAD to retrieve the log from the most
 *   recent revision.
 * @param int $end_revision Revision number of the last log to
 *   retrieve. Defaults to {@link start_revision} if specified or to
 *   SVN_REVISION_INITIAL otherwise.
 * @param int $limit Number of logs to retrieve.
 * @param int $flags Any combination of SVN_OMIT_MESSAGES,
 *   SVN_DISCOVER_CHANGED_PATHS and SVN_STOP_ON_COPY.
 * @return array On success, this function returns an array file
 *   listing in the format of:
 *   
 *   [0] => Array, ordered most recent (highest) revision first ( [rev]
 *   => integer revision number [author] => string author name [msg] =>
 *   string log message [date] => string date formatted per ISO 8601,
 *   i.e. date('c') [paths] => Array, describing changed files ( [0] =>
 *   Array ( [action] => string letter signifying change [path] =>
 *   absolute repository path of changed file ) [1] => ... ) ) [1] => ...
 * @since PECL svn >= 0.1.0
 **/
function svn_log($repos_url, $start_revision, $end_revision, $limit, $flags){}

/**
 * Returns list of directory contents in repository URL, optionally at
 * revision number
 *
 * This function queries the repository URL and returns a list of files
 * and directories, optionally from a specific revision. This is
 * equivalent to svn list $repos_url[@$revision_no]
 *
 * @param string $repos_url URL of the repository, eg.
 *   http://www.example.com/svnroot. To access a local Subversion
 *   repository via filesystem, use the file URI scheme, eg.
 *   file:///home/user/svn-repos
 * @param int $revision_no Integer revision number to retrieve listing
 *   of. When omitted, the HEAD revision is used.
 * @param bool $recurse Enables recursion.
 * @param bool $peg
 * @return array On success, this function returns an array file
 *   listing in the format of:
 *   
 *   [0] => Array ( [created_rev] => integer revision number of last edit
 *   [last_author] => string author name of last edit [size] => integer
 *   byte file size of file [time] => string date of last edit in form 'M
 *   d H:i' or 'M d Y', depending on how old the file is [time_t] =>
 *   integer unix timestamp of last edit [name] => name of file/directory
 *   [type] => type, can be 'file' or 'dir' ) [1] => ...
 * @since PECL svn >= 0.1.0
 **/
function svn_ls($repos_url, $revision_no, $recurse, $peg){}

/**
 * Creates a directory in a working copy or repository
 *
 * @param string $path The path to the working copy or repository.
 * @param string $log_message
 * @return bool
 * @since PECL svn >= 0.4.0
 **/
function svn_mkdir($path, $log_message){}

/**
 * Create a new subversion repository at path
 *
 * @param string $path
 * @param array $config
 * @param array $fsconfig
 * @return resource
 * @since PECL svn >= 0.1.0
 **/
function svn_repos_create($path, $config, $fsconfig){}

/**
 * Gets a handle on the filesystem for a repository
 *
 * @param resource $repos
 * @return resource
 * @since PECL svn >= 0.1.0
 **/
function svn_repos_fs($repos){}

/**
 * Create a new transaction
 *
 * @param resource $repos
 * @param int $rev
 * @param string $author
 * @param string $log_msg
 * @return resource
 * @since PECL svn >= 0.2.0
 **/
function svn_repos_fs_begin_txn_for_commit($repos, $rev, $author, $log_msg){}

/**
 * Commits a transaction and returns the new revision
 *
 * @param resource $txn
 * @return int
 * @since PECL svn >= 0.2.0
 **/
function svn_repos_fs_commit_txn($txn){}

/**
 * Make a hot-copy of the repos at repospath; copy it to destpath
 *
 * @param string $repospath
 * @param string $destpath
 * @param bool $cleanlogs
 * @return bool
 * @since PECL svn >= 0.1.0
 **/
function svn_repos_hotcopy($repospath, $destpath, $cleanlogs){}

/**
 * Open a shared lock on a repository
 *
 * @param string $path
 * @return resource
 * @since PECL svn >= 0.1.0
 **/
function svn_repos_open($path){}

/**
 * Run recovery procedures on the repository located at path
 *
 * @param string $path
 * @return bool
 * @since PECL svn >= 0.1.0
 **/
function svn_repos_recover($path){}

/**
 * Revert changes to the working copy
 *
 * Revert any local changes to the path in a working copy.
 *
 * @param string $path The path to the working repository.
 * @param bool $recursive Optionally make recursive changes.
 * @return bool
 * @since PECL svn >= 0.3.0
 **/
function svn_revert($path, $recursive){}

/**
 * Returns the status of working copy files and directories
 *
 * Returns the status of working copy files and directories, giving
 * modifications, additions, deletions and other changes to items in the
 * working copy.
 *
 * @param string $path Local path to file or directory to retrieve
 *   status of.
 * @param int $flags Any combination of Svn::NON_RECURSIVE, Svn::ALL
 *   (regardless of modification status), Svn::SHOW_UPDATES (entries will
 *   be added for items that are out-of-date), Svn::NO_IGNORE (disregard
 *   svn:ignore properties when scanning for new files) and
 *   Svn::IGNORE_EXTERNALS.
 * @return array Returns a numerically indexed array of associative
 *   arrays detailing the status of items in the repository:
 * @since PECL svn >= 0.1.0
 **/
function svn_status($path, $flags){}

/**
 * Update working copy
 *
 * Update working copy at {@link path} to revision {@link revno}. If
 * {@link recurse} is true, directories will be recursively updated.
 *
 * @param string $path Path to local working copy.
 * @param int $revno Revision number to update to, default is
 *   SVN_REVISION_HEAD.
 * @param bool $recurse Whether or not to recursively update
 *   directories.
 * @return int Returns new revision number on success, returns FALSE on
 *   failure.
 * @since PECL svn >= 0.1.0
 **/
function svn_update($path, $revno, $recurse){}

/**
 * Async and non-blocking hostname to IP lookup
 *
 * @param string $hostname The host name.
 * @param callable $callback
 * @return bool
 * @since PHP 5 >= 5.2.0, PHP 7, PECL swoole >= 1.9.0
 **/
function swoole_async_dns_lookup($hostname, $callback){}

/**
 * Read file stream asynchronously
 *
 * @param string $filename The filename of the file being read.
 * @param callable $callback
 * @param int $chunk_size The name of the file.
 * @param int $offset The content readed from the file stream.
 * @return bool Whether the read is succeed.
 * @since PHP 5 >= 5.2.0, PHP 7, PECL swoole >= 1.9.0
 **/
function swoole_async_read($filename, $callback, $chunk_size, $offset){}

/**
 * Read a file asynchronously
 *
 * @param string $filename The filename of the file being read.
 * @param callable $callback
 * @return bool
 * @since PHP 5 >= 5.2.0, PHP 7, PECL swoole >= 1.9.0
 **/
function swoole_async_readfile($filename, $callback){}

/**
 * Update the async I/O options
 *
 * @param array $settings
 * @return void
 * @since PHP 5 >= 5.2.0, PHP 7, PECL swoole >= 1.9.0
 **/
function swoole_async_set($settings){}

/**
 * Write data to a file stream asynchronously
 *
 * @param string $filename The filename being written.
 * @param string $content The content writing to the file.
 * @param integer $offset The offset.
 * @param callable $callback
 * @return bool
 * @since PHP 5 >= 5.2.0, PHP 7, PECL swoole >= 1.9.0
 **/
function swoole_async_write($filename, $content, $offset, $callback){}

/**
 * Write data to a file asynchronously
 *
 * @param string $filename The filename being written.
 * @param string $content The content writing to the file.
 * @param callable $callback
 * @param int $flags
 * @return bool
 * @since PHP 5 >= 5.2.0, PHP 7, PECL swoole >= 1.9.0
 **/
function swoole_async_writefile($filename, $content, $callback, $flags){}

/**
 * Get the file description which are ready to read/write or error
 *
 * @param array $read_array
 * @param array $write_array
 * @param array $error_array
 * @param float $timeout
 * @return int
 * @since PHP 5 >= 5.2.0, PHP 7, PECL swoole >= 1.9.0
 **/
function swoole_client_select(&$read_array, &$write_array, &$error_array, $timeout){}

/**
 * Get the number of CPU
 *
 * @return int The number of CPU.
 * @since PHP 5 >= 5.2.0, PHP 7, PECL swoole >= 1.9.0
 **/
function swoole_cpu_num(){}

/**
 * Get the error code of the latest system call
 *
 * @return int
 * @since PHP 5 >= 5.2.0, PHP 7, PECL swoole >= 1.9.0
 **/
function swoole_errno(){}

/**
 * Add new callback functions of a socket into the EventLoop
 *
 * @param int $fd
 * @param callable $read_callback
 * @param callable $write_callback
 * @param int $events
 * @return int
 * @since PHP 5 >= 5.2.0, PHP 7, PECL swoole >= 1.9.0
 **/
function swoole_event_add($fd, $read_callback, $write_callback, $events){}

/**
 * Add callback function to the next event loop
 *
 * @param callable $callback
 * @return bool
 * @since PHP 5 >= 5.2.0, PHP 7, PECL swoole >= 1.9.0
 **/
function swoole_event_defer($callback){}

/**
 * Remove all event callback functions of a socket
 *
 * @param int $fd
 * @return bool
 * @since PHP 5 >= 5.2.0, PHP 7, PECL swoole >= 1.9.0
 **/
function swoole_event_del($fd){}

/**
 * Exit the eventloop, only available at the client side
 *
 * @return void
 * @since PHP 5 >= 5.2.0, PHP 7, PECL swoole >= 1.9.0
 **/
function swoole_event_exit(){}

/**
 * Update the event callback functions of a socket
 *
 * @param int $fd
 * @param callable $read_callback
 * @param callable $write_callback
 * @param int $events
 * @return bool
 * @since PHP 5 >= 5.2.0, PHP 7, PECL swoole >= 1.9.0
 **/
function swoole_event_set($fd, $read_callback, $write_callback, $events){}

/**
 * Start the event loop
 *
 * @return void
 * @since PHP 5 >= 5.2.0, PHP 7, PECL swoole >= 1.9.0
 **/
function swoole_event_wait(){}

/**
 * Write data to a socket
 *
 * @param int $fd
 * @param string $data
 * @return bool
 * @since PHP 5 >= 5.2.0, PHP 7, PECL swoole >= 1.9.0
 **/
function swoole_event_write($fd, $data){}

/**
 * Get the IPv4 IP addresses of each NIC on the machine
 *
 * @return array
 * @since PHP 5 >= 5.2.0, PHP 7, PECL swoole >= 1.9.0
 **/
function swoole_get_local_ip(){}

/**
 * Get the lastest error message
 *
 * @return int
 * @since PHP 5 >= 5.2.0, PHP 7, PECL swoole >= 1.9.0
 **/
function swoole_last_error(){}

/**
 * Load a swoole extension
 *
 * @param string $filename
 * @return mixed
 * @since PHP 5 >= 5.2.0, PHP 7, PECL swoole >= 1.9.0
 **/
function swoole_load_module($filename){}

/**
 * Select the file descriptions which are ready to read/write or error in
 * the eventloop
 *
 * @param array $read_array
 * @param array $write_array
 * @param array $error_array
 * @param float $timeout
 * @return int
 * @since PHP 5 >= 5.2.0, PHP 7, PECL swoole >= 1.9.0
 **/
function swoole_select(&$read_array, &$write_array, &$error_array, $timeout){}

/**
 * Set the process name
 *
 * @param string $process_name
 * @param int $size
 * @return void
 * @since PHP 5 >= 5.2.0, PHP 7, PECL swoole >= 1.9.0
 **/
function swoole_set_process_name($process_name, $size){}

/**
 * Convert the Errno into error messages
 *
 * @param int $errno
 * @param int $error_type
 * @return string
 * @since PHP 5 >= 5.2.0, PHP 7, PECL swoole >= 1.9.0
 **/
function swoole_strerror($errno, $error_type){}

/**
 * Trigger a one time callback function in the future
 *
 * @param int $ms
 * @param callable $callback
 * @param mixed $param
 * @return int
 * @since PHP 5 >= 5.2.0, PHP 7, PECL swoole >= 1.9.0
 **/
function swoole_timer_after($ms, $callback, $param){}

/**
 * Stop and destory a timer.
 *
 * Stop and destory a timer
 *
 * @param integer $timer_id
 * @return void
 * @since PHP 5 >= 5.2.0, PHP 7, PECL swoole >= 1.9.0
 **/
function swoole_timer_clear($timer_id){}

/**
 * Check if a timer callback function is existed
 *
 * @param int $timer_id
 * @return bool
 * @since PHP 5 >= 5.2.0, PHP 7, PECL swoole >= 1.9.0
 **/
function swoole_timer_exists($timer_id){}

/**
 * Trigger a timer tick callback function by time interval
 *
 * @param int $ms
 * @param callable $callback
 * @param mixed $param
 * @return int
 * @since PHP 5 >= 5.2.0, PHP 7, PECL swoole >= 1.9.0
 **/
function swoole_timer_tick($ms, $callback, $param){}

/**
 * Get the version of Swoole
 *
 * @return string The version of Swoole.
 * @since PHP 5 >= 5.2.0, PHP 7, PECL swoole >= 1.9.0
 **/
function swoole_version(){}

/**
 * Gets number of affected rows in last query
 *
 * {@link sybase_affected_rows} returns the number of rows affected by
 * the last INSERT, UPDATE or DELETE query on the server associated with
 * the specified link identifier.
 *
 * This command is not effective for SELECT statements, only on
 * statements which modify records. To retrieve the number of rows
 * returned from a SELECT, use {@link sybase_num_rows}.
 *
 * @param resource $link_identifier If the link identifier isn't
 *   specified, the last opened link is assumed.
 * @return int Returns the number of affected rows, as an integer.
 * @since PHP 4, PHP 5
 **/
function sybase_affected_rows($link_identifier){}

/**
 * Closes a Sybase connection
 *
 * {@link sybase_close} closes the link to a Sybase database that's
 * associated with the specified link {@link link_identifier}.
 *
 * Note that this isn't usually necessary, as non-persistent open links
 * are automatically closed at the end of the script's execution.
 *
 * {@link sybase_close} will not close persistent links generated by
 * {@link sybase_pconnect}.
 *
 * @param resource $link_identifier If the link identifier isn't
 *   specified, the last opened link is assumed.
 * @return bool
 * @since PHP 4, PHP 5
 **/
function sybase_close($link_identifier){}

/**
 * Opens a Sybase server connection
 *
 * {@link sybase_connect} establishes a connection to a Sybase server.
 *
 * In case a second call is made to {@link sybase_connect} with the same
 * arguments, no new link will be established, but instead, the link
 * identifier of the already opened link will be returned.
 *
 * The link to the server will be closed as soon as the execution of the
 * script ends, unless it's closed earlier by explicitly calling {@link
 * sybase_close}.
 *
 * @param string $servername The servername argument has to be a valid
 *   servername that is defined in the 'interfaces' file.
 * @param string $username Sybase user name
 * @param string $password Password associated with {@link username}.
 * @param string $charset Specifies the charset for the connection
 * @param string $appname Specifies an appname for the Sybase
 *   connection. This allow you to make separate connections in the same
 *   script to the same database. This may come handy when you have
 *   started a transaction in your current connection, and you need to be
 *   able to do a separate query which cannot be performed inside this
 *   transaction.
 * @param bool $new Whether to open a new connection or use the
 *   existing one.
 * @return resource Returns a positive Sybase link identifier on
 *   success, or FALSE on failure.
 * @since PHP 4, PHP 5
 **/
function sybase_connect($servername, $username, $password, $charset, $appname, $new){}

/**
 * Moves internal row pointer
 *
 * {@link sybase_data_seek} moves the internal row pointer of the Sybase
 * result associated with the specified result identifier to pointer to
 * the specified row number. The next call to {@link sybase_fetch_row}
 * would return that row.
 *
 * @param resource $result_identifier
 * @param int $row_number
 * @return bool
 * @since PHP 4, PHP 5
 **/
function sybase_data_seek($result_identifier, $row_number){}

/**
 * Sets the deadlock retry count
 *
 * Using {@link sybase_deadlock_retry_count}, the number of retries can
 * be defined in cases of deadlocks. By default, every deadlock is
 * retried an infinite number of times or until the process is killed by
 * Sybase, the executing script is killed (for instance, by {@link
 * set_time_limit}) or the query succeeds.
 *
 * @param int $retry_count Values for retry_count -1 Retry forever
 *   (default) 0 Do not retry n Retry n times
 * @return void
 * @since PHP 4 >= 4.3.0, PHP 5
 **/
function sybase_deadlock_retry_count($retry_count){}

/**
 * Fetch row as array
 *
 * {@link sybase_fetch_array} is an extended version of {@link
 * sybase_fetch_row}. In addition to storing the data in the numeric
 * indices of the result array, it also stores the data in associative
 * indices, using the field names as keys.
 *
 * An important thing to note is that using {@link sybase_fetch_array} is
 * NOT significantly slower than using {@link sybase_fetch_row}, while it
 * provides a significant added value.
 *
 * @param resource $result
 * @return array Returns an array that corresponds to the fetched row,
 *   or FALSE if there are no more rows.
 * @since PHP 4, PHP 5
 **/
function sybase_fetch_array($result){}

/**
 * Fetch a result row as an associative array
 *
 * {@link sybase_fetch_assoc} is a version of {@link sybase_fetch_row}
 * that uses column names instead of integers for indices in the result
 * array. Columns from different tables with the same names are returned
 * as name, name1, name2, ..., nameN.
 *
 * An important thing to note is that using {@link sybase_fetch_assoc} is
 * NOT significantly slower than using {@link sybase_fetch_row}, while it
 * provides a significant added value.
 *
 * @param resource $result
 * @return array Returns an array that corresponds to the fetched row,
 *   or FALSE if there are no more rows.
 * @since PHP 4 >= 4.3.0, PHP 5
 **/
function sybase_fetch_assoc($result){}

/**
 * Get field information from a result
 *
 * {@link sybase_fetch_field} can be used in order to obtain information
 * about fields in a certain query result.
 *
 * @param resource $result
 * @param int $field_offset If the field offset isn't specified, the
 *   next field that wasn't yet retrieved by {@link sybase_fetch_field}
 *   is retrieved.
 * @return object Returns an object containing field information.
 * @since PHP 4, PHP 5
 **/
function sybase_fetch_field($result, $field_offset){}

/**
 * Fetch a row as an object
 *
 * {@link sybase_fetch_object} is similar to {@link sybase_fetch_assoc},
 * with one difference - an object is returned, instead of an array.
 *
 * Speed-wise, the function is identical to {@link sybase_fetch_array},
 * and almost as quick as {@link sybase_fetch_row} (the difference is
 * insignificant).
 *
 * @param resource $result
 * @param mixed $object Use the second {@link object} to specify the
 *   type of object you want to return. If this parameter is omitted, the
 *   object will be of type stdClass.
 * @return object Returns an object with properties that correspond to
 *   the fetched row, or FALSE if there are no more rows.
 * @since PHP 4, PHP 5
 **/
function sybase_fetch_object($result, $object){}

/**
 * Get a result row as an enumerated array
 *
 * {@link sybase_fetch_row} fetches one row of data from the result
 * associated with the specified result identifier.
 *
 * Subsequent call to {@link sybase_fetch_row} would return the next row
 * in the result set, or FALSE if there are no more rows.
 *
 * @param resource $result
 * @return array Returns an array that corresponds to the fetched row,
 *   or FALSE if there are no more rows. Each result column is stored in
 *   an array offset, starting at offset 0.
 * @since PHP 4, PHP 5
 **/
function sybase_fetch_row($result){}

/**
 * Sets field offset
 *
 * Seeks to the specified field offset. If the next call to {@link
 * sybase_fetch_field} won't include a field offset, this field would be
 * returned.
 *
 * @param resource $result
 * @param int $field_offset
 * @return bool
 * @since PHP 4, PHP 5
 **/
function sybase_field_seek($result, $field_offset){}

/**
 * Frees result memory
 *
 * {@link sybase_free_result} only needs to be called if you are worried
 * about using too much memory while your script is running. All result
 * memory will automatically be freed when the script ends. You may call
 * {@link sybase_free_result} with the result identifier as an argument
 * and the associated result memory will be freed.
 *
 * @param resource $result
 * @return bool
 * @since PHP 4, PHP 5
 **/
function sybase_free_result($result){}

/**
 * Returns the last message from the server
 *
 * {@link sybase_get_last_message} returns the last message reported by
 * the server.
 *
 * @return string Returns the message as a string.
 * @since PHP 4, PHP 5
 **/
function sybase_get_last_message(){}

/**
 * Sets minimum client severity
 *
 * {@link sybase_min_client_severity} sets the minimum client severity
 * level.
 *
 * @param int $severity
 * @return void
 * @since PHP 4, PHP 5
 **/
function sybase_min_client_severity($severity){}

/**
 * Sets minimum error severity
 *
 * {@link sybase_min_error_severity} sets the minimum error severity
 * level.
 *
 * @param int $severity
 * @return void
 * @since PHP 4, PHP 5
 **/
function sybase_min_error_severity($severity){}

/**
 * Sets minimum message severity
 *
 * {@link sybase_min_message_severity} sets the minimum message severity
 * level.
 *
 * @param int $severity
 * @return void
 * @since PHP 4, PHP 5
 **/
function sybase_min_message_severity($severity){}

/**
 * Sets minimum server severity
 *
 * {@link sybase_min_server_severity} sets the minimum server severity
 * level.
 *
 * @param int $severity
 * @return void
 * @since PHP 4, PHP 5
 **/
function sybase_min_server_severity($severity){}

/**
 * Gets the number of fields in a result set
 *
 * {@link sybase_num_fields} returns the number of fields in a result
 * set.
 *
 * @param resource $result
 * @return int Returns the number of fields as an integer.
 * @since PHP 4, PHP 5
 **/
function sybase_num_fields($result){}

/**
 * Get number of rows in a result set
 *
 * {@link sybase_num_rows} returns the number of rows in a result set.
 *
 * @param resource $result
 * @return int Returns the number of rows as an integer.
 * @since PHP 4, PHP 5
 **/
function sybase_num_rows($result){}

/**
 * Open persistent Sybase connection
 *
 * {@link sybase_pconnect} acts very much like {@link sybase_connect}
 * with two major differences.
 *
 * First, when connecting, the function would first try to find a
 * (persistent) link that's already open with the same host, username and
 * password. If one is found, an identifier for it will be returned
 * instead of opening a new connection.
 *
 * Second, the connection to the SQL server will not be closed when the
 * execution of the script ends. Instead, the link will remain open for
 * future use ({@link sybase_close} will not close links established by
 * {@link sybase_pconnect}).
 *
 * This type of links is therefore called 'persistent'.
 *
 * @param string $servername The servername argument has to be a valid
 *   servername that is defined in the 'interfaces' file.
 * @param string $username Sybase user name
 * @param string $password Password associated with {@link username}.
 * @param string $charset Specifies the charset for the connection
 * @param string $appname Specifies an appname for the Sybase
 *   connection. This allow you to make separate connections in the same
 *   script to the same database. This may come handy when you have
 *   started a transaction in your current connection, and you need to be
 *   able to do a separate query which cannot be performed inside this
 *   transaction.
 * @return resource Returns a positive Sybase persistent link
 *   identifier on success, or FALSE on error.
 * @since PHP 4, PHP 5
 **/
function sybase_pconnect($servername, $username, $password, $charset, $appname){}

/**
 * Sends a Sybase query
 *
 * {@link sybase_query} sends a query to the currently active database on
 * the server that's associated with the specified link identifier.
 *
 * @param string $query
 * @param resource $link_identifier If the link identifier isn't
 *   specified, the last opened link is assumed. If no link is open, the
 *   function tries to establish a link as if {@link sybase_connect} was
 *   called, and use it.
 * @return mixed Returns a positive Sybase result identifier on
 *   success, FALSE on error, or TRUE if the query was successful but
 *   didn't return any columns.
 * @since PHP 4, PHP 5
 **/
function sybase_query($query, $link_identifier){}

/**
 * Get result data
 *
 * Returns the contents of the cell at the row and offset in the
 * specified Sybase result set.
 *
 * When working on large result sets, you should consider using one of
 * the functions that fetch an entire row (specified below). As these
 * functions return the contents of multiple cells in one function call,
 * they're MUCH quicker than sybase_result(). Also, note that specifying
 * a numeric offset for the field argument is much quicker than
 * specifying a fieldname or tablename.fieldname argument.
 *
 * Recommended high-performance alternatives: {@link sybase_fetch_row},
 * {@link sybase_fetch_array} and {@link sybase_fetch_object}.
 *
 * @param resource $result
 * @param int $row
 * @param mixed $field The field argument can be the field's offset, or
 *   the field's name, or the field's table dot field's name
 *   (tablename.fieldname). If the column name has been aliased ('select
 *   foo as bar from...'), use the alias instead of the column name.
 * @return string {@link sybase_result} returns the contents of one
 *   cell from a Sybase result set.
 * @since PHP 4, PHP 5
 **/
function sybase_result($result, $row, $field){}

/**
 * Selects a Sybase database
 *
 * {@link sybase_select_db} sets the current active database on the
 * server that's associated with the specified link identifier.
 *
 * Every subsequent call to {@link sybase_query} will be made on the
 * active database.
 *
 * @param string $database_name
 * @param resource $link_identifier If no link identifier is specified,
 *   the last opened link is assumed. If no link is open, the function
 *   will try to establish a link as if {@link sybase_connect} was
 *   called, and use it.
 * @return bool
 * @since PHP 4, PHP 5
 **/
function sybase_select_db($database_name, $link_identifier){}

/**
 * Sets the handler called when a server message is raised
 *
 * {@link sybase_set_message_handler} sets a user function to handle
 * messages generated by the server. You may specify the name of a global
 * function, or use an array to specify an object reference and a method
 * name.
 *
 * @param callable $handler The handler expects five arguments in the
 *   following order: message number, severity, state, line number and
 *   description. The first four are integers. The last is a string. If
 *   the function returns FALSE, PHP generates an ordinary error message.
 * @param resource $link_identifier If the link identifier isn't
 *   specified, the last opened link is assumed.
 * @return bool
 * @since PHP 4 >= 4.3.0, PHP 5
 **/
function sybase_set_message_handler($handler, $link_identifier){}

/**
 * Send a Sybase query and do not block
 *
 * {@link sybase_unbuffered_query} sends a query to the currently active
 * database on the server that's associated with the specified link
 * identifier. If the link identifier isn't specified, the last opened
 * link is assumed. If no link is open, the function tries to establish a
 * link as if {@link sybase_connect} was called, and use it.
 *
 * Unlike {@link sybase_query}, {@link sybase_unbuffered_query} reads
 * only the first row of the result set. {@link sybase_fetch_array} and
 * similar function read more rows as needed. {@link sybase_data_seek}
 * reads up to the target row. The behavior may produce better
 * performance for large result sets.
 *
 * {@link sybase_num_rows} will only return the correct number of rows if
 * all result sets have been read. To Sybase, the number of rows is not
 * known and is therefore computed by the client implementation.
 *
 * @param string $query
 * @param resource $link_identifier
 * @param bool $store_result The optional {@link store_result} can be
 *   FALSE to indicate the resultsets shouldn't be fetched into memory,
 *   thus minimizing memory usage which is particularly interesting with
 *   very large resultsets.
 * @return resource Returns a positive Sybase result identifier on
 *   success, or FALSE on error.
 * @since PHP 4 >= 4.3.0, PHP 5
 **/
function sybase_unbuffered_query($query, $link_identifier, $store_result){}

/**
 * Creates a symbolic link
 *
 * {@link symlink} creates a symbolic link to the existing {@link target}
 * with the specified name {@link link}.
 *
 * @param string $target Target of the link.
 * @param string $link The link name.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function symlink($target, $link){}

/**
 * Generate a system log message
 *
 * {@link syslog} generates a log message that will be distributed by the
 * system logger.
 *
 * For information on setting up a user defined log handler, see the
 * syslog.conf 5 Unix manual page. More information on the syslog
 * facilities and option can be found in the man pages for syslog 3 on
 * Unix machines.
 *
 * @param int $priority {@link priority} is a combination of the
 *   facility and the level. Possible values are: {@link syslog}
 *   Priorities (in descending order) Constant Description LOG_EMERG
 *   system is unusable LOG_ALERT action must be taken immediately
 *   LOG_CRIT critical conditions LOG_ERR error conditions LOG_WARNING
 *   warning conditions LOG_NOTICE normal, but significant, condition
 *   LOG_INFO informational message LOG_DEBUG debug-level message
 * @param string $message The message to send, except that the two
 *   characters %m will be replaced by the error message string
 *   (strerror) corresponding to the present value of errno.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function syslog($priority, $message){}

/**
 * Execute an external program and display the output
 *
 * {@link system} is just like the C version of the function in that it
 * executes the given {@link command} and outputs the result.
 *
 * The {@link system} call also tries to automatically flush the web
 * server's output buffer after each line of output if PHP is running as
 * a server module.
 *
 * If you need to execute a command and have all the data from the
 * command passed directly back without any interference, use the {@link
 * passthru} function.
 *
 * @param string $command The command that will be executed.
 * @param int $return_var If the {@link return_var} argument is
 *   present, then the return status of the executed command will be
 *   written to this variable.
 * @return string Returns the last line of the command output on
 *   success, and FALSE on failure.
 * @since PHP 4, PHP 5, PHP 7
 **/
function system($command, &$return_var){}

/**
 * Gets system load average
 *
 * Returns three samples representing the average system load (the number
 * of processes in the system run queue) over the last 1, 5 and 15
 * minutes, respectively.
 *
 * @return array Returns an array with three samples (last 1, 5 and 15
 *   minutes).
 * @since PHP 5 >= 5.1.3, PHP 7
 **/
function sys_getloadavg(){}

/**
 * Returns directory path used for temporary files
 *
 * Returns the path of the directory PHP stores temporary files in by
 * default.
 *
 * @return string Returns the path of the temporary directory.
 * @since PHP 5 >= 5.2.1, PHP 7
 **/
function sys_get_temp_dir(){}

/**
 * Taint a string
 *
 * Make a string tainted. This is used for testing purpose only.
 *
 * @param string $string
 * @return bool Return TRUE if the transformation is done. Always
 *   return TRUE if the taint extension is not enabled.
 * @since PECL taint >=0.1.0
 **/
function taint(&$string){}

/**
 * Tangent
 *
 * {@link tan} returns the tangent of the {@link arg} parameter. The
 * {@link arg} parameter is in radians.
 *
 * @param float $arg The argument to process in radians
 * @return float The tangent of {@link arg}
 * @since PHP 4, PHP 5, PHP 7
 **/
function tan($arg){}

/**
 * Hyperbolic tangent
 *
 * Returns the hyperbolic tangent of {@link arg}, defined as
 * sinh(arg)/cosh(arg).
 *
 * @param float $arg The argument to process
 * @return float The hyperbolic tangent of {@link arg}
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function tanh($arg){}

/**
 * Performs a tcpwrap check
 *
 * This function consults the /etc/hosts.allow and /etc/hosts.deny files
 * to check if access to service {@link daemon} should be granted or
 * denied for a client.
 *
 * @param string $daemon The service name.
 * @param string $address The client remote address. Can be either an
 *   IP address or a domain name.
 * @param string $user An optional user name.
 * @param bool $nodns If {@link address} looks like domain name then
 *   DNS is used to resolve it to IP address; set {@link nodns} to TRUE
 *   to avoid this.
 * @return bool This function returns TRUE if access should be granted,
 *   FALSE otherwise.
 * @since PECL tcpwrap >= 0.1.0
 **/
function tcpwrap_check($daemon, $address, $user, $nodns){}

/**
 * Create file with unique file name
 *
 * Creates a file with a unique filename, with access permission set to
 * 0600, in the specified directory. If the directory does not exist or
 * is not writable, {@link tempnam} may generate a file in the system's
 * temporary directory, and return the full path to that file, including
 * its name.
 *
 * @param string $dir The directory where the temporary filename will
 *   be created.
 * @param string $prefix The prefix of the generated temporary
 *   filename.
 * @return string Returns the new temporary filename (with path), or
 *   FALSE on failure.
 * @since PHP 4, PHP 5, PHP 7
 **/
function tempnam($dir, $prefix){}

/**
 * Sets the default domain
 *
 * This function sets the domain to search within when calls are made to
 * {@link gettext}, usually the named after an application.
 *
 * @param string $text_domain The new message domain, or NULL to get
 *   the current setting without changing it
 * @return string If successful, this function returns the current
 *   message domain, after possibly changing it.
 * @since PHP 4, PHP 5, PHP 7
 **/
function textdomain($text_domain){}

/**
 * Returns the Number of Tidy accessibility warnings encountered for
 * specified document
 *
 * {@link tidy_access_count} returns the number of accessibility warnings
 * found for the specified document.
 *
 * @param tidy $object
 * @return int Returns the number of warnings.
 * @since PHP 5, PHP 7, PECL tidy >= 0.5.2
 **/
function tidy_access_count($object){}

/**
 * Execute configured cleanup and repair operations on parsed markup
 *
 * This function cleans and repairs the given tidy {@link object}.
 *
 * @param tidy $object
 * @return bool
 * @since PHP 5, PHP 7, PECL tidy >= 0.5.2
 **/
function tidy_clean_repair($object){}

/**
 * Returns the Number of Tidy configuration errors encountered for
 * specified document
 *
 * Returns the number of errors encountered in the configuration of the
 * specified tidy {@link object}.
 *
 * @param tidy $object
 * @return int Returns the number of errors.
 * @since PHP 5, PHP 7, PECL tidy >= 0.5.2
 **/
function tidy_config_count($object){}

/**
 * Run configured diagnostics on parsed and repaired markup
 *
 * Runs diagnostic tests on the given tidy {@link object}, adding some
 * more information about the document in the error buffer.
 *
 * @param tidy $object
 * @return bool
 * @since PHP 5, PHP 7, PECL tidy >= 0.5.2
 **/
function tidy_diagnose($object){}

/**
 * Returns the Number of Tidy errors encountered for specified document
 *
 * Returns the number of Tidy errors encountered for the specified
 * document.
 *
 * @param tidy $object
 * @return int Returns the number of errors.
 * @since PHP 5, PHP 7, PECL tidy >= 0.5.2
 **/
function tidy_error_count($object){}

/**
 * Returns the value of the specified configuration option for the tidy
 * document
 *
 * Returns the value of the specified {@link option} for the specified
 * tidy {@link object}.
 *
 * @param tidy $object
 * @param string $option You will find a list with each configuration
 *   option and their types at: .
 * @return mixed Returns the value of the specified {@link option}. The
 *   return type depends on the type of the specified one.
 * @since PHP 5, PHP 7, PECL tidy >= 0.5.2
 **/
function tidy_getopt($object, $option){}

/**
 * Returns a object starting from the tag of the tidy parse tree
 *
 * Returns a tidyNode object starting from the <body> tag of the tidy
 * parse tree.
 *
 * @param tidy $object
 * @return tidyNode Returns a tidyNode object starting from the <body>
 *   tag of the tidy parse tree.
 * @since PHP 5, PHP 7, PECL tidy 0.5.2-1.0
 **/
function tidy_get_body($object){}

/**
 * Get current Tidy configuration
 *
 * Gets the list of the configuration options in use by the given tidy
 * {@link object}.
 *
 * @param tidy $object
 * @return array Returns an array of configuration options.
 * @since PHP 5, PHP 7, PECL tidy >= 0.7.0
 **/
function tidy_get_config($object){}

/**
 * Return warnings and errors which occurred parsing the specified
 * document
 *
 * (property):
 *
 * Returns warnings and errors which occurred parsing the specified
 * document.
 *
 * @param tidy $tidy
 * @return string Returns the error buffer as a string.
 * @since PHP 5, PHP 7, PECL tidy >= 0.5.2
 **/
function tidy_get_error_buffer($tidy){}

/**
 * Returns a object starting from the tag of the tidy parse tree
 *
 * Returns a tidyNode object starting from the <head> tag of the tidy
 * parse tree.
 *
 * @param tidy $object
 * @return tidyNode Returns the tidyNode object.
 * @since PHP 5, PHP 7, PECL tidy 0.5.2-1.0.0
 **/
function tidy_get_head($object){}

/**
 * Returns a object starting from the tag of the tidy parse tree
 *
 * Returns a tidyNode object starting from the <html> tag of the tidy
 * parse tree.
 *
 * @param tidy $object
 * @return tidyNode Returns the tidyNode object.
 * @since PHP 5, PHP 7, PECL tidy 0.5.2-1.0.0
 **/
function tidy_get_html($object){}

/**
 * Get the Detected HTML version for the specified document
 *
 * Returns the detected HTML version for the specified tidy {@link
 * object}.
 *
 * @param tidy $object
 * @return int Returns the detected HTML version.
 * @since PHP 5, PHP 7, PECL tidy >= 0.5.2
 **/
function tidy_get_html_ver($object){}

/**
 * Returns the documentation for the given option name
 *
 * {@link tidy_get_opt_doc} returns the documentation for the given
 * option name.
 *
 * @param tidy $object
 * @param string $optname The option name
 * @return string Returns a string if the option exists and has
 *   documentation available, or FALSE otherwise.
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function tidy_get_opt_doc($object, $optname){}

/**
 * Return a string representing the parsed tidy markup
 *
 * Gets a string with the repaired html.
 *
 * @param tidy $object
 * @return string Returns the parsed tidy markup.
 * @since PHP 5, PHP 7, PECL tidy >= 0.5.2
 **/
function tidy_get_output($object){}

/**
 * Get release date (version) for Tidy library
 *
 * Gets the release date of the Tidy library.
 *
 * @return string Returns a string with the release date of the Tidy
 *   library.
 * @since PHP 5, PHP 7, PECL tidy >= 0.5.2
 **/
function tidy_get_release(){}

/**
 * Returns a object representing the root of the tidy parse tree
 *
 * Returns a tidyNode object representing the root of the tidy parse
 * tree.
 *
 * @param tidy $object
 * @return tidyNode Returns the tidyNode object.
 * @since PHP 5, PHP 7, PECL tidy 0.5.2-1.0.0
 **/
function tidy_get_root($object){}

/**
 * Get status of specified document
 *
 * Returns the status for the specified tidy {@link object}.
 *
 * @param tidy $object
 * @return int Returns 0 if no error/warning was raised, 1 for warnings
 *   or accessibility errors, or 2 for errors.
 * @since PHP 5, PHP 7, PECL tidy >= 0.5.2
 **/
function tidy_get_status($object){}

/**
 * Indicates if the document is a XHTML document
 *
 * Tells if the document is a XHTML document.
 *
 * @param tidy $object
 * @return bool This function returns TRUE if the specified tidy {@link
 *   object} is a XHTML document, or FALSE otherwise.
 * @since PHP 5, PHP 7, PECL tidy >= 0.5.2
 **/
function tidy_is_xhtml($object){}

/**
 * Indicates if the document is a generic (non HTML/XHTML) XML document
 *
 * Tells if the document is a generic (non HTML/XHTML) XML document.
 *
 * @param tidy $object
 * @return bool This function returns TRUE if the specified tidy {@link
 *   object} is a generic XML document (non HTML/XHTML), or FALSE
 *   otherwise.
 * @since PHP 5, PHP 7, PECL tidy >= 0.5.2
 **/
function tidy_is_xml($object){}

/**
 * Load an ASCII Tidy configuration file with the specified encoding
 *
 * Loads a Tidy configuration file, with the specified {@link encoding}.
 *
 * @param string $filename
 * @param string $encoding
 * @return void
 * @since PECL tidy >= 0.5.2
 **/
function tidy_load_config($filename, $encoding){}

/**
 * Parse markup in file or URI
 *
 * Parses the given file.
 *
 * @param string $filename If the {@link filename} parameter is given,
 *   this function will also read that file and initialize the object
 *   with the file, acting like {@link tidy_parse_file}.
 * @param mixed $config The config {@link config} can be passed either
 *   as an array or as a string. If a string is passed, it is interpreted
 *   as the name of the configuration file, otherwise, it is interpreted
 *   as the options themselves. For an explanation about each option, see
 *   .
 * @param string $encoding The {@link encoding} parameter sets the
 *   encoding for input/output documents. The possible values for
 *   encoding are: ascii, latin0, latin1, raw, utf8, iso2022, mac,
 *   win1252, ibm858, utf16, utf16le, utf16be, big5, and shiftjis.
 * @param bool $use_include_path Search for the file in the
 *   include_path.
 * @return tidy
 * @since PHP 5, PHP 7, PECL tidy >= 0.5.2
 **/
function tidy_parse_file($filename, $config, $encoding, $use_include_path){}

/**
 * Parse a document stored in a string
 *
 * Parses a document stored in a string.
 *
 * @param string $input The data to be parsed.
 * @param mixed $config The config {@link config} can be passed either
 *   as an array or as a string. If a string is passed, it is interpreted
 *   as the name of the configuration file, otherwise, it is interpreted
 *   as the options themselves. For an explanation about each option,
 *   visit .
 * @param string $encoding The {@link encoding} parameter sets the
 *   encoding for input/output documents. The possible values for
 *   encoding are: ascii, latin0, latin1, raw, utf8, iso2022, mac,
 *   win1252, ibm858, utf16, utf16le, utf16be, big5, and shiftjis.
 * @return tidy Returns a new tidy instance.
 * @since PHP 5, PHP 7, PECL tidy >= 0.5.2
 **/
function tidy_parse_string($input, $config, $encoding){}

/**
 * Repair a file and return it as a string
 *
 * Repairs the given file and returns it as a string.
 *
 * @param string $filename The file to be repaired.
 * @param mixed $config The config {@link config} can be passed either
 *   as an array or as a string. If a string is passed, it is interpreted
 *   as the name of the configuration file, otherwise, it is interpreted
 *   as the options themselves. Check
 *   http://tidy.sourceforge.net/docs/quickref.html for an explanation
 *   about each option.
 * @param string $encoding The {@link encoding} parameter sets the
 *   encoding for input/output documents. The possible values for
 *   encoding are: ascii, latin0, latin1, raw, utf8, iso2022, mac,
 *   win1252, ibm858, utf16, utf16le, utf16be, big5, and shiftjis.
 * @param bool $use_include_path Search for the file in the
 *   include_path.
 * @return string Returns the repaired contents as a string.
 * @since PHP 5, PHP 7, PECL tidy >= 0.7.0
 **/
function tidy_repair_file($filename, $config, $encoding, $use_include_path){}

/**
 * Repair a string using an optionally provided configuration file
 *
 * Repairs the given string.
 *
 * @param string $data The data to be repaired.
 * @param mixed $config The config {@link config} can be passed either
 *   as an array or as a string. If a string is passed, it is interpreted
 *   as the name of the configuration file, otherwise, it is interpreted
 *   as the options themselves. Check for an explanation about each
 *   option.
 * @param string $encoding The {@link encoding} parameter sets the
 *   encoding for input/output documents. The possible values for
 *   encoding are: ascii, latin0, latin1, raw, utf8, iso2022, mac,
 *   win1252, ibm858, utf16, utf16le, utf16be, big5, and shiftjis.
 * @return string Returns the repaired string.
 * @since PHP 5, PHP 7, PECL tidy >= 0.7.0
 **/
function tidy_repair_string($data, $config, $encoding){}

/**
 * Restore Tidy configuration to default values
 *
 * This function restores the Tidy configuration to the default values.
 *
 * @return bool
 * @since PHP 5 < 5.2.0, PECL tidy >= 0.7.0
 **/
function tidy_reset_config(){}

/**
 * Save current settings to named file
 *
 * Saves current settings to the specified file. Only non-default values
 * are written.
 *
 * @param string $filename Path to the config file.
 * @return bool
 * @since PECL tidy >= 0.5.2
 **/
function tidy_save_config($filename){}

/**
 * Updates the configuration settings for the specified tidy document
 *
 * {@link tidy_setopt} updates the specified {@link option} with a new
 * {@link value}.
 *
 * @param string $option The tidy option name. A list of available
 *   configuration options may be found at: .
 * @param mixed $value The tidy option name.
 * @return bool
 * @since PECL tidy >= 0.5.2
 **/
function tidy_setopt($option, $value){}

/**
 * Set the input/output character encoding for parsing markup
 *
 * Sets the encoding for input/output documents.
 *
 * @param string $encoding The {@link encoding} parameter sets the
 *   encoding for input/output documents. The possible values for
 *   encoding are: ascii, latin0, latin1, raw, utf8, iso2022, mac,
 *   win1252, ibm858, utf16, utf16le, utf16be, big5, and shiftjis.
 * @return bool
 * @since PECL tidy >= 0.5.2
 **/
function tidy_set_encoding($encoding){}

/**
 * Returns the Number of Tidy warnings encountered for specified document
 *
 * Returns the number of Tidy warnings encountered for the specified
 * document.
 *
 * @param tidy $object
 * @return int Returns the number of warnings.
 * @since PHP 5, PHP 7, PECL tidy >= 0.5.2
 **/
function tidy_warning_count($object){}

/**
 * Return current Unix timestamp
 *
 * Returns the current time measured in the number of seconds since the
 * Unix Epoch (January 1 1970 00:00:00 GMT).
 *
 * @return int
 * @since PHP 4, PHP 5, PHP 7
 **/
function time(){}

/**
 * Returns associative array containing dst, offset and the timezone name
 *
 * @return array Returns array on success.
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function timezone_abbreviations_list(){}

/**
 * Returns a numerically indexed array containing all defined timezone
 * identifiers
 *
 * @param int $what One of DateTimeZone class constants.
 * @param string $country A two-letter ISO 3166-1 compatible country
 *   code.
 * @return array Returns array on success.
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function timezone_identifiers_list($what, $country){}

/**
 * Returns location information for a timezone
 *
 * Returns location information for a timezone, including country code,
 * latitude/longitude and comments.
 *
 * @param DateTimeZone $object
 * @return array Array containing location information about timezone.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function timezone_location_get($object){}

/**
 * Returns the timezone name from abbreviation
 *
 * @param string $abbr Time zone abbreviation.
 * @param int $gmtOffset Offset from GMT in seconds. Defaults to -1
 *   which means that first found time zone corresponding to {@link abbr}
 *   is returned. Otherwise exact offset is searched and only if not
 *   found then the first time zone with any offset is returned.
 * @param int $isdst Daylight saving time indicator. Defaults to -1,
 *   which means that whether the time zone has daylight saving or not is
 *   not taken into consideration when searching. If this is set to 1,
 *   then the {@link gmtOffset} is assumed to be an offset with daylight
 *   saving in effect; if 0, then {@link gmtOffset} is assumed to be an
 *   offset without daylight saving in effect. If {@link abbr} doesn't
 *   exist then the time zone is searched solely by the {@link gmtOffset}
 *   and {@link isdst}.
 * @return string Returns time zone name on success.
 * @since PHP 5 >= 5.1.3, PHP 7
 **/
function timezone_name_from_abbr($abbr, $gmtOffset, $isdst){}

/**
 * Returns the name of the timezone
 *
 * @param DateTimeZone $object The DateTimeZone for which to get a
 *   name.
 * @return string One of the timezone names in the list of timezones.
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function timezone_name_get($object){}

/**
 * Returns the timezone offset from GMT
 *
 * This function returns the offset to GMT for the date/time specified in
 * the {@link datetime} parameter. The GMT offset is calculated with the
 * timezone information contained in the DateTimeZone object being used.
 *
 * @param DateTimeZone $object DateTime that contains the date/time to
 *   compute the offset from.
 * @param DateTime $datetime
 * @return int Returns time zone offset in seconds on success.
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function timezone_offset_get($object, $datetime){}

/**
 * Creates new DateTimeZone object
 *
 * @param string $timezone One of the supported timezone names or an
 *   offset value (+0200).
 * @return DateTimeZone Returns DateTimeZone on success.
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function timezone_open($timezone){}

/**
 * Returns all transitions for the timezone
 *
 * @param DateTimeZone $object Begin timestamp.
 * @param int $timestamp_begin End timestamp.
 * @param int $timestamp_end
 * @return array Returns numerically indexed array containing
 *   associative array with all transitions on success.
 * @since PHP 5 >= 5.2.0, PHP 7
 **/
function timezone_transitions_get($object, $timestamp_begin, $timestamp_end){}

/**
 * Gets the version of the timezonedb
 *
 * Returns the current version of the timezonedb.
 *
 * @return string Returns a string.
 * @since PHP 5 >= 5.3.0, PHP 7
 **/
function timezone_version_get(){}

/**
 * Delay for a number of seconds and nanoseconds
 *
 * Delays program execution for the given number of {@link seconds} and
 * {@link nanoseconds}.
 *
 * @param int $seconds Must be a non-negative integer.
 * @param int $nanoseconds Must be a non-negative integer less than 1
 *   billion.
 * @return mixed
 * @since PHP 5, PHP 7
 **/
function time_nanosleep($seconds, $nanoseconds){}

/**
 * Make the script sleep until the specified time
 *
 * Makes the script sleep until the specified {@link timestamp}.
 *
 * @param float $timestamp The timestamp when the script should wake.
 * @return bool
 * @since PHP 5 >= 5.1.0, PHP 7
 **/
function time_sleep_until($timestamp){}

/**
 * Creates a temporary file
 *
 * Creates a temporary file with a unique name in read-write (w+) mode
 * and returns a file handle .
 *
 * The file is automatically removed when closed (for example, by calling
 * {@link fclose}, or when there are no remaining references to the file
 * handle returned by {@link tmpfile}), or when the script ends.
 *
 * For details, consult your system documentation on the tmpfile(3)
 * function, as well as the stdio.h header file.
 *
 * @return resource Returns a file handle, similar to the one returned
 *   by {@link fopen}, for the new file.
 * @since PHP 4, PHP 5, PHP 7
 **/
function tmpfile(){}

/**
 * Split given source into PHP tokens
 *
 * {@link token_get_all} parses the given {@link source} string into PHP
 * language tokens using the Zend engines lexical scanner.
 *
 * For a list of parser tokens, see , or use {@link token_name} to
 * translate a token value into its string representation.
 *
 * @param string $source The PHP source to parse.
 * @param int $flags Valid flags: TOKEN_PARSE - Recognises the ability
 *   to use reserved words in specific contexts.
 * @return array An array of token identifiers. Each individual token
 *   identifier is either a single character (i.e.: ;, ., >, !, etc...),
 *   or a three element array containing the token index in element 0,
 *   the string content of the original token in element 1 and the line
 *   number in element 2.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function token_get_all($source, $flags){}

/**
 * Get the symbolic name of a given PHP token
 *
 * {@link token_name} gets the symbolic name for a PHP {@link token}
 * value.
 *
 * @param int $token The token value.
 * @return string The symbolic name of the given {@link token}.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function token_name($token){}

/**
 * Sets access and modification time of file
 *
 * Attempts to set the access and modification times of the file named in
 * the {@link filename} parameter to the value given in {@link time}.
 * Note that the access time is always modified, regardless of the number
 * of parameters.
 *
 * If the file does not exist, it will be created.
 *
 * @param string $filename The name of the file being touched.
 * @param int $time The touch time. If {@link time} is not supplied,
 *   the current system time is used.
 * @param int $atime If present, the access time of the given filename
 *   is set to the value of {@link atime}. Otherwise, it is set to the
 *   value passed to the {@link time} parameter. If neither are present,
 *   the current system time is used.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function touch($filename, $time, $atime){}

/**
 * Vector Trigonometric ACos
 *
 * Calculates the arc cosine for each value in {@link real} and returns
 * the resulting array.
 *
 * @param array $real
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_acos($real){}

/**
 * Chaikin A/D Line
 *
 * @param array $high
 * @param array $low
 * @param array $close
 * @param array $volume
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_ad($high, $low, $close, $volume){}

/**
 * Vector Arithmetic Add
 *
 * Calculates the vector addition of {@link real0} to {@link real1} and
 * returns the resulting vector.
 *
 * @param array $real0
 * @param array $real1
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_add($real0, $real1){}

/**
 * Chaikin A/D Oscillator
 *
 * @param array $high
 * @param array $low
 * @param array $close
 * @param array $volume
 * @param int $fastPeriod
 * @param int $slowPeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_adosc($high, $low, $close, $volume, $fastPeriod, $slowPeriod){}

/**
 * Average Directional Movement Index
 *
 * @param array $high
 * @param array $low
 * @param array $close
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_adx($high, $low, $close, $timePeriod){}

/**
 * Average Directional Movement Index Rating
 *
 * @param array $high
 * @param array $low
 * @param array $close
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_adxr($high, $low, $close, $timePeriod){}

/**
 * Absolute Price Oscillator
 *
 * @param array $real
 * @param int $fastPeriod
 * @param int $slowPeriod
 * @param int $mAType
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_apo($real, $fastPeriod, $slowPeriod, $mAType){}

/**
 * Aroon
 *
 * @param array $high
 * @param array $low
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_aroon($high, $low, $timePeriod){}

/**
 * Aroon Oscillator
 *
 * @param array $high
 * @param array $low
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_aroonosc($high, $low, $timePeriod){}

/**
 * Vector Trigonometric ASin
 *
 * Calculates the arc sine for each value in {@link real} and returns the
 * resulting array.
 *
 * @param array $real
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_asin($real){}

/**
 * Vector Trigonometric ATan
 *
 * Calculates the arc tangent for each value in {@link real} and returns
 * the resulting array.
 *
 * @param array $real
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_atan($real){}

/**
 * Average True Range
 *
 * @param array $high
 * @param array $low
 * @param array $close
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_atr($high, $low, $close, $timePeriod){}

/**
 * Average Price
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_avgprice($open, $high, $low, $close){}

/**
 * Bollinger Bands
 *
 * @param array $real
 * @param int $timePeriod
 * @param float $nbDevUp
 * @param float $nbDevDn
 * @param int $mAType
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_bbands($real, $timePeriod, $nbDevUp, $nbDevDn, $mAType){}

/**
 * Beta
 *
 * @param array $real0
 * @param array $real1
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_beta($real0, $real1, $timePeriod){}

/**
 * Balance Of Power
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_bop($open, $high, $low, $close){}

/**
 * Commodity Channel Index
 *
 * @param array $high
 * @param array $low
 * @param array $close
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cci($high, $low, $close, $timePeriod){}

/**
 * Two Crows
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdl2crows($open, $high, $low, $close){}

/**
 * Three Black Crows
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdl3blackcrows($open, $high, $low, $close){}

/**
 * Three Inside Up/Down
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdl3inside($open, $high, $low, $close){}

/**
 * Three-Line Strike
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdl3linestrike($open, $high, $low, $close){}

/**
 * Three Outside Up/Down
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdl3outside($open, $high, $low, $close){}

/**
 * Three Stars In The South
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdl3starsinsouth($open, $high, $low, $close){}

/**
 * Three Advancing White Soldiers
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdl3whitesoldiers($open, $high, $low, $close){}

/**
 * Abandoned Baby
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @param float $penetration
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlabandonedbaby($open, $high, $low, $close, $penetration){}

/**
 * Advance Block
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdladvanceblock($open, $high, $low, $close){}

/**
 * Belt-hold
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlbelthold($open, $high, $low, $close){}

/**
 * Breakaway
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlbreakaway($open, $high, $low, $close){}

/**
 * Closing Marubozu
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlclosingmarubozu($open, $high, $low, $close){}

/**
 * Concealing Baby Swallow
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlconcealbabyswall($open, $high, $low, $close){}

/**
 * Counterattack
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlcounterattack($open, $high, $low, $close){}

/**
 * Dark Cloud Cover
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @param float $penetration
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdldarkcloudcover($open, $high, $low, $close, $penetration){}

/**
 * Doji
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdldoji($open, $high, $low, $close){}

/**
 * Doji Star
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdldojistar($open, $high, $low, $close){}

/**
 * Dragonfly Doji
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdldragonflydoji($open, $high, $low, $close){}

/**
 * Engulfing Pattern
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlengulfing($open, $high, $low, $close){}

/**
 * Evening Doji Star
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @param float $penetration
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdleveningdojistar($open, $high, $low, $close, $penetration){}

/**
 * Evening Star
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @param float $penetration
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdleveningstar($open, $high, $low, $close, $penetration){}

/**
 * Up/Down-gap side-by-side white lines
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlgapsidesidewhite($open, $high, $low, $close){}

/**
 * Gravestone Doji
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlgravestonedoji($open, $high, $low, $close){}

/**
 * Hammer
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlhammer($open, $high, $low, $close){}

/**
 * Hanging Man
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlhangingman($open, $high, $low, $close){}

/**
 * Harami Pattern
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlharami($open, $high, $low, $close){}

/**
 * Harami Cross Pattern
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlharamicross($open, $high, $low, $close){}

/**
 * High-Wave Candle
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlhighwave($open, $high, $low, $close){}

/**
 * Hikkake Pattern
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlhikkake($open, $high, $low, $close){}

/**
 * Modified Hikkake Pattern
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlhikkakemod($open, $high, $low, $close){}

/**
 * Homing Pigeon
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlhomingpigeon($open, $high, $low, $close){}

/**
 * Identical Three Crows
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlidentical3crows($open, $high, $low, $close){}

/**
 * In-Neck Pattern
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlinneck($open, $high, $low, $close){}

/**
 * Inverted Hammer
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlinvertedhammer($open, $high, $low, $close){}

/**
 * Kicking
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlkicking($open, $high, $low, $close){}

/**
 * Kicking - bull/bear determined by the longer marubozu
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlkickingbylength($open, $high, $low, $close){}

/**
 * Ladder Bottom
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlladderbottom($open, $high, $low, $close){}

/**
 * Long Legged Doji
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdllongleggeddoji($open, $high, $low, $close){}

/**
 * Long Line Candle
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdllongline($open, $high, $low, $close){}

/**
 * Marubozu
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlmarubozu($open, $high, $low, $close){}

/**
 * Matching Low
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlmatchinglow($open, $high, $low, $close){}

/**
 * Mat Hold
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @param float $penetration
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlmathold($open, $high, $low, $close, $penetration){}

/**
 * Morning Doji Star
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @param float $penetration
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlmorningdojistar($open, $high, $low, $close, $penetration){}

/**
 * Morning Star
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @param float $penetration
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlmorningstar($open, $high, $low, $close, $penetration){}

/**
 * On-Neck Pattern
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlonneck($open, $high, $low, $close){}

/**
 * Piercing Pattern
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlpiercing($open, $high, $low, $close){}

/**
 * Rickshaw Man
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlrickshawman($open, $high, $low, $close){}

/**
 * Rising/Falling Three Methods
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlrisefall3methods($open, $high, $low, $close){}

/**
 * Separating Lines
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlseparatinglines($open, $high, $low, $close){}

/**
 * Shooting Star
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlshootingstar($open, $high, $low, $close){}

/**
 * Short Line Candle
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlshortline($open, $high, $low, $close){}

/**
 * Spinning Top
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlspinningtop($open, $high, $low, $close){}

/**
 * Stalled Pattern
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlstalledpattern($open, $high, $low, $close){}

/**
 * Stick Sandwich
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlsticksandwich($open, $high, $low, $close){}

/**
 * Takuri (Dragonfly Doji with very long lower shadow)
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdltakuri($open, $high, $low, $close){}

/**
 * Tasuki Gap
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdltasukigap($open, $high, $low, $close){}

/**
 * Thrusting Pattern
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlthrusting($open, $high, $low, $close){}

/**
 * Tristar Pattern
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdltristar($open, $high, $low, $close){}

/**
 * Unique 3 River
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlunique3river($open, $high, $low, $close){}

/**
 * Upside Gap Two Crows
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlupsidegap2crows($open, $high, $low, $close){}

/**
 * Upside/Downside Gap Three Methods
 *
 * @param array $open
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cdlxsidegap3methods($open, $high, $low, $close){}

/**
 * Vector Ceil
 *
 * Calculates the next highest integer for each value in {@link real} and
 * returns the resulting array.
 *
 * @param array $real
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_ceil($real){}

/**
 * Chande Momentum Oscillator
 *
 * @param array $real
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cmo($real, $timePeriod){}

/**
 * Pearson's Correlation Coefficient (r)
 *
 * @param array $real0
 * @param array $real1
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_correl($real0, $real1, $timePeriod){}

/**
 * Vector Trigonometric Cos
 *
 * Calculates the cosine for each value in {@link real} and returns the
 * resulting array.
 *
 * @param array $real
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cos($real){}

/**
 * Vector Trigonometric Cosh
 *
 * Calculates the hyperbolic cosine for each value in {@link real} and
 * returns the resulting array.
 *
 * @param array $real
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_cosh($real){}

/**
 * Double Exponential Moving Average
 *
 * @param array $real
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_dema($real, $timePeriod){}

/**
 * Vector Arithmetic Div
 *
 * Divides each value from {@link real0} by the corresponding value from
 * {@link real1} and returns the resulting array.
 *
 * @param array $real0
 * @param array $real1
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_div($real0, $real1){}

/**
 * Directional Movement Index
 *
 * @param array $high
 * @param array $low
 * @param array $close
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_dx($high, $low, $close, $timePeriod){}

/**
 * Exponential Moving Average
 *
 * @param array $real
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_ema($real, $timePeriod){}

/**
 * Get error code
 *
 * Get error code of the last operation.
 *
 * @return int Returns the error code identified by one of the
 *   TRADER_ERR_* constants.
 * @since PECL trader >= 0.3.0
 **/
function trader_errno(){}

/**
 * Vector Arithmetic Exp
 *
 * Calculates e raised to the power of each value in {@link real}.
 * Returns an array with the calculated data.
 *
 * @param array $real
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_exp($real){}

/**
 * Vector Floor
 *
 * Calculates the next lowest integer for each value in {@link real} and
 * returns the resulting array.
 *
 * @param array $real
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_floor($real){}

/**
 * Get compatibility mode
 *
 * Get compatibility mode which affects the way calculations are done by
 * all the extension functions.
 *
 * @return int Returns the compatibility mode id which can be
 *   identified by TRADER_COMPATIBILITY_* series of constants.
 * @since PECL trader >= 0.2.2
 **/
function trader_get_compat(){}

/**
 * Get unstable period
 *
 * Get unstable period factor for a particular function.
 *
 * @param int $functionId Function ID the factor to be read for.
 *   TRADER_FUNC_UNST_* series of constants should be used.
 * @return int Returns the unstable period factor for the corresponding
 *   function.
 * @since PECL trader >= 0.2.2
 **/
function trader_get_unstable_period($functionId){}

/**
 * Hilbert Transform - Dominant Cycle Period
 *
 * @param array $real
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_ht_dcperiod($real){}

/**
 * Hilbert Transform - Dominant Cycle Phase
 *
 * @param array $real
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_ht_dcphase($real){}

/**
 * Hilbert Transform - Phasor Components
 *
 * @param array $real
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_ht_phasor($real){}

/**
 * Hilbert Transform - SineWave
 *
 * @param array $real
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_ht_sine($real){}

/**
 * Hilbert Transform - Instantaneous Trendline
 *
 * @param array $real
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_ht_trendline($real){}

/**
 * Hilbert Transform - Trend vs Cycle Mode
 *
 * @param array $real
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_ht_trendmode($real){}

/**
 * Kaufman Adaptive Moving Average
 *
 * @param array $real
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_kama($real, $timePeriod){}

/**
 * Linear Regression
 *
 * @param array $real
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_linearreg($real, $timePeriod){}

/**
 * Linear Regression Angle
 *
 * @param array $real
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_linearreg_angle($real, $timePeriod){}

/**
 * Linear Regression Intercept
 *
 * @param array $real
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_linearreg_intercept($real, $timePeriod){}

/**
 * Linear Regression Slope
 *
 * @param array $real
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_linearreg_slope($real, $timePeriod){}

/**
 * Vector Log Natural
 *
 * Calculates the natural logarithm for each value in {@link real} and
 * returns the resulting array.
 *
 * @param array $real
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_ln($real){}

/**
 * Vector Log10
 *
 * Calculates the base-10 logarithm for each value in {@link real} and
 * returns the resulting array.
 *
 * @param array $real
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_log10($real){}

/**
 * Moving average
 *
 * @param array $real
 * @param int $timePeriod
 * @param int $mAType
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_ma($real, $timePeriod, $mAType){}

/**
 * Moving Average Convergence/Divergence
 *
 * @param array $real
 * @param int $fastPeriod
 * @param int $slowPeriod
 * @param int $signalPeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_macd($real, $fastPeriod, $slowPeriod, $signalPeriod){}

/**
 * MACD with controllable MA type
 *
 * @param array $real
 * @param int $fastPeriod
 * @param int $fastMAType
 * @param int $slowPeriod
 * @param int $slowMAType
 * @param int $signalPeriod
 * @param int $signalMAType
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_macdext($real, $fastPeriod, $fastMAType, $slowPeriod, $slowMAType, $signalPeriod, $signalMAType){}

/**
 * Moving Average Convergence/Divergence Fix 12/26
 *
 * @param array $real
 * @param int $signalPeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_macdfix($real, $signalPeriod){}

/**
 * MESA Adaptive Moving Average
 *
 * @param array $real
 * @param float $fastLimit
 * @param float $slowLimit
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_mama($real, $fastLimit, $slowLimit){}

/**
 * Moving average with variable period
 *
 * @param array $real
 * @param array $periods
 * @param int $minPeriod
 * @param int $maxPeriod
 * @param int $mAType
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_mavp($real, $periods, $minPeriod, $maxPeriod, $mAType){}

/**
 * Highest value over a specified period
 *
 * @param array $real
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_max($real, $timePeriod){}

/**
 * Index of highest value over a specified period
 *
 * @param array $real
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_maxindex($real, $timePeriod){}

/**
 * Median Price
 *
 * @param array $high
 * @param array $low
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_medprice($high, $low){}

/**
 * Money Flow Index
 *
 * @param array $high
 * @param array $low
 * @param array $close
 * @param array $volume
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_mfi($high, $low, $close, $volume, $timePeriod){}

/**
 * MidPoint over period
 *
 * @param array $real
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_midpoint($real, $timePeriod){}

/**
 * Midpoint Price over period
 *
 * @param array $high
 * @param array $low
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_midprice($high, $low, $timePeriod){}

/**
 * Lowest value over a specified period
 *
 * @param array $real
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_min($real, $timePeriod){}

/**
 * Index of lowest value over a specified period
 *
 * @param array $real
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_minindex($real, $timePeriod){}

/**
 * Lowest and highest values over a specified period
 *
 * @param array $real
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_minmax($real, $timePeriod){}

/**
 * Indexes of lowest and highest values over a specified period
 *
 * @param array $real
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_minmaxindex($real, $timePeriod){}

/**
 * Minus Directional Indicator
 *
 * @param array $high
 * @param array $low
 * @param array $close
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_minus_di($high, $low, $close, $timePeriod){}

/**
 * Minus Directional Movement
 *
 * @param array $high
 * @param array $low
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_minus_dm($high, $low, $timePeriod){}

/**
 * Momentum
 *
 * @param array $real
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_mom($real, $timePeriod){}

/**
 * Vector Arithmetic Mult
 *
 * Calculates the vector dot product of {@link real0} with {@link real1}
 * and returns the resulting vector.
 *
 * @param array $real0
 * @param array $real1
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_mult($real0, $real1){}

/**
 * Normalized Average True Range
 *
 * @param array $high
 * @param array $low
 * @param array $close
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_natr($high, $low, $close, $timePeriod){}

/**
 * On Balance Volume
 *
 * @param array $real
 * @param array $volume
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_obv($real, $volume){}

/**
 * Plus Directional Indicator
 *
 * @param array $high
 * @param array $low
 * @param array $close
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_plus_di($high, $low, $close, $timePeriod){}

/**
 * Plus Directional Movement
 *
 * @param array $high
 * @param array $low
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_plus_dm($high, $low, $timePeriod){}

/**
 * Percentage Price Oscillator
 *
 * @param array $real
 * @param int $fastPeriod
 * @param int $slowPeriod
 * @param int $mAType
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_ppo($real, $fastPeriod, $slowPeriod, $mAType){}

/**
 * Rate of change : ((price/prevPrice)-1)*100
 *
 * @param array $real
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_roc($real, $timePeriod){}

/**
 * Rate of change Percentage: (price-prevPrice)/prevPrice
 *
 * @param array $real
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_rocp($real, $timePeriod){}

/**
 * Rate of change ratio: (price/prevPrice)
 *
 * @param array $real
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_rocr($real, $timePeriod){}

/**
 * Rate of change ratio 100 scale: (price/prevPrice)*100
 *
 * @param array $real
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_rocr100($real, $timePeriod){}

/**
 * Relative Strength Index
 *
 * @param array $real
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_rsi($real, $timePeriod){}

/**
 * Parabolic SAR
 *
 * @param array $high
 * @param array $low
 * @param float $acceleration Acceleration Factor used up to the
 *   Maximum value. Valid range from 0 to TRADER_REAL_MAX.
 * @param float $maximum Acceleration Factor Maximum value. Valid range
 *   from 0 to TRADER_REAL_MAX.
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_sar($high, $low, $acceleration, $maximum){}

/**
 * Parabolic SAR - Extended
 *
 * @param array $high
 * @param array $low
 * @param float $startValue Start value and direction. 0 for Auto, >0
 *   for Long, <0 for Short. Valid range from TRADER_REAL_MIN to
 *   TRADER_REAL_MAX.
 * @param float $offsetOnReverse Percent offset added/removed to
 *   initial stop on short/long reversal. Valid range from 0 to
 *   TRADER_REAL_MAX.
 * @param float $accelerationInitLong Acceleration Factor initial value
 *   for the Long direction. Valid range from 0 to TRADER_REAL_MAX.
 * @param float $accelerationLong Acceleration Factor for the Long
 *   direction. Valid range from 0 to TRADER_REAL_MAX.
 * @param float $accelerationMaxLong Acceleration Factor maximum value
 *   for the Long direction. Valid range from 0 to TRADER_REAL_MAX.
 * @param float $accelerationInitShort Acceleration Factor initial
 *   value for the Short direction. Valid range from 0 to
 *   TRADER_REAL_MAX.
 * @param float $accelerationShort Acceleration Factor for the Short
 *   direction. Valid range from 0 to TRADER_REAL_MAX.
 * @param float $accelerationMaxShort Acceleration Factor maximum value
 *   for the Short direction. Valid range from 0 to TRADER_REAL_MAX.
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_sarext($high, $low, $startValue, $offsetOnReverse, $accelerationInitLong, $accelerationLong, $accelerationMaxLong, $accelerationInitShort, $accelerationShort, $accelerationMaxShort){}

/**
 * Set compatibility mode
 *
 * Set compatibility mode which will affect the way calculations are done
 * by all the extension functions.
 *
 * @param int $compatId Compatibility Id. TRADER_COMPATIBILITY_* series
 *   of constants should be used.
 * @return void
 * @since PECL trader >= 0.2.2
 **/
function trader_set_compat($compatId){}

/**
 * Set unstable period
 *
 * Influences unstable period factor for functions, which are sensible to
 * it. More information about unstable periods can be found on the TA-Lib
 * API documentation page.
 *
 * @param int $functionId Function ID the factor should be set for.
 *   TRADER_FUNC_UNST_* constant series can be used to affect the
 *   corresponding function.
 * @param int $timePeriod Unstable period value.
 * @return void
 * @since PECL trader >= 0.2.2
 **/
function trader_set_unstable_period($functionId, $timePeriod){}

/**
 * Vector Trigonometric Sin
 *
 * Calculates the sine for each value in {@link real} and returns the
 * resulting array.
 *
 * @param array $real
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_sin($real){}

/**
 * Vector Trigonometric Sinh
 *
 * Calculates the hyperbolic sine for each value in {@link real} and
 * returns the resulting array.
 *
 * @param array $real
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_sinh($real){}

/**
 * Simple Moving Average
 *
 * @param array $real
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_sma($real, $timePeriod){}

/**
 * Vector Square Root
 *
 * Calculates the square root of each value in {@link real} and returns
 * the resulting array.
 *
 * @param array $real
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_sqrt($real){}

/**
 * Standard Deviation
 *
 * @param array $real
 * @param int $timePeriod
 * @param float $nbDev
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_stddev($real, $timePeriod, $nbDev){}

/**
 * Stochastic
 *
 * @param array $high
 * @param array $low
 * @param array $close
 * @param int $fastK_Period
 * @param int $slowK_Period
 * @param int $slowK_MAType
 * @param int $slowD_Period
 * @param int $slowD_MAType
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_stoch($high, $low, $close, $fastK_Period, $slowK_Period, $slowK_MAType, $slowD_Period, $slowD_MAType){}

/**
 * Stochastic Fast
 *
 * @param array $high
 * @param array $low
 * @param array $close
 * @param int $fastK_Period
 * @param int $fastD_Period
 * @param int $fastD_MAType
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_stochf($high, $low, $close, $fastK_Period, $fastD_Period, $fastD_MAType){}

/**
 * Stochastic Relative Strength Index
 *
 * @param array $real
 * @param int $timePeriod
 * @param int $fastK_Period
 * @param int $fastD_Period
 * @param int $fastD_MAType
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_stochrsi($real, $timePeriod, $fastK_Period, $fastD_Period, $fastD_MAType){}

/**
 * Vector Arithmetic Subtraction
 *
 * Calculates the vector subtraction of {@link real1} from {@link real0}
 * and returns the resulting vector.
 *
 * @param array $real0
 * @param array $real1
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_sub($real0, $real1){}

/**
 * Summation
 *
 * @param array $real
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_sum($real, $timePeriod){}

/**
 * Triple Exponential Moving Average (T3)
 *
 * @param array $real
 * @param int $timePeriod
 * @param float $vFactor
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_t3($real, $timePeriod, $vFactor){}

/**
 * Vector Trigonometric Tan
 *
 * Calculates the tangent for each value in {@link real} and returns the
 * resulting array.
 *
 * @param array $real
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_tan($real){}

/**
 * Vector Trigonometric Tanh
 *
 * Calculates the hyperbolic tangent for each value in {@link real} and
 * returns the resulting array.
 *
 * @param array $real
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_tanh($real){}

/**
 * Triple Exponential Moving Average
 *
 * @param array $real
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_tema($real, $timePeriod){}

/**
 * True Range
 *
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_trange($high, $low, $close){}

/**
 * Triangular Moving Average
 *
 * @param array $real
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_trima($real, $timePeriod){}

/**
 * 1-day Rate-Of-Change (ROC) of a Triple Smooth EMA
 *
 * @param array $real
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_trix($real, $timePeriod){}

/**
 * Time Series Forecast
 *
 * @param array $real
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_tsf($real, $timePeriod){}

/**
 * Typical Price
 *
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_typprice($high, $low, $close){}

/**
 * Ultimate Oscillator
 *
 * @param array $high
 * @param array $low
 * @param array $close
 * @param int $timePeriod1 Number of bars for 1st period. Valid range
 *   from 1 to 100000.
 * @param int $timePeriod2 Number of bars for 2nd period. Valid range
 *   from 1 to 100000.
 * @param int $timePeriod3 Number of bars for 3rd period. Valid range
 *   from 1 to 100000.
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_ultosc($high, $low, $close, $timePeriod1, $timePeriod2, $timePeriod3){}

/**
 * Variance
 *
 * @param array $real
 * @param int $timePeriod
 * @param float $nbDev
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_var($real, $timePeriod, $nbDev){}

/**
 * Weighted Close Price
 *
 * @param array $high
 * @param array $low
 * @param array $close
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_wclprice($high, $low, $close){}

/**
 * Williams' %R
 *
 * @param array $high
 * @param array $low
 * @param array $close
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_willr($high, $low, $close, $timePeriod){}

/**
 * Weighted Moving Average
 *
 * @param array $real
 * @param int $timePeriod
 * @return array Returns an array with calculated data or false on
 *   failure.
 * @since PECL trader >= 0.2.0
 **/
function trader_wma($real, $timePeriod){}

/**
 * Checks if the trait exists
 *
 * @param string $traitname Name of the trait to check
 * @param bool $autoload Whether to autoload if not already loaded.
 * @return bool Returns TRUE if trait exists, FALSE if not, NULL in
 *   case of an error.
 * @since PHP 5 >= 5.4.0, PHP 7
 **/
function trait_exists($traitname, $autoload){}

/**
 * Create a transliterator
 *
 * Opens a Transliterator by id.
 *
 * @param string $id The id.
 * @param int $direction The direction, defaults to
 *   >Transliterator::FORWARD. May also be set to
 *   Transliterator::REVERSE.
 * @return Transliterator Returns a Transliterator object on success,
 *   or NULL on failure.
 **/
function transliterator_create($id, $direction){}

/**
 * Create transliterator from rules
 *
 * Creates a Transliterator from rules.
 *
 * @param string $id The rules.
 * @param int $direction The direction, defaults to
 *   >Transliterator::FORWARD. May also be set to
 *   Transliterator::REVERSE.
 * @return Transliterator Returns a Transliterator object on success,
 *   or NULL on failure.
 **/
function transliterator_create_from_rules($id, $direction){}

/**
 * Create an inverse transliterator
 *
 * Opens the inverse transliterator.
 *
 * @return Transliterator Returns a Transliterator object on success,
 *   or NULL on failure
 **/
function transliterator_create_inverse(){}

/**
 * Get last error code
 *
 * Gets the last error code for this transliterator.
 *
 * @return int The error code on success, or FALSE if none exists, or
 *   on failure.
 **/
function transliterator_get_error_code(){}

/**
 * Get last error message
 *
 * Gets the last error message for this transliterator.
 *
 * @return string The error message on success, or FALSE if none
 *   exists, or on failure.
 **/
function transliterator_get_error_message(){}

/**
 * Get transliterator IDs
 *
 * Returns an array with the registered transliterator IDs.
 *
 * @return array An array of registered transliterator IDs on success,
 *   .
 **/
function transliterator_list_ids(){}

/**
 * Transliterate a string
 *
 * Transforms a string or part thereof using an ICU transliterator.
 *
 * @param mixed $transliterator In the procedural version, either a
 *   Transliterator or a string from which a Transliterator can be built.
 * @param string $subject The string to be transformed.
 * @param int $start The start index (in UTF-16 code units) from which
 *   the string will start to be transformed, inclusive. Indexing starts
 *   at 0. The text before will be left as is.
 * @param int $end The end index (in UTF-16 code units) until which the
 *   string will be transformed, exclusive. Indexing starts at 0. The
 *   text after will be left as is.
 **/
function transliterator_transliterate($transliterator, $subject, $start, $end){}

/**
 * Generates a user-level error/warning/notice message
 *
 * Used to trigger a user error condition, it can be used in conjunction
 * with the built-in error handler, or with a user defined function that
 * has been set as the new error handler ({@link set_error_handler}).
 *
 * This function is useful when you need to generate a particular
 * response to an exception at runtime.
 *
 * @param string $error_msg The designated error message for this
 *   error. It's limited to 1024 bytes in length. Any additional
 *   characters beyond 1024 bytes will be truncated.
 * @param int $error_type The designated error type for this error. It
 *   only works with the E_USER family of constants, and will default to
 *   E_USER_NOTICE.
 * @return bool This function returns FALSE if wrong {@link error_type}
 *   is specified, TRUE otherwise.
 * @since PHP 4 >= 4.0.1, PHP 5, PHP 7
 **/
function trigger_error($error_msg, $error_type){}

/**
 * Strip whitespace (or other characters) from the beginning and end of a
 * string
 *
 * This function returns a string with whitespace stripped from the
 * beginning and end of {@link str}. Without the second parameter, {@link
 * trim} will strip these characters: " " (ASCII 32 (0x20)), an ordinary
 * space. "\t" (ASCII 9 (0x09)), a tab. "\n" (ASCII 10 (0x0A)), a new
 * line (line feed). "\r" (ASCII 13 (0x0D)), a carriage return. "\0"
 * (ASCII 0 (0x00)), the NUL-byte. "\x0B" (ASCII 11 (0x0B)), a vertical
 * tab.
 *
 * @param string $str The string that will be trimmed.
 * @param string $character_mask Optionally, the stripped characters
 *   can also be specified using the {@link character_mask} parameter.
 *   Simply list all characters that you want to be stripped. With .. you
 *   can specify a range of characters.
 * @return string The trimmed string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function trim($str, $character_mask){}

/**
 * Sort an array with a user-defined comparison function and maintain
 * index association
 *
 * This function sorts an array such that array indices maintain their
 * correlation with the array elements they are associated with, using a
 * user-defined comparison function.
 *
 * This is used mainly when sorting associative arrays where the actual
 * element order is significant.
 *
 * @param array $array The input array.
 * @param callable $value_compare_func See {@link usort} and {@link
 *   uksort} for examples of user-defined comparison functions.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function uasort(&$array, $value_compare_func){}

/**
 * Make a string's first character uppercase
 *
 * Returns a string with the first character of {@link str} capitalized,
 * if that character is alphabetic.
 *
 * Note that 'alphabetic' is determined by the current locale. For
 * instance, in the default "C" locale characters such as umlaut-a (ä)
 * will not be converted.
 *
 * @param string $str The input string.
 * @return string Returns the resulting string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ucfirst($str){}

/**
 * Uppercase the first character of each word in a string
 *
 * Returns a string with the first character of each word in {@link str}
 * capitalized, if that character is alphabetic.
 *
 * The definition of a word is any string of characters that is
 * immediately after any character listed in the {@link delimiters}
 * parameter (By default these are: space, form-feed, newline, carriage
 * return, horizontal tab, and vertical tab).
 *
 * @param string $str The input string.
 * @param string $delimiters The optional {@link delimiters} contains
 *   the word separator characters.
 * @return string Returns the modified string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function ucwords($str, $delimiters){}

/**
 * Add various search limits
 *
 * {@link udm_add_search_limit} adds search restrictions.
 *
 * @param resource $agent A link to Agent, received after call to
 *   {@link udm_alloc_agent}.
 * @param int $var Defines the parameter, indicating limits. Possible
 *   {@link var} values: UDM_LIMIT_URL - defines document URL limitations
 *   to limit the search through subsection of the database. It supports
 *   SQL % and _ LIKE wildcards, where % matches any number of
 *   characters, even zero characters, and _ matches exactly one
 *   character. E.g. http://www.example.___/catalog may stand for
 *   http://www.example.com/catalog and http://www.example.net/catalog.
 *   UDM_LIMIT_TAG - defines site TAG limitations. In indexer-conf you
 *   can assign specific TAGs to various sites and parts of a site. Tags
 *   in mnoGoSearch 3.1.x are lines, that may contain metasymbols % and
 *   _. Metasymbols allow searching among groups of tags. E.g. there are
 *   links with tags ABCD and ABCE, and search restriction is by ABC_ -
 *   the search will be made among both of the tags. UDM_LIMIT_LANG -
 *   defines document language limitations. UDM_LIMIT_CAT - defines
 *   document category limitations. Categories are similar to tag
 *   feature, but nested. So you can have one category inside another and
 *   so on. You have to use two characters for each level. Use a hex
 *   number going from 0-F or a 36 base number going from 0-Z. Therefore
 *   a top-level category like 'Auto' would be 01. If it has a
 *   subcategory like 'Ford', then it would be 01 (the parent category)
 *   and then 'Ford' which we will give 01. Put those together and you
 *   get 0101. If 'Auto' had another subcategory named 'VW', then it's id
 *   would be 01 because it belongs to the 'Ford' category and then 02
 *   because it's the next category. So it's id would be 0102. If VW had
 *   a sub category called 'Engine' then it's id would start at 01 again
 *   and it would get the 'VW' id 02 and 'Auto' id of 01, making it
 *   010201. If you want to search for sites under that category then you
 *   pass it cat=010201 in the URL. UDM_LIMIT_DATE - defines limitation
 *   by date the document was modified. Format of parameter value: a
 *   string with first character < or >, then with no space - date in
 *   unixtime format, for example:
 *   
 *   <?php udm_add_search_limit($udm, UDM_LIMIT_DATE, "&lt;908012006");
 *   ?>
 *   
 *   If > character is used, then the search will be restricted to those
 *   documents having a modification date greater than entered, if <,
 *   then smaller.
 * @param string $val Defines the value of the current parameter.
 * @return bool
 * @since PHP 4 >= 4.0.5, PHP 5 < 5.1.0, PECL mnogosearch >= 1.0.0
 **/
function udm_add_search_limit($agent, $var, $val){}

/**
 * Allocate mnoGoSearch session
 *
 * Allocate a mnoGoSearch session.
 *
 * @param string $dbaddr {@link dbaddr} - URL-style database
 *   description, with options (type, host, database name, port, user and
 *   password) to connect to SQL database. Do not matter for built-in
 *   text files support. Format for {@link dbaddr}:
 *   DBType:[//[DBUser[:DBPass]@]DBHost[:DBPort]]/DBName/. Currently
 *   supported DBType values are: mysql, pgsql, msql, solid, mssql,
 *   oracle, and ibase. Actually, it does not matter for native libraries
 *   support, but ODBC users should specify one of the supported values.
 *   If your database type is not supported, you may use unknown instead.
 * @param string $dbmode {@link dbmode} - You may select the SQL
 *   database mode of words storage. Possible values of {@link dbmode}
 *   are: single, multi, crc, or crc-multi. When single is specified, all
 *   words are stored in the same table. If multi is selected, words will
 *   be located in different tables depending of their lengths. "multi"
 *   mode is usually faster, but requires more tables in the database. If
 *   "crc" mode is selected, mnoGoSearch will store 32 bit integer word
 *   IDs calculated by CRC32 algorithm instead of words. This mode
 *   requires less disk space and it is faster comparing with "single"
 *   and "multi" modes. crc-multi uses the same storage structure with
 *   the "crc" mode, but also stores words in different tables depending
 *   on words lengths like in "multi" mode.
 * @return resource Returns a mnogosearch agent identifier on success,
 *   FALSE on failure. This function creates a session with database
 *   parameters.
 * @since PHP 4 >= 4.0.5, PHP 5 < 5.1.0, PECL mnogosearch >= 1.0.0
 **/
function udm_alloc_agent($dbaddr, $dbmode){}

/**
 * Allocate mnoGoSearch session
 *
 * {@link udm_alloc_agent_array} will create an agent with multiple
 * database connections.
 *
 * @param array $databases The array {@link databases} must contain one
 *   database URL per element, analog to the first parameter of {@link
 *   udm_alloc_agent}.
 * @return resource Returns a resource link identifier on success.
 * @since PHP 4 >= 4.3.3, PHP 5 < 5.1.0, PECL mnogosearch >= 1.0.0
 **/
function udm_alloc_agent_array($databases){}

/**
 * Get mnoGoSearch API version
 *
 * Gets the mnoGoSearch API version.
 *
 * This function allows the user to identify which API functions are
 * available, e.g. {@link udm_get_doc_count} function is only available
 * in mnoGoSearch 3.1.11 or later.
 *
 * @return int {@link udm_api_version} returns the mnoGoSearch API
 *   version number. E.g. if mnoGoSearch 3.1.10 API is used, this
 *   function will return 30110.
 * @since PHP 4 >= 4.0.5, PHP 5 < 5.1.0, PECL mnogosearch >= 1.0.0
 **/
function udm_api_version(){}

/**
 * Get all the categories on the same level with the current one
 *
 * Gets all the categories on the same level with the current one.
 *
 * The function can be useful for developing categories tree browser.
 *
 * @param resource $agent A link to Agent, received after call to
 *   {@link udm_alloc_agent}.
 * @param string $category
 * @return array Returns an array listing all categories of the same
 *   level as the current {@link category} in the categories tree.
 * @since PHP 4 >= 4.0.6, PHP 5 < 5.1.0, PECL mnogosearch >= 1.0.0
 **/
function udm_cat_list($agent, $category){}

/**
 * Get the path to the current category
 *
 * Returns an array describing the path in the categories tree from the
 * tree root to the current one, specified by {@link category}.
 *
 * @param resource $agent A link to Agent, received after call to
 *   {@link udm_alloc_agent}.
 * @param string $category
 * @return array The returned array consists of pairs. Elements with
 *   even index numbers contain the category paths, odd elements contain
 *   the corresponding category names.
 * @since PHP 4 >= 4.0.6, PHP 5 < 5.1.0, PECL mnogosearch >= 1.0.0
 **/
function udm_cat_path($agent, $category){}

/**
 * Check if the given charset is known to mnogosearch
 *
 * @param resource $agent
 * @param string $charset
 * @return bool
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.0, PECL mnogosearch >= 1.0.0
 **/
function udm_check_charset($agent, $charset){}

/**
 * Clear all mnoGoSearch search restrictions
 *
 * {@link udm_clear_search_limits} resets defined search limitations.
 *
 * @param resource $agent A link to Agent, received after call to
 *   {@link udm_alloc_agent}.
 * @return bool Returns TRUE.
 * @since PHP 4 >= 4.0.5, PHP 5 < 5.1.0, PECL mnogosearch >= 1.0.0
 **/
function udm_clear_search_limits($agent){}

/**
 * Return CRC32 checksum of given string
 *
 * @param resource $agent
 * @param string $str
 * @return int
 * @since PHP 4 >= 4.2.0, PHP 5 < 5.1.0, PECL mnogosearch >= 1.0.0
 **/
function udm_crc32($agent, $str){}

/**
 * Get mnoGoSearch error number
 *
 * Receiving numeric agent error code.
 *
 * @param resource $agent A link to Agent, received after call to
 *   {@link udm_alloc_agent}.
 * @return int Returns the mnoGoSearch error number, zero if no error.
 * @since PHP 4 >= 4.0.5, PHP 5 < 5.1.0, PECL mnogosearch >= 1.0.0
 **/
function udm_errno($agent){}

/**
 * Get mnoGoSearch error message
 *
 * Gets the agent error message.
 *
 * @param resource $agent A link to Agent, received after call to
 *   {@link udm_alloc_agent}.
 * @return string {@link udm_error} returns mnoGoSearch error message,
 *   empty string if no error.
 * @since PHP 4 >= 4.0.5, PHP 5 < 5.1.0, PECL mnogosearch >= 1.0.0
 **/
function udm_error($agent){}

/**
 * Perform search
 *
 * Performs a search.
 *
 * The search itself. The first argument - session, the next one - query
 * itself. To find something just type words you want to find and press
 * SUBMIT button. For example, "mysql odbc". You should not use quotes "
 * in query, they are written here only to divide a query from other
 * text. mnoGoSearch will find all documents that contain word "mysql"
 * and/or word "odbc". Best documents having bigger weights will be
 * displayed first. If you use search mode ALL, search will return
 * documents that contain both (or more) words you entered. In case you
 * use mode ANY, the search will return list of documents that contain
 * any of the words you entered. If you want more advanced results you
 * may use query language. You should select "bool" match mode in the
 * search from.
 *
 * @param resource $agent A link to Agent, received after call to
 *   {@link udm_alloc_agent}.
 * @param string $query mnoGoSearch understands the following boolean
 *   operators: & - logical AND. For example, mysql & odbc. mnoGoSearch
 *   will find any URLs that contain both mysql and odbc. | - logical OR.
 *   For example mysql|odbc. mnoGoSearch will find any URLs, that contain
 *   word mysql or word odbc. ~ - logical NOT. For example mysql & ~odbc.
 *   mnoGoSearch will find URLs that contain word mysql and do not
 *   contain word odbc at the same time. Note that ~ just excludes given
 *   word from results. Query ~odbc will find nothing! () - group command
 *   to compose more complex queries. For example (mysql | msql) &
 *   ~postgres. Query language is simple and powerful at the same time.
 *   Just consider query as usual boolean expression.
 * @return resource Returns a result link identifier on success.
 * @since PHP 4 >= 4.0.5, PHP 5 < 5.1.0, PECL mnogosearch >= 1.0.0
 **/
function udm_find($agent, $query){}

/**
 * Free mnoGoSearch session
 *
 * Freeing up memory allocated for agent session.
 *
 * @param resource $agent A link to Agent, received after call to
 *   {@link udm_alloc_agent}.
 * @return int
 * @since PHP 4 >= 4.0.5, PHP 5 < 5.1.0, PECL mnogosearch >= 1.0.0
 **/
function udm_free_agent($agent){}

/**
 * Free memory allocated for ispell data
 *
 * Frees the memory allocated for ispell data.
 *
 * @param int $agent A link to Agent, received after call to {@link
 *   udm_alloc_agent}.
 * @return bool {@link udm_free_ispell_data} always returns TRUE.
 * @since PHP 4 >= 4.0.5, PHP 5 < 5.1.0, PECL mnogosearch >= 1.0.0
 **/
function udm_free_ispell_data($agent){}

/**
 * Free mnoGoSearch result
 *
 * Freeing up memory allocated for results.
 *
 * @param resource $res A link to a result identifier, received after
 *   call to {@link udm_find}.
 * @return bool
 * @since PHP 4 >= 4.0.5, PHP 5 < 5.1.0, PECL mnogosearch >= 1.0.0
 **/
function udm_free_res($res){}

/**
 * Get total number of documents in database
 *
 * {@link udm_get_doc_count} returns the number of documents in the
 * database.
 *
 * @param resource $agent A link to Agent, received after call to
 *   {@link udm_alloc_agent}.
 * @return int Returns the number of documents.
 * @since PHP 4 >= 4.0.5, PHP 5 < 5.1.0, PECL mnogosearch >= 1.0.0
 **/
function udm_get_doc_count($agent){}

/**
 * Fetch a result field
 *
 * Fetch a mnoGoSearch result field.
 *
 * @param resource $res {@link res} - a link to result identifier,
 *   received after call to {@link udm_find}.
 * @param int $row {@link row} - the number of the link on the current
 *   page. May have values from 0 to {@link UDM_PARAM_NUM_ROWS-1}.
 * @param int $field {@link field} - field identifier, may have the
 *   following values: UDM_FIELD_URL - document URL field
 *   UDM_FIELD_CONTENT - document Content-type field (for example,
 *   text/html). UDM_FIELD_CATEGORY - document category field. Use {@link
 *   udm_cat_path} to get full path to current category from the
 *   categories tree root. (This parameter is available only in PHP 4.0.6
 *   or later). UDM_FIELD_TITLE - document title field.
 *   UDM_FIELD_KEYWORDS - document keywords field (from META KEYWORDS
 *   tag). UDM_FIELD_DESC - document description field (from META
 *   DESCRIPTION tag). UDM_FIELD_TEXT - document body text (the first
 *   couple of lines to give an idea of what the document is about).
 *   UDM_FIELD_SIZE - document size. UDM_FIELD_URLID - unique URL ID of
 *   the link. UDM_FIELD_RATING - page rating (as calculated by
 *   mnoGoSearch). UDM_FIELD_MODIFIED - last-modified field in unixtime
 *   format. UDM_FIELD_ORDER - the number of the current document in set
 *   of found documents. UDM_FIELD_CRC - document CRC.
 * @return string {@link udm_get_res_field} returns result field value
 *   on success, FALSE on error.
 * @since PHP 4 >= 4.0.5, PHP 5 < 5.1.0, PECL mnogosearch >= 1.0.0
 **/
function udm_get_res_field($res, $row, $field){}

/**
 * Get mnoGoSearch result parameters
 *
 * Gets the mnoGoSearch result parameters.
 *
 * @param resource $res {@link res} - a link to result identifier,
 *   received after call to {@link udm_find}.
 * @param int $param {@link param} - parameter identifier, may have the
 *   following values: UDM_PARAM_NUM_ROWS - number of received found
 *   links on the current page. It is equal to UDM_PARAM_PAGE_SIZE for
 *   all search pages, on the last page - the rest of links.
 *   UDM_PARAM_FOUND - total number of results matching the query.
 *   UDM_PARAM_WORDINFO - information on the words found. E.g. search for
 *   "a good book" will return "a: stopword, good:5637, book: 120"
 *   UDM_PARAM_SEARCHTIME - search time in seconds. UDM_PARAM_FIRST_DOC -
 *   the number of the first document displayed on current page.
 *   UDM_PARAM_LAST_DOC - the number of the last document displayed on
 *   current page.
 * @return string {@link udm_get_res_param} returns result parameter
 *   value on success, FALSE on error.
 * @since PHP 4 >= 4.0.5, PHP 5 < 5.1.0, PECL mnogosearch >= 1.0.0
 **/
function udm_get_res_param($res, $param){}

/**
 * Return Hash32 checksum of given string
 *
 * {@link udm_hash32} will take a string {@link str} and return a quite
 * unique 32-bit hash number from it.
 *
 * @param resource $agent A link to Agent, received after call to
 *   {@link udm_alloc_agent}.
 * @param string $str The input string.
 * @return int Returns a 32-bit hash number.
 * @since PHP 4 >= 4.3.3, PHP 5 < 5.1.0, PECL mnogosearch >= 1.0.0
 **/
function udm_hash32($agent, $str){}

/**
 * Load ispell data
 *
 * {@link udm_load_ispell_data} loads ispell data.
 *
 * After using this function to free memory allocated for ispell data,
 * please use {@link udm_free_ispell_data}, even if you use
 * UDM_ISPELL_TYPE_SERVER mode.
 *
 * @param resource $agent A link to Agent, received after call to
 *   {@link udm_alloc_agent}.
 * @param int $var Indicates the source for ispell data. May have the
 *   following values: UDM_ISPELL_TYPE_DB - indicates that ispell data
 *   should be loaded from SQL. In this case, parameters {@link val1} and
 *   {@link val2} are ignored and should be left blank. {@link flag}
 *   should be equal to 1. {@link flag} indicates that after loading
 *   ispell data from defined source it should be sorted (it is necessary
 *   for correct functioning of ispell). In case of loading ispell data
 *   from files there may be several calls to {@link
 *   udm_load_ispell_data}, and there is no sense to sort data after
 *   every call, but only after the last one. Since in db mode all the
 *   data is loaded by one call, this parameter should have the value 1.
 *   In this mode in case of error, e.g. if ispell tables are absent, the
 *   function will return FALSE and code and error message will be
 *   accessible through {@link udm_error} and {@link udm_errno}.
 *   UDM_ISPELL_TYPE_AFFIX - indicates that ispell data should be loaded
 *   from file and initiates loading affixes file. In this case {@link
 *   val1} defines double letter language code for which affixes are
 *   loaded, and {@link val2} - file path. Please note, that if a
 *   relative path entered, the module looks for the file not in
 *   UDM_CONF_DIR, but in relation to current path, i.e. to the path
 *   where the script is executed. In case of error in this mode, e.g. if
 *   file is absent, the function will return FALSE, and an error message
 *   will be displayed. Error message text cannot be accessed through
 *   {@link udm_error} and {@link udm_errno}, since those functions can
 *   only return messages associated with SQL. Please, see {@link flag}
 *   parameter description in UDM_ISPELL_TYPE_DB. {@link
 *   udm_load_ispell_data} example
 *   
 *   <?php if ((! udm_load_ispell_data($udm, UDM_ISPELL_TYPE_AFFIX, 'en',
 *   '/opt/ispell/en.aff', 0)) || (! udm_load_ispell_data($udm,
 *   UDM_ISPELL_TYPE_AFFIX, 'ru', '/opt/ispell/ru.aff', 0)) || (!
 *   udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SPELL, 'en',
 *   '/opt/ispell/en.dict', 0)) || (! udm_load_ispell_data($udm,
 *   UDM_ISPELL_TYPE_SPELL, 'ru', '/opt/ispell/ru.dict', 1))) { exit; }
 *   ?>
 *   
 *   {@link flag} is equal to 1 only in the last call.
 *   UDM_ISPELL_TYPE_SPELL - indicates that ispell data should be loaded
 *   from file and initiates loading of ispell dictionary file. In this
 *   case {@link val1} defines double letter language code for which
 *   affixes are loaded, and {@link val2} - file path. Please note, that
 *   if a relative path entered, the module looks for the file not in
 *   UDM_CONF_DIR, but in relation to current path, i.e. to the path
 *   where the script is executed. In case of error in this mode, e.g. if
 *   file is absent, the function will return FALSE, and an error message
 *   will be displayed. Error message text cannot be accessed through
 *   {@link udm_error} and {@link udm_errno}, since those functions can
 *   only return messages associated with SQL. Please, see {@link flag}
 *   parameter description in UDM_ISPELL_TYPE_DB.
 *   
 *   <?php if ((! udm_load_ispell_data($udm, UDM_ISPELL_TYPE_AFFIX, 'en',
 *   '/opt/ispell/en.aff', 0)) || (! udm_load_ispell_data($udm,
 *   UDM_ISPELL_TYPE_AFFIX, 'ru', '/opt/ispell/ru.aff', 0)) || (!
 *   udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SPELL, 'en',
 *   '/opt/ispell/en.dict', 0)) || (! udm_load_ispell_data($udm,
 *   UDM_ISPELL_TYPE_SPELL, 'ru', '/opt/ispell/ru.dict', 1))) { exit; }
 *   ?>
 *   
 *   {@link flag} is equal to 1 only in the last call.
 *   UDM_ISPELL_TYPE_SERVER - enables spell server support. {@link val1}
 *   parameter indicates address of the host running spell server. {@link
 *   val2} ` is not used yet, but in future releases it is going to
 *   indicate number of port used by spell server. {@link flag} parameter
 *   in this case is not needed since ispell data is stored on
 *   spellserver already sorted. Spelld server reads spell-data from a
 *   separate configuration file (/usr/local/mnogosearch/etc/spelld.conf
 *   by default), sorts it and stores in memory. With clients server
 *   communicates in two ways: to indexer all the data is transferred (so
 *   that indexer starts faster), from search.cgi server receives word to
 *   normalize and then passes over to client (search.cgi) list of
 *   normalized word forms. This allows fastest, compared to db and text
 *   modes processing of search queries (by omitting loading and sorting
 *   all the spell data). {@link udm_load_ispell_data} function in
 *   UDM_ISPELL_TYPE_SERVER mode does not actually load ispell data, but
 *   only defines server address. In fact, server is automatically used
 *   by {@link udm_find} function when performing search. In case of
 *   errors, e.g. if spellserver is not running or invalid host
 *   indicated, there are no messages returned and ispell conversion does
 *   not work. This function is available in mnoGoSearch 3.1.12 or later.
 *   Example:
 *   
 *   <?php if (!udm_load_ispell_data($udm, UDM_ISPELL_TYPE_SERVER, '',
 *   '', 1)) { echo "Error loading ispell data from server<br />\n";
 *   exit; } ?>
 *   
 *   The fastest mode is UDM_ISPELL_TYPE_SERVER. UDM_ISPELL_TYPE_TEXT is
 *   slower and UDM_ISPELL_TYPE_DB is the slowest. The above pattern is
 *   TRUE for mnoGoSearch 3.1.10 - 3.1.11. It is planned to speed up DB
 *   mode in future versions and it is going to be faster than TEXT mode.
 * @param string $val1
 * @param string $val2
 * @param int $flag
 * @return bool
 * @since PHP 4 >= 4.0.5, PHP 5 < 5.1.0, PECL mnogosearch >= 1.0.0
 **/
function udm_load_ispell_data($agent, $var, $val1, $val2, $flag){}

/**
 * Set mnoGoSearch agent session parameters
 *
 * Defines mnoGoSearch session parameters.
 *
 * @param resource $agent A link to Agent, received after call to
 *   {@link udm_alloc_agent}.
 * @param int $var The following parameters and their values are
 *   available: UDM_PARAM_PAGE_NUM - used to choose search results page
 *   number (results are returned by pages beginning from 0, with
 *   UDM_PARAM_PAGE_SIZE results per page). UDM_PARAM_PAGE_SIZE - number
 *   of search results displayed on one page. UDM_PARAM_SEARCH_MODE -
 *   search mode. The following values available: UDM_MODE_ALL - search
 *   for all words; UDM_MODE_ANY - search for any word; UDM_MODE_PHRASE -
 *   phrase search; UDM_MODE_BOOL - boolean search. See {@link udm_find}
 *   for details on boolean search. UDM_PARAM_CACHE_MODE - turns on or
 *   off search result cache mode. When enabled, the search engine will
 *   store search results to disk. In case a similar search is performed
 *   later, the engine will take results from the cache for faster
 *   performance. Available values: UDM_CACHE_ENABLED,
 *   UDM_CACHE_DISABLED. UDM_PARAM_TRACK_MODE - turns on or off
 *   trackquery mode. Since version 3.1.2 mnoGoSearch has a query
 *   tracking support. Note that tracking is implemented in SQL version
 *   only and not available in built-in database. To use tracking, you
 *   have to create tables for tracking support. For MySQL, use
 *   create/mysql/track.txt. When doing a search, front-end uses those
 *   tables to store query words, a number of found documents and current
 *   Unix timestamp in seconds. Available values: UDM_TRACK_ENABLED,
 *   UDM_TRACK_DISABLED. UDM_PARAM_PHRASE_MODE - defines whether index
 *   database using phrases ("phrase" parameter in indexer.conf).
 *   Possible values: UDM_PHRASE_ENABLED and UDM_PHRASE_DISABLED. Please
 *   note, that if phrase search is enabled (UDM_PHRASE_ENABLED), it is
 *   still possible to do search in any mode (ANY, ALL, BOOL or PHRASE).
 *   In 3.1.10 version of mnoGoSearch phrase search is supported only in
 *   sql and built-in database modes, while beginning with 3.1.11 phrases
 *   are supported in cachemode as well. Examples of phrase search:
 *   "Arizona desert" - This query returns all indexed documents that
 *   contain "Arizona desert" as a phrase. Notice that you need to put
 *   double quotes around the phrase UDM_PARAM_CHARSET - defines local
 *   charset. Available values: set of charsets supported by mnoGoSearch,
 *   e.g. koi8-r, cp1251, ... UDM_PARAM_STOPFILE - Defines name and path
 *   to stopwords file. (There is a small difference with mnoGoSearch -
 *   while in mnoGoSearch if relative path or no path entered, it looks
 *   for this file in relation to UDM_CONF_DIR, the module looks for the
 *   file in relation to current path, i.e. to the path where the PHP
 *   script is executed.) UDM_PARAM_STOPTABLE - Load stop words from the
 *   given SQL table. You may use several StopwordTable commands. This
 *   command has no effect when compiled without SQL database support.
 *   UDM_PARAM_WEIGHT_FACTOR - represents weight factors for specific
 *   document parts. Currently body, title, keywords, description, url
 *   are supported. To activate this feature please use degrees of 2 in
 *   *Weight commands of the indexer.conf. Let's imagine that we have
 *   these weights: URLWeight 1 BodyWeight 2 TitleWeight 4 KeywordWeight
 *   8 DescWeight 16 As far as indexer uses bit OR operation for word
 *   weights when some word presents several time in the same document,
 *   it is possible at search time to detect word appearance in different
 *   document parts. Word which appears only in the body will have
 *   00000010 aggregate weight (in binary notation). Word used in all
 *   document parts will have 00011111 aggregate weight. This parameter's
 *   value is a string of hex digits ABCDE. Each digit is a factor for
 *   corresponding bit in word weight. For the given above weights
 *   configuration: E is a factor for weight 1 (URL Weight bit) D is a
 *   factor for weight 2 (BodyWeight bit) C is a factor for weight 4
 *   (TitleWeight bit) B is a factor for weight 8 (KeywordWeight bit) A
 *   is a factor for weight 16 (DescWeight bit) Examples:
 *   UDM_PARAM_WEIGHT_FACTOR=00001 will search through URLs only.
 *   UDM_PARAM_WEIGHT_FACTOR=00100 will search through Titles only.
 *   UDM_PARAM_WEIGHT_FACTOR=11100 will search through
 *   Title,Keywords,Description but not through URL and Body.
 *   UDM_PARAM_WEIGHT_FACTOR=F9421 will search through: Description with
 *   factor 15 (F hex) Keywords with factor 9 Title with factor 4 Body
 *   with factor 2 URL with factor 1 If UDM_PARAM_WEIGHT_FACTOR variable
 *   is omitted, original weight value is taken to sort results. For a
 *   given above weight configuration it means that document description
 *   has a most big weight 16. UDM_PARAM_WORD_MATCH - word match. You may
 *   use this parameter to choose word match type. This feature works
 *   only in "single" and "multi" modes using SQL based and built-in
 *   database. It does not work in cachemode and other modes since they
 *   use word CRC and do not support substring search. Available values:
 *   UDM_MATCH_BEGIN - word beginning match; UDM_MATCH_END - word ending
 *   match; UDM_MATCH_WORD - whole word match; UDM_MATCH_SUBSTR - word
 *   substring match. UDM_PARAM_MIN_WORD_LEN - defines minimal word
 *   length. Any word shorter this limit is considered to be a stopword.
 *   Please note that this parameter value is inclusive, i.e. if
 *   UDM_PARAM_MIN_WORD_LEN=3, a word 3 characters long will not be
 *   considered a stopword, while a word 2 characters long will be.
 *   Default value is 1. UDM_PARAM_ISPELL_PREFIXES - Possible values:
 *   UDM_PREFIXES_ENABLED and UDM_PREFIXES_DISABLED, that respectively
 *   enable or disable using prefixes. E.g. if a word "tested" is in
 *   search query, also words like "test", "testing", etc. Only suffixes
 *   are supported by default. Prefixes usually change word meanings, for
 *   example if somebody is searching for the word "tested" one hardly
 *   wants "untested" to be found. Prefixes support may also be found
 *   useful for site's spelling checking purposes. In order to enable
 *   ispell, you have to load ispell data with {@link
 *   udm_load_ispell_data}. UDM_PARAM_CROSS_WORDS - enables or disables
 *   crosswords support. Possible values: UDM_CROSS_WORDS_ENABLED and
 *   UDM_CROSS_WORDS_DISABLED. The crosswords feature allows to assign
 *   words between <a href="xxx"> and </a> also to a document this link
 *   leads to. It works in SQL database mode and is not supported in
 *   built-in database and Cachemode. UDM_PARAM_VARDIR - specifies a
 *   custom path to directory where indexer stores data when using
 *   built-in database and in cache mode. By default /var directory of
 *   mnoGoSearch installation is used. Can have only string values.
 * @param string $val
 * @return bool
 * @since PHP 4 >= 4.0.5, PHP 5 < 5.1.0, PECL mnogosearch >= 1.0.0
 **/
function udm_set_agent_param($agent, $var, $val){}

namespace UI\Draw\Text\Font {

/**
 * Retrieve Font Families
 *
 * Returns an array of valid font families for the current system
 *
 * @return array
 **/
function fontFamilies(){}

}

namespace UI {

/**
 * Quit UI Loop
 *
 * Shall cause the main loop to be exited
 *
 * @return void
 **/
function quit(){}

}

namespace UI {

/**
 * Enter UI Loop
 *
 * Shall cause PHP to enter into the main loop, by default control will
 * not be returned to the caller
 *
 * @param int $flags Set UI\Loop to return control, and UI\Wait to
 *   return control after waiting
 * @return void
 **/
function run($flags){}

}

/**
 * Sort an array by keys using a user-defined comparison function
 *
 * {@link uksort} will sort the keys of an array using a user-supplied
 * comparison function. If the array you wish to sort needs to be sorted
 * by some non-trivial criteria, you should use this function.
 *
 * @param array $array The input array.
 * @param callable $key_compare_func
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function uksort(&$array, $key_compare_func){}

/**
 * Changes the current umask
 *
 * {@link umask} sets PHP's umask to {@link mask} & 0777 and returns the
 * old umask. When PHP is being used as a server module, the umask is
 * restored when each request is finished.
 *
 * @param int $mask The new umask.
 * @return int {@link umask} without arguments simply returns the
 *   current umask otherwise the old umask is returned.
 * @since PHP 4, PHP 5, PHP 7
 **/
function umask($mask){}

/**
 * Generate a unique ID
 *
 * Gets a prefixed unique identifier based on the current time in
 * microseconds.
 *
 * @param string $prefix Can be useful, for instance, if you generate
 *   identifiers simultaneously on several hosts that might happen to
 *   generate the identifier at the same microsecond. With an empty
 *   {@link prefix}, the returned string will be 13 characters long. If
 *   {@link more_entropy} is TRUE, it will be 23 characters.
 * @param bool $more_entropy If set to TRUE, {@link uniqid} will add
 *   additional entropy (using the combined linear congruential
 *   generator) at the end of the return value, which increases the
 *   likelihood that the result will be unique.
 * @return string Returns timestamp based unique identifier as a
 *   string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function uniqid($prefix, $more_entropy){}

/**
 * Convert Unix timestamp to Julian Day
 *
 * Return the Julian Day for a Unix {@link timestamp} (seconds since
 * 1.1.1970), or for the current day if no {@link timestamp} is given.
 * Either way, the time is regarded as local time (not UTC).
 *
 * @param int $timestamp A unix timestamp to convert.
 * @return int A julian day number as integer.
 * @since PHP 4, PHP 5, PHP 7
 **/
function unixtojd($timestamp){}

/**
 * Deletes a file
 *
 * Deletes {@link filename}. Similar to the Unix C unlink() function. An
 * E_WARNING level error will be generated on failure.
 *
 * @param string $filename Path to the file.
 * @param resource $context
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function unlink($filename, $context){}

/**
 * Unpack data from binary string
 *
 * Unpacks from a binary string into an array according to the given
 * {@link format}.
 *
 * The unpacked data is stored in an associative array. To accomplish
 * this you have to name the different format codes and separate them by
 * a slash /. If a repeater argument is present, then each of the array
 * keys will have a sequence number behind the given name.
 *
 * @param string $format See {@link pack} for an explanation of the
 *   format codes.
 * @param string $data The packed data.
 * @param int $offset The offset to begin unpacking from.
 * @return array Returns an associative array containing unpacked
 *   elements of binary string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function unpack($format, $data, $offset){}

/**
 * De-register a function for execution on each tick
 *
 * @param string $function_name The function name, as a string.
 * @return void
 * @since PHP 4 >= 4.0.3, PHP 5, PHP 7
 **/
function unregister_tick_function($function_name){}

/**
 * Creates a PHP value from a stored representation
 *
 * @param string $str The serialized string. If the variable being
 *   unserialized is an object, after successfully reconstructing the
 *   object PHP will automatically attempt to call the __wakeup() member
 *   function (if it exists).
 *   
 *   unserialize_callback_func directive It's possible to set a
 *   callback-function which will be called, if an undefined class should
 *   be instantiated during unserializing. (to prevent getting an
 *   incomplete object "__PHP_Incomplete_Class".) Use your , {@link
 *   ini_set} or to define unserialize_callback_func. Everytime an
 *   undefined class should be instantiated, it'll be called. To disable
 *   this feature just empty this setting.
 * @param array $options Any options to be provided to {@link
 *   unserialize}, as an associative array.
 * @return mixed The converted value is returned, and can be a boolean,
 *   integer, float, string, array or object.
 * @since PHP 4, PHP 5, PHP 7
 **/
function unserialize($str, $options){}

/**
 * Untaint strings
 *
 * @param string $string
 * @return bool
 * @since PECL taint >=0.1.0
 **/
function untaint(&$string){}

/**
 * Adds non-existent function or method
 *
 * Adds a non-existent function or method.
 *
 * @param string $function The name of the class.
 * @param Closure $handler The name of the function or method.
 * @param int $flags The Closure that defines the new function or
 *   method.
 * @return bool
 * @since PECL uopz 5
 **/
function uopz_add_function($function, $handler, &$flags){}

/**
 * Allows control over disabled exit opcode
 *
 * By default uopz disables the exit opcode, so {@link exit} calls are
 * practically ignored. {@link uopz_allow_exit} allows to control this
 * behavior.
 *
 * @param bool $allow Whether to allow the execution of exit opcodes or
 *   not.
 * @return void
 * @since PECL uopz 5
 **/
function uopz_allow_exit($allow){}

/**
 * Backup a function
 *
 * Backup a function at runtime, to be restored on shutdown
 *
 * @param string $function The name of the class containing the
 *   function to backup
 * @return void
 * @since PECL uopz 1 >= 1.0.3, PECL uopz 2
 **/
function uopz_backup($function){}

/**
 * Compose a class
 *
 * Creates a new class of the given name that implements, extends, or
 * uses all of the provided classes
 *
 * @param string $name A legal class name
 * @param array $classes An array of class, interface and trait names
 * @param array $methods An associative array of methods, values are
 *   either closures or [modifiers => closure]
 * @param array $properties An associative array of properties, keys
 *   are names, values are modifiers
 * @param int $flags Entry type, by default ZEND_ACC_CLASS
 * @return void
 * @since PECL uopz 1, PECL uopz 2
 **/
function uopz_compose($name, $classes, $methods, $properties, $flags){}

/**
 * Copy a function
 *
 * Copy a function by name
 *
 * @param string $function The name of the class containing the
 *   function to copy
 * @return Closure A Closure for the specified function
 * @since PECL uopz 1 >= 1.0.4, PECL uopz 2
 **/
function uopz_copy($function){}

/**
 * Delete a function
 *
 * Deletes a function or method
 *
 * @param string $function
 * @return void
 * @since PECL uopz 1, PECL uopz 2
 **/
function uopz_delete($function){}

/**
 * Deletes previously added function or method
 *
 * Deletes a previously added function or method.
 *
 * @param string $function The name of the class.
 * @return bool
 * @since PECL uopz 5
 **/
function uopz_del_function($function){}

/**
 * Extend a class at runtime
 *
 * Makes {@link class} extend {@link parent}
 *
 * @param string $class The name of the class to extend
 * @param string $parent The name of the class to inherit
 * @return bool
 * @since PECL uopz 1, PECL uopz 2, PECL uopz 5
 **/
function uopz_extend($class, $parent){}

/**
 * Get or set flags on function or class
 *
 * Get or set the flags on a class or function entry at runtime
 *
 * @param string $function The name of a class
 * @param int $flags The name of the function
 * @return int If setting, returns old flags, else returns flags
 * @since PECL uopz 2 >= 2.0.2, PECL uopz 5
 **/
function uopz_flags($function, $flags){}

/**
 * Creates a function at runtime
 *
 * @param string $function The name of the class to receive the new
 *   function
 * @param Closure $handler The name of the function
 * @param int $modifiers The Closure for the function
 * @return void
 * @since PECL uopz 1, PECL uopz 2
 **/
function uopz_function($function, $handler, $modifiers){}

/**
 * Retrieve the last set exit status
 *
 * Retrieves the last set exit status, i.e. the value passed to {@link
 * exit}.
 *
 * @return mixed This function returns the last exit status, or NULL if
 *   {@link exit} has not been called.
 * @since PECL uopz 5
 **/
function uopz_get_exit_status(){}

/**
 * Gets previously set hook on function or method
 *
 * Gets the previously set hook on a function or method.
 *
 * @param string $function The name of the class.
 * @return Closure Returns the previously set hook on a function or
 *   method, or NULL if no hook has been set.
 * @since PECL uopz 5
 **/
function uopz_get_hook($function){}

/**
 * Get the current mock for a class
 *
 * Returns the current mock for {@link class}.
 *
 * @param string $class The name of the mocked class.
 * @return mixed Either a string containing the name of the mock, or an
 *   object, or NULL if no mock has been set.
 * @since PECL uopz 5
 **/
function uopz_get_mock($class){}

/**
 * Gets value of class or instance property
 *
 * Gets the value of a static class property, if {@link class} is given,
 * or the value of an instance property, if {@link instance} is given.
 *
 * @param string $class The name of the class.
 * @param string $property The object instance.
 * @return mixed Returns the value of the class or instance property,
 *   or NULL if the property is not defined.
 * @since PECL uopz 5
 **/
function uopz_get_property($class, $property){}

/**
 * Gets a previous set return value for a function
 *
 * Gets the return value of the {@link function} previously set by
 * uopz_set_return.
 *
 * @param string $function The name of the class containing the
 *   function
 * @return mixed The return value or Closure previously set.
 * @since PECL uopz 5
 **/
function uopz_get_return($function){}

/**
 * Gets the static variables from function or method scope
 *
 * @param string $class The name of the class.
 * @param string $function The name of the function or method.
 * @return array Returns an associative array of variable names mapped
 *   to their current values on success, or NULL if the function or
 *   method does not exist.
 * @since PECL uopz 5
 **/
function uopz_get_static($class, $function){}

/**
 * Implements an interface at runtime
 *
 * Makes {@link class} implement {@link interface}
 *
 * @param string $class
 * @param string $interface
 * @return bool
 * @since PECL uopz 1, PECL uopz 2, PECL uopz 5
 **/
function uopz_implement($class, $interface){}

/**
 * Overload a VM opcode
 *
 * Overloads the specified {@link opcode} with the user defined function
 *
 * @param int $opcode A valid opcode, see constants for details of
 *   supported codes
 * @param Callable $callable
 * @return void
 * @since PECL uopz 1, PECL uopz 2
 **/
function uopz_overload($opcode, $callable){}

/**
 * Redefine a constant
 *
 * Redefines the given {@link constant} as {@link value}
 *
 * @param string $constant The name of the class containing the
 *   constant
 * @param mixed $value The name of the constant
 * @return bool
 * @since PECL uopz 1, PECL uopz 2, PECL uopz 5
 **/
function uopz_redefine($constant, $value){}

/**
 * Rename a function at runtime
 *
 * Renames {@link function} to {@link rename}
 *
 * @param string $function The name of the class containing the
 *   function
 * @param string $rename The name of an existing function
 * @return void
 * @since PECL uopz 1, PECL uopz 2
 **/
function uopz_rename($function, $rename){}

/**
 * Restore a previously backed up function
 *
 * @param string $function The name of the class containing the
 *   function to restore
 * @return void
 * @since PECL uopz 1 >= 1.0.3, PECL uopz 2
 **/
function uopz_restore($function){}

/**
 * Sets hook to execute when entering a function or method
 *
 * Sets a hook to execute when entering a function or method.
 *
 * @param string $function The name of the class.
 * @param Closure $hook The name of the function or method.
 * @return bool
 * @since PECL uopz 5
 **/
function uopz_set_hook($function, $hook){}

/**
 * Use mock instead of class for new objects
 *
 * If {@link mock} is a string containing the name of a class then it
 * will be instantiated instead of {@link class}. {@link mock} can also
 * be an object.
 *
 * @param string $class The name of the class to be mocked.
 * @param mixed $mock The mock to use in the form of a string
 *   containing the name of the class to use or an object.
 * @return void
 * @since PECL uopz 5
 **/
function uopz_set_mock($class, $mock){}

/**
 * Sets value of existing class or instance property
 *
 * Sets the value of an existing static class property, if {@link class}
 * is given, or the value of an existing instance property, if {@link
 * instance} is given.
 *
 * @param string $class The name of the class.
 * @param string $property The object instance.
 * @param mixed $value The name of the property.
 * @return void
 * @since PECL uopz 5
 **/
function uopz_set_property($class, $property, $value){}

/**
 * Provide a return value for an existing function
 *
 * Sets the return value of the {@link function} to {@link value}. If
 * {@link value} is a Closure and {@link execute} is set, the Closure
 * will be executed in place of the original function.
 *
 * @param string $function The name of the class containing the
 *   function
 * @param mixed $value The name of an existing function
 * @param bool $execute The value the function should return. If a
 *   Closure is provided and the execute flag is set, the Closure will be
 *   executed in place of the original function.
 * @return bool True if succeeded, false otherwise.
 * @since PECL uopz 5
 **/
function uopz_set_return($function, $value, $execute){}

/**
 * Sets the static variables in function or method scope
 *
 * @param string $function The name of the class.
 * @param array $static The name of the function or method.
 * @return void
 * @since PECL uopz 5
 **/
function uopz_set_static($function, $static){}

/**
 * Undefine a constant
 *
 * Removes the constant at runtime
 *
 * @param string $constant The name of the class containing {@link
 *   constant}
 * @return bool
 * @since PECL uopz 1, PECL uopz 2, PECL uopz 5
 **/
function uopz_undefine($constant){}

/**
 * Removes previously set hook on function or method
 *
 * Removes the previously set hook on a function or method.
 *
 * @param string $function The name of the class.
 * @return bool
 * @since PECL uopz 5
 **/
function uopz_unset_hook($function){}

/**
 * Unset previously set mock
 *
 * Unsets the previously set mock for {@link class}.
 *
 * @param string $class The name of the mocked class.
 * @return void
 * @since PECL uopz 5
 **/
function uopz_unset_mock($class){}

/**
 * Unsets a previously set return value for a function
 *
 * Unsets the return value of the {@link function} previously set by
 * uopz_set_return.
 *
 * @param string $function The name of the class containing the
 *   function
 * @return bool True on success
 * @since PECL uopz 5
 **/
function uopz_unset_return($function){}

/**
 * Decodes URL-encoded string
 *
 * Decodes any %## encoding in the given string. Plus symbols ('+') are
 * decoded to a space character.
 *
 * @param string $str The string to be decoded.
 * @return string Returns the decoded string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function urldecode($str){}

/**
 * URL-encodes string
 *
 * This function is convenient when encoding a string to be used in a
 * query part of a URL, as a convenient way to pass variables to the next
 * page.
 *
 * @param string $str The string to be encoded.
 * @return string Returns a string in which all non-alphanumeric
 *   characters except -_. have been replaced with a percent (%) sign
 *   followed by two hex digits and spaces encoded as plus (+) signs. It
 *   is encoded the same way that the posted data from a WWW form is
 *   encoded, that is the same way as in
 *   application/x-www-form-urlencoded media type. This differs from the
 *   RFC 3986 encoding (see {@link rawurlencode}) in that for historical
 *   reasons, spaces are encoded as plus (+) signs.
 * @since PHP 4, PHP 5, PHP 7
 **/
function urlencode($str){}

/**
 * Generates a user-level error/warning/notice message
 *
 * Used to trigger a user error condition, it can be used in conjunction
 * with the built-in error handler, or with a user defined function that
 * has been set as the new error handler ({@link set_error_handler}).
 *
 * This function is useful when you need to generate a particular
 * response to an exception at runtime.
 *
 * @param string $error_msg The designated error message for this
 *   error. It's limited to 1024 bytes in length. Any additional
 *   characters beyond 1024 bytes will be truncated.
 * @param int $error_type The designated error type for this error. It
 *   only works with the E_USER family of constants, and will default to
 *   E_USER_NOTICE.
 * @return bool This function returns FALSE if wrong {@link error_type}
 *   is specified, TRUE otherwise.
 * @since PHP 4, PHP 5, PHP 7
 **/
function user_error($error_msg, $error_type){}

/**
 * Set whether to use the SOAP error handler
 *
 * This function sets whether or not to use the SOAP error handler in the
 * SOAP server. It will return the previous value. If set to TRUE,
 * details of errors in a SoapServer application will be sent to the
 * client as a SOAP fault message. If FALSE, the standard PHP error
 * handler is used. The default is to send error to the client as SOAP
 * fault message.
 *
 * @param bool $handler Set to TRUE to send error details to clients.
 * @return bool Returns the original value.
 * @since PHP 5, PHP 7
 **/
function use_soap_error_handler($handler){}

/**
 * Delay execution in microseconds
 *
 * Delays program execution for the given number of microseconds.
 *
 * @param int $micro_seconds Halt time in microseconds. A microsecond
 *   is one millionth of a second.
 * @return void
 * @since PHP 4, PHP 5, PHP 7
 **/
function usleep($micro_seconds){}

/**
 * Sort an array by values using a user-defined comparison function
 *
 * This function will sort an array by its values using a user-supplied
 * comparison function. If the array you wish to sort needs to be sorted
 * by some non-trivial criteria, you should use this function.
 *
 * @param array $array The input array.
 * @param callable $value_compare_func
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function usort(&$array, $value_compare_func){}

/**
 * Converts a string with ISO-8859-1 characters encoded with UTF-8 to
 * single-byte ISO-8859-1
 *
 * This function converts the string {@link data} from the UTF-8 encoding
 * to ISO-8859-1. Bytes in the string which are not valid UTF-8, and
 * UTF-8 characters which do not exist in ISO-8859-1 (that is, characters
 * above U+00FF) are replaced with ?.
 *
 * @param string $data A UTF-8 encoded string.
 * @return string Returns the ISO-8859-1 translation of {@link data}.
 * @since PHP 4, PHP 5, PHP 7
 **/
function utf8_decode($data){}

/**
 * Encodes an ISO-8859-1 string to UTF-8
 *
 * This function converts the string {@link data} from the ISO-8859-1
 * encoding to UTF-8.
 *
 * @param string $data An ISO-8859-1 string.
 * @return string Returns the UTF-8 translation of {@link data}.
 * @since PHP 4, PHP 5, PHP 7
 **/
function utf8_encode($data){}

/**
 * Returns the absolute value of a variant
 *
 * @param mixed $val The variant.
 * @return mixed Returns the absolute value of {@link val}.
 * @since PHP 5, PHP 7
 **/
function variant_abs($val){}

/**
 * "Adds" two variant values together and returns the result
 *
 * Adds {@link left} to {@link right} using the following rules (taken
 * from the MSDN library), which correspond to those of Visual Basic:
 * Variant Addition Rules If Then Both expressions are of the string type
 * Concatenation One expression is a string type and the other a
 * character Addition One expression is numeric and the other is a string
 * Addition Both expressions are numeric Addition Either expression is
 * NULL NULL is returned Both expressions are empty Integer subtype is
 * returned
 *
 * @param mixed $left The left operand.
 * @param mixed $right The right operand.
 * @return mixed Returns the result.
 * @since PHP 5, PHP 7
 **/
function variant_add($left, $right){}

/**
 * Performs a bitwise AND operation between two variants
 *
 * Performs a bitwise AND operation. Note that this is slightly different
 * from a regular AND operation.
 *
 * @param mixed $left The left operand.
 * @param mixed $right The right operand.
 * @return mixed Variant AND Rules If {@link left} is If {@link right}
 *   is then the result is TRUETRUETRUE TRUEFALSEFALSE TRUENULLNULL
 *   FALSETRUEFALSE FALSEFALSEFALSE FALSENULLFALSE NULLTRUENULL
 *   NULLFALSEFALSE NULLNULLNULL
 * @since PHP 5, PHP 7
 **/
function variant_and($left, $right){}

/**
 * Convert a variant into a new variant object of another type
 *
 * This function makes a copy of {@link variant} and then performs a
 * variant cast operation to force the copy to have the type given by
 * {@link type}.
 *
 * This function wraps VariantChangeType() in the COM library; consult
 * MSDN for more information.
 *
 * @param variant $variant The variant.
 * @param int $type {@link type} should be one of the VT_XXX constants.
 * @return variant Returns a variant of given {@link type}.
 * @since PHP 5, PHP 7
 **/
function variant_cast($variant, $type){}

/**
 * Concatenates two variant values together and returns the result
 *
 * Concatenates {@link left} with {@link right} and returns the result.
 *
 * This function is notionally equivalent to {@link $left} . {@link
 * $right}.
 *
 * @param mixed $left The left operand.
 * @param mixed $right The right operand.
 * @return mixed Returns the result of the concatenation.
 * @since PHP 5, PHP 7
 **/
function variant_cat($left, $right){}

/**
 * Compares two variants
 *
 * Compares {@link left} with {@link right}.
 *
 * This function will only compare scalar values, not arrays or variant
 * records.
 *
 * @param mixed $left The left operand.
 * @param mixed $right The right operand.
 * @param int $lcid A valid Locale Identifier to use when comparing
 *   strings (this affects string collation).
 * @param int $flags {@link flags} can be one or more of the following
 *   values OR'd together, and affects string comparisons: Variant
 *   Comparision Flags value meaning NORM_IGNORECASE Compare case
 *   insensitively NORM_IGNORENONSPACE Ignore nonspacing characters
 *   NORM_IGNORESYMBOLS Ignore symbols NORM_IGNOREWIDTH Ignore string
 *   width NORM_IGNOREKANATYPE Ignore Kana type NORM_IGNOREKASHIDA Ignore
 *   Arabic kashida characters
 * @return int Returns one of the following: Variant Comparision
 *   Results value meaning VARCMP_LT {@link left} is less than {@link
 *   right} VARCMP_EQ {@link left} is equal to {@link right} VARCMP_GT
 *   {@link left} is greater than {@link right} VARCMP_NULL Either {@link
 *   left}, {@link right} or both are NULL
 * @since PHP 5, PHP 7
 **/
function variant_cmp($left, $right, $lcid, $flags){}

/**
 * Returns a variant date representation of a Unix timestamp
 *
 * Converts {@link timestamp} from a unix timestamp value into a variant
 * of type VT_DATE. This allows easier interopability between the
 * unix-ish parts of PHP and COM.
 *
 * @param int $timestamp A unix timestamp.
 * @return variant Returns a VT_DATE variant.
 * @since PHP 5, PHP 7
 **/
function variant_date_from_timestamp($timestamp){}

/**
 * Converts a variant date/time value to Unix timestamp
 *
 * Converts {@link variant} from a VT_DATE (or similar) value into a Unix
 * timestamp. This allows easier interopability between the Unix-ish
 * parts of PHP and COM.
 *
 * @param variant $variant The variant.
 * @return int Returns a unix timestamp.
 * @since PHP 5, PHP 7
 **/
function variant_date_to_timestamp($variant){}

/**
 * Returns the result from dividing two variants
 *
 * Divides {@link left} by {@link right} and returns the result.
 *
 * @param mixed $left The left operand.
 * @param mixed $right The right operand.
 * @return mixed Variant Division Rules If Then Both expressions are of
 *   the string, date, character, boolean type Double is returned One
 *   expression is a string type and the other a character Division and a
 *   double is returned One expression is numeric and the other is a
 *   string Division and a double is returned. Both expressions are
 *   numeric Division and a double is returned Either expression is NULL
 *   NULL is returned {@link right} is empty and {@link left} is anything
 *   but empty A com_exception with code DISP_E_DIVBYZERO is thrown
 *   {@link left} is empty and {@link right} is anything but empty. 0 as
 *   type double is returned Both expressions are empty A com_exception
 *   with code DISP_E_OVERFLOW is thrown
 * @since PHP 5, PHP 7
 **/
function variant_div($left, $right){}

/**
 * Performs a bitwise equivalence on two variants
 *
 * @param mixed $left The left operand.
 * @param mixed $right The right operand.
 * @return mixed If each bit in {@link left} is equal to the
 *   corresponding bit in {@link right} then TRUE is returned, otherwise
 *   FALSE is returned.
 * @since PHP 5, PHP 7
 **/
function variant_eqv($left, $right){}

/**
 * Returns the integer portion of a variant
 *
 * Gets the integer portion of a variant.
 *
 * @param mixed $variant The variant.
 * @return mixed If {@link variant} is negative, then the first
 *   negative integer greater than or equal to the variant is returned,
 *   otherwise returns the integer portion of the value of {@link
 *   variant}.
 * @since PHP 5, PHP 7
 **/
function variant_fix($variant){}

/**
 * Returns the type of a variant object
 *
 * @param variant $variant The variant object.
 * @return int This function returns an integer value that indicates
 *   the type of {@link variant}, which can be an instance of , or
 *   classes. The return value can be compared to one of the VT_XXX
 *   constants.
 * @since PHP 5, PHP 7
 **/
function variant_get_type($variant){}

/**
 * Converts variants to integers and then returns the result from
 * dividing them
 *
 * Converts {@link left} and {@link right} to integer values, and then
 * performs integer division.
 *
 * @param mixed $left The left operand.
 * @param mixed $right The right operand.
 * @return mixed Variant Integer Division Rules If Then Both
 *   expressions are of the string, date, character, boolean type
 *   Division and integer is returned One expression is a string type and
 *   the other a character Division One expression is numeric and the
 *   other is a string Division Both expressions are numeric Division
 *   Either expression is NULL NULL is returned Both expressions are
 *   empty A com_exception with code DISP_E_DIVBYZERO is thrown
 * @since PHP 5, PHP 7
 **/
function variant_idiv($left, $right){}

/**
 * Performs a bitwise implication on two variants
 *
 * Performs a bitwise implication operation.
 *
 * @param mixed $left The left operand.
 * @param mixed $right The right operand.
 * @return mixed Variant Implication Table If {@link left} is If {@link
 *   right} is then the result is TRUETRUETRUE TRUEFALSEFALSE
 *   TRUENULLTRUE FALSETRUETRUE FALSEFALSETRUE FALSENULLTRUE NULLTRUETRUE
 *   NULLFALSENULL NULLNULLNULL
 * @since PHP 5, PHP 7
 **/
function variant_imp($left, $right){}

/**
 * Returns the integer portion of a variant
 *
 * Gets the integer portion of a variant.
 *
 * @param mixed $variant The variant.
 * @return mixed If {@link variant} is negative, then the first
 *   negative integer greater than or equal to the variant is returned,
 *   otherwise returns the integer portion of the value of {@link
 *   variant}.
 * @since PHP 5, PHP 7
 **/
function variant_int($variant){}

/**
 * Divides two variants and returns only the remainder
 *
 * Divides {@link left} by {@link right} and returns the remainder.
 *
 * @param mixed $left The left operand.
 * @param mixed $right The right operand.
 * @return mixed Returns the remainder of the division.
 * @since PHP 5, PHP 7
 **/
function variant_mod($left, $right){}

/**
 * Multiplies the values of the two variants
 *
 * Multiplies {@link left} by {@link right}.
 *
 * @param mixed $left The left operand.
 * @param mixed $right The right operand.
 * @return mixed Variant Multiplication Rules If Then Both expressions
 *   are of the string, date, character, boolean type Multiplication One
 *   expression is a string type and the other a character Multiplication
 *   One expression is numeric and the other is a string Multiplication
 *   Both expressions are numeric Multiplication Either expression is
 *   NULL NULL is returned Both expressions are empty Empty string is
 *   returned
 * @since PHP 5, PHP 7
 **/
function variant_mul($left, $right){}

/**
 * Performs logical negation on a variant
 *
 * Performs logical negation of {@link variant}.
 *
 * @param mixed $variant The variant.
 * @return mixed Returns the result of the logical negation.
 * @since PHP 5, PHP 7
 **/
function variant_neg($variant){}

/**
 * Performs bitwise not negation on a variant
 *
 * Performs bitwise not negation on {@link variant} and returns the
 * result.
 *
 * @param mixed $variant The variant.
 * @return mixed Returns the bitwise not negation. If {@link variant}
 *   is NULL, the result will also be NULL.
 * @since PHP 5, PHP 7
 **/
function variant_not($variant){}

/**
 * Performs a logical disjunction on two variants
 *
 * Performs a bitwise OR operation. Note that this is slightly different
 * from a regular OR operation.
 *
 * @param mixed $left The left operand.
 * @param mixed $right The right operand.
 * @return mixed Variant OR Rules If {@link left} is If {@link right}
 *   is then the result is TRUETRUETRUE TRUEFALSETRUE TRUENULLTRUE
 *   FALSETRUETRUE FALSEFALSEFALSE FALSENULLNULL NULLTRUETRUE
 *   NULLFALSENULL NULLNULLNULL
 * @since PHP 5, PHP 7
 **/
function variant_or($left, $right){}

/**
 * Returns the result of performing the power function with two variants
 *
 * Returns the result of {@link left} to the power of {@link right}.
 *
 * @param mixed $left The left operand.
 * @param mixed $right The right operand.
 * @return mixed Returns the result of {@link left} to the power of
 *   {@link right}.
 * @since PHP 5, PHP 7
 **/
function variant_pow($left, $right){}

/**
 * Rounds a variant to the specified number of decimal places
 *
 * Returns the value of {@link variant} rounded to {@link decimals}
 * decimal places.
 *
 * @param mixed $variant The variant.
 * @param int $decimals Number of decimal places.
 * @return mixed Returns the rounded value.
 * @since PHP 5, PHP 7
 **/
function variant_round($variant, $decimals){}

/**
 * Assigns a new value for a variant object
 *
 * Converts {@link value} to a variant and assigns it to the {@link
 * variant} object; no new variant object is created, and the old value
 * of {@link variant} is freed/released.
 *
 * @param variant $variant The variant.
 * @param mixed $value
 * @return void
 * @since PHP 5, PHP 7
 **/
function variant_set($variant, $value){}

/**
 * Convert a variant into another type "in-place"
 *
 * This function is similar to {@link variant_cast} except that the
 * variant is modified "in-place"; no new variant is created. The
 * parameters for this function have identical meaning to those of {@link
 * variant_cast}.
 *
 * @param variant $variant The variant.
 * @param int $type
 * @return void
 * @since PHP 5, PHP 7
 **/
function variant_set_type($variant, $type){}

/**
 * Subtracts the value of the right variant from the left variant value
 *
 * Subtracts {@link right} from {@link left}.
 *
 * @param mixed $left The left operand.
 * @param mixed $right The right operand.
 * @return mixed Variant Subtraction Rules If Then Both expressions are
 *   of the string type Subtraction One expression is a string type and
 *   the other a character Subtraction One expression is numeric and the
 *   other is a string Subtraction. Both expressions are numeric
 *   Subtraction Either expression is NULL NULL is returned Both
 *   expressions are empty Empty string is returned
 * @since PHP 5, PHP 7
 **/
function variant_sub($left, $right){}

/**
 * Performs a logical exclusion on two variants
 *
 * Performs a logical exclusion.
 *
 * @param mixed $left The left operand.
 * @param mixed $right The right operand.
 * @return mixed Variant XOR Rules If {@link left} is If {@link right}
 *   is then the result is TRUETRUEFALSE TRUEFALSETRUE FALSETRUETRUE
 *   FALSEFALSEFALSE NULLNULLNULL
 * @since PHP 5, PHP 7
 **/
function variant_xor($left, $right){}

/**
 * Dumps information about a variable
 *
 * @param mixed $expression The variable you want to dump.
 * @return void
 * @since PHP 4, PHP 5, PHP 7
 **/
function var_dump($expression){}

/**
 * Outputs or returns a parsable string representation of a variable
 *
 * @param mixed $expression The variable you want to export.
 * @param bool $return If used and set to TRUE, {@link var_export} will
 *   return the variable representation instead of outputting it.
 * @return mixed Returns the variable representation when the {@link
 *   return} parameter is used and evaluates to TRUE. Otherwise, this
 *   function will return NULL.
 * @since PHP 4 >= 4.2.0, PHP 5, PHP 7
 **/
function var_export($expression, $return){}

/**
 * Compares two "PHP-standardized" version number strings
 *
 * {@link version_compare} compares two "PHP-standardized" version number
 * strings.
 *
 * The function first replaces _, - and + with a dot . in the version
 * strings and also inserts dots . before and after any non number so
 * that for example '4.3.2RC1' becomes '4.3.2.RC.1'. Then it compares the
 * parts starting from left to right. If a part contains special version
 * strings these are handled in the following order: any string not found
 * in this list < dev < alpha = a < beta = b < RC = rc < # < pl = p. This
 * way not only versions with different levels like '4.1' and '4.1.2' can
 * be compared but also any PHP specific version containing development
 * state.
 *
 * @param string $version1 First version number.
 * @param string $version2 Second version number.
 * @return int By default, {@link version_compare} returns -1 if the
 *   first version is lower than the second, 0 if they are equal, and 1
 *   if the second is lower.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function version_compare($version1, $version2){}

/**
 * Write a formatted string to a stream
 *
 * Write a string produced according to {@link format} to the stream
 * resource specified by {@link handle}.
 *
 * Operates as {@link fprintf} but accepts an array of arguments, rather
 * than a variable number of arguments.
 *
 * @param resource $handle
 * @param string $format See {@link sprintf} for a description of
 *   {@link format}.
 * @param array $args
 * @return int Returns the length of the outputted string.
 * @since PHP 5, PHP 7
 **/
function vfprintf($handle, $format, $args){}

/**
 * Perform an Apache sub-request
 *
 * {@link virtual} is an Apache-specific function which is similar to
 * <!--#include virtual...--> in mod_include. It performs an Apache
 * sub-request. It is useful for including CGI scripts or .shtml files,
 * or anything else that you would parse through Apache. Note that for a
 * CGI script, the script must generate valid CGI headers. At the minimum
 * that means it must generate a Content-Type header.
 *
 * To run the sub-request, all buffers are terminated and flushed to the
 * browser, pending headers are sent too.
 *
 * @param string $filename The file that the virtual command will be
 *   performed on.
 * @return bool Performs the virtual command on success, or returns
 *   FALSE on failure.
 * @since PHP 4, PHP 5, PHP 7
 **/
function virtual($filename){}

/**
 * Add an alias for a virtual domain
 *
 * @param string $domain
 * @param string $aliasdomain
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL vpopmail >= 0.2
 **/
function vpopmail_add_alias_domain($domain, $aliasdomain){}

/**
 * Add alias to an existing virtual domain
 *
 * @param string $olddomain
 * @param string $newdomain
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL vpopmail >= 0.2
 **/
function vpopmail_add_alias_domain_ex($olddomain, $newdomain){}

/**
 * Add a new virtual domain
 *
 * @param string $domain
 * @param string $dir
 * @param int $uid
 * @param int $gid
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL vpopmail >= 0.2
 **/
function vpopmail_add_domain($domain, $dir, $uid, $gid){}

/**
 * Add a new virtual domain
 *
 * @param string $domain
 * @param string $passwd
 * @param string $quota
 * @param string $bounce
 * @param bool $apop
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL vpopmail >= 0.2
 **/
function vpopmail_add_domain_ex($domain, $passwd, $quota, $bounce, $apop){}

/**
 * Add a new user to the specified virtual domain
 *
 * @param string $user
 * @param string $domain
 * @param string $password
 * @param string $gecos
 * @param bool $apop
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL vpopmail >= 0.2
 **/
function vpopmail_add_user($user, $domain, $password, $gecos, $apop){}

/**
 * Insert a virtual alias
 *
 * @param string $user
 * @param string $domain
 * @param string $alias
 * @return bool
 * @since PHP 4 >= 4.0.7, PECL vpopmail >= 0.2
 **/
function vpopmail_alias_add($user, $domain, $alias){}

/**
 * Deletes all virtual aliases of a user
 *
 * @param string $user
 * @param string $domain
 * @return bool
 * @since PHP 4 >= 4.0.7, PECL vpopmail >= 0.2
 **/
function vpopmail_alias_del($user, $domain){}

/**
 * Deletes all virtual aliases of a domain
 *
 * @param string $domain
 * @return bool
 * @since PHP 4 >= 4.0.7, PECL vpopmail >= 0.2
 **/
function vpopmail_alias_del_domain($domain){}

/**
 * Get all lines of an alias for a domain
 *
 * @param string $alias
 * @param string $domain
 * @return array
 * @since PHP 4 >= 4.0.7, PECL vpopmail >= 0.2
 **/
function vpopmail_alias_get($alias, $domain){}

/**
 * Get all lines of an alias for a domain
 *
 * @param string $domain
 * @return array
 * @since PHP 4 >= 4.0.7, PECL vpopmail >= 0.2
 **/
function vpopmail_alias_get_all($domain){}

/**
 * Attempt to validate a username/domain/password
 *
 * @param string $user
 * @param string $domain
 * @param string $password
 * @param string $apop
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL vpopmail >= 0.2
 **/
function vpopmail_auth_user($user, $domain, $password, $apop){}

/**
 * Delete a virtual domain
 *
 * @param string $domain
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL vpopmail >= 0.2
 **/
function vpopmail_del_domain($domain){}

/**
 * Delete a virtual domain
 *
 * @param string $domain
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL vpopmail >= 0.2
 **/
function vpopmail_del_domain_ex($domain){}

/**
 * Delete a user from a virtual domain
 *
 * @param string $user
 * @param string $domain
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL vpopmail >= 0.2
 **/
function vpopmail_del_user($user, $domain){}

/**
 * Get text message for last vpopmail error
 *
 * @return string
 * @since PHP 4 >= 4.0.5, PECL vpopmail >= 0.2
 **/
function vpopmail_error(){}

/**
 * Change a virtual user's password
 *
 * @param string $user
 * @param string $domain
 * @param string $password
 * @param bool $apop
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL vpopmail >= 0.2
 **/
function vpopmail_passwd($user, $domain, $password, $apop){}

/**
 * Sets a virtual user's quota
 *
 * @param string $user
 * @param string $domain
 * @param string $quota
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL vpopmail >= 0.2
 **/
function vpopmail_set_user_quota($user, $domain, $quota){}

/**
 * Output a formatted string
 *
 * Display array values as a formatted string according to {@link format}
 * (which is described in the documentation for {@link sprintf}).
 *
 * Operates as {@link printf} but accepts an array of arguments, rather
 * than a variable number of arguments.
 *
 * @param string $format See {@link sprintf} for a description of
 *   {@link format}.
 * @param array $args
 * @return int Returns the length of the outputted string.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function vprintf($format, $args){}

/**
 * Return a formatted string
 *
 * Operates as {@link sprintf} but accepts an array of arguments, rather
 * than a variable number of arguments.
 *
 * @param string $format See {@link sprintf} for a description of
 *   {@link format}.
 * @param array $args
 * @return string Return array values as a formatted string according
 *   to {@link format} (which is described in the documentation for
 *   {@link sprintf}).
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function vsprintf($format, $args){}

/**
 * Add variables to a WDDX packet with the specified ID
 *
 * Serializes the passed variables and add the result to the given
 * packet.
 *
 * @param resource $packet_id A WDDX packet, returned by {@link
 *   wddx_packet_start}.
 * @param mixed $var_name Can be either a string naming a variable or
 *   an array containing strings naming the variables or another array,
 *   etc.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function wddx_add_vars($packet_id, $var_name){}

/**
 * Unserializes a WDDX packet
 *
 * Unserializes a WDDX {@link packet}.
 *
 * @param string $packet A WDDX packet, as a string or stream.
 * @return mixed Returns the deserialized value which can be a string,
 *   a number or an array. Note that structures are deserialized into
 *   associative arrays.
 * @since PHP 4, PHP 5, PHP 7
 **/
function wddx_deserialize($packet){}

/**
 * Ends a WDDX packet with the specified ID
 *
 * Ends and returns the given WDDX packet.
 *
 * @param resource $packet_id A WDDX packet, returned by {@link
 *   wddx_packet_start}.
 * @return string Returns the string containing the WDDX packet.
 * @since PHP 4, PHP 5, PHP 7
 **/
function wddx_packet_end($packet_id){}

/**
 * Starts a new WDDX packet with structure inside it
 *
 * Start a new WDDX packet for incremental addition of variables. It
 * automatically creates a structure definition inside the packet to
 * contain the variables.
 *
 * @param string $comment An optional comment string.
 * @return resource Returns a packet ID for use in later functions, or
 *   FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function wddx_packet_start($comment){}

/**
 * Serialize a single value into a WDDX packet
 *
 * Creates a WDDX packet from a single given value.
 *
 * @param mixed $var The value to be serialized
 * @param string $comment An optional comment string that appears in
 *   the packet header.
 * @return string Returns the WDDX packet, or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function wddx_serialize_value($var, $comment){}

/**
 * Serialize variables into a WDDX packet
 *
 * Creates a WDDX packet with a structure that contains the serialized
 * representation of the passed variables.
 *
 * @param mixed $var_name Can be either a string naming a variable or
 *   an array containing strings naming the variables or another array,
 *   etc.
 * @return string Returns the WDDX packet, or FALSE on error.
 * @since PHP 4, PHP 5, PHP 7
 **/
function wddx_serialize_vars($var_name){}

/**
 * Resumes a paused service
 *
 * Resumes a paused, named service. Requires administrative privileges or
 * an account with appropriate rights set in the service's ACL.
 *
 * @param string $servicename The short name of the service.
 * @param string $machine Optional machine name. If omitted, the local
 *   machine is used.
 * @return int
 **/
function win32_continue_service($servicename, $machine){}

/**
 * Creates a new service entry in the SCM database
 *
 * Attempts to add a service into the SCM database. Administrative
 * privileges are required for this to succeed.
 *
 * @param array $details An array of service details: {@link service}
 *   The short name of the service. This is the name that you will use to
 *   control the service using the net command. The service must be
 *   unique (no two services can share the same name), and, ideally,
 *   should avoid having spaces in the name. {@link display} The display
 *   name of the service. This is the name that you will see in the
 *   Services Applet. {@link description} The long description of the
 *   service. This is the description that you will see in the Services
 *   Applet. {@link user} The name of the user account under which you
 *   want the service to run. If omitted, the service will run as the
 *   LocalSystem account. If the username is specified, you must also
 *   provide a password. {@link password} The password that corresponds
 *   to the {@link user}. {@link path} The full path to the executable
 *   module that will be launched when the service is started. If
 *   omitted, the path to the current PHP process will be used. {@link
 *   params} Command line parameters to pass to the service when it
 *   starts. If you want to run a PHP script as the service, then the
 *   first parameter should be the full path to the PHP script that you
 *   intend to run. If the script name or path contains spaces, then wrap
 *   the full path to the PHP script with ". {@link load_order} Controls
 *   the load_order. This is not yet fully supported. {@link svc_type}
 *   Sets the service type. If omitted, the default value is
 *   WIN32_SERVICE_WIN32_OWN_PROCESS. Don't change this unless you know
 *   what you're doing. {@link start_type} Specifies how the service
 *   should be started. The default is WIN32_SERVICE_AUTO_START which
 *   means the service will be launched when the machine starts up.
 *   {@link error_control} Informs the SCM what it should do when it
 *   detects a problem with the service. The default is
 *   WIN32_SERVER_ERROR_IGNORE. Changing this value is not yet fully
 *   supported. {@link delayed_start} If {@link delayed_start} is set to
 *   TRUE, then this will inform the SCM that this service should be
 *   started after other auto-start services are started plus a short
 *   delay. Any service can be marked as a delayed auto-start service;
 *   however, this setting has no effect unless the service's {@link
 *   start_type} is WIN32_SERVICE_AUTO_START. This setting is only
 *   applicable on Windows Vista and Windows Server 2008 or greater.
 *   {@link base_priority} To reduce the impact on processor utilisation,
 *   it may be necessary to set a base priority lower than normal. The
 *   {@link base_priority} can be set to one of the constants define in
 *   Win32 Base Priority Classes.
 * @param string $machine The short name of the service. This is the
 *   name that you will use to control the service using the net command.
 *   The service must be unique (no two services can share the same
 *   name), and, ideally, should avoid having spaces in the name.
 * @return mixed
 **/
function win32_create_service($details, $machine){}

/**
 * Deletes a service entry from the SCM database
 *
 * Attempts to delete a service from the SCM database. Administrative
 * privileges are required for this to succeed.
 *
 * This function really just marks the service for deletion. If other
 * processes (such as the Services Applet) are open, then the deletion
 * will be deferred until those applications are closed. If a service is
 * marked for deletion, further attempts to delete it will fail, and
 * attempts to create a new service with that name will also fail.
 *
 * @param string $servicename The short name of the service.
 * @param string $machine The optional machine name. If omitted, the
 *   local machine will be used.
 * @return mixed
 **/
function win32_delete_service($servicename, $machine){}

/**
 * Returns the last control message that was sent to this service
 *
 * Returns the control code that was last sent to this service process.
 * When running as a service you should periodically check this to
 * determine if your service needs to stop running.
 *
 * @return int Returns a control constant which will be one of the
 *   Win32Service Service Control Message Constants:
 *   WIN32_SERVICE_CONTROL_CONTINUE, WIN32_SERVICE_CONTROL_INTERROGATE,
 *   WIN32_SERVICE_CONTROL_PAUSE, WIN32_SERVICE_CONTROL_PRESHUTDOWN,
 *   WIN32_SERVICE_CONTROL_SHUTDOWN, WIN32_SERVICE_CONTROL_STOP.
 **/
function win32_get_last_control_message(){}

/**
 * Pauses a service
 *
 * Pauses a named service. Requires administrative privileges or an
 * account with appropriate rights set in the service's ACL.
 *
 * @param string $servicename The short name of the service.
 * @param string $machine Optional machine name. If omitted, the local
 *   machine is used.
 * @return int
 **/
function win32_pause_service($servicename, $machine){}

/**
 * List running processes
 *
 * Retrieves statistics about all running processes.
 *
 * @return array Returns FALSE on failure, or an array consisting of
 *   process statistics like {@link win32_ps_stat_proc} returns for all
 *   running processes on success.
 * @since PECL win32ps >= 1.0.1
 **/
function win32_ps_list_procs(){}

/**
 * Stat memory utilization
 *
 * Retrieves statistics about the global memory utilization.
 *
 * @return array Returns FALSE on failure, or an array consisting of
 *   the following information on success:
 * @since PECL win32ps >= 1.0.1
 **/
function win32_ps_stat_mem(){}

/**
 * Stat process
 *
 * Retrieves statistics about the process with the process id {@link
 * pid}.
 *
 * @param int $pid The process id of the process to stat. If omitted,
 *   the id of the current process.
 * @return array Returns FALSE on failure, or an array consisting of
 *   the following information on success:
 * @since PECL win32ps >= 1.0.1
 **/
function win32_ps_stat_proc($pid){}

/**
 * Queries the status of a service
 *
 * Queries the current status for a service, returning an array of
 * information.
 *
 * @param string $servicename The short name of the service.
 * @param string $machine The optional machine name. If omitted, the
 *   local machine will be used.
 * @return mixed Returns an array consisting of the following
 *   information on success
 **/
function win32_query_service_status($servicename, $machine){}

/**
 * Update the service status
 *
 * Informs the SCM of the current status of a running service. This call
 * is only valid for a running service process.
 *
 * @param int $status The service status code, one of
 *   WIN32_SERVICE_RUNNING, WIN32_SERVICE_STOPPED,
 *   WIN32_SERVICE_STOP_PENDING, WIN32_SERVICE_START_PENDING,
 *   WIN32_SERVICE_CONTINUE_PENDING, WIN32_SERVICE_PAUSE_PENDING,
 *   WIN32_SERVICE_PAUSED.
 * @param int $checkpoint The checkpoint value the service increments
 *   periodically to report its progress during a lengthy start, stop,
 *   pause, or continue operation. For example, the service should
 *   increment this value as it completes each step of its initialization
 *   when it is starting up. The {@link checkpoint} is only valid when
 *   the {@link status} is one of WIN32_SERVICE_STOP_PENDING,
 *   WIN32_SERVICE_START_PENDING, WIN32_SERVICE_CONTINUE_PENDING or
 *   WIN32_SERVICE_PAUSE_PENDING.
 * @return bool
 **/
function win32_set_service_status($status, $checkpoint){}

/**
 * Starts a service
 *
 * Attempts to start the named service. Requires administrative
 * privileges or an account with appropriate rights set in the service's
 * ACL.
 *
 * @param string $servicename The short name of the service.
 * @param string $machine Optional machine name. If omitted, the local
 *   machine is used.
 * @return int
 **/
function win32_start_service($servicename, $machine){}

/**
 * Registers the script with the SCM, so that it can act as the service
 * with the given name
 *
 * When launched via the Service Control Manager, a service process is
 * required to "check-in" with it to establish service monitoring and
 * communication facilities. This function performs the check-in by
 * spawning a thread to handle the lower-level communication with the
 * service control manager.
 *
 * Once started, the service process should do 2 things. The first is to
 * tell the Service Control Manager that the service is running. This is
 * achieved by calling {@link win32_set_service_status} with the
 * WIN32_SERVICE_RUNNING constant. If you need to perform some lengthy
 * process before the service is actually running, then you can use the
 * WIN32_SERVICE_START_PENDING constant. The second is to continue to
 * check-in with the service control manager so that it can determine if
 * it should terminate. This is achieved by periodically calling {@link
 * win32_get_last_control_message} and handling the return code
 * appropriately.
 *
 * @param string $name The short-name of the service, as registered by
 *   {@link win32_create_service}.
 * @return mixed
 **/
function win32_start_service_ctrl_dispatcher($name){}

/**
 * Stops a service
 *
 * Stops a named service. Requires administrative privileges or an
 * account with appropriate rights set in the service's ACL.
 *
 * @param string $servicename The short name of the service.
 * @param string $machine Optional machine name. If omitted, the local
 *   machine is used.
 * @return int
 **/
function win32_stop_service($servicename, $machine){}

/**
 * Retrieves information about files cached in the file cache
 *
 * Retrieves information about file cache content and its usage.
 *
 * @param bool $summaryonly Controls whether the returned array will
 *   contain information about individual cache entries along with the
 *   file cache summary.
 * @return array Array of meta data about file cache
 * @since PECL wincache >= 1.0.0
 **/
function wincache_fcache_fileinfo($summaryonly){}

/**
 * Retrieves information about file cache memory usage
 *
 * Retrieves information about memory usage by file cache.
 *
 * @return array Array of meta data about file cache memory usage
 * @since PECL wincache >= 1.0.0
 **/
function wincache_fcache_meminfo(){}

/**
 * Acquires an exclusive lock on a given key
 *
 * Obtains an exclusive lock on a given key. The execution of the current
 * script will be blocked until the lock can be obtained. Once the lock
 * is obtained, the other scripts that try to request the lock by using
 * the same key will be blocked, until the current script releases the
 * lock by using {@link wincache_unlock}.
 *
 * @param string $key Name of the key in the cache to get the lock on.
 * @param bool $isglobal Controls whether the scope of the lock is
 *   system-wide or local. Local locks are scoped to the application pool
 *   in IIS FastCGI case or to all php processes that have the same
 *   parent process identifier.
 * @return bool
 * @since PECL wincache >= 1.1.0
 **/
function wincache_lock($key, $isglobal){}

/**
 * Retrieves information about files cached in the opcode cache
 *
 * Retrieves information about opcode cache content and its usage.
 *
 * @param bool $summaryonly Controls whether the returned array will
 *   contain information about individual cache entries along with the
 *   opcode cache summary.
 * @return array Array of meta data about opcode cache
 * @since PECL wincache >= 1.0.0
 **/
function wincache_ocache_fileinfo($summaryonly){}

/**
 * Retrieves information about opcode cache memory usage
 *
 * Retrieves information about memory usage by opcode cache.
 *
 * @return array Array of meta data about opcode cache memory usage
 * @since PECL wincache >= 1.0.0
 **/
function wincache_ocache_meminfo(){}

/**
 * Refreshes the cache entries for the cached files
 *
 * Refreshes the cache entries for the files, whose names were passed in
 * the input argument. If no argument is specified then refreshes all the
 * entries in the cache.
 *
 * @param array $files An array of file names for files that need to be
 *   refreshed. An absolute or relative file paths can be used.
 * @return bool
 * @since PECL wincache >= 1.0.0
 **/
function wincache_refresh_if_changed($files){}

/**
 * Retrieves information about resolve file path cache
 *
 * Retrieves information about cached mappings between relative file
 * paths and corresponding absolute file paths.
 *
 * @param bool $summaryonly
 * @return array Array of meta data about the resolve file path cache
 * @since PECL wincache >= 1.0.0
 **/
function wincache_rplist_fileinfo($summaryonly){}

/**
 * Retrieves information about memory usage by the resolve file path
 * cache
 *
 * Retrieves information about memory usage by resolve file path cache.
 *
 * @return array Array of meta data that describes memory usage by
 *   resolve file path cache.
 * @since PECL wincache >= 1.0.0
 **/
function wincache_rplist_meminfo(){}

/**
 * Retrieves information about files cached in the session cache
 *
 * Retrieves information about session cache content and its usage.
 *
 * @param bool $summaryonly Controls whether the returned array will
 *   contain information about individual cache entries along with the
 *   session cache summary.
 * @return array Array of meta data about session cache
 * @since PECL wincache >= 1.1.0
 **/
function wincache_scache_info($summaryonly){}

/**
 * Retrieves information about session cache memory usage
 *
 * Retrieves information about memory usage by session cache.
 *
 * @return array Array of meta data about session cache memory usage
 * @since PECL wincache >= 1.1.0
 **/
function wincache_scache_meminfo(){}

/**
 * Adds a variable in user cache only if variable does not already exist
 * in the cache
 *
 * Adds a variable in user cache, only if this variable doesn't already
 * exist in the cache. The added variable remains in the user cache
 * unless its time to live expires or it is deleted by using {@link
 * wincache_ucache_delete} or {@link wincache_ucache_clear} functions.
 *
 * @param string $key Store the variable using this {@link key} name.
 *   If a variable with same key is already present the function will
 *   fail and return FALSE. {@link key} is case sensitive. To override
 *   the value even if {@link key} is present use {@link
 *   wincache_ucache_set} function instad. {@link key} can also take
 *   array of name => value pairs where names will be used as keys. This
 *   can be used to add multiple values in the cache in one operation,
 *   thus avoiding race condition.
 * @param mixed $value Value of a variable to store. {@link Value}
 *   supports all data types except resources, such as file handles. This
 *   paramter is ignored if first argument is an array. A general
 *   guidance is to pass NULL as {@link value} while using array as
 *   {@link key}. If {@link value} is an object, or an array containing
 *   objects, then the objects will be serialized. See __sleep() for
 *   details on serializing objects.
 * @param int $ttl Associative array of keys and values.
 * @return bool If {@link key} is an array, the function returns: If
 *   all the name => value pairs in the array can be set, function
 *   returns an empty array; If all the name => value pairs in the array
 *   cannot be set, function returns FALSE; If some can be set while
 *   others cannot, function returns an array with name=>value pair for
 *   which the addition failed in the user cache.
 * @since PECL wincache >= 1.1.0
 **/
function wincache_ucache_add($key, $value, $ttl){}

/**
 * Compares the variable with old value and assigns new value to it
 *
 * Compares the variable associated with the {@link key} with {@link
 * old_value} and if it matches then assigns the {@link new_value} to it.
 *
 * @param string $key The {@link key} that is used to store the
 *   variable in the cache. {@link key} is case sensitive.
 * @param int $old_value Old value of the variable pointed by {@link
 *   key} in the user cache. The value should be of type long, otherwise
 *   the function returns FALSE.
 * @param int $new_value New value which will get assigned to variable
 *   pointer by {@link key} if a match is found. The value should be of
 *   type long, otherwise the function returns FALSE.
 * @return bool
 * @since PECL wincache >= 1.1.0
 **/
function wincache_ucache_cas($key, $old_value, $new_value){}

/**
 * Deletes entire content of the user cache
 *
 * Clears/deletes all the values stored in the user cache.
 *
 * @return bool
 * @since PECL wincache >= 1.1.0
 **/
function wincache_ucache_clear(){}

/**
 * Decrements the value associated with the key
 *
 * Decrements the value associated with the {@link key} by 1 or as
 * specified by {@link dec_by}.
 *
 * @param string $key The {@link key} that was used to store the
 *   variable in the cache. {@link key} is case sensitive.
 * @param int $dec_by The value by which the variable associated with
 *   the {@link key} will get decremented. If the argument is a floating
 *   point number it will be truncated to nearest integer. The variable
 *   associated with the {@link key} should be of type long, otherwise
 *   the function fails and returns FALSE.
 * @param bool $success Will be set to TRUE on success and FALSE on
 *   failure.
 * @return mixed
 * @since PECL wincache >= 1.1.0
 **/
function wincache_ucache_dec($key, $dec_by, &$success){}

/**
 * Deletes variables from the user cache
 *
 * Deletes the elements in the user cache pointed by {@link key}.
 *
 * @param mixed $key The {@link key} that was used to store the
 *   variable in the cache. {@link key} is case sensitive. {@link key}
 *   can be an array of keys.
 * @return bool
 * @since PECL wincache >= 1.1.0
 **/
function wincache_ucache_delete($key){}

/**
 * Checks if a variable exists in the user cache
 *
 * Checks if a variable with the {@link key} exists in the user cache or
 * not.
 *
 * @param string $key The {@link key} that was used to store the
 *   variable in the cache. {@link key} is case sensitive.
 * @return bool Returns TRUE if variable with the {@link key} exitsts,
 *   otherwise returns FALSE.
 * @since PECL wincache >= 1.1.0
 **/
function wincache_ucache_exists($key){}

/**
 * Gets a variable stored in the user cache
 *
 * Gets a variable stored in the user cache.
 *
 * @param mixed $key The {@link key} that was used to store the
 *   variable in the cache. {@link key} is case sensitive. {@link key}
 *   can be an array of keys. In this case the return value will be an
 *   array of values of each element in the {@link key} array. If an
 *   object, or an array containing objects, is returned, then the
 *   objects will be unserialized. See __wakeup() for details on
 *   unserializing objects.
 * @param bool $success Will be set to TRUE on success and FALSE on
 *   failure.
 * @return mixed
 * @since PECL wincache >= 1.1.0
 **/
function wincache_ucache_get($key, &$success){}

/**
 * Increments the value associated with the key
 *
 * Increments the value associated with the {@link key} by 1 or as
 * specified by {@link inc_by}.
 *
 * @param string $key The {@link key} that was used to store the
 *   variable in the cache. {@link key} is case sensitive.
 * @param int $inc_by The value by which the variable associated with
 *   the {@link key} will get incremented. If the argument is a floating
 *   point number it will be truncated to nearest integer. The variable
 *   associated with the {@link key} should be of type long, otherwise
 *   the function fails and returns FALSE.
 * @param bool $success Will be set to TRUE on success and FALSE on
 *   failure.
 * @return mixed
 * @since PECL wincache >= 1.1.0
 **/
function wincache_ucache_inc($key, $inc_by, &$success){}

/**
 * Retrieves information about data stored in the user cache
 *
 * Retrieves information about data stored in the user cache.
 *
 * @param bool $summaryonly Controls whether the returned array will
 *   contain information about individual cache entries along with the
 *   user cache summary.
 * @param string $key The key of an entry in the user cache. If
 *   specified then the returned array will contain information only
 *   about that cache entry. If not specified and {@link summaryonly} is
 *   set to FALSE then the returned array will contain information about
 *   all entries in the cache.
 * @return array Array of meta data about user cache
 * @since PECL wincache >= 1.1.0
 **/
function wincache_ucache_info($summaryonly, $key){}

/**
 * Retrieves information about user cache memory usage
 *
 * Retrieves information about memory usage by user cache.
 *
 * @return array Array of meta data about user cache memory usage
 * @since PECL wincache >= 1.1.0
 **/
function wincache_ucache_meminfo(){}

/**
 * Adds a variable in user cache and overwrites a variable if it already
 * exists in the cache
 *
 * Adds a variable in user cache. Overwrites a variable if it already
 * exists in the cache. The added or updated variable remains in the user
 * cache unless its time to live expires or it is deleted by using {@link
 * wincache_ucache_delete} or {@link wincache_ucache_clear} functions.
 *
 * @param mixed $key Store the variable using this {@link key} name. If
 *   a variable with same {@link key} is already present the function
 *   will overwrite the previous value with the new one. {@link key} is
 *   case sensitive. {@link key} can also take array of name => value
 *   pairs where names will be used as keys. This can be used to add
 *   multiple values in the cache in one operation, thus avoiding race
 *   condition.
 * @param mixed $value Value of a variable to store. {@link Value}
 *   supports all data types except resources, such as file handles. This
 *   paramter is ignored if first argument is an array. A general
 *   guidance is to pass NULL as {@link value} while using array as
 *   {@link key}. If {@link value} is an object, or an array containing
 *   objects, then the objects will be serialized. See __sleep() for
 *   details on serializing objects.
 * @param int $ttl Associative array of keys and values.
 * @return bool If {@link key} is an array, the function returns: If
 *   all the name => value pairs in the array can be set, function
 *   returns an empty array; If all the name => value pairs in the array
 *   cannot be set, function returns FALSE; If some can be set while
 *   others cannot, function returns an array with name=>value pair for
 *   which the addition failed in the user cache.
 * @since PECL wincache >= 1.1.0
 **/
function wincache_ucache_set($key, $value, $ttl){}

/**
 * Releases an exclusive lock on a given key
 *
 * Releases an exclusive lock that was obtained on a given key by using
 * {@link wincache_lock}. If any other process was blocked waiting for
 * the lock on this key, that process will be able to obtain the lock.
 *
 * @param string $key Name of the key in the cache to release the lock
 *   on.
 * @return bool
 * @since PECL wincache >= 1.1.0
 **/
function wincache_unlock($key){}

/**
 * Wraps a string to a given number of characters
 *
 * Wraps a string to a given number of characters using a string break
 * character.
 *
 * @param string $str The input string.
 * @param int $width The number of characters at which the string will
 *   be wrapped.
 * @param string $break The line is broken using the optional {@link
 *   break} parameter.
 * @param bool $cut If the {@link cut} is set to TRUE, the string is
 *   always wrapped at or before the specified {@link width}. So if you
 *   have a word that is larger than the given width, it is broken apart.
 *   (See second example). When FALSE the function does not split the
 *   word even if the {@link width} is smaller than the word width.
 * @return string Returns the given string wrapped at the specified
 *   length.
 * @since PHP 4 >= 4.0.2, PHP 5, PHP 7
 **/
function wordwrap($str, $width, $break, $cut){}

/**
 * Get an extended attribute
 *
 * This function gets the value of an extended attribute of a file.
 *
 * @param string $filename The file from which we get the attribute.
 * @param string $name The name of the attribute.
 * @param int $flags Supported xattr flags XATTR_DONTFOLLOW Do not
 *   follow the symbolic link but operate on symbolic link itself.
 *   XATTR_ROOT Set attribute in root (trusted) namespace. Requires root
 *   privileges.
 * @return string Returns a string containing the value or FALSE if the
 *   attribute doesn't exist.
 * @since PECL xattr >= 0.9.0
 **/
function xattr_get($filename, $name, $flags){}

/**
 * Get a list of extended attributes
 *
 * This functions gets a list of names of extended attributes of a file.
 *
 * @param string $filename The path of the file.
 * @param int $flags Supported xattr flags XATTR_DONTFOLLOW Do not
 *   follow the symbolic link but operate on symbolic link itself.
 *   XATTR_ROOT Set attribute in root (trusted) namespace. Requires root
 *   privileges.
 * @return array This function returns an array with names of extended
 *   attributes.
 * @since PECL xattr >= 0.9.0
 **/
function xattr_list($filename, $flags){}

/**
 * Remove an extended attribute
 *
 * This function removes an extended attribute of a file.
 *
 * @param string $filename The file from which we remove the attribute.
 * @param string $name The name of the attribute to remove.
 * @param int $flags Supported xattr flags XATTR_DONTFOLLOW Do not
 *   follow the symbolic link but operate on symbolic link itself.
 *   XATTR_ROOT Set attribute in root (trusted) namespace. Requires root
 *   privileges.
 * @return bool
 * @since PECL xattr >= 0.9.0
 **/
function xattr_remove($filename, $name, $flags){}

/**
 * Set an extended attribute
 *
 * This function sets the value of an extended attribute of a file.
 *
 * @param string $filename The file in which we set the attribute.
 * @param string $name The name of the extended attribute. This
 *   attribute will be created if it doesn't exist or replaced otherwise.
 *   You can change this behaviour by using the {@link flags} parameter.
 * @param string $value The value of the attribute.
 * @param int $flags Supported xattr flags XATTR_CREATE Function will
 *   fail if extended attribute already exists. XATTR_REPLACE Function
 *   will fail if extended attribute doesn't exist. XATTR_DONTFOLLOW Do
 *   not follow the symbolic link but operate on symbolic link itself.
 *   XATTR_ROOT Set attribute in root (trusted) namespace. Requires root
 *   privileges.
 * @return bool
 * @since PECL xattr >= 0.9.0
 **/
function xattr_set($filename, $name, $value, $flags){}

/**
 * Check if filesystem supports extended attributes
 *
 * This functions checks if the filesystem holding the given file
 * supports extended attributes. Read access to the file is required.
 *
 * @param string $filename The path of the tested file.
 * @param int $flags Supported xattr flags XATTR_DONTFOLLOW Do not
 *   follow the symbolic link but operate on symbolic link itself.
 * @return bool This function returns TRUE if filesystem supports
 *   extended attributes, FALSE if it doesn't and NULL if it can't be
 *   determined (for example wrong path or lack of permissions to file).
 * @since PECL xattr >= 1.0.0
 **/
function xattr_supported($filename, $flags){}

/**
 * Make binary diff of two files
 *
 * Makes a binary diff of two files and stores the result in a patch
 * file. This function works with both text and binary files. Resulting
 * patch file can be later applied using {@link xdiff_file_bpatch}/{@link
 * xdiff_string_bpatch}.
 *
 * @param string $old_file Path to the first file. This file acts as
 *   "old" file.
 * @param string $new_file Path to the second file. This file acts as
 *   "new" file.
 * @param string $dest Path of the resulting patch file. Resulting file
 *   contains differences between "old" and "new" files. It is in binary
 *   format and is human-unreadable.
 * @return bool
 * @since PECL xdiff >= 1.5.0
 **/
function xdiff_file_bdiff($old_file, $new_file, $dest){}

/**
 * Read a size of file created by applying a binary diff
 *
 * Returns a size of a result file that would be created after applying
 * binary patch from file {@link file} to the original file.
 *
 * @param string $file The path to the binary patch created by {@link
 *   xdiff_string_bdiff} or {@link xdiff_string_rabdiff} function.
 * @return int Returns the size of file that would be created.
 * @since PECL xdiff >= 1.5.0
 **/
function xdiff_file_bdiff_size($file){}

/**
 * Patch a file with a binary diff
 *
 * Patches a {@link file} with a binary {@link patch} and stores the
 * result in a file {@link dest}. This function accepts patches created
 * both via {@link xdiff_file_bdiff} and {@link xdiff_file_rabdiff}
 * functions or their string counterparts.
 *
 * @param string $file The original file.
 * @param string $patch The binary patch file.
 * @param string $dest Path of the resulting file.
 * @return bool
 * @since PECL xdiff >= 1.5.0
 **/
function xdiff_file_bpatch($file, $patch, $dest){}

/**
 * Make unified diff of two files
 *
 * Makes an unified diff containing differences between {@link old_file}
 * and {@link new_file} and stores it in {@link dest} file. The resulting
 * file is human-readable. An optional {@link context} parameter
 * specifies how many lines of context should be added around each
 * change. Setting {@link minimal} parameter to true will result in
 * outputting the shortest patch file possible (can take a long time).
 *
 * @param string $old_file Path to the first file. This file acts as
 *   "old" file.
 * @param string $new_file Path to the second file. This file acts as
 *   "new" file.
 * @param string $dest Path of the resulting patch file.
 * @param int $context Indicates how many lines of context you want to
 *   include in diff result.
 * @param bool $minimal Set this parameter to TRUE if you want to
 *   minimalize size of the result (can take a long time).
 * @return bool
 * @since PECL xdiff >= 0.2.0
 **/
function xdiff_file_diff($old_file, $new_file, $dest, $context, $minimal){}

/**
 * Alias of xdiff_file_bdiff
 *
 * Makes a binary diff of two files and stores the result in a patch
 * file. This function works with both text and binary files. Resulting
 * patch file can be later applied using {@link xdiff_file_bpatch}.
 *
 * Starting with version 1.5.0 this function is an alias of {@link
 * xdiff_file_bdiff}.
 *
 * @param string $old_file Path to the first file. This file acts as
 *   "old" file.
 * @param string $new_file Path to the second file. This file acts as
 *   "new" file.
 * @param string $dest Path of the resulting patch file. Resulting file
 *   contains differences between "old" and "new" files. It is in binary
 *   format and is human-unreadable.
 * @return bool
 * @since PECL xdiff >= 0.2.0
 **/
function xdiff_file_diff_binary($old_file, $new_file, $dest){}

/**
 * Merge 3 files into one
 *
 * Merges three files into one and stores the result in a file {@link
 * dest}. The {@link old_file} is an original version while {@link
 * new_file1} and {@link new_file2} are modified versions of an original.
 *
 * @param string $old_file Path to the first file. It acts as "old"
 *   file.
 * @param string $new_file1 Path to the second file. It acts as
 *   modified version of {@link old_file}.
 * @param string $new_file2 Path to the third file. It acts as modified
 *   version of {@link old_file}.
 * @param string $dest Path of the resulting file, containing merged
 *   changed from both {@link new_file1} and {@link new_file2}.
 * @return mixed Returns TRUE if merge was successful, string with
 *   rejected chunks if it was not or FALSE if an internal error
 *   happened.
 * @since PECL xdiff >= 0.2.0
 **/
function xdiff_file_merge3($old_file, $new_file1, $new_file2, $dest){}

/**
 * Patch a file with an unified diff
 *
 * Patches a {@link file} with a {@link patch} and stores the result in a
 * file. {@link patch} has to be an unified diff created by {@link
 * xdiff_file_diff}/{@link xdiff_string_diff} function. An optional
 * {@link flags} parameter specifies mode of operation.
 *
 * @param string $file The original file.
 * @param string $patch The unified patch file. It has to be created
 *   using {@link xdiff_string_diff}, {@link xdiff_file_diff} functions
 *   or compatible tools.
 * @param string $dest Path of the resulting file.
 * @param int $flags Can be either XDIFF_PATCH_NORMAL (default mode,
 *   normal patch) or XDIFF_PATCH_REVERSE (reversed patch). Starting from
 *   version 1.5.0, you can also use binary OR to enable
 *   XDIFF_PATCH_IGNORESPACE flag.
 * @return mixed Returns FALSE if an internal error happened, string
 *   with rejected chunks if patch couldn't be applied or TRUE if patch
 *   has been successfully applied.
 * @since PECL xdiff >= 0.2.0
 **/
function xdiff_file_patch($file, $patch, $dest, $flags){}

/**
 * Alias of xdiff_file_bpatch
 *
 * Patches a {@link file} with a binary {@link patch} and stores the
 * result in a file {@link dest}. This function accepts patches created
 * both via {@link xdiff_file_bdiff} or {@link xdiff_file_rabdiff}
 * functions or their string counterparts.
 *
 * Starting with version 1.5.0 this function is an alias of {@link
 * xdiff_file_bpatch}.
 *
 * @param string $file The original file.
 * @param string $patch The binary patch file.
 * @param string $dest Path of the resulting file.
 * @return bool
 * @since PECL xdiff >= 0.2.0
 **/
function xdiff_file_patch_binary($file, $patch, $dest){}

/**
 * Make binary diff of two files using the Rabin's polynomial
 * fingerprinting algorithm
 *
 * Makes a binary diff of two files and stores the result in a patch
 * file. The difference between this function and {@link
 * xdiff_file_bdiff} is different algorithm used which should result in
 * faster execution and smaller diff produced. This function works with
 * both text and binary files. Resulting patch file can be later applied
 * using {@link xdiff_file_bpatch}/{@link xdiff_string_bpatch}.
 *
 * For more details about differences between algorithm used please check
 * libxdiff website.
 *
 * @param string $old_file Path to the first file. This file acts as
 *   "old" file.
 * @param string $new_file Path to the second file. This file acts as
 *   "new" file.
 * @param string $dest Path of the resulting patch file. Resulting file
 *   contains differences between "old" and "new" files. It is in binary
 *   format and is human-unreadable.
 * @return bool
 * @since PECL xdiff >= 1.5.0
 **/
function xdiff_file_rabdiff($old_file, $new_file, $dest){}

/**
 * Alias of xdiff_string_bdiff
 *
 * Makes a binary diff of two strings and returns the result. This
 * function works with both text and binary data. Resulting patch can be
 * later applied using {@link xdiff_string_bpatch}/{@link
 * xdiff_file_bpatch}.
 *
 * Starting with version 1.5.0 this function is an alias of {@link
 * xdiff_string_bdiff}.
 *
 * @param string $old_data First string with binary data. It acts as
 *   "old" data.
 * @param string $new_data Second string with binary data. It acts as
 *   "new" data.
 * @return string Returns string with result or FALSE if an internal
 *   error happened.
 * @since PECL xdiff >= 1.5.0
 **/
function xdiff_string_bdiff($old_data, $new_data){}

/**
 * Read a size of file created by applying a binary diff
 *
 * Returns a size of a result file that would be created after applying
 * binary {@link patch} to the original file.
 *
 * @param string $patch The binary patch created by {@link
 *   xdiff_string_bdiff} or {@link xdiff_string_rabdiff} function.
 * @return int Returns the size of file that would be created.
 * @since PECL xdiff >= 1.5.0
 **/
function xdiff_string_bdiff_size($patch){}

/**
 * Patch a string with a binary diff
 *
 * Patches a string {@link str} with a binary {@link patch}. This
 * function accepts patches created both via {@link xdiff_string_bdiff}
 * and {@link xdiff_string_rabdiff} functions or their file counterparts.
 *
 * @param string $str The original binary string.
 * @param string $patch The binary patch string.
 * @return string Returns the patched string, or FALSE on error.
 * @since PECL xdiff >= 1.5.0
 **/
function xdiff_string_bpatch($str, $patch){}

/**
 * Make unified diff of two strings
 *
 * Makes an unified diff containing differences between {@link old_data}
 * string and {@link new_data} string and returns it. The resulting diff
 * is human-readable. An optional {@link context} parameter specifies how
 * many lines of context should be added around each change. Setting
 * {@link minimal} parameter to true will result in outputting the
 * shortest patch file possible (can take a long time).
 *
 * @param string $old_data First string with data. It acts as "old"
 *   data.
 * @param string $new_data Second string with data. It acts as "new"
 *   data.
 * @param int $context Indicates how many lines of context you want to
 *   include in the diff result.
 * @param bool $minimal Set this parameter to TRUE if you want to
 *   minimalize the size of the result (can take a long time).
 * @return string Returns string with resulting diff or FALSE if an
 *   internal error happened.
 * @since PECL xdiff >= 0.2.0
 **/
function xdiff_string_diff($old_data, $new_data, $context, $minimal){}

/**
 * Merge 3 strings into one
 *
 * Merges three strings into one and returns the result. The {@link
 * old_data} is an original version of data while {@link new_data1} and
 * {@link new_data2} are modified versions of an original. An optional
 * {@link error} is used to pass any rejected parts during merging
 * process.
 *
 * @param string $old_data First string with data. It acts as "old"
 *   data.
 * @param string $new_data1 Second string with data. It acts as
 *   modified version of {@link old_data}.
 * @param string $new_data2 Third string with data. It acts as modified
 *   version of {@link old_data}.
 * @param string $error If provided then rejected parts are stored
 *   inside this variable.
 * @return mixed Returns the merged string, FALSE if an internal error
 *   happened, or TRUE if merged string is empty.
 * @since PECL xdiff >= 0.2.0
 **/
function xdiff_string_merge3($old_data, $new_data1, $new_data2, &$error){}

/**
 * Patch a string with an unified diff
 *
 * Patches a {@link str} string with an unified patch in {@link patch}
 * parameter and returns the result. {@link patch} has to be an unified
 * diff created by {@link xdiff_file_diff}/{@link xdiff_string_diff}
 * function. An optional {@link flags} parameter specifies mode of
 * operation. Any rejected parts of the patch will be stored inside
 * {@link error} variable if it is provided.
 *
 * @param string $str The original string.
 * @param string $patch The unified patch string. It has to be created
 *   using {@link xdiff_string_diff}, {@link xdiff_file_diff} functions
 *   or compatible tools.
 * @param int $flags {@link flags} can be either XDIFF_PATCH_NORMAL
 *   (default mode, normal patch) or XDIFF_PATCH_REVERSE (reversed
 *   patch). Starting from version 1.5.0, you can also use binary OR to
 *   enable XDIFF_PATCH_IGNORESPACE flag.
 * @param string $error If provided then rejected parts are stored
 *   inside this variable.
 * @return string Returns the patched string, or FALSE on error.
 * @since PECL xdiff >= 0.2.0
 **/
function xdiff_string_patch($str, $patch, $flags, &$error){}

/**
 * Alias of xdiff_string_bpatch
 *
 * Patches a string {@link str} with a binary {@link patch}. This
 * function accepts patches created both via {@link xdiff_string_bdiff}
 * and {@link xdiff_string_rabdiff} functions or their file counterparts.
 *
 * Starting with version 1.5.0 this function is an alias of {@link
 * xdiff_string_bpatch}.
 *
 * @param string $str The original binary string.
 * @param string $patch The binary patch string.
 * @return string Returns the patched string, or FALSE on error.
 * @since PECL xdiff >= 0.2.0
 **/
function xdiff_string_patch_binary($str, $patch){}

/**
 * Stops xhprof profiler
 *
 * Stops the profiler, and returns xhprof data from the run.
 *
 * @return array An array of xhprof data, from the run.
 * @since PECL xhprof >= 0.9.0
 **/
function xhprof_disable(){}

/**
 * Start xhprof profiler
 *
 * Start xhprof profiling.
 *
 * @param int $flags Optional flags to add additional information to
 *   the profiling. See the XHprof constants for further information
 *   about these flags, e.g., XHPROF_FLAGS_MEMORY to enable memory
 *   profiling.
 * @param array $options An array of optional options, namely, the
 *   'ignored_functions' option to pass in functions to be ignored during
 *   profiling.
 * @return void NULL
 * @since PECL xhprof >= 0.9.0
 **/
function xhprof_enable($flags, $options){}

/**
 * Stops xhprof sample profiler
 *
 * Stops the sample mode xhprof profiler, and
 *
 * @return array An array of xhprof sample data, from the run.
 * @since PECL xhprof >= 0.9.0
 **/
function xhprof_sample_disable(){}

/**
 * Start XHProf profiling in sampling mode
 *
 * Starts profiling in sample mode, which is a lighter weight version of
 * {@link xhprof_enable}. The sampling interval is 0.1 seconds, and
 * samples record the full function call stack. The main use case is when
 * lower overhead is required when doing performance monitoring and
 * diagnostics.
 *
 * @return void NULL
 * @since PECL xhprof >= 0.9.0
 **/
function xhprof_sample_enable(){}

/**
 * Decodes XML into native PHP types
 *
 * @param string $xml XML response returned by XMLRPC method.
 * @param string $encoding Input encoding supported by iconv.
 * @return mixed Returns either an array, or an integer, or a string,
 *   or a boolean according to the response returned by the XMLRPC
 *   method.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function xmlrpc_decode($xml, $encoding){}

/**
 * Decodes XML into native PHP types
 *
 * @param string $xml
 * @param string $method
 * @param string $encoding
 * @return mixed
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function xmlrpc_decode_request($xml, &$method, $encoding){}

/**
 * Generates XML for a PHP value
 *
 * @param mixed $value
 * @return string
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function xmlrpc_encode($value){}

/**
 * Generates XML for a method request
 *
 * @param string $method Name of the method to call.
 * @param mixed $params Method parameters compatible with method
 *   signature.
 * @param array $output_options Array specifying output options may
 *   contain (default values are emphasised): output_type: php, xml
 *   verbosity: no_white_space, newlines_only, pretty escaping: cdata,
 *   non-ascii, non-print, markup (may be a string with one value or an
 *   array with multiple values) version: simple, xmlrpc, soap 1.1, auto
 *   encoding: iso-8859-1, other character set supported by iconv
 * @return string Returns a string containing the XML representation of
 *   the request.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function xmlrpc_encode_request($method, $params, $output_options){}

/**
 * Gets xmlrpc type for a PHP value
 *
 * This function is especially useful for base64 and datetime strings.
 *
 * @param mixed $value PHP value
 * @return string Returns the XML-RPC type.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function xmlrpc_get_type($value){}

/**
 * Determines if an array value represents an XMLRPC fault
 *
 * @param array $arg Array returned by {@link xmlrpc_decode}.
 * @return bool Returns TRUE if the argument means fault, FALSE
 *   otherwise. Fault description is available in $arg["faultString"],
 *   fault code is in $arg["faultCode"].
 * @since PHP 4 >= 4.3.0, PHP 5, PHP 7
 **/
function xmlrpc_is_fault($arg){}

/**
 * Decodes XML into a list of method descriptions
 *
 * @param string $xml
 * @return array
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function xmlrpc_parse_method_descriptions($xml){}

/**
 * Adds introspection documentation
 *
 * @param resource $server
 * @param array $desc
 * @return int
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function xmlrpc_server_add_introspection_data($server, $desc){}

/**
 * Parses XML requests and call methods
 *
 * @param resource $server
 * @param string $xml
 * @param mixed $user_data
 * @param array $output_options
 * @return string
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function xmlrpc_server_call_method($server, $xml, $user_data, $output_options){}

/**
 * Creates an xmlrpc server
 *
 * @return resource
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function xmlrpc_server_create(){}

/**
 * Destroys server resources
 *
 * @param resource $server
 * @return bool
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function xmlrpc_server_destroy($server){}

/**
 * Register a PHP function to generate documentation
 *
 * @param resource $server
 * @param string $function
 * @return bool
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function xmlrpc_server_register_introspection_callback($server, $function){}

/**
 * Register a PHP function to resource method matching method_name
 *
 * @param resource $server
 * @param string $method_name
 * @param string $function
 * @return bool
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function xmlrpc_server_register_method($server, $method_name, $function){}

/**
 * Sets xmlrpc type, base64 or datetime, for a PHP string value
 *
 * @param string $value Value to set the type
 * @param string $type 'base64' or 'datetime'
 * @return bool If successful, {@link value} is converted to an object.
 * @since PHP 4 >= 4.1.0, PHP 5, PHP 7
 **/
function xmlrpc_set_type(&$value, $type){}

/**
 * End attribute
 *
 * Ends the current attribute.
 *
 * @param resource $xmlwriter
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_end_attribute($xmlwriter){}

/**
 * End current CDATA
 *
 * Ends the current CDATA section.
 *
 * @param resource $xmlwriter
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_end_cdata($xmlwriter){}

/**
 * Create end comment
 *
 * Ends the current comment.
 *
 * @param resource $xmlwriter
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 1.0.0
 **/
function xmlwriter_end_comment($xmlwriter){}

/**
 * End current document
 *
 * Ends the current document.
 *
 * @param resource $xmlwriter
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_end_document($xmlwriter){}

/**
 * End current DTD
 *
 * Ends the DTD of the document.
 *
 * @param resource $xmlwriter
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_end_dtd($xmlwriter){}

/**
 * End current DTD AttList
 *
 * Ends the current DTD attribute list.
 *
 * @param resource $xmlwriter
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_end_dtd_attlist($xmlwriter){}

/**
 * End current DTD element
 *
 * Ends the current DTD element.
 *
 * @param resource $xmlwriter
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_end_dtd_element($xmlwriter){}

/**
 * End current DTD Entity
 *
 * Ends the current DTD entity.
 *
 * @param resource $xmlwriter
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_end_dtd_entity($xmlwriter){}

/**
 * End current element
 *
 * Ends the current element.
 *
 * @param resource $xmlwriter
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_end_element($xmlwriter){}

/**
 * End current PI
 *
 * Ends the current processing instruction.
 *
 * @param resource $xmlwriter
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_end_pi($xmlwriter){}

/**
 * Flush current buffer
 *
 * Flushes the current buffer.
 *
 * @param resource $xmlwriter Whether to empty the buffer or not.
 *   Default is TRUE.
 * @param bool $empty
 * @return mixed If you opened the writer in memory, this function
 *   returns the generated XML buffer, Else, if using URI, this function
 *   will write the buffer and return the number of written bytes.
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 1.0.0
 **/
function xmlwriter_flush($xmlwriter, $empty){}

/**
 * End current element
 *
 * End the current xml element. Writes an end tag even if the element is
 * empty.
 *
 * @param resource $xmlwriter
 * @return bool
 * @since PHP 5 >= 5.2.0, PHP 7, PECL xmlwriter >= 2.0.4
 **/
function xmlwriter_full_end_element($xmlwriter){}

/**
 * Create new xmlwriter using memory for string output
 *
 * Creates a new XMLWriter using memory for string output.
 *
 * @return resource :
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_open_memory(){}

/**
 * Create new xmlwriter using source uri for output
 *
 * Creates a new XMLWriter using {@link uri} for the output.
 *
 * @param string $uri The URI of the resource for the output.
 * @return resource :
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_open_uri($uri){}

/**
 * Returns current buffer
 *
 * Returns the current buffer.
 *
 * @param resource $xmlwriter Whether to flush the output buffer or
 *   not. Default is TRUE.
 * @param bool $flush
 * @return string Returns the current buffer as a string.
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_output_memory($xmlwriter, $flush){}

/**
 * Toggle indentation on/off
 *
 * Toggles indentation on or off.
 *
 * @param resource $xmlwriter Whether indentation is enabled.
 * @param bool $indent
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_set_indent($xmlwriter, $indent){}

/**
 * Set string used for indenting
 *
 * Sets the string which will be used to indent each element/attribute of
 * the resulting xml.
 *
 * @param resource $xmlwriter The indentation string.
 * @param string $indentString
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_set_indent_string($xmlwriter, $indentString){}

/**
 * Create start attribute
 *
 * Starts an attribute.
 *
 * @param resource $xmlwriter The attribute name.
 * @param string $name
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_start_attribute($xmlwriter, $name){}

/**
 * Create start namespaced attribute
 *
 * Starts a namespaced attribute.
 *
 * @param resource $xmlwriter The namespace prefix.
 * @param string $prefix The attribute name.
 * @param string $name The namespace URI.
 * @param string $uri
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_start_attribute_ns($xmlwriter, $prefix, $name, $uri){}

/**
 * Create start CDATA tag
 *
 * Starts a CDATA.
 *
 * @param resource $xmlwriter
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_start_cdata($xmlwriter){}

/**
 * Create start comment
 *
 * Starts a comment.
 *
 * @param resource $xmlwriter
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 1.0.0
 **/
function xmlwriter_start_comment($xmlwriter){}

/**
 * Create document tag
 *
 * Starts a document.
 *
 * @param resource $xmlwriter The version number of the document as
 *   part of the XML declaration.
 * @param string $version The encoding of the document as part of the
 *   XML declaration.
 * @param string $encoding yes or no.
 * @param string $standalone
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_start_document($xmlwriter, $version, $encoding, $standalone){}

/**
 * Create start DTD tag
 *
 * Starts a DTD.
 *
 * @param resource $xmlwriter The qualified name of the document type
 *   to create.
 * @param string $qualifiedName The external subset public identifier.
 * @param string $publicId The external subset system identifier.
 * @param string $systemId
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_start_dtd($xmlwriter, $qualifiedName, $publicId, $systemId){}

/**
 * Create start DTD AttList
 *
 * Starts a DTD attribute list.
 *
 * @param resource $xmlwriter The attribute list name.
 * @param string $name
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_start_dtd_attlist($xmlwriter, $name){}

/**
 * Create start DTD element
 *
 * Starts a DTD element.
 *
 * @param resource $xmlwriter The qualified name of the document type
 *   to create.
 * @param string $qualifiedName
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_start_dtd_element($xmlwriter, $qualifiedName){}

/**
 * Create start DTD Entity
 *
 * Starts a DTD entity.
 *
 * @param resource $xmlwriter The name of the entity.
 * @param string $name
 * @param bool $isparam
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_start_dtd_entity($xmlwriter, $name, $isparam){}

/**
 * Create start element tag
 *
 * Starts an element.
 *
 * @param resource $xmlwriter The element name.
 * @param string $name
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_start_element($xmlwriter, $name){}

/**
 * Create start namespaced element tag
 *
 * Starts a namespaced element.
 *
 * @param resource $xmlwriter The namespace prefix.
 * @param string $prefix The element name.
 * @param string $name The namespace URI.
 * @param string $uri
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_start_element_ns($xmlwriter, $prefix, $name, $uri){}

/**
 * Create start PI tag
 *
 * Starts a processing instruction tag.
 *
 * @param resource $xmlwriter The target of the processing instruction.
 * @param string $target
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_start_pi($xmlwriter, $target){}

/**
 * Write text
 *
 * Writes a text.
 *
 * @param resource $xmlwriter The contents of the text.
 * @param string $content
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_text($xmlwriter, $content){}

/**
 * Write full attribute
 *
 * Writes a full attribute.
 *
 * @param resource $xmlwriter The name of the attribute.
 * @param string $name The value of the attribute.
 * @param string $value
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_write_attribute($xmlwriter, $name, $value){}

/**
 * Write full namespaced attribute
 *
 * Writes a full namespaced attribute.
 *
 * @param resource $xmlwriter The namespace prefix.
 * @param string $prefix The attribute name.
 * @param string $name The namespace URI.
 * @param string $uri The attribute value.
 * @param string $content
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_write_attribute_ns($xmlwriter, $prefix, $name, $uri, $content){}

/**
 * Write full CDATA tag
 *
 * Writes a full CDATA.
 *
 * @param resource $xmlwriter The contents of the CDATA.
 * @param string $content
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_write_cdata($xmlwriter, $content){}

/**
 * Write full comment tag
 *
 * Writes a full comment.
 *
 * @param resource $xmlwriter The contents of the comment.
 * @param string $content
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_write_comment($xmlwriter, $content){}

/**
 * Write full DTD tag
 *
 * Writes a full DTD.
 *
 * @param resource $xmlwriter The DTD name.
 * @param string $name The external subset public identifier.
 * @param string $publicId The external subset system identifier.
 * @param string $systemId The content of the DTD.
 * @param string $subset
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_write_dtd($xmlwriter, $name, $publicId, $systemId, $subset){}

/**
 * Write full DTD AttList tag
 *
 * Writes a DTD attribute list.
 *
 * @param resource $xmlwriter The name of the DTD attribute list.
 * @param string $name The content of the DTD attribute list.
 * @param string $content
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_write_dtd_attlist($xmlwriter, $name, $content){}

/**
 * Write full DTD element tag
 *
 * Writes a full DTD element.
 *
 * @param resource $xmlwriter The name of the DTD element.
 * @param string $name The content of the element.
 * @param string $content
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_write_dtd_element($xmlwriter, $name, $content){}

/**
 * Write full DTD Entity tag
 *
 * Writes a full DTD entity.
 *
 * @param resource $xmlwriter The name of the entity.
 * @param string $name The content of the entity.
 * @param string $content
 * @param bool $pe
 * @param string $pubid
 * @param string $sysid
 * @param string $ndataid
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_write_dtd_entity($xmlwriter, $name, $content, $pe, $pubid, $sysid, $ndataid){}

/**
 * Write full element tag
 *
 * Writes a full element tag.
 *
 * @param resource $xmlwriter The element name.
 * @param string $name The element contents.
 * @param string $content
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_write_element($xmlwriter, $name, $content){}

/**
 * Write full namespaced element tag
 *
 * Writes a full namespaced element tag.
 *
 * @param resource $xmlwriter The namespace prefix.
 * @param string $prefix The element name.
 * @param string $name The namespace URI.
 * @param string $uri The element contents.
 * @param string $content
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_write_element_ns($xmlwriter, $prefix, $name, $uri, $content){}

/**
 * Writes a PI
 *
 * Writes a processing instruction.
 *
 * @param resource $xmlwriter The target of the processing instruction.
 * @param string $target The content of the processing instruction.
 * @param string $content
 * @return bool
 * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
 **/
function xmlwriter_write_pi($xmlwriter, $target, $content){}

/**
 * Write a raw XML text
 *
 * Writes a raw xml text.
 *
 * @param resource $xmlwriter The text string to write.
 * @param string $content
 * @return bool
 * @since PHP 5 >= 5.2.0, PHP 7, PECL xmlwriter >= 2.0.4
 **/
function xmlwriter_write_raw($xmlwriter, $content){}

/**
 * Get XML parser error string
 *
 * Gets the XML parser error string associated with the given {@link
 * code}.
 *
 * @param int $code An error code from {@link xml_get_error_code}.
 * @return string Returns a string with a textual description of the
 *   error {@link code}, or FALSE if no description was found.
 * @since PHP 4, PHP 5, PHP 7
 **/
function xml_error_string($code){}

/**
 * Get current byte index for an XML parser
 *
 * Gets the current byte index of the given XML parser.
 *
 * @param resource $parser A reference to the XML parser to get byte
 *   index from.
 * @return int This function returns FALSE if {@link parser} does not
 *   refer to a valid parser, or else it returns which byte index the
 *   parser is currently at in its data buffer (starting at 0).
 * @since PHP 4, PHP 5, PHP 7
 **/
function xml_get_current_byte_index($parser){}

/**
 * Get current column number for an XML parser
 *
 * Gets the current column number of the given XML parser.
 *
 * @param resource $parser A reference to the XML parser to get column
 *   number from.
 * @return int This function returns FALSE if {@link parser} does not
 *   refer to a valid parser, or else it returns which column on the
 *   current line (as given by {@link xml_get_current_line_number}) the
 *   parser is currently at.
 * @since PHP 4, PHP 5, PHP 7
 **/
function xml_get_current_column_number($parser){}

/**
 * Get current line number for an XML parser
 *
 * Gets the current line number for the given XML parser.
 *
 * @param resource $parser A reference to the XML parser to get line
 *   number from.
 * @return int This function returns FALSE if {@link parser} does not
 *   refer to a valid parser, or else it returns which line the parser is
 *   currently at in its data buffer.
 * @since PHP 4, PHP 5, PHP 7
 **/
function xml_get_current_line_number($parser){}

/**
 * Get XML parser error code
 *
 * Gets the XML parser error code.
 *
 * @param resource $parser A reference to the XML parser to get error
 *   code from.
 * @return int This function returns FALSE if {@link parser} does not
 *   refer to a valid parser, or else it returns one of the error codes
 *   listed in the error codes section.
 * @since PHP 4, PHP 5, PHP 7
 **/
function xml_get_error_code($parser){}

/**
 * Start parsing an XML document
 *
 * {@link xml_parse} parses an XML document. The handlers for the
 * configured events are called as many times as necessary.
 *
 * @param resource $parser A reference to the XML parser to use.
 * @param string $data Chunk of data to parse. A document may be parsed
 *   piece-wise by calling {@link xml_parse} several times with new data,
 *   as long as the {@link is_final} parameter is set and TRUE when the
 *   last data is parsed.
 * @param bool $is_final If set and TRUE, {@link data} is the last
 *   piece of data sent in this parse.
 * @return int Returns 1 on success or 0 on failure.
 * @since PHP 4, PHP 5, PHP 7
 **/
function xml_parse($parser, $data, $is_final){}

/**
 * Create an XML parser
 *
 * {@link xml_parser_create} creates a new XML parser and returns a
 * resource handle referencing it to be used by the other XML functions.
 *
 * @param string $encoding The optional {@link encoding} specifies the
 *   character encoding for the input/output in PHP 4. Starting from PHP
 *   5, the input encoding is automatically detected, so that the {@link
 *   encoding} parameter specifies only the output encoding. In PHP 4,
 *   the default output encoding is the same as the input charset. If
 *   empty string is passed, the parser attempts to identify which
 *   encoding the document is encoded in by looking at the heading 3 or 4
 *   bytes. In PHP 5.0.0 and 5.0.1, the default output charset is
 *   ISO-8859-1, while in PHP 5.0.2 and upper is UTF-8. The supported
 *   encodings are ISO-8859-1, UTF-8 and US-ASCII.
 * @return resource Returns a resource handle for the new XML parser.
 * @since PHP 4, PHP 5, PHP 7
 **/
function xml_parser_create($encoding){}

/**
 * Create an XML parser with namespace support
 *
 * {@link xml_parser_create_ns} creates a new XML parser with XML
 * namespace support and returns a resource handle referencing it to be
 * used by the other XML functions.
 *
 * @param string $encoding The input encoding is automatically
 *   detected, so that the {@link encoding} parameter specifies only the
 *   output encoding. In PHP 5.0.0 and 5.0.1, the default output charset
 *   is ISO-8859-1, while in PHP 5.0.2 and upper is UTF-8. The supported
 *   encodings are ISO-8859-1, UTF-8 and US-ASCII.
 * @param string $separator With a namespace aware parser tag
 *   parameters passed to the various handler functions will consist of
 *   namespace and tag name separated by the string specified in {@link
 *   separator}.
 * @return resource Returns a resource handle for the new XML parser.
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7
 **/
function xml_parser_create_ns($encoding, $separator){}

/**
 * Free an XML parser
 *
 * Frees the given XML {@link parser}.
 *
 * @param resource $parser
 * @return bool This function returns FALSE if {@link parser} does not
 *   refer to a valid parser, or else it frees the parser and returns
 *   TRUE.
 * @since PHP 4, PHP 5, PHP 7
 **/
function xml_parser_free($parser){}

/**
 * Get options from an XML parser
 *
 * Gets an option value from an XML parser.
 *
 * @param resource $parser
 * @param int $option
 * @return mixed This function returns FALSE if {@link parser} does not
 *   refer to a valid parser or if {@link option} isn't valid (generates
 *   also a E_WARNING). Else the option's value is returned.
 * @since PHP 4, PHP 5, PHP 7
 **/
function xml_parser_get_option($parser, $option){}

/**
 * Set options in an XML parser
 *
 * Sets an option in an XML parser.
 *
 * @param resource $parser A reference to the XML parser to set an
 *   option in.
 * @param int $option Which option to set. See below. The following
 *   options are available: XML parser options Option constant Data type
 *   Description XML_OPTION_CASE_FOLDING integer Controls whether
 *   case-folding is enabled for this XML parser. Enabled by default.
 *   XML_OPTION_SKIP_TAGSTART integer Specify how many characters should
 *   be skipped in the beginning of a tag name. XML_OPTION_SKIP_WHITE
 *   integer Whether to skip values consisting of whitespace characters.
 *   XML_OPTION_TARGET_ENCODING string Sets which target encoding to use
 *   in this XML parser.By default, it is set to the same as the source
 *   encoding used by {@link xml_parser_create}. Supported target
 *   encodings are ISO-8859-1, US-ASCII and UTF-8.
 * @param mixed $value The option's new value.
 * @return bool This function returns FALSE if {@link parser} does not
 *   refer to a valid parser, or if the option could not be set. Else the
 *   option is set and TRUE is returned.
 * @since PHP 4, PHP 5, PHP 7
 **/
function xml_parser_set_option($parser, $option, $value){}

/**
 * Parse XML data into an array structure
 *
 * This function parses an XML string into 2 parallel array structures,
 * one ({@link index}) containing pointers to the location of the
 * appropriate values in the {@link values} array. These last two
 * parameters must be passed by reference.
 *
 * @param resource $parser A reference to the XML parser.
 * @param string $data A string containing the XML data.
 * @param array $values An array containing the values of the XML data
 * @param array $index An array containing pointers to the location of
 *   the appropriate values in the $values.
 * @return int {@link xml_parse_into_struct} returns 0 for failure and
 *   1 for success. This is not the same as FALSE and TRUE, be careful
 *   with operators such as ===.
 * @since PHP 4, PHP 5, PHP 7
 **/
function xml_parse_into_struct($parser, $data, &$values, &$index){}

/**
 * Set up character data handler
 *
 * Sets the character data handler function for the XML parser {@link
 * parser}.
 *
 * @param resource $parser A reference to the XML parser to set up
 *   character data handler function.
 * @param callable $handler {@link handler} is a string containing the
 *   name of a function that must exist when {@link xml_parse} is called
 *   for {@link parser}. The function named by {@link handler} must
 *   accept two parameters: handler resource{@link parser} string{@link
 *   data} {@link parser} The first parameter, parser, is a reference to
 *   the XML parser calling the handler. {@link data} The second
 *   parameter, {@link data}, contains the character data as a string.
 *   Character data handler is called for every piece of a text in the
 *   XML document. It can be called multiple times inside each fragment
 *   (e.g. for non-ASCII strings). If a handler function is set to an
 *   empty string, or FALSE, the handler in question is disabled.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function xml_set_character_data_handler($parser, $handler){}

/**
 * Set up default handler
 *
 * Sets the default handler function for the XML parser {@link parser}.
 *
 * @param resource $parser A reference to the XML parser to set up
 *   default handler function.
 * @param callable $handler {@link handler} is a string containing the
 *   name of a function that must exist when {@link xml_parse} is called
 *   for {@link parser}. The function named by {@link handler} must
 *   accept two parameters: handler resource{@link parser} string{@link
 *   data} {@link parser} The first parameter, parser, is a reference to
 *   the XML parser calling the handler. {@link data} The second
 *   parameter, {@link data}, contains the character data.This may be the
 *   XML declaration, document type declaration, entities or other data
 *   for which no other handler exists. If a handler function is set to
 *   an empty string, or FALSE, the handler in question is disabled.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function xml_set_default_handler($parser, $handler){}

/**
 * Set up start and end element handlers
 *
 * Sets the element handler functions for the XML {@link parser}. {@link
 * start_element_handler} and {@link end_element_handler} are strings
 * containing the names of functions that must exist when {@link
 * xml_parse} is called for {@link parser}.
 *
 * @param resource $parser A reference to the XML parser to set up
 *   start and end element handler functions.
 * @param callable $start_element_handler The function named by {@link
 *   start_element_handler} must accept three parameters:
 *   start_element_handler resource{@link parser} string{@link name}
 *   array{@link attribs} {@link parser} The first parameter, parser, is
 *   a reference to the XML parser calling the handler. {@link name} The
 *   second parameter, {@link name}, contains the name of the element for
 *   which this handler is called.If case-folding is in effect for this
 *   parser, the element name will be in uppercase letters. {@link
 *   attribs} The third parameter, {@link attribs}, contains an
 *   associative array with the element's attributes (if any).The keys of
 *   this array are the attribute names, the values are the attribute
 *   values.Attribute names are case-folded on the same criteria as
 *   element names.Attribute values are not case-folded. The original
 *   order of the attributes can be retrieved by walking through {@link
 *   attribs} the normal way, using {@link each}.The first key in the
 *   array was the first attribute, and so on.
 * @param callable $end_element_handler
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function xml_set_element_handler($parser, $start_element_handler, $end_element_handler){}

/**
 * Set up end namespace declaration handler
 *
 * Set a handler to be called when leaving the scope of a namespace
 * declaration. This will be called, for each namespace declaration,
 * after the handler for the end tag of the element in which the
 * namespace was declared.
 *
 * @param resource $parser A reference to the XML parser.
 * @param callable $handler {@link handler} is a string containing the
 *   name of a function that must exist when {@link xml_parse} is called
 *   for {@link parser}. The function named by {@link handler} must
 *   accept two parameters, and should return an integer value. If the
 *   value returned from the handler is FALSE (which it will be if no
 *   value is returned), the XML parser will stop parsing and {@link
 *   xml_get_error_code} will return XML_ERROR_EXTERNAL_ENTITY_HANDLING.
 *   handler resource{@link parser} string{@link prefix} {@link parser}
 *   The first parameter, parser, is a reference to the XML parser
 *   calling the handler. {@link prefix} The prefix is a string used to
 *   reference the namespace within an XML object. If a handler function
 *   is set to an empty string, or FALSE, the handler in question is
 *   disabled.
 * @return bool
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7
 **/
function xml_set_end_namespace_decl_handler($parser, $handler){}

/**
 * Set up external entity reference handler
 *
 * Sets the external entity reference handler function for the XML parser
 * {@link parser}.
 *
 * @param resource $parser A reference to the XML parser to set up
 *   external entity reference handler function.
 * @param callable $handler {@link handler} is a string containing the
 *   name of a function that must exist when {@link xml_parse} is called
 *   for {@link parser}. The function named by {@link handler} must
 *   accept five parameters, and should return an integer value.If the
 *   value returned from the handler is FALSE (which it will be if no
 *   value is returned), the XML parser will stop parsing and {@link
 *   xml_get_error_code} will return XML_ERROR_EXTERNAL_ENTITY_HANDLING.
 *   handler resource{@link parser} string{@link open_entity_names}
 *   string{@link base} string{@link system_id} string{@link public_id}
 *   {@link parser} The first parameter, parser, is a reference to the
 *   XML parser calling the handler. {@link open_entity_names} The second
 *   parameter, {@link open_entity_names}, is a space-separated list of
 *   the names of the entities that are open for the parse of this entity
 *   (including the name of the referenced entity). {@link base} This is
 *   the base for resolving the system identifier ({@link system_id}) of
 *   the external entity.Currently this parameter will always be set to
 *   an empty string. {@link system_id} The fourth parameter, {@link
 *   system_id}, is the system identifier as specified in the entity
 *   declaration. {@link public_id} The fifth parameter, {@link
 *   public_id}, is the public identifier as specified in the entity
 *   declaration, or an empty string if none was specified; the
 *   whitespace in the public identifier will have been normalized as
 *   required by the XML spec. If a handler function is set to an empty
 *   string, or FALSE, the handler in question is disabled.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function xml_set_external_entity_ref_handler($parser, $handler){}

/**
 * Set up notation declaration handler
 *
 * Sets the notation declaration handler function for the XML parser
 * {@link parser}.
 *
 * A notation declaration is part of the document's DTD and has the
 * following format:
 *
 * <!NOTATION <parameter>name</parameter> {
 * <parameter>systemId</parameter> | <parameter>publicId</parameter>?>
 *
 * See section 4.7 of the XML 1.0 spec for the definition of notation
 * declarations.
 *
 * @param resource $parser A reference to the XML parser to set up
 *   notation declaration handler function.
 * @param callable $handler {@link handler} is a string containing the
 *   name of a function that must exist when {@link xml_parse} is called
 *   for {@link parser}. The function named by {@link handler} must
 *   accept five parameters: handler resource{@link parser} string{@link
 *   notation_name} string{@link base} string{@link system_id}
 *   string{@link public_id} {@link parser} The first parameter, parser,
 *   is a reference to the XML parser calling the handler. {@link
 *   notation_name} This is the notation's {@link name}, as per the
 *   notation format described above. {@link base} This is the base for
 *   resolving the system identifier ({@link system_id}) of the notation
 *   declaration. Currently this parameter will always be set to an empty
 *   string. {@link system_id} System identifier of the external notation
 *   declaration. {@link public_id} Public identifier of the external
 *   notation declaration. If a handler function is set to an empty
 *   string, or FALSE, the handler in question is disabled.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function xml_set_notation_decl_handler($parser, $handler){}

/**
 * Use XML Parser within an object
 *
 * This function allows to use {@link parser} inside {@link object}. All
 * callback functions could be set with {@link xml_set_element_handler}
 * etc and assumed to be methods of {@link object}.
 *
 * @param resource $parser A reference to the XML parser to use inside
 *   the object.
 * @param object $object The object where to use the XML parser.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function xml_set_object($parser, &$object){}

/**
 * Set up processing instruction (PI) handler
 *
 * Sets the processing instruction (PI) handler function for the XML
 * parser {@link parser}.
 *
 * A processing instruction has the following format: <?target data?> You
 * can put PHP code into such a tag, but be aware of one limitation: in
 * an XML PI, the PI end tag (?>) can not be quoted, so this character
 * sequence should not appear in the PHP code you embed with PIs in XML
 * documents.If it does, the rest of the PHP code, as well as the "real"
 * PI end tag, will be treated as character data.
 *
 * @param resource $parser A reference to the XML parser to set up
 *   processing instruction (PI) handler function.
 * @param callable $handler {@link handler} is a string containing the
 *   name of a function that must exist when {@link xml_parse} is called
 *   for {@link parser}. The function named by {@link handler} must
 *   accept three parameters: handler resource{@link parser} string{@link
 *   target} string{@link data} {@link parser} The first parameter,
 *   parser, is a reference to the XML parser calling the handler. {@link
 *   target} The second parameter, {@link target}, contains the PI
 *   target. {@link data} The third parameter, {@link data}, contains the
 *   PI data. If a handler function is set to an empty string, or FALSE,
 *   the handler in question is disabled.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function xml_set_processing_instruction_handler($parser, $handler){}

/**
 * Set up start namespace declaration handler
 *
 * Set a handler to be called when a namespace is declared. Namespace
 * declarations occur inside start tags. But the namespace declaration
 * start handler is called before the start tag handler for each
 * namespace declared in that start tag.
 *
 * @param resource $parser A reference to the XML parser.
 * @param callable $handler {@link handler} is a string containing the
 *   name of a function that must exist when {@link xml_parse} is called
 *   for {@link parser}. The function named by {@link handler} must
 *   accept three parameters, and should return an integer value. If the
 *   value returned from the handler is FALSE (which it will be if no
 *   value is returned), the XML parser will stop parsing and {@link
 *   xml_get_error_code} will return XML_ERROR_EXTERNAL_ENTITY_HANDLING.
 *   handler resource{@link parser} string{@link prefix} string{@link
 *   uri} {@link parser} The first parameter, parser, is a reference to
 *   the XML parser calling the handler. {@link prefix} The prefix is a
 *   string used to reference the namespace within an XML object. {@link
 *   uri} Uniform Resource Identifier (URI) of namespace. If a handler
 *   function is set to an empty string, or FALSE, the handler in
 *   question is disabled.
 * @return bool
 * @since PHP 4 >= 4.0.5, PHP 5, PHP 7
 **/
function xml_set_start_namespace_decl_handler($parser, $handler){}

/**
 * Set up unparsed entity declaration handler
 *
 * Sets the unparsed entity declaration handler function for the XML
 * parser {@link parser}.
 *
 * The {@link handler} will be called if the XML parser encounters an
 * external entity declaration with an NDATA declaration, like the
 * following:
 *
 * <!ENTITY <parameter>name</parameter> {<parameter>publicId</parameter>
 * | <parameter>systemId</parameter>} NDATA
 * <parameter>notationName</parameter>
 *
 * See section 4.2.2 of the XML 1.0 spec for the definition of notation
 * declared external entities.
 *
 * @param resource $parser A reference to the XML parser to set up
 *   unparsed entity declaration handler function.
 * @param callable $handler {@link handler} is a string containing the
 *   name of a function that must exist when {@link xml_parse} is called
 *   for {@link parser}. The function named by {@link handler} must
 *   accept six parameters: handler resource{@link parser} string{@link
 *   entity_name} string{@link base} string{@link system_id} string{@link
 *   public_id} string{@link notation_name} {@link parser} The first
 *   parameter, parser, is a reference to the XML parser calling the
 *   handler. {@link entity_name} The name of the entity that is about to
 *   be defined. {@link base} This is the base for resolving the system
 *   identifier ({@link systemId}) of the external entity.Currently this
 *   parameter will always be set to an empty string. {@link system_id}
 *   System identifier for the external entity. {@link public_id} Public
 *   identifier for the external entity. {@link notation_name} Name of
 *   the notation of this entity (see {@link
 *   xml_set_notation_decl_handler}). If a handler function is set to an
 *   empty string, or FALSE, the handler in question is disabled.
 * @return bool
 * @since PHP 4, PHP 5, PHP 7
 **/
function xml_set_unparsed_entity_decl_handler($parser, $handler){}

/**
 * Returns the YAML representation of a value
 *
 * Generate a YAML representation of the provided {@link data}.
 *
 * @param mixed $data The {@link data} being encoded. Can be any type
 *   except a resource.
 * @param int $encoding Output character encoding chosen from
 *   YAML_ANY_ENCODING, YAML_UTF8_ENCODING, YAML_UTF16LE_ENCODING,
 *   YAML_UTF16BE_ENCODING.
 * @param int $linebreak Output linebreak style chosen from
 *   YAML_ANY_BREAK, YAML_CR_BREAK, YAML_LN_BREAK, YAML_CRLN_BREAK.
 * @param array $callbacks Content handlers for emitting YAML nodes.
 *   Associative array of classname => callable mappings. See emit
 *   callbacks for more details.
 * @return string Returns a YAML encoded string on success.
 * @since PECL yaml >= 0.5.0
 **/
function yaml_emit($data, $encoding, $linebreak, $callbacks){}

/**
 * Send the YAML representation of a value to a file
 *
 * Generate a YAML representation of the provided {@link data} in the
 * {@link filename}.
 *
 * @param string $filename Path to the file.
 * @param mixed $data The {@link data} being encoded. Can be any type
 *   except a resource.
 * @param int $encoding Output character encoding chosen from
 *   YAML_ANY_ENCODING, YAML_UTF8_ENCODING, YAML_UTF16LE_ENCODING,
 *   YAML_UTF16BE_ENCODING.
 * @param int $linebreak Output linebreak style chosen from
 *   YAML_ANY_BREAK, YAML_CR_BREAK, YAML_LN_BREAK, YAML_CRLN_BREAK.
 * @param array $callbacks Content handlers for emitting YAML nodes.
 *   Associative array of classname => callable mappings. See emit
 *   callbacks for more details.
 * @return bool Returns TRUE on success.
 * @since PECL yaml >= 0.5.0
 **/
function yaml_emit_file($filename, $data, $encoding, $linebreak, $callbacks){}

/**
 * Parse a YAML stream
 *
 * Convert all or part of a YAML document stream to a PHP variable.
 *
 * @param string $input The string to parse as a YAML document stream.
 * @param int $pos Document to extract from stream (-1 for all
 *   documents, 0 for first document, ...).
 * @param int $ndocs If {@link ndocs} is provided, then it is filled
 *   with the number of documents found in stream.
 * @param array $callbacks Content handlers for YAML nodes. Associative
 *   array of YAML tag => callable mappings. See parse callbacks for more
 *   details.
 * @return mixed Returns the value encoded in {@link input} in
 *   appropriate PHP type. If {@link pos} is -1 an array will be returned
 *   with one entry for each document found in the stream.
 * @since PECL yaml >= 0.4.0
 **/
function yaml_parse($input, $pos, &$ndocs, $callbacks){}

/**
 * Parse a YAML stream from a file
 *
 * Convert all or part of a YAML document stream read from a file to a
 * PHP variable.
 *
 * @param string $filename Path to the file.
 * @param int $pos Document to extract from stream (-1 for all
 *   documents, 0 for first document, ...).
 * @param int $ndocs If {@link ndocs} is provided, then it is filled
 *   with the number of documents found in stream.
 * @param array $callbacks Content handlers for YAML nodes. Associative
 *   array of YAML tag => callable mappings. See parse callbacks for more
 *   details.
 * @return mixed Returns the value encoded in {@link input} in
 *   appropriate PHP type. If {@link pos} is -1 an array will be returned
 *   with one entry for each document found in the stream.
 * @since PECL yaml >= 0.4.0
 **/
function yaml_parse_file($filename, $pos, &$ndocs, $callbacks){}

/**
 * Parse a Yaml stream from a URL
 *
 * Convert all or part of a YAML document stream read from a URL to a PHP
 * variable.
 *
 * @param string $url {@link url} should be of the form "scheme://...".
 *   PHP will search for a protocol handler (also known as a wrapper) for
 *   that scheme. If no wrappers for that protocol are registered, PHP
 *   will emit a notice to help you track potential problems in your
 *   script and then continue as though filename specifies a regular
 *   file.
 * @param int $pos Document to extract from stream (-1 for all
 *   documents, 0 for first document, ...).
 * @param int $ndocs If {@link ndocs} is provided, then it is filled
 *   with the number of documents found in stream.
 * @param array $callbacks Content handlers for YAML nodes. Associative
 *   array of YAML tag => callable mappings. See parse callbacks for more
 * @return mixed Returns the value encoded in {@link input} in
 *   appropriate PHP type. If {@link pos} is -1 an array will be returned
 *   with one entry for each document found in the stream.
 * @since PECL yaml >= 0.4.0
 **/
function yaml_parse_url($url, $pos, &$ndocs, $callbacks){}

/**
 * Returns additional error information
 *
 * Returns additional error information for the last request on the
 * server.
 *
 * With some servers, this function may return the same string as {@link
 * yaz_error}.
 *
 * @param resource $id The connection resource returned by {@link
 *   yaz_connect}.
 * @return string A string containing additional error information or
 *   an empty string if the last operation was successful or if no
 *   additional information was provided by the server.
 * @since PHP 4 >= 4.0.1, PECL yaz >= 0.9.0
 **/
function yaz_addinfo($id){}

/**
 * Configure CCL parser
 *
 * This function configures the CCL query parser for a server with
 * definitions of access points (CCL qualifiers) and their mapping to
 * RPN.
 *
 * To map a specific CCL query to RPN afterwards call the {@link
 * yaz_ccl_parse} function.
 *
 * @param resource $id The connection resource returned by {@link
 *   yaz_connect}.
 * @param array $config An array of configuration. Each key of the
 *   array is the name of a CCL field and the corresponding value holds a
 *   string that specifies a mapping to RPN. The mapping is a sequence of
 *   attribute-type, attribute-value pairs. Attribute-type and
 *   attribute-value is separated by an equal sign (=). Each pair is
 *   separated by white space. Additional information can be found on the
 *   CCL page.
 * @return void
 * @since PHP 4 >= 4.0.5, PECL yaz >= 0.9.0
 **/
function yaz_ccl_conf($id, $config){}

/**
 * Invoke CCL Parser
 *
 * This function invokes a CCL parser. It converts a given CCL FIND query
 * to an RPN query which may be passed to the {@link yaz_search} function
 * to perform a search.
 *
 * To define a set of valid CCL fields call {@link yaz_ccl_conf} prior to
 * this function.
 *
 * @param resource $id The connection resource returned by {@link
 *   yaz_connect}.
 * @param string $query The CCL FIND query.
 * @param array $result If the function was executed successfully, this
 *   will be an array containing the valid RPN query under the key rpn.
 *   Upon failure, three indexes are set in this array to indicate the
 *   cause of failure: errorcode - the CCL error code (integer)
 *   errorstring - the CCL error string errorpos - approximate position
 *   in query of failure (integer is character position)
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL yaz >= 0.9.0
 **/
function yaz_ccl_parse($id, $query, &$result){}

/**
 * Close YAZ connection
 *
 * Closes the connection given by parameter {@link id}.
 *
 * @param resource $id The connection resource returned by {@link
 *   yaz_connect}.
 * @return bool
 * @since PHP 4 >= 4.0.1, PECL yaz >= 0.9.0
 **/
function yaz_close($id){}

/**
 * Prepares for a connection to a Z39.50 server
 *
 * This function returns a connection resource on success, zero on
 * failure.
 *
 * {@link yaz_connect} prepares for a connection to a Z39.50 server. This
 * function is non-blocking and does not attempt to establish a
 * connection - it merely prepares a connect to be performed later when
 * {@link yaz_wait} is called.
 *
 * @param string $zurl A string that takes the form
 *   host[:port][/database]. If port is omitted, port 210 is used. If
 *   database is omitted Default is used.
 * @param mixed $options If given as a string, it is treated as the
 *   Z39.50 V2 authentication string (OpenAuth). If given as an array,
 *   the contents of the array serves as options. user Username for
 *   authentication. group Group for authentication. password Password
 *   for authentication. cookie Cookie for session (YAZ proxy). proxy
 *   Proxy for connection (YAZ proxy). persistent A boolean. If TRUE the
 *   connection is persistent; If FALSE the connection is not persistent.
 *   By default connections are persistent. If you open a persistent
 *   connection, you won't be able to close it later with {@link
 *   yaz_close}. piggyback A boolean. If TRUE piggyback is enabled for
 *   searches; If FALSE piggyback is disabled. By default piggyback is
 *   enabled. Enabling piggyback is more efficient and usually saves a
 *   network-round-trip for first time fetches of records. However, a few
 *   Z39.50 servers do not support piggyback or they ignore element set
 *   names. For those, piggyback should be disabled. charset A string
 *   that specifies character set to be used in Z39.50 language and
 *   character set negotiation. Use strings such as: ISO-8859-1, UTF-8,
 *   UTF-16. Most Z39.50 servers do not support this feature (and thus,
 *   this is ignored). Many servers use the ISO-8859-1 encoding for
 *   queries and messages. MARC21/USMARC records are not affected by this
 *   setting.
 *   
 *   preferredMessageSize An integer that specifies the maximum byte size
 *   of all records to be returned by a target during retrieval. See the
 *   Z39.50 standard for more information. This option is supported in
 *   PECL YAZ 1.0.5 or later.
 *   
 *   maximumRecordSize An integer that specifies the maximum byte size of
 *   a single record to be returned by a target during retrieval. This
 *   entity is referred to as Exceptional-record-size in the Z39.50
 *   standard. This option is supported in PECL YAZ 1.0.5 or later.
 * @return mixed A connection resource on success, FALSE on error.
 * @since PHP 4 >= 4.0.1, PECL yaz >= 0.9.0
 **/
function yaz_connect($zurl, $options){}

/**
 * Specifies the databases within a session
 *
 * This function allows you to change databases within a session by
 * specifying one or more databases to be used in search, retrieval, etc.
 * - overriding databases specified in call to {@link yaz_connect}.
 *
 * @param resource $id The connection resource returned by {@link
 *   yaz_connect}.
 * @param string $databases A string containing one or more databases.
 *   Multiple databases are separated by a plus sign +.
 * @return bool
 * @since PHP 4 >= 4.0.6, PECL yaz >= 0.9.0
 **/
function yaz_database($id, $databases){}

/**
 * Specifies Element-Set Name for retrieval
 *
 * This function sets the element set name for retrieval.
 *
 * Call this function before {@link yaz_search} or {@link yaz_present} to
 * specify the element set name for records to be retrieved.
 *
 * @param resource $id The connection resource returned by {@link
 *   yaz_connect}.
 * @param string $elementset Most servers support F (for full records)
 *   and B (for brief records).
 * @return bool
 * @since PHP 4 >= 4.0.1, PECL yaz >= 0.9.0
 **/
function yaz_element($id, $elementset){}

/**
 * Returns error number
 *
 * Returns an error number for the server (last request) identified by
 * {@link id}.
 *
 * {@link yaz_errno} should be called after network activity for each
 * server - (after {@link yaz_wait} returns) to determine the success or
 * failure of the last operation (e.g. search).
 *
 * @param resource $id The connection resource returned by {@link
 *   yaz_connect}.
 * @return int Returns an error code. The error code is either a Z39.50
 *   diagnostic code (usually a Bib-1 diagnostic) or a client side error
 *   code which is generated by PHP/YAZ itself, such as "Connect failed",
 *   "Init Rejected", etc.
 * @since PHP 4 >= 4.0.1, PECL yaz >= 0.9.0
 **/
function yaz_errno($id){}

/**
 * Returns error description
 *
 * {@link yaz_error} returns an English text message corresponding to the
 * last error number as returned by {@link yaz_errno}.
 *
 * @param resource $id The connection resource returned by {@link
 *   yaz_connect}.
 * @return string Returns an error text message for server (last
 *   request), identified by parameter {@link id}. An empty string is
 *   returned if the last operation was successful.
 * @since PHP 4 >= 4.0.1, PECL yaz >= 0.9.0
 **/
function yaz_error($id){}

/**
 * Prepares for an Extended Service Request
 *
 * This function prepares for an Extended Service Request. Extended
 * Services is family of various Z39.50 facilities, such as Record
 * Update, Item Order, Database administration etc.
 *
 * The {@link yaz_es} creates an Extended Service Request packages and
 * puts it into a queue of operations. Use {@link yaz_wait} to send the
 * request(s) to the server. After completion of {@link yaz_wait} the
 * result of the Extended Service operation should be expected with a
 * call to {@link yaz_es_result}.
 *
 * @param resource $id The connection resource returned by {@link
 *   yaz_connect}.
 * @param string $type A string which represents the type of the
 *   Extended Service: itemorder (Item Order), create (Create Database),
 *   drop (Drop Database), commit (Commit Operation), update (Update
 *   Record), xmlupdate (XML Update). Each type is specified in the
 *   following section.
 * @param array $args An array with extended service options plus
 *   package specific options. The options are identical to those offered
 *   in the C API of ZOOM C. Refer to the ZOOM Extended Services.
 * @return void
 * @since PECL yaz >= 0.9.0
 **/
function yaz_es($id, $type, $args){}

/**
 * Inspects Extended Services Result
 *
 * This function inspects the last returned Extended Service result from
 * a server. An Extended Service is initiated by either {@link
 * yaz_item_order} or {@link yaz_es}.
 *
 * @param resource $id The connection resource returned by {@link
 *   yaz_connect}.
 * @return array Returns array with element targetReference for the
 *   reference for the extended service operation (generated and returned
 *   from the server).
 * @since PHP 4 >= 4.2.0, PECL yaz >= 0.9.0
 **/
function yaz_es_result($id){}

/**
 * Returns value of option for connection
 *
 * Returns the value of the option specified with {@link name}.
 *
 * @param resource $id The connection resource returned by {@link
 *   yaz_connect}.
 * @param string $name The option name.
 * @return string Returns the value of the specified option or an empty
 *   string if the option wasn't set.
 * @since PECL yaz >= 0.9.0
 **/
function yaz_get_option($id, $name){}

/**
 * Returns number of hits for last search
 *
 * {@link yaz_hits} returns the number of hits for the last search.
 *
 * @param resource $id The connection resource returned by {@link
 *   yaz_connect}.
 * @param array $searchresult Result array for detailed search result
 *   information.
 * @return int Returns the number of hits for the last search or 0 if
 *   no search was performed.
 * @since PHP 4 >= 4.0.1, PECL yaz >= 0.9.0
 **/
function yaz_hits($id, &$searchresult){}

/**
 * Prepares for Z39.50 Item Order with an ILL-Request package
 *
 * This function prepares for an Extended Services request using the
 * Profile for the Use of Z39.50 Item Order Extended Service to Transport
 * ILL (Profile/1). See this and the specification.
 *
 * @param resource $id The connection resource returned by {@link
 *   yaz_connect}.
 * @param array $args Must be an associative array with information
 *   about the Item Order request to be sent. The key of the hash is the
 *   name of the corresponding ASN.1 tag path. For example, the ISBN
 *   below the Item-ID has the key item-id,ISBN. The ILL-Request
 *   parameters are: There are also a few parameters that are part of the
 *   Extended Services Request package and the ItemOrder package:
 * @return void
 * @since PHP 4 >= 4.0.5, PECL yaz >= 0.9.0
 **/
function yaz_itemorder($id, $args){}

/**
 * Prepares for retrieval (Z39.50 present)
 *
 * This function prepares for retrieval of records after a successful
 * search.
 *
 * The {@link yaz_range} function should be called prior to this function
 * to specify the range of records to be retrieved.
 *
 * @param resource $id The connection resource returned by {@link
 *   yaz_connect}.
 * @return bool
 * @since PHP 4 >= 4.0.5, PECL yaz >= 0.9.0
 **/
function yaz_present($id){}

/**
 * Specifies a range of records to retrieve
 *
 * Specifies a range of records to retrieve.
 *
 * This function should be called before {@link yaz_search} or {@link
 * yaz_present}.
 *
 * @param resource $id The connection resource returned by {@link
 *   yaz_connect}.
 * @param int $start Specifies the position of the first record to be
 *   retrieved. The records numbers goes from 1 to {@link yaz_hits}.
 * @param int $number Specifies the number of records to be retrieved.
 * @return void
 * @since PHP 4 >= 4.0.1, PECL yaz >= 0.9.0
 **/
function yaz_range($id, $start, $number){}

/**
 * Returns a record
 *
 * The {@link yaz_record} function inspects a record in the current
 * result set at the position specified by parameter {@link pos}.
 *
 * @param resource $id The connection resource returned by {@link
 *   yaz_connect}.
 * @param int $pos The record position. Records positions in a result
 *   set are numbered 1, 2, ... $hits where $hits is the count returned
 *   by {@link yaz_hits}.
 * @param string $type The {@link type} specifies the form of the
 *   returned record. Besides conversion of the transfer record to a
 *   string/array, PHP/YAZ it is also possible to perform a character set
 *   conversion of the record. Especially for USMARC/MARC21 that is
 *   recommended since these are typically returned in the character set
 *   MARC-8 that is not supported by browsers, etc. To specify a
 *   conversion, add ; charset=from, to where from is the original
 *   character set of the record and to is the resulting character set
 *   (as seen by PHP).
 * @return string Returns the record at position {@link pos} or an
 *   empty string if no record exists at the given position.
 * @since PHP 4 >= 4.0.1, PECL yaz >= 0.9.0
 **/
function yaz_record($id, $pos, $type){}

/**
 * Prepares for a scan
 *
 * This function prepares for a Z39.50 Scan Request on the specified
 * connection.
 *
 * To actually transfer the Scan Request to the server and receive the
 * Scan Response, {@link yaz_wait} must be called. Upon completion of
 * {@link yaz_wait} call {@link yaz_error} and {@link yaz_scan_result} to
 * handle the response.
 *
 * @param resource $id The connection resource returned by {@link
 *   yaz_connect}.
 * @param string $type Currently only type rpn is supported.
 * @param string $startterm Starting term point for the scan. The form
 *   in which the starting term is specified is given by parameter {@link
 *   type}. The syntax this parameter is similar to the RPN query as
 *   described in {@link yaz_search}. It consists of zero or more
 *   @attr-operator specifications, then followed by exactly one token.
 * @param array $flags This optional parameter specifies additional
 *   information to control the behaviour of the scan request. Three
 *   indexes are currently read from the flags array: number (number of
 *   terms requested), position (preferred position of term) and stepSize
 *   (preferred step size).
 * @return void
 * @since PHP 4 >= 4.0.5, PECL yaz >= 0.9.0
 **/
function yaz_scan($id, $type, $startterm, $flags){}

/**
 * Returns Scan Response result
 *
 * {@link yaz_scan_result} returns terms and associated information as
 * received from the server in the last performed {@link yaz_scan}.
 *
 * @param resource $id The connection resource returned by {@link
 *   yaz_connect}.
 * @param array $result If given, this array will be modified to hold
 *   additional information taken from the Scan Response: number - Number
 *   of entries returned stepsize - Step size position - Position of term
 *   status - Scan status
 * @return array Returns an array (0..n-1) where n is the number of
 *   terms returned. Each value is a pair where the first item is the
 *   term, and the second item is the result-count.
 * @since PHP 4 >= 4.0.5, PECL yaz >= 0.9.0
 **/
function yaz_scan_result($id, &$result){}

/**
 * Specifies schema for retrieval
 *
 * {@link yaz_schema} specifies the schema for retrieval.
 *
 * This function should be called before {@link yaz_search} or {@link
 * yaz_present}.
 *
 * @param resource $id The connection resource returned by {@link
 *   yaz_connect}.
 * @param string $schema Must be specified as an OID (Object
 *   Identifier) in a raw dot-notation (like 1.2.840.10003.13.4) or as
 *   one of the known registered schemas: GILS-schema, Holdings, Zthes,
 *   ...
 * @return void
 * @since PHP 4 >= 4.2.0, PECL yaz >= 0.9.0
 **/
function yaz_schema($id, $schema){}

/**
 * Prepares for a search
 *
 * {@link yaz_search} prepares for a search on the given connection.
 *
 * Like {@link yaz_connect} this function is non-blocking and only
 * prepares for a search to be executed later when {@link yaz_wait} is
 * called.
 *
 * @param resource $id The connection resource returned by {@link
 *   yaz_connect}.
 * @param string $type This parameter represents the query type - only
 *   "rpn" is supported now in which case the third argument specifies a
 *   Type-1 query in prefix query notation.
 * @param string $query The RPN query is a textual representation of
 *   the Type-1 query as defined by the Z39.50 standard. However, in the
 *   text representation as used by YAZ a prefix notation is used, that
 *   is the operator precedes the operands. The query string is a
 *   sequence of tokens where white space is ignored unless surrounded by
 *   double quotes. Tokens beginning with an at-character (@) are
 *   considered operators, otherwise they are treated as search terms.
 *   You can find information about attributes at the Z39.50 Maintenance
 *   Agency site.
 * @return bool
 * @since PHP 4 >= 4.0.1, PECL yaz >= 0.9.0
 **/
function yaz_search($id, $type, $query){}

/**
 * Sets one or more options for connection
 *
 * Sets one or more options on the given connection.
 *
 * @param resource $id The connection resource returned by {@link
 *   yaz_connect}.
 * @param string $name May be either a string or an array. If given as
 *   a string, this will be the name of the option to set. You'll need to
 *   give it's {@link value}. If given as an array, this will be an
 *   associative array (option name => option value).
 * @param string $value The new value of the option. Use this only if
 *   the previous argument is a string.
 * @return void
 * @since PECL yaz >= 0.9.0
 **/
function yaz_set_option($id, $name, $value){}

/**
 * Sets sorting criteria
 *
 * This function sets sorting criteria and enables Z39.50 Sort.
 *
 * Call this function before {@link yaz_search}. Using this function
 * alone does not have any effect. When used in conjunction with {@link
 * yaz_search}, a Z39.50 Sort will be sent after a search response has
 * been received and before any records are retrieved with Z39.50 Present
 * ({@link yaz_present}.
 *
 * @param resource $id The connection resource returned by {@link
 *   yaz_connect}.
 * @param string $criteria A string that takes the form field1 flags1
 *   field2 flags2 where field1 specifies the primary attributes for
 *   sort, field2 seconds, etc.. The field specifies either a numerical
 *   attribute combinations consisting of type=value pairs separated by
 *   comma (e.g. 1=4,2=1) ; or the field may specify a plain string
 *   criteria (e.g. title. The flags is a sequence of the following
 *   characters which may not be separated by any white space.
 *   
 *   Sort Flags a Sort ascending d Sort descending i Case insensitive
 *   sorting s Case sensitive sorting
 * @return void
 * @since PHP 4 >= 4.0.7, PECL yaz >= 0.9.0
 **/
function yaz_sort($id, $criteria){}

/**
 * Specifies the preferred record syntax for retrieval
 *
 * {@link yaz_syntax} specifies the preferred record syntax for retrieval
 *
 * This function should be called before {@link yaz_search} or {@link
 * yaz_present}.
 *
 * @param resource $id The connection resource returned by {@link
 *   yaz_connect}.
 * @param string $syntax The syntax must be specified as an OID (Object
 *   Identifier) in a raw dot-notation (like 1.2.840.10003.5.10) or as
 *   one of the known registered record syntaxes (sutrs, usmarc, grs1,
 *   xml, etc.).
 * @return void
 * @since PHP 4 >= 4.0.1, PECL yaz >= 0.9.0
 **/
function yaz_syntax($id, $syntax){}

/**
 * Wait for Z39.50 requests to complete
 *
 * This function carries out networked (blocked) activity for outstanding
 * requests which have been prepared by the functions {@link
 * yaz_connect}, {@link yaz_search}, {@link yaz_present}, {@link
 * yaz_scan} and {@link yaz_itemorder}.
 *
 * {@link yaz_wait} returns when all servers have either completed all
 * requests or aborted (in case of errors).
 *
 * @param array $options An associative array of options: timeout Sets
 *   timeout in seconds. If a server has not responded within the timeout
 *   it is considered dead and {@link yaz_wait} returns. The default
 *   value for timeout is 15 seconds. event A boolean.
 * @return mixed In event mode, returns resource .
 * @since PHP 4 >= 4.0.1, PECL yaz >= 0.9.0
 **/
function yaz_wait(&$options){}

/**
 * Traverse the map and call a function on each entry
 *
 * @param string $domain The NIS domain name.
 * @param string $map The NIS map.
 * @param string $callback
 * @return void
 * @since PHP 4 >= 4.0.6, PHP 5 < 5.1.0
 **/
function yp_all($domain, $map, $callback){}

/**
 * Return an array containing the entire map
 *
 * Returns all map entries.
 *
 * @param string $domain The NIS domain name.
 * @param string $map The NIS map.
 * @return array Returns an array of all map entries, the maps key
 *   values as array indices and the maps entries as array data.
 * @since PHP 4 >= 4.0.6, PHP 5 < 5.1.0
 **/
function yp_cat($domain, $map){}

/**
 * Returns the error code of the previous operation
 *
 * @return int Returns one of the YPERR_XXX error constants.
 * @since PHP 4 >= 4.0.6, PHP 5 < 5.1.0
 **/
function yp_errno(){}

/**
 * Returns the error string associated with the given error code
 *
 * Returns the error message associated with the given error code. Useful
 * to indicate what exactly went wrong.
 *
 * @param int $errorcode The error code.
 * @return string Returns the error message, as a string.
 * @since PHP 4 >= 4.0.6, PHP 5 < 5.1.0
 **/
function yp_err_string($errorcode){}

/**
 * Returns the first key-value pair from the named map
 *
 * Gets the first key-value pair from the named {@link map} in the named
 * {@link domain}.
 *
 * @param string $domain The NIS domain name.
 * @param string $map The NIS map.
 * @return array Returns the first key-value pair as an array on
 *   success, or FALSE on errors.
 * @since PHP 4, PHP 5 < 5.1.0
 **/
function yp_first($domain, $map){}

/**
 * Fetches the machine's default NIS domain
 *
 * Returns the default domain of the node. Can be used as the domain
 * parameter for successive NIS calls.
 *
 * A NIS domain can be described a group of NIS maps. Every host that
 * needs to look up information binds itself to a certain domain. Refer
 * to the documents mentioned at the beginning for more detailed
 * information.
 *
 * @return string Returns the default domain of the node or FALSE. Can
 *   be used as the domain parameter for successive NIS calls.
 * @since PHP 4, PHP 5 < 5.1.0
 **/
function yp_get_default_domain(){}

/**
 * Returns the machine name of the master NIS server for a map
 *
 * Returns the machine name of the master NIS server for a {@link map}.
 *
 * @param string $domain The NIS domain name.
 * @param string $map The NIS map.
 * @return string
 * @since PHP 4, PHP 5 < 5.1.0
 **/
function yp_master($domain, $map){}

/**
 * Returns the matched line
 *
 * Returns the value associated with the passed {@link key} out of the
 * specified {@link map}.
 *
 * @param string $domain The NIS domain name.
 * @param string $map The NIS map.
 * @param string $key This key must be exact.
 * @return string Returns the value, or FALSE on errors.
 * @since PHP 4, PHP 5 < 5.1.0
 **/
function yp_match($domain, $map, $key){}

/**
 * Returns the next key-value pair in the named map
 *
 * Returns the next key-value pair in the named {@link map} after the
 * specified {@link key}.
 *
 * @param string $domain
 * @param string $map
 * @param string $key
 * @return array Returns the next key-value pair as an array, or FALSE
 *   on errors.
 * @since PHP 4, PHP 5 < 5.1.0
 **/
function yp_next($domain, $map, $key){}

/**
 * Returns the order number for a map
 *
 * Gets the order number for a map.
 *
 * @param string $domain
 * @param string $map
 * @return int Returns the order number for a map or FALSE on error.
 * @since PHP 4, PHP 5 < 5.1.0
 **/
function yp_order($domain, $map){}

/**
 * Gets the Zend guid
 *
 * This function returns the ID which can be used to display the Zend
 * logo using the built-in image.
 *
 * @return string Returns PHPE9568F35-D428-11d2-A769-00AA001ACF42.
 * @since PHP 4, PHP < 5.5.0
 **/
function zend_logo_guid(){}

/**
 * Returns a unique identifier for the current thread
 *
 * This function returns a unique identifier for the current thread.
 *
 * @return int
 * @since PHP 5, PHP 7
 **/
function zend_thread_id(){}

/**
 * Gets the version of the current Zend engine
 *
 * Returns a string containing the version of the currently running Zend
 * Engine.
 *
 * @return string Returns the Zend Engine version number, as a string.
 * @since PHP 4, PHP 5, PHP 7
 **/
function zend_version(){}

/**
 * Close a ZIP file archive
 *
 * Closes the given ZIP file archive.
 *
 * @param resource $zip A ZIP file previously opened with {@link
 *   zip_open}.
 * @return void
 * @since PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.0.0
 **/
function zip_close($zip){}

/**
 * Close a directory entry
 *
 * Closes the specified directory entry.
 *
 * @param resource $zip_entry A directory entry previously opened
 *   {@link zip_entry_open}.
 * @return bool
 * @since PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.0.0
 **/
function zip_entry_close($zip_entry){}

/**
 * Retrieve the compressed size of a directory entry
 *
 * Returns the compressed size of the specified directory entry.
 *
 * @param resource $zip_entry A directory entry returned by {@link
 *   zip_read}.
 * @return int The compressed size.
 * @since PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.0.0
 **/
function zip_entry_compressedsize($zip_entry){}

/**
 * Retrieve the compression method of a directory entry
 *
 * Returns the compression method of the directory entry specified by
 * {@link zip_entry}.
 *
 * @param resource $zip_entry A directory entry returned by {@link
 *   zip_read}.
 * @return string The compression method.
 * @since PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.0.0
 **/
function zip_entry_compressionmethod($zip_entry){}

/**
 * Retrieve the actual file size of a directory entry
 *
 * Returns the actual size of the specified directory entry.
 *
 * @param resource $zip_entry A directory entry returned by {@link
 *   zip_read}.
 * @return int The size of the directory entry.
 * @since PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.0.0
 **/
function zip_entry_filesize($zip_entry){}

/**
 * Retrieve the name of a directory entry
 *
 * Returns the name of the specified directory entry.
 *
 * @param resource $zip_entry A directory entry returned by {@link
 *   zip_read}.
 * @return string The name of the directory entry.
 * @since PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.0.0
 **/
function zip_entry_name($zip_entry){}

/**
 * Open a directory entry for reading
 *
 * Opens a directory entry in a zip file for reading.
 *
 * @param resource $zip A valid resource handle returned by {@link
 *   zip_open}.
 * @param resource $zip_entry A directory entry returned by {@link
 *   zip_read}.
 * @param string $mode Any of the modes specified in the documentation
 *   of {@link fopen}.
 * @return bool
 * @since PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.0.0
 **/
function zip_entry_open($zip, $zip_entry, $mode){}

/**
 * Read from an open directory entry
 *
 * Reads from an open directory entry.
 *
 * @param resource $zip_entry A directory entry returned by {@link
 *   zip_read}.
 * @param int $length The number of bytes to return.
 * @return string Returns the data read, empty string on end of a file,
 *   or FALSE on error.
 * @since PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.0.0
 **/
function zip_entry_read($zip_entry, $length){}

/**
 * Open a ZIP file archive
 *
 * Opens a new zip archive for reading.
 *
 * @param string $filename The file name of the ZIP archive to open.
 * @return resource Returns a resource handle for later use with {@link
 *   zip_read} and {@link zip_close} or returns the number of error if
 *   {@link filename} does not exist or in case of other error.
 * @since PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.0.0
 **/
function zip_open($filename){}

/**
 * Read next entry in a ZIP file archive
 *
 * Reads the next entry in a zip file archive.
 *
 * @param resource $zip A ZIP file previously opened with {@link
 *   zip_open}.
 * @return resource Returns a directory entry resource for later use
 *   with the zip_entry_... functions, or FALSE if there are no more
 *   entries to read, or an error code if an error occurred.
 * @since PHP 4 >= 4.1.0, PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.0.0
 **/
function zip_read($zip){}

/**
 * Uncompress any raw/gzip/zlib encoded data
 *
 * @param string $data
 * @param string $max_decoded_len
 * @return string Returns the uncompressed data, .
 * @since PHP 5 >= 5.4.0, PHP 7
 **/
function zlib_decode($data, $max_decoded_len){}

/**
 * Compress data with the specified encoding
 *
 * @param string $data The data to compress.
 * @param int $encoding The compression algorithm. Either
 *   ZLIB_ENCODING_RAW, ZLIB_ENCODING_DEFLATE or ZLIB_ENCODING_GZIP.
 * @param int $level
 * @return string
 * @since PHP 5 >= 5.4.0, PHP 7
 **/
function zlib_encode($data, $encoding, $level){}

/**
 * Returns the coding type used for output compression
 *
 * @return string Possible return values are gzip, deflate, or FALSE.
 * @since PHP 4 >= 4.3.2, PHP 5, PHP 7
 **/
function zlib_get_coding_type(){}

/**
 * Calls callbacks for pending operations
 *
 * The {@link zookeeper_dispatch} function calls the callbacks passwd by
 * operations like Zookeeper::get or Zookeeper::exists.
 *
 * After PHP 7.1, you can ignore this function. This extension uses
 * EG(vm_interrupt) to implement async dispatch.
 *
 * @return void
 * @since PECL zookeeper >= 0.4.0
 **/
function zookeeper_dispatch(){}

/**
 * Attempt to load undefined class
 *
 * You can define this function to enable classes autoloading.
 *
 * @param string $class Name of the class to load
 * @return void
 * @since PHP 5, PHP 7
 **/
function __autoload($class){}

/**
 * Iterates through a file system in a similar fashion to {@link glob}.
 **/
class GlobIterator extends FilesystemIterator implements SeekableIterator, Countable {
    /**
     * Get the number of directories and files
     *
     * Gets the number of directories and files found by the glob expression.
     *
     * @return int The number of returned directories and files, as an
     *   integer.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function count(){}

    /**
     * Construct a directory using glob
     *
     * Constructs a new directory iterator from a glob expression.
     *
     * @param string $pattern A {@link glob} pattern.
     * @param int $flags Option flags, the flags may be a bitmask of the
     *   FilesystemIterator constants.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function __construct($pattern, $flags){}

}
class Gmagick {
    const COLOR_ALPHA = 0;

    const COLOR_BLACK = 0;

    const COLOR_BLUE = 0;

    const COLOR_CYAN = 0;

    const COLOR_FUZZ = 0;

    const COLOR_GREEN = 0;

    const COLOR_MAGENTA = 0;

    const COLOR_OPACITY = 0;

    const COLOR_RED = 0;

    const COLOR_YELLOW = 0;

    /**
     * Adds new image to Gmagick object image list
     *
     * Adds new image to Gmagick object from the current position of the
     * source object. After the operation iterator position is moved at the
     * end of the list.
     *
     * @param Gmagick $source The source Gmagick object
     * @return Gmagick The Gmagick object with image added
     * @since PECL gmagick >= Unknown
     **/
    public function addimage($source){}

    /**
     * Adds random noise to the image
     *
     * @param int $noise_type The type of the noise. Refer to this list of
     *   noise constants.
     * @return Gmagick The Gmagick object with noise added.
     * @since PECL gmagick >= Unknown
     **/
    public function addnoiseimage($noise_type){}

    /**
     * Annotates an image with text
     *
     * @param GmagickDraw $GmagickDraw The GmagickDraw object that contains
     *   settings for drawing the text
     * @param float $x Horizontal offset in pixels to the left of text
     * @param float $y Vertical offset in pixels to the baseline of text
     * @param float $angle The angle at which to write the text
     * @param string $text The string to draw
     * @return Gmagick The Gmagick object with annotation made.
     * @since PECL gmagick >= Unknown
     **/
    public function annotateimage($GmagickDraw, $x, $y, $angle, $text){}

    /**
     * Adds blur filter to image
     *
     * @param float $radius Blur radius
     * @param float $sigma Standard deviation
     * @param int $channel
     * @return Gmagick The blurred Gmagick object
     * @since PECL gmagick >= Unknown
     **/
    public function blurimage($radius, $sigma, $channel){}

    /**
     * Surrounds the image with a border
     *
     * Surrounds the image with a border of the color defined by the
     * bordercolor GmagickPixel object or a color string.
     *
     * @param GmagickPixel $color GmagickPixel object or a string
     *   containing the border color
     * @param int $width Border width
     * @param int $height Border height
     * @return Gmagick The Gmagick object with border defined
     * @since PECL gmagick >= Unknown
     **/
    public function borderimage($color, $width, $height){}

    /**
     * Simulates a charcoal drawing
     *
     * @param float $radius The radius of the Gaussian, in pixels, not
     *   counting the center pixel
     * @param float $sigma The standard deviation of the Gaussian, in
     *   pixels
     * @return Gmagick The Gmagick object with charcoal simulation
     * @since PECL gmagick >= Unknown
     **/
    public function charcoalimage($radius, $sigma){}

    /**
     * Removes a region of an image and trims
     *
     * Removes a region of an image and collapses the image to occupy the
     * removed portion.
     *
     * @param int $width Width of the chopped area
     * @param int $height Height of the chopped area
     * @param int $x X origo of the chopped area
     * @param int $y Y origo of the chopped area
     * @return Gmagick The chopped Gmagick object
     * @since PECL gmagick >= Unknown
     **/
    public function chopimage($width, $height, $x, $y){}

    /**
     * Clears all resources associated to Gmagick object
     *
     * @return Gmagick The cleared Gmagick object
     * @since PECL gmagick >= Unknown
     **/
    public function clear(){}

    /**
     * Adds a comment to your image
     *
     * @param string $comment The comment to add
     * @return Gmagick The Gmagick object with comment added.
     * @since PECL gmagick >= Unknown
     **/
    public function commentimage($comment){}

    /**
     * Composite one image onto another
     *
     * Composite one image onto another at the specified offset.
     *
     * @param Gmagick $source Gmagick object which holds the composite
     *   image
     * @param int $COMPOSE Composite operator.
     * @param int $x The column offset of the composited image
     * @param int $y The row offset of the composited image
     * @return Gmagick The Gmagick object with compositions.
     * @since PECL gmagick >= Unknown
     **/
    public function compositeimage($source, $COMPOSE, $x, $y){}

    /**
     * Extracts a region of the image
     *
     * @param int $width The width of the crop
     * @param int $height The height of the crop
     * @param int $x The X coordinate of the cropped region's top left
     *   corner
     * @param int $y The Y coordinate of the cropped region's top left
     *   corner
     * @return Gmagick The cropped Gmagick object
     * @since PECL gmagick >= Unknown
     **/
    public function cropimage($width, $height, $x, $y){}

    /**
     * Creates a crop thumbnail
     *
     * Creates a fixed size thumbnail by first scaling the image down and
     * cropping a specified area from the center.
     *
     * @param int $width The width of the thumbnail
     * @param int $height The Height of the thumbnail
     * @return Gmagick The cropped Gmagick object
     * @since PECL gmagick >= Unknown
     **/
    public function cropthumbnailimage($width, $height){}

    /**
     * The current purpose
     *
     * Returns reference to the current gmagick object with image pointer at
     * the correct sequence.
     *
     * @return Gmagick Returns self on success.
     * @since PECL gmagick >= Unknown
     **/
    public function current(){}

    /**
     * Displaces an image's colormap
     *
     * Displaces an image's colormap by a given number of positions. If you
     * cycle the colormap a number of times you can produce a psychedelic
     * effect.
     *
     * @param int $displace The amount to displace the colormap.
     * @return Gmagick Returns self on success.
     * @since PECL gmagick >= Unknown
     **/
    public function cyclecolormapimage($displace){}

    /**
     * Returns certain pixel differences between images
     *
     * Compares each image with the next in a sequence and returns the
     * maximum bounding region of any pixel differences it discovers.
     *
     * @return Gmagick Returns a new Gmagick object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function deconstructimages(){}

    /**
     * The despeckleimage purpose
     *
     * Reduces the speckle noise in an image while preserving the edges of
     * the original image.
     *
     * @return Gmagick The despeckled Gmagick object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function despeckleimage(){}

    /**
     * The destroy purpose
     *
     * Destroys the Gmagick object and frees all resources associated with it
     *
     * @return bool
     * @since PECL gmagick >= Unknown
     **/
    public function destroy(){}

    /**
     * Renders the GmagickDraw object on the current image
     *
     * @param GmagickDraw $GmagickDraw The drawing operations to render on
     *   the image.
     * @return Gmagick The drawn Gmagick object
     * @since PECL gmagick >= Unknown
     **/
    public function drawimage($GmagickDraw){}

    /**
     * Enhance edges within the image
     *
     * Enhance edges within the image with a convolution filter of the given
     * radius. Use radius 0 and it will be auto-selected.
     *
     * @param float $radius The radius of the operation.
     * @return Gmagick The Gmagick object with edges enhanced.
     * @since PECL gmagick >= Unknown
     **/
    public function edgeimage($radius){}

    /**
     * Returns a grayscale image with a three-dimensional effect
     *
     * Returns a grayscale image with a three-dimensional effect. We convolve
     * the image with a Gaussian operator of the given radius and standard
     * deviation (sigma). For reasonable results, radius should be larger
     * than sigma. Use a radius of 0 and it will choose a suitable radius for
     * you.
     *
     * @param float $radius The radius of the effect
     * @param float $sigma The sigma of the effect
     * @return Gmagick The embossed Gmagick object.
     * @since PECL gmagick >= Unknown
     **/
    public function embossimage($radius, $sigma){}

    /**
     * Improves the quality of a noisy image
     *
     * Applies a digital filter that improves the quality of a noisy image.
     *
     * @return Gmagick The enhanced Gmagick object.
     * @since PECL gmagick >= Unknown
     **/
    public function enhanceimage(){}

    /**
     * Equalizes the image histogram
     *
     * @return Gmagick The equalized Gmagick object.
     * @since PECL gmagick >= Unknown
     **/
    public function equalizeimage(){}

    /**
     * Creates a vertical mirror image
     *
     * Creates a vertical mirror image by reflecting the pixels around the
     * central x-axis.
     *
     * @return Gmagick The flipped Gmagick object.
     * @since PECL gmagick >= Unknown
     **/
    public function flipimage(){}

    /**
     * The flopimage purpose
     *
     * Creates a horizontal mirror image by reflecting the pixels around the
     * central y-axis.
     *
     * @return Gmagick The flopped Gmagick object.
     * @since PECL gmagick >= Unknown
     **/
    public function flopimage(){}

    /**
     * Adds a simulated three-dimensional border
     *
     * Adds a simulated three-dimensional border around the image. The width
     * and height specify the border width of the vertical and horizontal
     * sides of the frame. The inner and outer bevels indicate the width of
     * the inner and outer shadows of the frame.
     *
     * @param GmagickPixel $color GmagickPixel object or a float
     *   representing the matte color
     * @param int $width The width of the border
     * @param int $height The height of the border
     * @param int $inner_bevel The inner bevel width
     * @param int $outer_bevel The outer bevel width
     * @return Gmagick The framed Gmagick object.
     * @since PECL gmagick >= Unknown
     **/
    public function frameimage($color, $width, $height, $inner_bevel, $outer_bevel){}

    /**
     * Gamma-corrects an image
     *
     * Gamma-corrects an image. The same image viewed on different devices
     * will have perceptual differences in the way the image's intensities
     * are represented on the screen. Specify individual gamma levels for the
     * red, green, and blue channels, or adjust all three with the gamma
     * parameter. Values typically range from 0.8 to 2.3.
     *
     * @param float $gamma The amount of gamma-correction.
     * @return Gmagick The gamma corrected Gmagick object.
     * @since PECL gmagick >= Unknown
     **/
    public function gammaimage($gamma){}

    /**
     * Returns the GraphicsMagick API copyright as a string
     *
     * @return string Returns a string containing the copyright notice of
     *   GraphicsMagick and Magickwand C API.
     * @since PECL gmagick >= Unknown
     **/
    public function getcopyright(){}

    /**
     * The filename associated with an image sequence
     *
     * Returns the filename associated with an image sequence.
     *
     * @return string Returns a string on success.
     * @since PECL gmagick >= Unknown
     **/
    public function getfilename(){}

    /**
     * Returns the image background color
     *
     * @return GmagickPixel Returns an GmagickPixel set to the background
     *   color of the image.
     * @since PECL gmagick >= Unknown
     **/
    public function getimagebackgroundcolor(){}

    /**
     * Returns the chromaticy blue primary point
     *
     * Returns the chromaticity blue primary point for the image.
     *
     * @return array Array consisting of "x" and "y" coordinates of point.
     * @since PECL gmagick >= Unknown
     **/
    public function getimageblueprimary(){}

    /**
     * Returns the image border color
     *
     * @return GmagickPixel GmagickPixel object representing the color of
     *   the border
     * @since PECL gmagick >= Unknown
     **/
    public function getimagebordercolor(){}

    /**
     * Gets the depth for a particular image channel
     *
     * @param int $channel_type
     * @return int Depth of image channel
     * @since PECL gmagick >= Unknown
     **/
    public function getimagechanneldepth($channel_type){}

    /**
     * Returns the color of the specified colormap index
     *
     * Returns the color of the specified colormap index.
     *
     * @return int The number of colors in image.
     * @since PECL gmagick >= Unknown
     **/
    public function getimagecolors(){}

    /**
     * Gets the image colorspace
     *
     * @return int Colorspace
     * @since PECL gmagick >= Unknown
     **/
    public function getimagecolorspace(){}

    /**
     * Returns the composite operator associated with the image
     *
     * @return int Returns the composite operator associated with the
     *   image.
     * @since PECL gmagick >= Unknown
     **/
    public function getimagecompose(){}

    /**
     * Gets the image delay
     *
     * @return int Returns the composite operator associated with the
     *   image.
     * @since PECL gmagick >= Unknown
     **/
    public function getimagedelay(){}

    /**
     * Gets the depth of the image
     *
     * @return int Image depth
     * @since PECL gmagick >= Unknown
     **/
    public function getimagedepth(){}

    /**
     * Gets the image disposal method
     *
     * @return int Returns the dispose method on success.
     * @since PECL gmagick >= Unknown
     **/
    public function getimagedispose(){}

    /**
     * Gets the extrema for the image
     *
     * Returns an associative array with the keys "min" and "max".
     *
     * @return array Returns an associative array with the keys "min" and
     *   "max".
     * @since PECL gmagick >= Unknown
     **/
    public function getimageextrema(){}

    /**
     * Returns the filename of a particular image in a sequence
     *
     * @return string Returns a string with the filename of the image
     * @since PECL gmagick >= Unknown
     **/
    public function getimagefilename(){}

    /**
     * Returns the format of a particular image in a sequence
     *
     * @return string Returns a string containing the image format on
     *   success.
     * @since PECL gmagick >= Unknown
     **/
    public function getimageformat(){}

    /**
     * Gets the image gamma
     *
     * @return float Returns the image gamma on success
     * @since PECL gmagick >= Unknown
     **/
    public function getimagegamma(){}

    /**
     * Returns the chromaticy green primary point
     *
     * Returns the chromaticity green primary point. Returns an array with
     * the keys "x" and "y".
     *
     * @return array Returns an array with the keys "x" and "y" on success.
     * @since PECL gmagick >= Unknown
     **/
    public function getimagegreenprimary(){}

    /**
     * Returns the image height
     *
     * @return int Returns the image height in pixels.
     * @since PECL gmagick >= Unknown
     **/
    public function getimageheight(){}

    /**
     * Gets the image histogram
     *
     * Returns the image histogram as an array of GmagickPixel objects. Throw
     * an GmagickException on error.
     *
     * @return array Returns the image histogram as an array of
     *   GmagickPixel objects.
     * @since PECL gmagick >= Unknown
     **/
    public function getimagehistogram(){}

    /**
     * Gets the index of the current active image
     *
     * Returns the index of the current active image within the Gmagick
     * object.
     *
     * @return int Index of current active image
     * @since PECL gmagick >= Unknown
     **/
    public function getimageindex(){}

    /**
     * Gets the image interlace scheme
     *
     * @return int Returns the interlace scheme as an integer on success
     * @since PECL gmagick >= Unknown
     **/
    public function getimageinterlacescheme(){}

    /**
     * Gets the image iterations
     *
     * @return int Returns the image iterations as an integer.
     * @since PECL gmagick >= Unknown
     **/
    public function getimageiterations(){}

    /**
     * Check if the image has a matte channel
     *
     * Returns TRUE if the image has a matte channel, otherwise FALSE.
     *
     * @return int Returns TRUE if the image has a matte channel, otherwise
     *   FALSE.
     * @since PECL gmagick >= Unknown
     **/
    public function getimagematte(){}

    /**
     * Returns the image matte color
     *
     * Returns GmagickPixel object on success. Throw an GmagickException on
     * error.
     *
     * @return GmagickPixel Returns GmagickPixel object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function getimagemattecolor(){}

    /**
     * Returns the named image profile
     *
     * @param string $name
     * @return string Returns a string containing the image profile.
     * @since PECL gmagick >= Unknown
     **/
    public function getimageprofile($name){}

    /**
     * Returns the chromaticity red primary point
     *
     * Returns the chromaticity red primary point as an array with the keys
     * "x" and "y".
     *
     * @return array Returns the chromaticity red primary point as an array
     *   with the keys "x" and "y".
     * @since PECL gmagick >= Unknown
     **/
    public function getimageredprimary(){}

    /**
     * Gets the image rendering intent
     *
     * @return int Extracts a region of the image and returns it as a a new
     *   wand
     * @since PECL gmagick >= Unknown
     **/
    public function getimagerenderingintent(){}

    /**
     * Gets the image X and Y resolution
     *
     * Returns the resolution as an array.
     *
     * @return array Returns the resolution as an array.
     * @since PECL gmagick >= Unknown
     **/
    public function getimageresolution(){}

    /**
     * Gets the image scene
     *
     * @return int Returns the image scene.
     * @since PECL gmagick >= Unknown
     **/
    public function getimagescene(){}

    /**
     * Generates an SHA-256 message digest
     *
     * Generates an SHA-256 message digest for the image pixel stream.
     *
     * @return string Returns a string containing the SHA-256 hash of the
     *   file.
     * @since PECL gmagick >= Unknown
     **/
    public function getimagesignature(){}

    /**
     * Gets the potential image type
     *
     * @return int Returns the potential image type.
     * @since PECL gmagick >= Unknown
     **/
    public function getimagetype(){}

    /**
     * Gets the image units of resolution
     *
     * @return int Returns the image units of resolution.
     * @since PECL gmagick >= Unknown
     **/
    public function getimageunits(){}

    /**
     * Returns the chromaticity white point
     *
     * Returns the chromaticity white point as an associative array with the
     * keys "x" and "y".
     *
     * @return array Returns the chromaticity white point as an associative
     *   array with the keys "x" and "y".
     * @since PECL gmagick >= Unknown
     **/
    public function getimagewhitepoint(){}

    /**
     * Returns the width of the image
     *
     * @return int Returns the image width.
     * @since PECL gmagick >= Unknown
     **/
    public function getimagewidth(){}

    /**
     * Returns the GraphicsMagick package name
     *
     * @return string Returns the GraphicsMagick package name as a string.
     * @since PECL gmagick >= Unknown
     **/
    public function getpackagename(){}

    /**
     * Returns the Gmagick quantum depth as a string
     *
     * @return array Returns the Gmagick quantum depth as a string.
     * @since PECL gmagick >= Unknown
     **/
    public function getquantumdepth(){}

    /**
     * Returns the GraphicsMagick release date as a string
     *
     * @return string Returns the GraphicsMagick release date as a string.
     * @since PECL gmagick >= Unknown
     **/
    public function getreleasedate(){}

    /**
     * Gets the horizontal and vertical sampling factor
     *
     * @return array Returns an associative array with the horizontal and
     *   vertical sampling factors of the image.
     * @since PECL gmagick >= Unknown
     **/
    public function getsamplingfactors(){}

    /**
     * Returns the size associated with the Gmagick object
     *
     * Returns the size associated with the Gmagick object as an array with
     * the keys "columns" and "rows".
     *
     * @return array Returns the size associated with the Gmagick object as
     *   an array with the keys "columns" and "rows".
     * @since PECL gmagick >= Unknown
     **/
    public function getsize(){}

    /**
     * Returns the GraphicsMagick API version
     *
     * Returns the GraphicsMagick API version as a string and as a number.
     *
     * @return array Returns the GraphicsMagick API version as a string and
     *   as a number.
     * @since PECL gmagick >= Unknown
     **/
    public function getversion(){}

    /**
     * Checks if the object has more images
     *
     * Returns TRUE if the object has more images when traversing the list in
     * the forward direction.
     *
     * @return mixed Returns TRUE if the object has more images when
     *   traversing the list in the forward direction, returns FALSE if there
     *   are none.
     * @since PECL gmagick >= Unknown
     **/
    public function hasnextimage(){}

    /**
     * Checks if the object has a previous image
     *
     * Returns TRUE if the object has more images when traversing the list in
     * the reverse direction
     *
     * @return mixed Returns TRUE if the object has more images when
     *   traversing the list in the reverse direction, returns FALSE if there
     *   are none.
     * @since PECL gmagick >= Unknown
     **/
    public function haspreviousimage(){}

    /**
     * Creates a new image as a copy
     *
     * Creates a new image that is a copy of an existing one with the image
     * pixels "imploded" by the specified percentage.
     *
     * @param float $radius The radius of the implode
     * @return mixed Returns imploded Gmagick object.
     * @since PECL gmagick >= Unknown
     **/
    public function implodeimage($radius){}

    /**
     * Adds a label to an image
     *
     * @param string $label The label to add
     * @return mixed Gmagick with label.
     * @since PECL gmagick >= Unknown
     **/
    public function labelimage($label){}

    /**
     * Adjusts the levels of an image
     *
     * Adjusts the levels of an image by scaling the colors falling between
     * specified white and black points to the full available quantum range.
     * The parameters provided represent the black, mid, and white points.
     * The black point specifies the darkest color in the image. Colors
     * darker than the black point are set to zero. Mid point specifies a
     * gamma correction to apply to the image. White point specifies the
     * lightest color in the image. Colors brighter than the white point are
     * set to the maximum quantum value.
     *
     * @param float $blackPoint The image black point
     * @param float $gamma The gamma value
     * @param float $whitePoint The image white point
     * @param int $channel Provide any channel constant that is valid for
     *   your channel mode. To apply to more than one channel, combine
     *   channeltype constants using bitwise operators. Refer to this list of
     *   channel constants.
     * @return mixed Gmagick object with image levelled.
     * @since PECL gmagick >= Unknown
     **/
    public function levelimage($blackPoint, $gamma, $whitePoint, $channel){}

    /**
     * Scales an image proportionally 2x
     *
     * Conveniently scales an image proportionally to twice its original
     * size.
     *
     * @return mixed Magnified Gmagick object.
     * @since PECL gmagick >= Unknown
     **/
    public function magnifyimage(){}

    /**
     * Replaces the colors of an image with the closest color from a
     * reference image
     *
     * @param gmagick $gmagick The reference image
     * @param bool $dither Set this integer value to something other than
     *   zero to dither the mapped image
     * @return Gmagick Gmagick object
     * @since PECL gmagick >= Unknown
     **/
    public function mapimage($gmagick, $dither){}

    /**
     * Applies a digital filter
     *
     * Applies a digital filter that improves the quality of a noisy image.
     * Each pixel is replaced by the median in a set of neighboring pixels as
     * defined by radius.
     *
     * @param float $radius The radius of the pixel neighborhood.
     * @return void Gmagick object with median filter applied.
     * @since PECL gmagick >= Unknown
     **/
    public function medianfilterimage($radius){}

    /**
     * Scales an image proportionally to half its size
     *
     * A convenient method that scales an image proportionally to one-half
     * its original size
     *
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function minifyimage(){}

    /**
     * Control the brightness, saturation, and hue
     *
     * Lets you control the brightness, saturation, and hue of an image. Hue
     * is the percentage of absolute rotation from the current position. For
     * example 50 results in a counter-clockwise rotation of 90 degrees, 150
     * results in a clockwise rotation of 90 degrees, with 0 and 200 both
     * resulting in a rotation of 180 degrees.
     *
     * @param float $brightness The percent change in brighness (-100 thru
     *   +100).
     * @param float $saturation The percent change in saturation (-100 thru
     *   +100)
     * @param float $hue The percent change in hue (-100 thru +100)
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function modulateimage($brightness, $saturation, $hue){}

    /**
     * Simulates motion blur
     *
     * Simulates motion blur. We convolve the image with a Gaussian operator
     * of the given radius and standard deviation (sigma). For reasonable
     * results, radius should be larger than sigma. Use a radius of 0 and
     * MotionBlurImage() selects a suitable radius for you. Angle gives the
     * angle of the blurring motion.
     *
     * @param float $radius The radius of the Gaussian, in pixels, not
     *   counting the center pixel.
     * @param float $sigma The standard deviation of the Gaussian, in
     *   pixels.
     * @param float $angle Apply the effect along this angle.
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function motionblurimage($radius, $sigma, $angle){}

    /**
     * Creates a new image
     *
     * Creates a new image with the specified background color
     *
     * @param int $width Width of the new image
     * @param int $height Height of the new image
     * @param string $background The background color used for this image
     *   (as float)
     * @param string $format Image format.
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function newimage($width, $height, $background, $format){}

    /**
     * Moves to the next image
     *
     * Associates the next image in the image list with an Gmagick object.
     *
     * @return bool
     * @since PECL gmagick >= Unknown
     **/
    public function nextimage(){}

    /**
     * Enhances the contrast of a color image
     *
     * Enhances the contrast of a color image by adjusting the pixels color
     * to span the entire range of colors available.
     *
     * @param int $channel Identify which channel to normalize
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function normalizeimage($channel){}

    /**
     * Simulates an oil painting
     *
     * Applies a special effect filter that simulates an oil painting. Each
     * pixel is replaced by the most frequent color occurring in a circular
     * region defined by radius.
     *
     * @param float $radius The radius of the circular neighborhood.
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function oilpaintimage($radius){}

    /**
     * Move to the previous image in the object
     *
     * Associates the previous image in an image list with the Gmagick
     * object.
     *
     * @return bool
     * @since PECL gmagick >= Unknown
     **/
    public function previousimage(){}

    /**
     * Adds or removes a profile from an image
     *
     * Adds or removes a ICC, IPTC, or generic profile from an image. If the
     * profile is NULL, it is removed from the image otherwise added. Use a
     * name of '*' and a profile of NULL to remove all profiles from the
     * image.
     *
     * @param string $name Name of profile to add or remove: ICC, IPTC, or
     *   generic profile.
     * @param string $profile The profile.
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function profileimage($name, $profile){}

    /**
     * Analyzes the colors within a reference image
     *
     * Analyzes the colors within a reference image and chooses a fixed
     * number of colors to represent the image. The goal of the algorithm is
     * to minimize the color difference between the input and output image
     * while minimizing the processing time.
     *
     * @param int $numColors The number of colors.
     * @param int $colorspace Perform color reduction in this colorspace,
     *   typically RGBColorspace.
     * @param int $treeDepth Normally, this integer value is zero or one. A
     *   zero or one tells Quantize to choose a optimal tree depth of
     *   Log4(number_colors).% A tree of this depth generally allows the best
     *   representation of the reference image with the least amount of
     *   memory and the fastest computational speed. In some cases, such as
     *   an image with low color dispersion (a few number of colors), a value
     *   other than Log4(number_colors) is required. To expand the color tree
     *   completely, use a value of 8.
     * @param bool $dither A value other than zero distributes the
     *   difference between an original image and the corresponding color
     *   reduced algorithm to neighboring pixels along a Hilbert curve.
     * @param bool $measureError A value other than zero measures the
     *   difference between the original and quantized images. This
     *   difference is the total quantization error. The error is computed by
     *   summing over all pixels in an image the distance squared in RGB
     *   space between each reference pixel value and its quantized value.
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function quantizeimage($numColors, $colorspace, $treeDepth, $dither, $measureError){}

    /**
     * The quantizeimages purpose
     *
     * Analyzes the colors within a sequence of images and chooses a fixed
     * number of colors to represent the image. The goal of the algorithm is
     * to minimize the color difference between the input and output image
     * while minimizing the processing time.
     *
     * @param int $numColors The number of colors.
     * @param int $colorspace Perform color reduction in this colorspace,
     *   typically RGBColorspace.
     * @param int $treeDepth Normally, this integer value is zero or one. A
     *   zero or one tells Quantize to choose a optimal tree depth of
     *   Log4(number_colors).% A tree of this depth generally allows the best
     *   representation of the reference image with the least amount of
     *   memory and the fastest computational speed. In some cases, such as
     *   an image with low color dispersion (a few number of colors), a value
     *   other than Log4(number_colors) is required. To expand the color tree
     *   completely, use a value of 8.
     * @param bool $dither A value other than zero distributes the
     *   difference between an original image and the corresponding color
     *   reduced algorithm to neighboring pixels along a Hilbert curve.
     * @param bool $measureError A value other than zero measures the
     *   difference between the original and quantized images. This
     *   difference is the total quantization error. The error is computed by
     *   summing over all pixels in an image the distance squared in RGB
     *   space between each reference pixel value and its quantized value.
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function quantizeimages($numColors, $colorspace, $treeDepth, $dither, $measureError){}

    /**
     * Returns an array representing the font metrics
     *
     * MagickQueryFontMetrics() returns an array representing the font
     * metrics.
     *
     * @param GmagickDraw $draw
     * @param string $text
     * @return array The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function queryfontmetrics($draw, $text){}

    /**
     * Returns the configured fonts
     *
     * Returns fonts supported by Gmagick.
     *
     * @param string $pattern
     * @return array The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function queryfonts($pattern){}

    /**
     * Returns formats supported by Gmagick
     *
     * @param string $pattern Specifies a string containing a pattern.
     * @return array The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function queryformats($pattern){}

    /**
     * Radial blurs an image
     *
     * @param float $angle The angle of the blur in degrees.
     * @param int $channel Related channel
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function radialblurimage($angle, $channel){}

    /**
     * Creates a simulated 3d button-like effect
     *
     * Creates a simulated three-dimensional button-like effect by lightening
     * and darkening the edges of the image. Members width and height of
     * raise_info define the width of the vertical and horizontal edge of the
     * effect.
     *
     * @param int $width Width of the area to raise.
     * @param int $height Height of the area to raise.
     * @param int $x X coordinate
     * @param int $y Y coordinate
     * @param bool $raise A value other than zero creates a 3-D raise
     *   effect, otherwise it has a lowered effect.
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function raiseimage($width, $height, $x, $y, $raise){}

    /**
     * Reads image from filename
     *
     * @param string $filename The image filename.
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function read($filename){}

    /**
     * Reads image from filename
     *
     * @param string $filename The image filename.
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function readimage($filename){}

    /**
     * Reads image from a binary string
     *
     * @param string $imageContents Content of image
     * @param string $filename The image filename.
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function readimageblob($imageContents, $filename){}

    /**
     * The readimagefile purpose
     *
     * Reads an image or image sequence from an open file descriptor.
     *
     * @param resource $fp The file descriptor.
     * @param string $filename
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function readimagefile($fp, $filename){}

    /**
     * Smooths the contours of an image
     *
     * Smooths the contours of an image while still preserving edge
     * information. The algorithm works by replacing each pixel with its
     * neighbor closest in value. A neighbor is defined by radius. Use a
     * radius of 0 and Gmagick::reduceNoiseImage() selects a suitable radius
     * for you.
     *
     * @param float $radius The radius of the pixel neighborhood.
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function reducenoiseimage($radius){}

    /**
     * Removes an image from the image list
     *
     * @return Gmagick The Gmagick object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function removeimage(){}

    /**
     * Removes the named image profile and returns it
     *
     * @param string $name Name of profile to return: ICC, IPTC, or generic
     *   profile.
     * @return string The named profile.
     * @since PECL gmagick >= Unknown
     **/
    public function removeimageprofile($name){}

    /**
     * Resample image to desired resolution
     *
     * @param float $xResolution The new image x resolution.
     * @param float $yResolution The new image y resolution.
     * @param int $filter Image filter to use.
     * @param float $blur The blur factor where larger than 1 is blurry,
     *   smaller than 1 is sharp.
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function resampleimage($xResolution, $yResolution, $filter, $blur){}

    /**
     * Scales an image
     *
     * Scales an image to the desired dimensions with a filter.
     *
     * @param int $width The number of columns in the scaled image.
     * @param int $height The number of rows in the scaled image.
     * @param int $filter Image filter to use.
     * @param float $blur The blur factor where larger than 1 is blurry,
     *   lesser than 1 is sharp.
     * @param bool $fit
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function resizeimage($width, $height, $filter, $blur, $fit){}

    /**
     * Offsets an image
     *
     * Offsets an image as defined by x and y.
     *
     * @param int $x The x offset.
     * @param int $y The y offset.
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function rollimage($x, $y){}

    /**
     * Rotates an image
     *
     * Rotates an image the specified number of degrees. Empty triangles left
     * over from rotating the image are filled with the background color.
     *
     * @param mixed $color The background pixel.
     * @param float $degrees The number of degrees to rotate the image.
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function rotateimage($color, $degrees){}

    /**
     * Scales the size of an image
     *
     * Scales the size of an image to the given dimensions. The other
     * parameter will be calculated if 0 is passed as either param.
     *
     * @param int $width The number of columns in the scaled image.
     * @param int $height The number of rows in the scaled image.
     * @param bool $fit
     * @return Gmagick The Gmagick object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function scaleimage($width, $height, $fit){}

    /**
     * Separates a channel from the image
     *
     * Separates a channel from the image and returns a grayscale image. A
     * channel is a particular color component of each pixel in the image.
     *
     * @param int $channel Identify which channel to extract: RedChannel,
     *   GreenChannel, BlueChannel, OpacityChannel, CyanChannel,
     *   MagentaChannel, YellowChannel, BlackChannel.
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function separateimagechannel($channel){}

    /**
     * Sets the object's default compression quality
     *
     * @param int $quality
     * @return Gmagick The Gmagick object on success
     **/
    function setCompressionQuality($quality){}

    /**
     * Sets the filename before you read or write the image
     *
     * Sets the filename before you read or write an image file.
     *
     * @param string $filename The image filename.
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function setfilename($filename){}

    /**
     * Sets the image background color
     *
     * @param GmagickPixel $color The background pixel wand.
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function setimagebackgroundcolor($color){}

    /**
     * Sets the image chromaticity blue primary point
     *
     * @param float $x The blue primary x-point.
     * @param float $y The blue primary y-point.
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function setimageblueprimary($x, $y){}

    /**
     * Sets the image border color
     *
     * @param GmagickPixel $color The border pixel wand.
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function setimagebordercolor($color){}

    /**
     * Sets the depth of a particular image channel
     *
     * @param int $channel Identify which channel to extract: RedChannel,
     *   GreenChannel, BlueChannel, OpacityChannel, CyanChannel,
     *   MagentaChannel, YellowChannel, BlackChannel.
     * @param int $depth The image depth in bits.
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function setimagechanneldepth($channel, $depth){}

    /**
     * Sets the image colorspace
     *
     * @param int $colorspace The image colorspace: UndefinedColorspace,
     *   RGBColorspace, GRAYColorspace, TransparentColorspace,
     *   OHTAColorspace, XYZColorspace, YCbCrColorspace, YCCColorspace,
     *   YIQColorspace, YPbPrColorspace, YPbPrColorspace, YUVColorspace,
     *   CMYKColorspace, sRGBColorspace, HSLColorspace, or HWBColorspace.
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function setimagecolorspace($colorspace){}

    /**
     * Sets the image composite operator
     *
     * @param int $composite The image composite operator.
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function setimagecompose($composite){}

    /**
     * Sets the image delay
     *
     * @param int $delay The image delay in 1/100th of a second.
     * @return Gmagick The Gmagick object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function setimagedelay($delay){}

    /**
     * Sets the image depth
     *
     * @param int $depth The image depth in bits: 8, 16, or 32.
     * @return Gmagick The Gmagick object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function setimagedepth($depth){}

    /**
     * Sets the image disposal method
     *
     * @param int $disposeType The image disposal type.
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function setimagedispose($disposeType){}

    /**
     * Sets the filename of a particular image in a sequence
     *
     * @param string $filename The image filename.
     * @return Gmagick The Gmagick object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function setimagefilename($filename){}

    /**
     * Sets the format of a particular image
     *
     * Sets the format of a particular image in a sequence.
     *
     * @param string $imageFormat The image format.
     * @return Gmagick The Gmagick object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function setimageformat($imageFormat){}

    /**
     * Sets the image gamma
     *
     * @param float $gamma The image gamma.
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function setimagegamma($gamma){}

    /**
     * Sets the image chromaticity green primary point
     *
     * @param float $x The chromaticity green primary x-point.
     * @param float $y The chromaticity green primary y-point.
     * @return Gmagick The Gmagick object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function setimagegreenprimary($x, $y){}

    /**
     * Set the iterator to the position in the image list specified with the
     * index parameter
     *
     * @param int $index The scene number.
     * @return Gmagick The Gmagick object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function setimageindex($index){}

    /**
     * Sets the interlace scheme of the image
     *
     * @param int $interlace The image interlace scheme: NoInterlace,
     *   LineInterlace, PlaneInterlace, PartitionInterlace.
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function setimageinterlacescheme($interlace){}

    /**
     * Sets the image iterations
     *
     * @param int $iterations The image delay in 1/100th of a second.
     * @return Gmagick The Gmagick object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function setimageiterations($iterations){}

    /**
     * Adds a named profile to the Gmagick object
     *
     * Adds a named profile to the Gmagick object. If a profile with the same
     * name already exists, it is replaced. This method differs from the
     * Gmagick::profileimage() method in that it does not apply any CMS color
     * profiles.
     *
     * @param string $name Name of profile to add or remove: ICC, IPTC, or
     *   generic profile.
     * @param string $profile The profile.
     * @return Gmagick The Gmagick object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function setimageprofile($name, $profile){}

    /**
     * Sets the image chromaticity red primary point
     *
     * @param float $x The red primary x-point.
     * @param float $y The red primary y-point.
     * @return Gmagick The Gmagick object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function setimageredprimary($x, $y){}

    /**
     * Sets the image rendering intent
     *
     * @param int $rendering_intent The image rendering intent:
     *   UndefinedIntent, SaturationIntent, PerceptualIntent, AbsoluteIntent,
     *   or RelativeIntent.
     * @return Gmagick The Gmagick object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function setimagerenderingintent($rendering_intent){}

    /**
     * Sets the image resolution
     *
     * @param float $xResolution The image x resolution.
     * @param float $yResolution The image y resolution.
     * @return Gmagick The Gmagick object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function setimageresolution($xResolution, $yResolution){}

    /**
     * Sets the image scene
     *
     * @param int $scene The image scene number.
     * @return Gmagick The Gmagick object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function setimagescene($scene){}

    /**
     * Sets the image type
     *
     * @param int $imgType The image type: UndefinedType, BilevelType,
     *   GrayscaleType, GrayscaleMatteType, PaletteType, PaletteMatteType,
     *   TrueColorType, TrueColorMatteType, ColorSeparationType,
     *   ColorSeparationMatteType, or OptimizeType.
     * @return Gmagick The Gmagick object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function setimagetype($imgType){}

    /**
     * Sets the image units of resolution
     *
     * @param int $resolution The image units of resolution :
     *   Undefinedresolution, PixelsPerInchResolution, or
     *   PixelsPerCentimeterResolution.
     * @return Gmagick The Gmagick object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function setimageunits($resolution){}

    /**
     * Sets the image chromaticity white point
     *
     * @param float $x The white x-point.
     * @param float $y The white y-point.
     * @return Gmagick The Gmagick object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function setimagewhitepoint($x, $y){}

    /**
     * Sets the image sampling factors
     *
     * @param array $factors An array of doubles representing the sampling
     *   factor for each color component (in RGB order).
     * @return Gmagick The Gmagick object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function setsamplingfactors($factors){}

    /**
     * Sets the size of the Gmagick object
     *
     * Sets the size of the Gmagick object. Set it before you read a raw
     * image format such as RGB, GRAY, or CMYK.
     *
     * @param int $columns The width in pixels.
     * @param int $rows The height in pixels.
     * @return Gmagick The Gmagick object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function setsize($columns, $rows){}

    /**
     * Creating a parallelogram
     *
     * Slides one edge of an image along the X or Y axis, creating a
     * parallelogram. An X direction shear slides an edge along the X axis,
     * while a Y direction shear slides an edge along the Y axis. The amount
     * of the shear is controlled by a shear angle. For X direction shears,
     * x_shear is measured relative to the Y axis, and similarly, for Y
     * direction shears y_shear is measured relative to the X axis. Empty
     * triangles left over from shearing the image are filled with the
     * background color.
     *
     * @param mixed $color The background pixel wand.
     * @param float $xShear The number of degrees to shear the image.
     * @param float $yShear The number of degrees to shear the image.
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function shearimage($color, $xShear, $yShear){}

    /**
     * Applies a solarizing effect to the image
     *
     * Applies a special effect to the image, similar to the effect achieved
     * in a photo darkroom by selectively exposing areas of photo sensitive
     * paper to light. Threshold ranges from 0 to QuantumRange and is a
     * measure of the extent of the solarization.
     *
     * @param int $threshold Define the extent of the solarization.
     * @return Gmagick The Gmagick object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function solarizeimage($threshold){}

    /**
     * Randomly displaces each pixel in a block
     *
     * Special effects method that randomly displaces each pixel in a block
     * defined by the radius parameter.
     *
     * @param float $radius Choose a random pixel in a neighborhood of this
     *   extent.
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function spreadimage($radius){}

    /**
     * Strips an image of all profiles and comments
     *
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function stripimage(){}

    /**
     * Swirls the pixels about the center of the image
     *
     * Swirls the pixels about the center of the image, where degrees
     * indicates the sweep of the arc through which each pixel is moved. You
     * get a more dramatic effect as the degrees move from 1 to 360.
     *
     * @param float $degrees Define the tightness of the swirling effect.
     * @return Gmagick The Gmagick object on success
     * @since PECL gmagick >= Unknown
     **/
    public function swirlimage($degrees){}

    /**
     * Changes the size of an image
     *
     * Changes the size of an image to the given dimensions and removes any
     * associated profiles. The goal is to produce small low cost thumbnail
     * images suited for display on the Web. If TRUE is given as a third
     * parameter then columns and rows parameters are used as maximums for
     * each side. Both sides will be scaled down until the match or are
     * smaller than the parameter given for the side.
     *
     * @param int $width Image width
     * @param int $height Image height
     * @param bool $fit
     * @return Gmagick The Gmagick object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function thumbnailimage($width, $height, $fit){}

    /**
     * Remove edges from the image
     *
     * Remove edges that are the background color from the image.
     *
     * @param float $fuzz By default target must match a particular pixel
     *   color exactly. However, in many cases two colors may differ by a
     *   small amount. The fuzz member of image defines how much tolerance is
     *   acceptable to consider two colors as the same. This parameter
     *   represents the variation on the quantum range.
     * @return Gmagick The Gmagick object
     * @since PECL gmagick >= Unknown
     **/
    public function trimimage($fuzz){}

    /**
     * Writes an image to the specified filename
     *
     * Writes an image to the specified filename. If the filename parameter
     * is NULL, the image is written to the filename set by
     * Gmagick::ReadImage() or Gmagick::SetImageFilename().
     *
     * @param string $filename The image filename.
     * @param bool $all_frames
     * @return Gmagick The Gmagick object
     * @since PECL gmagick >= Unknown
     **/
    public function writeimage($filename, $all_frames){}

    /**
     * The Gmagick constructor
     *
     * @param string $filename The path to an image to load or array of
     *   paths
     * @since PECL gmagick >= Unknown
     **/
    public function __construct($filename){}

}
class GmagickDraw {
    /**
     * Draws text on the image
     *
     * @param float $x x ordinate to left of text
     * @param float $y y ordinate to text baseline
     * @param string $text text to draw
     * @return GmagickDraw The GmagickDraw object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function annotate($x, $y, $text){}

    /**
     * Draws an arc
     *
     * Draws an arc falling within a specified bounding rectangle on the
     * image.
     *
     * @param float $sx starting x ordinate of bounding rectangle
     * @param float $sy starting y ordinate of bounding rectangle
     * @param float $ex ending x ordinate of bounding rectangle
     * @param float $ey ending y ordinate of bounding rectangle
     * @param float $sd starting degrees of rotation
     * @param float $ed ending degrees of rotation
     * @return GmagickDraw The GmagickDraw object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function arc($sx, $sy, $ex, $ey, $sd, $ed){}

    /**
     * Draws a bezier curve
     *
     * Draws a bezier curve through a set of points on the image.
     *
     * @param array $coordinate_array Coordinates array
     * @return GmagickDraw The GmagickDraw object on success
     * @since PECL gmagick >= Unknown
     **/
    public function bezier($coordinate_array){}

    /**
     * Draws an ellipse on the image
     *
     * @param float $ox origin x ordinate
     * @param float $oy origin y ordinate
     * @param float $rx radius in x
     * @param float $ry radius in y
     * @param float $start starting rotation in degrees
     * @param float $end ending rotation in degrees
     * @return GmagickDraw The GmagickDraw object on success
     * @since PECL gmagick >= Unknown
     **/
    public function ellipse($ox, $oy, $rx, $ry, $start, $end){}

    /**
     * Returns the fill color
     *
     * Returns the fill color used for drawing filled objects.
     *
     * @return GmagickPixel The GmagickPixel fill color used for drawing
     *   filled objects.
     * @since PECL gmagick >= Unknown
     **/
    public function getfillcolor(){}

    /**
     * Returns the opacity used when drawing
     *
     * @return float Returns the opacity used when drawing using the fill
     *   color or fill texture. Fully opaque is 1.0.
     * @since PECL gmagick >= Unknown
     **/
    public function getfillopacity(){}

    /**
     * Returns the font
     *
     * Returns a string specifying the font used when annotating with text.
     *
     * @return mixed Returns a string on success and FALSE if no font is
     *   set.
     * @since PECL gmagick >= Unknown
     **/
    public function getfont(){}

    /**
     * Returns the font pointsize
     *
     * Returns the font pointsize used when annotating with text.
     *
     * @return float Returns the font size associated with the current
     *   GmagickDraw object.
     * @since PECL gmagick >= Unknown
     **/
    public function getfontsize(){}

    /**
     * Returns the font style
     *
     * Returns the font style used when annotating with text.
     *
     * @return int Returns the font style constant (STYLE_) associated with
     *   the GmagickDraw object or 0 if no style is set.
     * @since PECL gmagick >= Unknown
     **/
    public function getfontstyle(){}

    /**
     * Returns the font weight
     *
     * Returns the font weight used when annotating with text.
     *
     * @return int Returns an int on success and 0 if no weight is set.
     * @since PECL gmagick >= Unknown
     **/
    public function getfontweight(){}

    /**
     * Returns the color used for stroking object outlines
     *
     * @return GmagickPixel Returns an GmagickPixel object which describes
     *   the color.
     * @since PECL gmagick >= Unknown
     **/
    public function getstrokecolor(){}

    /**
     * Returns the opacity of stroked object outlines
     *
     * @return float Returns a double describing the opacity.
     * @since PECL gmagick >= Unknown
     **/
    public function getstrokeopacity(){}

    /**
     * Returns the width of the stroke used to draw object outlines
     *
     * @return float Returns a double describing the stroke width.
     * @since PECL gmagick >= Unknown
     **/
    public function getstrokewidth(){}

    /**
     * Returns the text decoration
     *
     * Returns the decoration applied when annotating with text.
     *
     * @return int Returns one of the DECORATION_ constants and 0 if no
     *   decoration is set.
     * @since PECL gmagick >= Unknown
     **/
    public function gettextdecoration(){}

    /**
     * Returns the code set used for text annotations
     *
     * Returns a string which specifies the code set used for text
     * annotations.
     *
     * @return mixed Returns a string specifying the code set or FALSE if
     *   text encoding is not set.
     * @since PECL gmagick >= Unknown
     **/
    public function gettextencoding(){}

    /**
     * The line purpose
     *
     * Draws a line on the image using the current stroke color, stroke
     * opacity, and stroke width.
     *
     * @param float $sx starting x ordinate
     * @param float $sy starting y ordinate
     * @param float $ex ending x ordinate
     * @param float $ey ending y ordinate
     * @return GmagickDraw The GmagickDraw object on success
     * @since PECL gmagick >= Unknown
     **/
    public function line($sx, $sy, $ex, $ey){}

    /**
     * Draws a point
     *
     * Draws a point using the current stroke color and stroke thickness at
     * the specified coordinates.
     *
     * @param float $x target x coordinate
     * @param float $y target y coordinate
     * @return GmagickDraw The GmagickDraw object on success
     * @since PECL gmagick >= Unknown
     **/
    public function point($x, $y){}

    /**
     * Draws a polygon
     *
     * Draws a polygon using the current stroke, stroke width, and fill color
     * or texture, using the specified array of coordinates.
     *
     * @param array $coordinates coordinate array
     * @return GmagickDraw The GmagickDraw object on success
     * @since PECL gmagick >= Unknown
     **/
    public function polygon($coordinates){}

    /**
     * Draws a polyline
     *
     * Draws a polyline using the current stroke, stroke width, and fill
     * color or texture, using the specified array of coordinates.
     *
     * @param array $coordinate_array The array of coordinates
     * @return GmagickDraw The GmagickDraw object on success
     * @since PECL gmagick >= Unknown
     **/
    public function polyline($coordinate_array){}

    /**
     * Draws a rectangle
     *
     * Draws a rectangle given two coordinates and using the current stroke,
     * stroke width, and fill settings.
     *
     * @param float $x1 x ordinate of first coordinate
     * @param float $y1 y ordinate of first coordinate
     * @param float $x2 x ordinate of second coordinate
     * @param float $y2 y ordinate of second coordinate
     * @return GmagickDraw The GmagickDraw object on success
     * @since PECL gmagick >= Unknown
     **/
    public function rectangle($x1, $y1, $x2, $y2){}

    /**
     * Applies the specified rotation to the current coordinate space
     *
     * @param float $degrees degrees of rotation
     * @return GmagickDraw The GmagickDraw object on success
     * @since PECL gmagick >= Unknown
     **/
    public function rotate($degrees){}

    /**
     * Draws a rounded rectangle
     *
     * Draws a rounded rectangle given two coordinates, x and y corner
     * radiuses and using the current stroke, stroke width, and fill
     * settings.
     *
     * @param float $x1 x ordinate of first coordinate
     * @param float $y1 y ordinate of first coordinate
     * @param float $x2 x ordinate of second coordinate
     * @param float $y2 y ordinate of second coordinate
     * @param float $rx radius of corner in horizontal direction
     * @param float $ry radius of corner in vertical direction
     * @return GmagickDraw The GmagickDraw object on success
     * @since PECL gmagick >= Unknown
     **/
    public function roundrectangle($x1, $y1, $x2, $y2, $rx, $ry){}

    /**
     * Adjusts the scaling factor
     *
     * Adjusts the scaling factor to apply in the horizontal and vertical
     * directions to the current coordinate space.
     *
     * @param float $x horizontal scale factor
     * @param float $y vertical scale factor
     * @return GmagickDraw The GmagickDraw object on success
     * @since PECL gmagick >= Unknown
     **/
    public function scale($x, $y){}

    /**
     * Sets the fill color to be used for drawing filled objects
     *
     * @param mixed $color GmagickPixel or string indicating color to use
     *   for filling.
     * @return GmagickDraw The GmagickDraw object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function setfillcolor($color){}

    /**
     * The setfillopacity purpose
     *
     * Sets the opacity to use when drawing using the fill color or fill
     * texture. Setting it to 1.0 will make fill full opaque.
     *
     * @param float $fill_opacity Fill opacity
     * @return GmagickDraw The GmagickDraw object on success
     * @since PECL gmagick >= Unknown
     **/
    public function setfillopacity($fill_opacity){}

    /**
     * Sets the fully-specified font to use when annotating with text
     *
     * @param string $font font name
     * @return GmagickDraw The GmagickDraw object on success
     * @since PECL gmagick >= Unknown
     **/
    public function setfont($font){}

    /**
     * Sets the font pointsize to use when annotating with text
     *
     * @param float $pointsize Text pointsize
     * @return GmagickDraw The GmagickDraw object on success
     * @since PECL gmagick >= Unknown
     **/
    public function setfontsize($pointsize){}

    /**
     * Sets the font style to use when annotating with text
     *
     * Sets the font style to use when annotating with text. The AnyStyle
     * enumeration acts as a wild-card "don't care" option.
     *
     * @param int $style Font style (NormalStyle, ItalicStyle,
     *   ObliqueStyle, AnyStyle)
     * @return GmagickDraw The GmagickDraw object on success
     * @since PECL gmagick >= Unknown
     **/
    public function setfontstyle($style){}

    /**
     * Sets the font weight
     *
     * Sets the font weight to use when annotating with text.
     *
     * @param int $weight Font weight (valid range 100-900)
     * @return GmagickDraw The GmagickDraw object on success
     * @since PECL gmagick >= Unknown
     **/
    public function setfontweight($weight){}

    /**
     * Sets the color used for stroking object outlines
     *
     * @param mixed $color GmagickPixel or string representing the color
     *   for the stroke.
     * @return GmagickDraw The GmagickDraw object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function setstrokecolor($color){}

    /**
     * Specifies the opacity of stroked object outlines
     *
     * @param float $stroke_opacity Stroke opacity. The value 1.0 is
     *   opaque.
     * @return GmagickDraw The GmagickDraw object on success
     * @since PECL gmagick >= Unknown
     **/
    public function setstrokeopacity($stroke_opacity){}

    /**
     * Sets the width of the stroke used to draw object outlines
     *
     * @param float $width Stroke width
     * @return GmagickDraw The GmagickDraw object on success
     * @since PECL gmagick >= Unknown
     **/
    public function setstrokewidth($width){}

    /**
     * Specifies a decoration
     *
     * Specifies a decoration to be applied when annotating with text.
     *
     * @param int $decoration Text decoration. One of NoDecoration,
     *   UnderlineDecoration, OverlineDecoration, or LineThroughDecoration
     * @return GmagickDraw The GmagickDraw object on success
     * @since PECL gmagick >= Unknown
     **/
    public function settextdecoration($decoration){}

    /**
     * Specifies the text code set
     *
     * Specifies the code set to use for text annotations. The only character
     * encoding which may be specified at this time is "UTF-8" for
     * representing Unicode as a sequence of bytes. Specify an empty string
     * to set text encoding to the system's default. Successful text
     * annotation using Unicode may require fonts designed to support
     * Unicode.
     *
     * @param string $encoding Character string specifying text encoding
     * @return GmagickDraw The GmagickDraw object on success
     * @since PECL gmagick >= Unknown
     **/
    public function settextencoding($encoding){}

}
/**
 * GmagickException class
 **/
class GmagickException extends Exception {
}
class GmagickPixel {
    /**
     * Returns the color
     *
     * Returns the color described by the GmagickPixel object, as a string or
     * an array. If the color has an opacity channel set, this is provided as
     * a fourth value in the list.
     *
     * @param bool $as_array TRUE to indicate return of array instead of
     *   string.
     * @param bool $normalize_array TRUE to normalize the color values.
     * @return mixed A string or an array of channel values, each
     *   normalized if TRUE is given as {@link normalize_array}. Throws
     *   GmagickPixelException on error.
     * @since PECL gmagick >= Unknown
     **/
    public function getcolor($as_array, $normalize_array){}

    /**
     * Returns the color count associated with this color
     *
     * @return int Returns the color count as an integer on success, throws
     *   GmagickPixelException on failure.
     * @since PECL gmagick >= Unknown
     **/
    public function getcolorcount(){}

    /**
     * Gets the normalized value of the provided color channel
     *
     * Retrieves the value of the color channel specified, as a
     * floating-point number between 0 and 1.
     *
     * @param int $color The channel to check, specified as one of the
     *   Gmagick channel constants.
     * @return float The value of the channel, as a normalized
     *   floating-point number, throwing GmagickPixelException on error.
     * @since PECL gmagick >= Unknown
     **/
    public function getcolorvalue($color){}

    /**
     * Sets the color
     *
     * Sets the color described by the GmagickPixel object, with a string
     * (e.g. "blue", "#0000ff", "rgb(0,0,255)", "cmyk(100,100,100,10)",
     * etc.).
     *
     * @param string $color The color definition to use in order to
     *   initialise the GmagickPixel object.
     * @return GmagickPixel The GmagickPixel object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function setcolor($color){}

    /**
     * Sets the normalized value of one of the channels
     *
     * Sets the value of the specified channel of this object to the provided
     * value, which should be between 0 and 1. This function can be used to
     * provide an opacity channel to a GmagickPixel object.
     *
     * @param int $color One of the Gmagick channel color constants.
     * @param float $value The value to set this channel to, ranging from 0
     *   to 1.
     * @return GmagickPixel The GmagickPixel object on success.
     * @since PECL gmagick >= Unknown
     **/
    public function setcolorvalue($color, $value){}

    /**
     * The GmagickPixel constructor
     *
     * Constructs an GmagickPixel object. If a color is specified, the object
     * is constructed and then initialised with that color before being
     * returned.
     *
     * @param string $color The optional color string to use as the initial
     *   value of this object.
     * @since PECL gmagick >= Unknown
     **/
    public function __construct($color){}

}
class GmagickPixelException extends Exception {
}
/**
 * A GMP number. These objects support overloaded arithmetic, bitwise and
 * comparison operators.
 **/
class GMP implements Serializable {
}
/**
 * Haru PDF Annotation Class.
 **/
class HaruAnnotation {
    /**
     * Set the border style of the annotation
     *
     * Defines the style of the border of the annotation. This function may
     * be used with link annotations only.
     *
     * @param float $width The width of the border line.
     * @param int $dash_on The dash style.
     * @param int $dash_off The dash style.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setBorderStyle($width, $dash_on, $dash_off){}

    /**
     * Set the highlighting mode of the annotation
     *
     * Defines the appearance of the annotation when clicked. This function
     * may be used with link annotations only.
     *
     * @param int $mode The highlighting mode of the annotation. Can take
     *   only these values: HaruAnnotation::NO_HIGHLIGHT - no highlighting.
     *   HaruAnnotation::INVERT_BOX - invert the contents of the annotation.
     *   HaruAnnotation::INVERT_BORDER - invert the border of the annotation.
     *   HaruAnnotation::DOWN_APPEARANCE - dent the annotation.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setHighlightMode($mode){}

    /**
     * Set the icon style of the annotation
     *
     * Defines the style of the annotation icon. This function may be used
     * with text annotations only.
     *
     * @param int $icon The style of the icon. Can take only these values:
     *   HaruAnnotation::ICON_COMMENT HaruAnnotation::ICON_KEY
     *   HaruAnnotation::ICON_NOTE HaruAnnotation::ICON_HELP
     *   HaruAnnotation::ICON_NEW_PARAGRAPH HaruAnnotation::ICON_PARAGRAPH
     *   HaruAnnotation::ICON_INSERT
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setIcon($icon){}

    /**
     * Set the initial state of the annotation
     *
     * Defines whether the annotation is initially displayed open. This
     * function may be used with text annotations only.
     *
     * @param bool $opened TRUE means the annotation is initially displayed
     *   open, FALSE - means it's closed.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setOpened($opened){}

}
/**
 * Haru PDF Destination Class.
 **/
class HaruDestination {
    /**
     * Set the appearance of the page to fit the window
     *
     * Defines the appearance of the page to fit the window.
     *
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setFit(){}

    /**
     * Set the appearance of the page to fit the bounding box of the page
     * within the window
     *
     * Defines the appearance of the page to fit the bounding box of the page
     * within the window.
     *
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setFitB(){}

    /**
     * Set the appearance of the page to fit the width of the bounding box
     *
     * Defines the appearance of the page to magnifying to fit the width of
     * the bounding box and setting the top position of the page to the value
     * of {@link top}.
     *
     * @param float $top The top coordinates of the page.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setFitBH($top){}

    /**
     * Set the appearance of the page to fit the height of the boudning box
     *
     * Defines the appearance of the page to magnifying to fit the height of
     * the bounding box and setting the left position of the page to the
     * value of {@link left}.
     *
     * @param float $left The left coordinates of the page.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setFitBV($left){}

    /**
     * Set the appearance of the page to fit the window width
     *
     * Defines the appearance of the page to fit the window width and sets
     * the top position of the page to the value of {@link top}.
     *
     * @param float $top The top position of the page.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setFitH($top){}

    /**
     * Set the appearance of the page to fit the specified rectangle
     *
     * Defines the appearance of the page to fit the rectangle by the
     * parameters.
     *
     * @param float $left The left coordinates of the page.
     * @param float $bottom The bottom coordinates of the page.
     * @param float $right The right coordinates of the page.
     * @param float $top The top coordinates of the page.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setFitR($left, $bottom, $right, $top){}

    /**
     * Set the appearance of the page to fit the window height
     *
     * Defines the appearance of the page to fit the window height.
     *
     * @param float $left The left position of the page.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setFitV($left){}

    /**
     * Set the appearance of the page
     *
     * Defines the appearance of the page using three parameters: {@link
     * left}, {@link top} and {@link zoom}.
     *
     * @param float $left The left position of the page.
     * @param float $top The top position of the page.
     * @param float $zoom The magnification factor. The value must be
     *   between 0.08 (8%) and 32 (3200%).
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setXYZ($left, $top, $zoom){}

}
/**
 * Haru PDF Document Class.
 **/
class HaruDoc {
    /**
     * Add new page to the document
     *
     * Adds a new page to the document.
     *
     * @return object Returns a new HaruPage instance.
     * @since PECL haru >= 0.0.1
     **/
    function addPage(){}

    /**
     * Set the numbering style for the specified range of pages
     *
     * @param int $first_page The first page included into the labeling
     *   range.
     * @param int $style The numbering style. The following values are
     *   allowed: HaruPage::NUM_STYLE_DECIMAL - page label is displayed using
     *   decimal numerals. HaruPage::NUM_STYLE_UPPER_ROMAN - page label is
     *   displayed using uppercase Roman numerals.
     *   HaruPage::NUM_STYLE_LOWER_ROMAN - page label is displayed using
     *   lowercase Roman numerals. HaruPage::NUM_STYLE_UPPER_LETTER - page
     *   label is displayed using uppercase letters (from A to Z).
     *   HaruPage::NUM_STYLE_LOWER_LETTERS - page label is displayed using
     *   lowercase letters (from a to z).
     * @param int $first_num The first page number in this range.
     * @param string $prefix The prefix for the page label.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function addPageLabel($first_page, $style, $first_num, $prefix){}

    /**
     * Create a instance
     *
     * Create a HaruOutline instance.
     *
     * @param string $title The caption of new outline object.
     * @param object $parent_outline A valid HaruOutline instance or NULL.
     * @param object $encoder A valid HaruEncoder instance or NULL.
     * @return object Returns a new HaruOutline instance.
     * @since PECL haru >= 0.0.1
     **/
    function createOutline($title, $parent_outline, $encoder){}

    /**
     * Get currently used in the document
     *
     * Get the HaruEncoder currently used in the document.
     *
     * @return object Returns HaruEncoder currently used in the document or
     *   FALSE if encoder is not set.
     * @since PECL haru >= 0.0.1
     **/
    function getCurrentEncoder(){}

    /**
     * Return current page of the document
     *
     * Get current page of the document.
     *
     * @return object Returns HaruPage instance on success or FALSE if
     *   there is no current page at the moment.
     * @since PECL haru >= 0.0.1
     **/
    function getCurrentPage(){}

    /**
     * Get instance for the specified encoding
     *
     * Get the HaruEncoder instance for the specified encoding.
     *
     * @param string $encoding The encoding name. See Builtin Encodings for
     *   the list of allowed values.
     * @return object Returns a HaruEncoder instance for the specified
     *   encoding.
     * @since PECL haru >= 0.0.1
     **/
    function getEncoder($encoding){}

    /**
     * Get instance
     *
     * Get a HaruFont instance.
     *
     * @param string $fontname The name of the font. See Builtin Fonts for
     *   the list of builtin fonts. You can also use the name of a font
     *   loaded via HaruDoc::loadTTF, HaruDoc::loadTTC and
     *   HaruDoc::loadType1.
     * @param string $encoding The encoding to use. See Builtin Encodings
     *   for the list of supported encodings.
     * @return object Returns a HaruFont instance with the specified {@link
     *   fontname} and {@link encoding}.
     * @since PECL haru >= 0.0.1
     **/
    function getFont($fontname, $encoding){}

    /**
     * Get current value of the specified document attribute
     *
     * Get the current value of the specified document attribute.
     *
     * @param int $type The type of the attribute. The following values are
     *   available: HaruDoc::INFO_AUTHOR HaruDoc::INFO_CREATOR
     *   HaruDoc::INFO_TITLE HaruDoc::INFO_SUBJECT HaruDoc::INFO_KEYWORDS
     *   HaruDoc::INFO_CREATION_DATE HaruDoc::INFO_MOD_DATE
     * @return string Returns the string value of the specified document
     *   attribute.
     * @since PECL haru >= 0.0.1
     **/
    function getInfoAttr($type){}

    /**
     * Get current page layout
     *
     * Get the current page layout. See HaruDoc::setPageLayout for the list
     * of possible values.
     *
     * @return int Returns the page layout currently set in the document or
     *   FALSE if page layout was not set. See HaruDoc::setPageLayout for the
     *   list of possible values.
     * @since PECL haru >= 0.0.1
     **/
    function getPageLayout(){}

    /**
     * Get current page mode
     *
     * Get the current page mode. See HaruDoc::setPageMode for the list of
     * possible values.
     *
     * @return int Returns the page mode currently set in the document. See
     *   HaruDoc::setPageMode for the list of possible values.
     * @since PECL haru >= 0.0.1
     **/
    function getPageMode(){}

    /**
     * Get the size of the temporary stream
     *
     * @return int Returns the size of the data in the temporary stream of
     *   the document. The size is zero if the document was not saved to the
     *   temporary stream.
     * @since PECL haru >= 0.0.1
     **/
    function getStreamSize(){}

    /**
     * Insert new page just before the specified page
     *
     * Creates a new page and inserts just before the specified page.
     *
     * @param object $page A valid HaruPage instance.
     * @return object Returns a new HaruPage instance.
     * @since PECL haru >= 0.0.1
     **/
    function insertPage($page){}

    /**
     * Load a JPEG image
     *
     * Loads the specified JPEG image.
     *
     * @param string $filename A valid JPEG image file.
     * @return object Returns a new HaruImage instance.
     * @since PECL haru >= 0.0.1
     **/
    function loadJPEG($filename){}

    /**
     * Load PNG image and return instance
     *
     * Loads a PNG image.
     *
     * Libharu might be built without libpng support, in this case each call
     * to this function would result in exception.
     *
     * @param string $filename The name of a PNG image file.
     * @param bool $deferred Do not load data immediately. You can set
     *   {@link deferred} parameter to TRUE for deferred data loading, in
     *   this case only size and color are loaded immediately.
     * @return object Returns a HaruImage instance.
     * @since PECL haru >= 0.0.1
     **/
    function loadPNG($filename, $deferred){}

    /**
     * Load a RAW image
     *
     * Loads a RAW image.
     *
     * @param string $filename The name of a RAW image file.
     * @param int $width The width of the image.
     * @param int $height The height of the image.
     * @param int $color_space The color space of the image. Can be one of
     *   the following values: HaruDoc::CS_DEVICE_GRAY HaruDoc::CS_DEVICE_RGB
     *   HaruDoc::CS_DEVICE_CMYK
     * @return object Returns a HaruImage instance.
     * @since PECL haru >= 0.0.1
     **/
    function loadRaw($filename, $width, $height, $color_space){}

    /**
     * Load the font with the specified index from TTC file
     *
     * Loads the TrueType font with the specified index from a TrueType
     * collection file.
     *
     * @param string $fontfile The TrueType collection file.
     * @param int $index The index of the font in the collection file.
     * @param bool $embed When set to TRUE, the glyph data of the font is
     *   embedded into the PDF file, otherwise only the matrix data is
     *   included.
     * @return string Returns the name of the loaded font on success.
     * @since PECL haru >= 0.0.1
     **/
    function loadTTC($fontfile, $index, $embed){}

    /**
     * Load TTF font file
     *
     * Loads the given TTF file and (optionally) embed its data into the
     * document.
     *
     * @param string $fontfile The TTF file to load.
     * @param bool $embed When set to TRUE, the glyph data of the font is
     *   embedded into the PDF file, otherwise only the matrix data is
     *   included.
     * @return string Returns the name of the loaded font on success.
     * @since PECL haru >= 0.0.1
     **/
    function loadTTF($fontfile, $embed){}

    /**
     * Load Type1 font
     *
     * Loads Type1 font from the given file and registers it in the PDF
     * document.
     *
     * @param string $afmfile Path to an AFM file.
     * @param string $pfmfile Path to a PFA/PFB file, optional. If it's not
     *   set only the glyph data of the font is embedded into the PDF
     *   document.
     * @return string Returns the name of the loaded font on success.
     * @since PECL haru >= 0.0.1
     **/
    function loadType1($afmfile, $pfmfile){}

    /**
     * Write the document data to the output buffer
     *
     * Writes the document data into standard output.
     *
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function output(){}

    /**
     * Read data from the temporary stream
     *
     * @param int $bytes The {@link bytes} parameter specifies how many
     *   bytes to read, though the stream may contain less bytes than
     *   requested.
     * @return string Returns data from the temporary stream.
     * @since PECL haru >= 0.0.1
     **/
    function readFromStream($bytes){}

    /**
     * Reset error state of the document handle
     *
     * Once an error code is set, most of the operations, including I/O
     * processing functions cannot be performed. In case if you want to
     * continue after the cause of the error has been fixed, you have to
     * invoke this function in order to reset the document error state.
     *
     * @return bool Always succeeds and returns TRUE.
     * @since PECL haru >= 0.0.1
     **/
    function resetError(){}

    /**
     * Rewind the temporary stream
     *
     * Rewinds the temporary stream of the document.
     *
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function resetStream(){}

    /**
     * Save the document into the specified file
     *
     * Saves the document into the specified file.
     *
     * @param string $file The file to save the document to.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function save($file){}

    /**
     * Save the document into a temporary stream
     *
     * Saves the document data into a temporary stream.
     *
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function saveToStream(){}

    /**
     * Set compression mode for the document
     *
     * Defines compression mode for the document. In case when libharu was
     * compiled without Zlib support this function will always throw
     * HaruException.
     *
     * @param int $mode The compression mode to use. The value is a
     *   combination of the following flags: HaruDoc::COMP_NONE - all
     *   contents is not compressed. HaruDoc::COMP_TEXT - compress the text
     *   data. HaruDoc::COMP_IMAGE - compress the image data.
     *   HaruDoc::COMP_METADATA - compress other data (fonts, cmaps).
     *   HaruDoc::COMP_ALL - compress all data.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setCompressionMode($mode){}

    /**
     * Set the current encoder for the document
     *
     * Defines the encoder currently used in the document.
     *
     * @param string $encoding The name of the encoding to use. See Builtin
     *   Encodings for the list of allowed values.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setCurrentEncoder($encoding){}

    /**
     * Set encryption mode for the document
     *
     * Defines encryption mode for the document. The encryption mode cannot
     * be set before setting the password.
     *
     * @param int $mode The encryption mode to use. Can be one of the
     *   following: HaruDoc::ENCRYPT_R2 - use "revision2" algorithm.
     *   HaruDoc::ENCRYPT_R3 - use "revision3" algorithm. Using this value
     *   bumps the version of PDF to 1.4.
     * @param int $key_len The encryption key length in bytes. This
     *   parameter is optional and used only when mode is
     *   HaruDoc::ENCRYPT_R3. The default value is 5 (40bit).
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setEncryptionMode($mode, $key_len){}

    /**
     * Set the info attribute of the document
     *
     * Defines an info attribute. Uses the current encoding of the document.
     *
     * @param int $type The type of the attribute. Can be one of the
     *   following: HaruDoc::INFO_AUTHOR HaruDoc::INFO_CREATOR
     *   HaruDoc::INFO_TITLE HaruDoc::INFO_SUBJECT HaruDoc::INFO_KEYWORDS
     * @param string $info The value of the attribute.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setInfoAttr($type, $info){}

    /**
     * Set the datetime info attributes of the document
     *
     * Sets the datetime info attributes of the document.
     *
     * @param int $type The type of the attribute. Can be one of the
     *   following: HaruDoc::INFO_CREATION_DATE HaruDoc::INFO_MOD_DATE
     * @param int $year
     * @param int $month Between 1 and 12.
     * @param int $day Between 1 and 31, 30, 29 or 28 (different for each
     *   month).
     * @param int $hour Between 0 and 23.
     * @param int $min Between 0 and 59.
     * @param int $sec Between 0 and 59.
     * @param string $ind The timezone relation to UTC, can be "", " ",
     *   "+", "-" and "Z".
     * @param int $off_hour If {@link ind} is not " " or "", values between
     *   0 and 23 are valid. Otherwise, this parameter is ignored.
     * @param int $off_min If {@link ind} is not " " or "", values between
     *   0 and 59 are valid. Otherwise, this parameter is ignored.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setInfoDateAttr($type, $year, $month, $day, $hour, $min, $sec, $ind, $off_hour, $off_min){}

    /**
     * Define which page is shown when the document is opened
     *
     * Defines which page should be shown when the document is opened.
     *
     * @param object $destination A valid HaruDestination instance.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setOpenAction($destination){}

    /**
     * Set how pages should be displayed
     *
     * Defines how pages should be displayed.
     *
     * @param int $layout The following values are accepted:
     *   HaruDoc::PAGE_LAYOUT_SINGLE - only one page is displayed.
     *   HaruDoc::PAGE_LAYOUT_ONE_COLUMN - display the pages in one column.
     *   HaruDoc::PAGE_LAYOUT_TWO_COLUMN_LEFT - display pages in two columns,
     *   first page left. HaruDoc::PAGE_LAYOUT_TWO_COLUMN_RIGHT - display
     *   pages in two columns, first page right.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setPageLayout($layout){}

    /**
     * Set how the document should be displayed
     *
     * Defines how the document should be displayed.
     *
     * @param int $mode The following values are accepted:
     *   HaruDoc::PAGE_MODE_USE_NONE - display the document with neither
     *   outline nor thumbnail. HaruDoc::PAGE_MODE_USE_OUTLINE - display the
     *   document with outline pane. HaruDoc::PAGE_MODE_USE_THUMBS - display
     *   the document with thumbnail pane. HaruDoc::PAGE_MODE_FULL_SCREEN -
     *   display the document with full screen mode.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setPageMode($mode){}

    /**
     * Set the number of pages per set of pages
     *
     * By default the document has one pages object as a root for all pages.
     * All page objects are create as branches of this object. One pages
     * object can contain only 8191, therefore the maximum number of pages
     * per document is 8191. But you can change that fact by setting {@link
     * page_per_pages} parameter, so that the root pages object contains 8191
     * more pages (not page) objects, which in turn contain 8191 pages each.
     * So the maximum number of pages in the document becomes 8191*{@link
     * page_per_pages}.
     *
     * @param int $page_per_pages The numbers of pages that a pages object
     *   can contain.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setPagesConfiguration($page_per_pages){}

    /**
     * Set owner and user passwords for the document
     *
     * Defines owner and user passwords for the document. Setting the
     * passwords makes the document contents encrypted.
     *
     * @param string $owner_password The password of the owner, which can
     *   change permissions of the document. Empty password is not accepted.
     *   Owner's password cannot be the same as the user's password.
     * @param string $user_password The password of the user. Can be empty.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setPassword($owner_password, $user_password){}

    /**
     * Set permissions for the document
     *
     * Defines permissions for the document.
     *
     * @param int $permission The values is a combination of these flags:
     *   HaruDoc::ENABLE_READ - user can read the document.
     *   HaruDoc::ENABLE_PRINT - user can print the document.
     *   HaruDoc::ENABLE_EDIT_ALL - user can edit the contents of the
     *   document other than annotations and form fields.
     *   HaruDoc::ENABLE_COPY - user can copy the text and the graphics of
     *   the document. HaruDoc::ENABLE_EDIT - user can add or modify the
     *   annotations and form fields of the document.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setPermission($permission){}

    /**
     * Enable Chinese simplified encodings
     *
     * Enables Chinese simplified encodings.
     *
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function useCNSEncodings(){}

    /**
     * Enable builtin Chinese simplified fonts
     *
     * Enables builtin Chinese simplified fonts.
     *
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function useCNSFonts(){}

    /**
     * Enable Chinese traditional encodings
     *
     * Enables Chinese traditional encodings.
     *
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function useCNTEncodings(){}

    /**
     * Enable builtin Chinese traditional fonts
     *
     * Enables builtin Chinese traditional fonts.
     *
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function useCNTFonts(){}

    /**
     * Enable Japanese encodings
     *
     * Enables Japanese encodings.
     *
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function useJPEncodings(){}

    /**
     * Enable builtin Japanese fonts
     *
     * Enables builtin Japanese fonts.
     *
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function useJPFonts(){}

    /**
     * Enable Korean encodings
     *
     * Enables Korean encodings.
     *
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function useKREncodings(){}

    /**
     * Enable builtin Korean fonts
     *
     * Enables builtin Korean fonts.
     *
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function useKRFonts(){}

    /**
     * Construct new instance
     *
     * Constructs new HaruDoc instance.
     *
     * @since PECL haru >= 0.0.1
     **/
    function __construct(){}

}
/**
 * Haru PDF Encoder Class.
 **/
class HaruEncoder {
    /**
     * Get the type of the byte in the text
     *
     * @param string $text The text.
     * @param int $index The position in the text.
     * @return int Returns the type of the byte in the text on the
     *   specified position. The result is one of the following values:
     *   HaruEncoder::BYTE_TYPE_SINGLE - single byte character.
     *   HaruEncoder::BYTE_TYPE_LEAD - lead byte of a double-byte character.
     *   HaruEncoder::BYTE_TYPE_TRAIL - trailing byte of a double-byte
     *   character. HaruEncoder::BYTE_TYPE_UNKNOWN - invalid encoder or
     *   cannot detect the byte type.
     * @since PECL haru >= 0.0.1
     **/
    function getByteType($text, $index){}

    /**
     * Get the type of the encoder
     *
     * @return int Returns the type of the encoder. The result is one of
     *   the following values: HaruEncoder::TYPE_SINGLE_BYTE - the encoder is
     *   for single byte characters. HaruEncoder::TYPE_DOUBLE_BYTE - the
     *   encoder is for multibyte characters. HaruEncoder::TYPE_UNINITIALIZED
     *   - the encoder is not initialized. HaruEncoder::UNKNOWN - the encoder
     *   is invalid.
     * @since PECL haru >= 0.0.1
     **/
    function getType(){}

    /**
     * Convert the specified character to unicode
     *
     * Converts the specified character to unicode.
     *
     * @param int $character The character code to convert.
     * @return int
     * @since PECL haru >= 0.0.1
     **/
    function getUnicode($character){}

    /**
     * Get the writing mode of the encoder
     *
     * @return int Returns the writing mode of the encoder. The result
     *   value is on of the following: HaruEncoder::WMODE_HORIZONTAL -
     *   horizontal writing mode. HaruEncoder::WMODE_VERTICAL - vertical
     *   writing mode.
     * @since PECL haru >= 0.0.1
     **/
    function getWritingMode(){}

}
/**
 * Haru PDF Exception Class.
 **/
class HaruException extends Exception {
}
/**
 * Haru PDF Font Class.
 **/
class HaruFont {
    /**
     * Get the vertical ascent of the font
     *
     * @return int Returns the vertical ascent of the font.
     * @since PECL haru >= 0.0.1
     **/
    function getAscent(){}

    /**
     * Get the distance from the baseline of uppercase letters
     *
     * @return int Returns the distance from the baseline of uppercase
     *   letters.
     * @since PECL haru >= 0.0.1
     **/
    function getCapHeight(){}

    /**
     * Get the vertical descent of the font
     *
     * @return int Return the vertical descent of the font.
     * @since PECL haru >= 0.0.1
     **/
    function getDescent(){}

    /**
     * Get the name of the encoding
     *
     * Get the name of the font encoding.
     *
     * @return string Returns the name of the font encoding.
     * @since PECL haru >= 0.0.1
     **/
    function getEncodingName(){}

    /**
     * Get the name of the font
     *
     * @return string Returns the name of the font.
     * @since PECL haru >= 0.0.1
     **/
    function getFontName(){}

    /**
     * Get the total width of the text, number of characters, number of words
     * and number of spaces
     *
     * Get the total width of the text, number of characters, number of words
     * and number of spaces.
     *
     * @param string $text The text to measure.
     * @return array Returns the total width of the text, number of
     *   characters, number of words and number of spaces in the given text.
     * @since PECL haru >= 0.0.1
     **/
    function getTextWidth($text){}

    /**
     * Get the width of the character in the font
     *
     * @param int $character The code of the character.
     * @return int Returns the width of the character in the font.
     * @since PECL haru >= 0.0.1
     **/
    function getUnicodeWidth($character){}

    /**
     * Get the distance from the baseline of lowercase letters
     *
     * Gets the distance from the baseline of lowercase letters.
     *
     * @return int Returns the distance from the baseline of lowercase
     *   letters.
     * @since PECL haru >= 0.0.1
     **/
    function getXHeight(){}

    /**
     * Calculate the number of characters which can be included within the
     * specified width
     *
     * Calculate the number of characters which can be included within the
     * specified width.
     *
     * @param string $text The text to fit the width.
     * @param float $width The width of the area to put the text to.
     * @param float $font_size The size of the font.
     * @param float $char_space The character spacing.
     * @param float $word_space The word spacing.
     * @param bool $word_wrap When this parameter is set to TRUE the
     *   function "emulates" word wrapping and doesn't include the part of
     *   the current word if reached the end of the area.
     * @return int Returns the number of characters which can be included
     *   within the specified width.
     * @since PECL haru >= 0.0.1
     **/
    function measureText($text, $width, $font_size, $char_space, $word_space, $word_wrap){}

}
/**
 * Haru PDF Image Class.
 **/
class HaruImage {
    /**
     * Get the number of bits used to describe each color component of the
     * image
     *
     * Gets the number of bits used to describe each color component of the
     * image.
     *
     * @return int Returns the number of bits used to describe each color
     *   component of the image.
     * @since PECL haru >= 0.0.1
     **/
    function getBitsPerComponent(){}

    /**
     * Get the name of the color space
     *
     * @return string Returns the name of the color space of the image. The
     *   name is one of the following values: "DeviceGray" "DeviceRGB"
     *   "DeviceCMYK" "Indexed"
     * @since PECL haru >= 0.0.1
     **/
    function getColorSpace(){}

    /**
     * Get the height of the image
     *
     * @return int Returns the height of the image.
     * @since PECL haru >= 0.0.1
     **/
    function getHeight(){}

    /**
     * Get size of the image
     *
     * Get the size of the image.
     *
     * @return array Returns an array with two elements: width and height,
     *   which contain appropriate dimensions of the image.
     * @since PECL haru >= 0.0.1
     **/
    function getSize(){}

    /**
     * Get the width of the image
     *
     * @return int Returns the width of the image.
     * @since PECL haru >= 0.0.1
     **/
    function getWidth(){}

    /**
     * Set the color mask of the image
     *
     * Defines the transparent color of the image using the RGB range values.
     * The color within the range is displayed as a transparent color. The
     * color space of the image must be RGB.
     *
     * @param int $rmin The lower limit of red. Must be between 0 and 255.
     * @param int $rmax The upper limit of red. Must be between 0 and 255.
     * @param int $gmin The lower limit of green. Must be between 0 and
     *   255.
     * @param int $gmax The upper limit of green. Must be between 0 and
     *   255.
     * @param int $bmin The lower limit of blue. Must be between 0 and 255.
     * @param int $bmax The upper limit of blue. Must be between 0 and 255.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setColorMask($rmin, $rmax, $gmin, $gmax, $bmin, $bmax){}

    /**
     * Set the image mask
     *
     * Sets the image used as image-mask. It must be 1bit gray-scale color
     * image.
     *
     * @param object $mask_image A valid HaruImage instance.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setMaskImage($mask_image){}

}
/**
 * Haru PDF Outline Class.
 **/
class HaruOutline {
    /**
     * Set the destination for the outline
     *
     * Sets a destination object which becomes a target to jump to when the
     * outline is clicked.
     *
     * @param object $destination A valid HaruDestination instance.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setDestination($destination){}

    /**
     * Set the initial state of the outline
     *
     * Defines whether this node is opened or not when the outline is
     * displayed for the first time.
     *
     * @param bool $opened TRUE means open, FALSE - closed.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setOpened($opened){}

}
/**
 * Haru PDF Page Class.
 **/
class HaruPage {
    /**
     * Append an arc to the current path
     *
     * Appends an arc to the current path.
     *
     * @param float $x Horizontal coordinate of the center.
     * @param float $y Vertical coordinate of the center.
     * @param float $ray The ray of the arc.
     * @param float $ang1 The angle of the beginning.
     * @param float $ang2 The angle of the end. Must be greater than {@link
     *   ang1}.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function arc($x, $y, $ray, $ang1, $ang2){}

    /**
     * Begin a text object and set the current text position to (0,0)
     *
     * Begins new text object and sets the current text position to (0,0).
     *
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function beginText(){}

    /**
     * Append a circle to the current path
     *
     * Appends a circle to the current path.
     *
     * @param float $x Horizontal coordinate of the center point.
     * @param float $y Vertical coordinate of the center point.
     * @param float $ray The ray of the circle.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function circle($x, $y, $ray){}

    /**
     * Append a straight line from the current point to the start point of
     * the path
     *
     * Appends a straight line from the current point to the start point of
     * the path.
     *
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function closePath(){}

    /**
     * Concatenate current transformation matrix of the page and the
     * specified matrix
     *
     * Concatenates current transformation matrix of the page and the
     * specified matrix.
     *
     * @param float $a
     * @param float $b
     * @param float $c
     * @param float $d
     * @param float $x
     * @param float $y
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function concat($a, $b, $c, $d, $x, $y){}

    /**
     * Create new instance
     *
     * Create a new HaruDestination instance.
     *
     * @return object Returns a new HaruDestination instance.
     * @since PECL haru >= 0.0.1
     **/
    function createDestination(){}

    /**
     * Create new instance
     *
     * Creates a new HaruAnnotation instance.
     *
     * @param array $rectangle An array with 4 coordinates of the clickable
     *   area.
     * @param object $destination Valid HaruDestination instance.
     * @return object Returns a new HaruAnnotation instance.
     * @since PECL haru >= 0.0.1
     **/
    function createLinkAnnotation($rectangle, $destination){}

    /**
     * Create new instance
     *
     * Creates a new HaruAnnotation instance.
     *
     * @param array $rectangle An array with 4 coordinates of the
     *   annotation area.
     * @param string $text The text to be displayed.
     * @param object $encoder Optional HaruEncoder instance.
     * @return object Returns a new HaruAnnotation instance.
     * @since PECL haru >= 0.0.1
     **/
    function createTextAnnotation($rectangle, $text, $encoder){}

    /**
     * Create and return new instance
     *
     * Creates a new HaruAnnotation instance.
     *
     * @param array $rectangle An array with 4 coordinates of the clickable
     *   area.
     * @param string $url The URL to open.
     * @return object Returns a new HaruAnnotation instance.
     * @since PECL haru >= 0.0.1
     **/
    function createURLAnnotation($rectangle, $url){}

    /**
     * Append a Bezier curve to the current path
     *
     * Append a Bezier curve to the current path. The point (x1, y1) and the
     * point (x2, y2) are used as the control points for a Bezier curve and
     * current point is moved to the point (x3, y3).
     *
     * @param float $x1 A Bezier curve control point.
     * @param float $y1 A Bezier curve control point.
     * @param float $x2 A Bezier curve control point.
     * @param float $y2 A Bezier curve control point.
     * @param float $x3 The current point moves here.
     * @param float $y3 The current point moves here.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function curveTo($x1, $y1, $x2, $y2, $x3, $y3){}

    /**
     * Append a Bezier curve to the current path
     *
     * Appends a Bezier curve to the current path. The current point and the
     * point (x2, y2) are used as the control points for the Bezier curve and
     * current point is moved to the point (x3, y3).
     *
     * @param float $x2 A Bezier curve control point.
     * @param float $y2 A Bezier curve control point.
     * @param float $x3 The current point moves here.
     * @param float $y3 The current point moves here.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function curveTo2($x2, $y2, $x3, $y3){}

    /**
     * Append a Bezier curve to the current path
     *
     * Appends a Bezier curve to the current path. The point (x1, y1) and the
     * point (x3, y3) are used as the control points for a Bezier curve and
     * current point is moved to the point (x3, y3).
     *
     * @param float $x1 A Bezier curve control point.
     * @param float $y1 A Bezier curve control point.
     * @param float $x3 The current point moves here.
     * @param float $y3 The current point moves here.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function curveTo3($x1, $y1, $x3, $y3){}

    /**
     * Show image at the page
     *
     * @param object $image Valid HaruImage instance.
     * @param float $x The left border of the area where the image is
     *   displayed.
     * @param float $y The lower border of the area where the image is
     *   displayed.
     * @param float $width The width of the image area.
     * @param float $height The height of the image area.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function drawImage($image, $x, $y, $width, $height){}

    /**
     * Append an ellipse to the current path
     *
     * Appends an ellipse to the current path.
     *
     * @param float $x Horizontal coordinate of the center.
     * @param float $y Vertical coordinate of the center.
     * @param float $xray The ray of the ellipse in the x direction.
     * @param float $yray The ray of the ellipse in the y direction.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function ellipse($x, $y, $xray, $yray){}

    /**
     * End current path object without filling and painting operations
     *
     * Ends current path object without performing filling and painting
     * operations.
     *
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function endPath(){}

    /**
     * End current text object
     *
     * Finalizes current text object.
     *
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function endText(){}

    /**
     * Fill current path using even-odd rule
     *
     * Fills current path using even-odd rule.
     *
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function eofill(){}

    /**
     * Fill current path using even-odd rule, then paint the path
     *
     * Fills current path using even-odd rule, then paints the path.
     *
     * @param bool $close_path Optional parameter. When set to TRUE, the
     *   function closes the current path. Default to FALSE.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function eoFillStroke($close_path){}

    /**
     * Fill current path using nonzero winding number rule
     *
     * Fills current path using nonzero winding number rule.
     *
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function fill(){}

    /**
     * Fill current path using nonzero winding number rule, then paint the
     * path
     *
     * Fills current path using nonzero winding number rule, then paints the
     * path.
     *
     * @param bool $close_path Optional parameter. When set to TRUE, the
     *   function closes the current path. Default to FALSE.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function fillStroke($close_path){}

    /**
     * Get the current value of character spacing
     *
     * @return float Returns the current value of character spacing.
     * @since PECL haru >= 0.0.1
     **/
    function getCharSpace(){}

    /**
     * Get the current filling color
     *
     * Returns the current filling color.
     *
     * @return array Returns the current filling color as an array with 4
     *   elements ("c", "m", "y" and "k").
     * @since PECL haru >= 0.0.1
     **/
    function getCMYKFill(){}

    /**
     * Get the current stroking color
     *
     * @return array Returns the current stroking color as an array with 4
     *   elements ("c", "m", "y" and "k").
     * @since PECL haru >= 0.0.1
     **/
    function getCMYKStroke(){}

    /**
     * Get the currently used font
     *
     * @return object Returns the currently used font as an instance of
     *   HaruFont.
     * @since PECL haru >= 0.0.1
     **/
    function getCurrentFont(){}

    /**
     * Get the current font size
     *
     * @return float Returns the current font size.
     * @since PECL haru >= 0.0.1
     **/
    function getCurrentFontSize(){}

    /**
     * Get the current position for path painting
     *
     * @return array Returns the current position for path painting as an
     *   array of with two elements - "x" and "y".
     * @since PECL haru >= 0.0.1
     **/
    function getCurrentPos(){}

    /**
     * Get the current position for text printing
     *
     * @return array Returns the current position for text printing as an
     *   array with 2 elements - "x" and "y".
     * @since PECL haru >= 0.0.1
     **/
    function getCurrentTextPos(){}

    /**
     * Get the current dash pattern
     *
     * Get the current dash pattern. See HaruPage::setDash for more
     * information on dash patterns.
     *
     * @return array Returns the current dash pattern as an array of two
     *   elements - "pattern" and "phase" or FALSE if dash pattern was not
     *   set.
     * @since PECL haru >= 0.0.1
     **/
    function getDash(){}

    /**
     * Get the current filling color space
     *
     * @return int Returns the current filling color space. The result
     *   value is one of the following: HaruDoc::CS_DEVICE_GRAY
     *   HaruDoc::CS_DEVICE_RGB HaruDoc::CS_DEVICE_CMYK HaruDoc::CS_CAL_GRAY
     *   HaruDoc::CS_CAL_RGB HaruDoc::CS_LAB HaruDoc::CS_ICC_BASED
     *   HaruDoc::CS_SEPARATION HaruDoc::CS_DEVICE_N HaruDoc::CS_INDEXED
     *   HaruDoc::CS_PATTERN
     * @since PECL haru >= 0.0.1
     **/
    function getFillingColorSpace(){}

    /**
     * Get the flatness of the page
     *
     * @return float Returns the flatness of the page.
     * @since PECL haru >= 0.0.1
     **/
    function getFlatness(){}

    /**
     * Get the current graphics mode
     *
     * @return int Returns the current graphics mode. The result value is
     *   one of the following:
     * @since PECL haru >= 0.0.1
     **/
    function getGMode(){}

    /**
     * Get the current filling color
     *
     * @return float Returns the current filling color.
     * @since PECL haru >= 0.0.1
     **/
    function getGrayFill(){}

    /**
     * Get the current stroking color
     *
     * @return float Returns the current stroking color.
     * @since PECL haru >= 0.0.1
     **/
    function getGrayStroke(){}

    /**
     * Get the height of the page
     *
     * @return float Returns the height of the page.
     * @since PECL haru >= 0.0.1
     **/
    function getHeight(){}

    /**
     * Get the current value of horizontal scaling
     *
     * Get the current value of the horizontal scaling.
     *
     * @return float Returns the current value of horizontal scaling.
     * @since PECL haru >= 0.0.1
     **/
    function getHorizontalScaling(){}

    /**
     * Get the current line cap style
     *
     * @return int Returns the current line cap style. The result value is
     *   one of the following: HaruPage::BUTT_END - the line is squared off
     *   at the endpoint of the path. HaruPage::ROUND_END - the end of the
     *   line becomes a semicircle with center in the end point of the path.
     *   HaruPage::PROJECTING_SCUARE_END - the line continues to the point
     *   that exceeds half of the stroke width the end point.
     * @since PECL haru >= 0.0.1
     **/
    function getLineCap(){}

    /**
     * Get the current line join style
     *
     * @return int Returns the current line join style. The result value is
     *   one of the following: HaruPage::MITER_JOIN HaruPage::ROUND_JOIN
     *   HaruPage::BEVEL_JOIN
     * @since PECL haru >= 0.0.1
     **/
    function getLineJoin(){}

    /**
     * Get the current line width
     *
     * @return float Returns the current line width.
     * @since PECL haru >= 0.0.1
     **/
    function getLineWidth(){}

    /**
     * Get the value of miter limit
     *
     * Get the value of the miter limit.
     *
     * @return float Returns the value of the miter limit.
     * @since PECL haru >= 0.0.1
     **/
    function getMiterLimit(){}

    /**
     * Get the current filling color
     *
     * @return array Returns the current filling color as an array with 3
     *   elements: "r", "g" and "b".
     * @since PECL haru >= 0.0.1
     **/
    function getRGBFill(){}

    /**
     * Get the current stroking color
     *
     * @return array Returns the current stroking color.
     * @since PECL haru >= 0.0.1
     **/
    function getRGBStroke(){}

    /**
     * Get the current stroking color space
     *
     * @return int Returns the current stroking color space. The list of
     *   return values is the same as for HaruPage::getFillingColorSpace
     * @since PECL haru >= 0.0.1
     **/
    function getStrokingColorSpace(){}

    /**
     * Get the current value of line spacing
     *
     * @return float Returns the current value of line spacing.
     * @since PECL haru >= 0.0.1
     **/
    function getTextLeading(){}

    /**
     * Get the current text transformation matrix of the page
     *
     * @return array Returns the current text transformation matrix of the
     *   page as an array of 6 elements: "a", "b", "c", "d", "x" and "y".
     * @since PECL haru >= 0.0.1
     **/
    function getTextMatrix(){}

    /**
     * Get the current text rendering mode
     *
     * @return int Returns the current text rendering mode. The result
     *   value is one of the following: HaruPage::FILL HaruPage::STROKE
     *   HaruPage::FILL_THEN_STROKE HaruPage::INVISIBLE
     *   HaruPage::FILL_CLIPPING HaruPage::STROKE_CLIPPING
     *   HaruPage::FILL_STROKE_CLIPPING HaruPage::CLIPPING
     * @since PECL haru >= 0.0.1
     **/
    function getTextRenderingMode(){}

    /**
     * Get the current value of text rising
     *
     * @return float Returns the current value of text rising.
     * @since PECL haru >= 0.0.1
     **/
    function getTextRise(){}

    /**
     * Get the width of the text using current fontsize, character spacing
     * and word spacing
     *
     * @param string $text The text to measure.
     * @return float Returns the width of the text using current fontsize,
     *   character spacing and word spacing.
     * @since PECL haru >= 0.0.1
     **/
    function getTextWidth($text){}

    /**
     * Get the current transformation matrix of the page
     *
     * @return array Returns the current transformation matrix of the page
     *   as an array of 6 elements: "a", "b", "c", "d", "x" and "y".
     * @since PECL haru >= 0.0.1
     **/
    function getTransMatrix(){}

    /**
     * Get the width of the page
     *
     * @return float Returns the width of the page.
     * @since PECL haru >= 0.0.1
     **/
    function getWidth(){}

    /**
     * Get the current value of word spacing
     *
     * @return float Returns the current value of word spacing.
     * @since PECL haru >= 0.0.1
     **/
    function getWordSpace(){}

    /**
     * Draw a line from the current point to the specified point
     *
     * Draws a line from the current point to the specified point.
     *
     * @param float $x
     * @param float $y
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function lineTo($x, $y){}

    /**
     * Calculate the byte length of characters which can be included on one
     * line of the specified width
     *
     * Get the byte length of characters which can be included on one line of
     * the specified width.
     *
     * @param string $text The text to measure.
     * @param float $width The width of the line.
     * @param bool $wordwrap When this parameter is set to TRUE the
     *   function "emulates" word wrapping by stopping after the last full
     *   word (delimited by whitespace) that can fit on the line.
     * @return int Returns the byte length of characters which can be
     *   included within the specified width. For single-byte encodings, this
     *   is equal to the number of characters. For multi-byte encodings, this
     *   is not necessarily the case.
     * @since PECL haru >= 0.0.1
     **/
    function measureText($text, $width, $wordwrap){}

    /**
     * Move text position to the specified offset
     *
     * Moves text position to the specified offset. If the start position of
     * the current line is (x1, y1), the start of the next line is (x1 +
     * {@link x}, y1 + {@link y}).
     *
     * @param float $x The specified text position offset.
     * @param float $y The specified text position offset.
     * @param bool $set_leading If set to TRUE, the function sets the text
     *   leading to -{@link y}.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function moveTextPos($x, $y, $set_leading){}

    /**
     * Set starting point for new drawing path
     *
     * Defines starting point for new drawing path.
     *
     * @param float $x A new starting point coordinate.
     * @param float $y A new starting point coordinate.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function moveTo($x, $y){}

    /**
     * Move text position to the start of the next line
     *
     * Moves text position to the start of the next line.
     *
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function moveToNextLine(){}

    /**
     * Append a rectangle to the current path
     *
     * Appends a rectangle to the current drawing path.
     *
     * @param float $x The left border of the rectangle.
     * @param float $y The lower border of the rectangle.
     * @param float $width The width of the rectangle.
     * @param float $height The height of the rectangle.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function rectangle($x, $y, $width, $height){}

    /**
     * Set character spacing for the page
     *
     * Defines character spacing for the page.
     *
     * @param float $char_space The new character spacing for the page.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setCharSpace($char_space){}

    /**
     * Set filling color for the page
     *
     * Defines filling color for the page.
     *
     * @param float $c
     * @param float $m
     * @param float $y
     * @param float $k
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setCMYKFill($c, $m, $y, $k){}

    /**
     * Set stroking color for the page
     *
     * Defines stroking color for the page.
     *
     * @param float $c
     * @param float $m
     * @param float $y
     * @param float $k
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setCMYKStroke($c, $m, $y, $k){}

    /**
     * Set the dash pattern for the page
     *
     * Defines the dash pattern for the page.
     *
     * @param array $pattern An array (8 elements max) which contains a
     *   pattern of dashes and gaps used for lines on the page.
     * @param int $phase The phase on which the pattern begins.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setDash($pattern, $phase){}

    /**
     * Set flatness for the page
     *
     * Defines flatness for the page.
     *
     * @param float $flatness The defined flatness for the page.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setFlatness($flatness){}

    /**
     * Set font and fontsize for the page
     *
     * Defines current font and its size for the page.
     *
     * @param object $font A valid HaruFont instance.
     * @param float $size The size of the font.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setFontAndSize($font, $size){}

    /**
     * Set filling color for the page
     *
     * Defines filling color for the page.
     *
     * @param float $value The value of gray level between 0 and 1.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setGrayFill($value){}

    /**
     * Sets stroking color for the page
     *
     * Defines stroking color for the page.
     *
     * @param float $value The value of gray level between 0 and 1.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setGrayStroke($value){}

    /**
     * Set height of the page
     *
     * Defines height of the page.
     *
     * @param float $height The defined height for the page.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setHeight($height){}

    /**
     * Set horizontal scaling for the page
     *
     * Set the horizontal scaling for the page.
     *
     * @param float $scaling The horizontal scaling for text showing on the
     *   page. The initial value is 100.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setHorizontalScaling($scaling){}

    /**
     * Set the shape to be used at the ends of lines
     *
     * Defines the shape to be used at the ends of lines.
     *
     * @param int $cap Must be one of the following values:
     *   HaruPage::BUTT_END - the line is squared off at the endpoint of the
     *   path. HaruPage::ROUND_END - the end of the line becomes a semicircle
     *   with center in the end point of the path.
     *   HaruPage::PROJECTING_SCUARE_END - the line continues to the point
     *   that exceeds half of the stroke width the end point.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setLineCap($cap){}

    /**
     * Set line join style for the page
     *
     * Defines line join style for the page.
     *
     * @param int $join Must be one of the following values:
     *   HaruPage::MITER_JOIN HaruPage::ROUND_JOIN HaruPage::BEVEL_JOIN
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setLineJoin($join){}

    /**
     * Set line width for the page
     *
     * Defines line width for the page.
     *
     * @param float $width The defined line width for the page.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setLineWidth($width){}

    /**
     * Set the current value of the miter limit of the page
     *
     * @param float $limit Defines the current value of the miter limit of
     *   the page.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setMiterLimit($limit){}

    /**
     * Set filling color for the page
     *
     * Defines filling color for the page. All values must be between 0 and
     * 1.
     *
     * @param float $r
     * @param float $g
     * @param float $b
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setRGBFill($r, $g, $b){}

    /**
     * Set stroking color for the page
     *
     * Defines stroking color for the page. All values must be between 0 and
     * 1.
     *
     * @param float $r
     * @param float $g
     * @param float $b
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setRGBStroke($r, $g, $b){}

    /**
     * Set rotation angle of the page
     *
     * Defines rotation angle of the page.
     *
     * @param int $angle Must be a multiple of 90 degrees.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setRotate($angle){}

    /**
     * Set size and direction of the page
     *
     * Changes size and direction of the page to a predefined format.
     *
     * @param int $size Must be one of the following values:
     *   HaruPage::SIZE_LETTER HaruPage::SIZE_LEGAL HaruPage::SIZE_A3
     *   HaruPage::SIZE_A4 HaruPage::SIZE_A5 HaruPage::SIZE_B4
     *   HaruPage::SIZE_B5 HaruPage::SIZE_EXECUTIVE HaruPage::SIZE_US4x6
     *   HaruPage::SIZE_US4x8 HaruPage::SIZE_US5x7 HaruPage::SIZE_COMM10
     * @param int $direction Must be one of the following values:
     *   HaruPage::PORTRAIT HaruPage::LANDSCAPE
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setSize($size, $direction){}

    /**
     * Set transition style for the page
     *
     * Defines transition style for the page.
     *
     * @param int $type Must be one of the following values:
     *   HaruPage::TS_WIPE_RIGHT HaruPage::TS_WIPE_LEFT HaruPage::TS_WIPE_UP
     *   HaruPage::TS_WIPE_DOWN HaruPage::TS_BARN_DOORS_HORIZONTAL_OUT
     *   HaruPage::TS_BARN_DOORS_HORIZONTAL_IN
     *   HaruPage::TS_BARN_DOORS_VERTICAL_OUT
     *   HaruPage::TS_BARN_DOORS_VERTICAL_IN HaruPage::TS_BOX_OUT
     *   HaruPage::TS_BOX_IN HaruPage::TS_BLINDS_HORIZONTAL
     *   HaruPage::TS_BLINDS_VERTICAL HaruPage::TS_DISSOLVE
     *   HaruPage::TS_GLITTER_RIGHT HaruPage::TS_GLITTER_DOWN
     *   HaruPage::TS_GLITTER_TOP_LEFT_TO_BOTTOM_RIGHT HaruPage::TS_REPLACE
     * @param float $disp_time The display duration of the page in seconds.
     * @param float $trans_time The duration of the transition effect in
     *   seconds.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setSlideShow($type, $disp_time, $trans_time){}

    /**
     * Set text leading (line spacing) for the page
     *
     * Set the text leading (line spacing) for the page.
     *
     * @param float $text_leading Defines line spacing for the page.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setTextLeading($text_leading){}

    /**
     * Set the current text transformation matrix of the page
     *
     * Defines the text transformation matrix of the page.
     *
     * @param float $a Width multiplier.
     * @param float $b Vertical skew in radians.
     * @param float $c Horizontal skew in radians.
     * @param float $d Height multiplier.
     * @param float $x Horizontal position for text.
     * @param float $y Vertical position for text.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setTextMatrix($a, $b, $c, $d, $x, $y){}

    /**
     * Set text rendering mode for the page
     *
     * Defines text rendering mode for the page.
     *
     * @param int $mode Must be one of the following values: HaruPage::FILL
     *   HaruPage::STROKE HaruPage::FILL_THEN_STROKE HaruPage::INVISIBLE
     *   HaruPage::FILL_CLIPPING HaruPage::STROKE_CLIPPING
     *   HaruPage::FILL_STROKE_CLIPPING HaruPage::CLIPPING
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setTextRenderingMode($mode){}

    /**
     * Set the current value of text rising
     *
     * @param float $rise Defines the current value of text rising.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setTextRise($rise){}

    /**
     * Set width of the page
     *
     * Set the width of the page.
     *
     * @param float $width Defines width of the page.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setWidth($width){}

    /**
     * Set word spacing for the page
     *
     * Set the word spacing for the page.
     *
     * @param float $word_space Defines word spacing for the page.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function setWordSpace($word_space){}

    /**
     * Print text at the current position of the page
     *
     * Prints out the text at the current position of the page.
     *
     * @param string $text The text to show.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function showText($text){}

    /**
     * Move the current position to the start of the next line and print the
     * text
     *
     * Moves the current position to the start of the next line and print out
     * the text.
     *
     * @param string $text The text to show.
     * @param float $word_space The word spacing.
     * @param float $char_space The character spacing.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function showTextNextLine($text, $word_space, $char_space){}

    /**
     * Paint current path
     *
     * Paints the current path.
     *
     * @param bool $close_path Closes the current path if set to TRUE.
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function stroke($close_path){}

    /**
     * Print the text on the specified position
     *
     * Prints the text on the specified position.
     *
     * @param float $x
     * @param float $y
     * @param string $text
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function textOut($x, $y, $text){}

    /**
     * Print the text inside the specified region
     *
     * Prints the text inside the specified region.
     *
     * @param float $left Left border of the text area.
     * @param float $top Top border of the text area.
     * @param float $right Right border of the text area.
     * @param float $bottom Lower border of the text area.
     * @param string $text The text to print.
     * @param int $align Text alignment. Must be one of the following
     *   values: HaruPage::TALIGN_LEFT HaruPage::TALIGN_RIGHT
     *   HaruPage::TALIGN_CENTER HaruPage::TALIGN_JUSTIFY
     * @return bool Returns TRUE on success.
     * @since PECL haru >= 0.0.1
     **/
    function textRect($left, $top, $right, $bottom, $text, $align){}

}
class HashContext {
}
namespace HRTime {
class PerformanceCounter {
    /**
     * Timer frequency in ticks per second
     *
     * Returns the timer frequency in ticks per second. This value is
     * constant after the system start on almost any operating system.
     *
     * @return int Returns indicating the timer frequency.
     **/
    public static function getFrequency(){}

    /**
     * Current ticks from the system
     *
     * Returns the ticks count.
     *
     * @return int Returns indicating the ticks count.
     **/
    public static function getTicks(){}

    /**
     * Ticks elapsed since the given value
     *
     * Returns the ticks count elapsed since the given start value.
     *
     * @param int $start Starting ticks value.
     * @return int Returns indicating the ticks count.
     **/
    public static function getTicksSince($start){}

}
}
namespace HRTime {
class StopWatch extends HRTime\PerformanceCounter {
    /**
     * Get elapsed ticks for all intervals
     *
     * Get elapsed ticks for all the previously closed intervals.
     *
     * @return int Returns indicating elapsed ticks.
     **/
    public function getElapsedTicks(){}

    /**
     * Get elapsed time for all intervals
     *
     * Get elapsed time for all the previously closed intervals.
     *
     * @param int $unit Time unit represented by a HRTime\Unit constant.
     *   Default is HRTime\Unit::SECOND.
     * @return float Returns indicating elapsed time.
     **/
    public function getElapsedTime($unit){}

    /**
     * Get elapsed ticks for the last interval
     *
     * Get elapsed ticks for the previously closed interval.
     *
     * @return int Returns indicating elapsed ticks.
     **/
    public function getLastElapsedTicks(){}

    /**
     * Get elapsed time for the last interval
     *
     * Get elapsed time for the previously closed interval.
     *
     * @param int $unit Time unit represented by a HRTime\Unit constant.
     *   Default is HRTime\Unit::SECOND.
     * @return float Returns indicating elapsed time.
     **/
    public function getLastElapsedTime($unit){}

    /**
     * Whether the measurement is running
     *
     * Reveals whether the measurement was started.
     *
     * @return bool Returns indicating whetehr the measurement is running.
     **/
    public function isRunning(){}

    /**
     * Start time measurement
     *
     * Starts the time measurement. It has no effect if the measurement was
     * already started. The measurement will be continued if it was
     * previously stopped.
     *
     * @return void Returns void.
     **/
    public function start(){}

    /**
     * Stop time measurement
     *
     * Stop the time measurement for the previously started interval.
     *
     * @return void Returns void.
     **/
    public function stop(){}

}
}
namespace HRTime {
class Unit {
}
}
class hw_api {
    /**
     * Checks in an object
     *
     * This function checks in an object or a whole hierarchy of objects. The
     * parameters array contains the required element 'objectIdentifier' and
     * the optional element 'version', 'comment', 'mode' and 'objectQuery'.
     * 'version' sets the version of the object. It consists of the major and
     * minor version separated by a period. If the version is not set, the
     * minor version is incremented. 'mode' can be one of the following
     * values: HW_API_CHECKIN_NORMAL Checks in and commits the object. The
     * object must be a document. HW_API_CHECKIN_RECURSIVE If the object to
     * check in is a collection, all children will be checked in recursively
     * if they are documents. Trying to check in a collection would result in
     * an error. HW_API_CHECKIN_FORCE_VERSION_CONTROL Checks in an object
     * even if it is not under version control.
     * HW_API_CHECKIN_REVERT_IF_NOT_CHANGED Check if the new version is
     * different from the last version. Unless this is the case the object
     * will be checked in. HW_API_CHECKIN_KEEP_TIME_MODIFIED Keeps the time
     * modified from the most recent object. HW_API_CHECKIN_NO_AUTO_COMMIT
     * The object is not automatically committed on check-in.
     *
     * @param array $parameter
     * @return bool
     **/
    function checkin($parameter){}

    /**
     * Checks out an object
     *
     * This function checks out an object or a whole hierarchy of objects.
     *
     * @param array $parameter The parameters array contains the required
     *   element 'objectIdentifier' and the optional element 'version',
     *   'mode' and 'objectQuery'. 'mode' can be one of the following values:
     *   HW_API_CHECKIN_NORMAL Checks out an object. The object must be a
     *   document. HW_API_CHECKIN_RECURSIVE If the object to check out is a
     *   collection, all children will be checked out recursively if they are
     *   documents. Trying to check out a collection would result in an
     *   error.
     * @return bool
     **/
    function checkout($parameter){}

    /**
     * Returns children of an object
     *
     * Retrieves the children of a collection or the attributes of a
     * document. The children can be further filtered by specifying an object
     * query.
     *
     * @param array $parameter The parameter array contains the required
     *   elements 'objectIdentifier' and the optional elements
     *   'attributeSelector' and 'objectQuery'.
     * @return array The return value is an array of objects of type
     *   HW_API_Object or HW_API_Error.
     **/
    function children($parameter){}

    /**
     * Returns content of an object
     *
     * This function returns the content of a document as an object of type
     * hw_api_content.
     *
     * @param array $parameter The parameter array contains the required
     *   elements 'objectidentifier' and the optional element 'mode'. The
     *   mode can be one of the constants HW_API_CONTENT_ALLLINKS,
     *   HW_API_CONTENT_REACHABLELINKS or HW_API_CONTENT_PLAIN.
     *   HW_API_CONTENT_ALLLINKS means to insert all anchors even if the
     *   destination is not reachable. HW_API_CONTENT_REACHABLELINKS tells
     *   this method to insert only reachable links and HW_API_CONTENT_PLAIN
     *   will lead to document without any links.
     * @return HW_API_Content Returns an instance of hw_api_content.
     **/
    function content($parameter){}

    /**
     * Copies physically
     *
     * This function will make a physical copy including the content if it
     * exists and returns the new object or an error object.
     *
     * @param array $parameter The parameter array contains the required
     *   elements 'objectIdentifier' and 'destinationParentIdentifier'. The
     *   optional parameter is 'attributeSelector'`
     * @return hw_api_content Returns the copied object.
     **/
    function copy($parameter){}

    /**
     * Returns statistics about database server
     *
     * @param array $parameter
     * @return hw_api_object
     **/
    function dbstat($parameter){}

    /**
     * Returns statistics about document cache server
     *
     * @param array $parameter
     * @return hw_api_object
     **/
    function dcstat($parameter){}

    /**
     * Returns a list of all destination anchors
     *
     * Retrieves all destination anchors of an object.
     *
     * @param array $parameter The parameter array contains the required
     *   element 'objectIdentifier' and the optional elements
     *   'attributeSelector' and 'objectQuery'.
     * @return array
     **/
    function dstanchors($parameter){}

    /**
     * Returns destination of a source anchor
     *
     * Retrieves the destination object pointed by the specified source
     * anchors. The destination object can either be a destination anchor or
     * a whole document.
     *
     * @param array $parameter The parameters array contains the required
     *   element 'objectIdentifier' and the optional element
     *   'attributeSelector'.
     * @return hw_api_object
     **/
    function dstofsrcanchor($parameter){}

    /**
     * Search for objects
     *
     * This functions searches for objects either by executing a key or/and
     * full text query. The found objects can further be filtered by an
     * optional object query. They are sorted by their importance. The second
     * search operation is relatively slow and its result can be limited to a
     * certain number of hits. This allows to perform an incremental search,
     * each returning just a subset of all found documents, starting at a
     * given index.
     *
     * @param array $parameter The parameter array contains the 'keyquery'
     *   or/and 'fulltextquery' depending on who you would like to search.
     *   Optional parameters are 'objectquery', 'scope', 'languages' and
     *   'attributeselector'. In case of an incremental search the optional
     *   parameters 'startIndex', 'numberOfObjectsToGet' and 'exactMatchUnit'
     *   can be passed.
     * @return array
     **/
    function find($parameter){}

    /**
     * Returns statistics about fulltext server
     *
     * @param array $parameter
     * @return hw_api_object
     **/
    function ftstat($parameter){}

    /**
     * Returns statistics about Hyperwave server
     *
     * @param array $parameter
     * @return hw_api_object
     **/
    function hwstat($parameter){}

    /**
     * Log into Hyperwave Server
     *
     * Logs into the Hyperwave Server.
     *
     * @param array $parameter The parameter array must contain the
     *   elements 'username' and 'password'.
     * @return bool Returns an object of typeHW_API_Error if identification
     *   failed or TRUE if it was successful.
     **/
    function identify($parameter){}

    /**
     * Returns information about server configuration
     *
     * @param array $parameter
     * @return array
     **/
    function info($parameter){}

    /**
     * Inserts a new object
     *
     * Insert a new object. The object type can be user, group, document or
     * anchor. Depending on the type other object attributes has to be set.
     *
     * @param array $parameter The parameter array contains the required
     *   elements 'object' and 'content' (if the object is a document) and
     *   the optional parameters 'parameters', 'mode' and
     *   'attributeSelector'. The 'object' must contain all attributes of the
     *   object. 'parameters' is an object as well holding further attributes
     *   like the destination (attribute key is 'Parent'). 'content' is the
     *   content of the document. 'mode' can be a combination of the
     *   following flags: HW_API_INSERT_NORMAL The object in inserted into
     *   the server. HW_API_INSERT_FORCE_VERSION_CONTROL
     *   HW_API_INSERT_AUTOMATIC_CHECKOUT HW_API_INSERT_PLAIN
     *   HW_API_INSERT_KEEP_TIME_MODIFIED HW_API_INSERT_DELAY_INDEXING
     * @return hw_api_object
     **/
    function insert($parameter){}

    /**
     * Inserts a new object of type anchor
     *
     * This function is a shortcut for {@link hwapi_insert}. It inserts an
     * object of type anchor and sets some of the attributes required for an
     * anchor.
     *
     * @param array $parameter The parameter array contains the required
     *   elements 'object' and 'documentIdentifier' and the optional elements
     *   'destinationIdentifier', 'parameter', 'hint' and
     *   'attributeSelector'. The 'documentIdentifier' specifies the document
     *   where the anchor shall be inserted. The target of the anchor is set
     *   in 'destinationIdentifier' if it already exists. If the target does
     *   not exists the element 'hint' has to be set to the name of object
     *   which is supposed to be inserted later. Once it is inserted the
     *   anchor target is resolved automatically.
     * @return hw_api_object
     **/
    function insertanchor($parameter){}

    /**
     * Inserts a new object of type collection
     *
     * This function is a shortcut for {@link hwapi_insert}. It inserts an
     * object of type collection and sets some of the attributes required for
     * a collection.
     *
     * @param array $parameter The parameter array contains the required
     *   elements 'object' and 'parentIdentifier' and the optional elements
     *   'parameter' and 'attributeSelector'. See {@link hwapi_insert} for
     *   the meaning of each element.
     * @return hw_api_object
     **/
    function insertcollection($parameter){}

    /**
     * Inserts a new object of type document
     *
     * This function is a shortcut for {@link hwapi_insert}. It inserts an
     * object with content and sets some of the attributes required for a
     * document.
     *
     * @param array $parameter The parameter array contains the required
     *   elements 'object', 'parentIdentifier' and 'content' and the optional
     *   elements 'mode', 'parameter' and 'attributeSelector'. See {@link
     *   hwapi_insert} for the meaning of each element.
     * @return hw_api_object
     **/
    function insertdocument($parameter){}

    /**
     * Creates a link to an object
     *
     * Creates a link to an object. Accessing this link is like accessing the
     * object to links points to.
     *
     * @param array $parameter The parameter array contains the required
     *   elements 'objectIdentifier' and 'destinationParentIdentifier'.
     *   'destinationParentIdentifier' is the target collection.
     * @return bool The function returns TRUE on success or an error
     *   object.
     **/
    function link($parameter){}

    /**
     * Locks an object
     *
     * Locks an object for exclusive editing by the user calling this
     * function. The object can be only unlocked by this user or the system
     * user.
     *
     * @param array $parameter The parameter array contains the required
     *   element 'objectIdentifier' and the optional parameters 'mode' and
     *   'objectquery'. 'mode' determines how an object is locked.
     *   HW_API_LOCK_NORMAL means, an object is locked until it is unlocked.
     *   HW_API_LOCK_RECURSIVE is only valid for collection and locks all
     *   objects within the collection and possible subcollections.
     *   HW_API_LOCK_SESSION means, an object is locked only as long as the
     *   session is valid.
     * @return bool
     **/
    function lock($parameter){}

    /**
     * Moves object between collections
     *
     * @param array $parameter
     * @return bool
     **/
    function move($parameter){}

    /**
     * Retrieve attribute information
     *
     * This function retrieves the attribute information of an object of any
     * version. It will not return the document content.
     *
     * @param array $parameter The parameter array contains the required
     *   elements 'objectIdentifier' and the optional elements
     *   'attributeSelector' and 'version'.
     * @return hw_api_object The returned object is an instance of class
     *   HW_API_Object on success or HW_API_Error if an error occurred.
     **/
    function object($parameter){}

    /**
     * Returns the object an anchor belongs to
     *
     * This function retrieves an object the specified anchor belongs to.
     *
     * @param array $parameter The parameter array contains the required
     *   element 'objectIdentifier' and the optional element
     *   'attributeSelector'.
     * @return hw_api_object
     **/
    function objectbyanchor($parameter){}

    /**
     * Returns parents of an object
     *
     * Retrieves the parents of an object. The parents can be further
     * filtered by specifying an object query.
     *
     * @param array $parameter The parameter array contains the required
     *   elements 'objectidentifier' and the optional elements
     *   'attributeselector' and 'objectquery'.
     * @return array The return value is an array of objects of type
     *   HW_API_Object or HW_API_Error.
     **/
    function parents($parameter){}

    /**
     * Delete an object
     *
     * Removes an object from the specified parent. Collections will be
     * removed recursively.
     *
     * @param array $parameter You can pass an optional object query to
     *   remove only those objects which match the query. An object will be
     *   deleted physically if it is the last instance. The parameter array
     *   contains the required elements 'objectidentifier' and
     *   'parentidentifier'. If you want to remove a user or group
     *   'parentidentifier' can be skipped. The optional parameter 'mode'
     *   determines how the deletion is performed. In normal mode the object
     *   will not be removed physically until all instances are removed. In
     *   physical mode all instances of the object will be deleted
     *   immediately. In removelinks mode all references to and from the
     *   objects will be deleted as well. In nonrecursive the deletion is not
     *   performed recursive. Removing a collection which is not empty will
     *   cause an error.
     * @return bool
     **/
    function remove($parameter){}

    /**
     * Replaces an object
     *
     * Replaces the attributes and the content of an object.
     *
     * @param array $parameter The parameter array contains the required
     *   elements 'objectIdentifier' and 'object' and the optional parameters
     *   'content', 'parameters', 'mode' and 'attributeSelector'.
     *   'objectIdentifier' contains the object to be replaced. 'object'
     *   contains the new object. 'content' contains the new content.
     *   'parameters' contain extra information for HTML documents.
     *   HTML_Language is the letter abbreviation of the language of the
     *   title. HTML_Base sets the base attribute of the HTML document.
     *   'mode' can be a combination of the following flags:
     *   HW_API_REPLACE_NORMAL The object on the server is replace with the
     *   object passed. HW_API_REPLACE_FORCE_VERSION_CONTROL
     *   HW_API_REPLACE_AUTOMATIC_CHECKOUT HW_API_REPLACE_AUTOMATIC_CHECKIN
     *   HW_API_REPLACE_PLAIN HW_API_REPLACE_REVERT_IF_NOT_CHANGED
     *   HW_API_REPLACE_KEEP_TIME_MODIFIED
     * @return hw_api_object
     **/
    function replace($parameter){}

    /**
     * Commits version other than last version
     *
     * Commits a version of a document. The committed version is the one
     * which is visible to users with read access. By default the last
     * version is the committed version.
     *
     * @param array $parameter
     * @return hw_api_object
     **/
    function setcommittedversion($parameter){}

    /**
     * Returns a list of all source anchors
     *
     * Retrieves all source anchors of an object.
     *
     * @param array $parameter The parameter array contains the required
     *   element 'objectIdentifier' and the optional elements
     *   'attributeSelector' and 'objectQuery'.
     * @return array
     **/
    function srcanchors($parameter){}

    /**
     * Returns source of a destination object
     *
     * Retrieves all the source anchors pointing to the specified
     * destination. The destination object can either be a destination anchor
     * or a whole document.
     *
     * @param array $parameter The parameters array contains the required
     *   element 'objectIdentifier' and the optional element
     *   'attributeSelector' and 'objectQuery'. The function returns an array
     *   of objects or an error.
     * @return array
     **/
    function srcsofdst($parameter){}

    /**
     * Unlocks a locked object
     *
     * Unlocks a locked object. Only the user who has locked the object and
     * the system user may unlock an object.
     *
     * @param array $parameter The parameter array contains the required
     *   element 'objectIdentifier' and the optional parameters 'mode' and
     *   'objectquery'. The meaning of 'mode' is the same as in function
     *   {@link hwapi_lock}.
     * @return bool Returns TRUE on success or an object of class
     *   HW_API_Error.
     **/
    function unlock($parameter){}

    /**
     * Returns the own user object
     *
     * @param array $parameter
     * @return hw_api_object
     **/
    function user($parameter){}

    /**
     * Returns a list of all logged in users
     *
     * @param array $parameter
     * @return array
     **/
    function userlist($parameter){}

}
class hw_api_attribute {
    /**
     * Returns key of the attribute
     *
     * Returns the name of the attribute.
     *
     * @return string Returns the name of the attribute as a string.
     **/
    function key(){}

    /**
     * Returns value for a given language
     *
     * Returns the value in the given language of the attribute.
     *
     * @param string $language
     * @return string Returns the value of the attribute as a string.
     **/
    function langdepvalue($language){}

    /**
     * Returns value of the attribute
     *
     * Gets the value of the attribute.
     *
     * @return string Returns the value, as a string.
     **/
    function value(){}

    /**
     * Returns all values of the attribute
     *
     * Gets all values of the attribute.
     *
     * @return array Returns an array of attribute values.
     **/
    function values(){}

}
class hw_api_content {
    /**
     * Returns mimetype
     *
     * Returns the mimetype of the content.
     *
     * @return string Returns the mimetype as a string.
     **/
    function mimetype(){}

    /**
     * Read content
     *
     * Reads {@link len} bytes from the content into the given buffer.
     *
     * @param string $buffer
     * @param int $len Number of bytes to read.
     * @return string
     **/
    function read($buffer, $len){}

}
class hw_api_error {
    /**
     * Returns number of reasons
     *
     * Returns the number of error reasons.
     *
     * @return int Returns the number of errors, as an integer.
     **/
    function count(){}

    /**
     * Returns reason of error
     *
     * Returns the first error reason.
     *
     * @return HW_API_Reason
     **/
    function reason(){}

}
class hw_api_object {
    /**
     * Clones object
     *
     * Clones the attributes of an object.
     *
     * @param array $parameter
     * @return bool
     **/
    function assign($parameter){}

    /**
     * Checks whether an attribute is editable
     *
     * @param array $parameter
     * @return bool Returns TRUE if the attribute is editable, FALSE
     *   otherwise.
     **/
    function attreditable($parameter){}

    /**
     * Returns number of attributes
     *
     * Returns the number of attributes.
     *
     * @param array $parameter
     * @return int Returns the number as an integer.
     **/
    function count($parameter){}

    /**
     * Inserts new attribute
     *
     * Adds an attribute to the object.
     *
     * @param HW_API_Attribute $attribute
     * @return bool
     **/
    function insert($attribute){}

    /**
     * Removes attribute
     *
     * Removes the attribute with the given name.
     *
     * @param string $name The attribute name.
     * @return bool
     **/
    function remove($name){}

    /**
     * Returns the title attribute
     *
     * @param array $parameter
     * @return string Returns the title as a string.
     **/
    function title($parameter){}

    /**
     * Returns value of attribute
     *
     * Returns value of an attribute.
     *
     * @param string $name The attribute name.
     * @return string Returns the value of the attribute with the given
     *   name or FALSE if an error occurred.
     **/
    function value($name){}

}
class hw_api_reason {
    /**
     * Returns description of reason
     *
     * Returns the description of a reason
     *
     * @return string Returns the description, as a string.
     **/
    function description(){}

    /**
     * Returns type of reason
     *
     * Returns the type of a reason.
     *
     * @return HW_API_Reason Returns an instance of HW_API_Reason.
     **/
    function type(){}

}
/**
 * The Imagick class has the ability to hold and operate on multiple
 * images simultaneously. This is achieved through an internal stack.
 * There is always an internal pointer that points at the current image.
 * Some functions operate on all images in the Imagick class, but most
 * operate only on the current image in the internal stack. As a
 * convention, method names can contain the word Image to denote they
 * affect only the current image in the stack. Because there are so many
 * methods, here is a handy list of methods, somewhat reduced to their
 * general purpose:
 **/
class Imagick implements Iterator {
    /**
     * Adds adaptive blur filter to image
     *
     * Adds an adaptive blur filter to image. The intensity of an adaptive
     * blur depends is dramatically decreased at edge of the image, whereas a
     * standard blur is uniform across the image.
     *
     * @param float $radius The radius of the Gaussian, in pixels, not
     *   counting the center pixel. Provide a value of 0 and the radius will
     *   be chosen automagically.
     * @param float $sigma The standard deviation of the Gaussian, in
     *   pixels.
     * @param int $channel
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function adaptiveBlurImage($radius, $sigma, $channel){}

    /**
     * Adaptively resize image with data dependent triangulation
     *
     * Adaptively resize image with data-dependent triangulation. Avoids
     * blurring across sharp color changes. Most useful when used to shrink
     * images slightly to a slightly smaller "web size"; may not look good
     * when a full-sized image is adaptively resized to a thumbnail.
     *
     * @param int $columns The number of columns in the scaled image.
     * @param int $rows The number of rows in the scaled image.
     * @param bool $bestfit Whether to fit the image inside a bounding box.
     * @param bool $legacy
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function adaptiveResizeImage($columns, $rows, $bestfit, $legacy){}

    /**
     * Adaptively sharpen the image
     *
     * Adaptively sharpen the image by sharpening more intensely near image
     * edges and less intensely far from edges.
     *
     * @param float $radius The radius of the Gaussian, in pixels, not
     *   counting the center pixel. Use 0 for auto-select.
     * @param float $sigma The standard deviation of the Gaussian, in
     *   pixels.
     * @param int $channel
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function adaptiveSharpenImage($radius, $sigma, $channel){}

    /**
     * Selects a threshold for each pixel based on a range of intensity
     *
     * Selects an individual threshold for each pixel based on the range of
     * intensity values in its local neighborhood. This allows for
     * thresholding of an image whose global intensity histogram doesn't
     * contain distinctive peaks.
     *
     * @param int $width Width of the local neighborhood.
     * @param int $height Height of the local neighborhood.
     * @param int $offset The mean offset
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function adaptiveThresholdImage($width, $height, $offset){}

    /**
     * Adds new image to Imagick object image list
     *
     * Adds new image to Imagick object from the current position of the
     * source object. After the operation iterator position is moved at the
     * end of the list.
     *
     * @param Imagick $source The source Imagick object
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function addImage($source){}

    /**
     * Adds random noise to the image
     *
     * @param int $noise_type The type of the noise. Refer to this list of
     *   noise constants.
     * @param int $channel
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function addNoiseImage($noise_type, $channel){}

    /**
     * Transforms an image
     *
     * Transforms an image as dictated by the affine matrix.
     *
     * @param ImagickDraw $matrix The affine matrix
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function affineTransformImage($matrix){}

    /**
     * Animates an image or images
     *
     * This method animates the image onto a local or remote X server. This
     * method is not available on Windows.
     *
     * @param string $x_server X server address
     * @return bool
     **/
    function animateImages($x_server){}

    /**
     * Annotates an image with text
     *
     * @param ImagickDraw $draw_settings The ImagickDraw object that
     *   contains settings for drawing the text
     * @param float $x Horizontal offset in pixels to the left of text
     * @param float $y Vertical offset in pixels to the baseline of text
     * @param float $angle The angle at which to write the text
     * @param string $text The string to draw
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function annotateImage($draw_settings, $x, $y, $angle, $text){}

    /**
     * Append a set of images
     *
     * Append a set of images into one larger image.
     *
     * @param bool $stack Whether to stack the images vertically. By
     *   default (or if FALSE is specified) images are stacked left-to-right.
     *   If {@link stack} is TRUE, images are stacked top-to-bottom.
     * @return Imagick Returns Imagick instance on success.
     * @since PECL imagick 2.0.0
     **/
    function appendImages($stack){}

    /**
     * Adjusts the levels of a particular image channel by scaling the
     * minimum and maximum values to the full quantum range.
     *
     * @param int $channel Which channel should the auto-levelling should
     *   be done on.
     * @return bool
     **/
    public function autoLevelImage($channel){}

    /**
     * Average a set of images
     *
     * @return Imagick Returns a new Imagick object on success.
     * @since PECL imagick 2.0.0
     **/
    function averageImages(){}

    /**
     * Forces all pixels below the threshold into black
     *
     * Is like Imagick::thresholdImage() but forces all pixels below the
     * threshold into black while leaving all pixels above the threshold
     * unchanged.
     *
     * @param mixed $threshold The threshold below which everything turns
     *   black
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function blackThresholdImage($threshold){}

    /**
     * Mutes the colors of the image to simulate a scene at nighttime in the
     * moonlight.
     *
     * @param float $factor
     * @return bool
     **/
    public function blueShiftImage($factor){}

    /**
     * Adds blur filter to image
     *
     * Adds blur filter to image. Optional third parameter to blur a specific
     * channel.
     *
     * @param float $radius Blur radius
     * @param float $sigma Standard deviation
     * @param int $channel The Channeltype constant. When not supplied, all
     *   channels are blurred.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function blurImage($radius, $sigma, $channel){}

    /**
     * Surrounds the image with a border
     *
     * Surrounds the image with a border of the color defined by the
     * bordercolor ImagickPixel object.
     *
     * @param mixed $bordercolor ImagickPixel object or a string containing
     *   the border color
     * @param int $width Border width
     * @param int $height Border height
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function borderImage($bordercolor, $width, $height){}

    /**
     * Change the brightness and/or contrast of an image. It converts the
     * brightness and contrast parameters into slope and intercept and calls
     * a polynomical function to apply to the image.
     *
     * @param float $brightness
     * @param float $contrast
     * @param int $channel
     * @return bool
     **/
    public function brightnessContrastImage($brightness, $contrast, $channel){}

    /**
     * Simulates a charcoal drawing
     *
     * @param float $radius The radius of the Gaussian, in pixels, not
     *   counting the center pixel
     * @param float $sigma The standard deviation of the Gaussian, in
     *   pixels
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function charcoalImage($radius, $sigma){}

    /**
     * Removes a region of an image and trims
     *
     * Removes a region of an image and collapses the image to occupy the
     * removed portion.
     *
     * @param int $width Width of the chopped area
     * @param int $height Height of the chopped area
     * @param int $x X origo of the chopped area
     * @param int $y Y origo of the chopped area
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function chopImage($width, $height, $x, $y){}

    /**
     * Restricts the color range from 0 to the quantum depth.
     *
     * @param int $channel
     * @return bool
     **/
    public function clampImage($channel){}

    /**
     * Clears all resources associated to Imagick object
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function clear(){}

    /**
     * Clips along the first path from the 8BIM profile
     *
     * Clips along the first path from the 8BIM profile, if present.
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function clipImage(){}

    /**
     * Clips along the named paths from the 8BIM profile, if present. Later
     * operations take effect inside the path. Id may be a number if preceded
     * with #, to work on a numbered path, e.g., "#1" to use the first path.
     *
     * @param string $pathname
     * @param string $inside
     * @return void
     **/
    public function clipImagePath($pathname, $inside){}

    /**
     * Clips along the named paths from the 8BIM profile
     *
     * Clips along the named paths from the 8BIM profile, if present. Later
     * operations take effect inside the path. It may be a number if preceded
     * with #, to work on a numbered path, e.g., "#1" to use the first path.
     *
     * @param string $pathname The name of the path
     * @param bool $inside If TRUE later operations take effect inside
     *   clipping path. Otherwise later operations take effect outside
     *   clipping path.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function clipPathImage($pathname, $inside){}

    /**
     * Replaces colors in the image
     *
     * Replaces colors in the image from a color lookup table. Optional
     * second parameter to replace colors in a specific channel.
     *
     * @param Imagick $lookup_table Imagick object containing the color
     *   lookup table
     * @param int $channel The Channeltype constant. When not supplied,
     *   default channels are replaced.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function clutImage($lookup_table, $channel){}

    /**
     * Composites a set of images
     *
     * Composites a set of images while respecting any page offsets and
     * disposal methods. GIF, MIFF, and MNG animation sequences typically
     * start with an image background and each subsequent image varies in
     * size and offset. Returns a new Imagick object where each image in the
     * sequence is the same size as the first and composited with the next
     * image in the sequence.
     *
     * @return Imagick Returns a new Imagick object on success.
     * @since PECL imagick 2.0.0
     **/
    function coalesceImages(){}

    /**
     * Changes the color value of any pixel that matches target
     *
     * Changes the color value of any pixel that matches target and is an
     * immediate neighbor.
     *
     * @param mixed $fill ImagickPixel object containing the fill color
     * @param float $fuzz The amount of fuzz. For example, set fuzz to 10
     *   and the color red at intensities of 100 and 102 respectively are now
     *   interpreted as the same color for the purposes of the floodfill.
     * @param mixed $bordercolor ImagickPixel object containing the border
     *   color
     * @param int $x X start position of the floodfill
     * @param int $y Y start position of the floodfill
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function colorFloodfillImage($fill, $fuzz, $bordercolor, $x, $y){}

    /**
     * Blends the fill color with the image
     *
     * Blends the fill color with each pixel in the image.
     *
     * @param mixed $colorize ImagickPixel object or a string containing
     *   the colorize color
     * @param mixed $opacity ImagickPixel object or an float containing the
     *   opacity value. 1.0 is fully opaque and 0.0 is fully transparent.
     * @param bool $legacy
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function colorizeImage($colorize, $opacity, $legacy){}

    /**
     * Apply color transformation to an image. The method permits saturation
     * changes, hue rotation, luminance to alpha, and various other effects.
     * Although variable-sized transformation matrices can be used, typically
     * one uses a 5x5 matrix for an RGBA image and a 6x6 for CMYKA (or RGBA
     * with offsets). The matrix is similar to those used by Adobe Flash
     * except offsets are in column 6 rather than 5 (in support of CMYKA
     * images) and offsets are normalized (divide Flash offset by 255)
     *
     * @param array $color_matrix
     * @return bool
     **/
    public function colorMatrixImage($color_matrix){}

    /**
     * Combines one or more images into a single image
     *
     * Combines one or more images into a single image. The grayscale value
     * of the pixels of each image in the sequence is assigned in order to
     * the specified channels of the combined image. The typical ordering
     * would be image 1 => Red, 2 => Green, 3 => Blue, etc.
     *
     * @param int $channelType Provide any channel constant that is valid
     *   for your channel mode. To apply to more than one channel, combine
     *   channeltype constants using bitwise operators. Refer to this list of
     *   channel constants.
     * @return Imagick
     * @since PECL imagick 2.0.0
     **/
    function combineImages($channelType){}

    /**
     * Adds a comment to your image
     *
     * @param string $comment The comment to add
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function commentImage($comment){}

    /**
     * Returns the difference in one or more images
     *
     * Compares one or more images and returns the difference image.
     *
     * @param Imagick $image Imagick object containing the image to
     *   compare.
     * @param int $channelType Provide any channel constant that is valid
     *   for your channel mode. To apply to more than one channel, combine
     *   channeltype constants using bitwise operators. Refer to this list of
     *   channel constants.
     * @param int $metricType One of the metric type constants.
     * @return array Array consisting of new_wand and distortion.
     * @since PECL imagick 2.0.0
     **/
    function compareImageChannels($image, $channelType, $metricType){}

    /**
     * Returns the maximum bounding region between images
     *
     * Compares each image with the next in a sequence and returns the
     * maximum bounding region of any pixel differences it discovers.
     *
     * @param int $method One of the layer method constants.
     * @return Imagick
     * @since PECL imagick 2.0.0
     **/
    function compareImageLayers($method){}

    /**
     * Compares an image to a reconstructed image
     *
     * Returns an array containing a reconstructed image and the difference
     * between images.
     *
     * @param Imagick $compare An image to compare to.
     * @param int $metric Provide a valid metric type constant. Refer to
     *   this list of metric constants.
     * @return array Returns an array containing a reconstructed image and
     *   the difference between images.
     * @since PECL imagick 2.0.0
     **/
    function compareImages($compare, $metric){}

    /**
     * Composite one image onto another
     *
     * Composite one image onto another at the specified offset. Any extra
     * arguments needed for the compose algorithm should passed to
     * setImageArtifact with 'compose:args' as the first parameter and the
     * data as the second parameter.
     *
     * @param Imagick $composite_object Imagick object which holds the
     *   composite image
     * @param int $composite Composite operator. See Composite Operator
     *   Constants
     * @param int $x The column offset of the composited image
     * @param int $y The row offset of the composited image
     * @param int $channel Provide any channel constant that is valid for
     *   your channel mode. To apply to more than one channel, combine
     *   channeltype constants using bitwise operators. Refer to this list of
     *   channel constants.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function compositeImage($composite_object, $composite, $x, $y, $channel){}

    /**
     * Change the contrast of the image
     *
     * Enhances the intensity differences between the lighter and darker
     * elements of the image. Set sharpen to a value other than 0 to increase
     * the image contrast otherwise the contrast is reduced.
     *
     * @param bool $sharpen The sharpen value
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function contrastImage($sharpen){}

    /**
     * Enhances the contrast of a color image
     *
     * Enhances the contrast of a color image by adjusting the pixels color
     * to span the entire range of colors available.
     *
     * @param float $black_point The black point.
     * @param float $white_point The white point.
     * @param int $channel Provide any channel constant that is valid for
     *   your channel mode. To apply to more than one channel, combine
     *   channeltype constants using bitwise operators. Imagick::CHANNEL_ALL.
     *   Refer to this list of channel constants.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function contrastStretchImage($black_point, $white_point, $channel){}

    /**
     * Applies a custom convolution kernel to the image
     *
     * @param array $kernel The convolution kernel
     * @param int $channel Provide any channel constant that is valid for
     *   your channel mode. To apply to more than one channel, combine
     *   channeltype constants using bitwise operators. Refer to this list of
     *   channel constants.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function convolveImage($kernel, $channel){}

    /**
     * Get the number of images
     *
     * Returns the number of images.
     *
     * @param int $mode An unused argument. Currently there is a
     *   non-particularly well defined feature in PHP where calling count()
     *   on a countable object might (or might not) require this method to
     *   accept a parameter. This parameter is here to be conformant with the
     *   interface of countable, even though the param is not used.
     * @return int Returns the number of images.
     **/
    public function count($mode){}

    /**
     * Extracts a region of the image
     *
     * @param int $width The width of the crop
     * @param int $height The height of the crop
     * @param int $x The X coordinate of the cropped region's top left
     *   corner
     * @param int $y The Y coordinate of the cropped region's top left
     *   corner
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function cropImage($width, $height, $x, $y){}

    /**
     * Creates a crop thumbnail
     *
     * Creates a fixed size thumbnail by first scaling the image up or down
     * and cropping a specified area from the center.
     *
     * @param int $width The width of the thumbnail
     * @param int $height The Height of the thumbnail
     * @param bool $legacy
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function cropThumbnailImage($width, $height, $legacy){}

    /**
     * Returns a reference to the current Imagick object
     *
     * Returns reference to the current imagick object with image pointer at
     * the correct sequence.
     *
     * @return Imagick Returns self on success.
     * @since PECL imagick 2.0.0
     **/
    function current(){}

    /**
     * Displaces an image's colormap
     *
     * Displaces an image's colormap by a given number of positions. If you
     * cycle the colormap a number of times you can produce a psychedelic
     * effect.
     *
     * @param int $displace The amount to displace the colormap.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function cycleColormapImage($displace){}

    /**
     * Deciphers an image
     *
     * Deciphers image that has been enciphered before. The image must be
     * enciphered using {@link Imagick::encipherImage}.
     *
     * @param string $passphrase The passphrase
     * @return bool
     **/
    function decipherImage($passphrase){}

    /**
     * Returns certain pixel differences between images
     *
     * Compares each image with the next in a sequence and returns the
     * maximum bounding region of any pixel differences it discovers.
     *
     * @return Imagick Returns a new Imagick object on success.
     * @since PECL imagick 2.0.0
     **/
    function deconstructImages(){}

    /**
     * Delete image artifact
     *
     * Deletes an artifact associated with the image. The difference between
     * image properties and image artifacts is that properties are public and
     * artifacts are private.
     *
     * @param string $artifact The name of the artifact to delete
     * @return bool
     **/
    function deleteImageArtifact($artifact){}

    /**
     * Deletes an image property.
     *
     * @param string $name The name of the property to delete.
     * @return bool
     **/
    public function deleteImageProperty($name){}

    /**
     * Removes skew from the image
     *
     * This method can be used to remove skew from for example scanned images
     * where the paper was not properly placed on the scanning surface.
     *
     * @param float $threshold Deskew threshold
     * @return bool
     **/
    public function deskewImage($threshold){}

    /**
     * Reduces the speckle noise in an image
     *
     * Reduces the speckle noise in an image while preserving the edges of
     * the original image.
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function despeckleImage(){}

    /**
     * Destroys the Imagick object
     *
     * Destroys the Imagick object and frees all resources associated with
     * it. This method is deprecated in favour of Imagick::clear.
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function destroy(){}

    /**
     * Displays an image
     *
     * This method displays an image on a X server.
     *
     * @param string $servername The X server name
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function displayImage($servername){}

    /**
     * Displays an image or image sequence
     *
     * Displays an image or image sequence on a X server.
     *
     * @param string $servername The X server name
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function displayImages($servername){}

    /**
     * Distorts an image using various distortion methods
     *
     * Distorts an image using various distortion methods, by mapping color
     * lookups of the source image to a new destination image usually of the
     * same size as the source image, unless 'bestfit' is set to TRUE.
     *
     * If 'bestfit' is enabled, and distortion allows it, the destination
     * image is adjusted to ensure the whole source 'image' will just fit
     * within the final destination image, which will be sized and offset
     * accordingly. Also in many cases the virtual offset of the source image
     * will be taken into account in the mapping.
     *
     * @param int $method The method of image distortion. See distortion
     *   constants
     * @param array $arguments The arguments for this distortion method
     * @param bool $bestfit Attempt to resize destination to fit distorted
     *   source
     * @return bool
     * @since PECL imagick 2.0.1
     **/
    function distortImage($method, $arguments, $bestfit){}

    /**
     * Renders the ImagickDraw object on the current image
     *
     * @param ImagickDraw $draw The drawing operations to render on the
     *   image.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function drawImage($draw){}

    /**
     * Enhance edges within the image
     *
     * Enhance edges within the image with a convolution filter of the given
     * radius. Use radius 0 and it will be auto-selected.
     *
     * @param float $radius The radius of the operation.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function edgeImage($radius){}

    /**
     * Returns a grayscale image with a three-dimensional effect
     *
     * Returns a grayscale image with a three-dimensional effect. We convolve
     * the image with a Gaussian operator of the given radius and standard
     * deviation (sigma). For reasonable results, radius should be larger
     * than sigma. Use a radius of 0 and it will choose a suitable radius for
     * you.
     *
     * @param float $radius The radius of the effect
     * @param float $sigma The sigma of the effect
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function embossImage($radius, $sigma){}

    /**
     * Enciphers an image
     *
     * Converts plain pixels to enciphered pixels. The image is not readable
     * until it has been deciphered using {@link Imagick::decipherImage}
     *
     * @param string $passphrase The passphrase
     * @return bool
     **/
    function encipherImage($passphrase){}

    /**
     * Improves the quality of a noisy image
     *
     * Applies a digital filter that improves the quality of a noisy image.
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function enhanceImage(){}

    /**
     * Equalizes the image histogram
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function equalizeImage(){}

    /**
     * Applies an expression to an image
     *
     * Applys an arithmetic, relational, or logical expression to an image.
     * Use these operators to lighten or darken an image, to increase or
     * decrease contrast in an image, or to produce the "negative" of an
     * image.
     *
     * @param int $op The evaluation operator
     * @param float $constant The value of the operator
     * @param int $channel Provide any channel constant that is valid for
     *   your channel mode. To apply to more than one channel, combine
     *   channeltype constants using bitwise operators. Refer to this list of
     *   channel constants.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function evaluateImage($op, $constant, $channel){}

    /**
     * Exports raw image pixels
     *
     * Exports image pixels into an array. The map defines the ordering of
     * the exported pixels. The size of the returned array is width * height
     * * strlen(map).
     *
     * @param int $x X-coordinate of the exported area
     * @param int $y Y-coordinate of the exported area
     * @param int $width Width of the exported aread
     * @param int $height Height of the exported area
     * @param string $map Ordering of the exported pixels. For example
     *   "RGB". Valid characters for the map are R, G, B, A, O, C, Y, M, K, I
     *   and P.
     * @param int $STORAGE Refer to this list of pixel type constants
     * @return array Returns an array containing the pixels values.
     **/
    public function exportImagePixels($x, $y, $width, $height, $map, $STORAGE){}

    /**
     * Set image size
     *
     * Comfortability method for setting image size. The method sets the
     * image size and allows setting x,y coordinates where the new area
     * begins.
     *
     * @param int $width The new width
     * @param int $height The new height
     * @param int $x X position for the new size
     * @param int $y Y position for the new size
     * @return bool
     **/
    function extentImage($width, $height, $x, $y){}

    /**
     * Applies a custom convolution kernel to the image.
     *
     * @param ImagickKernel $ImagickKernel An instance of ImagickKernel
     *   that represents either a single kernel or a linked series of
     *   kernels.
     * @param int $channel
     * @return bool
     **/
    public function filter($ImagickKernel, $channel){}

    /**
     * Merges a sequence of images
     *
     * Merges a sequence of images. This is useful for combining Photoshop
     * layers into a single image.
     *
     * @return Imagick
     * @since PECL imagick 2.0.0
     **/
    function flattenImages(){}

    /**
     * Creates a vertical mirror image
     *
     * Creates a vertical mirror image by reflecting the pixels around the
     * central x-axis.
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function flipImage(){}

    /**
     * Changes the color value of any pixel that matches target
     *
     * Changes the color value of any pixel that matches target and is an
     * immediate neighbor. This method is a replacement for deprecated {@link
     * Imagick::paintFloodFillImage}.
     *
     * @param mixed $fill ImagickPixel object or a string containing the
     *   fill color
     * @param float $fuzz
     * @param mixed $target ImagickPixel object or a string containing the
     *   target color to paint
     * @param int $x X start position of the floodfill
     * @param int $y Y start position of the floodfill
     * @param bool $invert If TRUE paints any pixel that does not match the
     *   target color.
     * @param int $channel
     * @return bool
     **/
    function floodFillPaintImage($fill, $fuzz, $target, $x, $y, $invert, $channel){}

    /**
     * Creates a horizontal mirror image
     *
     * Creates a horizontal mirror image by reflecting the pixels around the
     * central y-axis.
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function flopImage(){}

    /**
     * Implements the discrete Fourier transform (DFT) of the image either as
     * a magnitude / phase or real / imaginary image pair.
     *
     * @param bool $magnitude If true, return as magnitude / phase pair
     *   otherwise a real / imaginary image pair.
     * @return bool
     **/
    public function forwardFourierTransformimage($magnitude){}

    /**
     * Adds a simulated three-dimensional border
     *
     * Adds a simulated three-dimensional border around the image. The width
     * and height specify the border width of the vertical and horizontal
     * sides of the frame. The inner and outer bevels indicate the width of
     * the inner and outer shadows of the frame.
     *
     * @param mixed $matte_color ImagickPixel object or a string
     *   representing the matte color
     * @param int $width The width of the border
     * @param int $height The height of the border
     * @param int $inner_bevel The inner bevel width
     * @param int $outer_bevel The outer bevel width
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function frameImage($matte_color, $width, $height, $inner_bevel, $outer_bevel){}

    /**
     * Applies a function on the image
     *
     * Applies an arithmetic, relational, or logical expression to a pseudo
     * image.
     *
     * See also ImageMagick v6 Examples - Image Transformations — Function,
     * Multi-Argument Evaluate
     *
     * @param int $function Refer to this list of function constants
     * @param array $arguments Array of arguments to pass to this function.
     * @param int $channel
     * @return bool
     **/
    public function functionImage($function, $arguments, $channel){}

    /**
     * Evaluate expression for each pixel in the image
     *
     * Evaluate expression for each pixel in the image. Consult The Fx
     * Special Effects Image Operator for more information.
     *
     * @param string $expression The expression.
     * @param int $channel Provide any channel constant that is valid for
     *   your channel mode. To apply to more than one channel, combine
     *   channeltype constants using bitwise operators. Refer to this list of
     *   channel constants.
     * @return Imagick
     * @since PECL imagick 2.0.0
     **/
    function fxImage($expression, $channel){}

    /**
     * Gamma-corrects an image
     *
     * Gamma-corrects an image. The same image viewed on different devices
     * will have perceptual differences in the way the image's intensities
     * are represented on the screen. Specify individual gamma levels for the
     * red, green, and blue channels, or adjust all three with the gamma
     * parameter. Values typically range from 0.8 to 2.3.
     *
     * @param float $gamma The amount of gamma-correction.
     * @param int $channel Provide any channel constant that is valid for
     *   your channel mode. To apply to more than one channel, combine
     *   channeltype constants using bitwise operators. Refer to this list of
     *   channel constants.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function gammaImage($gamma, $channel){}

    /**
     * Blurs an image
     *
     * Blurs an image. We convolve the image with a Gaussian operator of the
     * given radius and standard deviation (sigma). For reasonable results,
     * the radius should be larger than sigma. Use a radius of 0 and selects
     * a suitable radius for you.
     *
     * @param float $radius The radius of the Gaussian, in pixels, not
     *   counting the center pixel.
     * @param float $sigma The standard deviation of the Gaussian, in
     *   pixels.
     * @param int $channel Provide any channel constant that is valid for
     *   your channel mode. To apply to more than one channel, combine
     *   channeltype constants using bitwise operators. Refer to this list of
     *   channel constants.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function gaussianBlurImage($radius, $sigma, $channel){}

    /**
     * Gets the colorspace
     *
     * Gets the global colorspace value.
     *
     * @return int Returns an integer which can be compared against
     *   COLORSPACE constants.
     **/
    function getColorspace(){}

    /**
     * Gets the object compression type
     *
     * @return int Returns the compression constant
     * @since PECL imagick 2.0.0
     **/
    function getCompression(){}

    /**
     * Gets the object compression quality
     *
     * @return int Returns integer describing the compression quality
     * @since PECL imagick 2.0.0
     **/
    function getCompressionQuality(){}

    /**
     * Returns the ImageMagick API copyright as a string
     *
     * @return string Returns a string containing the copyright notice of
     *   Imagemagick and Magickwand C API.
     * @since PECL imagick 2.0.0
     **/
    function getCopyright(){}

    /**
     * The filename associated with an image sequence
     *
     * Returns the filename associated with an image sequence.
     *
     * @return string Returns a string on success.
     * @since PECL imagick 2.0.0
     **/
    function getFilename(){}

    /**
     * Gets font
     *
     * Returns the objects font property.
     *
     * @return string Returns the string containing the font name or FALSE
     *   if not font is set.
     * @since PECL imagick 2.1.0
     **/
    function getFont(){}

    /**
     * Returns the format of the Imagick object
     *
     * @return string Returns the format of the image.
     * @since PECL imagick 2.0.0
     **/
    function getFormat(){}

    /**
     * Gets the gravity
     *
     * Gets the global gravity property for the Imagick object.
     *
     * @return int Returns the gravity property. Refer to the list of
     *   gravity constants.
     **/
    function getGravity(){}

    /**
     * Returns the ImageMagick home URL
     *
     * @return string Returns a link to the imagemagick homepage.
     * @since PECL imagick 2.0.0
     **/
    function getHomeURL(){}

    /**
     * Returns a new Imagick object
     *
     * Returns a new Imagick object with the current image sequence.
     *
     * @return Imagick Returns a new Imagick object with the current image
     *   sequence.
     * @since PECL imagick 2.0.0
     **/
    function getImage(){}

    /**
     * Gets the image alpha channel
     *
     * Gets the image alpha channel value. The returned value is one of the
     * alpha channel constants.
     *
     * @return int Returns a constant defining the current alpha channel
     *   value. Refer to this list of alpha channel constants.
     **/
    function getImageAlphaChannel(){}

    /**
     * Get image artifact
     *
     * Gets an artifact associated with the image. The difference between
     * image properties and image artifacts is that properties are public and
     * artifacts are private.
     *
     * @param string $artifact The name of the artifact
     * @return string Returns the artifact value on success.
     **/
    function getImageArtifact($artifact){}

    /**
     * Returns a named attribute.
     *
     * @param string $key The key of the attribute to get.
     * @return string
     **/
    public function getImageAttribute($key){}

    /**
     * Returns the image background color
     *
     * @return ImagickPixel Returns an ImagickPixel set to the background
     *   color of the image.
     * @since PECL imagick 2.0.0
     **/
    function getImageBackgroundColor(){}

    /**
     * Returns the image sequence as a blob
     *
     * Implements direct to memory image formats. It returns the image
     * sequence as a string. The format of the image determines the format of
     * the returned blob (GIF, JPEG, PNG, etc.). To return a different image
     * format, use Imagick::setImageFormat().
     *
     * @return string Returns a string containing the image.
     * @since PECL imagick 2.0.0
     **/
    function getImageBlob(){}

    /**
     * Returns the chromaticy blue primary point
     *
     * Returns the chromaticity blue primary point for the image.
     *
     * @return array Array consisting of "x" and "y" coordinates of point.
     * @since PECL imagick 2.0.0
     **/
    function getImageBluePrimary(){}

    /**
     * Returns the image border color
     *
     * @return ImagickPixel
     * @since PECL imagick 2.0.0
     **/
    function getImageBorderColor(){}

    /**
     * Gets the depth for a particular image channel
     *
     * @param int $channel
     * @return int
     * @since PECL imagick 2.0.0
     **/
    function getImageChannelDepth($channel){}

    /**
     * Compares image channels of an image to a reconstructed image
     *
     * Compares one or more image channels of an image to a reconstructed
     * image and returns the specified distortion metric.
     *
     * @param Imagick $reference Imagick object to compare to.
     * @param int $channel Provide any channel constant that is valid for
     *   your channel mode. To apply to more than one channel, combine
     *   channeltype constants using bitwise operators. Refer to this list of
     *   channel constants.
     * @param int $metric One of the metric type constants.
     * @return float
     * @since PECL imagick 2.0.0
     **/
    function getImageChannelDistortion($reference, $channel, $metric){}

    /**
     * Gets channel distortions
     *
     * Compares one or more image channels of an image to a reconstructed
     * image and returns the specified distortion metrics
     *
     * @param Imagick $reference Imagick object containing the reference
     *   image
     * @param int $metric Refer to this list of metric type constants.
     * @param int $channel
     * @return float Returns a double describing the channel distortion.
     **/
    function getImageChannelDistortions($reference, $metric, $channel){}

    /**
     * Gets the extrema for one or more image channels
     *
     * Gets the extrema for one or more image channels. Return value is an
     * associative array with the keys "minima" and "maxima".
     *
     * @param int $channel Provide any channel constant that is valid for
     *   your channel mode. To apply to more than one channel, combine
     *   channeltype constants using bitwise operators. Refer to this list of
     *   channel constants.
     * @return array
     * @since PECL imagick 2.0.0
     **/
    function getImageChannelExtrema($channel){}

    /**
     * The getImageChannelKurtosis purpose
     *
     * Get the kurtosis and skewness of a specific channel.
     *
     * @param int $channel
     * @return array Returns an array with kurtosis and skewness members.
     **/
    public function getImageChannelKurtosis($channel){}

    /**
     * Gets the mean and standard deviation
     *
     * Gets the mean and standard deviation of one or more image channels.
     * Return value is an associative array with the keys "mean" and
     * "standardDeviation".
     *
     * @param int $channel Provide any channel constant that is valid for
     *   your channel mode. To apply to more than one channel, combine
     *   channeltype constants using bitwise operators. Refer to this list of
     *   channel constants.
     * @return array
     * @since PECL imagick 2.0.0
     **/
    function getImageChannelMean($channel){}

    /**
     * Gets channel range
     *
     * Gets the range for one or more image channels.
     *
     * @param int $channel
     * @return array Returns an array containing minima and maxima values
     *   of the channel(s).
     * @since PECL imagick 2.2.1
     **/
    function getImageChannelRange($channel){}

    /**
     * Returns statistics for each channel in the image
     *
     * Returns statistics for each channel in the image. The statistics
     * include the channel depth, its minima and maxima, the mean, and the
     * standard deviation. You can access the red channel mean, for example,
     * like this:
     *
     * @return array
     * @since PECL imagick 2.0.0
     **/
    function getImageChannelStatistics(){}

    /**
     * Gets image clip mask
     *
     * Returns the image clip mask. The clip mask is an Imagick object
     * containing the clip mask.
     *
     * @return Imagick Returns an Imagick object containing the clip mask.
     **/
    function getImageClipMask(){}

    /**
     * Returns the color of the specified colormap index
     *
     * @param int $index The offset into the image colormap.
     * @return ImagickPixel
     * @since PECL imagick 2.0.0
     **/
    function getImageColormapColor($index){}

    /**
     * Gets the number of unique colors in the image
     *
     * @return int Returns an integer, the number of unique colors in the
     *   image.
     * @since PECL imagick 2.0.0
     **/
    function getImageColors(){}

    /**
     * Gets the image colorspace
     *
     * @return int Returns an integer which can be compared against
     *   COLORSPACE constants.
     * @since PECL imagick 2.0.0
     **/
    function getImageColorspace(){}

    /**
     * Returns the composite operator associated with the image
     *
     * @return int
     * @since PECL imagick 2.0.0
     **/
    function getImageCompose(){}

    /**
     * Gets the current image's compression type
     *
     * @return int Returns the compression constant
     * @since PECL imagick 2.2.2
     **/
    function getImageCompression(){}

    /**
     * Gets the current image's compression quality
     *
     * @return int Returns integer describing the images compression
     *   quality
     * @since PECL imagick 2.2.2
     **/
    function getImageCompressionQuality(){}

    /**
     * Gets the image delay
     *
     * @return int Returns the image delay.
     * @since PECL imagick 2.0.0
     **/
    function getImageDelay(){}

    /**
     * Gets the image depth
     *
     * @return int The image depth.
     **/
    function getImageDepth(){}

    /**
     * Gets the image disposal method
     *
     * @return int Returns the dispose method on success.
     * @since PECL imagick 2.0.0
     **/
    function getImageDispose(){}

    /**
     * Compares an image to a reconstructed image
     *
     * Compares an image to a reconstructed image and returns the specified
     * distortion metric.
     *
     * @param MagickWand $reference Imagick object to compare to.
     * @param int $metric One of the metric type constants.
     * @return float Returns the distortion metric used on the image (or
     *   the best guess thereof).
     * @since PECL imagick 2.0.0
     **/
    function getImageDistortion($reference, $metric){}

    /**
     * Gets the extrema for the image
     *
     * Gets the extrema for the image. Returns an associative array with the
     * keys "min" and "max".
     *
     * @return array Returns an associative array with the keys "min" and
     *   "max".
     * @since PECL imagick 2.0.0
     **/
    function getImageExtrema(){}

    /**
     * Returns the filename of a particular image in a sequence
     *
     * @return string Returns a string with the filename of the image.
     * @since PECL imagick 2.0.0
     **/
    function getImageFilename(){}

    /**
     * Returns the format of a particular image in a sequence
     *
     * @return string Returns a string containing the image format on
     *   success.
     * @since PECL imagick 2.0.0
     **/
    function getImageFormat(){}

    /**
     * Gets the image gamma
     *
     * @return float Returns the image gamma on success.
     * @since PECL imagick 2.0.0
     **/
    function getImageGamma(){}

    /**
     * Gets the width and height as an associative array
     *
     * Returns the width and height as an associative array.
     *
     * @return array Returns an array with the width/height of the image.
     * @since PECL imagick 2.0.0
     **/
    function getImageGeometry(){}

    /**
     * Gets the image gravity
     *
     * Gets the current gravity value of the image. Unlike {@link
     * Imagick::getGravity}, this method returns the gravity defined for the
     * current image sequence.
     *
     * @return int Returns the images gravity property. Refer to the list
     *   of gravity constants.
     **/
    function getImageGravity(){}

    /**
     * Returns the chromaticy green primary point
     *
     * Returns the chromaticity green primary point. Returns an array with
     * the keys "x" and "y".
     *
     * @return array Returns an array with the keys "x" and "y" on success,
     *   throws an ImagickException on failure.
     * @since PECL imagick 2.0.0
     **/
    function getImageGreenPrimary(){}

    /**
     * Returns the image height
     *
     * @return int Returns the image height in pixels.
     * @since PECL imagick 2.0.0
     **/
    function getImageHeight(){}

    /**
     * Gets the image histogram
     *
     * Returns the image histogram as an array of ImagickPixel objects.
     *
     * @return array Returns the image histogram as an array of
     *   ImagickPixel objects.
     * @since PECL imagick 2.0.0
     **/
    function getImageHistogram(){}

    /**
     * Gets the index of the current active image
     *
     * Returns the index of the current active image within the Imagick
     * object. This method has been deprecated. See {@link
     * Imagick::getIteratorIndex}.
     *
     * @return int Returns an integer containing the index of the image in
     *   the stack.
     * @since PECL imagick 2.0.0
     **/
    function getImageIndex(){}

    /**
     * Gets the image interlace scheme
     *
     * @return int Returns the interlace scheme as an integer on success.
     * @since PECL imagick 2.0.0
     **/
    function getImageInterlaceScheme(){}

    /**
     * Returns the interpolation method
     *
     * Returns the interpolation method for the specified image. The method
     * is one of the Imagick::INTERPOLATE_* constants.
     *
     * @return int Returns the interpolate method on success.
     * @since PECL imagick 2.0.0
     **/
    function getImageInterpolateMethod(){}

    /**
     * Gets the image iterations
     *
     * @return int Returns the image iterations as an integer.
     * @since PECL imagick 2.0.0
     **/
    function getImageIterations(){}

    /**
     * Returns the image length in bytes
     *
     * @return int Returns an int containing the current image size.
     * @since PECL imagick 2.0.0
     **/
    function getImageLength(){}

    /**
     * Returns a string containing the ImageMagick license
     *
     * @return string Returns a string containing the ImageMagick license.
     * @since PECL imagick 2.0.0
     **/
    function getImageMagickLicense(){}

    /**
     * Return if the image has a matte channel
     *
     * Returns TRUE if the image has a matte channel otherwise false.
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function getImageMatte(){}

    /**
     * Returns the image matte color
     *
     * @return ImagickPixel Returns ImagickPixel object on success.
     * @since PECL imagick 2.0.0
     **/
    function getImageMatteColor(){}

    /**
     * Returns the image mime-type.
     *
     * @return string
     **/
    public function getImageMimeType(){}

    /**
     * Gets the image orientation
     *
     * Gets the image orientation. The return value is one of the orientation
     * constants.
     *
     * @return int Returns an int on success.
     * @since PECL imagick 2.0.0
     **/
    function getImageOrientation(){}

    /**
     * Returns the page geometry
     *
     * Returns the page geometry associated with the image in an array with
     * the keys "width", "height", "x", and "y".
     *
     * @return array Returns the page geometry associated with the image in
     *   an array with the keys "width", "height", "x", and "y".
     * @since PECL imagick 2.0.0
     **/
    function getImagePage(){}

    /**
     * Returns the color of the specified pixel
     *
     * @param int $x The x-coordinate of the pixel
     * @param int $y The y-coordinate of the pixel
     * @return ImagickPixel Returns an ImagickPixel instance for the color
     *   at the coordinates given.
     * @since PECL imagick 2.0.0
     **/
    function getImagePixelColor($x, $y){}

    /**
     * Returns the named image profile
     *
     * @param string $name The name of the profile to return.
     * @return string Returns a string containing the image profile.
     * @since PECL imagick 2.0.0
     **/
    function getImageProfile($name){}

    /**
     * Returns the image profiles
     *
     * Returns all associated profiles that match the pattern. If FALSE is
     * passed as second parameter only the profile names are returned.
     *
     * @param string $pattern The pattern for profile names.
     * @param bool $include_values Whether to return only profile names. If
     *   FALSE then only profile names will be returned.
     * @return array Returns an array containing the image profiles or
     *   profile names.
     * @since PECL imagick 2.0.0
     **/
    function getImageProfiles($pattern, $include_values){}

    /**
     * Returns the image properties
     *
     * Returns all associated properties that match the pattern. If FALSE is
     * passed as second parameter only the property names are returned.
     *
     * @param string $pattern The pattern for property names.
     * @param bool $include_values Whether to return only property names.
     *   If FALSE then only property names will be returned.
     * @return array Returns an array containing the image properties or
     *   property names.
     * @since PECL imagick 2.0.0
     **/
    function getImageProperties($pattern, $include_values){}

    /**
     * Returns the named image property
     *
     * @param string $name name of the property (for example Exif:DateTime)
     * @return string Returns a string containing the image property, false
     *   if a property with the given name does not exist.
     * @since PECL imagick 2.0.0
     **/
    function getImageProperty($name){}

    /**
     * Returns the chromaticity red primary point
     *
     * Returns the chromaticity red primary point as an array with the keys
     * "x" and "y".
     *
     * @return array Returns the chromaticity red primary point as an array
     *   with the keys "x" and "y".
     * @since PECL imagick 2.0.0
     **/
    function getImageRedPrimary(){}

    /**
     * Extracts a region of the image
     *
     * Extracts a region of the image and returns it as a new Imagick object.
     *
     * @param int $width The width of the extracted region.
     * @param int $height The height of the extracted region.
     * @param int $x X-coordinate of the top-left corner of the extracted
     *   region.
     * @param int $y Y-coordinate of the top-left corner of the extracted
     *   region.
     * @return Imagick Extracts a region of the image and returns it as a
     *   new wand.
     * @since PECL imagick 2.0.0
     **/
    function getImageRegion($width, $height, $x, $y){}

    /**
     * Gets the image rendering intent
     *
     * @return int Returns the image rendering intent.
     * @since PECL imagick 2.0.0
     **/
    function getImageRenderingIntent(){}

    /**
     * Gets the image X and Y resolution
     *
     * @return array Returns the resolution as an array.
     * @since PECL imagick 2.0.0
     **/
    function getImageResolution(){}

    /**
     * Returns all image sequences as a blob
     *
     * Implements direct to memory image formats. It returns all image
     * sequences as a string. The format of the image determines the format
     * of the returned blob (GIF, JPEG, PNG, etc.). To return a different
     * image format, use Imagick::setImageFormat().
     *
     * @return string Returns a string containing the images. On failure,
     *   throws ImagickException.
     * @since PECL imagick 2.0.0
     **/
    function getImagesBlob(){}

    /**
     * Gets the image scene
     *
     * @return int Returns the image scene.
     * @since PECL imagick 2.0.0
     **/
    function getImageScene(){}

    /**
     * Generates an SHA-256 message digest
     *
     * Generates an SHA-256 message digest for the image pixel stream.
     *
     * @return string Returns a string containing the SHA-256 hash of the
     *   file.
     * @since PECL imagick 2.0.0
     **/
    function getImageSignature(){}

    /**
     * Returns the image length in bytes
     *
     * Returns the image length in bytes. Deprecated in favour of
     * Imagick::getImageLength()
     *
     * @return int Returns an int containing the current image size.
     * @since PECL imagick 2.0.0
     **/
    function getImageSize(){}

    /**
     * Gets the image ticks-per-second
     *
     * @return int Returns the image ticks-per-second.
     * @since PECL imagick 2.0.0
     **/
    function getImageTicksPerSecond(){}

    /**
     * Gets the image total ink density
     *
     * @return float Returns the image total ink density of the image.
     * @since PECL imagick 2.0.0
     **/
    function getImageTotalInkDensity(){}

    /**
     * Gets the potential image type
     *
     * @return int Returns the potential image type.
     *   imagick::IMGTYPE_UNDEFINED imagick::IMGTYPE_BILEVEL
     *   imagick::IMGTYPE_GRAYSCALE imagick::IMGTYPE_GRAYSCALEMATTE
     *   imagick::IMGTYPE_PALETTE imagick::IMGTYPE_PALETTEMATTE
     *   imagick::IMGTYPE_TRUECOLOR imagick::IMGTYPE_TRUECOLORMATTE
     *   imagick::IMGTYPE_COLORSEPARATION
     *   imagick::IMGTYPE_COLORSEPARATIONMATTE imagick::IMGTYPE_OPTIMIZE
     **/
    function getImageType(){}

    /**
     * Gets the image units of resolution
     *
     * @return int Returns the image units of resolution.
     * @since PECL imagick 2.0.0
     **/
    function getImageUnits(){}

    /**
     * Returns the virtual pixel method
     *
     * Returns the virtual pixel method for the specified image.
     *
     * @return int Returns the virtual pixel method on success.
     * @since PECL imagick 2.0.0
     **/
    function getImageVirtualPixelMethod(){}

    /**
     * Returns the chromaticity white point
     *
     * Returns the chromaticity white point as an associative array with the
     * keys "x" and "y".
     *
     * @return array Returns the chromaticity white point as an associative
     *   array with the keys "x" and "y".
     * @since PECL imagick 2.0.0
     **/
    function getImageWhitePoint(){}

    /**
     * Returns the image width
     *
     * @return int Returns the image width.
     * @since PECL imagick 2.0.0
     **/
    function getImageWidth(){}

    /**
     * Gets the object interlace scheme
     *
     * @return int Gets the wand interlace scheme.
     * @since PECL imagick 2.0.0
     **/
    function getInterlaceScheme(){}

    /**
     * Gets the index of the current active image
     *
     * Returns the index of the current active image within the Imagick
     * object.
     *
     * @return int Returns an integer containing the index of the image in
     *   the stack.
     * @since PECL imagick 2.0.0
     **/
    function getIteratorIndex(){}

    /**
     * Returns the number of images in the object
     *
     * Returns the number of images associated with Imagick object.
     *
     * @return int Returns the number of images associated with Imagick
     *   object.
     * @since PECL imagick 2.0.0
     **/
    function getNumberImages(){}

    /**
     * Returns a value associated with the specified key
     *
     * Returns a value associated within the object for the specified key.
     *
     * @param string $key The name of the option
     * @return string Returns a value associated with a wand and the
     *   specified key.
     * @since PECL imagick 2.0.0
     **/
    function getOption($key){}

    /**
     * Returns the ImageMagick package name
     *
     * @return string Returns the ImageMagick package name as a string.
     * @since PECL imagick 2.0.0
     **/
    function getPackageName(){}

    /**
     * Returns the page geometry
     *
     * Returns the page geometry associated with the Imagick object in an
     * associative array with the keys "width", "height", "x", and "y".
     *
     * @return array Returns the page geometry associated with the Imagick
     *   object in an associative array with the keys "width", "height", "x",
     *   and "y", throwing ImagickException on error.
     * @since PECL imagick 2.0.0
     **/
    function getPage(){}

    /**
     * Returns a MagickPixelIterator
     *
     * @return ImagickPixelIterator Returns an ImagickPixelIterator on
     *   success.
     * @since PECL imagick 2.0.0
     **/
    function getPixelIterator(){}

    /**
     * Get an ImagickPixelIterator for an image section
     *
     * @param int $x The x-coordinate of the region.
     * @param int $y The y-coordinate of the region.
     * @param int $columns The width of the region.
     * @param int $rows The height of the region.
     * @return ImagickPixelIterator Returns an ImagickPixelIterator for an
     *   image section.
     * @since PECL imagick 2.0.0
     **/
    function getPixelRegionIterator($x, $y, $columns, $rows){}

    /**
     * Gets point size
     *
     * Returns the objects point size property.
     *
     * @return float Returns a containing the point size.
     **/
    function getPointSize(){}

    /**
     * Returns the ImageMagick quantum range as an integer.
     *
     * @return int
     **/
    public static function getQuantum(){}

    /**
     * Gets the quantum depth
     *
     * Returns the Imagick quantum depth as a string.
     *
     * @return array Returns the Imagick quantum depth as a string.
     * @since PECL imagick 2.0.0
     **/
    function getQuantumDepth(){}

    /**
     * Returns the Imagick quantum range
     *
     * Returns the quantum range for the Imagick instance.
     *
     * @return array Returns an associative array containing the quantum
     *   range as an integer ("quantumRangeLong") and as a string
     *   ("quantumRangeString").
     * @since PECL imagick 2.0.0
     **/
    function getQuantumRange(){}

    /**
     * Get the StringRegistry entry for the named key or false if not set.
     *
     * @param string $key The entry to get.
     * @return string
     **/
    public static function getRegistry($key){}

    /**
     * Returns the ImageMagick release date
     *
     * Returns the ImageMagick release date as a string.
     *
     * @return string Returns the ImageMagick release date as a string.
     * @since PECL imagick 2.0.0
     **/
    function getReleaseDate(){}

    /**
     * Returns the specified resource's memory usage
     *
     * Returns the specified resource's memory usage in megabytes.
     *
     * @param int $type Refer to the list of resourcetype constants.
     * @return int Returns the specified resource's memory usage in
     *   megabytes.
     * @since PECL imagick 2.0.0
     **/
    function getResource($type){}

    /**
     * Returns the specified resource limit
     *
     * @param int $type Refer to the list of resourcetype constants.
     * @return int Returns the specified resource limit in megabytes.
     * @since PECL imagick 2.0.0
     **/
    function getResourceLimit($type){}

    /**
     * Gets the horizontal and vertical sampling factor
     *
     * @return array Returns an associative array with the horizontal and
     *   vertical sampling factors of the image.
     * @since PECL imagick 2.0.0
     **/
    function getSamplingFactors(){}

    /**
     * Returns the size associated with the Imagick object
     *
     * Get the size in pixels associated with the Imagick object, previously
     * set by {@link Imagick::setSize}.
     *
     * @return array Returns the size associated with the Imagick object as
     *   an array with the keys "columns" and "rows".
     * @since PECL imagick 2.0.0
     **/
    function getSize(){}

    /**
     * Returns the size offset
     *
     * Returns the size offset associated with the Imagick object.
     *
     * @return int Returns the size offset associated with the Imagick
     *   object.
     * @since PECL imagick 2.0.0
     **/
    function getSizeOffset(){}

    /**
     * Returns the ImageMagick API version
     *
     * Returns the ImageMagick API version as a string and as a number.
     *
     * @return array Returns the ImageMagick API version as a string and as
     *   a number.
     * @since PECL imagick 2.0.0
     **/
    function getVersion(){}

    /**
     * Replaces colors in the image
     *
     * Replaces colors in the image using a Hald lookup table. Hald images
     * can be created using HALD color coder.
     *
     * @param Imagick $clut Imagick object containing the Hald lookup
     *   image.
     * @param int $channel
     * @return bool
     **/
    public function haldClutImage($clut, $channel){}

    /**
     * Checks if the object has more images
     *
     * Returns TRUE if the object has more images when traversing the list in
     * the forward direction.
     *
     * @return bool Returns TRUE if the object has more images when
     *   traversing the list in the forward direction, returns FALSE if there
     *   are none.
     * @since PECL imagick 2.0.0
     **/
    function hasNextImage(){}

    /**
     * Checks if the object has a previous image
     *
     * Returns TRUE if the object has more images when traversing the list in
     * the reverse direction
     *
     * @return bool Returns TRUE if the object has more images when
     *   traversing the list in the reverse direction, returns FALSE if there
     *   are none.
     * @since PECL imagick 2.0.0
     **/
    function hasPreviousImage(){}

    /**
     * Replaces any embedded formatting characters with the appropriate image
     * property and returns the interpreted text. See
     * http://www.imagemagick.org/script/escape.php for escape sequences.
     *
     * @param string $embedText A string containing formatting sequences
     *   e.g. "Trim box: %@ number of unique colors: %k".
     * @return string Returns format.
     **/
    public function identifyFormat($embedText){}

    /**
     * Identifies an image and fetches attributes
     *
     * Identifies an image and returns the attributes. Attributes include the
     * image width, height, size, and others.
     *
     * @param bool $appendRawOutput If TRUE then the raw output is appended
     *   to the array.
     * @return array Identifies an image and returns the attributes.
     *   Attributes include the image width, height, size, and others.
     * @since PECL imagick 2.0.0
     **/
    function identifyImage($appendRawOutput){}

    /**
     * Creates a new image as a copy
     *
     * Creates a new image that is a copy of an existing one with the image
     * pixels "imploded" by the specified percentage.
     *
     * @param float $radius The radius of the implode
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function implodeImage($radius){}

    /**
     * Imports image pixels
     *
     * Imports pixels from an array into an image. The {@link map} is usually
     * 'RGB'. This method imposes the following constraints for the
     * parameters: amount of pixels in the array must match {@link width} x
     * {@link height} x length of the map.
     *
     * @param int $x The image x position
     * @param int $y The image y position
     * @param int $width The image width
     * @param int $height The image height
     * @param string $map Map of pixel ordering as a string. This can be
     *   for example RGB. The value can be any combination or order of R =
     *   red, G = green, B = blue, A = alpha (0 is transparent), O = opacity
     *   (0 is opaque), C = cyan, Y = yellow, M = magenta, K = black, I =
     *   intensity (for grayscale), P = pad.
     * @param int $storage The pixel storage method. Refer to this list of
     *   pixel constants.
     * @param array $pixels The array of pixels
     * @return bool
     **/
    public function importImagePixels($x, $y, $width, $height, $map, $storage, $pixels){}

    /**
     * Implements the inverse discrete Fourier transform (DFT) of the image
     * either as a magnitude / phase or real / imaginary image pair.
     *
     * @param Imagick $complement The second image to combine with this one
     *   to form either the magnitude / phase or real / imaginary image pair.
     * @param bool $magnitude If true, combine as magnitude / phase pair
     *   otherwise a real / imaginary image pair.
     * @return bool
     **/
    public function inverseFourierTransformImage($complement, $magnitude){}

    /**
     * Adds a label to an image
     *
     * @param string $label The label to add
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function labelImage($label){}

    /**
     * Adjusts the levels of an image
     *
     * Adjusts the levels of an image by scaling the colors falling between
     * specified white and black points to the full available quantum range.
     * The parameters provided represent the black, mid, and white points.
     * The black point specifies the darkest color in the image. Colors
     * darker than the black point are set to zero. Mid point specifies a
     * gamma correction to apply to the image. White point specifies the
     * lightest color in the image. Colors brighter than the white point are
     * set to the maximum quantum value.
     *
     * @param float $blackPoint The image black point
     * @param float $gamma The gamma value
     * @param float $whitePoint The image white point
     * @param int $channel Provide any channel constant that is valid for
     *   your channel mode. To apply to more than one channel, combine
     *   channeltype constants using bitwise operators. Refer to this list of
     *   channel constants.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function levelImage($blackPoint, $gamma, $whitePoint, $channel){}

    /**
     * Stretches with saturation the image intensity
     *
     * @param float $blackPoint The image black point
     * @param float $whitePoint The image white point
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function linearStretchImage($blackPoint, $whitePoint){}

    /**
     * Animates an image or images
     *
     * This method scales the images using liquid rescaling method. This
     * method is an implementation of a technique called seam carving. In
     * order for this method to work as expected ImageMagick must be compiled
     * with liblqr support.
     *
     * @param int $width The width of the target size
     * @param int $height The height of the target size
     * @param float $delta_x How much the seam can traverse on x-axis.
     *   Passing 0 causes the seams to be straight.
     * @param float $rigidity Introduces a bias for non-straight seams.
     *   This parameter is typically 0.
     * @return bool
     **/
    function liquidRescaleImage($width, $height, $delta_x, $rigidity){}

    /**
     * List all the registry settings. Returns an array of all the key/value
     * pairs in the registry
     *
     * @return array An array containing the key/values from the registry.
     **/
    public static function listRegistry(){}

    /**
     * Scales an image proportionally 2x
     *
     * Is a convenience method that scales an image proportionally to twice
     * its original size.
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function magnifyImage(){}

    /**
     * Replaces the colors of an image with the closest color from a
     * reference image
     *
     * @param Imagick $map
     * @param bool $dither
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function mapImage($map, $dither){}

    /**
     * Changes the transparency value of a color
     *
     * Changes the transparency value of any pixel that matches target and is
     * an immediate neighbor. If the method FillToBorderMethod is specified,
     * the transparency value is changed for any neighbor pixel that does not
     * match the bordercolor member of image.
     *
     * @param float $alpha The level of transparency: 1.0 is fully opaque
     *   and 0.0 is fully transparent.
     * @param float $fuzz The fuzz member of image defines how much
     *   tolerance is acceptable to consider two colors as the same.
     * @param mixed $bordercolor An ImagickPixel object or string
     *   representing the border color.
     * @param int $x The starting x coordinate of the operation.
     * @param int $y The starting y coordinate of the operation.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function matteFloodfillImage($alpha, $fuzz, $bordercolor, $x, $y){}

    /**
     * Applies a digital filter
     *
     * Applies a digital filter that improves the quality of a noisy image.
     * Each pixel is replaced by the median in a set of neighboring pixels as
     * defined by radius.
     *
     * @param float $radius The radius of the pixel neighborhood.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function medianFilterImage($radius){}

    /**
     * Merges image layers
     *
     * Merges image layers into one. This method is useful when working with
     * image formats that use multiple layers such as PSD. The merging is
     * controlled using the {@link layer_method} which defines how the layers
     * are merged.
     *
     * @param int $layer_method One of the Imagick::LAYERMETHOD_* constants
     * @return Imagick Returns an Imagick object containing the merged
     *   image.
     * @since PECL imagick 2.1.0
     **/
    function mergeImageLayers($layer_method){}

    /**
     * Scales an image proportionally to half its size
     *
     * Is a convenience method that scales an image proportionally to
     * one-half its original size
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function minifyImage(){}

    /**
     * Control the brightness, saturation, and hue
     *
     * Lets you control the brightness, saturation, and hue of an image. Hue
     * is the percentage of absolute rotation from the current position. For
     * example 50 results in a counter-clockwise rotation of 90 degrees, 150
     * results in a clockwise rotation of 90 degrees, with 0 and 200 both
     * resulting in a rotation of 180 degrees.
     *
     * @param float $brightness
     * @param float $saturation
     * @param float $hue
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function modulateImage($brightness, $saturation, $hue){}

    /**
     * Creates a composite image
     *
     * Creates a composite image by combining several separate images. The
     * images are tiled on the composite image with the name of the image
     * optionally appearing just below the individual tile.
     *
     * @param ImagickDraw $draw The font name, size, and color are obtained
     *   from this object.
     * @param string $tile_geometry The number of tiles per row and page
     *   (e.g. 6x4+0+0).
     * @param string $thumbnail_geometry Preferred image size and border
     *   size of each thumbnail (e.g. 120x120+4+3>).
     * @param int $mode Thumbnail framing mode, see Montage Mode constants.
     * @param string $frame Surround the image with an ornamental border
     *   (e.g. 15x15+3+3). The frame color is that of the thumbnail's matte
     *   color.
     * @return Imagick
     * @since PECL imagick 2.0.0
     **/
    function montageImage($draw, $tile_geometry, $thumbnail_geometry, $mode, $frame){}

    /**
     * Method morphs a set of images
     *
     * Method morphs a set of images. Both the image pixels and size are
     * linearly interpolated to give the appearance of a meta-morphosis from
     * one image to the next.
     *
     * @param int $number_frames The number of in-between images to
     *   generate.
     * @return Imagick This method returns a new Imagick object on success.
     * @since PECL imagick 2.0.0
     **/
    function morphImages($number_frames){}

    /**
     * Applies a user supplied kernel to the image according to the given
     * morphology method.
     *
     * @param int $morphologyMethod Which morphology method to use one of
     *   the \Imagick::MORPHOLOGY_* constants.
     * @param int $iterations The number of iteration to apply the
     *   morphology function. A value of -1 means loop until no change found.
     *   How this is applied may depend on the morphology method. Typically
     *   this is a value of 1.
     * @param ImagickKernel $ImagickKernel
     * @param int $channel
     * @return bool
     **/
    public function morphology($morphologyMethod, $iterations, $ImagickKernel, $channel){}

    /**
     * Forms a mosaic from images
     *
     * Inlays an image sequence to form a single coherent picture. It returns
     * a wand with each image in the sequence composited at the location
     * defined by the page offset of the image.
     *
     * @return Imagick
     * @since PECL imagick 2.0.0
     **/
    function mosaicImages(){}

    /**
     * Simulates motion blur
     *
     * Simulates motion blur. We convolve the image with a Gaussian operator
     * of the given radius and standard deviation (sigma). For reasonable
     * results, radius should be larger than sigma. Use a radius of 0 and
     * MotionBlurImage() selects a suitable radius for you. Angle gives the
     * angle of the blurring motion.
     *
     * @param float $radius The radius of the Gaussian, in pixels, not
     *   counting the center pixel.
     * @param float $sigma The standard deviation of the Gaussian, in
     *   pixels.
     * @param float $angle Apply the effect along this angle.
     * @param int $channel Provide any channel constant that is valid for
     *   your channel mode. To apply to more than one channel, combine
     *   channeltype constants using bitwise operators. Refer to this list of
     *   channel constants. The channel argument affects only if Imagick is
     *   compiled against ImageMagick version 6.4.4 or greater.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function motionBlurImage($radius, $sigma, $angle, $channel){}

    /**
     * Negates the colors in the reference image
     *
     * Negates the colors in the reference image. The Grayscale option means
     * that only grayscale values within the image are negated.
     *
     * @param bool $gray Whether to only negate grayscale pixels within the
     *   image.
     * @param int $channel Provide any channel constant that is valid for
     *   your channel mode. To apply to more than one channel, combine
     *   channeltype constants using bitwise operators. Refer to this list of
     *   channel constants.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function negateImage($gray, $channel){}

    /**
     * Creates a new image
     *
     * Creates a new image and associates ImagickPixel value as background
     * color
     *
     * @param int $cols Columns in the new image
     * @param int $rows Rows in the new image
     * @param mixed $background The background color used for this image
     * @param string $format Image format. This parameter was added in
     *   Imagick version 2.0.1.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function newImage($cols, $rows, $background, $format){}

    /**
     * Creates a new image
     *
     * Creates a new image using ImageMagick pseudo-formats.
     *
     * @param int $columns columns in the new image
     * @param int $rows rows in the new image
     * @param string $pseudoString string containing pseudo image
     *   definition.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function newPseudoImage($columns, $rows, $pseudoString){}

    /**
     * Moves to the next image
     *
     * Associates the next image in the image list with an Imagick object.
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function nextImage(){}

    /**
     * Enhances the contrast of a color image
     *
     * Enhances the contrast of a color image by adjusting the pixels color
     * to span the entire range of colors available.
     *
     * @param int $channel Provide any channel constant that is valid for
     *   your channel mode. To apply to more than one channel, combine
     *   channeltype constants using bitwise operators. Refer to this list of
     *   channel constants.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function normalizeImage($channel){}

    /**
     * Simulates an oil painting
     *
     * Applies a special effect filter that simulates an oil painting. Each
     * pixel is replaced by the most frequent color occurring in a circular
     * region defined by radius.
     *
     * @param float $radius The radius of the circular neighborhood.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function oilPaintImage($radius){}

    /**
     * Changes the color value of any pixel that matches target
     *
     * Changes any pixel that matches color with the color defined by fill.
     *
     * @param mixed $target ImagickPixel object or a string containing the
     *   color to change
     * @param mixed $fill The replacement color
     * @param float $fuzz
     * @param bool $invert If TRUE paints any pixel that does not match the
     *   target color.
     * @param int $channel
     * @return bool
     **/
    function opaquePaintImage($target, $fill, $fuzz, $invert, $channel){}

    /**
     * Removes repeated portions of images to optimize
     *
     * Compares each image the GIF disposed forms of the previous image in
     * the sequence. From this it attempts to select the smallest cropped
     * image to replace each frame, while preserving the results of the
     * animation.
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function optimizeImageLayers(){}

    /**
     * Performs an ordered dither
     *
     * Performs an ordered dither based on a number of pre-defined dithering
     * threshold maps, but over multiple intensity levels, which can be
     * different for different channels, according to the input arguments.
     *
     * @param string $threshold_map A string containing the name of the
     *   threshold dither map to use
     * @param int $channel Provide any channel constant that is valid for
     *   your channel mode. To apply to more than one channel, combine
     *   channeltype constants using bitwise operators. Refer to this list of
     *   channel constants.
     * @return bool
     * @since PECL imagick 2.2.2
     **/
    function orderedPosterizeImage($threshold_map, $channel){}

    /**
     * Changes the color value of any pixel that matches target
     *
     * Changes the color value of any pixel that matches target and is an
     * immediate neighbor. As of ImageMagick 6.3.8 this method has been
     * deprecated and {@link Imagick::floodfillPaintImage} should be used
     * instead.
     *
     * @param mixed $fill ImagickPixel object or a string containing the
     *   fill color
     * @param float $fuzz The amount of fuzz. For example, set fuzz to 10
     *   and the color red at intensities of 100 and 102 respectively are now
     *   interpreted as the same color for the purposes of the floodfill.
     * @param mixed $bordercolor ImagickPixel object or a string containing
     *   the border color
     * @param int $x X start position of the floodfill
     * @param int $y Y start position of the floodfill
     * @param int $channel
     * @return bool
     * @since PECL imagick 2.1.0
     **/
    function paintFloodfillImage($fill, $fuzz, $bordercolor, $x, $y, $channel){}

    /**
     * Change any pixel that matches color
     *
     * Changes any pixel that matches color with the color defined by fill.
     *
     * @param mixed $target Change this target color to the fill color
     *   within the image. An ImagickPixel object or a string representing
     *   the target color.
     * @param mixed $fill An ImagickPixel object or a string representing
     *   the fill color.
     * @param float $fuzz The fuzz member of image defines how much
     *   tolerance is acceptable to consider two colors as the same.
     * @param int $channel Provide any channel constant that is valid for
     *   your channel mode. To apply to more than one channel, combine
     *   channeltype constants using bitwise operators. Refer to this list of
     *   channel constants.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function paintOpaqueImage($target, $fill, $fuzz, $channel){}

    /**
     * Changes any pixel that matches color with the color defined by fill
     *
     * @param mixed $target Change this target color to specified opacity
     *   value within the image.
     * @param float $alpha The level of transparency: 1.0 is fully opaque
     *   and 0.0 is fully transparent.
     * @param float $fuzz The fuzz member of image defines how much
     *   tolerance is acceptable to consider two colors as the same.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function paintTransparentImage($target, $alpha, $fuzz){}

    /**
     * Fetch basic attributes about the image
     *
     * This method can be used to query image width, height, size, and format
     * without reading the whole image in to memory.
     *
     * @param string $filename The filename to read the information from.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function pingImage($filename){}

    /**
     * Quickly fetch attributes
     *
     * This method can be used to query image width, height, size, and format
     * without reading the whole image to memory.
     *
     * @param string $image A string containing the image.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function pingImageBlob($image){}

    /**
     * Get basic image attributes in a lightweight manner
     *
     * This method can be used to query image width, height, size, and format
     * without reading the whole image to memory.
     *
     * @param resource $filehandle An open filehandle to the image.
     * @param string $fileName Optional filename for this image.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function pingImageFile($filehandle, $fileName){}

    /**
     * Simulates a Polaroid picture
     *
     * @param ImagickDraw $properties The polaroid properties
     * @param float $angle The polaroid angle
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function polaroidImage($properties, $angle){}

    /**
     * Reduces the image to a limited number of color level
     *
     * @param int $levels
     * @param bool $dither
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function posterizeImage($levels, $dither){}

    /**
     * Quickly pin-point appropriate parameters for image processing
     *
     * Tiles 9 thumbnails of the specified image with an image processing
     * operation applied at varying strengths. This is helpful to quickly
     * pin-point an appropriate parameter for an image processing operation.
     *
     * @param int $preview Preview type. See Preview type constants
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function previewImages($preview){}

    /**
     * Move to the previous image in the object
     *
     * Assocates the previous image in an image list with the Imagick object.
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function previousImage(){}

    /**
     * Adds or removes a profile from an image
     *
     * Adds or removes a ICC, IPTC, or generic profile from an image. If the
     * profile is NULL, it is removed from the image otherwise added. Use a
     * name of '*' and a profile of NULL to remove all profiles from the
     * image.
     *
     * @param string $name
     * @param string $profile
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function profileImage($name, $profile){}

    /**
     * Analyzes the colors within a reference image
     *
     * @param int $numberColors
     * @param int $colorspace
     * @param int $treedepth
     * @param bool $dither
     * @param bool $measureError
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function quantizeImage($numberColors, $colorspace, $treedepth, $dither, $measureError){}

    /**
     * Analyzes the colors within a sequence of images
     *
     * @param int $numberColors
     * @param int $colorspace
     * @param int $treedepth
     * @param bool $dither
     * @param bool $measureError
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function quantizeImages($numberColors, $colorspace, $treedepth, $dither, $measureError){}

    /**
     * Returns an array representing the font metrics
     *
     * Returns a multi-dimensional array representing the font metrics.
     *
     * @param ImagickDraw $properties ImagickDraw object containing font
     *   properties
     * @param string $text The text
     * @param bool $multiline Multiline parameter. If left empty it is
     *   autodetected
     * @return array Returns a multi-dimensional array representing the
     *   font metrics.
     * @since PECL imagick 2.0.0
     **/
    function queryFontMetrics($properties, $text, $multiline){}

    /**
     * Returns the configured fonts
     *
     * @param string $pattern The query pattern
     * @return array Returns an array containing the configured fonts.
     * @since PECL imagick 2.0.0
     **/
    function queryFonts($pattern){}

    /**
     * Returns formats supported by Imagick
     *
     * @param string $pattern
     * @return array Returns an array containing the formats supported by
     *   Imagick.
     * @since PECL imagick 2.0.0
     **/
    function queryFormats($pattern){}

    /**
     * Radial blurs an image
     *
     * @param float $angle
     * @param int $channel
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function radialBlurImage($angle, $channel){}

    /**
     * Creates a simulated 3d button-like effect
     *
     * Creates a simulated three-dimensional button-like effect by lightening
     * and darkening the edges of the image. Members width and height of
     * raise_info define the width of the vertical and horizontal edge of the
     * effect.
     *
     * @param int $width
     * @param int $height
     * @param int $x
     * @param int $y
     * @param bool $raise
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function raiseImage($width, $height, $x, $y, $raise){}

    /**
     * Creates a high-contrast, two-color image
     *
     * Changes the value of individual pixels based on the intensity of each
     * pixel compared to threshold. The result is a high-contrast, two color
     * image.
     *
     * @param float $low The low point
     * @param float $high The high point
     * @param int $channel Provide any channel constant that is valid for
     *   your channel mode. To apply to more than one channel, combine
     *   channeltype constants using bitwise operators. Refer to this list of
     *   channel constants.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function randomThresholdImage($low, $high, $channel){}

    /**
     * Reads image from filename
     *
     * @param string $filename
     * @return bool
     **/
    function readImage($filename){}

    /**
     * Reads image from a binary string
     *
     * @param string $image
     * @param string $filename
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function readImageBlob($image, $filename){}

    /**
     * Reads image from open filehandle
     *
     * @param resource $filehandle
     * @param string $fileName
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function readImageFile($filehandle, $fileName){}

    /**
     * Reads image from an array of filenames. All the images are held in a
     * single Imagick object.
     *
     * @param array $filenames
     * @return bool
     **/
    public function readImages($filenames){}

    /**
     * Recolors image
     *
     * Translate, scale, shear, or rotate image colors. This method supports
     * variable sized matrices but normally 5x5 matrix is used for RGBA and
     * 6x6 is used for CMYK. The last row should contain the normalized
     * values.
     *
     * @param array $matrix The matrix containing the color values
     * @return bool
     **/
    function recolorImage($matrix){}

    /**
     * Smooths the contours of an image
     *
     * Smooths the contours of an image while still preserving edge
     * information. The algorithm works by replacing each pixel with its
     * neighbor closest in value. A neighbor is defined by radius. Use a
     * radius of 0 and Imagick::reduceNoiseImage() selects a suitable radius
     * for you.
     *
     * @param float $radius
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function reduceNoiseImage($radius){}

    /**
     * Remaps image colors
     *
     * Replaces colors an image with those defined by {@link replacement}.
     * The colors are replaced with the closest possible color.
     *
     * @param Imagick $replacement An Imagick object containing the
     *   replacement colors
     * @param int $DITHER Refer to this list of dither method constants
     * @return bool
     **/
    public function remapImage($replacement, $DITHER){}

    /**
     * Removes an image from the image list
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function removeImage(){}

    /**
     * Removes the named image profile and returns it
     *
     * @param string $name
     * @return string Returns a string containing the profile of the image.
     * @since PECL imagick 2.0.0
     **/
    function removeImageProfile($name){}

    /**
     * Renders all preceding drawing commands
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function render(){}

    /**
     * Resample image to desired resolution
     *
     * @param float $x_resolution
     * @param float $y_resolution
     * @param int $filter
     * @param float $blur
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function resampleImage($x_resolution, $y_resolution, $filter, $blur){}

    /**
     * Reset image page
     *
     * The page definition as a string. The string is in format WxH+x+y.
     *
     * @param string $page The page definition. For example 7168x5147+0+0
     * @return bool
     **/
    function resetImagePage($page){}

    /**
     * Scales an image
     *
     * Scales an image to the desired dimensions with a filter.
     *
     * @param int $columns Width of the image
     * @param int $rows Height of the image
     * @param int $filter Refer to the list of filter constants.
     * @param float $blur The blur factor where > 1 is blurry, < 1 is
     *   sharp.
     * @param bool $bestfit Optional fit parameter.
     * @param bool $legacy
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function resizeImage($columns, $rows, $filter, $blur, $bestfit, $legacy){}

    /**
     * Offsets an image
     *
     * Offsets an image as defined by x and y.
     *
     * @param int $x The X offset.
     * @param int $y The Y offset.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function rollImage($x, $y){}

    /**
     * Rotates an image
     *
     * Rotates an image the specified number of degrees. Empty triangles left
     * over from rotating the image are filled with the background color.
     *
     * @param mixed $background The background color
     * @param float $degrees Rotation angle, in degrees. The rotation angle
     *   is interpreted as the number of degrees to rotate the image
     *   clockwise.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function rotateImage($background, $degrees){}

    /**
     * Rotational blurs an image.
     *
     * @param float $angle The angle to apply the blur over.
     * @param int $channel
     * @return bool
     **/
    public function rotationalBlurImage($angle, $channel){}

    /**
     * Rounds image corners
     *
     * Rounds image corners. The first two parameters control the amount of
     * rounding and the three last parameters can be used to fine-tune the
     * rounding process.
     *
     * @param float $x_rounding x rounding
     * @param float $y_rounding y rounding
     * @param float $stroke_width stroke width
     * @param float $displace image displace
     * @param float $size_correction size correction
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function roundCorners($x_rounding, $y_rounding, $stroke_width, $displace, $size_correction){}

    /**
     * Scales an image with pixel sampling
     *
     * Scales an image to the desired dimensions with pixel sampling. Unlike
     * other scaling methods, this method does not introduce any additional
     * color into the scaled image.
     *
     * @param int $columns
     * @param int $rows
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function sampleImage($columns, $rows){}

    /**
     * Scales the size of an image
     *
     * Scales the size of an image to the given dimensions. The other
     * parameter will be calculated if 0 is passed as either param.
     *
     * @param int $cols
     * @param int $rows
     * @param bool $bestfit
     * @param bool $legacy
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function scaleImage($cols, $rows, $bestfit, $legacy){}

    /**
     * Segments an image
     *
     * Analyses the image and identifies units that are similar.
     *
     * @param int $COLORSPACE One of the COLORSPACE constants.
     * @param float $cluster_threshold A percentage describing minimum
     *   number of pixels contained in hexedra before it is considered valid.
     * @param float $smooth_threshold Eliminates noise from the histogram.
     * @param bool $verbose Whether to output detailed information about
     *   recognised classes.
     * @return bool
     **/
    public function segmentImage($COLORSPACE, $cluster_threshold, $smooth_threshold, $verbose){}

    /**
     * Selectively blur an image within a contrast threshold. It is similar
     * to the unsharpen mask that sharpens everything with contrast above a
     * certain threshold.
     *
     * @param float $radius
     * @param float $sigma
     * @param float $threshold
     * @param int $channel
     * @return bool
     **/
    public function selectiveBlurImage($radius, $sigma, $threshold, $channel){}

    /**
     * Separates a channel from the image
     *
     * Separates a channel from the image and returns a grayscale image. A
     * channel is a particular color component of each pixel in the image.
     *
     * @param int $channel Which 'channel' to return. For colorspaces other
     *   than RGB, you can still use the CHANNEL_RED, CHANNEL_GREEN,
     *   CHANNEL_BLUE constants to indicate the 1st, 2nd and 3rd channels.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function separateImageChannel($channel){}

    /**
     * Sepia tones an image
     *
     * Applies a special effect to the image, similar to the effect achieved
     * in a photo darkroom by sepia toning. Threshold ranges from 0 to
     * QuantumRange and is a measure of the extent of the sepia toning. A
     * threshold of 80 is a good starting point for a reasonable tone.
     *
     * @param float $threshold
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function sepiaToneImage($threshold){}

    /**
     * Sets the object's default background color
     *
     * @param mixed $background
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setBackgroundColor($background){}

    /**
     * Set colorspace
     *
     * Sets the global colorspace value for the object.
     *
     * @param int $COLORSPACE One of the COLORSPACE constants
     * @return bool
     **/
    function setColorspace($COLORSPACE){}

    /**
     * Sets the object's default compression type
     *
     * @param int $compression The compression type. See the
     *   Imagick::COMPRESSION_* constants.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setCompression($compression){}

    /**
     * Sets the object's default compression quality
     *
     * @param int $quality
     * @return bool
     **/
    function setCompressionQuality($quality){}

    /**
     * Sets the filename before you read or write the image
     *
     * Sets the filename before you read or write an image file.
     *
     * @param string $filename
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setFilename($filename){}

    /**
     * Sets the Imagick iterator to the first image
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setFirstIterator(){}

    /**
     * Sets font
     *
     * Sets object's font property. This method can be used for example to
     * set font for caption: pseudo-format. The font needs to be configured
     * in ImageMagick configuration or a file by the name of {@link font}
     * must exist. This method should not be confused with {@link
     * ImagickDraw::setFont} which sets the font for a specific ImagickDraw
     * object.
     *
     * @param string $font Font name or a filename
     * @return bool
     * @since PECL imagick 2.1.0
     **/
    function setFont($font){}

    /**
     * Sets the format of the Imagick object
     *
     * @param string $format
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setFormat($format){}

    /**
     * Sets the gravity
     *
     * Sets the global gravity property for the Imagick object.
     *
     * @param int $gravity The gravity property. Refer to the list of
     *   gravity constants.
     * @return bool
     **/
    function setGravity($gravity){}

    /**
     * Replaces image in the object
     *
     * Replaces the current image sequence with the image from replace
     * object.
     *
     * @param Imagick $replace The replace Imagick object
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImage($replace){}

    /**
     * Sets image alpha channel
     *
     * Activate or deactivate image alpha channel. The {@link mode} is one of
     * the Imagick::ALPHACHANNEL_* constants.
     *
     * @param int $mode One of the Imagick::ALPHACHANNEL_* constants
     * @return bool
     **/
    function setImageAlphaChannel($mode){}

    /**
     * Set image artifact
     *
     * Associates an artifact with the image. The difference between image
     * properties and image artifacts is that properties are public and
     * artifacts are private.
     *
     * @param string $artifact The name of the artifact
     * @param string $value The value of the artifact
     * @return bool
     **/
    function setImageArtifact($artifact, $value){}

    /**
     * @param string $key
     * @param string $value
     * @return bool
     **/
    public function setImageAttribute($key, $value){}

    /**
     * Sets the image background color
     *
     * @param mixed $background
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageBackgroundColor($background){}

    /**
     * Sets the image bias for any method that convolves an image
     *
     * Sets the image bias for any method that convolves an image (e.g.
     * Imagick::ConvolveImage()).
     *
     * @param float $bias
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageBias($bias){}

    /**
     * @param string $bias
     * @return void
     **/
    public function setImageBiasQuantum($bias){}

    /**
     * Sets the image chromaticity blue primary point
     *
     * @param float $x
     * @param float $y
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageBluePrimary($x, $y){}

    /**
     * Sets the image border color
     *
     * @param mixed $border The border color
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageBorderColor($border){}

    /**
     * Sets the depth of a particular image channel
     *
     * @param int $channel
     * @param int $depth
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageChannelDepth($channel, $depth){}

    /**
     * Sets image clip mask
     *
     * Sets image clip mask from another Imagick object.
     *
     * @param Imagick $clip_mask The Imagick object containing the clip
     *   mask
     * @return bool
     **/
    function setImageClipMask($clip_mask){}

    /**
     * Sets the color of the specified colormap index
     *
     * @param int $index
     * @param ImagickPixel $color
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageColormapColor($index, $color){}

    /**
     * Sets the image colorspace
     *
     * Sets the image colorspace. This method should be used when creating
     * new images. To change the colorspace of an existing image, you should
     * use Imagick::transformImageColorspace.
     *
     * @param int $colorspace One of the COLORSPACE constants
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageColorspace($colorspace){}

    /**
     * Sets the image composite operator
     *
     * Sets the image composite operator, useful for specifying how to
     * composite the image thumbnail when using the Imagick::montageImage()
     * method.
     *
     * @param int $compose
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageCompose($compose){}

    /**
     * Sets the image compression
     *
     * @param int $compression One of the COMPRESSION constants
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageCompression($compression){}

    /**
     * Sets the image compression quality
     *
     * @param int $quality The image compression quality as an integer
     * @return bool
     **/
    function setImageCompressionQuality($quality){}

    /**
     * Sets the image delay
     *
     * Sets the image delay. For an animated image this is the amount of time
     * that this frame of the image should be displayed for, before
     * displaying the next frame.
     *
     * The delay can be set individually for each frame in an image.
     *
     * @param int $delay The amount of time expressed in 'ticks' that the
     *   image should be displayed for. For animated GIFs there are 100 ticks
     *   per second, so a value of 20 would be 20/100 of a second aka 1/5th
     *   of a second.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageDelay($delay){}

    /**
     * Sets the image depth
     *
     * @param int $depth
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageDepth($depth){}

    /**
     * Sets the image disposal method
     *
     * @param int $dispose
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageDispose($dispose){}

    /**
     * Sets the image size
     *
     * Sets the image size (i.e. columns & rows).
     *
     * @param int $columns
     * @param int $rows
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageExtent($columns, $rows){}

    /**
     * Sets the filename of a particular image
     *
     * Sets the filename of a particular image in a sequence.
     *
     * @param string $filename
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageFilename($filename){}

    /**
     * Sets the format of a particular image
     *
     * Sets the format of a particular image in a sequence.
     *
     * @param string $format String presentation of the image format.
     *   Format support depends on the ImageMagick installation.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageFormat($format){}

    /**
     * Sets the image gamma
     *
     * @param float $gamma
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageGamma($gamma){}

    /**
     * Sets the image gravity
     *
     * Sets the gravity property for the current image. This method can be
     * used to set the gravity property for a single image sequence.
     *
     * @param int $gravity The gravity property. Refer to the list of
     *   gravity constants.
     * @return bool
     **/
    function setImageGravity($gravity){}

    /**
     * Sets the image chromaticity green primary point
     *
     * @param float $x
     * @param float $y
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageGreenPrimary($x, $y){}

    /**
     * Set the iterator position
     *
     * Set the iterator to the position in the image list specified with the
     * index parameter.
     *
     * This method has been deprecated. See {@link
     * Imagick::setIteratorIndex}.
     *
     * @param int $index The position to set the iterator to
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageIndex($index){}

    /**
     * Sets the image compression
     *
     * @param int $interlace_scheme
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageInterlaceScheme($interlace_scheme){}

    /**
     * Sets the image interpolate pixel method
     *
     * @param int $method The method is one of the Imagick::INTERPOLATE_*
     *   constants
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageInterpolateMethod($method){}

    /**
     * Sets the image iterations
     *
     * Sets the number of iterations an animated image is repeated.
     *
     * @param int $iterations The number of iterations the image should
     *   loop over. Set to '0' to loop continuously.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageIterations($iterations){}

    /**
     * Sets the image matte channel
     *
     * @param bool $matte True activates the matte channel and false
     *   disables it.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageMatte($matte){}

    /**
     * Sets the image matte color
     *
     * @param mixed $matte
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageMatteColor($matte){}

    /**
     * Sets the image opacity level
     *
     * Sets the image to the specified opacity level. This method operates on
     * all channels, which means that for example opacity value of 0.5 will
     * set all transparent areas to partially opaque. To add transparency to
     * areas that are not already transparent use Imagick::evaluateImage()
     *
     * @param float $opacity The level of transparency: 1.0 is fully opaque
     *   and 0.0 is fully transparent.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageOpacity($opacity){}

    /**
     * Sets the image orientation
     *
     * @param int $orientation One of the orientation constants
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageOrientation($orientation){}

    /**
     * Sets the page geometry of the image
     *
     * @param int $width
     * @param int $height
     * @param int $x
     * @param int $y
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImagePage($width, $height, $x, $y){}

    /**
     * Adds a named profile to the Imagick object
     *
     * Adds a named profile to the Imagick object. If a profile with the same
     * name already exists, it is replaced. This method differs from the
     * Imagick::ProfileImage() method in that it does not apply any CMS color
     * profiles.
     *
     * @param string $name
     * @param string $profile
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageProfile($name, $profile){}

    /**
     * Sets an image property
     *
     * Sets a named property to the image.
     *
     * @param string $name
     * @param string $value
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageProperty($name, $value){}

    /**
     * Sets the image chromaticity red primary point
     *
     * @param float $x
     * @param float $y
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageRedPrimary($x, $y){}

    /**
     * Sets the image rendering intent
     *
     * @param int $rendering_intent
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageRenderingIntent($rendering_intent){}

    /**
     * Sets the image resolution
     *
     * @param float $x_resolution
     * @param float $y_resolution
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageResolution($x_resolution, $y_resolution){}

    /**
     * Sets the image scene
     *
     * @param int $scene
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageScene($scene){}

    /**
     * Sets the image ticks-per-second
     *
     * Adjust the amount of time that a frame of an animated image is
     * displayed for.
     *
     * @param int $ticks_per_second The duration for which an image should
     *   be displayed expressed in ticks per second.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageTicksPerSecond($ticks_per_second){}

    /**
     * Sets the image type
     *
     * @param int $image_type
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageType($image_type){}

    /**
     * Sets the image units of resolution
     *
     * @param int $units
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageUnits($units){}

    /**
     * Sets the image virtual pixel method
     *
     * @param int $method
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageVirtualPixelMethod($method){}

    /**
     * Sets the image chromaticity white point
     *
     * @param float $x
     * @param float $y
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setImageWhitePoint($x, $y){}

    /**
     * Sets the image compression
     *
     * @param int $interlace_scheme
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setInterlaceScheme($interlace_scheme){}

    /**
     * Set the iterator position
     *
     * Set the iterator to the position in the image list specified with the
     * index parameter.
     *
     * @param int $index The position to set the iterator to
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setIteratorIndex($index){}

    /**
     * Sets the Imagick iterator to the last image
     *
     * @return bool
     * @since PECL imagick 2.0.1
     **/
    function setLastIterator(){}

    /**
     * Set an option
     *
     * Associates one or more options with the wand.
     *
     * @param string $key
     * @param string $value
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setOption($key, $value){}

    /**
     * Sets the page geometry of the Imagick object
     *
     * @param int $width
     * @param int $height
     * @param int $x
     * @param int $y
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setPage($width, $height, $x, $y){}

    /**
     * Sets point size
     *
     * Sets object's point size property. This method can be used for example
     * to set font size for caption: pseudo-format.
     *
     * @param float $point_size Point size
     * @return bool
     * @since PECL imagick 2.1.0
     **/
    function setPointSize($point_size){}

    /**
     * Set a callback that will be called during the processing of the
     * Imagick image.
     *
     * @param callable $callback The progress function to call. It should
     *   return true if image processing should continue, or false if it
     *   should be cancelled. The offset parameter indicates the progress and
     *   the span parameter indicates the total amount of work needed to be
     *   done.
     * @return bool
     **/
    public function setProgressMonitor($callback){}

    /**
     * Sets the ImageMagick registry entry named key to value. This is most
     * useful for setting "temporary-path" which controls where ImageMagick
     * creates temporary images e.g. while processing PDFs.
     *
     * @param string $key
     * @param string $value
     * @return bool
     **/
    public static function setRegistry($key, $value){}

    /**
     * Sets the image resolution
     *
     * @param float $x_resolution The horizontal resolution.
     * @param float $y_resolution The vertical resolution.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setResolution($x_resolution, $y_resolution){}

    /**
     * Sets the limit for a particular resource in megabytes
     *
     * This method is used to modify the resource limits of the underlying
     * ImageMagick library.
     *
     * @param int $type Refer to the list of resourcetype constants.
     * @param int $limit The resource limit. The unit depends on the type
     *   of the resource being limited.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setResourceLimit($type, $limit){}

    /**
     * Sets the image sampling factors
     *
     * @param array $factors
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setSamplingFactors($factors){}

    /**
     * Sets the size of the Imagick object
     *
     * Sets the size of the Imagick object. Set it before you read a raw
     * image format such as RGB, GRAY, or CMYK.
     *
     * @param int $columns
     * @param int $rows
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setSize($columns, $rows){}

    /**
     * Sets the size and offset of the Imagick object
     *
     * Sets the size and offset of the Imagick object. Set it before you read
     * a raw image format such as RGB, GRAY, or CMYK.
     *
     * @param int $columns The width in pixels.
     * @param int $rows The height in pixels.
     * @param int $offset The image offset.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setSizeOffset($columns, $rows, $offset){}

    /**
     * Sets the image type attribute
     *
     * @param int $image_type
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setType($image_type){}

    /**
     * Creates a 3D effect
     *
     * Shines a distant light on an image to create a three-dimensional
     * effect. You control the positioning of the light with azimuth and
     * elevation; azimuth is measured in degrees off the x axis and elevation
     * is measured in pixels above the Z axis.
     *
     * @param bool $gray A value other than zero shades the intensity of
     *   each pixel.
     * @param float $azimuth Defines the light source direction.
     * @param float $elevation Defines the light source direction.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function shadeImage($gray, $azimuth, $elevation){}

    /**
     * Simulates an image shadow
     *
     * @param float $opacity
     * @param float $sigma
     * @param int $x
     * @param int $y
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function shadowImage($opacity, $sigma, $x, $y){}

    /**
     * Sharpens an image
     *
     * Sharpens an image. We convolve the image with a Gaussian operator of
     * the given radius and standard deviation (sigma). For reasonable
     * results, the radius should be larger than sigma. Use a radius of 0 and
     * {@link Imagick::sharpenImage} selects a suitable radius for you.
     *
     * @param float $radius
     * @param float $sigma
     * @param int $channel
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function sharpenImage($radius, $sigma, $channel){}

    /**
     * Shaves pixels from the image edges
     *
     * Shaves pixels from the image edges. It allocates the memory necessary
     * for the new Image structure and returns a pointer to the new image.
     *
     * @param int $columns
     * @param int $rows
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function shaveImage($columns, $rows){}

    /**
     * Creating a parallelogram
     *
     * Slides one edge of an image along the X or Y axis, creating a
     * parallelogram. An X direction shear slides an edge along the X axis,
     * while a Y direction shear slides an edge along the Y axis. The amount
     * of the shear is controlled by a shear angle. For X direction shears,
     * x_shear is measured relative to the Y axis, and similarly, for Y
     * direction shears y_shear is measured relative to the X axis. Empty
     * triangles left over from shearing the image are filled with the
     * background color.
     *
     * @param mixed $background The background color
     * @param float $x_shear The number of degrees to shear on the x axis
     * @param float $y_shear The number of degrees to shear on the y axis
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function shearImage($background, $x_shear, $y_shear){}

    /**
     * Adjusts the contrast of an image
     *
     * Adjusts the contrast of an image with a non-linear sigmoidal contrast
     * algorithm. Increase the contrast of the image using a sigmoidal
     * transfer function without saturating highlights or shadows. Contrast
     * indicates how much to increase the contrast (0 is none; 3 is typical;
     * 20 is pushing it); mid-point indicates where midtones fall in the
     * resultant image (0 is white; 50 is middle-gray; 100 is black). Set
     * sharpen to TRUE to increase the image contrast otherwise the contrast
     * is reduced.
     *
     * See also ImageMagick v6 Examples - Image Transformations — Sigmoidal
     * Non-linearity Contrast
     *
     * @param bool $sharpen If true increase the contrast, if false
     *   decrease the contrast.
     * @param float $alpha The amount of contrast to apply. 1 is very
     *   little, 5 is a significant amount, 20 is extreme.
     * @param float $beta Where the midpoint of the gradient will be. This
     *   value should be in the range 0 to 1 - mutliplied by the quantum
     *   value for ImageMagick.
     * @param int $channel Which color channels the contrast will be
     *   applied to.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function sigmoidalContrastImage($sharpen, $alpha, $beta, $channel){}

    /**
     * Simulates a pencil sketch
     *
     * Simulates a pencil sketch. We convolve the image with a Gaussian
     * operator of the given radius and standard deviation (sigma). For
     * reasonable results, radius should be larger than sigma. Use a radius
     * of 0 and Imagick::sketchImage() selects a suitable radius for you.
     * Angle gives the angle of the blurring motion.
     *
     * @param float $radius The radius of the Gaussian, in pixels, not
     *   counting the center pixel
     * @param float $sigma The standard deviation of the Gaussian, in
     *   pixels.
     * @param float $angle Apply the effect along this angle.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function sketchImage($radius, $sigma, $angle){}

    /**
     * Takes all images from the current image pointer to the end of the
     * image list and smushs them to each other top-to-bottom if the stack
     * parameter is true, otherwise left-to-right.
     *
     * @param bool $stack
     * @param int $offset
     * @return Imagick The new smushed image.
     **/
    public function smushImages($stack, $offset){}

    /**
     * Applies a solarizing effect to the image
     *
     * Applies a special effect to the image, similar to the effect achieved
     * in a photo darkroom by selectively exposing areas of photo sensitive
     * paper to light. Threshold ranges from 0 to QuantumRange and is a
     * measure of the extent of the solarization.
     *
     * @param int $threshold
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function solarizeImage($threshold){}

    /**
     * Interpolates colors
     *
     * Given the arguments array containing numeric values this method
     * interpolates the colors found at those coordinates across the whole
     * image using {@link sparse_method}.
     *
     * @param int $SPARSE_METHOD Refer to this list of sparse method
     *   constants
     * @param array $arguments An array containing the coordinates. The
     *   array is in format array(1,1, 2,45)
     * @param int $channel
     * @return bool
     **/
    public function sparseColorImage($SPARSE_METHOD, $arguments, $channel){}

    /**
     * Splices a solid color into the image
     *
     * @param int $width
     * @param int $height
     * @param int $x
     * @param int $y
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function spliceImage($width, $height, $x, $y){}

    /**
     * Randomly displaces each pixel in a block
     *
     * Special effects method that randomly displaces each pixel in a block
     * defined by the radius parameter.
     *
     * @param float $radius
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function spreadImage($radius){}

    /**
     * Replace each pixel with corresponding statistic from the neighborhood
     * of the specified width and height.
     *
     * @param int $type
     * @param int $width
     * @param int $height
     * @param int $channel
     * @return bool
     **/
    public function statisticImage($type, $width, $height, $channel){}

    /**
     * Hides a digital watermark within the image
     *
     * Hides a digital watermark within the image. Recover the hidden
     * watermark later to prove that the authenticity of an image. Offset
     * defines the start position within the image to hide the watermark.
     *
     * @param Imagick $watermark_wand
     * @param int $offset
     * @return Imagick
     * @since PECL imagick 2.0.0
     **/
    function steganoImage($watermark_wand, $offset){}

    /**
     * Composites two images
     *
     * Composites two images and produces a single image that is the
     * composite of a left and right image of a stereo pair.
     *
     * @param Imagick $offset_wand
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function stereoImage($offset_wand){}

    /**
     * Strips an image of all profiles and comments
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function stripImage(){}

    /**
     * Searches for a subimage in the current image and returns a similarity
     * image such that an exact match location is completely white and if
     * none of the pixels match, black, otherwise some gray level in-between.
     * You can also pass in the optional parameters bestMatch and similarity.
     * After calling the function similarity will be set to the 'score' of
     * the similarity between the subimage and the matching position in the
     * larger image, bestMatch will contain an associative array with
     * elements x, y, width, height that describe the matching region.
     *
     * @param Imagick $Imagick
     * @param array $offset
     * @param float $similarity A new image that displays the amount of
     *   similarity at each pixel.
     * @return Imagick
     **/
    public function subImageMatch($Imagick, &$offset, &$similarity){}

    /**
     * Swirls the pixels about the center of the image
     *
     * Swirls the pixels about the center of the image, where degrees
     * indicates the sweep of the arc through which each pixel is moved. You
     * get a more dramatic effect as the degrees move from 1 to 360.
     *
     * @param float $degrees
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function swirlImage($degrees){}

    /**
     * Repeatedly tiles the texture image
     *
     * Repeatedly tiles the texture image across and down the image canvas.
     *
     * @param Imagick $texture_wand Imagick object to use as texture image
     * @return Imagick Returns a new Imagick object that has the repeated
     *   texture applied.
     * @since PECL imagick 2.0.0
     **/
    function textureImage($texture_wand){}

    /**
     * Changes the value of individual pixels based on a threshold
     *
     * Changes the value of individual pixels based on the intensity of each
     * pixel compared to threshold. The result is a high-contrast, two color
     * image.
     *
     * @param float $threshold
     * @param int $channel
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function thresholdImage($threshold, $channel){}

    /**
     * Changes the size of an image
     *
     * Changes the size of an image to the given dimensions and removes any
     * associated profiles. The goal is to produce small, low cost thumbnail
     * images suited for display on the Web.
     *
     * If TRUE is given as a third parameter then columns and rows parameters
     * are used as maximums for each side. Both sides will be scaled down
     * until they match or are smaller than the parameter given for the side.
     *
     * @param int $columns Image width
     * @param int $rows Image height
     * @param bool $bestfit Whether to force maximum values
     * @param bool $fill
     * @param bool $legacy
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function thumbnailImage($columns, $rows, $bestfit, $fill, $legacy){}

    /**
     * Applies a color vector to each pixel in the image
     *
     * Applies a color vector to each pixel in the image. The length of the
     * vector is 0 for black and white and at its maximum for the midtones.
     * The vector weighing function is f(x)=(1-(4.0*((x-0.5)*(x-0.5)))).
     *
     * @param mixed $tint
     * @param mixed $opacity
     * @param bool $legacy
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function tintImage($tint, $opacity, $legacy){}

    /**
     * Convenience method for setting crop size and the image geometry
     *
     * A convenience method for setting crop size and the image geometry from
     * strings.
     *
     * @param string $crop A crop geometry string. This geometry defines a
     *   subregion of the image to crop.
     * @param string $geometry An image geometry string. This geometry
     *   defines the final size of the image.
     * @return Imagick Returns an Imagick object containing the transformed
     *   image.
     * @since PECL imagick 2.0.0
     **/
    function transformImage($crop, $geometry){}

    /**
     * Transforms an image to a new colorspace
     *
     * @param int $colorspace The colorspace the image should be
     *   transformed to, one of the COLORSPACE constants e.g.
     *   Imagick::COLORSPACE_CMYK.
     * @return bool
     **/
    function transformImageColorspace($colorspace){}

    /**
     * Paints pixels transparent
     *
     * Paints pixels matching the target color transparent.
     *
     * @param mixed $target The target color to paint
     * @param float $alpha
     * @param float $fuzz
     * @param bool $invert If TRUE paints any pixel that does not match the
     *   target color.
     * @return bool
     **/
    function transparentPaintImage($target, $alpha, $fuzz, $invert){}

    /**
     * Creates a vertical mirror image
     *
     * Creates a vertical mirror image by reflecting the pixels around the
     * central x-axis while rotating them 90-degrees.
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function transposeImage(){}

    /**
     * Creates a horizontal mirror image
     *
     * Creates a horizontal mirror image by reflecting the pixels around the
     * central y-axis while rotating them 270-degrees.
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function transverseImage(){}

    /**
     * Remove edges from the image
     *
     * Remove edges that are the background color from the image.
     *
     * @param float $fuzz By default target must match a particular pixel
     *   color exactly. However, in many cases two colors may differ by a
     *   small amount. The fuzz member of image defines how much tolerance is
     *   acceptable to consider two colors as the same. This parameter
     *   represents the variation on the quantum range.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function trimImage($fuzz){}

    /**
     * Discards all but one of any pixel color
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function uniqueImageColors(){}

    /**
     * Sharpens an image
     *
     * Sharpens an image. We convolve the image with a Gaussian operator of
     * the given radius and standard deviation (sigma). For reasonable
     * results, radius should be larger than sigma. Use a radius of 0 and
     * Imagick::UnsharpMaskImage() selects a suitable radius for you.
     *
     * @param float $radius
     * @param float $sigma
     * @param float $amount
     * @param float $threshold
     * @param int $channel
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function unsharpMaskImage($radius, $sigma, $amount, $threshold, $channel){}

    /**
     * Checks if the current item is valid
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function valid(){}

    /**
     * Adds vignette filter to the image
     *
     * Softens the edges of the image in vignette style.
     *
     * @param float $blackPoint The black point.
     * @param float $whitePoint The white point
     * @param int $x X offset of the ellipse
     * @param int $y Y offset of the ellipse
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function vignetteImage($blackPoint, $whitePoint, $x, $y){}

    /**
     * Applies wave filter to the image
     *
     * Applies a wave filter to the image.
     *
     * @param float $amplitude The amplitude of the wave.
     * @param float $length The length of the wave.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function waveImage($amplitude, $length){}

    /**
     * Force all pixels above the threshold into white
     *
     * Is like Imagick::ThresholdImage() but force all pixels above the
     * threshold into white while leaving all pixels below the threshold
     * unchanged.
     *
     * @param mixed $threshold
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function whiteThresholdImage($threshold){}

    /**
     * Writes an image to the specified filename
     *
     * Writes an image to the specified filename. If the filename parameter
     * is NULL, the image is written to the filename set by
     * Imagick::readImage() or Imagick::setImageFilename().
     *
     * @param string $filename Filename where to write the image. The
     *   extension of the filename defines the type of the file. Format can
     *   be forced regardless of file extension using format: prefix, for
     *   example "jpg:test.png".
     * @return bool
     **/
    function writeImage($filename){}

    /**
     * Writes an image to a filehandle
     *
     * Writes the image sequence to an open filehandle. The handle must be
     * opened with for example fopen.
     *
     * @param resource $filehandle Filehandle where to write the image
     * @param string $format
     * @return bool
     **/
    function writeImageFile($filehandle, $format){}

    /**
     * Writes an image or image sequence
     *
     * @param string $filename
     * @param bool $adjoin
     * @return bool
     **/
    function writeImages($filename, $adjoin){}

    /**
     * Writes frames to a filehandle
     *
     * Writes all image frames into an open filehandle. This method can be
     * used to write animated gifs or other multiframe images into open
     * filehandle.
     *
     * @param resource $filehandle Filehandle where to write the images
     * @param string $format
     * @return bool
     **/
    function writeImagesFile($filehandle, $format){}

    /**
     * The Imagick constructor
     *
     * Creates an Imagick instance for a specified image or set of images.
     *
     * @param mixed $files The path to an image to load or an array of
     *   paths. Paths can include wildcards for file names, or can be URLs.
     **/
    function __construct($files){}

    /**
     * Returns the image as a string
     *
     * Returns the current image as string. This will only return a single
     * image; it should not be used for Imagick objects that contain multiple
     * images e.g. an animated GIF or PDF with multiple pages.
     *
     * @return string Returns the string content on success or an empty
     *   string on failure.
     **/
    function __toString(){}

}
class ImagickDraw {
    /**
     * Adjusts the current affine transformation matrix
     *
     * Adjusts the current affine transformation matrix with the specified
     * affine transformation matrix.
     *
     * @param array $affine Affine matrix parameters
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function affine($affine){}

    /**
     * Draws text on the image
     *
     * @param float $x The x coordinate where text is drawn
     * @param float $y The y coordinate where text is drawn
     * @param string $text The text to draw on the image
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function annotation($x, $y, $text){}

    /**
     * Draws an arc
     *
     * Draws an arc falling within a specified bounding rectangle on the
     * image.
     *
     * @param float $sx Starting x ordinate of bounding rectangle
     * @param float $sy starting y ordinate of bounding rectangle
     * @param float $ex ending x ordinate of bounding rectangle
     * @param float $ey ending y ordinate of bounding rectangle
     * @param float $sd starting degrees of rotation
     * @param float $ed ending degrees of rotation
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function arc($sx, $sy, $ex, $ey, $sd, $ed){}

    /**
     * Draws a bezier curve
     *
     * Draws a bezier curve through a set of points on the image.
     *
     * @param array $coordinates Multidimensional array like array( array(
     *   'x' => 1, 'y' => 2 ), array( 'x' => 3, 'y' => 4 ) )
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function bezier($coordinates){}

    /**
     * Draws a circle
     *
     * Draws a circle on the image.
     *
     * @param float $ox origin x coordinate
     * @param float $oy origin y coordinate
     * @param float $px perimeter x coordinate
     * @param float $py perimeter y coordinate
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function circle($ox, $oy, $px, $py){}

    /**
     * Clears the ImagickDraw
     *
     * Clears the ImagickDraw object of any accumulated commands, and resets
     * the settings it contains to their defaults.
     *
     * @return bool Returns an ImagickDraw object.
     * @since PECL imagick 2.0.0
     **/
    function clear(){}

    /**
     * Draws color on image
     *
     * Draws color on image using the current fill color, starting at
     * specified position, and using specified paint method.
     *
     * @param float $x x coordinate of the paint
     * @param float $y y coordinate of the paint
     * @param int $paintMethod one of the PAINT_ constants
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function color($x, $y, $paintMethod){}

    /**
     * Adds a comment
     *
     * Adds a comment to a vector output stream.
     *
     * @param string $comment The comment string to add to vector output
     *   stream
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function comment($comment){}

    /**
     * Composites an image onto the current image
     *
     * Composites an image onto the current image, using the specified
     * composition operator, specified position, and at the specified size.
     *
     * @param int $compose composition operator. One of COMPOSITE_
     *   constants
     * @param float $x x coordinate of the top left corner
     * @param float $y y coordinate of the top left corner
     * @param float $width width of the composition image
     * @param float $height height of the composition image
     * @param Imagick $compositeWand the Imagick object where composition
     *   image is taken from
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function composite($compose, $x, $y, $width, $height, $compositeWand){}

    /**
     * Frees all associated resources
     *
     * Frees all resources associated with the ImagickDraw object.
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function destroy(){}

    /**
     * Draws an ellipse on the image
     *
     * @param float $ox
     * @param float $oy
     * @param float $rx
     * @param float $ry
     * @param float $start
     * @param float $end
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function ellipse($ox, $oy, $rx, $ry, $start, $end){}

    /**
     * Obtains the current clipping path ID
     *
     * @return string Returns a string containing the clip path ID or false
     *   if no clip path exists.
     * @since PECL imagick 2.0.0
     **/
    function getClipPath(){}

    /**
     * Returns the current polygon fill rule
     *
     * Returns the current polygon fill rule to be used by the clipping path.
     *
     * @return int Returns one of the FILLRULE_ constants.
     * @since PECL imagick 2.0.0
     **/
    function getClipRule(){}

    /**
     * Returns the interpretation of clip path units
     *
     * @return int Returns an int on success.
     * @since PECL imagick 2.0.0
     **/
    function getClipUnits(){}

    /**
     * Returns the fill color
     *
     * Returns the fill color used for drawing filled objects.
     *
     * @return ImagickPixel Returns an ImagickPixel object.
     * @since PECL imagick 2.0.0
     **/
    function getFillColor(){}

    /**
     * Returns the opacity used when drawing
     *
     * Returns the opacity used when drawing using the fill color or fill
     * texture. Fully opaque is 1.0.
     *
     * @return float The opacity.
     * @since PECL imagick 2.0.0
     **/
    function getFillOpacity(){}

    /**
     * Returns the fill rule
     *
     * Returns the fill rule used while drawing polygons.
     *
     * @return int Returns a FILLRULE_ constant
     * @since PECL imagick 2.0.0
     **/
    function getFillRule(){}

    /**
     * Returns the font
     *
     * Returns a string specifying the font used when annotating with text.
     *
     * @return string Returns a string on success and false if no font is
     *   set.
     * @since PECL imagick 2.0.0
     **/
    function getFont(){}

    /**
     * Returns the font family
     *
     * Returns the font family to use when annotating with text.
     *
     * @return string Returns the font family currently selected or false
     *   if font family is not set.
     * @since PECL imagick 2.0.0
     **/
    function getFontFamily(){}

    /**
     * Returns the font pointsize
     *
     * Returns the font pointsize used when annotating with text.
     *
     * @return float Returns the font size associated with the current
     *   ImagickDraw object.
     * @since PECL imagick 2.0.0
     **/
    function getFontSize(){}

    /**
     * Gets the font stretch to use when annotating with text. Returns a
     * StretchType.
     *
     * @return int
     **/
    public function getFontStretch(){}

    /**
     * Returns the font style
     *
     * Returns the font style used when annotating with text.
     *
     * @return int Returns the font style constant (STYLE_) associated with
     *   the ImagickDraw object or 0 if no style is set.
     * @since PECL imagick 2.0.0
     **/
    function getFontStyle(){}

    /**
     * Returns the font weight
     *
     * Returns the font weight used when annotating with text.
     *
     * @return int Returns an int on success and 0 if no weight is set.
     * @since PECL imagick 2.0.0
     **/
    function getFontWeight(){}

    /**
     * Returns the text placement gravity
     *
     * Returns the text placement gravity used when annotating with text.
     *
     * @return int Returns a GRAVITY_ constant on success and 0 if no
     *   gravity is set.
     * @since PECL imagick 2.0.0
     **/
    function getGravity(){}

    /**
     * Returns the current stroke antialias setting
     *
     * Returns the current stroke antialias setting. Stroked outlines are
     * antialiased by default. When antialiasing is disabled stroked pixels
     * are thresholded to determine if the stroke color or underlying canvas
     * color should be used.
     *
     * @return bool Returns TRUE if antialiasing is on and false if it is
     *   off.
     * @since PECL imagick 2.0.0
     **/
    function getStrokeAntialias(){}

    /**
     * Returns the color used for stroking object outlines
     *
     * @return ImagickPixel Returns an ImagickPixel object which describes
     *   the color.
     * @since PECL imagick 2.0.0
     **/
    function getStrokeColor(){}

    /**
     * Returns an array representing the pattern of dashes and gaps used to
     * stroke paths
     *
     * Returns an array representing the pattern of dashes and gaps used to
     * stroke paths.
     *
     * @return array Returns an array on success and empty array if not
     *   set.
     * @since PECL imagick 2.0.0
     **/
    function getStrokeDashArray(){}

    /**
     * Returns the offset into the dash pattern to start the dash
     *
     * @return float Returns a float representing the offset and 0 if it's
     *   not set.
     * @since PECL imagick 2.0.0
     **/
    function getStrokeDashOffset(){}

    /**
     * Returns the shape to be used at the end of open subpaths when they are
     * stroked
     *
     * Returns the shape to be used at the end of open subpaths when they are
     * stroked.
     *
     * @return int Returns one of the LINECAP_ constants or 0 if stroke
     *   linecap is not set.
     * @since PECL imagick 2.0.0
     **/
    function getStrokeLineCap(){}

    /**
     * Returns the shape to be used at the corners of paths when they are
     * stroked
     *
     * Returns the shape to be used at the corners of paths (or other vector
     * shapes) when they are stroked.
     *
     * @return int Returns one of the LINEJOIN_ constants or 0 if stroke
     *   line join is not set.
     * @since PECL imagick 2.0.0
     **/
    function getStrokeLineJoin(){}

    /**
     * Returns the stroke miter limit
     *
     * Returns the miter limit. When two line segments meet at a sharp angle
     * and miter joins have been specified for 'lineJoin', it is possible for
     * the miter to extend far beyond the thickness of the line stroking the
     * path. The 'miterLimit' imposes a limit on the ratio of the miter
     * length to the 'lineWidth'.
     *
     * @return int Returns an int describing the miter limit and 0 if no
     *   miter limit is set.
     * @since PECL imagick 2.0.0
     **/
    function getStrokeMiterLimit(){}

    /**
     * Returns the opacity of stroked object outlines
     *
     * @return float Returns a double describing the opacity.
     * @since PECL imagick 2.0.0
     **/
    function getStrokeOpacity(){}

    /**
     * Returns the width of the stroke used to draw object outlines
     *
     * @return float Returns a double describing the stroke width.
     * @since PECL imagick 2.0.0
     **/
    function getStrokeWidth(){}

    /**
     * Returns the text alignment
     *
     * Returns the alignment applied when annotating with text.
     *
     * @return int Returns one of the ALIGN_ constants and 0 if no align is
     *   set.
     * @since PECL imagick 2.0.0
     **/
    function getTextAlignment(){}

    /**
     * Returns the current text antialias setting
     *
     * Returns the current text antialias setting, which determines whether
     * text is antialiased. Text is antialiased by default.
     *
     * @return bool Returns TRUE if text is antialiased and false if not.
     * @since PECL imagick 2.0.0
     **/
    function getTextAntialias(){}

    /**
     * Returns the text decoration
     *
     * Returns the decoration applied when annotating with text.
     *
     * @return int Returns one of the DECORATION_ constants and 0 if no
     *   decoration is set.
     * @since PECL imagick 2.0.0
     **/
    function getTextDecoration(){}

    /**
     * Returns the code set used for text annotations
     *
     * Returns a string which specifies the code set used for text
     * annotations.
     *
     * @return string Returns a string specifying the code set or false if
     *   text encoding is not set.
     * @since PECL imagick 2.0.0
     **/
    function getTextEncoding(){}

    /**
     * Gets the text interword spacing.
     *
     * @return float
     **/
    public function getTextInterlineSpacing(){}

    /**
     * Gets the text interword spacing.
     *
     * @return float
     **/
    public function getTextInterwordSpacing(){}

    /**
     * Gets the text kerning.
     *
     * @return float
     **/
    public function getTextKerning(){}

    /**
     * Returns the text under color
     *
     * Returns the color of a background rectangle to place under text
     * annotations.
     *
     * @return ImagickPixel Returns an ImagickPixel object describing the
     *   color.
     * @since PECL imagick 2.0.0
     **/
    function getTextUnderColor(){}

    /**
     * Returns a string containing vector graphics
     *
     * Returns a string which specifies the vector graphics generated by any
     * graphics calls made since the ImagickDraw object was instantiated.
     *
     * @return string Returns a string containing the vector graphics.
     * @since PECL imagick 2.0.0
     **/
    function getVectorGraphics(){}

    /**
     * Draws a line
     *
     * Draws a line on the image using the current stroke color, stroke
     * opacity, and stroke width.
     *
     * @param float $sx starting x coordinate
     * @param float $sy starting y coordinate
     * @param float $ex ending x coordinate
     * @param float $ey ending y coordinate
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function line($sx, $sy, $ex, $ey){}

    /**
     * Paints on the image's opacity channel
     *
     * Paints on the image's opacity channel in order to set effected pixels
     * to transparent, to influence the opacity of pixels.
     *
     * @param float $x x coordinate of the matte
     * @param float $y y coordinate of the matte
     * @param int $paintMethod PAINT_ constant
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function matte($x, $y, $paintMethod){}

    /**
     * Adds a path element to the current path
     *
     * Adds a path element to the current path which closes the current
     * subpath by drawing a straight line from the current point to the
     * current subpath's most recent starting point (usually, the most recent
     * moveto point).
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function pathClose(){}

    /**
     * Draws a cubic Bezier curve
     *
     * Draws a cubic Bezier curve from the current point to (x,y) using
     * (x1,y1) as the control point at the beginning of the curve and (x2,y2)
     * as the control point at the end of the curve using absolute
     * coordinates. At the end of the command, the new current point becomes
     * the final (x,y) coordinate pair used in the polybezier.
     *
     * @param float $x1 x coordinate of the first control point
     * @param float $y1 y coordinate of the first control point
     * @param float $x2 x coordinate of the second control point
     * @param float $y2 y coordinate of the first control point
     * @param float $x x coordinate of the curve end
     * @param float $y y coordinate of the curve end
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function pathCurveToAbsolute($x1, $y1, $x2, $y2, $x, $y){}

    /**
     * Draws a quadratic Bezier curve
     *
     * Draws a quadratic Bezier curve from the current point to (x,y) using
     * (x1,y1) as the control point using absolute coordinates. At the end of
     * the command, the new current point becomes the final (x,y) coordinate
     * pair used in the polybezier.
     *
     * @param float $x1 x coordinate of the control point
     * @param float $y1 y coordinate of the control point
     * @param float $x x coordinate of the end point
     * @param float $y y coordinate of the end point
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function pathCurveToQuadraticBezierAbsolute($x1, $y1, $x, $y){}

    /**
     * Draws a quadratic Bezier curve
     *
     * Draws a quadratic Bezier curve from the current point to (x,y) using
     * (x1,y1) as the control point using relative coordinates. At the end of
     * the command, the new current point becomes the final (x,y) coordinate
     * pair used in the polybezier.
     *
     * @param float $x1 starting x coordinate
     * @param float $y1 starting y coordinate
     * @param float $x ending x coordinate
     * @param float $y ending y coordinate
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function pathCurveToQuadraticBezierRelative($x1, $y1, $x, $y){}

    /**
     * Draws a quadratic Bezier curve
     *
     * Draws a quadratic Bezier curve (using absolute coordinates) from the
     * current point to (x,y). The control point is assumed to be the
     * reflection of the control point on the previous command relative to
     * the current point. (If there is no previous command or if the previous
     * command was not a DrawPathCurveToQuadraticBezierAbsolute,
     * DrawPathCurveToQuadraticBezierRelative,
     * DrawPathCurveToQuadraticBezierSmoothAbsolut or
     * DrawPathCurveToQuadraticBezierSmoothRelative, assume the control point
     * is coincident with the current point.). At the end of the command, the
     * new current point becomes the final (x,y) coordinate pair used in the
     * polybezier.
     *
     * This function cannot be used to continue a cubic Bezier curve
     * smoothly. It can only continue from a quadratic curve smoothly.
     *
     * @param float $x ending x coordinate
     * @param float $y ending y coordinate
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function pathCurveToQuadraticBezierSmoothAbsolute($x, $y){}

    /**
     * Draws a quadratic Bezier curve
     *
     * Draws a quadratic Bezier curve (using relative coordinates) from the
     * current point to (x, y). The control point is assumed to be the
     * reflection of the control point on the previous command relative to
     * the current point. (If there is no previous command or if the previous
     * command was not a DrawPathCurveToQuadraticBezierAbsolute,
     * DrawPathCurveToQuadraticBezierRelative,
     * DrawPathCurveToQuadraticBezierSmoothAbsolut or
     * DrawPathCurveToQuadraticBezierSmoothRelative, assume the control point
     * is coincident with the current point). At the end of the command, the
     * new current point becomes the final (x, y) coordinate pair used in the
     * polybezier.
     *
     * This function cannot be used to continue a cubic Bezier curve
     * smoothly. It can only continue from a quadratic curve smoothly.
     *
     * @param float $x ending x coordinate
     * @param float $y ending y coordinate
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function pathCurveToQuadraticBezierSmoothRelative($x, $y){}

    /**
     * Draws a cubic Bezier curve
     *
     * Draws a cubic Bezier curve from the current point to (x,y) using
     * (x1,y1) as the control point at the beginning of the curve and (x2,y2)
     * as the control point at the end of the curve using relative
     * coordinates. At the end of the command, the new current point becomes
     * the final (x,y) coordinate pair used in the polybezier.
     *
     * @param float $x1 x coordinate of starting control point
     * @param float $y1 y coordinate of starting control point
     * @param float $x2 x coordinate of ending control point
     * @param float $y2 y coordinate of ending control point
     * @param float $x ending x coordinate
     * @param float $y ending y coordinate
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function pathCurveToRelative($x1, $y1, $x2, $y2, $x, $y){}

    /**
     * Draws a cubic Bezier curve
     *
     * Draws a cubic Bezier curve from the current point to (x,y) using
     * absolute coordinates. The first control point is assumed to be the
     * reflection of the second control point on the previous command
     * relative to the current point. (If there is no previous command or if
     * the previous command was not an DrawPathCurveToAbsolute,
     * DrawPathCurveToRelative, DrawPathCurveToSmoothAbsolute or
     * DrawPathCurveToSmoothRelative, assume the first control point is
     * coincident with the current point.) (x2,y2) is the second control
     * point (i.e., the control point at the end of the curve). At the end of
     * the command, the new current point becomes the final (x,y) coordinate
     * pair used in the polybezier.
     *
     * @param float $x2 x coordinate of the second control point
     * @param float $y2 y coordinate of the second control point
     * @param float $x x coordinate of the ending point
     * @param float $y y coordinate of the ending point
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function pathCurveToSmoothAbsolute($x2, $y2, $x, $y){}

    /**
     * Draws a cubic Bezier curve
     *
     * Draws a cubic Bezier curve from the current point to (x,y) using
     * relative coordinates. The first control point is assumed to be the
     * reflection of the second control point on the previous command
     * relative to the current point. (If there is no previous command or if
     * the previous command was not an DrawPathCurveToAbsolute,
     * DrawPathCurveToRelative, DrawPathCurveToSmoothAbsolute or
     * DrawPathCurveToSmoothRelative, assume the first control point is
     * coincident with the current point.) (x2,y2) is the second control
     * point (i.e., the control point at the end of the curve). At the end of
     * the command, the new current point becomes the final (x,y) coordinate
     * pair used in the polybezier.
     *
     * @param float $x2 x coordinate of the second control point
     * @param float $y2 y coordinate of the second control point
     * @param float $x x coordinate of the ending point
     * @param float $y y coordinate of the ending point
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function pathCurveToSmoothRelative($x2, $y2, $x, $y){}

    /**
     * Draws an elliptical arc
     *
     * Draws an elliptical arc from the current point to (x, y) using
     * absolute coordinates. The size and orientation of the ellipse are
     * defined by two radii (rx, ry) and an xAxisRotation, which indicates
     * how the ellipse as a whole is rotated relative to the current
     * coordinate system. The center (cx, cy) of the ellipse is calculated
     * automatically to satisfy the constraints imposed by the other
     * parameters. largeArcFlag and sweepFlag contribute to the automatic
     * calculations and help determine how the arc is drawn. If largeArcFlag
     * is TRUE then draw the larger of the available arcs. If sweepFlag is
     * true, then draw the arc matching a clock-wise rotation.
     *
     * @param float $rx x radius
     * @param float $ry y radius
     * @param float $x_axis_rotation x axis rotation
     * @param bool $large_arc_flag large arc flag
     * @param bool $sweep_flag sweep flag
     * @param float $x x coordinate
     * @param float $y y coordinate
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function pathEllipticArcAbsolute($rx, $ry, $x_axis_rotation, $large_arc_flag, $sweep_flag, $x, $y){}

    /**
     * Draws an elliptical arc
     *
     * Draws an elliptical arc from the current point to (x, y) using
     * relative coordinates. The size and orientation of the ellipse are
     * defined by two radii (rx, ry) and an xAxisRotation, which indicates
     * how the ellipse as a whole is rotated relative to the current
     * coordinate system. The center (cx, cy) of the ellipse is calculated
     * automatically to satisfy the constraints imposed by the other
     * parameters. largeArcFlag and sweepFlag contribute to the automatic
     * calculations and help determine how the arc is drawn. If largeArcFlag
     * is TRUE then draw the larger of the available arcs. If sweepFlag is
     * true, then draw the arc matching a clock-wise rotation.
     *
     * @param float $rx x radius
     * @param float $ry y radius
     * @param float $x_axis_rotation x axis rotation
     * @param bool $large_arc_flag large arc flag
     * @param bool $sweep_flag sweep flag
     * @param float $x x coordinate
     * @param float $y y coordinate
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function pathEllipticArcRelative($rx, $ry, $x_axis_rotation, $large_arc_flag, $sweep_flag, $x, $y){}

    /**
     * Terminates the current path
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function pathFinish(){}

    /**
     * Draws a line path
     *
     * Draws a line path from the current point to the given coordinate using
     * absolute coordinates. The coordinate then becomes the new current
     * point.
     *
     * @param float $x starting x coordinate
     * @param float $y ending x coordinate
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function pathLineToAbsolute($x, $y){}

    /**
     * Draws a horizontal line path
     *
     * Draws a horizontal line path from the current point to the target
     * point using absolute coordinates. The target point then becomes the
     * new current point.
     *
     * @param float $x x coordinate
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function pathLineToHorizontalAbsolute($x){}

    /**
     * Draws a horizontal line
     *
     * Draws a horizontal line path from the current point to the target
     * point using relative coordinates. The target point then becomes the
     * new current point.
     *
     * @param float $x x coordinate
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function pathLineToHorizontalRelative($x){}

    /**
     * Draws a line path
     *
     * Draws a line path from the current point to the given coordinate using
     * relative coordinates. The coordinate then becomes the new current
     * point.
     *
     * @param float $x starting x coordinate
     * @param float $y starting y coordinate
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function pathLineToRelative($x, $y){}

    /**
     * Draws a vertical line
     *
     * Draws a vertical line path from the current point to the target point
     * using absolute coordinates. The target point then becomes the new
     * current point.
     *
     * @param float $y y coordinate
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function pathLineToVerticalAbsolute($y){}

    /**
     * Draws a vertical line path
     *
     * Draws a vertical line path from the current point to the target point
     * using relative coordinates. The target point then becomes the new
     * current point.
     *
     * @param float $y y coordinate
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function pathLineToVerticalRelative($y){}

    /**
     * Starts a new sub-path
     *
     * Starts a new sub-path at the given coordinate using absolute
     * coordinates. The current point then becomes the specified coordinate.
     *
     * @param float $x x coordinate of the starting point
     * @param float $y y coordinate of the starting point
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function pathMoveToAbsolute($x, $y){}

    /**
     * Starts a new sub-path
     *
     * Starts a new sub-path at the given coordinate using relative
     * coordinates. The current point then becomes the specified coordinate.
     *
     * @param float $x target x coordinate
     * @param float $y target y coordinate
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function pathMoveToRelative($x, $y){}

    /**
     * Declares the start of a path drawing list
     *
     * Declares the start of a path drawing list which is terminated by a
     * matching DrawPathFinish() command. All other DrawPath commands must be
     * enclosed between a and a DrawPathFinish() command. This is because
     * path drawing commands are subordinate commands and they do not
     * function by themselves.
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function pathStart(){}

    /**
     * Draws a point
     *
     * Draws a point using the current stroke color and stroke thickness at
     * the specified coordinates.
     *
     * @param float $x point's x coordinate
     * @param float $y point's y coordinate
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function point($x, $y){}

    /**
     * Draws a polygon
     *
     * Draws a polygon using the current stroke, stroke width, and fill color
     * or texture, using the specified array of coordinates.
     *
     * @param array $coordinates multidimensional array like array( array(
     *   'x' => 3, 'y' => 4 ), array( 'x' => 2, 'y' => 6 ) );
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function polygon($coordinates){}

    /**
     * Draws a polyline
     *
     * Draws a polyline using the current stroke, stroke width, and fill
     * color or texture, using the specified array of coordinates.
     *
     * @param array $coordinates array of x and y coordinates: array(
     *   array( 'x' => 4, 'y' => 6 ), array( 'x' => 8, 'y' => 10 ) )
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function polyline($coordinates){}

    /**
     * Destroys the current ImagickDraw in the stack, and returns to the
     * previously pushed ImagickDraw
     *
     * Destroys the current ImagickDraw in the stack, and returns to the
     * previously pushed ImagickDraw. Multiple ImagickDraws may exist. It is
     * an error to attempt to pop more ImagickDraws than have been pushed,
     * and it is proper form to pop all ImagickDraws which have been pushed.
     *
     * @return bool Returns TRUE on success and false on failure.
     * @since PECL imagick 2.0.0
     **/
    function pop(){}

    /**
     * Terminates a clip path definition
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function popClipPath(){}

    /**
     * Terminates a definition list
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function popDefs(){}

    /**
     * Terminates a pattern definition
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function popPattern(){}

    /**
     * Clones the current ImagickDraw and pushes it to the stack
     *
     * Clones the current ImagickDraw to create a new ImagickDraw, which is
     * then added to the ImagickDraw stack. The original drawing
     * ImagickDraw(s) may be returned to by invoking pop(). The ImagickDraws
     * are stored on a ImagickDraw stack. For every Pop there must have
     * already been an equivalent Push.
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function push(){}

    /**
     * Starts a clip path definition
     *
     * Starts a clip path definition which is comprised of any number of
     * drawing commands and terminated by a ImagickDraw::popClipPath()
     * command.
     *
     * @param string $clip_mask_id Clip mask Id
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function pushClipPath($clip_mask_id){}

    /**
     * Indicates that following commands create named elements for early
     * processing
     *
     * Indicates that commands up to a terminating ImagickDraw::popDefs()
     * command create named elements (e.g. clip-paths, textures, etc.) which
     * may safely be processed earlier for the sake of efficiency.
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function pushDefs(){}

    /**
     * Indicates that subsequent commands up to a ImagickDraw::opPattern()
     * command comprise the definition of a named pattern
     *
     * Indicates that subsequent commands up to a DrawPopPattern() command
     * comprise the definition of a named pattern. The pattern space is
     * assigned top left corner coordinates, a width and height, and becomes
     * its own drawing space. Anything which can be drawn may be used in a
     * pattern definition. Named patterns may be used as stroke or brush
     * definitions.
     *
     * @param string $pattern_id the pattern Id
     * @param float $x x coordinate of the top-left corner
     * @param float $y y coordinate of the top-left corner
     * @param float $width width of the pattern
     * @param float $height height of the pattern
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function pushPattern($pattern_id, $x, $y, $width, $height){}

    /**
     * Draws a rectangle
     *
     * Draws a rectangle given two coordinates and using the current stroke,
     * stroke width, and fill settings.
     *
     * @param float $x1 x coordinate of the top left corner
     * @param float $y1 y coordinate of the top left corner
     * @param float $x2 x coordinate of the bottom right corner
     * @param float $y2 y coordinate of the bottom right corner
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function rectangle($x1, $y1, $x2, $y2){}

    /**
     * Renders all preceding drawing commands onto the image
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function render(){}

    /**
     * Resets the vector graphics.
     *
     * @return bool
     **/
    public function resetVectorGraphics(){}

    /**
     * Applies the specified rotation to the current coordinate space
     *
     * @param float $degrees degrees to rotate
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function rotate($degrees){}

    /**
     * Draws a rounded rectangle
     *
     * Draws a rounded rectangle given two coordinates, x & y corner radiuses
     * and using the current stroke, stroke width, and fill settings.
     *
     * @param float $x1 x coordinate of the top left corner
     * @param float $y1 y coordinate of the top left corner
     * @param float $x2 x coordinate of the bottom right
     * @param float $y2 y coordinate of the bottom right
     * @param float $rx x rounding
     * @param float $ry y rounding
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function roundRectangle($x1, $y1, $x2, $y2, $rx, $ry){}

    /**
     * Adjusts the scaling factor
     *
     * Adjusts the scaling factor to apply in the horizontal and vertical
     * directions to the current coordinate space.
     *
     * @param float $x horizontal factor
     * @param float $y vertical factor
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function scale($x, $y){}

    /**
     * Associates a named clipping path with the image
     *
     * Associates a named clipping path with the image. Only the areas drawn
     * on by the clipping path will be modified as long as it remains in
     * effect.
     *
     * @param string $clip_mask the clipping path name
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setClipPath($clip_mask){}

    /**
     * Set the polygon fill rule to be used by the clipping path
     *
     * @param int $fill_rule FILLRULE_ constant
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setClipRule($fill_rule){}

    /**
     * Sets the interpretation of clip path units
     *
     * @param int $clip_units the number of clip units
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setClipUnits($clip_units){}

    /**
     * Sets the opacity to use when drawing using the fill color or fill
     * texture
     *
     * Sets the opacity to use when drawing using the fill color or fill
     * texture. Fully opaque is 1.0.
     *
     * @param float $opacity fill alpha
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setFillAlpha($opacity){}

    /**
     * Sets the fill color to be used for drawing filled objects
     *
     * @param ImagickPixel $fill_pixel ImagickPixel to use to set the color
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setFillColor($fill_pixel){}

    /**
     * Sets the opacity to use when drawing using the fill color or fill
     * texture
     *
     * Sets the opacity to use when drawing using the fill color or fill
     * texture. Fully opaque is 1.0.
     *
     * @param float $fillOpacity the fill opacity
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setFillOpacity($fillOpacity){}

    /**
     * Sets the URL to use as a fill pattern for filling objects
     *
     * Sets the URL to use as a fill pattern for filling objects. Only local
     * URLs ("#identifier") are supported at this time. These local URLs are
     * normally created by defining a named fill pattern with
     * DrawPushPattern/DrawPopPattern.
     *
     * @param string $fill_url URL to use to obtain fill pattern.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setFillPatternURL($fill_url){}

    /**
     * Sets the fill rule to use while drawing polygons
     *
     * @param int $fill_rule FILLRULE_ constant
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setFillRule($fill_rule){}

    /**
     * Sets the fully-specified font to use when annotating with text
     *
     * @param string $font_name
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setFont($font_name){}

    /**
     * Sets the font family to use when annotating with text
     *
     * @param string $font_family the font family
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setFontFamily($font_family){}

    /**
     * Sets the font pointsize to use when annotating with text
     *
     * @param float $pointsize the point size
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setFontSize($pointsize){}

    /**
     * Sets the font stretch to use when annotating with text
     *
     * Sets the font stretch to use when annotating with text. The AnyStretch
     * enumeration acts as a wild-card "don't care" option.
     *
     * @param int $fontStretch STRETCH_ constant
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setFontStretch($fontStretch){}

    /**
     * Sets the font style to use when annotating with text
     *
     * Sets the font style to use when annotating with text. The AnyStyle
     * enumeration acts as a wild-card "don't care" option.
     *
     * @param int $style STYLETYPE_ constant
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setFontStyle($style){}

    /**
     * Sets the font weight
     *
     * Sets the font weight to use when annotating with text.
     *
     * @param int $font_weight
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setFontWeight($font_weight){}

    /**
     * Sets the text placement gravity
     *
     * Sets the text placement gravity to use when annotating with text.
     *
     * @param int $gravity GRAVITY_ constant
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setGravity($gravity){}

    /**
     * Sets the resolution.
     *
     * @param float $x_resolution
     * @param float $y_resolution
     * @return bool
     **/
    public function setResolution($x_resolution, $y_resolution){}

    /**
     * Specifies the opacity of stroked object outlines
     *
     * @param float $opacity opacity
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setStrokeAlpha($opacity){}

    /**
     * Controls whether stroked outlines are antialiased
     *
     * Controls whether stroked outlines are antialiased. Stroked outlines
     * are antialiased by default. When antialiasing is disabled stroked
     * pixels are thresholded to determine if the stroke color or underlying
     * canvas color should be used.
     *
     * @param bool $stroke_antialias the antialias setting
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setStrokeAntialias($stroke_antialias){}

    /**
     * Sets the color used for stroking object outlines
     *
     * @param ImagickPixel $stroke_pixel the stroke color
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setStrokeColor($stroke_pixel){}

    /**
     * Specifies the pattern of dashes and gaps used to stroke paths
     *
     * Specifies the pattern of dashes and gaps used to stroke paths. The
     * strokeDashArray represents an array of numbers that specify the
     * lengths of alternating dashes and gaps in pixels. If an odd number of
     * values is provided, then the list of values is repeated to yield an
     * even number of values. To remove an existing dash array, pass a zero
     * number_elements argument and null dash_array. A typical
     * strokeDashArray_ array might contain the members 5 3 2.
     *
     * @param array $dashArray array of floats
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setStrokeDashArray($dashArray){}

    /**
     * Specifies the offset into the dash pattern to start the dash
     *
     * @param float $dash_offset dash offset
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setStrokeDashOffset($dash_offset){}

    /**
     * Specifies the shape to be used at the end of open subpaths when they
     * are stroked
     *
     * Specifies the shape to be used at the end of open subpaths when they
     * are stroked.
     *
     * @param int $linecap LINECAP_ constant
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setStrokeLineCap($linecap){}

    /**
     * Specifies the shape to be used at the corners of paths when they are
     * stroked
     *
     * Specifies the shape to be used at the corners of paths (or other
     * vector shapes) when they are stroked.
     *
     * @param int $linejoin LINEJOIN_ constant
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setStrokeLineJoin($linejoin){}

    /**
     * Specifies the miter limit
     *
     * Specifies the miter limit. When two line segments meet at a sharp
     * angle and miter joins have been specified for 'lineJoin', it is
     * possible for the miter to extend far beyond the thickness of the line
     * stroking the path. The miterLimit' imposes a limit on the ratio of the
     * miter length to the 'lineWidth'.
     *
     * @param int $miterlimit the miter limit
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setStrokeMiterLimit($miterlimit){}

    /**
     * Specifies the opacity of stroked object outlines
     *
     * @param float $stroke_opacity stroke opacity. 1.0 is fully opaque
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setStrokeOpacity($stroke_opacity){}

    /**
     * Sets the pattern used for stroking object outlines
     *
     * @param string $stroke_url stroke URL
     * @return bool imagick.imagickdraw.return.success;
     * @since PECL imagick 2.0.0
     **/
    function setStrokePatternURL($stroke_url){}

    /**
     * Sets the width of the stroke used to draw object outlines
     *
     * @param float $stroke_width stroke width
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setStrokeWidth($stroke_width){}

    /**
     * Specifies a text alignment
     *
     * Specifies a text alignment to be applied when annotating with text.
     *
     * @param int $alignment ALIGN_ constant
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setTextAlignment($alignment){}

    /**
     * Controls whether text is antialiased
     *
     * Controls whether text is antialiased. Text is antialiased by default.
     *
     * @param bool $antiAlias
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setTextAntialias($antiAlias){}

    /**
     * Specifies a decoration
     *
     * Specifies a decoration to be applied when annotating with text.
     *
     * @param int $decoration DECORATION_ constant
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setTextDecoration($decoration){}

    /**
     * Specifies the text code set
     *
     * Specifies the code set to use for text annotations. The only character
     * encoding which may be specified at this time is "UTF-8" for
     * representing Unicode as a sequence of bytes. Specify an empty string
     * to set text encoding to the system's default. Successful text
     * annotation using Unicode may require fonts designed to support
     * Unicode.
     *
     * @param string $encoding the encoding name
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setTextEncoding($encoding){}

    /**
     * Sets the text interline spacing.
     *
     * @param float $spacing
     * @return bool
     **/
    public function setTextInterlineSpacing($spacing){}

    /**
     * Sets the text interword spacing.
     *
     * @param float $spacing
     * @return bool
     **/
    public function setTextInterwordSpacing($spacing){}

    /**
     * Sets the text kerning
     *
     * @param float $kerning
     * @return bool
     **/
    public function setTextKerning($kerning){}

    /**
     * Specifies the color of a background rectangle
     *
     * Specifies the color of a background rectangle to place under text
     * annotations.
     *
     * @param ImagickPixel $under_color the under color
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setTextUnderColor($under_color){}

    /**
     * Sets the vector graphics
     *
     * Sets the vector graphics associated with the specified ImagickDraw
     * object. Use this method with ImagickDraw::getVectorGraphics() as a
     * method to persist the vector graphics state.
     *
     * @param string $xml xml containing the vector graphics
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setVectorGraphics($xml){}

    /**
     * Sets the overall canvas size
     *
     * Sets the overall canvas size to be recorded with the drawing vector
     * data. Usually this will be specified using the same size as the canvas
     * image. When the vector data is saved to SVG or MVG formats, the
     * viewbox is use to specify the size of the canvas image that a viewer
     * will render the vector data on.
     *
     * @param int $x1 left x coordinate
     * @param int $y1 left y coordinate
     * @param int $x2 right x coordinate
     * @param int $y2 right y coordinate
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setViewbox($x1, $y1, $x2, $y2){}

    /**
     * Skews the current coordinate system in the horizontal direction
     *
     * @param float $degrees degrees to skew
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function skewX($degrees){}

    /**
     * Skews the current coordinate system in the vertical direction
     *
     * @param float $degrees degrees to skew
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function skewY($degrees){}

    /**
     * Applies a translation to the current coordinate system
     *
     * Applies a translation to the current coordinate system which moves the
     * coordinate system origin to the specified coordinate.
     *
     * @param float $x horizontal translation
     * @param float $y vertical translation
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function translate($x, $y){}

    /**
     * The ImagickDraw constructor
     **/
    function __construct(){}

}
class ImagickKernel {
    /**
     * Attach another kernel to this kernel to allow them to both be applied
     * in a single morphology or filter function. Returns the new combined
     * kernel.
     *
     * @param ImagickKernel $ImagickKernel
     * @return void
     * @since PECL imagick >= 3.3.0
     **/
    public function addKernel($ImagickKernel){}

    /**
     * Adds a given amount of the 'Unity' Convolution Kernel to the given
     * pre-scaled and normalized Kernel. This in effect adds that amount of
     * the original image into the resulting convolution kernel. The
     * resulting effect is to convert the defined kernels into blended
     * soft-blurs, unsharp kernels or into sharpening kernels.
     *
     * @param float $scale
     * @return void
     * @since PECL imagick >= 3.3.0
     **/
    public function addUnityKernel($scale){}

    /**
     * Create a kernel from a builtin in kernel. See
     * http://www.imagemagick.org/Usage/morphology/#kernel for examples.
     * Currently the 'rotation' symbols are not supported. Example:
     * $diamondKernel = ImagickKernel::fromBuiltIn(\Imagick::KERNEL_DIAMOND,
     * "2");
     *
     * @param int $kernelType The type of kernel to build e.g.
     *   \Imagick::KERNEL_DIAMOND
     * @param string $kernelString A string that describes the parameters
     *   e.g. "4,2.5"
     * @return ImagickKernel
     * @since PECL imagick >= 3.3.0
     **/
    public static function fromBuiltin($kernelType, $kernelString){}

    /**
     * Create a kernel from an 2d matrix of values. Each value should either
     * be a float (if the element should be used) or 'false' if the element
     * should be skipped. For matrices that are odd sizes in both dimensions
     * the the origin pixel will default to the centre of the kernel. For all
     * other kernel sizes the origin pixel must be specified.
     *
     * @param array $matrix A matrix (i.e. 2d array) of values that define
     *   the kernel. Each element should be either a float value, or FALSE if
     *   that element shouldn't be used by the kernel.
     * @param array $origin Which element of the kernel should be used as
     *   the origin pixel. e.g. For a 3x3 matrix specifying the origin as [2,
     *   2] would specify that the bottom right element should be the origin
     *   pixel.
     * @return ImagickKernel The generated ImagickKernel.
     * @since PECL imagick >= 3.3.0
     **/
    public static function fromMatrix($matrix, $origin){}

    /**
     * Get the 2d matrix of values used in this kernel. The elements are
     * either float for elements that are used or 'false' if the element
     * should be skipped.
     *
     * @return array A matrix (2d array) of the values that represent the
     *   kernel.
     * @since PECL imagick >= 3.3.0
     **/
    public function getMatrix(){}

    /**
     * ScaleKernelInfo() scales the given kernel list by the given amount,
     * with or without normalization of the sum of the kernel values (as per
     * given flags).
     *
     * The exact behaviour of this function depends on the normalization type
     * being used please see
     * http://www.imagemagick.org/api/morphology.php#ScaleKernelInfo for
     * details.
     *
     * Flag should be one of Imagick::NORMALIZE_KERNEL_VALUE,
     * Imagick::NORMALIZE_KERNEL_CORRELATE, Imagick::NORMALIZE_KERNEL_PERCENT
     * or not set.
     *
     * @param float $scale
     * @param int $normalizeFlag
     * @return void
     * @since PECL imagick >= 3.3.0
     **/
    public function scale($scale, $normalizeFlag){}

    /**
     * Separates a linked set of kernels and returns an array of
     * ImagickKernels.
     *
     * @return array
     * @since PECL imagick >= 3.3.0
     **/
    public function separate(){}

}
class ImagickKernelException extends Exception {
}
class ImagickPixel {
    /**
     * Clears resources associated with this object
     *
     * Clears the ImagickPixel object, leaving it in a fresh state. This also
     * unsets any color associated with the object.
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function clear(){}

    /**
     * Deallocates resources associated with this object
     *
     * Deallocates any resources used by the ImagickPixel object, and unsets
     * any associated color. The object should not be used after the destroy
     * function has been called.
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function destroy(){}

    /**
     * Returns the color
     *
     * Returns the color described by the ImagickPixel object, as an array.
     * If the color has an opacity channel set, this is provided as a fourth
     * value in the list.
     *
     * @param int $normalized Normalize the color values
     * @return array An array of channel values, each normalized if TRUE is
     *   given as param. Throws ImagickPixelException on error.
     * @since PECL imagick 2.0.0
     **/
    function getColor($normalized){}

    /**
     * Returns the color as a string
     *
     * Returns the color of the ImagickPixel object as a string.
     *
     * @return string Returns the color of the ImagickPixel object as a
     *   string.
     * @since PECL imagick 2.1.0
     **/
    function getColorAsString(){}

    /**
     * Returns the color count associated with this color
     *
     * The color count is the number of pixels in the image that have the
     * same color as this ImagickPixel.
     *
     * ImagickPixel::getColorCount appears to only work for ImagickPixel
     * objects created through Imagick::getImageHistogram()
     *
     * @return int Returns the color count as an integer on success, throws
     *   ImagickPixelException on failure.
     * @since PECL imagick 2.0.0
     **/
    function getColorCount(){}

    /**
     * Returns the color of the pixel in an array as Quantum values. If
     * ImageMagick was compiled as HDRI these will be floats, otherwise they
     * will be integers.
     *
     * @return array Returns an array with keys "r", "g", "b", "a".
     **/
    public function getColorQuantum(){}

    /**
     * Gets the normalized value of the provided color channel
     *
     * Retrieves the value of the color channel specified, as a
     * floating-point number between 0 and 1.
     *
     * @param int $color The color to get the value of, specified as one of
     *   the Imagick color constants. This can be one of the RGB colors, CMYK
     *   colors, alpha and opacity e.g (Imagick::COLOR_BLUE,
     *   Imagick::COLOR_MAGENTA).
     * @return float The value of the channel, as a normalized
     *   floating-point number, throwing ImagickPixelException on error.
     * @since PECL imagick 2.0.0
     **/
    function getColorValue($color){}

    /**
     * Gets the quantum value of a color in the ImagickPixel. Return value is
     * a float if ImageMagick was compiled with HDRI, otherwise an integer.
     *
     * @param int $color
     * @return number The quantum value of the color element. Float if
     *   ImageMagick was compiled with HDRI, otherwise an int.
     **/
    public function getColorValueQuantum($color){}

    /**
     * Returns the normalized HSL color of the ImagickPixel object
     *
     * Returns the normalized HSL color described by the ImagickPixel object,
     * with each of the three values as floating point numbers between 0.0
     * and 1.0.
     *
     * @return array Returns the HSL value in an array with the keys "hue",
     *   "saturation", and "luminosity". Throws ImagickPixelException on
     *   failure.
     * @since PECL imagick 2.0.0
     **/
    function getHSL(){}

    /**
     * Gets the colormap index of the pixel wand.
     *
     * @return int
     **/
    public function getIndex(){}

    /**
     * Check the distance between this color and another
     *
     * Checks the distance between the color described by this ImagickPixel
     * object and that of the provided object, by plotting their RGB values
     * on the color cube. If the distance between the two points is less than
     * the fuzz value given, the colors are similar. This method replaces
     * ImagickPixel::isSimilar() and correctly normalises the fuzz value to
     * ImageMagick QuantumRange.
     *
     * @param ImagickPixel $color The ImagickPixel object to compare this
     *   object against.
     * @param float $fuzz The maximum distance within which to consider
     *   these colors as similar. The theoretical maximum for this value is
     *   the square root of three (1.732).
     * @return bool
     **/
    function isPixelSimilar($color, $fuzz){}

    /**
     * Returns true if the distance between two colors is less than the
     * specified distance. The fuzz value should be in the range
     * 0-QuantumRange. The maximum value represents the longest possible
     * distance in the colorspace. e.g. from RGB(0, 0, 0) to RGB(255, 255,
     * 255) for the RGB colorspace
     *
     * @param string $color
     * @param string $fuzz
     * @return bool
     **/
    public function isPixelSimilarQuantum($color, $fuzz){}

    /**
     * Check the distance between this color and another
     *
     * Checks the distance between the color described by this ImagickPixel
     * object and that of the provided object, by plotting their RGB values
     * on the color cube. If the distance between the two points is less than
     * the fuzz value given, the colors are similar. Deprecated in favour of
     * ImagickPixel::isPixelSimilar().
     *
     * @param ImagickPixel $color The ImagickPixel object to compare this
     *   object against.
     * @param float $fuzz The maximum distance within which to consider
     *   these colors as similar. The theoretical maximum for this value is
     *   the square root of three (1.732).
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function isSimilar($color, $fuzz){}

    /**
     * Sets the color
     *
     * Sets the color described by the ImagickPixel object, with a string
     * (e.g. "blue", "#0000ff", "rgb(0,0,255)", "cmyk(100,100,100,10)",
     * etc.).
     *
     * @param string $color The color definition to use in order to
     *   initialise the ImagickPixel object.
     * @return bool Returns TRUE if the specified color was set, FALSE
     *   otherwise.
     * @since PECL imagick 2.0.0
     **/
    function setColor($color){}

    /**
     * Sets the color count associated with this color.
     *
     * @param int $colorCount
     * @return bool
     **/
    public function setcolorcount($colorCount){}

    /**
     * Sets the normalized value of one of the channels
     *
     * Sets the value of the specified channel of this object to the provided
     * value, which should be between 0 and 1. This function can be used to
     * provide an opacity channel to an ImagickPixel object.
     *
     * @param int $color One of the Imagick color constants e.g.
     *   \Imagick::COLOR_GREEN or \Imagick::COLOR_ALPHA.
     * @param float $value The value to set this channel to, ranging from 0
     *   to 1.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setColorValue($color, $value){}

    /**
     * Sets the quantum value of a color element of the ImagickPixel.
     *
     * @param int $color Which color element to set e.g.
     *   \Imagick::COLOR_GREEN.
     * @param number $value The quantum value to set the color element to.
     *   This should be a float if ImageMagick was compiled with HDRI
     *   otherwise an int in the range 0 to Imagick::getQuantum().
     * @return bool
     **/
    public function setColorValueQuantum($color, $value){}

    /**
     * Sets the normalized HSL color
     *
     * Sets the color described by the ImagickPixel object using normalized
     * values for hue, saturation and luminosity.
     *
     * @param float $hue The normalized value for hue, described as a
     *   fractional arc (between 0 and 1) of the hue circle, where the zero
     *   value is red.
     * @param float $saturation The normalized value for saturation, with 1
     *   as full saturation.
     * @param float $luminosity The normalized value for luminosity, on a
     *   scale from black at 0 to white at 1, with the full HS value at 0.5
     *   luminosity.
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setHSL($hue, $saturation, $luminosity){}

    /**
     * Sets the colormap index of the pixel wand.
     *
     * @param int $index
     * @return bool
     **/
    public function setIndex($index){}

    /**
     * The ImagickPixel constructor
     *
     * Constructs an ImagickPixel object. If a color is specified, the object
     * is constructed and then initialised with that color before being
     * returned.
     *
     * @param string $color The optional color string to use as the initial
     *   value of this object.
     * @since PECL imagick 2.0.0
     **/
    function __construct($color){}

}
class ImagickPixelIterator {
    /**
     * Clear resources associated with a PixelIterator
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function clear(){}

    /**
     * Deallocates resources associated with a PixelIterator
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function destroy(){}

    /**
     * Returns the current row of ImagickPixel objects
     *
     * Returns the current row as an array of ImagickPixel objects from the
     * pixel iterator.
     *
     * @return array Returns a row as an array of ImagickPixel objects that
     *   can themselves be iterated.
     * @since PECL imagick 2.0.0
     **/
    function getCurrentIteratorRow(){}

    /**
     * Returns the current pixel iterator row
     *
     * @return int Returns the integer offset of the row, throwing
     *   ImagickPixelIteratorException on error.
     * @since PECL imagick 2.0.0
     **/
    function getIteratorRow(){}

    /**
     * Returns the next row of the pixel iterator
     *
     * Returns the next row as an array of pixel wands from the pixel
     * iterator.
     *
     * @return array Returns the next row as an array of ImagickPixel
     *   objects, throwing ImagickPixelIteratorException on error.
     * @since PECL imagick 2.0.0
     **/
    function getNextIteratorRow(){}

    /**
     * Returns the previous row
     *
     * Returns the previous row as an array of pixel wands from the pixel
     * iterator.
     *
     * @return array Returns the previous row as an array of
     *   ImagickPixelWand objects from the ImagickPixelIterator, throwing
     *   ImagickPixelIteratorException on error.
     * @since PECL imagick 2.0.0
     **/
    function getPreviousIteratorRow(){}

    /**
     * Returns a new pixel iterator
     *
     * @param Imagick $wand
     * @return bool Throwing ImagickPixelIteratorException.
     * @since PECL imagick 2.0.0
     **/
    function newPixelIterator($wand){}

    /**
     * Returns a new pixel iterator
     *
     * @param Imagick $wand
     * @param int $x
     * @param int $y
     * @param int $columns
     * @param int $rows
     * @return bool Returns a new ImagickPixelIterator on success; on
     *   failure, throws ImagickPixelIteratorException.
     * @since PECL imagick 2.0.0
     **/
    function newPixelRegionIterator($wand, $x, $y, $columns, $rows){}

    /**
     * Resets the pixel iterator
     *
     * Resets the pixel iterator. Use it in conjunction with
     * ImagickPixelIterator::getNextIteratorRow() to iterate over all the
     * pixels in a pixel container.
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function resetIterator(){}

    /**
     * Sets the pixel iterator to the first pixel row
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setIteratorFirstRow(){}

    /**
     * Sets the pixel iterator to the last pixel row
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setIteratorLastRow(){}

    /**
     * Set the pixel iterator row
     *
     * @param int $row
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function setIteratorRow($row){}

    /**
     * Syncs the pixel iterator
     *
     * @return bool
     * @since PECL imagick 2.0.0
     **/
    function syncIterator(){}

    /**
     * The ImagickPixelIterator constructor
     *
     * @param Imagick $wand
     * @since PECL imagick 2.0.0
     **/
    function __construct($wand){}

}
/**
 * The InfiniteIterator allows one to infinitely iterate over an iterator
 * without having to manually rewind the iterator upon reaching its end.
 **/
class InfiniteIterator extends IteratorIterator implements OuterIterator {
    /**
     * Moves the inner Iterator forward or rewinds it
     *
     * Moves the inner Iterator forward to its next element if there is one,
     * otherwise rewinds the inner Iterator back to the beginning.
     *
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function next(){}

    /**
     * Constructs an InfiniteIterator
     *
     * Constructs an InfiniteIterator from an Iterator.
     *
     * @param Iterator $iterator The iterator to infinitely iterate over.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function __construct($iterator){}

}
/**
 * A “break iterator” is an ICU object that exposes methods for
 * locating boundaries in text (e.g. word or sentence boundaries). The
 * PHP IntlBreakIterator serves as the base class for all types of ICU
 * break iterators. Where extra functionality is available, the intl
 * extension may expose the ICU break iterator with suitable subclasses,
 * such as IntlRuleBasedBreakIterator or IntlCodePointBreakIterator. This
 * class implements Traversable. Traversing an IntlBreakIterator yields
 * non-negative integer values representing the successive locations of
 * the text boundaries, expressed as UTF-8 code units (byte) counts,
 * taken from the beggining of the text (which has the location 0). The
 * keys yielded by the iterator simply form the sequence of natural
 * numbers {0, 1, 2, …}.
 **/
class IntlBreakIterator implements Traversable {
    /**
     * @var integer
     **/
    const DONE = 0;

    /**
     * @var integer
     **/
    const LINE_HARD = 0;

    /**
     * @var integer
     **/
    const LINE_HARD_LIMIT = 0;

    /**
     * @var integer
     **/
    const LINE_SOFT = 0;

    /**
     * @var integer
     **/
    const LINE_SOFT_LIMIT = 0;

    /**
     * @var integer
     **/
    const SENTENCE_SEP = 0;

    /**
     * @var integer
     **/
    const SENTENCE_SEP_LIMIT = 0;

    /**
     * @var integer
     **/
    const SENTENCE_TERM = 0;

    /**
     * @var integer
     **/
    const SENTENCE_TERM_LIMIT = 0;

    /**
     * @var integer
     **/
    const WORD_IDEO = 0;

    /**
     * @var integer
     **/
    const WORD_IDEO_LIMIT = 0;

    /**
     * @var integer
     **/
    const WORD_KANA = 0;

    /**
     * @var integer
     **/
    const WORD_KANA_LIMIT = 0;

    /**
     * @var integer
     **/
    const WORD_LETTER = 0;

    /**
     * @var integer
     **/
    const WORD_LETTER_LIMIT = 0;

    /**
     * @var integer
     **/
    const WORD_NONE = 0;

    /**
     * @var integer
     **/
    const WORD_NONE_LIMIT = 0;

    /**
     * @var integer
     **/
    const WORD_NUMBER = 0;

    /**
     * @var integer
     **/
    const WORD_NUMBER_LIMIT = 0;

    /**
     * Create break iterator for boundaries of combining character sequences
     *
     * @param string $locale
     * @return IntlBreakIterator
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public static function createCharacterInstance($locale){}

    /**
     * Create break iterator for boundaries of code points
     *
     * @return IntlBreakIterator
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public static function createCodePointInstance(){}

    /**
     * Create break iterator for logically possible line breaks
     *
     * @param string $locale
     * @return IntlBreakIterator
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public static function createLineInstance($locale){}

    /**
     * Create break iterator for sentence breaks
     *
     * @param string $locale
     * @return IntlBreakIterator
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public static function createSentenceInstance($locale){}

    /**
     * Create break iterator for title-casing breaks
     *
     * @param string $locale
     * @return IntlBreakIterator
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public static function createTitleInstance($locale){}

    /**
     * Create break iterator for word breaks
     *
     * @param string $locale
     * @return IntlBreakIterator
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public static function createWordInstance($locale){}

    /**
     * Get index of current position
     *
     * @return int
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function current(){}

    /**
     * Set position to the first character in the text
     *
     * @return int
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function first(){}

    /**
     * Advance the iterator to the first boundary following specified offset
     *
     * @param int $offset
     * @return int
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function following($offset){}

    /**
     * Get last error code on the object
     *
     * @return int
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function getErrorCode(){}

    /**
     * Get last error message on the object
     *
     * @return string
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function getErrorMessage(){}

    /**
     * Get the locale associated with the object
     *
     * @param string $locale_type
     * @return string
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function getLocale($locale_type){}

    /**
     * Create iterator for navigating fragments between boundaries
     *
     * @param int $key_type Optional key type. Possible values are:
     *   IntlPartsIterator::KEY_SEQUENTIAL - The default. Sequentially
     *   increasing integers used as key. IntlPartsIterator::KEY_LEFT - Byte
     *   offset left of current part used as key.
     *   IntlPartsIterator::KEY_RIGHT - Byte offset right of current part
     *   used as key.
     * @return IntlPartsIterator
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function getPartsIterator($key_type){}

    /**
     * Get the text being scanned
     *
     * @return string
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function getText(){}

    /**
     * Tell whether an offset is a boundaryʼs offset
     *
     * @param int $offset
     * @return bool
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function isBoundary($offset){}

    /**
     * Set the iterator position to index beyond the last character
     *
     * @return int
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function last(){}

    /**
     * Advance the iterator the next boundary
     *
     * @param int $offset
     * @return int
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function next($offset){}

    /**
     * Set the iterator position to the first boundary before an offset
     *
     * @param int $offset
     * @return int
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function preceding($offset){}

    /**
     * Set the iterator position to the boundary immediately before the
     * current
     *
     * @return int
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function previous(){}

    /**
     * Set the text being scanned
     *
     * @param string $text
     * @return bool
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function setText($text){}

    /**
     * Private constructor for disallowing instantiation
     *
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    private function __construct(){}

}
class IntlCalendar {
    /**
     * @var integer
     **/
    const DOW_FRIDAY = 0;

    /**
     * @var integer
     **/
    const DOW_MONDAY = 0;

    /**
     * @var integer
     **/
    const DOW_SATURDAY = 0;

    /**
     * @var integer
     **/
    const DOW_SUNDAY = 0;

    /**
     * @var integer
     **/
    const DOW_THURSDAY = 0;

    /**
     * @var integer
     **/
    const DOW_TUESDAY = 0;

    /**
     * @var integer
     **/
    const DOW_TYPE_WEEKDAY = 0;

    /**
     * @var integer
     **/
    const DOW_TYPE_WEEKEND = 0;

    /**
     * @var integer
     **/
    const DOW_TYPE_WEEKEND_CEASE = 0;

    /**
     * @var integer
     **/
    const DOW_TYPE_WEEKEND_OFFSET = 0;

    /**
     * @var integer
     **/
    const DOW_WEDNESDAY = 0;

    /**
     * @var integer
     **/
    const FIELD_AM_PM = 0;

    /**
     * @var integer
     **/
    const FIELD_DATE = 0;

    /**
     * @var integer
     **/
    const FIELD_DAY_OF_MONTH = 0;

    /**
     * @var integer
     **/
    const FIELD_DAY_OF_WEEK = 0;

    /**
     * @var integer
     **/
    const FIELD_DAY_OF_WEEK_IN_MONTH = 0;

    /**
     * @var integer
     **/
    const FIELD_DAY_OF_YEAR = 0;

    /**
     * @var integer
     **/
    const FIELD_DOW_LOCAL = 0;

    /**
     * @var integer
     **/
    const FIELD_DST_OFFSET = 0;

    /**
     * @var integer
     **/
    const FIELD_ERA = 0;

    /**
     * @var integer
     **/
    const FIELD_EXTENDED_YEAR = 0;

    /**
     * @var integer
     **/
    const FIELD_FIELD_COUNT  = 0;

    /**
     * @var integer
     **/
    const FIELD_HOUR = 0;

    /**
     * @var integer
     **/
    const FIELD_HOUR_OF_DAY = 0;

    /**
     * @var integer
     **/
    const FIELD_IS_LEAP_MONTH = 0;

    /**
     * @var integer
     **/
    const FIELD_JULIAN_DAY = 0;

    /**
     * @var integer
     **/
    const FIELD_MILLISECOND = 0;

    /**
     * @var integer
     **/
    const FIELD_MILLISECONDS_IN_DAY = 0;

    /**
     * @var integer
     **/
    const FIELD_MINUTE = 0;

    /**
     * @var integer
     **/
    const FIELD_MONTH = 0;

    /**
     * @var integer
     **/
    const FIELD_SECOND = 0;

    /**
     * @var integer
     **/
    const FIELD_WEEK_OF_MONTH = 0;

    /**
     * @var integer
     **/
    const FIELD_WEEK_OF_YEAR = 0;

    /**
     * @var integer
     **/
    const FIELD_YEAR = 0;

    /**
     * @var integer
     **/
    const FIELD_YEAR_WOY = 0;

    /**
     * @var integer
     **/
    const FIELD_ZONE_OFFSET = 0;

    /**
     * @var integer
     **/
    const WALLTIME_FIRST = 0;

    /**
     * @var integer
     **/
    const WALLTIME_LAST = 0;

    /**
     * @var integer
     **/
    const WALLTIME_NEXT_VALID = 0;

    /**
     * Add a (signed) amount of time to a field
     *
     * Add a signed amount to a field. Adding a positive amount allows
     * advances in time, even if the numeric value of the field decreases
     * (e.g. when working with years in BC dates).
     *
     * Other fields may need to adjusted – for instance, adding a month to
     * the 31st of January will result in the 28th (or 29th) of February.
     * Contrary to {@link IntlCalendar::roll}, when a value wraps around,
     * more significant fields may change. For instance, adding a day to the
     * 31st of January will result in the 1st of February, not the 1st of
     * Janurary.
     *
     * @param int $field The IntlCalendar resource.
     * @param int $amount
     * @return bool Returns TRUE on success.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function add($field, $amount){}

    /**
     * Whether this objectʼs time is after that of the passed object
     *
     * Returns whether this objectʼs time succeeds the argumentʼs time.
     *
     * @param IntlCalendar $other The IntlCalendar resource.
     * @return bool Returns TRUE if this objectʼs current time is after
     *   that of the {@link calendar} argumentʼs time. Returns FALSE
     *   otherwise. Also returns FALSE on failure. You can use exceptions or
     *   {@link intl_get_error_code} to detect error conditions.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function after($other){}

    /**
     * Whether this objectʼs time is before that of the passed object
     *
     * Returns whether this objectʼs time precedes the argumentʼs time.
     *
     * @param IntlCalendar $other The IntlCalendar resource.
     * @return bool Returns TRUE if this objectʼs current time is before
     *   that of the {@link calendar} argumentʼs time. Returns FALSE
     *   otherwise. Also returns FALSE on failure. You can use exceptions or
     *   {@link intl_get_error_code} to detect error conditions.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function before($other){}

    /**
     * Clear a field or all fields
     *
     * Clears either all of the fields or a specific field. A cleared field
     * is marked as unset, giving it the lowest priority against overlapping
     * fields or even default values when calculating the time. Additionally,
     * its value is set to 0, though given the fieldʼs low priority, its
     * value may have been internally set to another value by the time the
     * field has finished been queried.
     *
     * @param int $field The IntlCalendar resource.
     * @return bool Returns TRUE on success. Failure can only occur is
     *   invalid arguments are provided.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function clear($field){}

    /**
     * Create a new IntlCalendar
     *
     * Given a timezone and locale, this method creates an IntlCalendar
     * object. This factory method may return a subclass of IntlCalendar.
     *
     * The calendar created will represent the time instance at which it was
     * created, based on the system time. The fields can all be cleared by
     * calling {@link IntCalendar::clear} with no arguments. See also {@link
     * IntlGregorianCalendar::__construct}.
     *
     * @param mixed $timeZone The timezone to use.
     * @param string $locale A locale to use or NULL to use the default
     *   locale.
     * @return IntlCalendar The created IntlCalendar instance or NULL on
     *   failure.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public static function createInstance($timeZone, $locale){}

    /**
     * Compare time of two IntlCalendar objects for equality
     *
     * Returns true if this calendar and the given calendar have the same
     * time. The settings, calendar types and field states do not have to be
     * the same.
     *
     * @param IntlCalendar $other The IntlCalendar resource.
     * @return bool Returns TRUE if the current time of both this and the
     *   passed in IntlCalendar object are the same, or FALSE otherwise. The
     *   value FALSE can also be returned on failure. This can only happen if
     *   bad arguments are passed in. In any case, the two cases can be
     *   distinguished by calling {@link intl_get_error_code}.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function equals($other){}

    /**
     * Calculate difference between given time and this objectʼs time
     *
     * Return the difference between the given time and the time this object
     * is set to, with respect to the quantity specified the {@link field}
     * parameter.
     *
     * This method is meant to be called successively, first with the most
     * significant field of interest down to the least significant field. To
     * this end, as a side effect, this calendarʼs value for the field
     * specified is advanced by the amount returned.
     *
     * @param float $when The IntlCalendar resource.
     * @param int $field The time against which to compare the quantity
     *   represented by the {@link field}. For the result to be positive, the
     *   time given for this parameter must be ahead of the time of the
     *   object the method is being invoked on.
     * @return int Returns a (signed) difference of time in the unit
     *   associated with the specified field.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function fieldDifference($when, $field){}

    /**
     * Create an IntlCalendar from a DateTime object or string
     *
     * Creates an IntlCalendar object either from a DateTime object or from a
     * string from which a DateTime object can be built.
     *
     * The new calendar will represent not only the same instant as the given
     * DateTime (subject to precision loss for dates very far into the past
     * or future), but also the same timezone (subject to the caveat that
     * different timezone databases will be used, and therefore the results
     * may differ).
     *
     * @param mixed $dateTime A DateTime object or a string that can be
     *   passed to {@link DateTime::__construct}.
     * @return IntlCalendar The created IntlCalendar object or NULL in case
     *   of failure. If a string is passed, any exception that occurs inside
     *   the DateTime constructor is propagated.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a2
     **/
    public static function fromDateTime($dateTime){}

    /**
     * Get the value for a field
     *
     * Gets the value for a specific field.
     *
     * @param int $field The IntlCalendar resource.
     * @return int An integer with the value of the time field.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function get($field){}

    /**
     * The maximum value for a field, considering the objectʼs current time
     *
     * Returns a fieldʼs relative maximum value around the current time. The
     * exact semantics vary by field, but in the general case this is the
     * value that would be obtained if one would set the field value into the
     * smallest relative maximum for the field and would increment it until
     * reaching the global maximum or the field value wraps around, in which
     * the value returned would be the global maximum or the value before the
     * wrapping, respectively.
     *
     * For instance, in the gregorian calendar, the actual maximum value for
     * the day of month would vary between 28 and 31, depending on the month
     * and year of the current time.
     *
     * @param int $field The IntlCalendar resource.
     * @return int An int representing the maximum value in the units
     *   associated with the given {@link field}.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getActualMaximum($field){}

    /**
     * The minimum value for a field, considering the objectʼs current time
     *
     * Returns a fieldʼs relative minimum value around the current time. The
     * exact semantics vary by field, but in the general case this is the
     * value that would be obtained if one would set the field value into the
     * greatest relative minimum for the field and would decrement it until
     * reaching the global minimum or the field value wraps around, in which
     * the value returned would be the global minimum or the value before the
     * wrapping, respectively.
     *
     * For the Gregorian calendar, this is always the same as {@link
     * IntlCalendar::getMinimum}.
     *
     * @param int $field The IntlCalendar resource.
     * @return int An int representing the minimum value in the fieldʼs
     *   unit.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getActualMinimum($field){}

    /**
     * Get array of locales for which there is data
     *
     * Gives the list of locales for which calendars are installed. As of ICU
     * 51, this is the list of all installed ICU locales.
     *
     * @return array An array of strings, one for which locale.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public static function getAvailableLocales(){}

    /**
     * Tell whether a day is a weekday, weekend or a day that has a
     * transition between the two
     *
     * Returns whether the passed day is a weekday
     * (IntlCalendar::DOW_TYPE_WEEKDAY), a weekend day
     * (IntlCalendar::DOW_TYPE_WEEKEND), a day during which a transition
     * occurs into the weekend (IntlCalendar::DOW_TYPE_WEEKEND_OFFSET) or a
     * day during which the weekend ceases
     * (IntlCalendar::DOW_TYPE_WEEKEND_CEASE).
     *
     * If the return is either IntlCalendar::DOW_TYPE_WEEKEND_OFFSET or
     * IntlCalendar::DOW_TYPE_WEEKEND_CEASE, then {@link
     * IntlCalendar::getWeekendTransition} can be called to obtain the time
     * of the transition.
     *
     * This function requires ICU 4.4 or later.
     *
     * @param int $dayOfWeek The IntlCalendar resource.
     * @return int Returns one of the constants
     *   IntlCalendar::DOW_TYPE_WEEKDAY, IntlCalendar::DOW_TYPE_WEEKEND,
     *   IntlCalendar::DOW_TYPE_WEEKEND_OFFSET or
     *   IntlCalendar::DOW_TYPE_WEEKEND_CEASE.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getDayOfWeekType($dayOfWeek){}

    /**
     * Get last error code on the object
     *
     * Returns the numeric ICU error code for the last call on this object
     * (including cloning) or the IntlCalendar given for the {@link calendar}
     * parameter (in the procedural‒style version). This may indicate only
     * a warning (negative error code) or no error at all (U_ZERO_ERROR). The
     * actual presence of an error can be tested with {@link
     * intl_is_failure}.
     *
     * Invalid arguments detected on the PHP side (before invoking functions
     * of the ICU library) are not recorded for the purposes of this
     * function.
     *
     * The last error that occurred in any call to a function of the intl
     * extension, including early argument errors, can be obtained with
     * {@link intl_get_error_code}. This function resets the global error
     * code, but not the objectʼs error code.
     *
     * @return int An ICU error code indicating either success, failure or
     *   a warning.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getErrorCode(){}

    /**
     * Get last error message on the object
     *
     * Returns the error message (if any) associated with the error reported
     * by {@link IntlCalendar::getErrorCode} or {@link
     * intlcal_get_error_code}. If there is no associated error message, only
     * the string representation of the name of the error constant will be
     * returned. Otherwise, the message also includes a message set on the
     * side of the PHP binding.
     *
     * @return string The error message associated with last error that
     *   occurred in a function call on this object, or a string indicating
     *   the non-existance of an error.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getErrorMessage(){}

    /**
     * Get the first day of the week for the calendarʼs locale
     *
     * The week day deemed to start a week, either the default value for this
     * locale or the value set with {@link IntlCalendar::setFirstDayOfWeek}.
     *
     * @return int One of the constants IntlCalendar::DOW_SUNDAY,
     *   IntlCalendar::DOW_MONDAY, …, IntlCalendar::DOW_SATURDAY.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getFirstDayOfWeek(){}

    /**
     * Get the largest local minimum value for a field
     *
     * Returns the largest local minimum for a field. This should be a value
     * larger or equal to that returned by {@link
     * IntlCalendar::getActualMinimum}, which is in its turn larger or equal
     * to that returned by {@link IntlCalendar::getMinimum}. All these three
     * functions return the same value for the Gregorian calendar.
     *
     * @param int $field The IntlCalendar resource.
     * @return int An int representing a field value, in the fieldʼs
     *   unit,.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getGreatestMinimum($field){}

    /**
     * Get set of locale keyword values
     *
     * For a given locale key, get the set of values for that key that would
     * result in a different behavior. For now, only the 'calendar' keyword
     * is supported.
     *
     * This function requires ICU 4.2 or later.
     *
     * @param string $key The locale keyword for which relevant values are
     *   to be queried. Only 'calendar' is supported.
     * @param string $locale The locale onto which the keyword/value pair
     *   are to be appended.
     * @param bool $commonlyUsed Whether to show only the values commonly
     *   used for the specified locale.
     * @return Iterator An iterator that yields strings with the locale
     *   keyword values.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public static function getKeywordValuesForLocale($key, $locale, $commonlyUsed){}

    /**
     * Get the smallest local maximum for a field
     *
     * Returns the smallest local maximumw for a field. This should be a
     * value smaller or equal to that returned by {@link
     * IntlCalendar::getActualMaxmimum}, which is in its turn smaller or
     * equal to that returned by {@link IntlCalendar::getMaximum}.
     *
     * @param int $field The IntlCalendar resource.
     * @return int An int representing a field value in the fieldʼs unit.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getLeastMaximum($field){}

    /**
     * Get the locale associated with the object
     *
     * Returns the locale used by this calendar object.
     *
     * @param int $localeType The IntlCalendar resource.
     * @return string A locale string.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getLocale($localeType){}

    /**
     * Get the global maximum value for a field
     *
     * Gets the global maximum for a field, in this specific calendar. This
     * value is larger or equal to that returned by {@link
     * IntlCalendar::getActualMaximum}, which is in its turn larger or equal
     * to that returned by {@link IntlCalendar::getLeastMaximum}.
     *
     * @param int $field The IntlCalendar resource.
     * @return int An int representing a field value in the fieldʼs unit.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getMaximum($field){}

    /**
     * Get minimal number of days the first week in a year or month can have
     *
     * Returns the smallest number of days the first week of a year or month
     * must have in the new year or month. For instance, in the Gregorian
     * calendar, if this value is 1, then the first week of the year will
     * necessarily include January 1st, while if this value is 7, then the
     * week with January 1st will be the first week of the year only if the
     * day of the week for January 1st matches the day of the week returned
     * by {@link IntlCalendar::getFirstDayOfWeek}; otherwise it will be the
     * previous yearʼs last week.
     *
     * @return int An int representing a number of days.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getMinimalDaysInFirstWeek(){}

    /**
     * Get the global minimum value for a field
     *
     * Gets the global minimum for a field, in this specific calendar. This
     * value is smaller or equal to that returned by {@link
     * IntlCalendar::getActualMinimum}, which is in its turn smaller or equal
     * to that returned by {@link IntlCalendar::getGreatestMinimum}. For the
     * Gregorian calendar, these three functions always return the same value
     * (for each field).
     *
     * @param int $field The IntlCalendar resource.
     * @return int An int representing a value for the given field in the
     *   fieldʼs unit.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getMinimum($field){}

    /**
     * Get number representing the current time
     *
     * The number of milliseconds that have passed since the reference date.
     * This number is derived from the system time.
     *
     * @return float A float representing a number of milliseconds since
     *   the epoch, not counting leap seconds.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public static function getNow(){}

    /**
     * Get behavior for handling repeating wall time
     *
     * Gets the current strategy for dealing with wall times that are
     * repeated whenever the clock is set back during dailight saving time
     * end transitions. The default value is IntlCalendar::WALLTIME_LAST.
     *
     * This function requires ICU 4.9 or later.
     *
     * @return int One of the constants IntlCalendar::WALLTIME_FIRST or
     *   IntlCalendar::WALLTIME_LAST.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getRepeatedWallTimeOption(){}

    /**
     * Get behavior for handling skipped wall time
     *
     * Gets the current strategy for dealing with wall times that are skipped
     * whenever the clock is forwarded during dailight saving time start
     * transitions. The default value is IntlCalendar::WALLTIME_LAST.
     *
     * The calendar must be lenient for this option to have any effect,
     * otherwise attempting to set a non-existing time will cause an error.
     *
     * This function requires ICU 4.9 or later.
     *
     * @return int One of the constants IntlCalendar::WALLTIME_FIRST,
     *   IntlCalendar::WALLTIME_LAST or IntlCalendar::WALLTIME_NEXT_VALID.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getSkippedWallTimeOption(){}

    /**
     * Get time currently represented by the object
     *
     * Returns the time associated with this object, expressed as the number
     * of milliseconds since the epoch.
     *
     * @return float A float representing the number of milliseconds
     *   elapsed since the reference time (1 Jan 1970 00:00:00 UTC).
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getTime(){}

    /**
     * Get the objectʼs timezone
     *
     * Returns the IntlTimeZone object associated with this calendar.
     *
     * @return IntlTimeZone An IntlTimeZone object corresponding to the one
     *   used internally in this object.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getTimeZone(){}

    /**
     * Get the calendar type
     *
     * A string describing the type of this calendar. This is one of the
     * valid values for the calendar keyword value 'calendar'.
     *
     * @return string A string representing the calendar type, such as
     *   'gregorian', 'islamic', etc.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getType(){}

    /**
     * Get time of the day at which weekend begins or ends
     *
     * Returns the number of milliseconds after midnight at which the weekend
     * begins or ends.
     *
     * This is only applicable for days of the week for which {@link
     * IntlCalendar::getDayOfWeekType} returns either
     * IntlCalendar::DOW_TYPE_WEEKEND_OFFSET or
     * IntlCalendar::DOW_TYPE_WEEKEND_CEASE. Calling this function for other
     * days of the week is an error condition.
     *
     * This function requires ICU 4.4 or later.
     *
     * @param string $dayOfWeek The IntlCalendar resource.
     * @return int The number of milliseconds into the day at which the
     *   weekend begins or ends.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getWeekendTransition($dayOfWeek){}

    /**
     * Whether the objectʼs time is in Daylight Savings Time
     *
     * Whether, for the instant represented by this object and for this
     * objectʼs timezone, daylight saving time is in place.
     *
     * @return bool Returns TRUE if the date is in Daylight Savings Time,
     *   FALSE otherwise. The value FALSE may also be returned on failure,
     *   for instance after specifying invalid field values on non-lenient
     *   mode; use exceptions or query {@link intl_get_error_code} to
     *   disambiguate.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function inDaylightTime(){}

    /**
     * Whether another calendar is equal but for a different time
     *
     * Returns whether this and the given object are equivalent for all
     * purposes except as to the time they have set. The locales do not have
     * to match, as long as no change in behavior results from such mismatch.
     * This includes the timezone, whether the lenient mode is set, the
     * repeated and skipped wall time settings, the days of the week when the
     * weekend starts and ceases and the times where such transitions occur.
     * It may also include other calendar specific settings, such as the
     * Gregorian/Julian transition instant.
     *
     * @param IntlCalendar $other The IntlCalendar resource.
     * @return bool Assuming there are no argument errors, returns TRUE iif
     *   the calendars are equivalent except possibly for their set time.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function isEquivalentTo($other){}

    /**
     * Whether date/time interpretation is in lenient mode
     *
     * Returns whether the current date/time interpretations is lenient (the
     * default). If that is case, some out of range values for fields will be
     * accepted instead of raising an error.
     *
     * @return bool A bool representing whether the calendar is set to
     *   lenient mode.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function isLenient(){}

    /**
     * Whether a certain date/time is in the weekend
     *
     * Returns whether either the obejctʼs current time or the provided
     * timestamp occur during a weekend in this objectʼs calendar system.
     *
     * This function requires ICU 4.4 or later.
     *
     * @param float $date The IntlCalendar resource.
     * @return bool A bool indicating whether the given or this objectʼs
     *   time occurs in a weekend.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function isWeekend($date){}

    /**
     * Add value to field without carrying into more significant fields
     *
     * Adds a (signed) amount to a field. The difference with respect to
     * {@link IntlCalendar::add} is that when the field value overflows, it
     * does not carry into more significant fields.
     *
     * @param int $field The IntlCalendar resource.
     * @param mixed $amountOrUpOrDown
     * @return bool Returns TRUE on success or FALSE on failure.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function roll($field, $amountOrUpOrDown){}

    /**
     * Set a time field or several common fields at once
     *
     * Sets either a specific field to the given value, or sets at once
     * several common fields. The range of values that are accepted depend on
     * whether the calendar is using the lenient mode.
     *
     * For fields that conflict, the fields that are set later have priority.
     *
     * This method cannot be called with exactly four arguments.
     *
     * @param int $field The IntlCalendar resource.
     * @param int $value
     * @return bool Returns TRUE on success and FALSE on failure.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function set($field, $value){}

    /**
     * Set the day on which the week is deemed to start
     *
     * Defines the day of week deemed to start the week. This affects the
     * behavior of fields that depend on the concept of week start and end
     * such as IntlCalendar::FIELD_WEEK_OF_YEAR and
     * IntlCalendar::FIELD_YEAR_WOY.
     *
     * @param int $dayOfWeek The IntlCalendar resource.
     * @return bool Returns TRUE on success. Failure can only happen due to
     *   invalid parameters.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function setFirstDayOfWeek($dayOfWeek){}

    /**
     * Set whether date/time interpretation is to be lenient
     *
     * Defines whether the calendar is ‘lenient mode’. In such a mode,
     * some of out-of-bounds values for some fields are accepted, the
     * behavior being similar to that of {@link IntlCalendar::add} (i.e., the
     * value wraps around, carrying into more significant fields each time).
     * If the lenient mode is off, then such values will generate an error.
     *
     * @param bool $isLenient The IntlCalendar resource.
     * @return bool Returns TRUE on success. Failure can only happen due to
     *   invalid parameters.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function setLenient($isLenient){}

    /**
     * Set minimal number of days the first week in a year or month can have
     *
     * Sets the smallest number of days the first week of a year or month
     * must have in the new year or month. For instance, in the Gregorian
     * calendar, if this value is 1, then the first week of the year will
     * necessarily include January 1st, while if this value is 7, then the
     * week with January 1st will be the first week of the year only if the
     * day of the week for January 1st matches the day of the week returned
     * by {@link IntlCalendar::getFirstDayOfWeek}; otherwise it will be the
     * previous yearʼs last week.
     *
     * @param int $minimalDays The IntlCalendar resource.
     * @return bool TRUE on success, FALSE on failure.
     * @since PHP 5 >= 5.5.1, PHP 7
     **/
    public function setMinimalDaysInFirstWeek($minimalDays){}

    /**
     * Set behavior for handling repeating wall times at negative timezone
     * offset transitions
     *
     * Sets the current strategy for dealing with wall times that are
     * repeated whenever the clock is set back during dailight saving time
     * end transitions. The default value is IntlCalendar::WALLTIME_LAST
     * (take the post-DST instant). The other possible value is
     * IntlCalendar::WALLTIME_FIRST (take the instant that occurs during
     * DST).
     *
     * This function requires ICU 4.9 or later.
     *
     * @param int $wallTimeOption The IntlCalendar resource.
     * @return bool Returns TRUE on success. Failure can only happen due to
     *   invalid parameters.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function setRepeatedWallTimeOption($wallTimeOption){}

    /**
     * Set behavior for handling skipped wall times at positive timezone
     * offset transitions
     *
     * Sets the current strategy for dealing with wall times that are skipped
     * whenever the clock is forwarded during dailight saving time start
     * transitions. The default value is IntlCalendar::WALLTIME_LAST (take it
     * as being the same instant as the one when the wall time is one hour
     * more). Alternative values are IntlCalendar::WALLTIME_FIRST (same
     * instant as the one with a wall time of one hour less) and
     * IntlCalendar::WALLTIME_NEXT_VALID (same instant as when DST begins).
     *
     * This affects only the instant represented by the calendar (as reported
     * by {@link IntlCalendar::getTime}), the field values will not be
     * rewritten accordingly.
     *
     * The calendar must be lenient for this option to have any effect,
     * otherwise attempting to set a non-existing time will cause an error.
     *
     * This function requires ICU 4.9 or later.
     *
     * @param int $wallTimeOption The IntlCalendar resource.
     * @return bool Returns TRUE on success. Failure can only happen due to
     *   invalid parameters.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function setSkippedWallTimeOption($wallTimeOption){}

    /**
     * Set the calendar time in milliseconds since the epoch
     *
     * Sets the instant represented by this object. The instant is
     * represented by a float whose value should be an integer number of
     * milliseconds since the epoch (1 Jan 1970 00:00:00.000 UTC), ignoring
     * leap seconds. All the field values will be recalculated accordingly.
     *
     * @param float $date The IntlCalendar resource.
     * @return bool Returns TRUE on success and FALSE on failure.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function setTime($date){}

    /**
     * Set the timezone used by this calendar
     *
     * Defines a new timezone for this calendar. The time represented by the
     * object is preserved to the detriment of the field values.
     *
     * @param mixed $timeZone The IntlCalendar resource.
     * @return bool Returns TRUE on success and FALSE on failure.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function setTimeZone($timeZone){}

    /**
     * Convert an IntlCalendar into a DateTime object
     *
     * Create a DateTime object that represents the same instant (up to
     * second precision, with a rounding error of less than 1 second) and has
     * an analog timezone to this object (the difference being DateTimeʼs
     * timezone will be backed by PHPʼs timezone while IntlCalendarʼs
     * timezone is backed by ICUʼs).
     *
     * @return DateTime A DateTime object with the same timezone as this
     *   object (though using PHPʼs database instead of ICUʼs) and the same
     *   time, except for the smaller precision (second precision instead of
     *   millisecond). Returns FALSE on failure.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a2
     **/
    public function toDateTime(){}

    /**
     * Private constructor for disallowing instantiation
     *
     * A private constructor for disallowing instantiation with the new
     * operator.
     *
     * Call {@link IntlCalendar::createInstance} instead.
     *
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    private function __construct(){}

}
/**
 * IntlChar provides access to a number of utility methods that can be
 * used to access information about Unicode characters. The methods and
 * constants adhere closely to the names and behavior used by the
 * underlying ICU library.
 **/
class IntlChar {
    /**
     * @var integer
     **/
    const BLOCK_CODE_AEGEAN_NUMBERS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_ALCHEMICAL_SYMBOLS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_ALPHABETIC_PRESENTATION_FORMS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_ANCIENT_GREEK_MUSICAL_NOTATION = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_ANCIENT_GREEK_NUMBERS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_ANCIENT_SYMBOLS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_ARABIC = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_ARABIC_EXTENDED_A = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_ARABIC_PRESENTATION_FORMS_A = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_ARABIC_PRESENTATION_FORMS_B = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_ARABIC_SUPPLEMENT = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_ARMENIAN = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_ARROWS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_AVESTAN = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_BALINESE = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_BAMUM = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_BAMUM_SUPPLEMENT = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_BASIC_LATIN = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_BATAK = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_BENGALI = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_BLOCK_ELEMENTS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_BOPOMOFO = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_BOPOMOFO_EXTENDED = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_BOX_DRAWING = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_BRAHMI = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_BRAILLE_PATTERNS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_BUGINESE = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_BUHID = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_BYZANTINE_MUSICAL_SYMBOLS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_CARIAN = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_CHAKMA = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_CHAM = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_CHEROKEE = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_CJK_COMPATIBILITY = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_CJK_COMPATIBILITY_FORMS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_CJK_COMPATIBILITY_IDEOGRAPHS_SUPPLEMENT = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_CJK_RADICALS_SUPPLEMENT = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_CJK_STROKES = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_CJK_SYMBOLS_AND_PUNCTUATION = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_C = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_CJK_UNIFIED_IDEOGRAPHS_EXTENSION_D = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_COMBINING_DIACRITICAL_MARKS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_COMBINING_DIACRITICAL_MARKS_SUPPLEMENT = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_COMBINING_HALF_MARKS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_COMBINING_MARKS_FOR_SYMBOLS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_COMMON_INDIC_NUMBER_FORMS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_CONTROL_PICTURES = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_COPTIC = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_COUNT = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_COUNTING_ROD_NUMERALS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_CUNEIFORM = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_CUNEIFORM_NUMBERS_AND_PUNCTUATION = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_CURRENCY_SYMBOLS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_CYPRIOT_SYLLABARY = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_CYRILLIC = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_CYRILLIC_EXTENDED_A = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_CYRILLIC_EXTENDED_B = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_CYRILLIC_SUPPLEMENT = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_CYRILLIC_SUPPLEMENTARY = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_DESERET = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_DEVANAGARI = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_DEVANAGARI_EXTENDED = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_DINGBATS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_DOMINO_TILES = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_EGYPTIAN_HIEROGLYPHS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_EMOTICONS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_ENCLOSED_ALPHANUMERICS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_ENCLOSED_ALPHANUMERIC_SUPPLEMENT = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_ENCLOSED_CJK_LETTERS_AND_MONTHS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_ENCLOSED_IDEOGRAPHIC_SUPPLEMENT = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_ETHIOPIC = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_ETHIOPIC_EXTENDED = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_ETHIOPIC_EXTENDED_A = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_ETHIOPIC_SUPPLEMENT = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_GENERAL_PUNCTUATION = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_GEOMETRIC_SHAPES = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_GEORGIAN = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_GEORGIAN_SUPPLEMENT = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_GLAGOLITIC = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_GOTHIC = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_GREEK = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_GREEK_EXTENDED = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_GUJARATI = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_GURMUKHI = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_HALFWIDTH_AND_FULLWIDTH_FORMS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_HANGUL_COMPATIBILITY_JAMO = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_HANGUL_JAMO = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_HANGUL_JAMO_EXTENDED_A = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_HANGUL_JAMO_EXTENDED_B = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_HANGUL_SYLLABLES = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_HANUNOO = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_HEBREW = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_HIGH_PRIVATE_USE_SURROGATES = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_HIGH_SURROGATES = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_HIRAGANA = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_IDEOGRAPHIC_DESCRIPTION_CHARACTERS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_IMPERIAL_ARAMAIC = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_INSCRIPTIONAL_PAHLAVI = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_INSCRIPTIONAL_PARTHIAN = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_INVALID_CODE = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_IPA_EXTENSIONS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_JAVANESE = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_KAITHI = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_KANA_SUPPLEMENT = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_KANBUN = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_KANGXI_RADICALS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_KANNADA = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_KATAKANA = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_KATAKANA_PHONETIC_EXTENSIONS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_KAYAH_LI = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_KHAROSHTHI = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_KHMER = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_KHMER_SYMBOLS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_LAO = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_LATIN_1_SUPPLEMENT = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_LATIN_EXTENDED_A = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_LATIN_EXTENDED_ADDITIONAL = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_LATIN_EXTENDED_B = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_LATIN_EXTENDED_C = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_LATIN_EXTENDED_D = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_LEPCHA = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_LETTERLIKE_SYMBOLS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_LIMBU = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_LINEAR_B_IDEOGRAMS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_LINEAR_B_SYLLABARY = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_LISU = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_LOW_SURROGATES = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_LYCIAN = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_LYDIAN = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_MAHJONG_TILES = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_MALAYALAM = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_MANDAIC = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_MATHEMATICAL_ALPHANUMERIC_SYMBOLS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_MATHEMATICAL_OPERATORS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_MEETEI_MAYEK = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_MEETEI_MAYEK_EXTENSIONS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_MEROITIC_CURSIVE = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_MEROITIC_HIEROGLYPHS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_MIAO = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_MISCELLANEOUS_SYMBOLS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_ARROWS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_MISCELLANEOUS_TECHNICAL = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_MODIFIER_TONE_LETTERS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_MONGOLIAN = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_MUSICAL_SYMBOLS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_MYANMAR = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_MYANMAR_EXTENDED_A = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_NEW_TAI_LUE = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_NKO = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_NO_BLOCK = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_NUMBER_FORMS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_OGHAM = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_OLD_ITALIC = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_OLD_PERSIAN = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_OLD_SOUTH_ARABIAN = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_OLD_TURKIC = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_OL_CHIKI = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_OPTICAL_CHARACTER_RECOGNITION = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_ORIYA = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_OSMANYA = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_PHAGS_PA = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_PHAISTOS_DISC = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_PHOENICIAN = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_PHONETIC_EXTENSIONS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_PHONETIC_EXTENSIONS_SUPPLEMENT = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_PLAYING_CARDS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_PRIVATE_USE = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_PRIVATE_USE_AREA = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_REJANG = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_RUMI_NUMERAL_SYMBOLS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_RUNIC = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_SAMARITAN = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_SAURASHTRA = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_SHARADA = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_SHAVIAN = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_SINHALA = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_SMALL_FORM_VARIANTS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_SORA_SOMPENG = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_SPACING_MODIFIER_LETTERS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_SPECIALS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_SUNDANESE = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_SUNDANESE_SUPPLEMENT = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_SUPERSCRIPTS_AND_SUBSCRIPTS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_SUPPLEMENTAL_ARROWS_A = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_SUPPLEMENTAL_ARROWS_B = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_SUPPLEMENTAL_MATHEMATICAL_OPERATORS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_SUPPLEMENTAL_PUNCTUATION = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_A = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_SUPPLEMENTARY_PRIVATE_USE_AREA_B = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_SYLOTI_NAGRI = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_SYRIAC = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_TAGALOG = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_TAGBANWA = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_TAGS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_TAI_LE = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_TAI_THAM = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_TAI_VIET = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_TAI_XUAN_JING_SYMBOLS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_TAKRI = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_TAMIL = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_TELUGU = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_THAANA = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_THAI = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_TIBETAN = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_TIFINAGH = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_TRANSPORT_AND_MAP_SYMBOLS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_UGARITIC = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_UNIFIED_CANADIAN_ABORIGINAL_SYLLABICS_EXTENDED = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_VAI = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_VARIATION_SELECTORS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_VARIATION_SELECTORS_SUPPLEMENT = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_VEDIC_EXTENSIONS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_VERTICAL_FORMS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_YIJING_HEXAGRAM_SYMBOLS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_YI_RADICALS = 0;

    /**
     * @var integer
     **/
    const BLOCK_CODE_YI_SYLLABLES = 0;

    /**
     * @var integer
     **/
    const BPT_CLOSE = 0;

    /**
     * @var integer
     **/
    const BPT_COUNT = 0;

    /**
     * @var integer
     **/
    const BPT_NONE = 0;

    /**
     * @var integer
     **/
    const BPT_OPEN = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_CHAR_CATEGORY_COUNT = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_COMBINING_SPACING_MARK = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_CONNECTOR_PUNCTUATION = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_CONTROL_CHAR = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_CURRENCY_SYMBOL = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_DASH_PUNCTUATION = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_DECIMAL_DIGIT_NUMBER = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_ENCLOSING_MARK = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_END_PUNCTUATION = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_FINAL_PUNCTUATION = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_FORMAT_CHAR = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_GENERAL_OTHER_TYPES = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_INITIAL_PUNCTUATION = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_LETTER_NUMBER = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_LINE_SEPARATOR = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_LOWERCASE_LETTER = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_MATH_SYMBOL = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_MODIFIER_LETTER = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_MODIFIER_SYMBOL = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_NON_SPACING_MARK = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_OTHER_LETTER = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_OTHER_NUMBER = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_OTHER_PUNCTUATION = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_OTHER_SYMBOL = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_PARAGRAPH_SEPARATOR = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_PRIVATE_USE_CHAR = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_SPACE_SEPARATOR = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_START_PUNCTUATION = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_SURROGATE = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_TITLECASE_LETTER = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_UNASSIGNED = 0;

    /**
     * @var integer
     **/
    const CHAR_CATEGORY_UPPERCASE_LETTER = 0;

    /**
     * @var integer
     **/
    const CHAR_DIRECTION_ARABIC_NUMBER = 0;

    /**
     * @var integer
     **/
    const CHAR_DIRECTION_BLOCK_SEPARATOR = 0;

    /**
     * @var integer
     **/
    const CHAR_DIRECTION_BOUNDARY_NEUTRAL = 0;

    /**
     * @var integer
     **/
    const CHAR_DIRECTION_CHAR_DIRECTION_COUNT = 0;

    /**
     * @var integer
     **/
    const CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR = 0;

    /**
     * @var integer
     **/
    const CHAR_DIRECTION_DIR_NON_SPACING_MARK = 0;

    /**
     * @var integer
     **/
    const CHAR_DIRECTION_EUROPEAN_NUMBER = 0;

    /**
     * @var integer
     **/
    const CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR = 0;

    /**
     * @var integer
     **/
    const CHAR_DIRECTION_EUROPEAN_NUMBER_TERMINATOR = 0;

    /**
     * @var integer
     **/
    const CHAR_DIRECTION_FIRST_STRONG_ISOLATE = 0;

    /**
     * @var integer
     **/
    const CHAR_DIRECTION_LEFT_TO_RIGHT = 0;

    /**
     * @var integer
     **/
    const CHAR_DIRECTION_LEFT_TO_RIGHT_EMBEDDING = 0;

    /**
     * @var integer
     **/
    const CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE = 0;

    /**
     * @var integer
     **/
    const CHAR_DIRECTION_LEFT_TO_RIGHT_OVERRIDE = 0;

    /**
     * @var integer
     **/
    const CHAR_DIRECTION_OTHER_NEUTRAL = 0;

    /**
     * @var integer
     **/
    const CHAR_DIRECTION_POP_DIRECTIONAL_FORMAT = 0;

    /**
     * @var integer
     **/
    const CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE = 0;

    /**
     * @var integer
     **/
    const CHAR_DIRECTION_RIGHT_TO_LEFT = 0;

    /**
     * @var integer
     **/
    const CHAR_DIRECTION_RIGHT_TO_LEFT_ARABIC = 0;

    /**
     * @var integer
     **/
    const CHAR_DIRECTION_RIGHT_TO_LEFT_EMBEDDING = 0;

    /**
     * @var integer
     **/
    const CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE = 0;

    /**
     * @var integer
     **/
    const CHAR_DIRECTION_RIGHT_TO_LEFT_OVERRIDE = 0;

    /**
     * @var integer
     **/
    const CHAR_DIRECTION_SEGMENT_SEPARATOR = 0;

    /**
     * @var integer
     **/
    const CHAR_DIRECTION_WHITE_SPACE_NEUTRAL = 0;

    /**
     * @var integer
     **/
    const CHAR_NAME_ALIAS = 0;

    /**
     * @var integer
     **/
    const CHAR_NAME_CHOICE_COUNT = 0;

    /**
     * @var integer
     **/
    const CODEPOINT_MAX = 0;

    /**
     * @var integer
     **/
    const CODEPOINT_MIN = 0;

    /**
     * @var integer
     **/
    const DT_CANONICAL = 0;

    /**
     * @var integer
     **/
    const DT_CIRCLE = 0;

    /**
     * @var integer
     **/
    const DT_COMPAT = 0;

    /**
     * @var integer
     **/
    const DT_COUNT = 0;

    /**
     * @var integer
     **/
    const DT_FINAL = 0;

    /**
     * @var integer
     **/
    const DT_FONT = 0;

    /**
     * @var integer
     **/
    const DT_FRACTION = 0;

    /**
     * @var integer
     **/
    const DT_INITIAL = 0;

    /**
     * @var integer
     **/
    const DT_ISOLATED = 0;

    /**
     * @var integer
     **/
    const DT_MEDIAL = 0;

    /**
     * @var integer
     **/
    const DT_NARROW = 0;

    /**
     * @var integer
     **/
    const DT_NOBREAK = 0;

    /**
     * @var integer
     **/
    const DT_NONE = 0;

    /**
     * @var integer
     **/
    const DT_SMALL = 0;

    /**
     * @var integer
     **/
    const DT_SQUARE = 0;

    /**
     * @var integer
     **/
    const DT_SUB = 0;

    /**
     * @var integer
     **/
    const DT_SUPER = 0;

    /**
     * @var integer
     **/
    const DT_VERTICAL = 0;

    /**
     * @var integer
     **/
    const DT_WIDE = 0;

    /**
     * @var integer
     **/
    const EA_AMBIGUOUS = 0;

    /**
     * @var integer
     **/
    const EA_COUNT = 0;

    /**
     * @var integer
     **/
    const EA_FULLWIDTH = 0;

    /**
     * @var integer
     **/
    const EA_HALFWIDTH = 0;

    /**
     * @var integer
     **/
    const EA_NARROW = 0;

    /**
     * @var integer
     **/
    const EA_NEUTRAL = 0;

    /**
     * @var integer
     **/
    const EA_WIDE = 0;

    /**
     * @var integer
     **/
    const EXTENDED_CHAR_NAME = 0;

    /**
     * @var integer
     **/
    const GCB_CONTROL = 0;

    /**
     * @var integer
     **/
    const GCB_COUNT = 0;

    /**
     * @var integer
     **/
    const GCB_CR = 0;

    /**
     * @var integer
     **/
    const GCB_EXTEND = 0;

    /**
     * @var integer
     **/
    const GCB_L = 0;

    /**
     * @var integer
     **/
    const GCB_LF = 0;

    /**
     * @var integer
     **/
    const GCB_LV = 0;

    /**
     * @var integer
     **/
    const GCB_LVT = 0;

    /**
     * @var integer
     **/
    const GCB_OTHER = 0;

    /**
     * @var integer
     **/
    const GCB_PREPEND = 0;

    /**
     * @var integer
     **/
    const GCB_REGIONAL_INDICATOR = 0;

    /**
     * @var integer
     **/
    const GCB_SPACING_MARK = 0;

    /**
     * @var integer
     **/
    const GCB_T = 0;

    /**
     * @var integer
     **/
    const GCB_V = 0;

    /**
     * @var integer
     **/
    const HST_COUNT = 0;

    /**
     * @var integer
     **/
    const HST_LEADING_JAMO = 0;

    /**
     * @var integer
     **/
    const HST_LVT_SYLLABLE = 0;

    /**
     * @var integer
     **/
    const HST_LV_SYLLABLE = 0;

    /**
     * @var integer
     **/
    const HST_NOT_APPLICABLE = 0;

    /**
     * @var integer
     **/
    const HST_TRAILING_JAMO = 0;

    /**
     * @var integer
     **/
    const HST_VOWEL_JAMO = 0;

    /**
     * @var integer
     **/
    const JG_AIN = 0;

    /**
     * @var integer
     **/
    const JG_ALAPH = 0;

    /**
     * @var integer
     **/
    const JG_ALEF = 0;

    /**
     * @var integer
     **/
    const JG_BEH = 0;

    /**
     * @var integer
     **/
    const JG_BETH = 0;

    /**
     * @var integer
     **/
    const JG_BURUSHASKI_YEH_BARREE = 0;

    /**
     * @var integer
     **/
    const JG_COUNT = 0;

    /**
     * @var integer
     **/
    const JG_DAL = 0;

    /**
     * @var integer
     **/
    const JG_DALATH_RISH = 0;

    /**
     * @var integer
     **/
    const JG_E = 0;

    /**
     * @var integer
     **/
    const JG_FARSI_YEH = 0;

    /**
     * @var integer
     **/
    const JG_FE = 0;

    /**
     * @var integer
     **/
    const JG_FEH = 0;

    /**
     * @var integer
     **/
    const JG_FINAL_SEMKATH = 0;

    /**
     * @var integer
     **/
    const JG_GAF = 0;

    /**
     * @var integer
     **/
    const JG_GAMAL = 0;

    /**
     * @var integer
     **/
    const JG_HAH = 0;

    /**
     * @var integer
     **/
    const JG_HAMZA_ON_HEH_GOAL = 0;

    /**
     * @var integer
     **/
    const JG_HE = 0;

    /**
     * @var integer
     **/
    const JG_HEH = 0;

    /**
     * @var integer
     **/
    const JG_HEH_GOAL = 0;

    /**
     * @var integer
     **/
    const JG_HETH = 0;

    /**
     * @var integer
     **/
    const JG_KAF = 0;

    /**
     * @var integer
     **/
    const JG_KAPH = 0;

    /**
     * @var integer
     **/
    const JG_KHAPH = 0;

    /**
     * @var integer
     **/
    const JG_KNOTTED_HEH = 0;

    /**
     * @var integer
     **/
    const JG_LAM = 0;

    /**
     * @var integer
     **/
    const JG_LAMADH = 0;

    /**
     * @var integer
     **/
    const JG_MEEM = 0;

    /**
     * @var integer
     **/
    const JG_MIM = 0;

    /**
     * @var integer
     **/
    const JG_NOON = 0;

    /**
     * @var integer
     **/
    const JG_NO_JOINING_GROUP = 0;

    /**
     * @var integer
     **/
    const JG_NUN = 0;

    /**
     * @var integer
     **/
    const JG_NYA = 0;

    /**
     * @var integer
     **/
    const JG_PE = 0;

    /**
     * @var integer
     **/
    const JG_QAF = 0;

    /**
     * @var integer
     **/
    const JG_QAPH = 0;

    /**
     * @var integer
     **/
    const JG_REH = 0;

    /**
     * @var integer
     **/
    const JG_REVERSED_PE = 0;

    /**
     * @var integer
     **/
    const JG_ROHINGYA_YEH = 0;

    /**
     * @var integer
     **/
    const JG_SAD = 0;

    /**
     * @var integer
     **/
    const JG_SADHE = 0;

    /**
     * @var integer
     **/
    const JG_SEEN = 0;

    /**
     * @var integer
     **/
    const JG_SEMKATH = 0;

    /**
     * @var integer
     **/
    const JG_SHIN = 0;

    /**
     * @var integer
     **/
    const JG_SWASH_KAF = 0;

    /**
     * @var integer
     **/
    const JG_SYRIAC_WAW = 0;

    /**
     * @var integer
     **/
    const JG_TAH = 0;

    /**
     * @var integer
     **/
    const JG_TAW = 0;

    /**
     * @var integer
     **/
    const JG_TEH_MARBUTA = 0;

    /**
     * @var integer
     **/
    const JG_TEH_MARBUTA_GOAL = 0;

    /**
     * @var integer
     **/
    const JG_TETH = 0;

    /**
     * @var integer
     **/
    const JG_WAW = 0;

    /**
     * @var integer
     **/
    const JG_YEH = 0;

    /**
     * @var integer
     **/
    const JG_YEH_BARREE = 0;

    /**
     * @var integer
     **/
    const JG_YEH_WITH_TAIL = 0;

    /**
     * @var integer
     **/
    const JG_YUDH = 0;

    /**
     * @var integer
     **/
    const JG_YUDH_HE = 0;

    /**
     * @var integer
     **/
    const JG_ZAIN = 0;

    /**
     * @var integer
     **/
    const JG_ZHAIN = 0;

    /**
     * @var integer
     **/
    const JT_COUNT = 0;

    /**
     * @var integer
     **/
    const JT_DUAL_JOINING = 0;

    /**
     * @var integer
     **/
    const JT_JOIN_CAUSING = 0;

    /**
     * @var integer
     **/
    const JT_LEFT_JOINING = 0;

    /**
     * @var integer
     **/
    const JT_NON_JOINING = 0;

    /**
     * @var integer
     **/
    const JT_RIGHT_JOINING = 0;

    /**
     * @var integer
     **/
    const JT_TRANSPARENT = 0;

    /**
     * @var integer
     **/
    const LB_ALPHABETIC = 0;

    /**
     * @var integer
     **/
    const LB_AMBIGUOUS = 0;

    /**
     * @var integer
     **/
    const LB_BREAK_AFTER = 0;

    /**
     * @var integer
     **/
    const LB_BREAK_BEFORE = 0;

    /**
     * @var integer
     **/
    const LB_BREAK_BOTH = 0;

    /**
     * @var integer
     **/
    const LB_BREAK_SYMBOLS = 0;

    /**
     * @var integer
     **/
    const LB_CARRIAGE_RETURN = 0;

    /**
     * @var integer
     **/
    const LB_CLOSE_PARENTHESIS = 0;

    /**
     * @var integer
     **/
    const LB_CLOSE_PUNCTUATION = 0;

    /**
     * @var integer
     **/
    const LB_COMBINING_MARK = 0;

    /**
     * @var integer
     **/
    const LB_COMPLEX_CONTEXT = 0;

    /**
     * @var integer
     **/
    const LB_CONDITIONAL_JAPANESE_STARTER = 0;

    /**
     * @var integer
     **/
    const LB_CONTINGENT_BREAK = 0;

    /**
     * @var integer
     **/
    const LB_COUNT = 0;

    /**
     * @var integer
     **/
    const LB_EXCLAMATION = 0;

    /**
     * @var integer
     **/
    const LB_GLUE = 0;

    /**
     * @var integer
     **/
    const LB_H2 = 0;

    /**
     * @var integer
     **/
    const LB_H3 = 0;

    /**
     * @var integer
     **/
    const LB_HEBREW_LETTER = 0;

    /**
     * @var integer
     **/
    const LB_HYPHEN = 0;

    /**
     * @var integer
     **/
    const LB_IDEOGRAPHIC = 0;

    /**
     * @var integer
     **/
    const LB_INFIX_NUMERIC = 0;

    /**
     * @var integer
     **/
    const LB_INSEPARABLE = 0;

    /**
     * @var integer
     **/
    const LB_INSEPERABLE = 0;

    /**
     * @var integer
     **/
    const LB_JL = 0;

    /**
     * @var integer
     **/
    const LB_JT = 0;

    /**
     * @var integer
     **/
    const LB_JV = 0;

    /**
     * @var integer
     **/
    const LB_LINE_FEED = 0;

    /**
     * @var integer
     **/
    const LB_MANDATORY_BREAK = 0;

    /**
     * @var integer
     **/
    const LB_NEXT_LINE = 0;

    /**
     * @var integer
     **/
    const LB_NONSTARTER = 0;

    /**
     * @var integer
     **/
    const LB_NUMERIC = 0;

    /**
     * @var integer
     **/
    const LB_OPEN_PUNCTUATION = 0;

    /**
     * @var integer
     **/
    const LB_POSTFIX_NUMERIC = 0;

    /**
     * @var integer
     **/
    const LB_PREFIX_NUMERIC = 0;

    /**
     * @var integer
     **/
    const LB_QUOTATION = 0;

    /**
     * @var integer
     **/
    const LB_REGIONAL_INDICATOR = 0;

    /**
     * @var integer
     **/
    const LB_SPACE = 0;

    /**
     * @var integer
     **/
    const LB_SURROGATE = 0;

    /**
     * @var integer
     **/
    const LB_UNKNOWN = 0;

    /**
     * @var integer
     **/
    const LB_WORD_JOINER = 0;

    /**
     * @var integer
     **/
    const LB_ZWSPACE = 0;

    /**
     * @var integer
     **/
    const LONG_PROPERTY_NAME = 0;

    /**
     * @var float
     **/
    const NO_NUMERIC_VALUE = 0.0;

    /**
     * @var integer
     **/
    const NT_COUNT = 0;

    /**
     * @var integer
     **/
    const NT_DECIMAL = 0;

    /**
     * @var integer
     **/
    const NT_DIGIT = 0;

    /**
     * @var integer
     **/
    const NT_NONE = 0;

    /**
     * @var integer
     **/
    const NT_NUMERIC = 0;

    /**
     * @var integer
     **/
    const PROPERTY_AGE = 0;

    /**
     * @var integer
     **/
    const PROPERTY_ALPHABETIC = 0;

    /**
     * @var integer
     **/
    const PROPERTY_ASCII_HEX_DIGIT = 0;

    /**
     * @var integer
     **/
    const PROPERTY_BIDI_CLASS = 0;

    /**
     * @var integer
     **/
    const PROPERTY_BIDI_CONTROL = 0;

    /**
     * @var integer
     **/
    const PROPERTY_BIDI_MIRRORED = 0;

    /**
     * @var integer
     **/
    const PROPERTY_BIDI_MIRRORING_GLYPH = 0;

    /**
     * @var integer
     **/
    const PROPERTY_BIDI_PAIRED_BRACKET = 0;

    /**
     * @var integer
     **/
    const PROPERTY_BIDI_PAIRED_BRACKET_TYPE = 0;

    /**
     * @var integer
     **/
    const PROPERTY_BINARY_LIMIT = 0;

    /**
     * @var integer
     **/
    const PROPERTY_BINARY_START = 0;

    /**
     * @var integer
     **/
    const PROPERTY_BLOCK = 0;

    /**
     * @var integer
     **/
    const PROPERTY_CANONICAL_COMBINING_CLASS = 0;

    /**
     * @var integer
     **/
    const PROPERTY_CASED = 0;

    /**
     * @var integer
     **/
    const PROPERTY_CASE_FOLDING = 0;

    /**
     * @var integer
     **/
    const PROPERTY_CASE_IGNORABLE = 0;

    /**
     * @var integer
     **/
    const PROPERTY_CASE_SENSITIVE = 0;

    /**
     * @var integer
     **/
    const PROPERTY_CHANGES_WHEN_CASEFOLDED = 0;

    /**
     * @var integer
     **/
    const PROPERTY_CHANGES_WHEN_CASEMAPPED = 0;

    /**
     * @var integer
     **/
    const PROPERTY_CHANGES_WHEN_LOWERCASED = 0;

    /**
     * @var integer
     **/
    const PROPERTY_CHANGES_WHEN_NFKC_CASEFOLDED = 0;

    /**
     * @var integer
     **/
    const PROPERTY_CHANGES_WHEN_TITLECASED = 0;

    /**
     * @var integer
     **/
    const PROPERTY_CHANGES_WHEN_UPPERCASED = 0;

    /**
     * @var integer
     **/
    const PROPERTY_DASH = 0;

    /**
     * @var integer
     **/
    const PROPERTY_DECOMPOSITION_TYPE = 0;

    /**
     * @var integer
     **/
    const PROPERTY_DEFAULT_IGNORABLE_CODE_POINT = 0;

    /**
     * @var integer
     **/
    const PROPERTY_DEPRECATED = 0;

    /**
     * @var integer
     **/
    const PROPERTY_DIACRITIC = 0;

    /**
     * @var integer
     **/
    const PROPERTY_DOUBLE_LIMIT = 0;

    /**
     * @var integer
     **/
    const PROPERTY_DOUBLE_START = 0;

    /**
     * @var integer
     **/
    const PROPERTY_EAST_ASIAN_WIDTH = 0;

    /**
     * @var integer
     **/
    const PROPERTY_EXTENDER = 0;

    /**
     * @var integer
     **/
    const PROPERTY_FULL_COMPOSITION_EXCLUSION = 0;

    /**
     * @var integer
     **/
    const PROPERTY_GENERAL_CATEGORY = 0;

    /**
     * @var integer
     **/
    const PROPERTY_GENERAL_CATEGORY_MASK = 0;

    /**
     * @var integer
     **/
    const PROPERTY_GRAPHEME_BASE = 0;

    /**
     * @var integer
     **/
    const PROPERTY_GRAPHEME_CLUSTER_BREAK = 0;

    /**
     * @var integer
     **/
    const PROPERTY_GRAPHEME_EXTEND = 0;

    /**
     * @var integer
     **/
    const PROPERTY_GRAPHEME_LINK = 0;

    /**
     * @var integer
     **/
    const PROPERTY_HANGUL_SYLLABLE_TYPE = 0;

    /**
     * @var integer
     **/
    const PROPERTY_HEX_DIGIT = 0;

    /**
     * @var integer
     **/
    const PROPERTY_HYPHEN = 0;

    /**
     * @var integer
     **/
    const PROPERTY_IDEOGRAPHIC = 0;

    /**
     * @var integer
     **/
    const PROPERTY_IDS_BINARY_OPERATOR = 0;

    /**
     * @var integer
     **/
    const PROPERTY_IDS_TRINARY_OPERATOR = 0;

    /**
     * @var integer
     **/
    const PROPERTY_ID_CONTINUE = 0;

    /**
     * @var integer
     **/
    const PROPERTY_ID_START = 0;

    /**
     * @var integer
     **/
    const PROPERTY_INT_LIMIT = 0;

    /**
     * @var integer
     **/
    const PROPERTY_INT_START = 0;

    /**
     * @var integer
     **/
    const PROPERTY_INVALID_CODE = 0;

    /**
     * @var integer
     **/
    const PROPERTY_ISO_COMMENT = 0;

    /**
     * @var integer
     **/
    const PROPERTY_JOINING_GROUP = 0;

    /**
     * @var integer
     **/
    const PROPERTY_JOINING_TYPE = 0;

    /**
     * @var integer
     **/
    const PROPERTY_JOIN_CONTROL = 0;

    /**
     * @var integer
     **/
    const PROPERTY_LEAD_CANONICAL_COMBINING_CLASS = 0;

    /**
     * @var integer
     **/
    const PROPERTY_LINE_BREAK = 0;

    /**
     * @var integer
     **/
    const PROPERTY_LOGICAL_ORDER_EXCEPTION = 0;

    /**
     * @var integer
     **/
    const PROPERTY_LOWERCASE = 0;

    /**
     * @var integer
     **/
    const PROPERTY_LOWERCASE_MAPPING = 0;

    /**
     * @var integer
     **/
    const PROPERTY_MASK_LIMIT = 0;

    /**
     * @var integer
     **/
    const PROPERTY_MASK_START = 0;

    /**
     * @var integer
     **/
    const PROPERTY_MATH = 0;

    /**
     * @var integer
     **/
    const PROPERTY_NAME = 0;

    /**
     * @var integer
     **/
    const PROPERTY_NAME_CHOICE_COUNT = 0;

    /**
     * @var integer
     **/
    const PROPERTY_NFC_INERT = 0;

    /**
     * @var integer
     **/
    const PROPERTY_NFC_QUICK_CHECK = 0;

    /**
     * @var integer
     **/
    const PROPERTY_NFD_INERT = 0;

    /**
     * @var integer
     **/
    const PROPERTY_NFD_QUICK_CHECK = 0;

    /**
     * @var integer
     **/
    const PROPERTY_NFKC_INERT = 0;

    /**
     * @var integer
     **/
    const PROPERTY_NFKC_QUICK_CHECK = 0;

    /**
     * @var integer
     **/
    const PROPERTY_NFKD_INERT = 0;

    /**
     * @var integer
     **/
    const PROPERTY_NFKD_QUICK_CHECK = 0;

    /**
     * @var integer
     **/
    const PROPERTY_NONCHARACTER_CODE_POINT = 0;

    /**
     * @var integer
     **/
    const PROPERTY_NUMERIC_TYPE = 0;

    /**
     * @var integer
     **/
    const PROPERTY_NUMERIC_VALUE = 0;

    /**
     * @var integer
     **/
    const PROPERTY_OTHER_PROPERTY_LIMIT = 0;

    /**
     * @var integer
     **/
    const PROPERTY_OTHER_PROPERTY_START = 0;

    /**
     * @var integer
     **/
    const PROPERTY_PATTERN_SYNTAX = 0;

    /**
     * @var integer
     **/
    const PROPERTY_PATTERN_WHITE_SPACE = 0;

    /**
     * @var integer
     **/
    const PROPERTY_POSIX_ALNUM = 0;

    /**
     * @var integer
     **/
    const PROPERTY_POSIX_BLANK = 0;

    /**
     * @var integer
     **/
    const PROPERTY_POSIX_GRAPH = 0;

    /**
     * @var integer
     **/
    const PROPERTY_POSIX_PRINT = 0;

    /**
     * @var integer
     **/
    const PROPERTY_POSIX_XDIGIT = 0;

    /**
     * @var integer
     **/
    const PROPERTY_QUOTATION_MARK = 0;

    /**
     * @var integer
     **/
    const PROPERTY_RADICAL = 0;

    /**
     * @var integer
     **/
    const PROPERTY_SCRIPT = 0;

    /**
     * @var integer
     **/
    const PROPERTY_SCRIPT_EXTENSIONS = 0;

    /**
     * @var integer
     **/
    const PROPERTY_SEGMENT_STARTER = 0;

    /**
     * @var integer
     **/
    const PROPERTY_SENTENCE_BREAK = 0;

    /**
     * @var integer
     **/
    const PROPERTY_SIMPLE_CASE_FOLDING = 0;

    /**
     * @var integer
     **/
    const PROPERTY_SIMPLE_LOWERCASE_MAPPING = 0;

    /**
     * @var integer
     **/
    const PROPERTY_SIMPLE_TITLECASE_MAPPING = 0;

    /**
     * @var integer
     **/
    const PROPERTY_SIMPLE_UPPERCASE_MAPPING = 0;

    /**
     * @var integer
     **/
    const PROPERTY_SOFT_DOTTED = 0;

    /**
     * @var integer
     **/
    const PROPERTY_STRING_LIMIT = 0;

    /**
     * @var integer
     **/
    const PROPERTY_STRING_START = 0;

    /**
     * @var integer
     **/
    const PROPERTY_S_TERM = 0;

    /**
     * @var integer
     **/
    const PROPERTY_TERMINAL_PUNCTUATION = 0;

    /**
     * @var integer
     **/
    const PROPERTY_TITLECASE_MAPPING = 0;

    /**
     * @var integer
     **/
    const PROPERTY_TRAIL_CANONICAL_COMBINING_CLASS = 0;

    /**
     * @var integer
     **/
    const PROPERTY_UNICODE_1_NAME = 0;

    /**
     * @var integer
     **/
    const PROPERTY_UNIFIED_IDEOGRAPH = 0;

    /**
     * @var integer
     **/
    const PROPERTY_UPPERCASE = 0;

    /**
     * @var integer
     **/
    const PROPERTY_UPPERCASE_MAPPING = 0;

    /**
     * @var integer
     **/
    const PROPERTY_VARIATION_SELECTOR = 0;

    /**
     * @var integer
     **/
    const PROPERTY_WHITE_SPACE = 0;

    /**
     * @var integer
     **/
    const PROPERTY_WORD_BREAK = 0;

    /**
     * @var integer
     **/
    const PROPERTY_XID_CONTINUE = 0;

    /**
     * @var integer
     **/
    const PROPERTY_XID_START = 0;

    /**
     * @var integer
     **/
    const SB_ATERM = 0;

    /**
     * @var integer
     **/
    const SB_CLOSE = 0;

    /**
     * @var integer
     **/
    const SB_COUNT = 0;

    /**
     * @var integer
     **/
    const SB_CR = 0;

    /**
     * @var integer
     **/
    const SB_EXTEND = 0;

    /**
     * @var integer
     **/
    const SB_FORMAT = 0;

    /**
     * @var integer
     **/
    const SB_LF = 0;

    /**
     * @var integer
     **/
    const SB_LOWER = 0;

    /**
     * @var integer
     **/
    const SB_NUMERIC = 0;

    /**
     * @var integer
     **/
    const SB_OLETTER = 0;

    /**
     * @var integer
     **/
    const SB_OTHER = 0;

    /**
     * @var integer
     **/
    const SB_SCONTINUE = 0;

    /**
     * @var integer
     **/
    const SB_SEP = 0;

    /**
     * @var integer
     **/
    const SB_SP = 0;

    /**
     * @var integer
     **/
    const SB_STERM = 0;

    /**
     * @var integer
     **/
    const SB_UPPER = 0;

    /**
     * @var integer
     **/
    const SHORT_PROPERTY_NAME = 0;

    /**
     * @var integer
     **/
    const UNICODE_10_CHAR_NAME = 0;

    /**
     * @var integer
     **/
    const UNICODE_CHAR_NAME = 0;

    /**
     * @var string
     **/
    const UNICODE_VERSION = '';

    /**
     * @var integer
     **/
    const WB_ALETTER = 0;

    /**
     * @var integer
     **/
    const WB_COUNT = 0;

    /**
     * @var integer
     **/
    const WB_CR = 0;

    /**
     * @var integer
     **/
    const WB_DOUBLE_QUOTE = 0;

    /**
     * @var integer
     **/
    const WB_EXTEND = 0;

    /**
     * @var integer
     **/
    const WB_EXTENDNUMLET = 0;

    /**
     * @var integer
     **/
    const WB_FORMAT = 0;

    /**
     * @var integer
     **/
    const WB_HEBREW_LETTER = 0;

    /**
     * @var integer
     **/
    const WB_KATAKANA = 0;

    /**
     * @var integer
     **/
    const WB_LF = 0;

    /**
     * @var integer
     **/
    const WB_MIDLETTER = 0;

    /**
     * @var integer
     **/
    const WB_MIDNUM = 0;

    /**
     * @var integer
     **/
    const WB_MIDNUMLET = 0;

    /**
     * @var integer
     **/
    const WB_NEWLINE = 0;

    /**
     * @var integer
     **/
    const WB_NUMERIC = 0;

    /**
     * @var integer
     **/
    const WB_OTHER = 0;

    /**
     * @var integer
     **/
    const WB_REGIONAL_INDICATOR = 0;

    /**
     * @var integer
     **/
    const WB_SINGLE_QUOTE = 0;

    /**
     * Get the "age" of the code point
     *
     * Gets the "age" of the code point.
     *
     * The "age" is the Unicode version when the code point was first
     * designated (as a non-character or for Private Use) or assigned a
     * character. This can be useful to avoid emitting code points to
     * receiving processes that do not accept newer characters.
     *
     * @param mixed $codepoint
     * @return array The Unicode version number, as an array. For example,
     *   version 1.3.31.2 would be represented as [1, 3, 31, 2].
     * @since PHP 7
     **/
    public static function charAge($codepoint){}

    /**
     * Get the decimal digit value of a decimal digit character
     *
     * Returns the decimal digit value of a decimal digit character.
     *
     * Such characters have the general category "Nd" (decimal digit numbers)
     * and a Numeric_Type of Decimal.
     *
     * @param mixed $codepoint
     * @return int The decimal digit value of {@link codepoint}, or -1 if
     *   it is not a decimal digit character.
     * @since PHP 7
     **/
    public static function charDigitValue($codepoint){}

    /**
     * Get bidirectional category value for a code point
     *
     * Returns the bidirectional category value for the code point, which is
     * used in the Unicode bidirectional algorithm (UAX #9).
     *
     * @param mixed $codepoint
     * @return int The bidirectional category value; one of the following
     *   constants: IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT
     *   IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT
     *   IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER
     *   IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR
     *   IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_TERMINATOR
     *   IntlChar::CHAR_DIRECTION_ARABIC_NUMBER
     *   IntlChar::CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR
     *   IntlChar::CHAR_DIRECTION_BLOCK_SEPARATOR
     *   IntlChar::CHAR_DIRECTION_SEGMENT_SEPARATOR
     *   IntlChar::CHAR_DIRECTION_WHITE_SPACE_NEUTRAL
     *   IntlChar::CHAR_DIRECTION_OTHER_NEUTRAL
     *   IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_EMBEDDING
     *   IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_OVERRIDE
     *   IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_ARABIC
     *   IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_EMBEDDING
     *   IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_OVERRIDE
     *   IntlChar::CHAR_DIRECTION_POP_DIRECTIONAL_FORMAT
     *   IntlChar::CHAR_DIRECTION_DIR_NON_SPACING_MARK
     *   IntlChar::CHAR_DIRECTION_BOUNDARY_NEUTRAL
     *   IntlChar::CHAR_DIRECTION_FIRST_STRONG_ISOLATE
     *   IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE
     *   IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE
     *   IntlChar::CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE
     *   IntlChar::CHAR_DIRECTION_CHAR_DIRECTION_COUNT
     * @since PHP 7
     **/
    public static function charDirection($codepoint){}

    /**
     * Find Unicode character by name and return its code point value
     *
     * Finds a Unicode character by its name and returns its code point
     * value.
     *
     * The name is matched exactly and completely. If the name does not
     * correspond to a code point, FALSE is returned.
     *
     * A Unicode 1.0 name is matched only if it differs from the modern name.
     * Unicode names are all uppercase. Extended names are lowercase followed
     * by an uppercase hexadecimal number, and within angle brackets.
     *
     * @param string $characterName Full name of the Unicode character.
     * @param int $nameChoice Which set of names to use for the lookup. Can
     *   be any of these constants: IntlChar::UNICODE_CHAR_NAME (default)
     *   IntlChar::UNICODE_10_CHAR_NAME IntlChar::EXTENDED_CHAR_NAME
     *   IntlChar::CHAR_NAME_ALIAS IntlChar::CHAR_NAME_CHOICE_COUNT
     * @return int The Unicode value of the code point with the given name
     *   (as an integer), or FALSE if there is no such code point.
     * @since PHP 7
     **/
    public static function charFromName($characterName, $nameChoice){}

    /**
     * Get the "mirror-image" character for a code point
     *
     * Maps the specified character to a "mirror-image" character.
     *
     * For characters with the Bidi_Mirrored property, implementations
     * sometimes need a "poor man's" mapping to another Unicode character
     * (code point) such that the default glyph may serve as the mirror-image
     * of the default glyph of the specified character. This is useful for
     * text conversion to and from codepages with visual order, and for
     * displays without glyph selection capabilities.
     *
     * @param mixed $codepoint
     * @return mixed Returns another Unicode code point that may serve as a
     *   mirror-image substitute, or {@link codepoint} itself if there is no
     *   such mapping or {@link codepoint} does not have the Bidi_Mirrored
     *   property.
     * @since PHP 7
     **/
    public static function charMirror($codepoint){}

    /**
     * Retrieve the name of a Unicode character
     *
     * Retrieves the name of a Unicode character.
     *
     * Depending on {@link nameChoice}, the resulting character name is the
     * "modern" name or the name that was defined in Unicode version 1.0. The
     * name contains only "invariant" characters like A-Z, 0-9, space, and
     * '-'. Unicode 1.0 names are only retrieved if they are different from
     * the modern names and if ICU contains the data for them.
     *
     * @param mixed $codepoint
     * @param int $nameChoice Which set of names to use for the lookup. Can
     *   be any of these constants: IntlChar::UNICODE_CHAR_NAME (default)
     *   IntlChar::UNICODE_10_CHAR_NAME IntlChar::EXTENDED_CHAR_NAME
     *   IntlChar::CHAR_NAME_ALIAS IntlChar::CHAR_NAME_CHOICE_COUNT
     * @return string The corresponding name, or an empty string if there
     *   is no name for this character.
     * @since PHP 7
     **/
    public static function charName($codepoint, $nameChoice){}

    /**
     * Get the general category value for a code point
     *
     * Returns the general category value for the code point.
     *
     * @param mixed $codepoint
     * @return int Returns the general category type, which may be one of
     *   the following constants: IntlChar::CHAR_CATEGORY_UNASSIGNED
     *   IntlChar::CHAR_CATEGORY_GENERAL_OTHER_TYPES
     *   IntlChar::CHAR_CATEGORY_UPPERCASE_LETTER
     *   IntlChar::CHAR_CATEGORY_LOWERCASE_LETTER
     *   IntlChar::CHAR_CATEGORY_TITLECASE_LETTER
     *   IntlChar::CHAR_CATEGORY_MODIFIER_LETTER
     *   IntlChar::CHAR_CATEGORY_OTHER_LETTER
     *   IntlChar::CHAR_CATEGORY_NON_SPACING_MARK
     *   IntlChar::CHAR_CATEGORY_ENCLOSING_MARK
     *   IntlChar::CHAR_CATEGORY_COMBINING_SPACING_MARK
     *   IntlChar::CHAR_CATEGORY_DECIMAL_DIGIT_NUMBER
     *   IntlChar::CHAR_CATEGORY_LETTER_NUMBER
     *   IntlChar::CHAR_CATEGORY_OTHER_NUMBER
     *   IntlChar::CHAR_CATEGORY_SPACE_SEPARATOR
     *   IntlChar::CHAR_CATEGORY_LINE_SEPARATOR
     *   IntlChar::CHAR_CATEGORY_PARAGRAPH_SEPARATOR
     *   IntlChar::CHAR_CATEGORY_CONTROL_CHAR
     *   IntlChar::CHAR_CATEGORY_FORMAT_CHAR
     *   IntlChar::CHAR_CATEGORY_PRIVATE_USE_CHAR
     *   IntlChar::CHAR_CATEGORY_SURROGATE
     *   IntlChar::CHAR_CATEGORY_DASH_PUNCTUATION
     *   IntlChar::CHAR_CATEGORY_START_PUNCTUATION
     *   IntlChar::CHAR_CATEGORY_END_PUNCTUATION
     *   IntlChar::CHAR_CATEGORY_CONNECTOR_PUNCTUATION
     *   IntlChar::CHAR_CATEGORY_OTHER_PUNCTUATION
     *   IntlChar::CHAR_CATEGORY_MATH_SYMBOL
     *   IntlChar::CHAR_CATEGORY_CURRENCY_SYMBOL
     *   IntlChar::CHAR_CATEGORY_MODIFIER_SYMBOL
     *   IntlChar::CHAR_CATEGORY_OTHER_SYMBOL
     *   IntlChar::CHAR_CATEGORY_INITIAL_PUNCTUATION
     *   IntlChar::CHAR_CATEGORY_FINAL_PUNCTUATION
     *   IntlChar::CHAR_CATEGORY_CHAR_CATEGORY_COUNT
     * @since PHP 7
     **/
    public static function charType($codepoint){}

    /**
     * Return Unicode character by code point value
     *
     * Returns a string containing the character specified by the Unicode
     * code point value.
     *
     * This function compliments {@link IntlChar::ord}.
     *
     * @param mixed $codepoint
     * @return string A string containing the single character specified by
     *   the Unicode code point value.
     * @since PHP 7
     **/
    public static function chr($codepoint){}

    /**
     * Get the decimal digit value of a code point for a given radix
     *
     * Returns the decimal digit value of the code point in the specified
     * radix.
     *
     * If the radix is not in the range 2<=radix<=36 or if the value of
     * {@link codepoint} is not a valid digit in the specified radix, FALSE
     * is returned. A character is a valid digit if at least one of the
     * following is true: The character has a decimal digit value. Such
     * characters have the general category "Nd" (decimal digit numbers) and
     * a Numeric_Type of Decimal. In this case the value is the character's
     * decimal digit value. The character is one of the uppercase Latin
     * letters 'A' through 'Z'. In this case the value is c-'A'+10. The
     * character is one of the lowercase Latin letters 'a' through 'z'. In
     * this case the value is ch-'a'+10. Latin letters from both the ASCII
     * range (0061..007A, 0041..005A) as well as from the Fullwidth ASCII
     * range (FF41..FF5A, FF21..FF3A) are recognized.
     *
     * @param string $codepoint
     * @param int $radix The radix (defaults to 10).
     * @return int Returns the numeric value represented by the character
     *   in the specified radix, or FALSE if there is no value or if the
     *   value exceeds the radix.
     * @since PHP 7
     **/
    public static function digit($codepoint, $radix){}

    /**
     * Enumerate all assigned Unicode characters within a range
     *
     * Enumerate all assigned Unicode characters between the start and limit
     * code points (start inclusive, limit exclusive) and call a function for
     * each, passing the code point value and the character name.
     *
     * For Unicode 1.0 names, only those are enumerated that differ from the
     * modern names.
     *
     * @param mixed $start The first code point in the enumeration range.
     * @param mixed $limit One more than the last code point in the
     *   enumeration range (the first one after the range).
     * @param callable $callback The function that is to be called for each
     *   character name. The following three arguments will be passed into
     *   it: integer $codepoint - The numeric code point value integer
     *   $nameChoice - The same value as the {@link nameChoice} parameter
     *   below string $name - The name of the character
     * @param int $nameChoice Selector for which kind of names to
     *   enumerate. Can be any of these constants:
     *   IntlChar::UNICODE_CHAR_NAME (default) IntlChar::UNICODE_10_CHAR_NAME
     *   IntlChar::EXTENDED_CHAR_NAME IntlChar::CHAR_NAME_ALIAS
     *   IntlChar::CHAR_NAME_CHOICE_COUNT
     * @return void
     * @since PHP 7
     **/
    public static function enumCharNames($start, $limit, $callback, $nameChoice){}

    /**
     * Enumerate all code points with their Unicode general categories
     *
     * Enumerates efficiently all code points with their Unicode general
     * categories. This is useful for building data structures, for
     * enumerating all assigned code points, etc.
     *
     * For each contiguous range of code points with a given general category
     * ("character type"), the {@link callback} function is called. Adjacent
     * ranges have different types. The Unicode Standard guarantees that the
     * numeric value of the type is 0..31.
     *
     * @param callable $callback The function that is to be called for each
     *   contiguous range of code points with the same general category. The
     *   following three arguments will be passed into it: integer $start -
     *   The starting code point of the range integer $end - The ending code
     *   point of the range integer $name - The category type (one of the
     *   IntlChar::CHAR_CATEGORY_* constants)
     * @return void
     * @since PHP 7
     **/
    public static function enumCharTypes($callback){}

    /**
     * Perform case folding on a code point
     *
     * The given character is mapped to its case folding equivalent; if the
     * character has no case folding equivalent, the character itself is
     * returned.
     *
     * @param mixed $codepoint
     * @param int $options Either IntlChar::FOLD_CASE_DEFAULT (default) or
     *   IntlChar::FOLD_CASE_EXCLUDE_SPECIAL_I.
     * @return mixed Returns the Simple_Case_Folding of the code point, if
     *   any; otherwise the code point itself.
     * @since PHP 7
     **/
    public static function foldCase($codepoint, $options){}

    /**
     * Get character representation for a given digit and radix
     *
     * Determines the character representation for a specific digit in the
     * specified radix.
     *
     * If the value of radix is not a valid radix, or the value of digit is
     * not a valid digit in the specified radix, the null character (U+0000)
     * is returned.
     *
     * The radix argument is valid if it is greater than or equal to 2 and
     * less than or equal to 36. The digit argument is valid if 0 <= digit <
     * radix.
     *
     * If the digit is less than 10, then '0' + digit is returned. Otherwise,
     * the value 'a' + digit - 10 is returned.
     *
     * @param int $digit The number to convert to a character.
     * @param int $radix The radix (defaults to 10).
     * @return int The character representation (as a string) of the
     *   specified digit in the specified radix.
     * @since PHP 7
     **/
    public static function forDigit($digit, $radix){}

    /**
     * Get the paired bracket character for a code point
     *
     * Maps the specified character to its paired bracket character.
     *
     * For Bidi_Paired_Bracket_Type!=None, this is the same as {@link
     * IntlChar::charMirror}. Otherwise {@link codepoint} itself is returned.
     *
     * @param mixed $codepoint
     * @return mixed Returns the paired bracket code point, or {@link
     *   codepoint} itself if there is no such mapping.
     * @since PHP 7
     **/
    public static function getBidiPairedBracket($codepoint){}

    /**
     * Get the Unicode allocation block containing a code point
     *
     * Returns the Unicode allocation block that contains the character.
     *
     * @param mixed $codepoint
     * @return int Returns the block value for {@link codepoint}. See the
     *   IntlChar::BLOCK_CODE_* constants for possible return values.
     * @since PHP 7
     **/
    public static function getBlockCode($codepoint){}

    /**
     * Get the combining class of a code point
     *
     * Returns the combining class of the code point.
     *
     * @param mixed $codepoint
     * @return int Returns the combining class of the character.
     * @since PHP 7
     **/
    public static function getCombiningClass($codepoint){}

    /**
     * Get the FC_NFKC_Closure property for a code point
     *
     * Gets the FC_NFKC_Closure property string for a character.
     *
     * @param mixed $codepoint
     * @return string Returns the FC_NFKC_Closure property string for the
     *   {@link codepoint}, or an empty string if there is none.
     **/
    public static function getFC_NFKC_Closure($codepoint){}

    /**
     * Get the max value for a Unicode property
     *
     * Gets the maximum value for an enumerated/integer/binary Unicode
     * property.
     *
     * @param int $property
     * @return int The maximum value returned by {@link
     *   IntlChar::getIntPropertyValue} for a Unicode property. <=0 if the
     *   property selector is out of range.
     * @since PHP 7
     **/
    public static function getIntPropertyMaxValue($property){}

    /**
     * Get the min value for a Unicode property
     *
     * Gets the minimum value for an enumerated/integer/binary Unicode
     * property.
     *
     * @param int $property
     * @return int The minimum value returned by {@link
     *   IntlChar::getIntPropertyValue} for a Unicode property. 0 if the
     *   property selector is out of range.
     * @since PHP 7
     **/
    public static function getIntPropertyMinValue($property){}

    /**
     * Get the value for a Unicode property for a code point
     *
     * Gets the property value for an enumerated or integer Unicode property
     * for a code point. Also returns binary and mask property values.
     *
     * @param mixed $codepoint
     * @param int $property
     * @return int Returns the numeric value that is directly the property
     *   value or, for enumerated properties, corresponds to the numeric
     *   value of the enumerated constant of the respective property value
     *   enumeration type.
     * @since PHP 7
     **/
    public static function getIntPropertyValue($codepoint, $property){}

    /**
     * Get the numeric value for a Unicode code point
     *
     * Gets the numeric value for a Unicode code point as defined in the
     * Unicode Character Database.
     *
     * For characters without any numeric values in the Unicode Character
     * Database, this function will return IntlChar::NO_NUMERIC_VALUE.
     *
     * @param mixed $codepoint
     * @return float Numeric value of {@link codepoint}, or
     *   IntlChar::NO_NUMERIC_VALUE if none is defined. This constant was
     *   added in PHP 7.0.6, prior to this version the literal value
     *   (float)-123456789 may be used instead.
     * @since PHP 7
     **/
    public static function getNumericValue($codepoint){}

    /**
     * Get the property constant value for a given property name
     *
     * Returns the property constant value for a given property name, as
     * specified in the Unicode database file PropertyAliases.txt. Short,
     * long, and any other variants are recognized.
     *
     * In addition, this function maps the synthetic names "gcm" /
     * "General_Category_Mask" to the property
     * IntlChar::PROPERTY_GENERAL_CATEGORY_MASK. These names are not in
     * PropertyAliases.txt.
     *
     * This function compliments {@link IntlChar::getPropertyName}.
     *
     * @param string $alias The property name to be matched. The name is
     *   compared using "loose matching" as described in PropertyAliases.txt.
     * @return int Returns an IntlChar::PROPERTY_ constant value, or
     *   IntlChar::PROPERTY_INVALID_CODE if the given name does not match any
     *   property.
     * @since PHP 7
     **/
    public static function getPropertyEnum($alias){}

    /**
     * Get the Unicode name for a property
     *
     * Returns the Unicode name for a given property, as given in the Unicode
     * database file PropertyAliases.txt.
     *
     * In addition, this function maps the property
     * IntlChar::PROPERTY_GENERAL_CATEGORY_MASK to the synthetic names "gcm"
     * / "General_Category_Mask". These names are not in PropertyAliases.txt.
     *
     * This function compliments {@link IntlChar::getPropertyEnum}.
     *
     * @param int $property IntlChar::PROPERTY_INVALID_CODE should not be
     *   used. Also, if {@link property} is out of range, FALSE is returned.
     * @param int $nameChoice Selector for which name to get. If out of
     *   range, FALSE is returned. All properties have a long name. Most have
     *   a short name, but some do not. Unicode allows for additional names;
     *   if present these will be returned by adding 1, 2, etc. to
     *   IntlChar::LONG_PROPERTY_NAME.
     * @return string Returns the name, or FALSE if either the {@link
     *   property} or the {@link nameChoice} is out of range.
     * @since PHP 7
     **/
    public static function getPropertyName($property, $nameChoice){}

    /**
     * Get the property value for a given value name
     *
     * Returns the property value integer for a given value name, as
     * specified in the Unicode database file PropertyValueAliases.txt.
     * Short, long, and any other variants are recognized.
     *
     * @param int $property If out of range, or this method doesn't work
     *   with the given value, IntlChar::PROPERTY_INVALID_CODE is returned.
     * @param string $name The value name to be matched. The name is
     *   compared using "loose matching" as described in
     *   PropertyValueAliases.txt.
     * @return int Returns the corresponding value integer, or
     *   IntlChar::PROPERTY_INVALID_CODE if the given name does not match any
     *   value of the given property, or if the property is invalid.
     * @since PHP 7
     **/
    public static function getPropertyValueEnum($property, $name){}

    /**
     * Get the Unicode name for a property value
     *
     * Returns the Unicode name for a given property value, as given in the
     * Unicode database file PropertyValueAliases.txt.
     *
     * @param int $property If out of range, or this method doesn't work
     *   with the given value, FALSE is returned.
     * @param int $value Selector for a value for the given property. If
     *   out of range, FALSE is returned. In general, valid values range from
     *   0 up to some maximum. There are a couple exceptions:
     *   IntlChar::PROPERTY_BLOCK values begin at the non-zero value
     *   IntlChar::BLOCK_CODE_BASIC_LATIN
     *   IntlChar::PROPERTY_CANONICAL_COMBINING_CLASS values are not
     *   contiguous and range from 0..240.
     * @param int $nameChoice Selector for which name to get. If out of
     *   range, FALSE is returned. All values have a long name. Most have a
     *   short name, but some do not. Unicode allows for additional names; if
     *   present these will be returned by adding 1, 2, etc. to
     *   IntlChar::LONG_PROPERTY_NAME.
     * @return string Returns the name, or FALSE if either the {@link
     *   property} or the {@link nameChoice} is out of range.
     * @since PHP 7
     **/
    public static function getPropertyValueName($property, $value, $nameChoice){}

    /**
     * Get the Unicode version
     *
     * Gets the Unicode version information.
     *
     * The version array is filled in with the version information for the
     * Unicode standard that is currently used by ICU. For example, Unicode
     * version 3.1.1 is represented as an array with the values [3, 1, 1, 0].
     *
     * @return array An array containing the Unicode version number.
     * @since PHP 7
     **/
    public static function getUnicodeVersion(){}

    /**
     * Check a binary Unicode property for a code point
     *
     * Checks a binary Unicode property for a code point.
     *
     * Unicode, especially in version 3.2, defines many more properties than
     * the original set in UnicodeData.txt.
     *
     * The properties APIs are intended to reflect Unicode properties as
     * defined in the Unicode Character Database (UCD) and Unicode Technical
     * Reports (UTR). For details about the properties see
     * http://www.unicode.org/ucd/. For names of Unicode properties see the
     * UCD file PropertyAliases.txt.
     *
     * @param mixed $codepoint
     * @param int $property
     * @return bool Returns TRUE or FALSE according to the binary Unicode
     *   property value for {@link codepoint}. Also FALSE if {@link property}
     *   is out of bounds or if the Unicode version does not have data for
     *   the property at all, or not for this code point.
     * @since PHP 7
     **/
    public static function hasBinaryProperty($codepoint, $property){}

    /**
     * Check if code point is an alphanumeric character
     *
     * Determines whether the specified code point is an alphanumeric
     * character (letter or digit). TRUE for characters with general
     * categories "L" (letters) and "Nd" (decimal digit numbers).
     *
     * @param mixed $codepoint
     * @return bool Returns TRUE if {@link codepoint} is an alphanumeric
     *   character, FALSE if not.
     * @since PHP 7
     **/
    public static function isalnum($codepoint){}

    /**
     * Check if code point is a letter character
     *
     * Determines whether the specified code point is a letter character.
     * TRUE for general categories "L" (letters).
     *
     * @param mixed $codepoint
     * @return bool Returns TRUE if {@link codepoint} is a letter
     *   character, FALSE if not.
     * @since PHP 7
     **/
    public static function isalpha($codepoint){}

    /**
     * Check if code point is a base character
     *
     * Determines whether the specified code point is a base character. TRUE
     * for general categories "L" (letters), "N" (numbers), "Mc" (spacing
     * combining marks), and "Me" (enclosing marks).
     *
     * @param mixed $codepoint
     * @return bool Returns TRUE if {@link codepoint} is a base character,
     *   FALSE if not.
     * @since PHP 7
     **/
    public static function isbase($codepoint){}

    /**
     * Check if code point is a "blank" or "horizontal space" character
     *
     * Determines whether the specified code point is a "blank" or
     * "horizontal space", a character that visibly separates words on a
     * line.
     *
     * The following are equivalent definitions: TRUE for Unicode White_Space
     * characters except for "vertical space controls" where "vertical space
     * controls" are the following characters: U+000A (LF) U+000B (VT) U+000C
     * (FF) U+000D (CR) U+0085 (NEL) U+2028 (LS) U+2029 (PS) TRUE for U+0009
     * (TAB) and characters with general category "Zs" (space separators)
     * except Zero Width Space (ZWSP, U+200B).
     *
     * @param mixed $codepoint
     * @return bool Returns TRUE if {@link codepoint} is either a "blank"
     *   or "horizontal space" character, FALSE if not.
     * @since PHP 7
     **/
    public static function isblank($codepoint){}

    /**
     * Check if code point is a control character
     *
     * Determines whether the specified code point is a control character.
     *
     * A control character is one of the following: ISO 8-bit control
     * character (U+0000..U+001f and U+007f..U+009f)
     * IntlChar::CHAR_CATEGORY_CONTROL_CHAR (Cc)
     * IntlChar::CHAR_CATEGORY_FORMAT_CHAR (Cf)
     * IntlChar::CHAR_CATEGORY_LINE_SEPARATOR (Zl)
     * IntlChar::CHAR_CATEGORY_PARAGRAPH_SEPARATOR (Zp)
     *
     * @param mixed $codepoint
     * @return bool Returns TRUE if {@link codepoint} is a control
     *   character, FALSE if not.
     * @since PHP 7
     **/
    public static function iscntrl($codepoint){}

    /**
     * Check whether the code point is defined
     *
     * Determines whether the specified code point is "defined", which
     * usually means that it is assigned a character.
     *
     * TRUE for general categories other than "Cn" (other, not assigned).
     *
     * @param mixed $codepoint
     * @return bool Returns TRUE if {@link codepoint} is a defined
     *   character, FALSE if not.
     * @since PHP 7
     **/
    public static function isdefined($codepoint){}

    /**
     * Check if code point is a digit character
     *
     * Determines whether the specified code point is a digit character.
     *
     * TRUE for characters with general category "Nd" (decimal digit
     * numbers). Beginning with Unicode 4, this is the same as testing for
     * the Numeric_Type of Decimal.
     *
     * @param mixed $codepoint
     * @return bool Returns TRUE if {@link codepoint} is a digit character,
     *   FALSE if not.
     * @since PHP 7
     **/
    public static function isdigit($codepoint){}

    /**
     * Check if code point is a graphic character
     *
     * Determines whether the specified code point is a "graphic" character
     * (printable, excluding spaces).
     *
     * TRUE for all characters except those with general categories "Cc"
     * (control codes), "Cf" (format controls), "Cs" (surrogates), "Cn"
     * (unassigned), and "Z" (separators).
     *
     * @param mixed $codepoint
     * @return bool Returns TRUE if {@link codepoint} is a "graphic"
     *   character, FALSE if not.
     * @since PHP 7
     **/
    public static function isgraph($codepoint){}

    /**
     * Check if code point is an ignorable character
     *
     * Determines if the specified character should be regarded as an
     * ignorable character in an identifier.
     *
     * TRUE for characters with general category "Cf" (format controls) as
     * well as non-whitespace ISO controls (U+0000..U+0008, U+000E..U+001B,
     * U+007F..U+009F).
     *
     * @param mixed $codepoint
     * @return bool Returns TRUE if {@link codepoint} is ignorable in
     *   identifiers, FALSE if not.
     * @since PHP 7
     **/
    public static function isIDIgnorable($codepoint){}

    /**
     * Check if code point is permissible in an identifier
     *
     * Determines if the specified character is permissible in an identifier.
     *
     * TRUE for characters with general categories "L" (letters), "Nl"
     * (letter numbers), "Nd" (decimal digits), "Mc" and "Mn" (combining
     * marks), "Pc" (connecting punctuation), and u_isIDIgnorable(c).
     *
     * @param mixed $codepoint
     * @return bool Returns TRUE if {@link codepoint} is the code point may
     *   occur in an identifier, FALSE if not.
     * @since PHP 7
     **/
    public static function isIDPart($codepoint){}

    /**
     * Check if code point is permissible as the first character in an
     * identifier
     *
     * Determines if the specified character is permissible as the first
     * character in an identifier according to Unicode (The Unicode Standard,
     * Version 3.0, chapter 5.16 Identifiers).
     *
     * TRUE for characters with general categories "L" (letters) and "Nl"
     * (letter numbers).
     *
     * @param mixed $codepoint
     * @return bool Returns TRUE if {@link codepoint} may start an
     *   identifier, FALSE if not.
     * @since PHP 7
     **/
    public static function isIDStart($codepoint){}

    /**
     * Check if code point is an ISO control code
     *
     * Determines whether the specified code point is an ISO control code.
     *
     * TRUE for U+0000..U+001f and U+007f..U+009f (general category "Cc").
     *
     * @param mixed $codepoint
     * @return bool Returns TRUE if {@link codepoint} is an ISO control
     *   code, FALSE if not.
     * @since PHP 7
     **/
    public static function isISOControl($codepoint){}

    /**
     * Check if code point is permissible in a Java identifier
     *
     * Determines if the specified character is permissible in a Java
     * identifier.
     *
     * In addition to {@link IntlChar::isIDPart}, TRUE for characters with
     * general category "Sc" (currency symbols).
     *
     * @param mixed $codepoint
     * @return bool Returns TRUE if {@link codepoint} may occur in a Java
     *   identifier, FALSE if not.
     * @since PHP 7
     **/
    public static function isJavaIDPart($codepoint){}

    /**
     * Check if code point is permissible as the first character in a Java
     * identifier
     *
     * Determines if the specified character is permissible as the start of a
     * Java identifier.
     *
     * In addition to {@link IntlChar::isIDStart}, TRUE for characters with
     * general categories "Sc" (currency symbols) and "Pc" (connecting
     * punctuation).
     *
     * @param mixed $codepoint
     * @return bool Returns TRUE if {@link codepoint} may start a Java
     *   identifier, FALSE if not.
     * @since PHP 7
     **/
    public static function isJavaIDStart($codepoint){}

    /**
     * Check if code point is a space character according to Java
     *
     * Determine if the specified code point is a space character according
     * to Java.
     *
     * TRUE for characters with general categories "Z" (separators), which
     * does not include control codes (e.g., TAB or Line Feed).
     *
     * @param mixed $codepoint
     * @return bool Returns TRUE if {@link codepoint} is a space character
     *   according to Java, FALSE if not.
     * @since PHP 7
     **/
    public static function isJavaSpaceChar($codepoint){}

    /**
     * Check if code point is a lowercase letter
     *
     * Determines whether the specified code point has the general category
     * "Ll" (lowercase letter).
     *
     * @param mixed $codepoint
     * @return bool Returns TRUE if {@link codepoint} is an Ll lowercase
     *   letter, FALSE if not.
     * @since PHP 7
     **/
    public static function islower($codepoint){}

    /**
     * Check if code point has the Bidi_Mirrored property
     *
     * Determines whether the code point has the Bidi_Mirrored property.
     *
     * This property is set for characters that are commonly used in
     * Right-To-Left contexts and need to be displayed with a "mirrored"
     * glyph.
     *
     * @param mixed $codepoint
     * @return bool Returns TRUE if {@link codepoint} has the Bidi_Mirrored
     *   property, FALSE if not.
     * @since PHP 7
     **/
    public static function isMirrored($codepoint){}

    /**
     * Check if code point is a printable character
     *
     * Determines whether the specified code point is a printable character.
     *
     * TRUE for general categories other than "C" (controls).
     *
     * @param mixed $codepoint
     * @return bool Returns TRUE if {@link codepoint} is a printable
     *   character, FALSE if not.
     * @since PHP 7
     **/
    public static function isprint($codepoint){}

    /**
     * Check if code point is punctuation character
     *
     * Determines whether the specified code point is a punctuation
     * character.
     *
     * TRUE for characters with general categories "P" (punctuation).
     *
     * @param mixed $codepoint
     * @return bool Returns TRUE if {@link codepoint} is a punctuation
     *   character, FALSE if not.
     * @since PHP 7
     **/
    public static function ispunct($codepoint){}

    /**
     * Check if code point is a space character
     *
     * Determines if the specified character is a space character or not.
     *
     * @param mixed $codepoint
     * @return bool Returns TRUE if {@link codepoint} is a space character,
     *   FALSE if not.
     * @since PHP 7
     **/
    public static function isspace($codepoint){}

    /**
     * Check if code point is a titlecase letter
     *
     * Determines whether the specified code point is a titlecase letter.
     *
     * TRUE for general category "Lt" (titlecase letter).
     *
     * @param mixed $codepoint
     * @return bool Returns TRUE if {@link codepoint} is a titlecase
     *   letter, FALSE if not.
     * @since PHP 7
     **/
    public static function istitle($codepoint){}

    /**
     * Check if code point has the Alphabetic Unicode property
     *
     * Check if a code point has the Alphabetic Unicode property.
     *
     * This is the same as IntlChar::hasBinaryProperty($codepoint,
     * IntlChar::PROPERTY_ALPHABETIC)
     *
     * @param mixed $codepoint
     * @return bool Returns TRUE if {@link codepoint} has the Alphabetic
     *   Unicode property, FALSE if not.
     * @since PHP 7
     **/
    public static function isUAlphabetic($codepoint){}

    /**
     * Check if code point has the Lowercase Unicode property
     *
     * Check if a code point has the Lowercase Unicode property.
     *
     * This is the same as IntlChar::hasBinaryProperty($codepoint,
     * IntlChar::PROPERTY_LOWERCASE)
     *
     * @param mixed $codepoint
     * @return bool Returns TRUE if {@link codepoint} has the Lowercase
     *   Unicode property, FALSE if not.
     * @since PHP 7
     **/
    public static function isULowercase($codepoint){}

    /**
     * Check if code point has the general category "Lu" (uppercase letter)
     *
     * Determines whether the specified code point has the general category
     * "Lu" (uppercase letter).
     *
     * @param mixed $codepoint
     * @return bool Returns TRUE if {@link codepoint} is an Lu uppercase
     *   letter, FALSE if not.
     * @since PHP 7
     **/
    public static function isupper($codepoint){}

    /**
     * Check if code point has the Uppercase Unicode property
     *
     * Check if a code point has the Uppercase Unicode property.
     *
     * This is the same as IntlChar::hasBinaryProperty($codepoint,
     * IntlChar::PROPERTY_UPPERCASE)
     *
     * @param mixed $codepoint
     * @return bool Returns TRUE if {@link codepoint} has the Uppercase
     *   Unicode property, FALSE if not.
     * @since PHP 7
     **/
    public static function isUUppercase($codepoint){}

    /**
     * Check if code point has the White_Space Unicode property
     *
     * Check if a code point has the White_Space Unicode property.
     *
     * This is the same as IntlChar::hasBinaryProperty($codepoint,
     * IntlChar::PROPERTY_WHITE_SPACE)
     *
     * @param mixed $codepoint
     * @return bool Returns TRUE if {@link codepoint} has the White_Space
     *   Unicode property, FALSE if not.
     * @since PHP 7
     **/
    public static function isUWhiteSpace($codepoint){}

    /**
     * Check if code point is a whitespace character according to ICU
     *
     * Determines if the specified code point is a whitespace character
     * according to ICU.
     *
     * A character is considered to be a ICU whitespace character if and only
     * if it satisfies one of the following criteria: It is a Unicode
     * Separator character (categories "Z" = "Zs" or "Zl" or "Zp"), but is
     * not also a non-breaking space (U+00A0 NBSP or U+2007 Figure Space or
     * U+202F Narrow NBSP). It is U+0009 HORIZONTAL TABULATION. It is U+000A
     * LINE FEED. It is U+000B VERTICAL TABULATION. It is U+000C FORM FEED.
     * It is U+000D CARRIAGE RETURN. It is U+001C FILE SEPARATOR. It is
     * U+001D GROUP SEPARATOR. It is U+001E RECORD SEPARATOR. It is U+001F
     * UNIT SEPARATOR.
     *
     * @param mixed $codepoint
     * @return bool Returns TRUE if {@link codepoint} is a whitespace
     *   character according to ICU, FALSE if not.
     * @since PHP 7
     **/
    public static function isWhitespace($codepoint){}

    /**
     * Check if code point is a hexadecimal digit
     *
     * Determines whether the specified code point is a hexadecimal digit.
     *
     * TRUE for characters with general category "Nd" (decimal digit numbers)
     * as well as Latin letters a-f and A-F in both ASCII and Fullwidth
     * ASCII. (That is, for letters with code points 0041..0046, 0061..0066,
     * FF21..FF26, FF41..FF46.)
     *
     * This is equivalent to IntlChar::digit($codepoint, 16) >= 0.
     *
     * @param mixed $codepoint
     * @return bool Returns TRUE if {@link codepoint} is a hexadecimal
     *   character, FALSE if not.
     * @since PHP 7
     **/
    public static function isxdigit($codepoint){}

    /**
     * Return Unicode code point value of character
     *
     * Returns the Unicode code point value of the given character.
     *
     * This function compliments {@link IntlChar::chr}.
     *
     * @param mixed $character A Unicode character.
     * @return int Returns the Unicode code point value as an integer.
     * @since PHP 7
     **/
    public static function ord($character){}

    /**
     * Make Unicode character lowercase
     *
     * The given character is mapped to its lowercase equivalent. If the
     * character has no lowercase equivalent, the original character itself
     * is returned.
     *
     * @param mixed $codepoint
     * @return mixed Returns the Simple_Lowercase_Mapping of the code
     *   point, if any; otherwise the code point itself.
     * @since PHP 7
     **/
    public static function tolower($codepoint){}

    /**
     * Make Unicode character titlecase
     *
     * The given character is mapped to its titlecase equivalent. If the
     * character has no titlecase equivalent, the original character itself
     * is returned.
     *
     * @param mixed $codepoint
     * @return mixed Returns the Simple_Titlecase_Mapping of the code
     *   point, if any; otherwise the code point itself.
     * @since PHP 7
     **/
    public static function totitle($codepoint){}

    /**
     * Make Unicode character uppercase
     *
     * The given character is mapped to its uppercase equivalent. If the
     * character has no uppercase equivalent, the character itself is
     * returned.
     *
     * @param mixed $codepoint
     * @return mixed Returns the Simple_Uppercase_Mapping of the code
     *   point, if any; otherwise the code point itself.
     * @since PHP 7
     **/
    public static function toupper($codepoint){}

}
/**
 * This break iterator identifies the boundaries between UTF-8 code
 * points.
 **/
class IntlCodePointBreakIterator extends IntlBreakIterator implements Traversable {
    /**
     * @var integer
     **/
    const DONE = 0;

    /**
     * @var integer
     **/
    const LINE_HARD = 0;

    /**
     * @var integer
     **/
    const LINE_HARD_LIMIT = 0;

    /**
     * @var integer
     **/
    const LINE_SOFT = 0;

    /**
     * @var integer
     **/
    const LINE_SOFT_LIMIT = 0;

    /**
     * @var integer
     **/
    const SENTENCE_SEP = 0;

    /**
     * @var integer
     **/
    const SENTENCE_SEP_LIMIT = 0;

    /**
     * @var integer
     **/
    const SENTENCE_TERM = 0;

    /**
     * @var integer
     **/
    const SENTENCE_TERM_LIMIT = 0;

    /**
     * @var integer
     **/
    const WORD_IDEO = 0;

    /**
     * @var integer
     **/
    const WORD_IDEO_LIMIT = 0;

    /**
     * @var integer
     **/
    const WORD_KANA = 0;

    /**
     * @var integer
     **/
    const WORD_KANA_LIMIT = 0;

    /**
     * @var integer
     **/
    const WORD_LETTER = 0;

    /**
     * @var integer
     **/
    const WORD_LETTER_LIMIT = 0;

    /**
     * @var integer
     **/
    const WORD_NONE = 0;

    /**
     * @var integer
     **/
    const WORD_NONE_LIMIT = 0;

    /**
     * @var integer
     **/
    const WORD_NUMBER = 0;

    /**
     * @var integer
     **/
    const WORD_NUMBER_LIMIT = 0;

    /**
     * Get last code point passed over after advancing or receding the
     * iterator
     *
     * @return int
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function getLastCodePoint(){}

}
/**
 * ICU Date formatter ICU Date formats
 **/
class IntlDateFormatter {
    /**
     * Create a date formatter
     *
     * (constructor)
     *
     * @param string $locale Locale to use when formatting or parsing or
     *   NULL to use the value specified in the ini setting
     *   intl.default_locale.
     * @param int $datetype Date type to use (none, short, medium, long,
     *   full). This is one of the IntlDateFormatter constants. It can also
     *   be NULL, in which case ICUʼs default date type will be used.
     * @param int $timetype Time type to use (none, short, medium, long,
     *   full). This is one of the IntlDateFormatter constants. It can also
     *   be NULL, in which case ICUʼs default time type will be used.
     * @param mixed $timezone Time zone ID. The default (and the one used
     *   if NULL is given) is the one returned by {@link
     *   date_default_timezone_get} or, if applicable, that of the
     *   IntlCalendar object passed for the {@link calendar} parameter. This
     *   ID must be a valid identifier on ICUʼs database or an ID
     *   representing an explicit offset, such as GMT-05:30. This can also be
     *   an IntlTimeZone or a DateTimeZone object.
     * @param mixed $calendar Calendar to use for formatting or parsing.
     *   The default value is NULL, which corresponds to
     *   IntlDateFormatter::GREGORIAN. This can either be one of the
     *   IntlDateFormatter calendar constants or an IntlCalendar. Any
     *   IntlCalendar object passed will be clone; it will not be changed by
     *   the IntlDateFormatter. This will determine the calendar type used
     *   (gregorian, islamic, persian, etc.) and, if NULL is given for the
     *   {@link timezone} parameter, also the timezone used.
     * @param string $pattern Optional pattern to use when formatting or
     *   parsing. Possible patterns are documented at .
     * @return IntlDateFormatter The created IntlDateFormatter or FALSE in
     *   case of failure.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public static function create($locale, $datetype, $timetype, $timezone, $calendar, $pattern){}

    /**
     * Format the date/time value as a string
     *
     * Formats the time value as a string.
     *
     * @param mixed $value The date formatter resource.
     * @return string The formatted string or, if an error occurred, FALSE.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function format($value){}

    /**
     * Formats an object
     *
     * This function allows formatting an IntlCalendar or DateTime object
     * without first explicitly creating a IntlDateFormatter object.
     *
     * The temporary IntlDateFormatter that will be created will take the
     * timezone from the passed in object. The timezone database bundled with
     * PHP will not be used – ICU's will be used instead. The timezone
     * identifier used in DateTime objects must therefore also exist in ICU's
     * database.
     *
     * @param object $object An object of type IntlCalendar or DateTime.
     *   The timezone information in the object will be used.
     * @param mixed $format How to format the date/time. This can either be
     *   an array with two elements (first the date style, then the time
     *   style, these being one of the constants IntlDateFormatter::NONE,
     *   IntlDateFormatter::SHORT, IntlDateFormatter::MEDIUM,
     *   IntlDateFormatter::LONG, IntlDateFormatter::FULL), an integer with
     *   the value of one of these constants (in which case it will be used
     *   both for the time and the date) or a string with the format
     *   described in the ICU documentation. If NULL, the default style will
     *   be used.
     * @param string $locale The locale to use, or NULL to use the default
     *   one.
     * @return string A string with result.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL intl >= 3.0.0
     **/
    public static function formatObject($object, $format, $locale){}

    /**
     * Get the calendar type used for the IntlDateFormatter
     *
     * @return int The calendar type being used by the formatter. Either
     *   IntlDateFormatter::TRADITIONAL or IntlDateFormatter::GREGORIAN.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    function getCalendar(){}

    /**
     * Get copy of formatterʼs calendar object
     *
     * Obtain a copy of the calendar object used internally by this
     * formatter. This calendar will have a type (as in gregorian, japanese,
     * buddhist, roc, persian, islamic, etc.) and a timezone that match the
     * type and timezone used by the formatter. The date/time of the object
     * is unspecified.
     *
     * @return IntlCalendar A copy of the internal calendar object used by
     *   this formatter.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL intl >= 3.0.0
     **/
    public function getCalendarObject(){}

    /**
     * Get the datetype used for the IntlDateFormatter
     *
     * Returns date type used by the formatter.
     *
     * @return int The current date type value of the formatter.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function getDateType(){}

    /**
     * Get the error code from last operation
     *
     * Get the error code from last operation. Returns error code from the
     * last number formatting operation.
     *
     * @return int The error code, one of UErrorCode values. Initial value
     *   is U_ZERO_ERROR.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function getErrorCode(){}

    /**
     * Get the error text from the last operation
     *
     * @return string Description of the last error.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function getErrorMessage(){}

    /**
     * Get the locale used by formatter
     *
     * Get locale used by the formatter.
     *
     * @param int $which The formatter resource
     * @return string the locale of this formatter or 'false' if error
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function getLocale($which){}

    /**
     * Get the pattern used for the IntlDateFormatter
     *
     * Get pattern used by the formatter.
     *
     * @return string The pattern string being used to format/parse.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function getPattern(){}

    /**
     * Get the timetype used for the IntlDateFormatter
     *
     * Return time type used by the formatter.
     *
     * @return int The current date type value of the formatter.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function getTimeType(){}

    /**
     * Get formatterʼs timezone
     *
     * Returns an IntlTimeZone object representing the timezone that will be
     * used by this object to format dates and times. When formatting
     * IntlCalendar and DateTime objects with this IntlDateFormatter, the
     * timezone used will be the one returned by this method, not the one
     * associated with the objects being formatted.
     *
     * @return IntlTimeZone The associated IntlTimeZone object.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL intl >= 3.0.0
     **/
    public function getTimeZone(){}

    /**
     * Get the timezone-id used for the IntlDateFormatter
     *
     * @return string ID string for the time zone used by this formatter.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function getTimeZoneId(){}

    /**
     * Get the lenient used for the IntlDateFormatter
     *
     * Check if the parser is strict or lenient in interpreting inputs that
     * do not match the pattern exactly.
     *
     * @return bool TRUE if parser is lenient, FALSE if parser is strict.
     *   By default the parser is lenient.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function isLenient(){}

    /**
     * Parse string to a field-based time value
     *
     * Converts string $value to a field-based time value ( an array of
     * various fields), starting at $parse_pos and consuming as much of the
     * input value as possible.
     *
     * @param string $value The formatter resource
     * @param int $position string to convert to a time
     * @return array Localtime compatible array of integers : contains 24
     *   hour clock value in tm_hour field
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function localtime($value, &$position){}

    /**
     * Parse string to a timestamp value
     *
     * Converts string $value to an incremental time value, starting at
     * $parse_pos and consuming as much of the input value as possible.
     *
     * @param string $value The formatter resource
     * @param int $position string to convert to a time
     * @return int timestamp parsed value, or FALSE if value can't be
     *   parsed.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function parse($value, &$position){}

    /**
     * Sets the calendar type used by the formatter
     *
     * Sets the calendar or calendar type used by the formatter.
     *
     * @param mixed $which The formatter resource.
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    function setCalendar($which){}

    /**
     * Set the leniency of the parser
     *
     * Define if the parser is strict or lenient in interpreting inputs that
     * do not match the pattern exactly. Enabling lenient parsing allows the
     * parser to accept otherwise flawed date or time patterns, parsing as
     * much as possible to obtain a value. Extra space, unrecognized tokens,
     * or invalid values ("February 30th") are not accepted.
     *
     * @param bool $lenient The formatter resource
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function setLenient($lenient){}

    /**
     * Set the pattern used for the IntlDateFormatter
     *
     * @param string $pattern The formatter resource.
     * @return bool Bad formatstrings are usually the cause of the failure.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function setPattern($pattern){}

    /**
     * Sets formatterʼs timezone
     *
     * Sets the timezone used for the IntlDateFormatter. object.
     *
     * @param mixed $zone The formatter resource.
     * @return bool Returns TRUE on success and FALSE on failure.
     * @since PHP 5 >= 5.5.0, PHP 7, PECL intl >= 3.0.0
     **/
    public function setTimeZone($zone){}

    /**
     * Sets the time zone to use
     *
     * @param string $zone The formatter resource.
     * @return bool
     * @since PHP 5 >= 5.3.0, PECL intl >= 1.0.0
     **/
    public function setTimeZoneId($zone){}

}
/**
 * This class is used for generating exceptions when errors occur inside
 * intl functions. Such exceptions are only generated when
 * intl.use_exceptions is enabled.
 **/
class IntlException extends Exception {
}
class IntlGregorianCalendar extends IntlCalendar {
    /**
     * @var integer
     **/
    const DOW_FRIDAY = 0;

    /**
     * @var integer
     **/
    const DOW_MONDAY = 0;

    /**
     * @var integer
     **/
    const DOW_SATURDAY = 0;

    /**
     * @var integer
     **/
    const DOW_SUNDAY = 0;

    /**
     * @var integer
     **/
    const DOW_THURSDAY = 0;

    /**
     * @var integer
     **/
    const DOW_TUESDAY = 0;

    /**
     * @var integer
     **/
    const DOW_TYPE_WEEKDAY = 0;

    /**
     * @var integer
     **/
    const DOW_TYPE_WEEKEND = 0;

    /**
     * @var integer
     **/
    const DOW_TYPE_WEEKEND_CEASE = 0;

    /**
     * @var integer
     **/
    const DOW_TYPE_WEEKEND_OFFSET = 0;

    /**
     * @var integer
     **/
    const DOW_WEDNESDAY = 0;

    /**
     * @var integer
     **/
    const FIELD_AM_PM = 0;

    /**
     * @var integer
     **/
    const FIELD_DATE = 0;

    /**
     * @var integer
     **/
    const FIELD_DAY_OF_MONTH = 0;

    /**
     * @var integer
     **/
    const FIELD_DAY_OF_WEEK = 0;

    /**
     * @var integer
     **/
    const FIELD_DAY_OF_WEEK_IN_MONTH = 0;

    /**
     * @var integer
     **/
    const FIELD_DAY_OF_YEAR = 0;

    /**
     * @var integer
     **/
    const FIELD_DOW_LOCAL = 0;

    /**
     * @var integer
     **/
    const FIELD_DST_OFFSET = 0;

    /**
     * @var integer
     **/
    const FIELD_ERA = 0;

    /**
     * @var integer
     **/
    const FIELD_EXTENDED_YEAR = 0;

    /**
     * @var integer
     **/
    const FIELD_FIELD_COUNT = 0;

    /**
     * @var integer
     **/
    const FIELD_HOUR = 0;

    /**
     * @var integer
     **/
    const FIELD_HOUR_OF_DAY = 0;

    /**
     * @var integer
     **/
    const FIELD_IS_LEAP_MONTH = 0;

    /**
     * @var integer
     **/
    const FIELD_JULIAN_DAY = 0;

    /**
     * @var integer
     **/
    const FIELD_MILLISECOND = 0;

    /**
     * @var integer
     **/
    const FIELD_MILLISECONDS_IN_DAY = 0;

    /**
     * @var integer
     **/
    const FIELD_MINUTE = 0;

    /**
     * @var integer
     **/
    const FIELD_MONTH = 0;

    /**
     * @var integer
     **/
    const FIELD_SECOND = 0;

    /**
     * @var integer
     **/
    const FIELD_WEEK_OF_MONTH = 0;

    /**
     * @var integer
     **/
    const FIELD_WEEK_OF_YEAR = 0;

    /**
     * @var integer
     **/
    const FIELD_YEAR = 0;

    /**
     * @var integer
     **/
    const FIELD_YEAR_WOY = 0;

    /**
     * @var integer
     **/
    const FIELD_ZONE_OFFSET = 0;

    /**
     * @var integer
     **/
    const WALLTIME_FIRST = 0;

    /**
     * @var integer
     **/
    const WALLTIME_LAST = 0;

    /**
     * @var integer
     **/
    const WALLTIME_NEXT_VALID = 0;

    /**
     * Get the Gregorian Calendar change date
     *
     * @return float Returns the change date.
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function getGregorianChange(){}

    /**
     * Determine if the given year is a leap year
     *
     * @param int $year
     * @return bool Returns TRUE for leap years, FALSE otherwise and on
     *   failure.
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function isLeapYear($year){}

    /**
     * Set the Gregorian Calendar the change date
     *
     * @param float $date
     * @return bool
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function setGregorianChange($date){}

}
/**
 * This class represents iterator objects throughout the intl extension
 * whenever the iterator cannot be identified with any other object
 * provided by the extension. The distinct iterator object used
 * internally by the foreach construct can only be obtained (in the
 * relevant part here) from objects, so objects of this class serve the
 * purpose of providing the hook through which this internal object can
 * be obtained. As a convenience, this class also implements the Iterator
 * interface, allowing the collection of values to be navigated using the
 * methods defined in that interface. Both these methods and the internal
 * iterator objects provided to foreach are backed by the same state
 * (e.g. the position of the iterator and its current value). Subclasses
 * may provide richer functionality.
 **/
class IntlIterator implements Iterator {
    /**
     * Get the current element
     *
     * @return mixed
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function current(){}

    /**
     * Get the current key
     *
     * @return string
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function key(){}

    /**
     * Move forward to the next element
     *
     * @return void
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function next(){}

    /**
     * Rewind the iterator to the first element
     *
     * @return void
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function rewind(){}

    /**
     * Check if current position is valid
     *
     * @return bool
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function valid(){}

}
/**
 * Objects of this class can be obtained from IntlBreakIterator objects.
 * While the break iterators provide a sequence of boundary positions
 * when iterated, IntlPartsIterator objects provide, as a convenience,
 * the text fragments comprehended between two successive boundaries. The
 * keys may represent the offset of the left boundary, right boundary, or
 * they may just the sequence of non-negative integers. See {@link
 * IntlBreakIterator::getPartsIterator}.
 **/
class IntlPartsIterator extends IntlIterator implements Iterator {
    /**
     * @var integer
     **/
    const KEY_LEFT = 0;

    /**
     * @var integer
     **/
    const KEY_RIGHT = 0;

    /**
     * @var integer
     **/
    const KEY_SEQUENTIAL = 0;

    /**
     * Get IntlBreakIterator backing this parts iterator
     *
     * @return IntlBreakIterator
     **/
    public function getBreakIterator(){}

}
/**
 * A subclass of IntlBreakIterator that encapsulates ICU break iterators
 * whose behavior is specified using a set of rules. This is the most
 * common kind of break iterators. These rules are described in the ICU
 * Boundary Analysis User Guide.
 **/
class IntlRuleBasedBreakIterator extends IntlBreakIterator implements Traversable {
    /**
     * @var integer
     **/
    const DONE = 0;

    /**
     * @var integer
     **/
    const LINE_HARD = 0;

    /**
     * @var integer
     **/
    const LINE_HARD_LIMIT = 0;

    /**
     * @var integer
     **/
    const LINE_SOFT = 0;

    /**
     * @var integer
     **/
    const LINE_SOFT_LIMIT = 0;

    /**
     * @var integer
     **/
    const SENTENCE_SEP = 0;

    /**
     * @var integer
     **/
    const SENTENCE_SEP_LIMIT = 0;

    /**
     * @var integer
     **/
    const SENTENCE_TERM = 0;

    /**
     * @var integer
     **/
    const SENTENCE_TERM_LIMIT = 0;

    /**
     * @var integer
     **/
    const WORD_IDEO = 0;

    /**
     * @var integer
     **/
    const WORD_IDEO_LIMIT = 0;

    /**
     * @var integer
     **/
    const WORD_KANA = 0;

    /**
     * @var integer
     **/
    const WORD_KANA_LIMIT = 0;

    /**
     * @var integer
     **/
    const WORD_LETTER = 0;

    /**
     * @var integer
     **/
    const WORD_LETTER_LIMIT = 0;

    /**
     * @var integer
     **/
    const WORD_NONE = 0;

    /**
     * @var integer
     **/
    const WORD_NONE_LIMIT = 0;

    /**
     * @var integer
     **/
    const WORD_NUMBER = 0;

    /**
     * @var integer
     **/
    const WORD_NUMBER_LIMIT = 0;

    /**
     * Get the binary form of compiled rules
     *
     * @return string
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function getBinaryRules(){}

    /**
     * Get the rule set used to create this object
     *
     * @return string
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function getRules(){}

    /**
     * Get the largest status value from the break rules that determined the
     * current break position
     *
     * @return int
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function getRuleStatus(){}

    /**
     * Get the status values from the break rules that determined the current
     * break position
     *
     * @return array
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function getRuleStatusVec(){}

    /**
     * Create iterator from ruleset
     *
     * @param string $rules
     * @param string $areCompiled
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function __construct($rules, $areCompiled){}

}
class IntlTimeZone {
    /**
     * @var integer
     **/
    const DISPLAY_LONG = 0;

    /**
     * @var integer
     **/
    const DISPLAY_SHORT = 0;

    /**
     * Get the number of IDs in the equivalency group that includes the given
     * ID
     *
     * @param string $zoneId
     * @return int
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public static function countEquivalentIDs($zoneId){}

    /**
     * Create a new copy of the default timezone for this host
     *
     * @return IntlTimeZone
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public static function createDefault(){}

    /**
     * Get an enumeration over time zone IDs associated with the given
     * country or offset
     *
     * @param mixed $countryOrRawOffset
     * @return IntlIterator
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public static function createEnumeration($countryOrRawOffset){}

    /**
     * Create a timezone object for the given ID
     *
     * @param string $zoneId
     * @return IntlTimeZone
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public static function createTimeZone($zoneId){}

    /**
     * Get an enumeration over system time zone IDs with the given filter
     * conditions
     *
     * @param int $zoneType
     * @param string $region
     * @param int $rawOffset
     * @return IntlIterator Returns IntlIterator.
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public static function createTimeZoneIDEnumeration($zoneType, $region, $rawOffset){}

    /**
     * Create a timezone object from
     *
     * @param DateTimeZone $zoneId
     * @return IntlTimeZone
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public static function fromDateTimeZone($zoneId){}

    /**
     * Get the canonical system timezone ID or the normalized custom time
     * zone ID for the given time zone ID
     *
     * @param string $zoneId
     * @param bool $isSystemID
     * @return string
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public static function getCanonicalID($zoneId, &$isSystemID){}

    /**
     * Get a name of this time zone suitable for presentation to the user
     *
     * @param bool $isDaylight
     * @param int $style
     * @param string $locale
     * @return string
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getDisplayName($isDaylight, $style, $locale){}

    /**
     * Get the amount of time to be added to local standard time to get local
     * wall clock time
     *
     * @return int
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getDSTSavings(){}

    /**
     * Get an ID in the equivalency group that includes the given ID
     *
     * @param string $zoneId
     * @param int $index
     * @return string
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public static function getEquivalentID($zoneId, $index){}

    /**
     * Get last error code on the object
     *
     * @return int
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getErrorCode(){}

    /**
     * Get last error message on the object
     *
     * @return string
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getErrorMessage(){}

    /**
     * Create GMT (UTC) timezone
     *
     * @return IntlTimeZone
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public static function getGMT(){}

    /**
     * Get timezone ID
     *
     * @return string
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getID(){}

    /**
     * Translate a Windows timezone into a system timezone
     *
     * Translates a Windows timezone (e.g. "Pacific Standard Time") into a
     * system timezone (e.g. "America/Los_Angeles").
     *
     * @param string $timezone
     * @param string $region
     * @return string Returns the system timezone.
     * @since PHP 7 >= 7.1.0
     **/
    public static function getIDForWindowsID($timezone, $region){}

    /**
     * Get the time zone raw and GMT offset for the given moment in time
     *
     * @param float $date
     * @param bool $local
     * @param int $rawOffset
     * @param int $dstOffset
     * @return int
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getOffset($date, $local, &$rawOffset, &$dstOffset){}

    /**
     * Get the raw GMT offset (before taking daylight savings time into
     * account
     *
     * @return int
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getRawOffset(){}

    /**
     * Get the region code associated with the given system time zone ID
     *
     * @param string $zoneId
     * @return string Return region.
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public static function getRegion($zoneId){}

    /**
     * Get the timezone data version currently used by ICU
     *
     * @return string
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public static function getTZDataVersion(){}

    /**
     * Get the "unknown" time zone
     *
     * @return IntlTimeZone Returns IntlTimeZone or NULL on failure.
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public static function getUnknown(){}

    /**
     * Translate a system timezone into a Windows timezone
     *
     * Translates a system timezone (e.g. "America/Los_Angeles") into a
     * Windows timezone (e.g. "Pacific Standard Time").
     *
     * @param string $timezone
     * @return string Returns the Windows timezone.
     * @since PHP 7 >= 7.1.0
     **/
    public static function getWindowsID($timezone){}

    /**
     * Check if this zone has the same rules and offset as another zone
     *
     * @param IntlTimeZone $otherTimeZone
     * @return bool
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function hasSameRules($otherTimeZone){}

    /**
     * Convert to object
     *
     * @return DateTimeZone
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function toDateTimeZone(){}

    /**
     * Check if this time zone uses daylight savings time
     *
     * @return bool
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function useDaylightTime(){}

}
/**
 * Exception thrown if an argument is not of the expected type.
 **/
class InvalidArgumentException extends LogicException {
}
/**
 * Interface to create an external Iterator.
 **/
interface IteratorAggregate extends Traversable {
    /**
     * Retrieve an external iterator
     *
     * Returns an external iterator.
     *
     * @return Traversable An instance of an object implementing Iterator
     *   or Traversable
     * @since PHP 5, PHP 7
     **/
    public function getIterator();

}
/**
 * This iterator wrapper allows the conversion of anything that is
 * Traversable into an Iterator. It is important to understand that most
 * classes that do not implement Iterators have reasons as most likely
 * they do not allow the full Iterator feature set. If so, techniques
 * should be provided to prevent misuse, otherwise expect exceptions or
 * fatal errors.
 **/
class IteratorIterator implements OuterIterator {
    /**
     * Get the current value
     *
     * Get the value of the current element.
     *
     * @return mixed The value of the current element.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function current(){}

    /**
     * Get the inner iterator
     *
     * @return Traversable The inner iterator as passed to
     *   IteratorIterator::__construct.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function getInnerIterator(){}

    /**
     * Get the key of the current element
     *
     * @return scalar The key of the current element.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function key(){}

    /**
     * Forward to the next element
     *
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function next(){}

    /**
     * Rewind to the first element
     *
     * Rewinds to the first element.
     *
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function rewind(){}

    /**
     * Checks if the iterator is valid
     *
     * @return bool Returns TRUE if the iterator is valid, otherwise FALSE
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function valid(){}

    /**
     * Create an iterator from anything that is traversable
     *
     * Creates an iterator from anything that is traversable.
     *
     * @param Traversable $iterator The traversable iterator.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function __construct($iterator){}

}
/**
 * Objects implementing JsonSerializable can customize their JSON
 * representation when encoded with {@link json_encode}.
 **/
interface JsonSerializable {
    /**
     * Specify data which should be serialized to JSON
     *
     * Serializes the object to a value that can be serialized natively by
     * {@link json_encode}.
     *
     * @return mixed Returns data which can be serialized by {@link
     *   json_encode}, which is a value of any type other than a resource.
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function jsonSerialize();

}
/**
 * The Judy class implements the ArrayAccess interface and the Iterator
 * interface. This class, once instantiated, can be accessed like a PHP
 * array. A PHP Judy object (or Judy Array) can be one of the following
 * type :
 *
 * Judy::BITSET Judy::INT_TO_INT Judy::INT_TO_MIXED Judy::STRING_TO_INT
 * Judy::STRING_TO_MIXED Judy array example
 **/
class Judy implements ArrayAccess, Iterator {
    /**
     * Define the Judy Array as a Bitset with keys as Integer and Values as a
     * Boolean
     *
     * @var integer
     **/
    const BITSET = 0;

    /**
     * @var integer
     **/
    const INT_TO_INT = 0;

    /**
     * @var integer
     **/
    const INT_TO_MIXED = 0;

    /**
     * @var integer
     **/
    const STRING_TO_INT = 0;

    /**
     * @var integer
     **/
    const STRING_TO_MIXED = 0;

    /**
     * Locate the Nth index present in the array
     *
     * Locate the Nth index present in the Judy array.
     *
     * @param int $nth_index Nth index to return. If nth_index equal 1,
     *   then it will return the first index in the array.
     * @return int Return the index at the given Nth position.
     * @since PECL judy >= 0.1.1
     **/
    public function byCount($nth_index){}

    /**
     * Count the number of elements in the array
     *
     * Count the number of elements in the Judy array.
     *
     * @param int $index_start Start counting from the given index. Default
     *   is first index.
     * @param int $index_end Stop counting when reaching this index.
     *   Default is last index.
     * @return int Return the number of elements.
     * @since PECL judy >= 0.1.1
     **/
    public function count($index_start, $index_end){}

    /**
     * Search for the first index in the array
     *
     * Search (inclusive) for the first index present that is equal to or
     * greater than the passed Index.
     *
     * @param mixed $index The index can be an integer or a string
     *   corresponding to the index where to start the search.
     * @return mixed Return the corresponding index in the array.
     * @since PECL judy >= 0.1.1
     **/
    public function first($index){}

    /**
     * Search for the first absent index in the array
     *
     * Search (inclusive) for the first absent index that is equal to or
     * greater than the passed Index.
     *
     * @param mixed $index The index can be an integer or a string
     *   corresponding to the index where to start the search.
     * @return int Return the corresponding index in the array.
     * @since PECL judy >= 0.1.1
     **/
    public function firstEmpty($index){}

    /**
     * Free the entire array
     *
     * Free the entire Judy array.
     *
     * @return int
     * @since PECL judy >= 0.1.1
     **/
    public function free(){}

    /**
     * Return the type of the current array
     *
     * Return an integer corresponding to the Judy type of the current
     * object.
     *
     * @return int Return an integer corresponding to a Judy type.
     * @since PECL judy >= 0.1.1
     **/
    public function getType(){}

    /**
     * Search for the last index in the array
     *
     * Search (inclusive) for the last index present that is equal to or less
     * than the passed Index.
     *
     * @param string $index The index can be an integer or a string
     *   corresponding to the index where to start the search.
     * @return void Return the corresponding index in the array.
     * @since PECL judy >= 0.1.1
     **/
    public function last($index){}

    /**
     * Search for the last absent index in the array
     *
     * Search (inclusive) for the last absent index that is equal to or less
     * than the passed Index.
     *
     * @param int $index The index can be an integer or a string
     *   corresponding to the index where to start the search.
     * @return int Return the corresponding index in the array.
     * @since PECL judy >= 0.1.1
     **/
    public function lastEmpty($index){}

    /**
     * Return the memory used by the array
     *
     * Return the memory used by the Judy array.
     *
     * @return int Return the memory used in bytes.
     * @since PECL judy >= 0.1.1
     **/
    public function memoryUsage(){}

    /**
     * Search for the next index in the array
     *
     * Search (exclusive) for the next index present that is greater than the
     * passed Index.
     *
     * @param mixed $index The index can be an integer or a string
     *   corresponding to the index where to start the search.
     * @return mixed Return the corresponding index in the array.
     * @since PECL judy >= 0.1.1
     **/
    public function next($index){}

    /**
     * Search for the next absent index in the array
     *
     * Search (exclusive) for the next absent index that is greater than the
     * passed Index.
     *
     * @param int $index The index can be an integer or a string
     *   corresponding to the index where to start the search.
     * @return int Return the corresponding index in the array.
     * @since PECL judy >= 0.1.1
     **/
    public function nextEmpty($index){}

    /**
     * Whether a offset exists
     *
     * Whether or not an offset exists.
     *
     * @param mixed $offset An offset to check for.
     * @return bool Returns TRUE on success or FALSE on failure.
     * @since PECL judy >= 0.1.1
     **/
    public function offsetExists($offset){}

    /**
     * Offset to retrieve
     *
     * Returns the value at specified offset.
     *
     * @param mixed $offset The offset to retrieve.
     * @return mixed Can return all value types.
     * @since PECL judy >= 0.1.1
     **/
    public function offsetGet($offset){}

    /**
     * Offset to set
     *
     * Assigns a value to the specified offset.
     *
     * @param mixed $offset The offset to assign the value to.
     * @param mixed $value The value to set.
     * @return bool No value is returned.
     * @since PECL judy >= 0.1.1
     **/
    public function offsetSet($offset, $value){}

    /**
     * Offset to unset
     *
     * Unsets an offset.
     *
     * @param mixed $offset The offset to unset.
     * @return bool No value is returned.
     * @since PECL judy >= 0.1.1
     **/
    public function offsetUnset($offset){}

    /**
     * Search for the previous index in the array
     *
     * Search (exclusive) for the previous index present that is less than
     * the passed Index.
     *
     * @param mixed $index The index can be an integer or a string
     *   corresponding to the index where to start the search.
     * @return mixed Return the corresponding index in the array.
     * @since PECL judy >= 0.1.1
     **/
    public function prev($index){}

    /**
     * Search for the previous absent index in the array
     *
     * Search (exclusive) for the previous index absent that is less than the
     * passed Index.
     *
     * @param mixed $index The index can be an integer or a string
     *   corresponding to the index where to start the search.
     * @return int Return the corresponding index in the array.
     * @since PECL judy >= 0.1.1
     **/
    public function prevEmpty($index){}

    /**
     * Return the size of the current array
     *
     * This method is an alias of Judy::count.
     *
     * @return void Return an integer.
     * @since PECL judy >= 0.1.1
     **/
    public function size(){}

    /**
     * Construct a new object
     *
     * Construct a new Judy object. A Judy object can be accessed like a PHP
     * Array.
     *
     * @param int $judy_type The Judy type to be used.
     * @since PECL judy >= 0.1.1
     **/
    public function __construct($judy_type){}

    /**
     * Destruct a Judy object
     *
     * @return void
     * @since PECL judy >= 0.1.1
     **/
    public function __destruct(){}

}
class KTaglib_ID3v2_AttachedPictureFrame {
    const Artist = 0;

    const BackCover = 0;

    const Band = 0;

    const BandLogo = 0;

    const ColouredFish = 0;

    const Composer = 0;

    const Conductor = 0;

    const DuringPerformance = 0;

    const DuringRecording = 0;

    const FileIcon = 0;

    const FrontCover = 0;

    const Illustration = 0;

    const LeadArtist = 0;

    const LeafletPage = 0;

    const Lyricist = 0;

    const Media = 0;

    const MovieScreenCapture = 0;

    const Other = 0;

    const OtherFileIcon = 0;

    const RecordingLocation = 0;

    /**
     * Returns a description for the picture in a picture frame
     *
     * Returns the attached description for a picture frame in an ID3v2.x
     * frame.
     *
     * @return string Returns a description for the picture in a picture
     *   frame
     * @since 0.0.1
     **/
    public function getDescription(){}

    /**
     * Returns the mime type of the picture
     *
     * Returns the mime type of the image represented by the attached picture
     * frame.
     *
     * Please notice that this method might return different types. While
     * ID3v2.2 have a mime type that doesn't start with "image/", ID3v2.3 and
     * v2.4 usually start with "image/". Therefore the method might return
     * "image/png" for IDv2.3 frames and just "PNG" for ID3v2.2 frames.
     *
     * Notice that even the frame is an attached picture, the mime type might
     * not be set and therefore an empty string might be returned.
     *
     * @return string Returns the mime type of the image represented by the
     *   attached picture frame.
     * @since 0.2.0
     **/
    public function getMimeType(){}

    /**
     * Returns the type of the image
     *
     * The ID3v2 specification allows an AttachedPictureFrame to set the type
     * of an image. This can be e.g. FrontCover or FileIcon. Please refer to
     * the KTaglib_ID3v2_AttachedPictureFrame class description for a list of
     * available types.
     *
     * @return int Returns the integer representation of the type.
     * @since 0.2.0
     **/
    public function getType(){}

    /**
     * Saves the picture to a file
     *
     * Saves the attached picture to the given filename.
     *
     * @param string $filename
     * @return bool Returns true on success, otherwise false
     * @since 0.0.1
     **/
    public function savePicture($filename){}

    /**
     * Sets the frame picture to the given image
     *
     * Sets the picture to the give image. The image is loaded from the given
     * filename. Please note that the picture is not saved unless you call
     * the save method of the corresponding file object.
     *
     * @param string $filename
     * @return void Returns true on success, otherwise false
     * @since 0.0.1
     **/
    public function setPicture($filename){}

    /**
     * Set the type of the image
     *
     * Sets the type of the image. This can be e.g. FrontCover or FileIcon.
     * Please refer to the KTaglib_ID3v2_AttachedPictureFrame class
     * description for a list of available types and their constant mappings.
     *
     * @param int $type
     * @return void
     * @since 0.2.0
     **/
    public function setType($type){}

}
class KTaglib_ID3v2_Frame extends KTaglib_ID3v2_Frame {
    /**
     * Returns the size of the frame in bytes
     *
     * Returns the size of the frame in bytes. Please refer to id3.org to see
     * what ID3v2 frames are and how they are defined.
     *
     * @return int Returns the size of the frame in bytes
     * @since 0.0.1
     **/
    public function getSize(){}

    /**
     * Returns a string representation of the frame
     *
     * Returns a string representation of the frame. This might be just the
     * frame id, but might contain more information. Please see the ktaglib
     * documentation for more information
     *
     * @return string Returns a string representation of the frame.
     * @since 0.0.1
     **/
    public function __toString(){}

}
class KTaglib_ID3v2_Tag {
    /**
     * Add a frame to the ID3v2 tag
     *
     * Adds a frame to the ID3v2 tag. The frame must be a valid
     * KTaglib_ID3v2_Frame object. To save the tag, the save function needs
     * to be invoked.
     *
     * @param KTaglib_ID3v2_Frame $frame
     * @return bool Returns true on success, otherwise false.
     * @since 0.0.1
     **/
    public function addFrame($frame){}

    /**
     * Returns an array of ID3v2 frames, associated with the ID3v2 tag
     *
     * @return array Return an array of KTaglib_ID3v2_Frame objects
     * @since 0.0.1
     **/
    public function getFrameList(){}

}
class KTaglib_MPEG_AudioProperties {
    /**
     * Returns the bitrate of the MPEG file
     *
     * @return int Returns the bitrate as an integer
     * @since 0.0.1
     **/
    public function getBitrate(){}

    /**
     * Returns the amount of channels of a MPEG file
     *
     * Returns the amount of channels of the MPEG file
     *
     * @return int Returns the channel count as an integer
     * @since 0.0.1
     **/
    public function getChannels(){}

    /**
     * Returns the layer of a MPEG file
     *
     * Returns the layer of the MPEG file (usually 3 for MP3).
     *
     * @return int Returns the layer as an integer
     * @since 0.0.1
     **/
    public function getLayer(){}

    /**
     * Returns the length of a MPEG file
     *
     * Returns the length of the MPEG file
     *
     * @return int Returns the length as an integer
     * @since 0.0.1
     **/
    public function getLength(){}

    /**
     * Returns the sample bitrate of a MPEG file
     *
     * Returns the sample bitrate of the MPEG file
     *
     * @return int Returns the sample bitrate as an integer
     * @since 0.0.1
     **/
    public function getSampleBitrate(){}

    /**
     * Returns the version of a MPEG file
     *
     * Returns the version of the MPEG file header. The possible versions are
     * defined in Tag_MPEG_Header (Version1, Version2, Version2.5).
     *
     * @return int Returns the version
     * @since 0.0.1
     **/
    public function getVersion(){}

    /**
     * Returns the copyright status of an MPEG file
     *
     * Returns true if the MPEG file is copyrighted
     *
     * @return bool Returns true if the MPEG file is copyrighted
     * @since 0.0.1
     **/
    public function isCopyrighted(){}

    /**
     * Returns if the file is marked as the original file
     *
     * Returns true if the file is marked as the original file
     *
     * @return bool Returns true if the file is marked as the original file
     * @since 0.0.1
     **/
    public function isOriginal(){}

    /**
     * Returns if protection mechanisms of an MPEG file are enabled
     *
     * Returns true if protection mechanisms (like DRM) are enabled for this
     * file
     *
     * @return bool Returns true if protection mechanisms (like DRM) are
     *   enabled for this file
     * @since 0.0.1
     **/
    public function isProtectionEnabled(){}

}
class KTaglib_MPEG_File {
    /**
     * Returns an object that provides access to the audio properties
     *
     * Returns an object that provides access to the audio properties of the
     * mpeg file.
     *
     * @return KTaglib_MPEG_File Returns an KTaglib_MPEG_AudioProperties
     *   object or false.
     * @since 0.0.1
     **/
    public function getAudioProperties(){}

    /**
     * Returns an object representing an ID3v1 tag
     *
     * Returns an object that represents an ID3v1 tag, which can be used to
     * get information about the ID3v1 tag.
     *
     * @param bool $create
     * @return KTaglib_ID3v1_Tag Returns an KTaglib_MPEG_ID3v1Tag object or
     *   false if there is no ID3v1 tag.
     * @since 0.0.1
     **/
    public function getID3v1Tag($create){}

    /**
     * Returns a ID3v2 object
     *
     * Returns a ID3v2 object for the mpeg file. If no ID3v2 Tag is present,
     * an KTaglib_TagNotFoundException is thrown.
     *
     * @param bool $create
     * @return KTaglib_ID3v2_Tag Returns the KTaglib_ID3v2_Tag object of
     *   the MPEG file or false if there is no ID3v2 tag
     * @since 0.0.1
     **/
    public function getID3v2Tag($create){}

}
class KTaglib_MPEG_Header {
    const Version1 = 0;

    const Version2 = 0;

    const Version2_5 = 0;

}
class KTaglib_Tag extends KTaglib_Tag {
    /**
     * Returns the album string from a ID3 tag
     *
     * Returns the album string of an ID3 tag. This method is implemented in
     * ID3v1 and ID3v2 tags.
     *
     * @return string Returns the album string
     * @since 0.0.1
     **/
    public function getAlbum(){}

    /**
     * Returns the artist string from a ID3 tag
     *
     * Returns the artist string of an ID3 tag. This method is implemented in
     * ID3v1 and ID3v2 tags.
     *
     * @return string Returns the artist string
     * @since 0.0.1
     **/
    public function getArtist(){}

    /**
     * Returns the comment from a ID3 tag
     *
     * Returns the comment of an ID3 tag. This method is implemented in ID3v1
     * and ID3v2 tags.
     *
     * @return string Returns the comment string
     * @since 0.0.1
     **/
    public function getComment(){}

    /**
     * Returns the genre from a ID3 tag
     *
     * Returns the genre of an ID3 tag. This method is implemented in ID3v1
     * and ID3v2 tags.
     *
     * @return string Returns the genre string
     * @since 0.0.1
     **/
    public function getGenre(){}

    /**
     * Returns the title string from a ID3 tag
     *
     * Returns the title string of an ID3 tag. This method is implemented in
     * ID3v1 and ID3v2 tags.
     *
     * @return string Returns the title string
     * @since 0.0.1
     **/
    public function getTitle(){}

    /**
     * Returns the track number from a ID3 tag
     *
     * Returns the track number of an ID3 tag. This method is implemented in
     * ID3v1 and ID3v2 tags.
     *
     * @return int Returns the track number as an integer
     * @since 0.0.1
     **/
    public function getTrack(){}

    /**
     * Returns the year from a ID3 tag
     *
     * Returns the year of an ID3 tag. This method is implemented in ID3v1
     * and ID3v2 tags.
     *
     * @return int Returns the year as an integer
     * @since 0.0.1
     **/
    public function getYear(){}

    /**
     * Returns true if the tag is empty
     *
     * Returns true if the tag exists, but is empty. This method is
     * implemented in ID3v1 and ID3v2 tags.
     *
     * @return bool Returns true if the tag is empty, otherwise false.
     * @since 0.0.1
     **/
    public function isEmpty(){}

}
/**
 * LAPACK is written in Fortran 90 and provides routines for solving
 * systems of simultaneous linear equations, least-squares solutions of
 * linear systems of equations, eigenvalue problems, and singular value
 * problems. This extension wraps the LAPACKE C bindings to allow access
 * to several processes exposed by the library. Most functions work with
 * arrays of arrays, representing rectangular matrices in row major order
 * - so a two by two matrix [1 2; 3 4] would be array(array(1, 2),
 * array(3, 4)). All of the functions are called statically, for example
 * $eig = Lapack::eigenvalues($a);
 **/
class Lapack {
    /**
     * This function returns the eigenvalues for a given square matrix
     *
     * Calculate the eigenvalues for a square matrix, and optionally
     * calculate the left and right eigenvectors.
     *
     * @param array $a The matrix to calculate the eigenvalues for.
     * @param array $left Optional parameter - if an array is passed here,
     *   it will be filled with the left eigenvectors
     * @param array $right Optional parameter - if an array is passed here,
     *   it will be filled with the right eigenvectors
     * @return array Returns an array of arrays representing the
     *   eigenvalues for the array.
     * @since PECL lapack >= 0.1.0
     **/
    public static function eigenValues($a, $left, $right){}

    /**
     * Return an identity matrix
     *
     * Return a size n identity matrix
     *
     * @param int $n The height and width of the identity matrix.
     * @return array Will return a an array of n arrays, each containing n
     *   entries. The diagonals of the matrix will be 1s, the other positions
     *   0.
     * @since PECL lapack >= 0.1.0
     **/
    public static function identity($n){}

    /**
     * Calculate the linear least squares solution of a matrix using QR
     * factorisation
     *
     * Solve the linear least squares problem, find min x in || B - Ax ||
     * Returns an array representing x. Expects arrays of arrays, and will
     * return an array of arrays in the dimension B num cols x A num cols.
     * Uses QR or LQ factorisation on matrix A.
     *
     * @param array $a Matrix A
     * @param array $b Matrix B
     * @return array Array of the solution matrix
     * @since PECL lapack >= 0.1.0
     **/
    public static function leastSquaresByFactorisation($a, $b){}

    /**
     * Solve the linear least squares problem, using SVD
     *
     * Solve the linear least squares problem, find min x in || B - Ax ||
     * Returns an array representing x. Expects arrays of arrays, and will
     * return an array of arrays in the dimension B num cols x A num cols.
     * Uses SVD with a divide and conquer algorithm.
     *
     * @param array $a Matrix A
     * @param array $b Matrix B
     * @return array Returns the solution as an array of arrays.
     * @since PECL lapack >= 0.1.0
     **/
    public static function leastSquaresBySVD($a, $b){}

    /**
     * Calculate the inverse of a matrix
     *
     * Find the pseudoinverse of a matrix A.
     *
     * @param array $a Matrix to invert
     * @return array Inverted matrix (array of arrays).
     * @since PECL lapack >= 0.1.0
     **/
    public static function pseudoInverse($a){}

    /**
     * Calculated the singular values of a matrix
     *
     * Calculate the singular values of the matrix A.
     *
     * @param array $a The matrix to calculate the singular values for
     * @return array The singular values
     * @since PECL lapack >= 0.1.0
     **/
    public static function singularValues($a){}

    /**
     * Solve a system of linear equations
     *
     * This function computes the solution to the system of linear equations
     * with a square matrix A and multiple right-hand sides B. Solves A * X =
     * B for multiple B.
     *
     * @param array $a Square matrix of linear equations
     * @param array $b Right hand side to be solved for
     * @return array Matrix X
     * @since PECL lapack >= 0.1.0
     **/
    public static function solveLinearEquation($a, $b){}

}
/**
 * Exception thrown when an error is caught in the LAPACK functions
 **/
class lapackexception extends Exception {
}
/**
 * Exception thrown if a length is invalid.
 **/
class LengthException extends LogicException {
}
/**
 * Contains various information about errors thrown by libxml. The error
 * codes are described within the official xmlError API documentation.
 **/
class libXMLError {
    /**
     * The error's code.
     *
     * @var int
     **/
    public $code;

    /**
     * The column where the error occurred.
     *
     * @var int
     **/
    public $column;

    /**
     * The filename, or empty if the XML was loaded from a string.
     *
     * @var string
     **/
    public $file;

    /**
     * the severity of the error (one of the following constants:
     * LIBXML_ERR_WARNING, LIBXML_ERR_ERROR or LIBXML_ERR_FATAL)
     *
     * @var int
     **/
    public $level;

    /**
     * The line where the error occurred.
     *
     * @var int
     **/
    public $line;

    /**
     * The error message, if any.
     *
     * @var string
     **/
    public $message;

}
/**
 * The LimitIterator class allows iteration over a limited subset of
 * items in an Iterator. LimitIterator usage example
 *
 * string(5) "apple" string(6) "banana" string(6) "cherry"
 *
 * string(6) "cherry" string(6) "damson" string(10) "elderberry"
 **/
class LimitIterator extends IteratorIterator implements OuterIterator {
    /**
     * Get current element
     *
     * Gets the current element of the inner Iterator.
     *
     * @return mixed Returns the current element or NULL if there is none.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function current(){}

    /**
     * Get inner iterator
     *
     * Gets the inner Iterator.
     *
     * @return Iterator The inner iterator passed to
     *   LimitIterator::__construct.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function getInnerIterator(){}

    /**
     * Return the current position
     *
     * Gets the current zero-based position of the inner Iterator.
     *
     * @return int The current position.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function getPosition(){}

    /**
     * Get current key
     *
     * Gets the key for the current item in the inner Iterator.
     *
     * @return mixed Returns the key for the current item.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function key(){}

    /**
     * Move the iterator forward
     *
     * Moves the iterator forward.
     *
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function next(){}

    /**
     * Rewind the iterator to the specified starting offset
     *
     * Rewinds the iterator to the starting offset specified in
     * LimitIterator::__construct.
     *
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function rewind(){}

    /**
     * Seek to the given position
     *
     * Moves the iterator to the offset specified by {@link position}.
     *
     * @param int $position The position to seek to.
     * @return int Returns the offset position after seeking.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function seek($position){}

    /**
     * Check whether the current element is valid
     *
     * Checks whether the current element is valid.
     *
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function valid(){}

    /**
     * Construct a LimitIterator
     *
     * Constructs a new LimitIterator from an {@link iterator} with a given
     * starting {@link offset} and maximum {@link count}.
     *
     * @param Iterator $iterator The Iterator to limit.
     * @param int $offset Optional offset of the limit.
     * @param int $count Optional count of the limit.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function __construct($iterator, $offset, $count){}

}
/**
 * Examples of identifiers include: en-US (English, United States)
 * zh-Hant-TW (Chinese, Traditional Script, Taiwan) fr-CA, fr-FR (French
 * for Canada and France respectively) RFC 4646 - Tags for Identifying
 * Languages RFC 4647 - Matching of Language Tags Unicode CLDR
 * Project:Common Locale Data Repository IANA Language Subtags Registry
 * ICU User Guide - Locale ICU Locale api
 **/
class Locale {
    /**
     * Tries to find out best available locale based on HTTP
     * "Accept-Language" header
     *
     * Tries to find locale that can satisfy the language list that is
     * requested by the HTTP "Accept-Language" header.
     *
     * @param string $header The string containing the "Accept-Language"
     *   header according to format in RFC 2616.
     * @return string The corresponding locale identifier.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public static function acceptFromHttp($header){}

    /**
     * Canonicalize the locale string
     *
     * @param string $locale
     * @return string
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public static function canonicalize($locale){}

    /**
     * Returns a correctly ordered and delimited locale ID
     *
     * Returns a correctly ordered and delimited locale ID the keys identify
     * the particular locale ID subtags, and the values are the associated
     * subtag values.
     *
     * @param array $subtags an array containing a list of key-value pairs,
     *   where the keys identify the particular locale ID subtags, and the
     *   values are the associated subtag values. The 'variant' and 'private'
     *   subtags can take maximum 15 values whereas 'extlang' can take
     *   maximum 3 values.e.g. Variants are allowed with the suffix ranging
     *   from 0-14. Hence the keys for the input array can be variant0,
     *   variant1, ...,variant14. In the returned locale id, the subtag is
     *   ordered by suffix resulting in variant0 followed by variant1
     *   followed by variant2 and so on. The 'variant', 'private' and
     *   'extlang' multiple values can be specified both as array under
     *   specific key (e.g. 'variant') and as multiple numbered keys (e.g.
     *   'variant0', 'variant1', etc.).
     * @return string The corresponding locale identifier.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public static function composeLocale($subtags){}

    /**
     * Checks if a language tag filter matches with locale
     *
     * Checks if a $langtag filter matches with $locale according to RFC
     * 4647's basic filtering algorithm
     *
     * @param string $langtag The language tag to check
     * @param string $locale The language range to check against
     * @param bool $canonicalize If true, the arguments will be converted
     *   to canonical form before matching.
     * @return bool TRUE if $locale matches $langtag FALSE otherwise.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public static function filterMatches($langtag, $locale, $canonicalize){}

    /**
     * Gets the variants for the input locale
     *
     * @param string $locale The locale to extract the variants from
     * @return array The array containing the list of all variants subtag
     *   for the locale or NULL if not present
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public static function getAllVariants($locale){}

    /**
     * Gets the default locale value from the INTL global 'default_locale'
     *
     * Gets the default locale value. At the PHP initialization this value is
     * set to 'intl.default_locale' value from if that value exists or from
     * ICU's function uloc_getDefault().
     *
     * @return string The current runtime locale
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public static function getDefault(){}

    /**
     * Returns an appropriately localized display name for language of the
     * inputlocale
     *
     * Returns an appropriately localized display name for language of the
     * input locale. If is NULL then the default locale is used.
     *
     * @param string $locale The locale to return a display language for
     * @param string $in_locale Optional format locale to use to display
     *   the language name
     * @return string display name of the language for the $locale in the
     *   format appropriate for $in_locale.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public static function getDisplayLanguage($locale, $in_locale){}

    /**
     * Returns an appropriately localized display name for the input locale
     *
     * Returns an appropriately localized display name for the input locale.
     * If $locale is NULL then the default locale is used.
     *
     * @param string $locale The locale to return a display name for.
     * @param string $in_locale optional format locale
     * @return string Display name of the locale in the format appropriate
     *   for $in_locale.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public static function getDisplayName($locale, $in_locale){}

    /**
     * Returns an appropriately localized display name for region of the
     * input locale
     *
     * Returns an appropriately localized display name for region of the
     * input locale. If is NULL then the default locale is used.
     *
     * @param string $locale The locale to return a display region for.
     * @param string $in_locale Optional format locale to use to display
     *   the region name
     * @return string display name of the region for the $locale in the
     *   format appropriate for $in_locale.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public static function getDisplayRegion($locale, $in_locale){}

    /**
     * Returns an appropriately localized display name for script of the
     * input locale
     *
     * Returns an appropriately localized display name for script of the
     * input locale. If is NULL then the default locale is used.
     *
     * @param string $locale The locale to return a display script for
     * @param string $in_locale Optional format locale to use to display
     *   the script name
     * @return string Display name of the script for the $locale in the
     *   format appropriate for $in_locale.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public static function getDisplayScript($locale, $in_locale){}

    /**
     * Returns an appropriately localized display name for variants of the
     * input locale
     *
     * Returns an appropriately localized display name for variants of the
     * input locale. If is NULL then the default locale is used.
     *
     * @param string $locale The locale to return a display variant for
     * @param string $in_locale Optional format locale to use to display
     *   the variant name
     * @return string Display name of the variant for the $locale in the
     *   format appropriate for $in_locale.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public static function getDisplayVariant($locale, $in_locale){}

    /**
     * Gets the keywords for the input locale
     *
     * @param string $locale The locale to extract the keywords from
     * @return array Associative array containing the keyword-value pairs
     *   for this locale
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public static function getKeywords($locale){}

    /**
     * Gets the primary language for the input locale
     *
     * @param string $locale The locale to extract the primary language
     *   code from
     * @return string The language code associated with the language or
     *   NULL in case of error.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public static function getPrimaryLanguage($locale){}

    /**
     * Gets the region for the input locale
     *
     * @param string $locale The locale to extract the region code from
     * @return string The region subtag for the locale or NULL if not
     *   present
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public static function getRegion($locale){}

    /**
     * Gets the script for the input locale
     *
     * @param string $locale The locale to extract the script code from
     * @return string The script subtag for the locale or NULL if not
     *   present
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public static function getScript($locale){}

    /**
     * Searches the language tag list for the best match to the language
     *
     * Searches the items in {@link langtag} for the best match to the
     * language range specified in {@link locale} according to RFC 4647's
     * lookup algorithm.
     *
     * @param array $langtag An array containing a list of language tags to
     *   compare to {@link locale}. Maximum 100 items allowed.
     * @param string $locale The locale to use as the language range when
     *   matching.
     * @param bool $canonicalize If true, the arguments will be converted
     *   to canonical form before matching.
     * @param string $default The locale to use if no match is found.
     * @return string The closest matching language tag or default value.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public static function lookup($langtag, $locale, $canonicalize, $default){}

    /**
     * Returns a key-value array of locale ID subtag elements
     *
     * @param string $locale The locale to extract the subtag array from.
     *   Note: The 'variant' and 'private' subtags can take maximum 15 values
     *   whereas 'extlang' can take maximum 3 values.
     * @return array Returns an array containing a list of key-value pairs,
     *   where the keys identify the particular locale ID subtags, and the
     *   values are the associated subtag values. The array will be ordered
     *   as the locale id subtags e.g. in the locale id if variants are
     *   '-varX-varY-varZ' then the returned array will have variant0=>varX ,
     *   variant1=>varY , variant2=>varZ
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public static function parseLocale($locale){}

    /**
     * Sets the default runtime locale
     *
     * Sets the default runtime locale to $locale. This changes the value of
     * INTL global 'default_locale' locale identifier. UAX #35 extensions are
     * accepted.
     *
     * @param string $locale Is a BCP 47 compliant language tag.
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public static function setDefault($locale){}

}
/**
 * Exception that represents error in the program logic. This kind of
 * exception should lead directly to a fix in your code.
 **/
class LogicException extends Exception {
}
class Lua {
    /**
     * @var string
     **/
    const LUA_VERSION = '';

    /**
     * Assign a PHP variable to Lua
     *
     * @param string $name
     * @param string $value
     * @return mixed Returns $this or NULL on failure.
     * @since PECL lua >=0.9.0
     **/
    public function assign($name, $value){}

    /**
     * Call Lua functions
     *
     * @param callable $lua_func Function name in lua
     * @param array $args Arguments passed to the Lua function
     * @param int $use_self Whether to use self
     * @return mixed Returns result of the called function, NULL for wrong
     *   arguments or FALSE on other failure.
     * @since PECL lua >=0.9.0
     **/
    public function call($lua_func, $args, $use_self){}

    /**
     * Evaluate a string as Lua code
     *
     * @param string $statements
     * @return mixed Returns result of evaled code, NULL for wrong
     *   arguments or FALSE on other failure.
     * @since PECL lua >=0.9.0
     **/
    public function eval($statements){}

    /**
     * The getversion purpose
     *
     * @return string Returns Lua::LUA_VERSION.
     * @since PECL lua >=0.9.0
     **/
    public function getVersion(){}

    /**
     * Parse a Lua script file
     *
     * @param string $file
     * @return mixed Returns result of included code, NULL for wrong
     *   arguments or FALSE on other failure.
     * @since PECL lua >=0.9.0
     **/
    public function include($file){}

    /**
     * Register a PHP function to Lua
     *
     * Register a PHP function to Lua as a function named "$name"
     *
     * @param string $name
     * @param callable $function A valid PHP function callback
     * @return mixed Returns $this, NULL for wrong arguments or FALSE on
     *   other failure.
     **/
    public function registerCallback($name, $function){}

    /**
     * Call Lua functions
     *
     * @param callable $lua_func Function name in lua
     * @param array $args Arguments passed to the Lua function
     * @param int $use_self Whether to use self
     * @return mixed Returns result of the called function, NULL for wrong
     *   arguments or FALSE on other failure.
     * @since PECL lua >=0.9.0
     **/
    public function __call($lua_func, $args, $use_self){}

    /**
     * Lua constructor
     *
     * @param string $lua_script_file
     * @since PECL lua >=0.9.0
     **/
    public function __construct($lua_script_file){}

}
/**
 * LuaClosure is a wrapper class for LUA_TFUNCTION which could be return
 * from calling to Lua function.
 **/
class LuaClosure {
    /**
     * Invoke luaclosure
     *
     * @param mixed $arg
     * @return void
     * @since PECL lua >=0.9.0
     **/
    public function __invoke($arg){}

}
class LuaException extends Exception {
}
class maxdb {
    /**
     * Gets the number of affected rows in a previous MaxDB operation
     *
     * {@link maxdb_affected_rows} returns the number of rows affected by the
     * last INSERT, UPDATE, or DELETE query associated with the provided
     * {@link link} parameter. If this number cannot be determined, this
     * function will return -1.
     *
     * The {@link maxdb_affected_rows} function only works with queries which
     * modify a table. In order to return the number of rows from a SELECT
     * query, use the {@link maxdb_num_rows} function instead.
     *
     * @var int
     **/
    public $affected_rows;

    /**
     * Returns the error code for the most recent function call
     *
     * The {@link maxdb_errno} function will return the last error code for
     * the most recent MaxDB function call that can succeed or fail with
     * respect to the database link defined by the {@link link} parameter. If
     * no errors have occurred, this function will return zero.
     *
     * @var int
     **/
    public $errno;

    /**
     * Returns a string description of the last error
     *
     * The {@link maxdb_error} function is identical to the corresponding
     * {@link maxdb_errno} function in every way, except instead of returning
     * an integer error code the {@link maxdb_error} function will return a
     * string representation of the last error to occur for the database
     * connection represented by the {@link link} parameter. If no error has
     * occurred, this function will return an empty string.
     *
     * @var string
     **/
    public $error;

    /**
     * Returns a string representing the type of connection used
     *
     * The {@link maxdb_get_host_info} function returns a string describing
     * the connection represented by the {@link link} parameter is using.
     *
     * @var string
     **/
    public $host_info;

    /**
     * Retrieves information about the most recently executed query
     *
     * The {@link maxdb_info} function returns a string providing information
     * about the last query executed. The nature of this string is provided
     * below:
     *
     * Possible maxdb_info return values Query type Example result string
     * INSERT INTO...SELECT... Records: 100 Duplicates: 0 Warnings: 0 INSERT
     * INTO...VALUES (...),(...),(...) Records: 3 Duplicates: 0 Warnings: 0
     * LOAD DATA INFILE ... Records: 1 Deleted: 0 Skipped: 0 Warnings: 0
     * ALTER TABLE ... Records: 3 Duplicates: 0 Warnings: 0 UPDATE ... Rows
     * matched: 40 Changed: 40 Warnings: 0
     *
     * @var string
     **/
    public $info;

    /**
     * Returns the auto generated id used in the last query
     *
     * The {@link maxdb_insert_id} function returns the ID generated by a
     * query on a table with a column having the DEFAULT SERIAL attribute. If
     * the last query wasn't an INSERT or UPDATE statement or if the modified
     * table does not have a column with the DEFAULT SERIAL attribute, this
     * function will return zero.
     *
     * @var mixed
     **/
    public $insert_id;

    /**
     * Gets the number of rows in a result
     *
     * Returns the number of rows in the result set.
     *
     * The use of {@link maxdb_num_rows} depends on whether you use buffered
     * or unbuffered result sets. In case you use unbuffered resultsets
     * {@link maxdb_num_rows} will not correct the correct number of rows
     * until all the rows in the result have been retrieved.
     *
     * @var int
     **/
    public $num_rows;

    /**
     * Returns the version of the MaxDB protocol used
     *
     * Returns an integer representing the MaxDB protocol version used by the
     * connection represented by the {@link link} parameter.
     *
     * @var string
     **/
    public $protocol_version;

    /**
     * Returns the version of the MaxDB server
     *
     * Returns a string representing the version of the MaxDB server that the
     * MaxDB extension is connected to (represented by the {@link link}
     * parameter).
     *
     * @var string
     **/
    public $server_info;

    /**
     * Returns the version of the MaxDB server as an integer
     *
     * The {@link maxdb_get_server_version} function returns the version of
     * the server connected to (represented by the {@link link} parameter) as
     * an integer.
     *
     * The form of this version number is main_version * 10000 +
     * minor_version * 100 + sub_version (i.e. version 7.5.0 is 70500).
     *
     * @var int
     **/
    public $server_version;

    /**
     * Returns the SQLSTATE error from previous MaxDB operation
     *
     * Returns a string containing the SQLSTATE error code for the last
     * error. The error code consists of five characters. '00000' means no
     * error. The values are specified by ANSI SQL and ODBC.
     *
     * @var string
     **/
    public $sqlstate;

    /**
     * Returns the thread ID for the current connection
     *
     * The {@link maxdb_thread_id} function returns the thread ID for the
     * current connection which can then be killed using the {@link
     * maxdb_kill} function. If the connection is lost and you reconnect with
     * {@link maxdb_ping}, the thread ID will be other. Therefore you should
     * get the thread ID only when you need it.
     *
     * @var int
     **/
    public $thread_id;

    /**
     * Returns the number of warnings from the last query for the given link
     *
     * {@link maxdb_warning_count} returns the number of warnings from the
     * last query in the connection represented by the {@link link}
     * parameter.
     *
     * @var int
     **/
    public $warning_count;

    /**
     * Turns on or off auto-commiting database modifications
     *
     * {@link maxdb_autocommit} is used to turn on or off auto-commit mode on
     * queries for the database connection represented by the {@link link}
     * resource.
     *
     * @param bool $mode
     * @return bool
     **/
    function auto_commit($mode){}

    /**
     * Changes the user of the specified database connection
     *
     * {@link maxdb_change_user} is used to change the user of the specified
     * database connection as given by the {@link link} parameter and to set
     * the current database to that specified by the {@link database}
     * parameter.
     *
     * In order to successfully change users a valid {@link username} and
     * {@link password} parameters must be provided and that user must have
     * sufficient permissions to access the desired database. If for any
     * reason authorization fails, the current user authentication will
     * remain.
     *
     * @param string $user
     * @param string $password
     * @param string $database
     * @return bool
     **/
    function change_user($user, $password, $database){}

    /**
     * Returns the default character set for the database connection
     *
     * Returns the current character set for the database connection
     * specified by the {@link link} parameter.
     *
     * @return string The default character set for the current connection,
     *   either ascii or unicode.
     **/
    function character_set_name(){}

    /**
     * Closes a previously opened database connection
     *
     * The {@link maxdb_close} function closes a previously opened database
     * connection specified by the {@link link} parameter.
     *
     * @return bool
     **/
    function close(){}

    /**
     * Commits the current transaction
     *
     * Commits the current transaction for the database connection specified
     * by the {@link link} parameter.
     *
     * @return bool
     **/
    function commit(){}

    /**
     * Disable reads from master
     *
     * @return void
     **/
    function disable_reads_from_master(){}

    /**
     * Returns the number of columns for the most recent query
     *
     * Returns the number of columns for the most recent query on the
     * connection represented by the {@link link} parameter. This function
     * can be useful when using the {@link maxdb_store_result} function to
     * determine if the query should have produced a non-empty result set or
     * not without knowing the nature of the query.
     *
     * @return int An integer representing the number of fields in a result
     *   set.
     **/
    function field_count(){}

    /**
     * Disconnects from a MaxDB server
     *
     * This function is used to disconnect from a MaxDB server specified by
     * the {@link processid} parameter.
     *
     * @param int $processid
     * @return bool
     **/
    function kill($processid){}

    /**
     * Returns the default character set for the database connection
     *
     * Returns the current character set for the database connection
     * specified by the {@link link} parameter.
     *
     * @return string The default character set for the current connection,
     *   either ascii or unicode.
     **/
    function maxdb_client_encoding(){}

    /**
     * Escapes special characters in a string for use in an SQL statement,
     * taking into account the current charset of the connection
     *
     * This function is used to create a legal SQL string that you can use in
     * an SQL statement. The string escapestr is encoded to an escaped SQL
     * string, taking into account the current character set of the
     * connection.
     *
     * Characters encoded are ', ".
     *
     * @param string $escapestr
     * @return string Returns an escaped string.
     **/
    function maxdb_escape_string($escapestr){}

    /**
     * Set maxdb_set_opt
     *
     * {@link maxdb_maxdb_set_opt} can be used to set extra connect
     * maxdb_set_opt and affect behavior for a connection.
     *
     * This function may be called multiple times to set several
     * maxdb_set_opt.
     *
     * {@link maxdb_maxdb_set_opt} should be called after {@link maxdb_init}
     * and before {@link maxdb_real_connect}.
     *
     * The parameter {@link option} is the option that you want to set, the
     * {@link value} is the value for the option. For detailed description of
     * the maxdb_set_opt see The parameter {@link option} can be one of the
     * following values: Valid maxdb_set_opt Name Description MAXDB_COMPNAME
     * The component name used to initialise the SQLDBC runtime environment.
     * MAXDB_APPLICATION The application to be connected to the database.
     * MAXDB_APPVERSION The version of the application. MAXDB_SQLMODE The SQL
     * mode. MAXDB_UNICODE TRUE, if the connection is an unicode (UCS2)
     * client or FALSE, if not. MAXDB_TIMEOUT The maximum allowed time of
     * inactivity after which the connection to the database is closed by the
     * system. MAXDB_ISOLATIONLEVEL Specifies whether and how shared locks
     * and exclusive locks are implicitly requested or released.
     * MAXDB_PACKETCOUNT The number of different request packets used for the
     * connection. MAXDB_STATEMENTCACHESIZE The number of prepared statements
     * to be cached for the connection for re-use. MAXDB_CURSORPREFIX The
     * prefix to use for result tables that are automatically named.
     *
     * @param int $option
     * @param mixed $value
     * @return bool
     **/
    function maxdb_set_opt($option, $value){}

    /**
     * Performs a query on the database
     *
     * The {@link maxdb_multi_query} works like the function {@link
     * maxdb_query}. Multiple queries are not yet supported.
     *
     * @param string $query
     * @return bool
     **/
    function multi_query($query){}

    /**
     * Set options
     *
     * {@link maxdb_options} can be used to set extra connect options and
     * affect behavior for a connection.
     *
     * This function may be called multiple times to set several options.
     *
     * {@link maxdb_options} should be called after {@link maxdb_init} and
     * before {@link maxdb_real_connect}.
     *
     * The parameter {@link option} is the option that you want to set, the
     * {@link value} is the value for the option. For detailed description of
     * the options see The parameter {@link option} can be one of the
     * following values: Valid options Name Description MAXDB_COMPNAME The
     * component name used to initialise the SQLDBC runtime environment.
     * MAXDB_APPLICATION The application to be connected to the database.
     * MAXDB_APPVERSION The version of the application. MAXDB_SQLMODE The SQL
     * mode. MAXDB_UNICODE TRUE, if the connection is an unicode (UCS2)
     * client or FALSE, if not. MAXDB_TIMEOUT The maximum allowed time of
     * inactivity after which the connection to the database is closed by the
     * system. MAXDB_ISOLATIONLEVEL Specifies whether and how shared locks
     * and exclusive locks are implicitly requested or released.
     * MAXDB_PACKETCOUNT The number of different request packets used for the
     * connection. MAXDB_STATEMENTCACHESIZE The number of prepared statements
     * to be cached for the connection for re-use. MAXDB_CURSORPREFIX The
     * prefix to use for result tables that are automatically named.
     *
     * @param int $option
     * @param mixed $value
     * @return bool
     **/
    function options($option, $value){}

    /**
     * Pings a server connection, or tries to reconnect if the connection has
     * gone down
     *
     * Checks whether the connection to the server is working. If it has gone
     * down, and global option maxdb.reconnect is enabled an automatic
     * reconnection is attempted.
     *
     * This function can be used by clients that remain idle for a long
     * while, to check whether the server has closed the connection and
     * reconnect if necessary.
     *
     * @return bool
     **/
    function ping(){}

    /**
     * Prepare an SQL statement for execution
     *
     * {@link maxdb_prepare} prepares the SQL query pointed to by the
     * null-terminated string query, and returns a statement handle to be
     * used for further operations on the statement. The query must consist
     * of a single SQL statement.
     *
     * The parameter {@link query} can include one or more parameter markers
     * in the SQL statement by embedding question mark (?) characters at the
     * appropriate positions.
     *
     * The parameter markers must be bound to application variables using
     * {@link maxdb_stmt_bind_param} and/or {@link maxdb_stmt_bind_result}
     * before executing the statement or fetching rows.
     *
     * @param string $query
     * @return maxdb_stmt {@link maxdb_prepare} returns a statement
     *   resource or FALSE if an error occurred.
     **/
    function prepare($query){}

    /**
     * Performs a query on the database
     *
     * The {@link maxdb_query} function is used to simplify the act of
     * performing a query against the database represented by the {@link
     * link} parameter.
     *
     * @param string $query
     * @return mixed For SELECT, SHOW, DESCRIBE or EXPLAIN {@link
     *   maxdb_query} will return a result resource.
     **/
    function query($query){}

    /**
     * Opens a connection to a MaxDB server
     *
     * {@link maxdb_real_connect} attempts to establish a connection to a
     * MaxDB database engine running on {@link hostname}.
     *
     * This function differs from {@link maxdb_connect}:
     *
     * @param string $hostname
     * @param string $username
     * @param string $passwd
     * @param string $dbname
     * @param int $port
     * @param string $socket
     * @return bool
     **/
    function real_connect($hostname, $username, $passwd, $dbname, $port, $socket){}

    /**
     * Escapes special characters in a string for use in an SQL statement,
     * taking into account the current charset of the connection
     *
     * This function is used to create a legal SQL string that you can use in
     * an SQL statement. The string escapestr is encoded to an escaped SQL
     * string, taking into account the current character set of the
     * connection.
     *
     * Characters encoded are ', ".
     *
     * @param string $escapestr
     * @return string Returns an escaped string.
     **/
    function real_escape_string($escapestr){}

    /**
     * Execute an SQL query
     *
     * The {@link maxdb_real_query} is functionally identical with the {@link
     * maxdb_query}.
     *
     * @param string $query
     * @return bool
     **/
    function real_query($query){}

    /**
     * Rolls back current transaction
     *
     * Rollbacks the current transaction for the database specified by the
     * {@link link} parameter.
     *
     * @return bool
     **/
    function rollback(){}

    /**
     * Returns RPL query type
     *
     * @return int
     **/
    function rpl_query_type(){}

    /**
     * Send the query and return
     *
     * @param string $query
     * @return bool
     **/
    function send_query($query){}

    /**
     * Used for establishing secure connections using SSL
     *
     * @param string $key
     * @param string $cert
     * @param string $ca
     * @param string $capath
     * @param string $cipher
     * @return bool
     **/
    function ssl_set($key, $cert, $ca, $capath, $cipher){}

    /**
     * Gets the current system status
     *
     * {@link maxdb_stat} returns a string containing several information
     * about the MaxDB server running.
     *
     * @return string A string describing the server status. FALSE if an
     *   error occurred.
     **/
    function stat(){}

    /**
     * Initializes a statement and returns an resource for use with
     * maxdb_stmt_prepare
     *
     * Allocates and initializes a statement resource suitable for {@link
     * maxdb_stmt_prepare}.
     *
     * @return object Returns an resource.
     **/
    function stmt_init(){}

    /**
     * Transfers a result set from the last query
     *
     * This function has no functionally effect.
     *
     * @return object Returns a result resource or FALSE if an error
     *   occurred.
     **/
    function store_result(){}

    /**
     * Initiate a result set retrieval
     *
     * {@link maxdb_use_result} has no effect.
     *
     * @return resource Returns result .
     **/
    function use_result(){}

}
class maxdb_result {
    /**
     * Get current field offset of a result pointer
     *
     * Returns the position of the field cursor used for the last {@link
     * maxdb_fetch_field} call. This value can be used as an argument to
     * {@link maxdb_field_seek}.
     *
     * @var int
     **/
    public $current_field;

    /**
     * Get the number of fields in a result
     *
     * {@link maxdb_num_fields} returns the number of fields from specified
     * result set.
     *
     * @var int
     **/
    public $field_count;

    /**
     * Returns the lengths of the columns of the current row in the result
     * set
     *
     * The {@link maxdb_fetch_lengths} function returns an array containing
     * the lengths of every column of the current row within the result set
     * represented by the {@link result} parameter. If successful, a
     * numerically indexed array representing the lengths of each column is
     * returned.
     *
     * @var array
     **/
    public $lengths;

    /**
     * Adjusts the result pointer to an arbitary row in the result
     *
     * The {@link maxdb_data_seek} function seeks to an arbitrary result
     * pointer specified by the {@link offset} in the result set represented
     * by {@link result}. The {@link offset} parameter must be between zero
     * and the total number of rows minus one (0..{@link maxdb_num_rows} -
     * 1).
     *
     * @param int $offset
     * @return bool
     **/
    function data_seek($offset){}

    /**
     * Fetch a result row as an associative, a numeric array, or both
     *
     * Returns an array that corresponds to the fetched row or NULL if there
     * are no more rows for the resultset represented by the {@link result}
     * parameter.
     *
     * {@link maxdb_fetch_array} is an extended version of the {@link
     * maxdb_fetch_row} function. In addition to storing the data in the
     * numeric indices of the result array, the {@link maxdb_fetch_array}
     * function can also store the data in associative indices, using the
     * field names of the result set as keys.
     *
     * If two or more columns of the result have the same field names, the
     * last column will take precedence and overwrite the earlier data. In
     * order to access multiple columns with the same name, the numerically
     * indexed version of the row must be used.
     *
     * The optional second argument {@link resulttype} is a constant
     * indicating what type of array should be produced from the current row
     * data. The possible values for this parameter are the constants
     * MAXDB_ASSOC, MAXDB_ASSOC_UPPER, MAXDB_ASSOC_LOWER, MAXDB_NUM, or
     * MAXDB_BOTH. By default the {@link maxdb_fetch_array} function will
     * assume MAXDB_BOTH, which is a combination of MAXDB_NUM and MAXDB_ASSOC
     * for this parameter.
     *
     * By using the MAXDB_ASSOC constant this function will behave
     * identically to the {@link maxdb_fetch_assoc}, while MAXDB_NUM will
     * behave identically to the {@link maxdb_fetch_row} function. The final
     * option MAXDB_BOTH will create a single array with the attributes of
     * both.
     *
     * By using the MAXDB_ASSOC_UPPER constant, the behaviour of this
     * function is identical to the use of MAXDB_ASSOC except the array index
     * of a column is the fieldname in upper case.
     *
     * By using the MAXDB_ASSOC_LOWER constant, the behaviour of this
     * function is identical to the use of MAXDB_ASSOC except the array index
     * of a column is the fieldname in lower case.
     *
     * @param int $resulttype
     * @return mixed Returns an array that corresponds to the fetched row
     *   or NULL if there are no more rows in resultset.
     **/
    function fetch_array($resulttype){}

    /**
     * Fetch a result row as an associative array
     *
     * Returns an associative array that corresponds to the fetched row or
     * NULL if there are no more rows.
     *
     * The {@link maxdb_fetch_assoc} function is used to return an
     * associative array representing the next row in the result set for the
     * result represented by the {@link result} parameter, where each key in
     * the array represents the name of one of the result set's columns.
     *
     * If two or more columns of the result have the same field names, the
     * last column will take precedence. To access the other column(s) of the
     * same name, you either need to access the result with numeric indices
     * by using {@link maxdb_fetch_row} or add alias names.
     *
     * @return array Returns an array that corresponds to the fetched row
     *   or NULL if there are no more rows in resultset.
     **/
    function fetch_assoc(){}

    /**
     * Returns the next field in the result set
     *
     * The {@link maxdb_fetch_field} returns the definition of one column of
     * a result set as an resource. Call this function repeatedly to retrieve
     * information about all columns in the result set. {@link
     * maxdb_fetch_field} returns FALSE when no more fields are left.
     *
     * @return mixed Returns an resource which contains field definition
     *   information or FALSE if no field information is available.
     **/
    function fetch_field(){}

    /**
     * Returns an array of resources representing the fields in a result set
     *
     * This function serves an identical purpose to the {@link
     * maxdb_fetch_field} function with the single difference that, instead
     * of returning one resource at a time for each field, the columns are
     * returned as an array of resources.
     *
     * @return mixed Returns an array of resources which contains field
     *   definition information or FALSE if no field information is
     *   available.
     **/
    function fetch_fields(){}

    /**
     * Fetch meta-data for a single field
     *
     * {@link maxdb_fetch_field_direct} returns an resource which contains
     * field definition information from specified resultset. The value of
     * fieldnr must be in the range from 0 to number of fields - 1.
     *
     * @param int $fieldnr
     * @return mixed Returns an resource which contains field definition
     *   information or FALSE if no field information for specified fieldnr
     *   is available.
     **/
    function fetch_field_direct($fieldnr){}

    /**
     * Returns the current row of a result set as an object
     *
     * The {@link maxdb_fetch_object} will return the current row result set
     * as an object where the attributes of the object represent the names of
     * the fields found within the result set. If no more rows exist in the
     * current result set, NULL is returned.
     *
     * @return object Returns an object that corresponds to the fetched row
     *   or NULL if there are no more rows in resultset.
     **/
    function fetch_object(){}

    /**
     * Get a result row as an enumerated array
     *
     * Returns an array that corresponds to the fetched row, or NULL if there
     * are no more rows.
     *
     * {@link maxdb_fetch_row} fetches one row of data from the result set
     * represented by {@link result} and returns it as an enumerated array,
     * where each column is stored in an array offset starting from 0 (zero).
     * Each subsequent call to the {@link maxdb_fetch_row} function will
     * return the next row within the result set, or FALSE if there are no
     * more rows.
     *
     * @return mixed {@link maxdb_fetch_row} returns an array that
     *   corresponds to the fetched row or NULL if there are no more rows in
     *   result set.
     **/
    function fetch_row(){}

    /**
     * Set result pointer to a specified field offset
     *
     * Sets the field cursor to the given offset. The next call to {@link
     * maxdb_fetch_field} will retrieve the field definition of the column
     * associated with that offset.
     *
     * @param int $fieldnr
     * @return bool {@link maxdb_field_seek} returns previuos value of
     *   field cursor.
     **/
    function field_seek($fieldnr){}

    /**
     * Frees the memory associated with a result
     *
     * The {@link maxdb_free_result} function frees the memory associated
     * with the result represented by the {@link result} parameter, which was
     * allocated by {@link maxdb_query}, {@link maxdb_store_result} or {@link
     * maxdb_use_result}.
     *
     * @return void This function doesn't return any value.
     **/
    function free(){}

}
class maxdb_stmt {
    /**
     * Returns the total number of rows changed, deleted, or inserted by the
     * last executed statement
     *
     * {@link maxdb_stmt_affected_rows} returns the number of rows affected
     * by INSERT, UPDATE, or DELETE query. If the last query was invalid or
     * the number of rows can not determined, this function will return -1.
     *
     * @var int
     **/
    public $affected_rows;

    /**
     * Returns the error code for the most recent statement call
     *
     * For the statement specified by stmt, {@link maxdb_stmt_errno} returns
     * the error code for the most recently invoked statement function that
     * can succeed or fail.
     *
     * @var int
     **/
    public $errno;

    /**
     * Returns a string description for last statement error
     *
     * For the statement specified by stmt, {@link maxdb_stmt_error} returns
     * a containing the error message for the most recently invoked statement
     * function that can succeed or fail.
     *
     * @var string
     **/
    public $error;

    /**
     * Return the number of rows in statements result set
     *
     * Returns the number of rows in the result set.
     *
     * @var int
     **/
    public $num_rows;

    /**
     * Returns the number of parameter for the given statement
     *
     * {@link maxdb_stmt_param_count} returns the number of parameter markers
     * present in the prepared statement.
     *
     * @var int
     **/
    public $param_count;

    /**
     * Binds variables to a prepared statement as parameters
     *
     * (extended syntax):
     *
     * (extended syntax):
     *
     * {@link maxdb_stmt_bind_param} is used to bind variables for the
     * parameter markers in the SQL statement that was passed to {@link
     * maxdb_prepare}. The string {@link types} contains one or more
     * characters which specify the types for the corresponding bind
     * variables.
     *
     * The extended syntax of {@link maxdb_stmt_bind_param} allows to give
     * the parameters as an array instead of a variable list of PHP variables
     * to the function. If the array variable has not been used before
     * calling {@link maxdb_stmt_bind_param}, it has to be initialized as an
     * emtpy array. See the examples how to use {@link maxdb_stmt_bind_param}
     * with extended syntax.
     *
     * Variables for SELECT INTO SQL statements can also be bound using
     * {@link maxdb_stmt_bind_param}. Parameters for database procedures can
     * be bound using {@link maxdb_stmt_bind_param}. See the examples how to
     * use {@link maxdb_stmt_bind_param} in this cases.
     *
     * If a variable bound as INTO variable to an SQL statement was used
     * before, the content of this variable is overwritten by the data of the
     * SELECT INTO statement. A reference to this variable will be invalid
     * after a call to {@link maxdb_stmt_bind_param}.
     *
     * For INOUT parameters of database procedures the content of the bound
     * INOUT variable is overwritten by the output value of the database
     * procedure. A reference to this variable will be invalid after a call
     * to {@link maxdb_stmt_bind_param}.
     *
     * Type specification chars Character Description i corresponding
     * variable has type integer d corresponding variable has type double s
     * corresponding variable has type string b corresponding variable is a
     * blob and will be sent in packages
     *
     * @param string $types
     * @param mixed $var1
     * @return bool
     **/
    function bind_param($types, &$var1){}

    /**
     * Binds variables to a prepared statement for result storage
     *
     * {@link maxdb_stmt_bind_result} is used to associate (bind) columns in
     * the result set to variables. When {@link maxdb_stmt_fetch} is called
     * to fetch data, the MaxDB client/server protocol places the data for
     * the bound columns into the specified variables {@link var1, ...}.
     *
     * @param mixed $var1
     * @return bool
     **/
    function bind_result(&$var1){}

    /**
     * Closes a prepared statement
     *
     * Closes a prepared statement. {@link maxdb_stmt_close} also deallocates
     * the statement handle pointed to by {@link stmt}. If the current
     * statement has pending or unread results, this function cancels them so
     * that the next query can be executed.
     *
     * @return bool
     **/
    function close(){}

    /**
     * Ends a sequence of
     *
     * This function has to be called after a sequence of {@link
     * maxdb_stmt_send_long_data}, that was started after {@link
     * maxdb_execute}.
     *
     * {@link param_nr} indicates which parameter to associate the end of
     * data with. Parameters are numbered beginning with 0.
     *
     * @return bool
     **/
    function close_long_data(){}

    /**
     * Seeks to an arbitray row in statement result set
     *
     * The {@link maxdb_stmt_data_seek} function seeks to an arbitrary result
     * pointer specified by the {@link offset} in the statement result set
     * represented by {@link statement}. The {@link offset} parameter must be
     * between zero and the total number of rows minus one (0..{@link
     * maxdb_stmt_num_rows} - 1).
     *
     * @param int $offset
     * @return bool
     **/
    function data_seek($offset){}

    /**
     * Executes a prepared Query
     *
     * The {@link maxdb_stmt_execute} function executes a query that has been
     * previously prepared using the {@link maxdb_prepare} function
     * represented by the {@link stmt} resource. When executed any parameter
     * markers which exist will automatically be replaced with the appropiate
     * data.
     *
     * If the statement is UPDATE, DELETE, or INSERT, the total number of
     * affected rows can be determined by using the {@link
     * maxdb_stmt_affected_rows} function. Likewise, if the query yields a
     * result set the {@link maxdb_fetch} function is used.
     *
     * @return bool
     **/
    function execute(){}

    /**
     * Fetch results from a prepared statement into the bound variables
     *
     * {@link maxdb_stmt_fetch} returns row data using the variables bound by
     * {@link maxdb_stmt_bind_result}.
     *
     * @return bool
     **/
    function fetch(){}

    /**
     * Frees stored result memory for the given statement handle
     *
     * The {@link maxdb_stmt_free_result} function frees the result memory
     * associated with the statement represented by the {@link stmt}
     * parameter, which was allocated by {@link maxdb_stmt_store_result}.
     *
     * @return void This function doesn't return any value.
     **/
    function free_result(){}

    /**
     * Binds variables to a prepared statement as parameters
     *
     * (extended syntax):
     *
     * (extended syntax):
     *
     * {@link maxdb_stmt_maxdb_bind_param} is used to bind variables for the
     * parameter markers in the SQL statement that was passed to {@link
     * maxdb_prepare}. The string {@link types} contains one or more
     * characters which specify the types for the corresponding bind
     * variables.
     *
     * The extended syntax of {@link maxdb_stmt_maxdb_bind_param} allows to
     * give the parameters as an array instead of a variable list of PHP
     * variables to the function. If the array variable has not been used
     * before calling {@link maxdb_stmt_maxdb_bind_param}, it has to be
     * initialized as an emtpy array. See the examples how to use {@link
     * maxdb_stmt_maxdb_bind_param} with extended syntax.
     *
     * Variables for SELECT INTO SQL statements can also be bound using
     * {@link maxdb_stmt_maxdb_bind_param}. Parameters for database
     * procedures can be bound using {@link maxdb_stmt_maxdb_bind_param}. See
     * the examples how to use {@link maxdb_stmt_maxdb_bind_param} in this
     * cases.
     *
     * If a variable bound as INTO variable to an SQL statement was used
     * before, the content of this variable is overwritten by the data of the
     * SELECT INTO statement. A reference to this variable will be invalid
     * after a call to {@link maxdb_stmt_maxdb_bind_param}.
     *
     * For INOUT parameters of database procedures the content of the bound
     * INOUT variable is overwritten by the output value of the database
     * procedure. A reference to this variable will be invalid after a call
     * to {@link maxdb_stmt_maxdb_bind_param}.
     *
     * Type specification chars Character Description i corresponding
     * variable has type integer d corresponding variable has type double s
     * corresponding variable has type string b corresponding variable is a
     * blob and will be sent in packages
     *
     * @param string $types
     * @param mixed $var1
     * @return bool
     **/
    function maxdb_bind_param($types, &$var1){}

    /**
     * Binds variables to a prepared statement for result storage
     *
     * {@link maxdb_stmt_maxdb_bind_result} is used to associate (bind)
     * columns in the result set to variables. When {@link maxdb_stmt_fetch}
     * is called to fetch data, the MaxDB client/server protocol places the
     * data for the bound columns into the specified variables {@link var1,
     * ...}.
     *
     * @param mixed $var1
     * @return bool
     **/
    function maxdb_bind_result(&$var1){}

    /**
     * Ends a sequence of
     *
     * This function has to be called after a sequence of {@link
     * maxdb_stmt_send_long_data}, that was started after {@link
     * maxdb_execute}.
     *
     * {@link param_nr} indicates which parameter to associate the end of
     * data with. Parameters are numbered beginning with 0.
     *
     * @return bool
     **/
    function maxdb_close_long_data(){}

    /**
     * Executes a prepared Query
     *
     * The {@link maxdb_stmt_maxdb_execute} function maxdb_executes a query
     * that has been previously prepared using the {@link maxdb_prepare}
     * function represented by the {@link stmt} resource. When maxdb_executed
     * any parameter markers which exist will automatically be replaced with
     * the appropiate data.
     *
     * If the statement is UPDATE, DELETE, or INSERT, the total number of
     * affected rows can be determined by using the {@link
     * maxdb_stmt_affected_rows} function. Likewise, if the query yields a
     * result set the {@link maxdb_fetch} function is used.
     *
     * @return bool
     **/
    function maxdb_execute(){}

    /**
     * Fetch results from a prepared statement into the bound variables
     *
     * {@link maxdb_stmt_maxdb_fetch} returns row data using the variables
     * bound by {@link maxdb_stmt_bind_result}.
     *
     * @return bool
     **/
    function maxdb_fetch(){}

    /**
     * Returns result set metadata from a prepared statement
     *
     * If a statement passed to {@link maxdb_prepare} is one that produces a
     * result set, {@link maxdb_stmt_maxdb_get_metadata} returns the result
     * resource that can be used to process the meta information such as
     * total number of fields and individual field information.
     *
     * The result set structure should be freed when you are done with it,
     * which you can do by passing it to {@link maxdb_free_result}
     *
     * @return resource {@link maxdb_stmt_result_metadata} returns a result
     *   resource or FALSE if an error occurred.
     **/
    function maxdb_get_metadata(){}

    /**
     * Send data in blocks
     *
     * Allows to send parameter data to the server in pieces (or chunks).
     * This function can be called multiple times to send the parts of a
     * character or binary data value for a column, which must be one of the
     * TEXT or BLOB datatypes.
     *
     * {@link param_nr} indicates which parameter to associate the data with.
     * Parameters are numbered beginning with 0. {@link data} is a string
     * containing data to be sent.
     *
     * @param int $param_nr
     * @param string $data
     * @return bool
     **/
    function maxdb_send_long_data($param_nr, $data){}

    /**
     * Prepare an SQL statement for execution
     *
     * {@link maxdb_stmt_prepare} prepares the SQL query pointed to by the
     * null-terminated string query. The statement resource has to be
     * allocated by {@link maxdb_stmt_init}. The query must consist of a
     * single SQL statement.
     *
     * The parameter {@link query} can include one or more parameter markers
     * in the SQL statement by embedding question mark (?) characters at the
     * appropriate positions.
     *
     * The parameter markers must be bound to application variables using
     * {@link maxdb_stmt_bind_param} and/or {@link maxdb_stmt_bind_result}
     * before executing the statement or fetching rows.
     *
     * @param string $query
     * @return mixed
     **/
    function prepare($query){}

    /**
     * Resets a prepared statement
     *
     * @return bool
     **/
    function reset(){}

    /**
     * Returns result set metadata from a prepared statement
     *
     * If a statement passed to {@link maxdb_prepare} is one that produces a
     * result set, {@link maxdb_stmt_result_metadata} returns the result
     * resource that can be used to process the meta information such as
     * total number of fields and individual field information.
     *
     * The result set structure should be freed when you are done with it,
     * which you can do by passing it to {@link maxdb_free_result}
     *
     * @return resource {@link maxdb_stmt_result_metadata} returns a result
     *   resource or FALSE if an error occurred.
     **/
    function result_metadata(){}

    /**
     * Send data in blocks
     *
     * Allows to send parameter data to the server in pieces (or chunks).
     * This function can be called multiple times to send the parts of a
     * character or binary data value for a column, which must be one of the
     * TEXT or BLOB datatypes.
     *
     * {@link param_nr} indicates which parameter to associate the data with.
     * Parameters are numbered beginning with 0. {@link data} is a string
     * containing data to be sent.
     *
     * @param int $param_nr
     * @param string $data
     * @return bool
     **/
    function stmt_send_long_data($param_nr, $data){}

    /**
     * Transfers a result set from a prepared statement
     *
     * {@link maxdb_stmt_store_result} has no functionally effect and should
     * not be used for retrieving data from MaxDB server.
     *
     * @return object
     **/
    function store_result(){}

}
/**
 * Represents a connection to a set of memcache servers.
 **/
class Memcache {
    /**
     * Add an item to the server
     *
     * {@link Memcache::add} stores variable {@link var} with {@link key}
     * only if such key doesn't exist at the server yet. Also you can use
     * {@link memcache_add} function.
     *
     * @param string $key The key that will be associated with the item.
     * @param mixed $var The variable to store. Strings and integers are
     *   stored as is, other types are stored serialized.
     * @param int $flag Use MEMCACHE_COMPRESSED to store the item
     *   compressed (uses zlib).
     * @param int $expire Expiration time of the item. If it's equal to
     *   zero, the item will never expire. You can also use Unix timestamp or
     *   a number of seconds starting from current time, but in the latter
     *   case the number of seconds may not exceed 2592000 (30 days).
     * @return bool Returns FALSE if such key already exist. For the rest
     *   {@link Memcache::add} behaves similarly to {@link Memcache::set}.
     * @since PECL memcache >= 0.2.0
     **/
    function add($key, $var, $flag, $expire){}

    /**
     * Add a memcached server to connection pool
     *
     * {@link Memcache::addServer} adds a server to the connection pool. You
     * can also use the {@link memcache_add_server} function.
     *
     * When using this method (as opposed to {@link Memcache::connect} and
     * {@link Memcache::pconnect}) the network connection is not established
     * until actually needed. Thus there is no overhead in adding a large
     * number of servers to the pool, even though they might not all be used.
     *
     * Failover may occur at any stage in any of the methods, as long as
     * other servers are available the request the user won't notice. Any
     * kind of socket or Memcached server level errors (except out-of-memory)
     * may trigger the failover. Normal client errors such as adding an
     * existing key will not trigger a failover.
     *
     * @param string $host Point to the host where memcached is listening
     *   for connections. This parameter may also specify other transports
     *   like unix:///path/to/memcached.sock to use UNIX domain sockets, in
     *   this case {@link port} must also be set to 0.
     * @param int $port Point to the port where memcached is listening for
     *   connections. Set this parameter to 0 when using UNIX domain sockets.
     *   Please note: {@link port} defaults to memcache.default_port if not
     *   specified. For this reason it is wise to specify the port explicitly
     *   in this method call.
     * @param bool $persistent Controls the use of a persistent connection.
     *   Default to TRUE.
     * @param int $weight Number of buckets to create for this server which
     *   in turn control its probability of it being selected. The
     *   probability is relative to the total weight of all servers.
     * @param int $timeout Value in seconds which will be used for
     *   connecting to the daemon. Think twice before changing the default
     *   value of 1 second - you can lose all the advantages of caching if
     *   your connection is too slow.
     * @param int $retry_interval Controls how often a failed server will
     *   be retried, the default value is 15 seconds. Setting this parameter
     *   to -1 disables automatic retry. Neither this nor the {@link
     *   persistent} parameter has any effect when the extension is loaded
     *   dynamically via {@link dl}. Each failed connection struct has its
     *   own timeout and before it has expired the struct will be skipped
     *   when selecting backends to serve a request. Once expired the
     *   connection will be successfully reconnected or marked as failed for
     *   another {@link retry_interval} seconds. The typical effect is that
     *   each web server child will retry the connection about every {@link
     *   retry_interval} seconds when serving a page.
     * @param bool $status Controls if the server should be flagged as
     *   online. Setting this parameter to FALSE and {@link retry_interval}
     *   to -1 allows a failed server to be kept in the pool so as not to
     *   affect the key distribution algorithm. Requests for this server will
     *   then failover or fail immediately depending on the {@link
     *   memcache.allow_failover} setting. Default to TRUE, meaning the
     *   server should be considered online.
     * @param callable $failure_callback Allows the user to specify a
     *   callback function to run upon encountering an error. The callback is
     *   run before failover is attempted. The function takes two parameters,
     *   the hostname and port of the failed server.
     * @param int $timeoutms
     * @return bool
     * @since PECL memcache >= 2.0.0
     **/
    function addServer($host, $port, $persistent, $weight, $timeout, $retry_interval, $status, $failure_callback, $timeoutms){}

    /**
     * Close memcached server connection
     *
     * {@link Memcache::close} closes connection to memcached server. This
     * function doesn't close persistent connections, which are closed only
     * during web-server shutdown/restart. Also you can use {@link
     * memcache_close} function.
     *
     * @return bool
     * @since PECL memcache >= 0.4.0
     **/
    function close(){}

    /**
     * Open memcached server connection
     *
     * {@link Memcache::connect} establishes a connection to the memcached
     * server. The connection, which was opened using {@link
     * Memcache::connect} will be automatically closed at the end of script
     * execution. Also you can close it with {@link Memcache::close}. Also
     * you can use {@link memcache_connect} function.
     *
     * @param string $host Point to the host where memcached is listening
     *   for connections. This parameter may also specify other transports
     *   like unix:///path/to/memcached.sock to use UNIX domain sockets, in
     *   this case {@link port} must also be set to 0.
     * @param int $port Point to the port where memcached is listening for
     *   connections. Set this parameter to 0 when using UNIX domain sockets.
     *   Please note: {@link port} defaults to memcache.default_port if not
     *   specified. For this reason it is wise to specify the port explicitly
     *   in this method call.
     * @param int $timeout Value in seconds which will be used for
     *   connecting to the daemon. Think twice before changing the default
     *   value of 1 second - you can lose all the advantages of caching if
     *   your connection is too slow.
     * @return bool
     * @since PECL memcache >= 0.2.0
     **/
    function connect($host, $port, $timeout){}

    /**
     * Decrement item's value
     *
     * {@link Memcache::decrement} decrements value of the item by {@link
     * value}. Similarly to {@link Memcache::increment}, current value of the
     * item is being converted to numerical and after that {@link value} is
     * subtracted. New item's value will not be less than zero. Do not use
     * {@link Memcache::decrement} with item, which was stored compressed,
     * because consequent call to {@link Memcache::get} will fail. {@link
     * Memcache::decrement} does not create an item if it didn't exist. Also
     * you can use {@link memcache_decrement} function.
     *
     * @param string $key Key of the item do decrement.
     * @param int $value Decrement the item by {@link value}.
     * @return int Returns item's new value on success.
     * @since PECL memcache >= 0.2.0
     **/
    function decrement($key, $value){}

    /**
     * Delete item from the server
     *
     * {@link Memcache::delete} deletes an item with the {@link key}.
     *
     * @param string $key The key associated with the item to delete.
     * @param int $timeout This deprecated parameter is not supported, and
     *   defaults to 0 seconds. Do not use this parameter.
     * @return bool
     * @since PECL memcache >= 0.2.0
     **/
    function delete($key, $timeout){}

    /**
     * Flush all existing items at the server
     *
     * {@link Memcache::flush} immediately invalidates all existing items.
     * {@link Memcache::flush} doesn't actually free any resources, it only
     * marks all the items as expired, so occupied memory will be overwritten
     * by new items. Also you can use {@link memcache_flush} function.
     *
     * @return bool
     * @since PECL memcache >= 1.0.0
     **/
    function flush(){}

    /**
     * Retrieve item from the server
     *
     * {@link Memcache::get} returns previously stored data of an item, if
     * such {@link key} exists on the server at this moment.
     *
     * You can pass array of keys to {@link Memcache::get} to get array of
     * values. The result array will contain only found key-value pairs.
     *
     * @param string $key The key or array of keys to fetch.
     * @param int $flags If present, flags fetched along with the values
     *   will be written to this parameter. These flags are the same as the
     *   ones given to for example {@link Memcache::set}. The lowest byte of
     *   the int is reserved for pecl/memcache internal usage (e.g. to
     *   indicate compression and serialization status).
     * @return string Returns the value associated with the {@link key} or
     *   an array of found key-value pairs when {@link key} is an array.
     *   Returns FALSE on failure, {@link key} is not found or {@link key} is
     *   an empty array.
     * @since PECL memcache >= 0.2.0
     **/
    function get($key, &$flags){}

    /**
     * Get statistics from all servers in pool
     *
     * {@link Memcache::getExtendedStats} returns a two-dimensional
     * associative array with server statistics. Array keys correspond to
     * host:port of server and values contain the individual server
     * statistics. A failed server will have its corresponding entry set to
     * FALSE. You can also use the {@link memcache_get_extended_stats}
     * function.
     *
     * @param string $type The type of statistics to fetch. Valid values
     *   are {reset, malloc, maps, cachedump, slabs, items, sizes}. According
     *   to the memcached protocol spec these additional arguments "are
     *   subject to change for the convenience of memcache developers".
     * @param int $slabid Used in conjunction with {@link type} set to
     *   cachedump to identify the slab to dump from. The cachedump command
     *   ties up the server and is strictly to be used for debugging
     *   purposes.
     * @param int $limit Used in conjunction with {@link type} set to
     *   cachedump to limit the number of entries to dump.
     * @return array Returns a two-dimensional associative array of server
     *   statistics or FALSE on failure.
     * @since PECL memcache >= 2.0.0
     **/
    function getExtendedStats($type, $slabid, $limit){}

    /**
     * Returns server status
     *
     * {@link Memcache::getServerStatus} returns a the servers online/offline
     * status. You can also use {@link memcache_get_server_status} function.
     *
     * @param string $host Point to the host where memcached is listening
     *   for connections.
     * @param int $port Point to the port where memcached is listening for
     *   connections.
     * @return int Returns a the servers status. 0 if server is failed,
     *   non-zero otherwise
     * @since PECL memcache >= 2.1.0
     **/
    function getServerStatus($host, $port){}

    /**
     * Get statistics of the server
     *
     * {@link Memcache::getStats} returns an associative array with server's
     * statistics. Array keys correspond to stats parameters and values to
     * parameter's values. Also you can use {@link memcache_get_stats}
     * function.
     *
     * @param string $type The type of statistics to fetch. Valid values
     *   are {reset, malloc, maps, cachedump, slabs, items, sizes}. According
     *   to the memcached protocol spec these additional arguments "are
     *   subject to change for the convenience of memcache developers".
     * @param int $slabid Used in conjunction with {@link type} set to
     *   cachedump to identify the slab to dump from. The cachedump command
     *   ties up the server and is strictly to be used for debugging
     *   purposes.
     * @param int $limit Used in conjunction with {@link type} set to
     *   cachedump to limit the number of entries to dump.
     * @return array Returns an associative array of server statistics.
     * @since PECL memcache >= 0.2.0
     **/
    function getStats($type, $slabid, $limit){}

    /**
     * Return version of the server
     *
     * {@link Memcache::getVersion} returns a string with server's version
     * number. Also you can use {@link memcache_get_version} function.
     *
     * @return string Returns a string of server version number.
     * @since PECL memcache >= 0.2.0
     **/
    function getVersion(){}

    /**
     * Increment item's value
     *
     * {@link Memcache::increment} increments value of an item by the
     * specified {@link value}. If item specified by {@link key} was not
     * numeric and cannot be converted to a number, it will change its value
     * to {@link value}. {@link Memcache::increment} does not create an item
     * if it doesn't already exist. Do not use {@link Memcache::increment}
     * with items that have been stored compressed because subsequent calls
     * to {@link Memcache::get} will fail. Also you can use {@link
     * memcache_increment} function.
     *
     * @param string $key Key of the item to increment.
     * @param int $value Increment the item by {@link value}.
     * @return int Returns new items value on success .
     * @since PECL memcache >= 0.2.0
     **/
    function increment($key, $value){}

    /**
     * Open memcached server persistent connection
     *
     * {@link Memcache::pconnect} is similar to {@link Memcache::connect}
     * with the difference, that the connection it establishes is persistent.
     * This connection is not closed after the end of script execution and by
     * {@link Memcache::close} function. Also you can use {@link
     * memcache_pconnect} function.
     *
     * @param string $host Point to the host where memcached is listening
     *   for connections. This parameter may also specify other transports
     *   like unix:///path/to/memcached.sock to use UNIX domain sockets, in
     *   this case {@link port} must also be set to 0.
     * @param int $port Point to the port where memcached is listening for
     *   connections. Set this parameter to 0 when using UNIX domain sockets.
     * @param int $timeout Value in seconds which will be used for
     *   connecting to the daemon. Think twice before changing the default
     *   value of 1 second - you can lose all the advantages of caching if
     *   your connection is too slow.
     * @return mixed Returns a Memcache object.
     * @since PECL memcache >= 0.4.0
     **/
    function pconnect($host, $port, $timeout){}

    /**
     * Replace value of the existing item
     *
     * {@link Memcache::replace} should be used to replace value of existing
     * item with {@link key}. In case if item with such key doesn't exists,
     * {@link Memcache::replace} returns FALSE. For the rest {@link
     * Memcache::replace} behaves similarly to {@link Memcache::set}. Also
     * you can use {@link memcache_replace} function.
     *
     * @param string $key The key that will be associated with the item.
     * @param mixed $var The variable to store. Strings and integers are
     *   stored as is, other types are stored serialized.
     * @param int $flag Use MEMCACHE_COMPRESSED to store the item
     *   compressed (uses zlib).
     * @param int $expire Expiration time of the item. If it's equal to
     *   zero, the item will never expire. You can also use Unix timestamp or
     *   a number of seconds starting from current time, but in the latter
     *   case the number of seconds may not exceed 2592000 (30 days).
     * @return bool
     * @since PECL memcache >= 0.2.0
     **/
    function replace($key, $var, $flag, $expire){}

    /**
     * Store data at the server
     *
     * {@link Memcache::set} stores an item {@link var} with {@link key} on
     * the memcached server. Parameter {@link expire} is expiration time in
     * seconds. If it's 0, the item never expires (but memcached server
     * doesn't guarantee this item to be stored all the time, it could be
     * deleted from the cache to make place for other items). You can use
     * MEMCACHE_COMPRESSED constant as {@link flag} value if you want to use
     * on-the-fly compression (uses zlib). Remember that resource variables
     * (i.e. file and connection descriptors) cannot be stored in the cache,
     * because they cannot be adequately represented in serialized state.
     * Also you can use {@link memcache_set} function.
     *
     * @param string $key The key that will be associated with the item.
     * @param mixed $var The variable to store. Strings and integers are
     *   stored as is, other types are stored serialized.
     * @param int $flag Use MEMCACHE_COMPRESSED to store the item
     *   compressed (uses zlib).
     * @param int $expire Expiration time of the item. If it's equal to
     *   zero, the item will never expire. You can also use Unix timestamp or
     *   a number of seconds starting from current time, but in the latter
     *   case the number of seconds may not exceed 2592000 (30 days).
     * @return bool
     * @since PECL memcache >= 0.2.0
     **/
    function set($key, $var, $flag, $expire){}

    /**
     * Enable automatic compression of large values
     *
     * {@link Memcache::setCompressThreshold} enables automatic compression
     * of large values. You can also use the {@link
     * memcache_set_compress_threshold} function.
     *
     * @param int $threshold Controls the minimum value length before
     *   attempting to compress automatically.
     * @param float $min_savings Specifies the minimum amount of savings to
     *   actually store the value compressed. The supplied value must be
     *   between 0 and 1. Default value is 0.2 giving a minimum 20%
     *   compression savings.
     * @return bool
     * @since PECL memcache >= 2.0.0
     **/
    function setCompressThreshold($threshold, $min_savings){}

    /**
     * Changes server parameters and status at runtime
     *
     * {@link Memcache::setServerParams} changes server parameters at
     * runtime. You can also use the {@link memcache_set_server_params}
     * function.
     *
     * @param string $host Point to the host where memcached is listening
     *   for connections.
     * @param int $port Point to the port where memcached is listening for
     *   connections.
     * @param int $timeout Value in seconds which will be used for
     *   connecting to the daemon. Think twice before changing the default
     *   value of 1 second - you can lose all the advantages of caching if
     *   your connection is too slow.
     * @param int $retry_interval Controls how often a failed server will
     *   be retried, the default value is 15 seconds. Setting this parameter
     *   to -1 disables automatic retry. Neither this nor the {@link
     *   persistent} parameter has any effect when the extension is loaded
     *   dynamically via {@link dl}.
     * @param bool $status Controls if the server should be flagged as
     *   online. Setting this parameter to FALSE and {@link retry_interval}
     *   to -1 allows a failed server to be kept in the pool so as not to
     *   affect the key distribution algorithm. Requests for this server will
     *   then failover or fail immediately depending on the {@link
     *   memcache.allow_failover} setting. Default to TRUE, meaning the
     *   server should be considered online.
     * @param callable $failure_callback Allows the user to specify a
     *   callback function to run upon encountering an error. The callback is
     *   run before failover is attempted. The function takes two parameters,
     *   the hostname and port of the failed server.
     * @return bool
     * @since PECL memcache >= 2.1.0
     **/
    function setServerParams($host, $port, $timeout, $retry_interval, $status, $failure_callback){}

}
/**
 * Represents a connection to a set of memcached servers.
 **/
class Memcached {
    const DISTRIBUTION_CONSISTENT = 0;

    const DISTRIBUTION_MODULA = 0;

    const GET_EXTENDED = 0;

    const GET_PRESERVE_ORDER = 0;

    const HASH_CRC = 0;

    const HASH_DEFAULT = 0;

    const HASH_FNV1A_32 = 0;

    const HASH_FNV1A_64 = 0;

    const HASH_FNV1_32 = 0;

    const HASH_FNV1_64 = 0;

    const HASH_HSIEH = 0;

    const HASH_MD5 = 0;

    const HASH_MURMUR = 0;

    const HAVE_IGBINARY = 0;

    const HAVE_JSON = 0;

    const HAVE_MSGPACK = 0;

    const HAVE_SASL = 0;

    const HAVE_SESSION = 0;

    const OPT_BINARY_PROTOCOL = 0;

    const OPT_BUFFER_WRITES = 0;

    const OPT_CACHE_LOOKUPS = 0;

    const OPT_COMPRESSION = 0;

    const OPT_CONNECT_TIMEOUT = 0;

    const OPT_DISTRIBUTION = 0;

    const OPT_HASH = 0;

    const OPT_LIBKETAMA_COMPATIBLE = 0;

    const OPT_NO_BLOCK = 0;

    const OPT_POLL_TIMEOUT = 0;

    const OPT_PREFIX_KEY = 0;

    const OPT_RECV_TIMEOUT = 0;

    const OPT_RETRY_TIMEOUT = 0;

    const OPT_SEND_TIMEOUT = 0;

    const OPT_SERIALIZER = 0;

    const OPT_SERVER_FAILURE_LIMIT = 0;

    const OPT_SOCKET_RECV_SIZE = 0;

    const OPT_SOCKET_SEND_SIZE = 0;

    const OPT_TCP_NODELAY = 0;

    const RES_AUTH_CONTINUE = 0;

    const RES_AUTH_FAILURE = 0;

    const RES_AUTH_PROBLEM = 0;

    const RES_BAD_KEY_PROVIDED = 0;

    const RES_BUFFERED = 0;

    const RES_CLIENT_ERROR = 0;

    const RES_CONNECTION_SOCKET_CREATE_FAILURE = 0;

    const RES_DATA_EXISTS = 0;

    const RES_E2BIG = 0;

    const RES_END = 0;

    const RES_ERRNO = 0;

    const RES_FAILURE = 0;

    const RES_HOST_LOOKUP_FAILURE = 0;

    const RES_KEY_TOO_BIG = 0;

    const RES_NOTFOUND = 0;

    const RES_NOTSTORED = 0;

    const RES_NO_SERVERS = 0;

    const RES_PARTIAL_READ = 0;

    const RES_PAYLOAD_FAILURE = 0;

    const RES_PROTOCOL_ERROR = 0;

    const RES_SERVER_ERROR = 0;

    const RES_SERVER_MEMORY_ALLOCATION_FAILURE = 0;

    const RES_SERVER_TEMPORARILY_DISABLED = 0;

    const RES_SOME_ERRORS = 0;

    const RES_SUCCESS = 0;

    const RES_TIMEOUT = 0;

    const RES_UNKNOWN_READ_FAILURE = 0;

    const RES_WRITE_FAILURE = 0;

    const SERIALIZER_IGBINARY = 0;

    const SERIALIZER_JSON = 0;

    const SERIALIZER_PHP = 0;

    /**
     * Add an item under a new key
     *
     * {@link Memcached::add} is similar to Memcached::set, but the operation
     * fails if the {@link key} already exists on the server.
     *
     * @param string $key
     * @param mixed $value
     * @param int $expiration
     * @return bool The Memcached::getResultCode will return
     *   Memcached::RES_NOTSTORED if the key already exists.
     * @since PECL memcached >= 0.1.0
     **/
    public function add($key, $value, $expiration){}

    /**
     * Add an item under a new key on a specific server
     *
     * {@link Memcached::addByKey} is functionally equivalent to
     * Memcached::add, except that the free-form {@link server_key} can be
     * used to map the {@link key} to a specific server. This is useful if
     * you need to keep a bunch of related keys on a certain server.
     *
     * @param string $server_key
     * @param string $key
     * @param mixed $value
     * @param int $expiration
     * @return bool The Memcached::getResultCode will return
     *   Memcached::RES_NOTSTORED if the key already exists.
     * @since PECL memcached >= 0.1.0
     **/
    public function addByKey($server_key, $key, $value, $expiration){}

    /**
     * Add a server to the server pool
     *
     * {@link Memcached::addServer} adds the specified server to the server
     * pool. No connection is established to the server at this time, but if
     * you are using consistent key distribution option (via
     * Memcached::DISTRIBUTION_CONSISTENT or
     * Memcached::OPT_LIBKETAMA_COMPATIBLE), some of the internal data
     * structures will have to be updated. Thus, if you need to add multiple
     * servers, it is better to use Memcached::addServers as the update then
     * happens only once.
     *
     * The same server may appear multiple times in the server pool, because
     * no duplication checks are made. This is not advisable; instead, use
     * the {@link weight} option to increase the selection weighting of this
     * server.
     *
     * @param string $host The hostname of the memcache server. If the
     *   hostname is invalid, data-related operations will set
     *   Memcached::RES_HOST_LOOKUP_FAILURE result code. As of version
     *   2.0.0b1, this parameter may also specify the path of a unix socket
     *   filepath ex. /path/to/memcached.sock to use UNIX domain sockets, in
     *   this case {@link port} must also be set to 0.
     * @param int $port The port on which memcache is running. Usually,
     *   this is 11211. As of version 2.0.0b1, set this parameter to 0 when
     *   using UNIX domain sockets.
     * @param int $weight The weight of the server relative to the total
     *   weight of all the servers in the pool. This controls the probability
     *   of the server being selected for operations. This is used only with
     *   consistent distribution option and usually corresponds to the amount
     *   of memory available to memcache on that server.
     * @return bool
     * @since PECL memcached >= 0.1.0
     **/
    public function addServer($host, $port, $weight){}

    /**
     * Add multiple servers to the server pool
     *
     * {@link Memcached::addServers} adds {@link servers} to the server pool.
     * Each entry in {@link servers} is supposed to be an array containing
     * hostname, port, and, optionally, weight of the server. No connection
     * is established to the servers at this time.
     *
     * The same server may appear multiple times in the server pool, because
     * no duplication checks are made. This is not advisable; instead, use
     * the {@link weight} option to increase the selection weighting of this
     * server.
     *
     * @param array $servers Array of the servers to add to the pool.
     * @return bool
     * @since PECL memcached >= 0.1.1
     **/
    public function addServers($servers){}

    /**
     * Append data to an existing item
     *
     * {@link Memcached::append} appends the given {@link value} string to
     * the value of an existing item. The reason that {@link value} is forced
     * to be a string is that appending mixed types is not well-defined.
     *
     * @param string $key
     * @param string $value The string to append.
     * @return bool The Memcached::getResultCode will return
     *   Memcached::RES_NOTSTORED if the key does not exist.
     * @since PECL memcached >= 0.1.0
     **/
    public function append($key, $value){}

    /**
     * Append data to an existing item on a specific server
     *
     * {@link Memcached::appendByKey} is functionally equivalent to
     * Memcached::append, except that the free-form {@link server_key} can be
     * used to map the {@link key} to a specific server.
     *
     * @param string $server_key
     * @param string $key
     * @param string $value The string to append.
     * @return bool The Memcached::getResultCode will return
     *   Memcached::RES_NOTSTORED if the key does not exist.
     * @since PECL memcached >= 0.1.0
     **/
    public function appendByKey($server_key, $key, $value){}

    /**
     * Compare and swap an item
     *
     * {@link Memcached::cas} performs a "check and set" operation, so that
     * the item will be stored only if no other client has updated it since
     * it was last fetched by this client. The check is done via the {@link
     * cas_token} parameter which is a unique 64-bit value assigned to the
     * existing item by memcache. See the documentation for Memcached::get*
     * methods for how to obtain this token. Note that the token is
     * represented as a double due to the limitations of PHP's integer space.
     *
     * @param float $cas_token Unique value associated with the existing
     *   item. Generated by memcache.
     * @param string $key
     * @param mixed $value
     * @param int $expiration
     * @return bool The Memcached::getResultCode will return
     *   Memcached::RES_DATA_EXISTS if the item you are trying to store has
     *   been modified since you last fetched it.
     * @since PECL memcached >= 0.1.0
     **/
    public function cas($cas_token, $key, $value, $expiration){}

    /**
     * Compare and swap an item on a specific server
     *
     * {@link Memcached::casByKey} is functionally equivalent to
     * Memcached::cas, except that the free-form {@link server_key} can be
     * used to map the {@link key} to a specific server. This is useful if
     * you need to keep a bunch of related keys on a certain server.
     *
     * @param float $cas_token Unique value associated with the existing
     *   item. Generated by memcache.
     * @param string $server_key
     * @param string $key
     * @param mixed $value
     * @param int $expiration
     * @return bool The Memcached::getResultCode will return
     *   Memcached::RES_DATA_EXISTS if the item you are trying to store has
     *   been modified since you last fetched it.
     * @since PECL memcached >= 0.1.0
     **/
    public function casByKey($cas_token, $server_key, $key, $value, $expiration){}

    /**
     * Decrement numeric item's value
     *
     * {@link Memcached::decrement} decrements a numeric item's value by the
     * specified {@link offset}. If the item's value is not numeric, an error
     * will result. If the operation would decrease the value below 0, the
     * new value will be 0. {@link Memcached::decrement} will set the item to
     * the {@link initial_value} parameter if the key doesn't exist.
     *
     * @param string $key The key of the item to decrement.
     * @param int $offset The amount by which to decrement the item's
     *   value.
     * @param int $initial_value The value to set the item to if it doesn't
     *   currently exist.
     * @param int $expiry The expiry time to set on the item.
     * @return int Returns item's new value on success.
     * @since PECL memcached >= 0.1.0
     **/
    public function decrement($key, $offset, $initial_value, $expiry){}

    /**
     * Decrement numeric item's value, stored on a specific server
     *
     * {@link Memcached::decrementByKey} decrements a numeric item's value by
     * the specified {@link offset}. If the item's value is not numeric, an
     * error will result. If the operation would decrease the value below 0,
     * the new value will be 0. {@link Memcached::decrementByKey} will set
     * the item to the {@link initial_value} parameter if the key doesn't
     * exist.
     *
     * @param string $server_key
     * @param string $key The key of the item to decrement.
     * @param int $offset The amount by which to decrement the item's
     *   value.
     * @param int $initial_value The value to set the item to if it doesn't
     *   currently exist.
     * @param int $expiry The expiry time to set on the item.
     * @return int Returns item's new value on success.
     * @since PECL memcached >= 2.0.0
     **/
    public function decrementByKey($server_key, $key, $offset, $initial_value, $expiry){}

    /**
     * Delete an item
     *
     * {@link Memcached::delete} deletes the {@link key} from the server. The
     * {@link time} parameter is the amount of time in seconds (or Unix time
     * until which) the client wishes the server to refuse add and replace
     * commands for this key. For this amount of time, the item is put into a
     * delete queue, which means that it won't possible to retrieve it by the
     * get command, but add and replace command with this key will also fail
     * (the set command will succeed, however). After the time passes, the
     * item is finally deleted from server memory. The parameter {@link time}
     * defaults to 0 (which means that the item will be deleted immediately
     * and further storage commands with this key will succeed).
     *
     * @param string $key The key to be deleted.
     * @param int $time The amount of time the server will wait to delete
     *   the item.
     * @return bool The Memcached::getResultCode will return
     *   Memcached::RES_NOTFOUND if the key does not exist.
     * @since PECL memcached >= 0.1.0
     **/
    public function delete($key, $time){}

    /**
     * Delete an item from a specific server
     *
     * {@link Memcached::deleteByKey} is functionally equivalent to
     * Memcached::delete, except that the free-form {@link server_key} can be
     * used to map the {@link key} to a specific server.
     *
     * @param string $server_key
     * @param string $key The key to be deleted.
     * @param int $time The amount of time the server will wait to delete
     *   the item.
     * @return bool The Memcached::getResultCode will return
     *   Memcached::RES_NOTFOUND if the key does not exist.
     * @since PECL memcached >= 0.1.0
     **/
    public function deleteByKey($server_key, $key, $time){}

    /**
     * Delete multiple items
     *
     * {@link Memcached::deleteMulti} deletes the array of {@link keys} from
     * the server. The {@link time} parameter is the amount of time in
     * seconds (or Unix time until which) the client wishes the server to
     * refuse add and replace commands for these keys. For this amount of
     * time, the item is put into a delete queue, which means that it won't
     * be possible to retrieve it by the get command, but add and replace
     * command with these keys will also fail (the set command will succeed,
     * however). After the time passes, the item is finally deleted from
     * server memory. The parameter {@link time} defaults to 0 (which means
     * that the item will be deleted immediately and further storage commands
     * with these keys will succeed).
     *
     * @param array $keys The keys to be deleted.
     * @param int $time The amount of time the server will wait to delete
     *   the items.
     * @return array Returns array indexed by {@link keys} and where values
     *   are indicating whether operation succeeded or not. The
     *   Memcached::getResultCode will return Memcached::RES_NOTFOUND if the
     *   key does not exist.
     * @since PECL memcached >= 2.0.0
     **/
    public function deleteMulti($keys, $time){}

    /**
     * Delete multiple items from a specific server
     *
     * {@link Memcached::deleteMultiByKey} is functionally equivalent to
     * Memcached::deleteMulti, except that the free-form {@link server_key}
     * can be used to map the {@link keys} to a specific server.
     *
     * @param string $server_key
     * @param array $keys The keys to be deleted.
     * @param int $time The amount of time the server will wait to delete
     *   the items.
     * @return bool The Memcached::getResultCode will return
     *   Memcached::RES_NOTFOUND if the key does not exist.
     * @since PECL memcached >= 2.0.0
     **/
    public function deleteMultiByKey($server_key, $keys, $time){}

    /**
     * Fetch the next result
     *
     * {@link Memcached::fetch} retrieves the next result from the last
     * request.
     *
     * @return array Returns the next result or FALSE otherwise. The
     *   Memcached::getResultCode will return Memcached::RES_END if result
     *   set is exhausted.
     * @since PECL memcached >= 0.1.0
     **/
    public function fetch(){}

    /**
     * Fetch all the remaining results
     *
     * {@link Memcached::fetchAll} retrieves all the remaining results from
     * the last request.
     *
     * @return array Returns the results.
     * @since PECL memcached >= 0.1.0
     **/
    public function fetchAll(){}

    /**
     * Invalidate all items in the cache
     *
     * {@link Memcached::flush} invalidates all existing cache items
     * immediately (by default) or after the {@link delay} specified. After
     * invalidation none of the items will be returned in response to a
     * retrieval command (unless it's stored again under the same key after
     * {@link Memcached::flush} has invalidated the items). The flush does
     * not actually free all the memory taken up by the existing items; that
     * will happen gradually as new items are stored.
     *
     * @param int $delay Number of seconds to wait before invalidating the
     *   items.
     * @return bool
     * @since PECL memcached >= 0.1.0
     **/
    public function flush($delay){}

    /**
     * Retrieve an item
     *
     * {@link Memcached::get} returns the item that was previously stored
     * under the {@link key}. If the item is found and the {@link flags} is
     * given Memcached::GET_EXTENDED, it will also return the CAS token value
     * for the item. See Memcached::cas for how to use CAS tokens.
     * Read-through caching callback may be specified via {@link cache_cb}
     * parameter.
     *
     * @param string $key The key of the item to retrieve.
     * @param callable $cache_cb Read-through caching callback or NULL.
     * @param int $flags Flags to control the returned result. When
     *   Memcached::GET_EXTENDED is given, the function will also return the
     *   CAS token.
     * @return mixed Returns the value stored in the cache or FALSE
     *   otherwise. If the {@link flags} is set to Memcached::GET_EXTENDED,
     *   an array containing the value and the CAS token is returned instead
     *   of only the value. The Memcached::getResultCode will return
     *   Memcached::RES_NOTFOUND if the key does not exist.
     * @since PECL memcached >= 0.1.0
     **/
    public function get($key, $cache_cb, $flags){}

    /**
     * Gets the keys stored on all the servers
     *
     * {@link Memcached::getAllKeys} queries each memcache server and
     * retrieves an array of all keys stored on them at that point in time.
     * This is not an atomic operation, so it isn't a truly consistent
     * snapshot of the keys at point in time. As memcache doesn't guarantee
     * to return all keys you also cannot assume that all keys have been
     * returned.
     *
     * @return array Returns the keys stored on all the servers on success.
     * @since PECL memcached >= 2.0.0
     **/
    public function getAllKeys(){}

    /**
     * Retrieve an item from a specific server
     *
     * {@link Memcached::getByKey} is functionally equivalent to
     * Memcached::get, except that the free-form {@link server_key} can be
     * used to map the {@link key} to a specific server.
     *
     * @param string $server_key
     * @param string $key The key of the item to fetch.
     * @param callable $cache_cb Read-through caching callback or NULL
     * @param int $flags Flags to control the returned result. When value
     *   of Memcached::GET_EXTENDED is given will return the CAS token.
     * @return mixed Returns the value stored in the cache or FALSE
     *   otherwise. The Memcached::getResultCode will return
     *   Memcached::RES_NOTFOUND if the key does not exist.
     * @since PECL memcached >= 0.1.0
     **/
    public function getByKey($server_key, $key, $cache_cb, $flags){}

    /**
     * Request multiple items
     *
     * {@link Memcached::getDelayed} issues a request to memcache for
     * multiple items the keys of which are specified in the {@link keys}
     * array. The method does not wait for response and returns right away.
     * When you are ready to collect the items, call either Memcached::fetch
     * or Memcached::fetchAll. If {@link with_cas} is true, the CAS token
     * values will also be requested.
     *
     * Instead of fetching the results explicitly, you can specify a result
     * callback via {@link value_cb} parameter.
     *
     * @param array $keys Array of keys to request.
     * @param bool $with_cas Whether to request CAS token values also.
     * @param callable $value_cb The result callback or NULL.
     * @return bool
     * @since PECL memcached >= 0.1.0
     **/
    public function getDelayed($keys, $with_cas, $value_cb){}

    /**
     * Request multiple items from a specific server
     *
     * {@link Memcached::getDelayedByKey} is functionally equivalent to
     * Memcached::getDelayed, except that the free-form {@link server_key}
     * can be used to map the {@link keys} to a specific server.
     *
     * @param string $server_key
     * @param array $keys Array of keys to request.
     * @param bool $with_cas Whether to request CAS token values also.
     * @param callable $value_cb The result callback or NULL.
     * @return bool
     * @since PECL memcached >= 0.1.0
     **/
    public function getDelayedByKey($server_key, $keys, $with_cas, $value_cb){}

    /**
     * Retrieve multiple items
     *
     * {@link Memcached::getMulti} is similar to Memcached::get, but instead
     * of a single key item, it retrieves multiple items the keys of which
     * are specified in the {@link keys} array. Before v3.0 a second argument
     * cas_tokens was in use. It was filled with the CAS token values for the
     * found items. The cas_tokens parameter was removed in v3.0 of the
     * extension. It was replaced with a new flag Memcached::GET_EXTENDED
     * that needs is to be used as the value for {@link flags}.
     *
     * The {@link flags} parameter can be used to specify additional options
     * for {@link Memcached::getMulti}. Memcached::GET_PRESERVE_ORDER ensures
     * that the keys are returned in the same order as they were requested
     * in. Memcached::GET_EXTENDED ensures that the CAS tokens will be
     * fetched too.
     *
     * @param array $keys Array of keys to retrieve.
     * @param int $flags The flags for the get operation.
     * @return mixed Returns the array of found items.
     * @since PECL memcached >= 0.1.0
     **/
    public function getMulti($keys, $flags){}

    /**
     * Retrieve multiple items from a specific server
     *
     * {@link Memcached::getMultiByKey} is functionally equivalent to
     * Memcached::getMulti, except that the free-form {@link server_key} can
     * be used to map the {@link keys} to a specific server.
     *
     * @param string $server_key
     * @param array $keys Array of keys to retrieve.
     * @param int $flags The flags for the get operation.
     * @return array Returns the array of found items.
     * @since PECL memcached >= 0.1.0
     **/
    public function getMultiByKey($server_key, $keys, $flags){}

    /**
     * Retrieve a Memcached option value
     *
     * This method returns the value of a Memcached {@link option}. Some
     * options correspond to the ones defined by libmemcached, and some are
     * specific to the extension. See Memcached Constants for more
     * information.
     *
     * @param int $option One of the Memcached::OPT_* constants.
     * @return mixed Returns the value of the requested option, or FALSE on
     *   error.
     * @since PECL memcached >= 0.1.0
     **/
    public function getOption($option){}

    /**
     * Return the result code of the last operation
     *
     * {@link Memcached::getResultCode} returns one of the Memcached::RES_*
     * constants that is the result of the last executed Memcached method.
     *
     * @return int Result code of the last Memcached operation.
     * @since PECL memcached >= 0.1.0
     **/
    public function getResultCode(){}

    /**
     * Return the message describing the result of the last operation
     *
     * {@link Memcached::getResultMessage} returns a string that describes
     * the result code of the last executed Memcached method.
     *
     * @return string Message describing the result of the last Memcached
     *   operation.
     * @since PECL memcached >= 1.0.0
     **/
    public function getResultMessage(){}

    /**
     * Map a key to a server
     *
     * {@link Memcached::getServerByKey} returns the server that would be
     * selected by a particular {@link server_key} in all the {@link
     * Memcached::*ByKey} operations.
     *
     * @param string $server_key
     * @return array Returns an array containing three keys of host, port,
     *   and weight on success or FALSE on failure.
     * @since PECL memcached >= 0.1.0
     **/
    public function getServerByKey($server_key){}

    /**
     * Get the list of the servers in the pool
     *
     * {@link Memcached::getServerList} returns the list of all servers that
     * are in its server pool.
     *
     * @return array The list of all servers in the server pool.
     * @since PECL memcached >= 0.1.0
     **/
    public function getServerList(){}

    /**
     * Get server pool statistics
     *
     * {@link Memcached::getStats} returns an array containing the state of
     * all available memcache servers. See memcache protocol specification
     * for details on these statistics.
     *
     * @return array Array of server statistics, one entry per server.
     * @since PECL memcached >= 0.1.0
     **/
    public function getStats(){}

    /**
     * Get server pool version info
     *
     * {@link Memcached::getVersion} returns an array containing the version
     * info for all available memcache servers.
     *
     * @return array Array of server versions, one entry per server.
     * @since PECL memcached >= 0.1.5
     **/
    public function getVersion(){}

    /**
     * Increment numeric item's value
     *
     * {@link Memcached::increment} increments a numeric item's value by the
     * specified {@link offset}. If the item's value is not numeric, an error
     * will result. {@link Memcached::increment} will set the item to the
     * {@link initial_value} parameter if the key doesn't exist.
     *
     * @param string $key The key of the item to increment.
     * @param int $offset The amount by which to increment the item's
     *   value.
     * @param int $initial_value The value to set the item to if it doesn't
     *   currently exist.
     * @param int $expiry The expiry time to set on the item.
     * @return int Returns new item's value on success.
     * @since PECL memcached >= 0.1.0
     **/
    public function increment($key, $offset, $initial_value, $expiry){}

    /**
     * Increment numeric item's value, stored on a specific server
     *
     * {@link Memcached::incrementByKey} increments a numeric item's value by
     * the specified {@link offset}. If the item's value is not numeric, an
     * error will result. {@link Memcached::incrementByKey} will set the item
     * to the {@link initial_value} parameter if the key doesn't exist.
     *
     * @param string $server_key
     * @param string $key The key of the item to increment.
     * @param int $offset The amount by which to increment the item's
     *   value.
     * @param int $initial_value The value to set the item to if it doesn't
     *   currently exist.
     * @param int $expiry The expiry time to set on the item.
     * @return int Returns new item's value on success.
     * @since PECL memcached >= 2.0.0
     **/
    public function incrementByKey($server_key, $key, $offset, $initial_value, $expiry){}

    /**
     * Check if a persitent connection to memcache is being used
     *
     * {@link Memcached::isPersistent} checks if the connections to the
     * memcache servers are persistent connections.
     *
     * @return bool Returns true if Memcache instance uses a persistent
     *   connection, false otherwise.
     * @since PECL memcached >= 2.0.0
     **/
    public function isPersistent(){}

    /**
     * Check if the instance was recently created
     *
     * {@link Memcached::isPristine} checks if the Memcache instance was
     * recently created.
     *
     * @return bool Returns the true if instance is recently created, false
     *   otherwise.
     * @since PECL memcached >= 2.0.0
     **/
    public function isPristine(){}

    /**
     * Prepend data to an existing item
     *
     * {@link Memcached::prepend} prepends the given {@link value} string to
     * the value of an existing item. The reason that {@link value} is forced
     * to be a string is that prepending mixed types is not well-defined.
     *
     * @param string $key The key of the item to prepend the data to.
     * @param string $value The string to prepend.
     * @return bool The Memcached::getResultCode will return
     *   Memcached::RES_NOTSTORED if the key does not exist.
     * @since PECL memcached >= 0.1.0
     **/
    public function prepend($key, $value){}

    /**
     * Prepend data to an existing item on a specific server
     *
     * {@link Memcached::prependByKey} is functionally equivalent to
     * Memcached::prepend, except that the free-form {@link server_key} can
     * be used to map the {@link key} to a specific server.
     *
     * @param string $server_key
     * @param string $key The key of the item to prepend the data to.
     * @param string $value The string to prepend.
     * @return bool The Memcached::getResultCode will return
     *   Memcached::RES_NOTSTORED if the key does not exist.
     * @since PECL memcached >= 0.1.0
     **/
    public function prependByKey($server_key, $key, $value){}

    /**
     * Close any open connections
     *
     * {@link Memcached::quit} closes any open connections to the memcache
     * servers.
     *
     * @return bool
     * @since PECL memcached >= 2.0.0
     **/
    public function quit(){}

    /**
     * Replace the item under an existing key
     *
     * {@link Memcached::replace} is similar to Memcached::set, but the
     * operation fails if the {@link key} does not exist on the server.
     *
     * @param string $key
     * @param mixed $value
     * @param int $expiration
     * @return bool The Memcached::getResultCode will return
     *   Memcached::RES_NOTSTORED if the key does not exist.
     * @since PECL memcached >= 0.1.0
     **/
    public function replace($key, $value, $expiration){}

    /**
     * Replace the item under an existing key on a specific server
     *
     * {@link Memcached::replaceByKey} is functionally equivalent to
     * Memcached::replace, except that the free-form {@link server_key} can
     * be used to map the {@link key} to a specific server. This is useful if
     * you need to keep a bunch of related keys on a certain server.
     *
     * @param string $server_key
     * @param string $key
     * @param mixed $value
     * @param int $expiration
     * @return bool The Memcached::getResultCode will return
     *   Memcached::RES_NOTSTORED if the key does not exist.
     * @since PECL memcached >= 0.1.0
     **/
    public function replaceByKey($server_key, $key, $value, $expiration){}

    /**
     * Clears all servers from the server list
     *
     * {@link Memcached::resetserverlist} removes all memcache servers from
     * the known server list, reseting it back to empty.
     *
     * @return bool
     * @since PECL memcached >= 2.0.0
     **/
    public function resetServerList(){}

    /**
     * Store an item
     *
     * {@link Memcached::set} stores the {@link value} on a memcache server
     * under the specified {@link key}. The {@link expiration} parameter can
     * be used to control when the value is considered expired.
     *
     * The value can be any valid PHP type except for resources, because
     * those cannot be represented in a serialized form. If the
     * Memcached::OPT_COMPRESSION option is turned on, the serialized value
     * will also be compressed before storage.
     *
     * @param string $key
     * @param mixed $value
     * @param int $expiration
     * @return bool
     * @since PECL memcached >= 0.1.0
     **/
    public function set($key, $value, $expiration){}

    /**
     * Store an item on a specific server
     *
     * {@link Memcached::setByKey} is functionally equivalent to
     * Memcached::set, except that the free-form {@link server_key} can be
     * used to map the {@link key} to a specific server. This is useful if
     * you need to keep a bunch of related keys on a certain server.
     *
     * @param string $server_key
     * @param string $key
     * @param mixed $value
     * @param int $expiration
     * @return bool
     * @since PECL memcached >= 0.1.0
     **/
    public function setByKey($server_key, $key, $value, $expiration){}

    /**
     * Store multiple items
     *
     * {@link Memcached::setMulti} is similar to Memcached::set, but instead
     * of a single key/value item, it works on multiple items specified in
     * {@link items}. The {@link expiration} time applies to all the items at
     * once.
     *
     * @param array $items
     * @param int $expiration
     * @return bool
     * @since PECL memcached >= 0.1.0
     **/
    public function setMulti($items, $expiration){}

    /**
     * Store multiple items on a specific server
     *
     * {@link Memcached::setMultiByKey} is functionally equivalent to
     * Memcached::setMulti, except that the free-form {@link server_key} can
     * be used to map the keys from {@link items} to a specific server. This
     * is useful if you need to keep a bunch of related keys on a certain
     * server.
     *
     * @param string $server_key
     * @param array $items
     * @param int $expiration
     * @return bool
     * @since PECL memcached >= 0.1.0
     **/
    public function setMultiByKey($server_key, $items, $expiration){}

    /**
     * Set a Memcached option
     *
     * This method sets the value of a Memcached {@link option}. Some options
     * correspond to the ones defined by libmemcached, and some are specific
     * to the extension. See Memcached Constants for more information.
     *
     * The options listed below require values specified via constants.
     * Memcached::OPT_HASH requires Memcached::HASH_* values.
     * Memcached::OPT_DISTRIBUTION requires Memcached::DISTRIBUTION_* values.
     *
     * @param int $option
     * @param mixed $value
     * @return bool
     * @since PECL memcached >= 0.1.0
     **/
    public function setOption($option, $value){}

    /**
     * Set Memcached options
     *
     * {@link Memcached::setOptions} is a variation of the
     * Memcached::setOption that takes an array of options to be set.
     *
     * @param array $options An associative array of options where the key
     *   is the option to set and the value is the new value for the option.
     * @return bool
     * @since PECL memcached >= 2.0.0
     **/
    public function setOptions($options){}

    /**
     * Set the credentials to use for authentication
     *
     * {@link Memcached::setSaslAuthData} sets the username and password that
     * should be used for SASL authentication with the memcache servers.
     *
     * This method is only available when the memcached extension is built
     * with SASL support. Please refer to Memcached setup for how to do this.
     *
     * @param string $username The username to use for authentication.
     * @param string $password The password to use for authentication.
     * @return void
     * @since PECL memcached >= 2.0.0
     **/
    public function setSaslAuthData($username, $password){}

    /**
     * Set a new expiration on an item
     *
     * {@link Memcached::touch} sets a new expiration value on the given key.
     *
     * @param string $key
     * @param int $expiration
     * @return bool
     * @since PECL memcached >= 2.0.0
     **/
    public function touch($key, $expiration){}

    /**
     * Set a new expiration on an item on a specific server
     *
     * {@link Memcached::touchByKey} is functionally equivalent to
     * Memcached::touch, except that the free-form {@link server_key} can be
     * used to map the {@link key} to a specific server.
     *
     * @param string $server_key
     * @param string $key
     * @param int $expiration
     * @return bool
     * @since PECL memcached >= 2.0.0
     **/
    public function touchByKey($server_key, $key, $expiration){}

}
class MemcachedException extends RuntimeException {
}
/**
 * ICU formatting documentation ICU message formatting description ICU
 * message formatters ICU choice formatters
 **/
class MessageFormatter {
    /**
     * Constructs a new Message Formatter
     *
     * (method)
     *
     * (constructor):
     *
     * @param string $locale The locale to use when formatting arguments
     * @param string $pattern The pattern string to stick arguments into.
     *   The pattern uses an 'apostrophe-friendly' syntax; it is run through
     *   umsg_autoQuoteApostrophe before being interpreted.
     * @return MessageFormatter The formatter object
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public static function create($locale, $pattern){}

    /**
     * Format the message
     *
     * Format the message by substituting the data into the format string
     * according to the locale rules
     *
     * @param array $args The message formatter
     * @return string The formatted string, or FALSE if an error occurred
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function format($args){}

    /**
     * Quick format message
     *
     * Quick formatting function that formats the string without having to
     * explicitly create the formatter object. Use this function when the
     * format operation is done only once and does not need and parameters or
     * state to be kept.
     *
     * @param string $locale The locale to use for formatting
     *   locale-dependent parts
     * @param string $pattern The pattern string to insert things into. The
     *   pattern uses an 'apostrophe-friendly' syntax; it is run through
     *   umsg_autoQuoteApostrophe before being interpreted.
     * @param array $args The array of values to insert into the format
     *   string
     * @return string The formatted pattern string or FALSE if an error
     *   occurred
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public static function formatMessage($locale, $pattern, $args){}

    /**
     * Get the error code from last operation
     *
     * @return int The error code, one of UErrorCode values. Initial value
     *   is U_ZERO_ERROR.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function getErrorCode(){}

    /**
     * Get the error text from the last operation
     *
     * @return string Description of the last error.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function getErrorMessage(){}

    /**
     * Get the locale for which the formatter was created
     *
     * @return string The locale name
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function getLocale(){}

    /**
     * Get the pattern used by the formatter
     *
     * @return string The pattern string for this message formatter
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function getPattern(){}

    /**
     * Parse input string according to pattern
     *
     * Parses input string and return any extracted items as an array.
     *
     * @param string $value The message formatter
     * @return array An array containing the items extracted, or FALSE on
     *   error
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function parse($value){}

    /**
     * Quick parse input string
     *
     * Parses input string without explicitly creating the formatter object.
     * Use this function when the format operation is done only once and does
     * not need and parameters or state to be kept.
     *
     * @param string $locale The locale to use for parsing locale-dependent
     *   parts
     * @param string $pattern The pattern with which to parse the {@link
     *   value}.
     * @param string $source The string to parse, conforming to the {@link
     *   pattern}.
     * @return array An array containing items extracted, or FALSE on error
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public static function parseMessage($locale, $pattern, $source){}

    /**
     * Set the pattern used by the formatter
     *
     * @param string $pattern The message formatter
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function setPattern($pattern){}

}
/**
 * A connection between PHP and MongoDB. This class extends MongoClient
 * and provides access to several deprecated methods. For backwards
 * compatibility, it also defaults the "w" option of its constructor
 * argument to 0, which does not require write operations to be
 * acknowledged by the server. See {@link MongoClient::__construct} for
 * more information.
 **/
class Mongo extends MongoClient {
    /**
     * Connects with a database server
     *
     * @return bool If the connection was successful.
     * @since PECL mongo >=0.9.0
     **/
    protected function connectUtil(){}

    /**
     * Get pool size for connection pools
     *
     * @return int Returns the current pool size.
     * @since PECL mongo >=1.2.0
     **/
    public static function getPoolSize(){}

    /**
     * Returns the address being used by this for slaveOkay reads
     *
     * This finds the address of the secondary currently being used for
     * reads. It is a read-only method: it does not change anything about the
     * internal state of the object.
     *
     * When you create a connection to the database, the driver will not
     * immediately decide on a secondary to use. Thus, after you connect,
     * this function will return NULL even if there are secondaries
     * available. When you first do a query with slaveOkay set, at that point
     * the driver will choose a secondary for this connection. At that point,
     * this function will return the chosen secondary.
     *
     * See the query section of this manual for information on distributing
     * reads to secondaries.
     *
     * @return string The address of the secondary this connection is using
     *   for reads.
     * @since PECL mongo >=1.1.0
     **/
    public function getSlave(){}

    /**
     * Get slaveOkay setting for this connection
     *
     * See the query section of this manual for information on distributing
     * reads to secondaries.
     *
     * @return bool Returns the value of slaveOkay for this instance.
     * @since PECL mongo >=1.1.0
     **/
    public function getSlaveOkay(){}

    /**
     * Returns information about all connection pools
     *
     * Returns an array of information about all connection pools.
     *
     * @return array Each connection pool has an identifier, which starts
     *   with the host. For each pool, this function shows the following
     *   fields: {@link in use} The number of connections currently being
     *   used by MongoClient instances. {@link in pool} The number of
     *   connections currently in the pool (not being used). {@link
     *   remaining} The number of connections that could be created by this
     *   pool. For example, suppose a pool had 5 connections remaining and 3
     *   connections in the pool. We could create 8 new instances of
     *   MongoClient before we exhausted this pool (assuming no instances of
     *   MongoClient went out of scope, returning their connections to the
     *   pool). A negative number means that this pool will spawn unlimited
     *   connections. Before a pool is created, you can change the max number
     *   of connections by calling {@link Mongo::setPoolSize}. Once a pool is
     *   showing up in the output of this function, its size cannot be
     *   changed. {@link timeout} The socket timeout for connections in this
     *   pool. This is how long connections in this pool will attempt to
     *   connect to a server before giving up.
     * @since PECL mongo >=1.2.0
     **/
    public function poolDebug(){}

    /**
     * Set the size for future connection pools
     *
     * Sets the max number of connections new pools will be able to create.
     *
     * @param int $size The max number of connections future pools will be
     *   able to create. Negative numbers mean that the pool will spawn an
     *   infinite number of connections.
     * @return bool Returns the former value of pool size.
     * @since PECL mongo >=1.2.0
     **/
    public static function setPoolSize($size){}

    /**
     * Change slaveOkay setting for this connection
     *
     * See the query section of this manual for information on distributing
     * reads to secondaries.
     *
     * @param bool $ok If reads should be sent to secondary members of a
     *   replica set for all possible queries using this MongoClient
     *   instance.
     * @return bool Returns the former value of slaveOkay for this
     *   instance.
     * @since PECL mongo >=1.1.0
     **/
    public function setSlaveOkay($ok){}

    /**
     * Choose a new secondary for slaveOkay reads
     *
     * This choses a random secondary for a connection to read from. It is
     * called automatically by the driver and should not need to be used. It
     * calls {@link MongoClient::getHosts} (to refresh the status of hosts)
     * and {@link Mongo::getSlave} (to get the return value).
     *
     * See the query section of this manual for information on distributing
     * reads to secondaries.
     *
     * @return string The address of the secondary this connection is using
     *   for reads. This may be the same as the previous address as addresses
     *   are randomly chosen. It may return only one address if only one
     *   secondary (or only the primary) is available.
     * @since PECL mongo >=1.1.0
     **/
    public function switchSlave(){}

}
/**
 * An object that can be used to store or retrieve binary data from the
 * database. The maximum size of a single object that can be inserted
 * into the database is 16MB. For data that is larger than this (movies,
 * music, Henry Kissinger's autobiography), use MongoGridFS. For data
 * that is smaller than 16MB, you may find it easier to embed it within
 * the document using MongoBinData. For example, to embed an image in a
 * document, one could write: This class contains a type field, which
 * currently gives no additional functionality in the PHP driver or the
 * database. There are seven predefined types, which are defined as class
 * constants below. For backwards compatibility, the PHP driver uses
 * MongoBinData::BYTE_ARRAY as the default; however, this may change to
 * MongoBinData::GENERIC in the future. Users are encouraged to specify a
 * type in {@link MongoBinData::__construct}.
 **/
class MongoBinData {
    /**
     * @var int
     **/
    const BYTE_ARRAY = 0;

    /**
     * @var int
     **/
    const CUSTOM = 0;

    /**
     * @var int
     **/
    const FUNC = 0;

    /**
     * @var int
     **/
    const GENERIC = 0;

    /**
     * @var int
     **/
    const MD5 = 0;

    /**
     * @var int
     **/
    const UUID = 0;

    /**
     * @var int
     **/
    const UUID_RFC4122 = 0;

    /**
     * @var string
     **/
    public $bin;

    /**
     * @var int
     **/
    public $type;

    /**
     * Creates a new binary data object
     *
     * There are seven types of binary data currently recognized by the BSON
     * spec, which are defined as class constants. For backwards
     * compatibility, the PHP driver uses MongoBinData::BYTE_ARRAY as the
     * default; however, this may change to MongoBinData::GENERIC in the
     * future. Users are encouraged to specify a type instead of relying on
     * the default.
     *
     * @param string $data Binary data.
     * @param int $type Data type.
     * @since PECL mongo >= 0.8.1
     **/
    public function __construct($data, $type){}

    /**
     * The string representation of this binary data object
     *
     * @return string Returns the string "<Mongo Binary Data>". To access
     *   the contents of a MongoBinData, use the bin field.
     * @since PECL mongo >= 0.8.1
     **/
    public function __toString(){}

}
/**
 * A connection manager for PHP and MongoDB. This class is used to create
 * and manage connections. A typical use is: MongoClient basic usage
 *
 * See {@link MongoClient::__construct} and the section on connecting for
 * more information about creating connections.
 **/
class MongoClient {
    /**
     * @var string
     **/
    const DEFAULT_HOST = '';

    /**
     * @var int
     **/
    const DEFAULT_PORT = 0;

    /**
     * @var string
     **/
    const RP_NEAREST = '';

    /**
     * @var string
     **/
    const RP_PRIMARY = '';

    /**
     * @var string
     **/
    const RP_PRIMARY_PREFERRED = '';

    /**
     * @var string
     **/
    const RP_SECONDARY = '';

    /**
     * @var string
     **/
    const RP_SECONDARY_PREFERRED = '';

    /**
     * @var string
     **/
    const VERSION = '';

    /**
     * @var boolean
     **/
    public $connected;

    /**
     * @var boolean
     **/
    protected $persistent;

    /**
     * @var string
     **/
    protected $server;

    /**
     * @var string
     **/
    public $status;

    /**
     * Closes this connection
     *
     * The {@link MongoClient::close} method forcefully closes a connection
     * to the database, even if persistent connections are being used. You
     * should never have to do this under normal circumstances.
     *
     * @param boolean|string $connection If connection is not given, or
     *   FALSE then connection that would be selected for writes would be
     *   closed. In a single-node configuration, that is then the whole
     *   connection, but if you are connected to a replica set, close() will
     *   only close the connection to the primary server. If connection is
     *   TRUE then all connections as known by the connection manager will be
     *   closed. This can include connections that are not referenced in the
     *   connection string used to create the object that you are calling
     *   close on. If connection is a string argument, then it will only
     *   close the connection identified by this hash. Hashes are identifiers
     *   for a connection and can be obtained by calling {@link
     *   MongoClient::getConnections}.
     * @return bool Returns if the connection was successfully closed.
     * @since PECL mongo >=1.3.0
     **/
    public function close($connection){}

    /**
     * Connects to a database server
     *
     * @return bool If the connection was successful.
     * @since PECL mongo >=1.3.0
     **/
    public function connect(){}

    /**
     * Drops a database [deprecated]
     *
     * @param mixed $db The database to drop. Can be a MongoDB object or
     *   the name of the database.
     * @return array Returns the database response.
     * @since PECL mongo >=1.3.0
     **/
    public function dropDB($db){}

    /**
     * Return info about all open connections
     *
     * Returns an array of all open connections, and information about each
     * of the servers
     *
     * @return array An array of open connections.
     * @since PECL mongo >=1.3.0
     **/
    public static function getConnections(){}

    /**
     * Updates status for all associated hosts
     *
     * This method is only useful with a connection to a replica set. It
     * returns the status of all of the hosts in the set. Without a replica
     * set, it will just return an array with one element containing the host
     * that you are connected to.
     *
     * See the query section of this manual for information on distributing
     * reads to secondaries.
     *
     * @return array Returns an array of information about the hosts in the
     *   set. Includes each host's hostname, its health (1 is healthy), its
     *   state (1 is primary, 2 is secondary, 0 is anything else), the amount
     *   of time it took to ping the server, and when the last ping occurred.
     *   For example, on a three-member replica set, it might look something
     *   like:
     * @since PECL mongo >=1.3.0
     **/
    public function getHosts(){}

    /**
     * Get the read preference for this connection
     *
     * @return array
     * @since PECL mongo >=1.3.0
     **/
    public function getReadPreference(){}

    /**
     * Get the write concern for this connection
     *
     * @return array
     * @since PECL mongo >=1.5.0
     **/
    public function getWriteConcern(){}

    /**
     * Kills a specific cursor on the server
     *
     * In certain situations it might be needed to kill a cursor on the
     * server. Usually cursors time out after 10 minutes of inactivity, but
     * it is possible to create an immortal cursor with MongoCursor::immortal
     * that never times out. In order to be able to kill such an immortal
     * cursor, you can call this method with the information supplied by
     * MongoCursor::info.
     *
     * @param string $server_hash The server hash that has the cursor. This
     *   can be obtained through MongoCursor::info.
     * @param int|MongoInt64 $id The ID of the cursor to kill. You can
     *   either supply an int containing the 64 bit cursor ID, or an object
     *   of the MongoInt64 class. The latter is necessary on 32 bit platforms
     *   (and Windows).
     * @return bool Returns TRUE if the method attempted to kill a cursor,
     *   and FALSE if there was something wrong with the arguments (such as a
     *   wrong {@link server_hash}). The return status does not reflect where
     *   the cursor was actually killed as the server does not provide that
     *   information.
     * @since PECL mongo >=1.5.0
     **/
    public function killCursor($server_hash, $id){}

    /**
     * Lists all of the databases available
     *
     * @return array Returns an associative array containing three fields.
     *   The first field is databases, which in turn contains an array. Each
     *   element of the array is an associative array corresponding to a
     *   database, giving th database's name, size, and if it's empty. The
     *   other two fields are totalSize (in bytes) and ok, which is 1 if this
     *   method ran successfully.
     * @since PECL mongo >=1.3.0
     **/
    public function listDBs(){}

    /**
     * Gets a database collection
     *
     * @param string $db The database name.
     * @param string $collection The collection name.
     * @return MongoCollection Returns a new collection object.
     * @since PECL mongo >=1.3.0
     **/
    public function selectCollection($db, $collection){}

    /**
     * Gets a database
     *
     * @param string $name The database name.
     * @return MongoDB Returns a new database object.
     * @since PECL mongo >=1.3.0
     **/
    public function selectDB($name){}

    /**
     * Set the read preference for this connection
     *
     * @param string $read_preference
     * @param array $tags
     * @return bool
     * @since PECL mongo >=1.3.0
     **/
    public function setReadPreference($read_preference, $tags){}

    /**
     * Set the write concern for this connection
     *
     * @param mixed $w
     * @param int $wtimeout
     * @return bool
     * @since PECL mongo >=1.5.0
     **/
    public function setWriteConcern($w, $wtimeout){}

    /**
     * Gets a database
     *
     * This is the cleanest way of getting a database. If the database name
     * has any special characters, {@link MongoClient::selectDB} will need to
     * be used; however, this should be sufficient for most cases.
     *
     * <?php
     *
     * $mongo = new MongoClient();
     *
     * // the following two lines are equivalent $db =
     * $mongo->selectDB("foo"); $db = $mongo->foo;
     *
     * ?>
     *
     * @param string $dbname The database name.
     * @return MongoDB Returns a new db object.
     * @since PECL mongo >=1.3.0
     **/
    public function __get($dbname){}

    /**
     * String representation of this connection
     *
     * @return string Returns hostname and port for this connection.
     * @since PECL mongo >=1.3.0
     **/
    public function __toString(){}

}
/**
 * Represents JavaScript code for the database. MongoCode objects are
 * composed of two parts: a string of code and an optional scope. The
 * string of code must be valid JavaScript. The scope is a associative
 * array of variable name/value pairs.
 **/
class MongoCode {
    /**
     * Creates a new code object
     *
     * @param string $code A string of code.
     * @param array $scope The scope to use for the code.
     * @since PECL mongo >= 0.8.3
     **/
    public function __construct($code, $scope){}

    /**
     * Returns this code as a string
     *
     * @return string This code, the scope is not returned.
     * @since PECL mongo >= 0.8.3
     **/
    public function __toString(){}

}
/**
 * Represents a MongoDB collection. Collection names can use any
 * character in the ASCII set. Some valid collection names are , ..., my
 * collection, and *&#@. User-defined collection names cannot contain the
 * $ symbol. There are certain system collections which use a $ in their
 * names (e.g., local.oplog.$main), but it is a reserved character. If
 * you attempt to create and use a collection with a $ in the name,
 * MongoDB will assert.
 **/
class MongoCollection extends MongoCollection {
    /**
     * @var int
     **/
    const ASCENDING = 0;

    /**
     * @var int
     **/
    const DESCENDING = 0;

    /**
     * @var MongoDB
     **/
    public $db;

    /**
     * @var integer
     **/
    public $w;

    /**
     * @var integer
     **/
    public $wtimeout;

    /**
     * Perform an aggregation using the aggregation framework
     *
     * The MongoDB aggregation framework provides a means to calculate
     * aggregated values without having to use MapReduce. While MapReduce is
     * powerful, it is often more difficult than necessary for many simple
     * aggregation tasks, such as totaling or averaging field values.
     *
     * This method accepts either a variable amount of pipeline operators, or
     * a single array of operators constituting the pipeline.
     *
     * @param array $pipeline An array of pipeline operators.
     * @param array $options Options for the aggregation command. Valid
     *   options include:
     * @return array The result of the aggregation as an array. The ok will
     *   be set to 1 on success, 0 on failure.
     * @since PECL mongo >=1.3.0
     **/
    public function aggregate($pipeline, $options){}

    /**
     * Execute an aggregation pipeline command and retrieve results through a
     * cursor
     *
     * With this method you can execute Aggregation Framework pipelines and
     * retrieve the results through a cursor, instead of getting just one
     * document back as you would with MongoCollection::aggregate. This
     * method returns a MongoCommandCursor object. This cursor object
     * implements the Iterator interface just like the MongoCursor objects
     * that are returned by the MongoCollection::find method.
     *
     * @param array $command The Aggregation Framework pipeline to execute.
     * @param array $options Options for the aggregation command. Valid
     *   options include:
     * @return MongoCommandCursor Returns a MongoCommandCursor object.
     *   Because this implements the Iterator interface you can iterate over
     *   each of the results as returned by the command query. The
     *   MongoCommandCursor also implements the MongoCursorInterface
     *   interface which adds the MongoCommandCursor::batchSize,
     *   MongoCommandCursor::dead, MongoCommandCursor::info methods.
     * @since PECL mongo >=1.5.0
     **/
    public function aggregateCursor($command, $options){}

    /**
     * Inserts multiple documents into this collection
     *
     * @param array $a An array of arrays or objects. If any objects are
     *   used, they may not have protected or private properties.
     * @param array $options An array of options for the batch of insert
     *   operations. Currently available options include: "continueOnError"
     *   Boolean, defaults to FALSE. If set, the database will not stop
     *   processing a bulk insert if one fails (eg due to duplicate IDs).
     *   This makes bulk insert behave similarly to a series of single
     *   inserts, except that calling {@link MongoDB::lastError} will have an
     *   error set if any insert fails, not just the last one. If multiple
     *   errors occur, only the most recent will be reported by {@link
     *   MongoDB::lastError}. Please note that continueOnError affects errors
     *   on the database side only. If you try to insert a document that has
     *   errors (for example it contains a key with an empty name), then the
     *   document is not even transferred to the database as the driver
     *   detects this error and bails out. continueOnError has no effect on
     *   errors detected in the documents by the driver. The following
     *   options are deprecated and should no longer be used:
     * @return mixed If the w parameter is set to acknowledge the write,
     *   returns an associative array with the status of the inserts ("ok")
     *   and any error that may have occurred ("err"). Otherwise, returns
     *   TRUE if the batch insert was successfully sent, FALSE otherwise.
     * @since PECL mongo >=0.9.0
     **/
    public function batchInsert($a, $options){}

    /**
     * Counts the number of documents in this collection
     *
     * @param array $query Associative array or object with fields to
     *   match.
     * @param array $options An array of options for the index creation.
     *   Currently available options include: hint mixed Index to use for the
     *   query. If a string is passed, it should correspond to an index name.
     *   If an array or object is passed, it should correspond to the
     *   specification used to create the index (i.e. the first argument to
     *   {@link MongoCollection::createIndex}). This option is only supported
     *   in MongoDB 2.6+. limit integer The maximum number of matching
     *   documents to return. maxTimeMS integer Specifies a cumulative time
     *   limit in milliseconds for processing the operation (does not include
     *   idle time). If the operation is not completed within the timeout
     *   period, a MongoExecutionTimeoutException will be thrown. This option
     *   is only supported in MongoDB 2.6+. skip integer The number of
     *   matching documents to skip before returning results.
     * @return int Returns the number of documents matching the query.
     * @since PECL mongo >=0.9.0
     **/
    public function count($query, $options){}

    /**
     * Creates a database reference
     *
     * @param mixed $document_or_id If an array or object is given, its _id
     *   field will be used as the reference ID. If a MongoId or scalar is
     *   given, it will be used as the reference ID.
     * @return array Returns a database reference array.
     * @since PECL mongo >=0.9.0
     **/
    public function createDBRef($document_or_id){}

    /**
     * Creates an index on the specified field(s) if it does not already
     * exist
     *
     * Creates an index on the specified field(s) if it does not already
     * exist. Fields may be indexed with a direction (e.g. ascending or
     * descending) or a special type (e.g. text, geospatial, hashed).
     *
     * @param array $keys An array specifying the index's fields as its
     *   keys. For each field, the value is either the index direction or
     *   index type. If specifying direction, specify 1 for ascending or -1
     *   for descending.
     * @param array $options An array of options for the index creation. We
     *   pass all given options straight to the server, but a non-exhaustive
     *   list of currently available options include: The following option
     *   may be used with MongoDB 2.6+: The following options may be used
     *   with MongoDB versions before 2.8: The following options may be used
     *   with MongoDB versions before 2.6: The following options are
     *   deprecated and should no longer be used:
     * @return bool Returns an array containing the status of the index
     *   creation. The array contains whether the operation succeeded ("ok"),
     *   the number of indexes before and after the operation
     *   ("numIndexesBefore" and "numIndexesAfter"), and whether the
     *   collection that the index belongs to has been created
     *   ("createdCollectionAutomatically"). If the index already existed and
     *   did not need to be created, a "note" field may be present in lieu of
     *   "numIndexesAfter".
     * @since PECL mongo >=1.5.0
     **/
    public function createIndex($keys, $options){}

    /**
     * Deletes an index from this collection
     *
     * This method is identical to:
     *
     * Each index is given a unique name when it is created. This is often
     * generated by the driver based on the index key(s) and order/type, but
     * custom names may also be specified with {@link
     * MongoCollection::createIndex}'s "name" option).
     *
     * Unfortunately, {@link MongoCollection::deleteIndex} cannot delete
     * custom-named indexes due to a backwards compatibility issue. When a
     * string argument is provided, it is assumed to be the single field name
     * in an ascending index (e.g. the name "x_1" would be used for the
     * argument "x"). If an array or object is provided, an index name is
     * generated just as if that argument was passed to {@link
     * MongoCollection::createIndex}.
     *
     * In order to delete a custom-named index with the PHP driver, the
     * deleteIndexes database command must be used. For instance, an index
     * named "myIndex" could be deleted with the PHP driver by running:
     *
     * To determine the name of an index with the PHP driver, you can query
     * the system.indexes collection of a database and look for the "name"
     * field of each result. The "ns" field will indicate the collection to
     * which each index belongs.
     *
     * @param string|array $keys An array specifying the index's fields as
     *   its keys. For each field, the value is either the index direction or
     *   index type. If specifying direction, specify 1 for ascending or -1
     *   for descending. If a string is provided, it is assumed to be the
     *   single field name in an ascending index.
     * @return array Returns the database response.
     * @since PECL mongo >=0.9.0
     **/
    public function deleteIndex($keys){}

    /**
     * Delete all indices for this collection
     *
     * @return array Returns the database response.
     * @since PECL mongo >=0.9.0
     **/
    public function deleteIndexes(){}

    /**
     * Retrieve a list of distinct values for the given key across a
     * collection
     *
     * The distinct command returns a list of distinct values for the given
     * key across a collection.
     *
     * @param string $key The key to use.
     * @param array $query An optional query parameters
     * @return array Returns an array of distinct values,
     * @since PECL mongo >=1.2.11
     **/
    public function distinct($key, $query){}

    /**
     * Drops this collection
     *
     * Drops this collection and deletes its indices.
     *
     * @return array Returns the database response.
     * @since PECL mongo >=0.9.0
     **/
    public function drop(){}

    /**
     * Creates an index on the specified field(s) if it does not already
     * exist
     *
     * Creates an index on the specified field(s) if it does not already
     * exist. Fields may be indexed with a direction (e.g. ascending or
     * descending) or a special type (e.g. text, geospatial, hashed).
     *
     * @param string|array $key An array specifying the index's fields as
     *   its keys. For each field, the value is either the index direction or
     *   index type. If specifying direction, specify 1 for ascending or -1
     *   for descending.
     * @param array $options An array of options for the index creation.
     *   Currently available options include: The following option may be
     *   used with MongoDB 2.6+: The following options may be used with
     *   MongoDB versions before 2.8: The following options may be used with
     *   MongoDB versions before 2.6: The following options are deprecated
     *   and should no longer be used:
     * @return bool Returns an array containing the status of the index
     *   creation. The array contains whether the operation succeeded ("ok"),
     *   the number of indexes before and after the operation
     *   ("numIndexesBefore" and "numIndexesAfter"), and whether the
     *   collection that the index belongs to has been created
     *   ("createdCollectionAutomatically"). If the index already existed and
     *   did not need to be created, a "note" field may be present in lieu of
     *   "numIndexesAfter".
     * @since PECL mongo >=0.9.0
     **/
    public function ensureIndex($key, $options){}

    /**
     * Queries this collection, returning a for the result set
     *
     * @param array $query The fields for which to search. MongoDB's query
     *   language is quite extensive. The PHP driver will in almost all cases
     *   pass the query straight through to the server, so reading the
     *   MongoDB core docs on find is a good idea.
     * @param array $fields Fields of the results to return. The array is
     *   in the format array('fieldname' => true, 'fieldname2' => true). The
     *   _id field is always returned.
     * @return MongoCursor Returns a cursor for the search results.
     * @since PECL mongo >=0.9.0
     **/
    public function find($query, $fields){}

    /**
     * Update a document and return it
     *
     * The findAndModify command atomically modifies and returns a single
     * document. By default, the returned document does not include the
     * modifications made on the update. To return the document with the
     * modifications made on the update, use the new option.
     *
     * @param array $query The query criteria to search for.
     * @param array $update The update criteria.
     * @param array $fields Optionally only return these fields.
     * @param array $options An array of options to apply, such as remove
     *   the match document from the DB and return it. Option sort array
     *   Determines which document the operation will modify if the query
     *   selects multiple documents. findAndModify will modify the first
     *   document in the sort order specified by this argument. remove
     *   boolean Optional if update field exists. When TRUE, removes the
     *   selected document. The default is FALSE. update array Optional if
     *   remove field exists. Performs an update of the selected document.
     *   new boolean Optional. When TRUE, returns the modified document
     *   rather than the original. The findAndModify method ignores the new
     *   option for remove operations. The default is FALSE. upsert boolean
     *   Optional. Used in conjunction with the update field. When TRUE, the
     *   findAndModify command creates a new document if the query returns no
     *   documents. The default is false. In MongoDB 2.2, the findAndModify
     *   command returns NULL when upsert is TRUE.
     * @return array Returns the original document, or the modified
     *   document when new is set.
     * @since PECL mongo >=1.3.0
     **/
    public function findAndModify($query, $update, $fields, $options){}

    /**
     * Queries this collection, returning a single element
     *
     * As opposed to {@link MongoCollection::find}, this method will return
     * only the first result from the result set, and not a MongoCursor that
     * can be iterated over.
     *
     * @param array $query The fields for which to search. MongoDB's query
     *   language is quite extensive. The PHP driver will in almost all cases
     *   pass the query straight through to the server, so reading the
     *   MongoDB core docs on find is a good idea.
     * @param array $fields Fields of the results to return. The array is
     *   in the format array('fieldname' => true, 'fieldname2' => true). The
     *   _id field is always returned.
     * @param array $options This parameter is an associative array of the
     *   form array("name" => <value>, ...). Currently supported options are:
     * @return array Returns record matching the search or NULL.
     * @since PECL mongo >=0.9.0
     **/
    public function findOne($query, $fields, $options){}

    /**
     * Fetches the document pointed to by a database reference
     *
     * @param array $ref A database reference.
     * @return array Returns the database document pointed to by the
     *   reference.
     * @since PECL mongo >=0.9.0
     **/
    public function getDBRef($ref){}

    /**
     * Returns information about indexes on this collection
     *
     * @return array This function returns an array in which each element
     *   describes an index. Elements will contain the values name for the
     *   name of the index, ns for the namespace (a combination of the
     *   database and collection name), and key for a list of all fields in
     *   the index and their ordering. Additional values may be present for
     *   special indexes, such as unique or sparse.
     * @since PECL mongo >=0.9.0
     **/
    public function getIndexInfo(){}

    /**
     * Returns this collections name
     *
     * @return string Returns the name of this collection.
     * @since PECL mongo >=0.9.0
     **/
    public function getName(){}

    /**
     * Get the read preference for this collection
     *
     * @return array
     * @since PECL mongo >=1.3.0
     **/
    public function getReadPreference(){}

    /**
     * Get slaveOkay setting for this collection
     *
     * See the query section of this manual for information on distributing
     * reads to secondaries.
     *
     * @return bool Returns the value of slaveOkay for this instance.
     * @since PECL mongo >=1.1.0
     **/
    public function getSlaveOkay(){}

    /**
     * Get the write concern for this collection
     *
     * @return array
     * @since PECL mongo >=1.5.0
     **/
    public function getWriteConcern(){}

    /**
     * Performs an operation similar to SQL's GROUP BY command
     *
     * @param mixed $keys Fields to group by. If an array or non-code
     *   object is passed, it will be the key used to group results. 1.0.4+:
     *   If {@link keys} is an instance of MongoCode, {@link keys} will be
     *   treated as a function that returns the key to group by (see the
     *   "Passing a {@link keys} function" example below).
     * @param array $initial Initial value of the aggregation counter
     *   object.
     * @param MongoCode $reduce A function that takes two arguments (the
     *   current document and the aggregation to this point) and does the
     *   aggregation.
     * @param array $options Optional parameters to the group command.
     *   Valid options include:
     * @return array Returns an array containing the result.
     * @since PECL mongo >=0.9.2
     **/
    public function group($keys, $initial, $reduce, $options){}

    /**
     * Inserts a document into the collection
     *
     * All strings sent to the database must be UTF-8. If a string is not
     * UTF-8, a MongoException will be thrown. To insert (or query for) a
     * non-UTF-8 string, use MongoBinData.
     *
     * @param array|object $document An array or object. If an object is
     *   used, it may not have protected or private properties.
     * @param array $options An array of options for the insert operation.
     *   Currently available options include: The following options are
     *   deprecated and should no longer be used:
     * @return bool|array Returns an array containing the status of the
     *   insertion if the "w" option is set. Otherwise, returns TRUE if the
     *   inserted array is not empty (a MongoException will be thrown if the
     *   inserted array is empty).
     * @since PECL mongo >=0.9.0
     **/
    public function insert($document, $options){}

    /**
     * Returns an array of cursors to iterator over a full collection in
     * parallel
     *
     * This method returns an array of a maximum of num_cursors cursors. An
     * iteration over one of the returned cursors results in a partial set of
     * documents for a collection. Iteration over all the returned cursors
     * results in getting every document back from the collection.
     *
     * This method is a wrapper for the parallelCollectionScan MongoDB
     * command.
     *
     * @param int $num_cursors The number of cursors to request from the
     *   server. Please note, that the server can return less cursors than
     *   you requested.
     * @return array[MongoCommandCursor] Returns an array of
     *   MongoCommandCursor objects.
     * @since PECL mongo >=1.5.0
     **/
    public function parallelCollectionScan($num_cursors){}

    /**
     * Remove records from this collection
     *
     * @param array $criteria Query criteria for the documents to delete.
     * @param array $options An array of options for the remove operation.
     *   Currently available options include: "justOne" Specify TRUE to limit
     *   deletion to just one document. If FALSE or omitted, all documents
     *   matching the criteria will be deleted. The following options are
     *   deprecated and should no longer be used:
     * @return bool|array Returns an array containing the status of the
     *   removal if the "w" option is set. Otherwise, returns TRUE.
     * @since PECL mongo >=0.9.0
     **/
    public function remove($criteria, $options){}

    /**
     * Saves a document to this collection
     *
     * If the object is from the database, update the existing database
     * object, otherwise insert this object.
     *
     * @param array|object $document Array or object to save. If an object
     *   is used, it may not have protected or private properties.
     * @param array $options Options for the save.
     * @return mixed If {@link w} was set, returns an array containing the
     *   status of the save. Otherwise, returns a boolean representing if the
     *   array was not empty (an empty array will not be inserted).
     * @since PECL mongo >=0.9.0
     **/
    public function save($document, $options){}

    /**
     * Set the read preference for this collection
     *
     * @param string $read_preference
     * @param array $tags
     * @return bool
     * @since PECL mongo >=1.3.0
     **/
    public function setReadPreference($read_preference, $tags){}

    /**
     * Change slaveOkay setting for this collection
     *
     * See the query section of this manual for information on distributing
     * reads to secondaries.
     *
     * @param bool $ok If reads should be sent to secondary members of a
     *   replica set for all possible queries using this MongoCollection
     *   instance.
     * @return bool Returns the former value of slaveOkay for this
     *   instance.
     * @since PECL mongo >=1.1.0
     **/
    public function setSlaveOkay($ok){}

    /**
     * Set the write concern for this database
     *
     * @param mixed $w
     * @param int $wtimeout
     * @return bool
     * @since PECL mongo >=1.5.0
     **/
    public function setWriteConcern($w, $wtimeout){}

    /**
     * Converts keys specifying an index to its identifying string
     *
     * @param mixed $keys Field or fields to convert to the identifying
     *   string
     * @return string Returns a string that describes the index.
     * @since PECL mongo >=0.9.0
     **/
    static protected function toIndexString($keys){}

    /**
     * Update records based on a given criteria
     *
     * @param array $criteria Query criteria for the documents to update.
     * @param array $new_object The object used to update the matched
     *   documents. This may either contain update operators (for modifying
     *   specific fields) or be a replacement document.
     * @param array $options An array of options for the update operation.
     *   Currently available options include: "upsert" If no document matches
     *   {@link $criteria}, a new document will be inserted. If a new
     *   document would be inserted and {@link $new_object} contains atomic
     *   modifiers (i.e. $ operators), those operations will be applied to
     *   the {@link $criteria} parameter to create the new document. If
     *   {@link $new_object} does not contain atomic modifiers, it will be
     *   used as-is for the inserted document. See the upsert examples below
     *   for more information. "multiple" All documents matching $criteria
     *   will be updated. {@link MongoCollection::update} has exactly the
     *   opposite behavior of {@link MongoCollection::remove}: it updates one
     *   document by default, not all matching documents. It is recommended
     *   that you always specify whether you want to update multiple
     *   documents or a single document, as the database may change its
     *   default behavior at some point in the future. The following options
     *   are deprecated and should no longer be used:
     * @return bool|array Returns an array containing the status of the
     *   update if the "w" option is set. Otherwise, returns TRUE.
     * @since PECL mongo >=0.9.0
     **/
    public function update($criteria, $new_object, $options){}

    /**
     * Validates this collection
     *
     * @param bool $scan_data Only validate indices, not the base
     *   collection.
     * @return array Returns the databases evaluation of this object.
     * @since PECL mongo >=0.9.0
     **/
    public function validate($scan_data){}

    /**
     * Creates a new collection
     *
     * @param MongoDB $db Parent database.
     * @param string $name Name for this collection.
     * @since PECL mongo >=0.9.0
     **/
    public function __construct($db, $name){}

    /**
     * Gets a collection
     *
     * A concise syntax for getting a collection with a dot-separated name.
     * If a collection name contains strange characters, you may have to use
     * {@link MongoDB::selectCollection} instead.
     *
     * <?php
     *
     * $mongo = new MongoClient();
     *
     * // the following two lines are equivalent $collection =
     * $mongo->selectDB("foo")->selectCollection("bar.baz"); $collection =
     * $mongo->foo->bar->baz;
     *
     * ?>
     *
     * @param string $name The next string in the collection name.
     * @return MongoCollection Returns the collection.
     * @since PECL mongo >=1.0.2
     **/
    public function __get($name){}

    /**
     * String representation of this collection
     *
     * @return string Returns the full name of this collection.
     * @since PECL mongo >=0.9.0
     **/
    public function __toString(){}

}
/**
 * A command cursor is similar to a MongoCursor except that you use it
 * for iterating through the results of a database command instead of a
 * normal query. Command cursors are useful for iterating over large
 * result sets that might exceed the document size limit (currently 16MB)
 * of a single {@link MongoDB::command} response. While you can create
 * command cursors using {@link MongoCommandCursor::__construct} or the
 * {@link MongoCommandCursor::createFromDocument} factory method, you
 * will generally want to use command-specific helpers such as {@link
 * MongoCollection::aggregateCursor}. Note that the cursor does not
 * "contain" the database command's results; it just manages iteration
 * through them. Thus, if you print a cursor (f.e. with {@link var_dump}
 * or {@link print_r}), you will see the cursor object but not the result
 * documents.
 **/
class MongoCommandCursor implements MongoCursorInterface, Iterator {
    /**
     * Limits the number of elements returned in one batch
     *
     * A cursor typically fetches a batch of result objects and store them
     * locally. This method sets the batchSize value to configure the amount
     * of documents retrieved from the server in one round trip.
     *
     * @param int $batchSize The number of results to return per batch.
     *   Each batch requires a round-trip to the server. This cannot override
     *   MongoDB's limit on the amount of data it will return to the client
     *   (i.e., if you set batch size to 1,000,000,000, MongoDB will still
     *   only return 4-16MB of results per batch).
     * @return MongoCommandCursor Returns this cursor.
     * @since PECL mongo >=1.5.0
     **/
    public function batchSize($batchSize){}

    /**
     * Create a new command cursor from an existing command response document
     *
     * Use this method if you have a raw command result with cursor
     * information in it. Note that cursors created with this method cannot
     * be iterated multiple times, as they will lack the original command
     * necessary for re-execution.
     *
     * @param MongoClient $connection Database connection.
     * @param string $hash The connection hash, as obtained through the
     *   third by-reference argument to MongoDB::command.
     * @param array $document Document with cursor information in it. This
     *   document needs to contain the id, ns and firstBatch fields. Such a
     *   document is obtained by calling the MongoDB::command with
     *   appropriate arguments to return a cursor, and not just an inline
     *   result. See the example below.
     * @return MongoCommandCursor Returns the new cursor.
     * @since PECL mongo >=1.5.0
     **/
    public static function createFromDocument($connection, $hash, $document){}

    /**
     * Returns the current element
     *
     * This returns NULL until {@link MongoCommandCursor::rewind} is called.
     *
     * @return array The current result document as an associative array.
     *   NULL will be returned if there is no result.
     * @since PECL mongo >=1.5.0
     **/
    public function current(){}

    /**
     * Checks if there are results that have not yet been sent from the
     * database
     *
     * This method checks whether the MongoCommandCursor cursor has been
     * exhausted and the database has no more results to send to the client.
     * A cursor being "dead" does not necessarily mean that there are no more
     * results available for iteration.
     *
     * @return bool Returns TRUE if there are more results that have not
     *   yet been sent to the client, and FALSE otherwise.
     * @since PECL mongo >=1.5.0
     **/
    public function dead(){}

    /**
     * Get the read preference for this command
     *
     * @return array
     * @since PECL mongo >=1.6.0
     **/
    public function getReadPreference(){}

    /**
     * Gets information about the cursor's creation and iteration
     *
     * This can be called before or after the cursor has started iterating.
     *
     * @return array Returns the namespace, batch size, limit, skip, flags,
     *   query, and projected fields for this cursor. If the cursor has
     *   started iterating, additional information about iteration and the
     *   connection will be included.
     * @since PECL mongo >=1.5.0
     **/
    public function info(){}

    /**
     * Returns the current results index within the result set
     *
     * @return int The current results index within the result set.
     * @since PECL mongo >=1.5.0
     **/
    public function key(){}

    /**
     * Advances the cursor to the next result
     *
     * @return void NULL.
     * @since PECL mongo >=1.5.0
     **/
    public function next(){}

    /**
     * Executes the command and resets the cursor to the start of the result
     * set
     *
     * If the cursor has already started iteration, the command will be
     * re-executed.
     *
     * @return array The raw server result document.
     * @since PECL mongo >=1.5.0
     **/
    public function rewind(){}

    /**
     * Set the read preference for this command
     *
     * @param string $read_preference
     * @param array $tags
     * @return MongoCommandCursor Returns this cursor.
     * @since PECL mongo >=1.6.0
     **/
    public function setReadPreference($read_preference, $tags){}

    /**
     * Sets a client-side timeout for this command
     *
     * A timeout can be set at any time and will affect subsequent data
     * retrieval associated with this cursor, including fetching more results
     * from the database.
     *
     * @param int $ms The number of milliseconds for the cursor to wait for
     *   a response. Use -1 to wait forever. By default, the cursor will wait
     *   30000 milliseconds (30 seconds).
     * @return MongoCommandCursor This cursor.
     * @since PECL mongo >=1.6.0
     **/
    public function timeout($ms){}

    /**
     * Checks if the cursor is reading a valid result
     *
     * @return bool TRUE if the current result is not null, and FALSE
     *   otherwise.
     * @since PECL mongo >=1.5.0
     **/
    public function valid(){}

    /**
     * Create a new command cursor
     *
     * Generally, you should not have to construct a MongoCommandCursor
     * manually, as there are helper functions such as
     * MongoCollection::aggregateCursor and
     * MongoCollection::parallelCollectionScan; however, if the server
     * introduces new commands that can return cursors, this constructor will
     * be useful in the absence of specific helper methods. You may also
     * consider using MongoCommandCursor::createFromDocument.
     *
     * @param MongoClient $connection Database connection.
     * @param string $ns Full name of the database and collection (e.g.
     *   "test.foo")
     * @param array $command Database command.
     * @since PECL mongo >=1.5.0
     **/
    public function __construct($connection, $ns, $command){}

}
/**
 * Thrown when the driver fails to connect to the database. There are a
 * number of possible error messages to help you diagnose the connection
 * problem. These are: If the error message is not listed above, it is
 * probably an error from the C socket, and you can search the web for
 * its usual cause.
 **/
class MongoConnectionException extends MongoException {
}
/**
 * A cursor is used to iterate through the results of a database query.
 * For example, to query the database and see all results, you could do:
 * MongoCursor basic usage
 *
 * You don't generally create cursors using the MongoCursor constructor,
 * you get a new cursor by calling {@link MongoCollection::find} (as
 * shown above). Suppose that, in the example above, $collection was a
 * 50GB collection. We certainly wouldn't want to load that into memory
 * all at once, which is what a cursor is for: allowing the client to
 * access the collection in dribs and drabs. If we have a large result
 * set, we can iterate through it, loading a few megabytes of results
 * into memory at a time. For example, we could do: Iterating over
 * MongoCursor
 *
 * This will go through each document in the collection, loading and
 * garbage collecting documents as needed. Note that this means that a
 * cursor does not "contain" the database results, it just manages them.
 * Thus, if you print a cursor (with, say, {@link var_dump} or {@link
 * print_r}), you'll just get the cursor object, not your documents. To
 * get the documents themselves, you can use one of the methods shown
 * above.
 **/
class MongoCursor extends MongoCursor implements MongoCursorInterface, Iterator {
    /**
     * Adds a top-level key/value pair to a query
     *
     * This is an advanced function and should not be used unless you know
     * what you're doing.
     *
     * A query can optionally be nested in a "query" field if other options,
     * such as a sort or hint, are given. For instance, adding a sort causes
     * the query to become a subfield of a bigger query object, like:
     *
     * <?php
     *
     * $query = array("query" => $query, "orderby" => $sort);
     *
     * ?>
     *
     * This method is for adding a top-level field to a query. It makes the
     * query a subobject (if it isn't already) and adds the key/value pair of
     * your chosing to the top level.
     *
     * @param string $key Fieldname to add.
     * @param mixed $value Value to add.
     * @return MongoCursor Returns this cursor.
     * @since PECL mongo >=1.0.4
     **/
    public function addOption($key, $value){}

    /**
     * Sets whether this cursor will wait for a while for a tailable cursor
     * to return more data
     *
     * This method is to be used with tailable cursors. If we are at the end
     * of the data, block for a while rather than returning no data. After a
     * timeout period, we do return as normal.
     *
     * @param bool $wait If the cursor should wait for more data to become
     *   available.
     * @return MongoCursor Returns this cursor.
     * @since PECL mongo >=1.2.11
     **/
    public function awaitData($wait){}

    /**
     * Limits the number of elements returned in one batch
     *
     * A cursor typically fetches a batch of result objects and store them
     * locally. This method sets the batchSize value to configure the amount
     * of documents retrieved from the server in one round trip. However, it
     * will never return more documents than fit in the max batch size limit
     * (usually 4MB).
     *
     * @param int $batchSize The number of results to return per batch.
     *   Each batch requires a round-trip to the server. If {@link batchSize}
     *   is 2 or more, it represents the size of each batch of objects
     *   retrieved. It can be adjusted to optimize performance and limit data
     *   transfer. If {@link batchSize} is 1 or negative, it will limit of
     *   number returned documents to the absolute value of batchSize, and
     *   the cursor will be closed. For example if batchSize is -10, then the
     *   server will return a maximum of 10 documents and as many as can fit
     *   in 4MB, then close the cursor. Note that this feature is different
     *   from {@link MongoCursor::limit} in that documents must fit within a
     *   maximum size, and it removes the need to send a request to close the
     *   cursor server-side. The batch size can be changed even after a
     *   cursor is iterated, in which case the setting will apply on the next
     *   batch retrieval. This cannot override MongoDB's limit on the amount
     *   of data it will return to the client (i.e., if you set batch size to
     *   1,000,000,000, MongoDB will still only return 4-16MB of results per
     *   batch). To ensure consistent behavior, the rules of {@link
     *   MongoCursor::batchSize} and {@link MongoCursor::limit} behave a
     *   little complex but work "as expected". The rules are: hard limits
     *   override soft limits with preference given to {@link
     *   MongoCursor::limit} over {@link MongoCursor::batchSize}. After that,
     *   whichever is set and lower than the other will take precedence. See
     *   below. section for some examples.
     * @return MongoCursor Returns this cursor.
     * @since PECL mongo >=1.0.11
     **/
    public function batchSize($batchSize){}

    /**
     * Counts the number of results for this query
     *
     * This method does not affect the state of the cursor: if you haven't
     * queried yet, you can still apply limits, skips, etc. If you have
     * started iterating through results, it will not move the current
     * position of the cursor. If you have exhausted the cursor, it will not
     * reset it.
     *
     * @param bool $foundOnly Send cursor limit and skip information to the
     *   count function, if applicable.
     * @return int The number of documents returned by this cursor's query.
     * @since PECL mongo >=0.9.2
     **/
    public function count($foundOnly){}

    /**
     * Returns the current element
     *
     * This returns NULL until {@link MongoCursor::next} is called.
     *
     * @return array The current result document as an associative array.
     *   NULL will be returned if there is no result.
     * @since PECL mongo >=0.9.0
     **/
    public function current(){}

    /**
     * Checks if there are results that have not yet been sent from the
     * database
     *
     * The database sends responses in batches of documents, up to 4MB of
     * documents per response. This method checks if the database has more
     * batches or if the result set has been exhausted.
     *
     * A cursor being "dead" does not mean that {@link MongoCursor::hasNext}
     * will return FALSE, it only means that the database is done sending
     * results to the client. The client should continue iterating through
     * results until {@link MongoCursor::hasNext} is FALSE.
     *
     * @return bool Returns TRUE if there are more results that have not
     *   yet been sent to the client, and FALSE otherwise.
     * @since PECL mongo >=0.9.6
     **/
    public function dead(){}

    /**
     * Execute the query
     *
     * This function actually queries the database. All queries and commands
     * go through this function. Thus, this function can be overridden to
     * provide custom query handling.
     *
     * This handles serializing your query, sending it to the database,
     * receiving a response, and deserializing it. Thus, if you are planning
     * to override this, your code should probably call out to the original
     * to use the existing functionality (see the example below).
     *
     * @return void NULL.
     * @since PECL mongo >=0.9.0
     **/
    protected function doQuery(){}

    /**
     * Return an explanation of the query, often useful for optimization and
     * debugging
     *
     * @return array Returns an explanation of the query.
     * @since PECL mongo >=0.9.2
     **/
    public function explain(){}

    /**
     * Sets the fields for a query
     *
     * Fields are specified by "fieldname" : bool. TRUE indicates that a
     * field should be returned, FALSE indicates that it should not be
     * returned. You can also use 1 and 0 instead of TRUE and FALSE.
     *
     * Thus, to return only the "summary" field, one could say:
     *
     * To return all fields except the "hidden" field:
     *
     * @param array $f Fields to return (or not return).
     * @return MongoCursor Returns this cursor.
     * @since PECL mongo >=1.0.6
     **/
    public function fields($f){}

    /**
     * Advances the cursor to the next result, and returns that result
     *
     * @return array
     * @since PECL mongo >=0.9.0
     **/
    public function getNext(){}

    /**
     * Get the read preference for this query
     *
     * @return array
     * @since PECL mongo >=1.3.3
     **/
    public function getReadPreference(){}

    /**
     * Checks if there are any more elements in this cursor
     *
     * @return bool Returns if there is another element.
     * @since PECL mongo >=0.9.0
     **/
    public function hasNext(){}

    /**
     * Gives the database a hint about the query
     *
     * @param mixed $index Index to use for the query. If a string is
     *   passed, it should correspond to an index name. If an array or object
     *   is passed, it should correspond to the specification used to create
     *   the index (i.e. the first argument to {@link
     *   MongoCollection::ensureIndex}).
     * @return MongoCursor Returns this cursor.
     * @since PECL mongo >=0.9.0
     **/
    public function hint($index){}

    /**
     * Sets whether this cursor will timeout
     *
     * After remaining idle on the server for some amount of time, cursors,
     * by default, "die." This is generally the behavior one wants. The
     * database cleans up a cursor once all of its results have been sent to
     * the client, but if the client doesn't request all of the results, the
     * cursor will languish there, taking up resources. Thus, after a few
     * minutes, the cursor "times out" and the database assumes the client
     * has gotten everything it needs and cleans up its the cursor's
     * resources.
     *
     * If, for some reason, you need a cursor to hang around for a long time,
     * you can prevent the database from cleaning it up by using this method.
     * However, if you make a cursor immortal, you need to iterate through
     * all of its results (or at least until MongoCursor::dead returns TRUE)
     * or the cursor will hang around the database forever, taking up
     * resources.
     *
     * @param bool $liveForever If the cursor should be immortal.
     * @return MongoCursor Returns this cursor.
     * @since PECL mongo >=1.0.1
     **/
    public function immortal($liveForever){}

    /**
     * Gets information about the cursor's creation and iteration
     *
     * This can be called before or after the cursor has started iterating.
     *
     * @return array Returns the namespace, batch size, limit, skip, flags,
     *   query, and projected fields for this cursor. If the cursor has
     *   started iterating, additional information about iteration and the
     *   connection will be included.
     * @since PECL mongo >=1.0.5
     **/
    public function info(){}

    /**
     * Returns the current results _id, or its index within the result set
     *
     * @return string|int The current results _id as a string. If the
     *   result has no _id, its numeric index within the result set will be
     *   returned as an integer.
     * @since PECL mongo >=0.9.0
     **/
    public function key(){}

    /**
     * Limits the number of results returned
     *
     * @param int $num The number of results to return.
     * @return MongoCursor Returns this cursor.
     * @since PECL mongo >=0.9.0
     **/
    public function limit($num){}

    /**
     * Sets a server-side timeout for this query
     *
     * Specifies a cumulative time limit in milliseconds to be allowed by the
     * server for processing operations on the cursor.
     *
     * @param int $ms Specifies a cumulative time limit in milliseconds to
     *   be allowed by the server for processing operations on the cursor.
     * @return MongoCursor This cursor.
     * @since PECL mongo >=1.5.0
     **/
    public function maxTimeMS($ms){}

    /**
     * Advances the cursor to the next result, and returns that result
     *
     * @return array Returns the next document.
     * @since PECL mongo >=0.9.0
     **/
    public function next(){}

    /**
     * If this query should fetch partial results from if a shard is down
     *
     * This option allows mongos to send partial query results if a shard is
     * unreachable. This is only applicable when running a sharded MongoDB
     * cluster and connecting to a mongos.
     *
     * If a shard goes down and a query needs to be sent to that shard,
     * mongos will return the results (if any) from shards it already
     * contacted, then an error message that it could not reach the shard (a
     * MongoCursorException in PHP). If you would like to get whatever
     * results mongos can provide and no exception, you can use this method.
     * Note that this means that you won't have an indication that a shard is
     * down in your query response.
     *
     * This has no effect on the query if all shards are reachable. This flag
     * was implemented in MongoDB version 1.7.5, so will only work with that
     * version and higher.
     *
     * @param bool $okay If receiving partial results is okay.
     * @return MongoCursor Returns this cursor.
     * @since PECL mongo >=1.2.0
     **/
    public function partial($okay){}

    /**
     * Clears the cursor
     *
     * @return void NULL.
     * @since PECL mongo >=0.9.0
     **/
    public function reset(){}

    /**
     * Returns the cursor to the beginning of the result set
     *
     * This is identical to the function:
     *
     * @return void NULL.
     * @since PECL mongo >=0.9.0
     **/
    public function rewind(){}

    /**
     * Sets arbitrary flags in case there is no method available the specific
     * flag
     *
     * The MongoCursor class has several methods for setting flags on the
     * query object. This method is available in case the MongoDB wire
     * protocol has acquired a new flag, and the driver has not been updated
     * with a method for this new flag. In all other cases, the method should
     * be used. See the "See also" section for available methods.
     *
     * @param int $flag Which flag to set. You can not set flag 6 (EXHAUST)
     *   as the driver does not know how to handle them. You will get a
     *   warning if you try to use this flag. For available flags, please
     *   refer to the wire protocol documentation.
     * @param bool $set Whether the flag should be set (TRUE) or unset
     *   (FALSE).
     * @return MongoCursor Returns this cursor.
     * @since PECL mongo >=1.2.11
     **/
    public function setFlag($flag, $set){}

    /**
     * Set the read preference for this query
     *
     * @param string $read_preference
     * @param array $tags
     * @return MongoCursor Returns this cursor.
     * @since PECL mongo >=1.3.3
     **/
    public function setReadPreference($read_preference, $tags){}

    /**
     * Skips a number of results
     *
     * @param int $num The number of results to skip.
     * @return MongoCursor Returns this cursor.
     * @since PECL mongo >=0.9.0
     **/
    public function skip($num){}

    /**
     * Sets whether this query can be done on a secondary [deprecated]
     *
     * Calling this will make the driver route reads to secondaries if: You
     * are using a replica set, and You created a MongoClient instance using
     * the option "replicaSet" => "setName", and There is a healthy secondary
     * that can be reached by the driver. You can check which server was used
     * for this query by calling {@link MongoCursor::info} after running the
     * query. It's server field will show which server the query was sent to.
     *
     * Note that you should use this function even if you do not use the
     * automatic routing to secondaries. If you connect directly to a
     * secondary in a replica set, you still need to call this function,
     * which basically tells the database that you are aware that you might
     * be getting older data and you're okay with that. If you do not call
     * this, you'll get "not master" errors when you try to query.
     *
     * This method will override the static class variable
     * MongoCursor::$slaveOkay. It will also override {@link
     * Mongo::setSlaveOkay}, {@link MongoDB::setSlaveOkay} and {@link
     * MongoCollection::setSlaveOkay}.
     *
     * @param bool $okay If it is okay to query the secondary.
     * @return MongoCursor Returns this cursor.
     * @since PECL mongo >=0.9.4
     **/
    public function slaveOkay($okay){}

    /**
     * Use snapshot mode for the query
     *
     * Use snapshot mode for the query. Snapshot mode ensures that a document
     * will not be returned more than once because an intervening write
     * operation results in a move of the document. Documents inserted or
     * deleted during the lifetime of the cursor may or may not be returned,
     * irrespective of snapshot mode.
     *
     * Queries with short responses (less than 1MB) are always effectively
     * snapshotted.
     *
     * Snapshot mode may not be used with sorting, explicit hints, or queries
     * on sharded collections.
     *
     * @return MongoCursor Returns this cursor.
     * @since PECL mongo >=0.9.4
     **/
    public function snapshot(){}

    /**
     * Sorts the results by given fields
     *
     * @param array $fields An array of fields by which to sort. Each
     *   element in the array has as key the field name, and as value either
     *   1 for ascending sort, or -1 for descending sort. Each result is
     *   first sorted on the first field in the array, then (if it exists) on
     *   the second field in the array, etc. This means that the order of the
     *   fields in the {@link fields} array is important. See also the
     *   examples section.
     * @return MongoCursor Returns the same cursor that this method was
     *   called on.
     * @since PECL mongo >=0.9.0
     **/
    public function sort($fields){}

    /**
     * Sets whether this cursor will be left open after fetching the last
     * results
     *
     * Mongo has a feature known as tailable cursors which are similar to the
     * Unix "tail -f" command.
     *
     * Tailable means cursor is not closed when the last data is retrieved.
     * Rather, the cursor marks the final object's position. you can resume
     * using the cursor later, from where it was located, if more data were
     * received.
     *
     * Like any "latent cursor", the cursor may become invalid at some point
     * -- for example if that final object it references were deleted. Thus,
     * you should be prepared to requery if the cursor is {@link
     * MongoCursor::dead}.
     *
     * @param bool $tail If the cursor should be tailable.
     * @return MongoCursor Returns this cursor.
     * @since PECL mongo >=0.9.4
     **/
    public function tailable($tail){}

    /**
     * Sets a client-side timeout for this query
     *
     * A timeout can be set at any time and will affect subsequent queries on
     * the cursor, including fetching more results from the database.
     *
     * @param int $ms The number of milliseconds for the cursor to wait for
     *   a response. Use -1 to wait forever. By default, the cursor will wait
     *   30000 milliseconds (30 seconds).
     * @return MongoCursor This cursor.
     * @since PECL mongo >=1.0.3
     **/
    public function timeout($ms){}

    /**
     * Checks if the cursor is reading a valid result
     *
     * @return bool TRUE if the current result is not null, and FALSE
     *   otherwise.
     * @since PECL mongo >=0.9.0
     **/
    public function valid(){}

    /**
     * Create a new cursor
     *
     * @param MongoClient $connection Database connection.
     * @param string $ns Full name of database and collection.
     * @param array $query Database query.
     * @param array $fields Fields to return.
     * @since PECL mongo >=0.9.0
     **/
    public function __construct($connection, $ns, $query, $fields){}

}
/**
 * Caused by accessing a cursor incorrectly or a error receiving a reply.
 * Note that this can be thrown by any database request that receives a
 * reply, not just queries. Writes, commands, and any other operation
 * that sends information to the database and waits for a response can
 * throw a MongoCursorException. The only exception is new MongoClient()
 * (creating a new connection), which will only throw
 * MongoConnectionExceptions. This returns a specific error message to
 * help diagnose the problem and a numeric error code associated with the
 * cause of the exception. For example, suppose you tried to insert two
 * documents with the same _id:
 *
 * This would produce output like:
 *
 * error message: E11000 duplicate key error index: foo.bar.$_id_ dup
 * key: { : 1 } error code: 11000
 *
 * Note that the MongoDB error code (11000) is used for the PHP error
 * code. The PHP driver uses the "native" error code wherever possible.
 * The following is a list of common errors, codes, and causes. Exact
 * errors are in italics, errors where the message can vary are described
 * in obliques.
 **/
class MongoCursorException extends MongoException {
    /**
     * The hostname of the server that encountered the error
     *
     * Returns the hostname of the server the query was sent too.
     *
     * @return string Returns the hostname, or NULL if the hostname is
     *   unknown.
     **/
    public function getHost(){}

}
/**
 * Interface for cursors, which can be used to iterate through results of
 * a database query or command. This interface is implemented by the
 * MongoCursor and MongoCommandCursor classes.
 **/
interface MongoCursorInterface extends Iterator {
    /**
     * Limits the number of elements returned in one batch
     *
     * A cursor typically fetches a batch of result objects and stores them
     * locally. This method sets the batch size value to configure the amount
     * of documents retrieved from the server in one round trip.
     *
     * @param int $batchSize The number of results to return per batch.
     * @return MongoCursorInterface Returns this cursor.
     * @since PECL mongo >=1.5.0
     **/
    public function batchSize($batchSize);

    /**
     * Checks if there are results that have not yet been sent from the
     * database
     *
     * This method checks whether the cursor has been exhausted and the
     * database has no more results to send to the client. A cursor being
     * "dead" does not necessarily mean that there are no more results
     * available for iteration.
     *
     * @return bool Returns TRUE if there are more results that have not
     *   yet been sent to the client, and FALSE otherwise.
     * @since PECL mongo >=1.5.0
     **/
    public function dead();

    /**
     * Get the read preference for this query
     *
     * @return array
     * @since PECL mongo >=1.6.0
     **/
    public function getReadPreference();

    /**
     * Gets information about the cursor's creation and iteration
     *
     * Returns information about the cursor's creation and iteration. This
     * can be called before or after the cursor has started iterating.
     *
     * @return array Returns the namespace, batch size, limit, skip, flags,
     *   query, and projected fields for this cursor. If the cursor has
     *   started iterating, additional information about iteration and the
     *   connection will be included.
     * @since PECL mongo >=1.5.0
     **/
    public function info();

    /**
     * Set the read preference for this query
     *
     * @param string $read_preference
     * @param array $tags
     * @return MongoCursorInterface Returns this cursor.
     * @since PECL mongo >=1.6.0
     **/
    public function setReadPreference($read_preference, $tags);

    /**
     * Sets a client-side timeout for this query
     *
     * A timeout can be set at any time and will affect subsequent data
     * retrieval associated with this cursor, including fetching more results
     * from the database.
     *
     * @param int $ms The number of milliseconds for the cursor to wait for
     *   a response. Use -1 to wait forever. By default, the cursor will wait
     *   30000 milliseconds (30 seconds).
     * @return MongoCursorInterface Returns this cursor.
     * @since PECL mongo >=1.5.0
     **/
    public function timeout($ms);

}
/**
 * Caused by a query timing out. You can set the length of time to wait
 * before this exception is thrown by calling {@link
 * MongoCursor::timeout} on the cursor or setting MongoCursor::$timeout.
 * The static variable is useful for queries such as database commands
 * and {@link MongoCollection::findOne}, both of which implicitly use
 * cursors.
 **/
class MongoCursorTimeoutException extends MongoCursorException {
}
/**
 * Represent date objects for the database. This class should be used to
 * save dates to the database and to query for dates. For example:
 * MongoDB stores dates as milliseconds past the epoch. This means that
 * dates do not contain timezone information. Timezones must be stored in
 * a separate field if needed. Second, this means that any precision
 * beyond milliseconds will be lost when the document is sent to/from the
 * database.
 **/
class MongoDate {
    /**
     * @var int
     **/
    public $sec;

    /**
     * @var int
     **/
    public $usec;

    /**
     * Returns a DateTime object representing this date
     *
     * Returns a DateTime object representation of this date.
     *
     * @return DateTime This date as a DateTime object.
     * @since PECL mongo >= 1.6.0
     **/
    public function toDateTime(){}

    /**
     * Creates a new date
     *
     * Creates a new date. If no parameters are given, the current time is
     * used.
     *
     * @param int $sec Number of seconds since the epoch (i.e. 1 Jan 1970
     *   00:00:00.000 UTC).
     * @param int $usec Microseconds. Please be aware though that MongoDB's
     *   resolution is milliseconds and not microseconds, which means this
     *   value will be truncated to millisecond resolution.
     * @since PECL mongo >= 0.8.1
     **/
    public function __construct($sec, $usec){}

    /**
     * Returns a string representation of this date
     *
     * Returns a string representation of this date, similar to the
     * representation returned by {@link microtime}.
     *
     * @return string This date.
     * @since PECL mongo >= 0.8.1
     **/
    public function __toString(){}

}
/**
 * Instances of this class are used to interact with a database. To get a
 * database: Selecting a database
 *
 * Database names can use almost any character in the ASCII range.
 * However, they cannot contain , . or be the empty string. The name
 * "system" is also reserved. A few unusual, but valid, database names:
 * null, [x,y], 3, \, /. Unlike collection names, database names may
 * contain $.
 **/
class MongoDB {
    /**
     * @var int
     **/
    const PROFILING_OFF = 0;

    /**
     * @var int
     **/
    const PROFILING_ON = 0;

    /**
     * @var int
     **/
    const PROFILING_SLOW = 0;

    /**
     * @var integer
     **/
    public $w;

    /**
     * @var integer
     **/
    public $wtimeout;

    /**
     * Log in to this database
     *
     * This method causes its connection to be authenticated. If
     * authentication is enabled for the database server (it's not, by
     * default), you need to log in before the database will allow you to do
     * anything.
     *
     * In general, you should use the authenticate built into {@link
     * MongoClient::__construct} in preference to this method. If you
     * authenticate on connection and the connection drops and reconnects
     * during your session, you'll be reauthenticated. If you manually
     * authenticated using this method and the connection drops, you'll have
     * to call this method again once you're reconnected.
     *
     * This method is identical to running:
     *
     * <?php
     *
     * $salted = "${username}:mongo:${password}"; $hash = md5($salted);
     *
     * $nonce = $db->command(array("getnonce" => 1));
     *
     * $saltedHash = md5($nonce["nonce"]."${username}${hash}");
     *
     * $result = $db->command(array("authenticate" => 1, "user" => $username,
     * "nonce" => $nonce["nonce"], "key" => $saltedHash ));
     *
     * ?>
     *
     * Once a connection has been authenticated, it can only be
     * un-authenticated by using the "logout" database command:
     *
     * <?php
     *
     * $db->command(array("logout" => 1));
     *
     * ?>
     *
     * @param string $username The username.
     * @param string $password The password (in plaintext).
     * @return array Returns database response. If the login was
     *   successful, it will return
     *   
     *   <?php array("ok" => 1); ?>
     *   
     *   If something went wrong, it will return
     *   
     *   <?php array("ok" => 0, "errmsg" => "auth fails"); ?>
     *   
     *   ("auth fails" could be another message, depending on database
     *   version and what when wrong).
     * @since PECL mongo >=1.0.1
     **/
    public function authenticate($username, $password){}

    /**
     * Execute a database command
     *
     * Almost everything that is not a CRUD operation can be done with a
     * database command. Need to know the database version? There's a command
     * for that. Need to do aggregation? There's a command for that. Need to
     * turn up logging? You get the idea.
     *
     * This method is identical to:
     *
     * <?php
     *
     * public function command($data) { return
     * $this->selectCollection('$cmd')->findOne($data); }
     *
     * ?>
     *
     * @param array $command The query to send.
     * @param array $options An array of options for the index creation.
     *   Currently available options include: The following options are
     *   deprecated and should no longer be used:
     * @param string $hash Set to the connection hash of the server that
     *   executed the command. When the command result is suitable for
     *   creating a MongoCommandCursor, the hash is intended to be passed to
     *   {@link MongoCommandCursor::createFromDocument}. The hash will also
     *   correspond to a connection returned from {@link
     *   MongoClient::getConnections}.
     * @return array Returns database response. Every database response is
     *   always maximum one document, which means that the result of a
     *   database command can never exceed 16MB. The resulting document's
     *   structure depends on the command, but most results will have the ok
     *   field to indicate success or failure and results containing an array
     *   of each of the resulting documents.
     * @since PECL mongo >=0.9.2
     **/
    public function command($command, $options, &$hash){}

    /**
     * Creates a collection
     *
     * This method is used to create capped collections and other collections
     * requiring special options. It is identical to running:
     *
     * <?php
     *
     * $collection = $db->command(array( "create" => $name, "capped" =>
     * $options["capped"], "size" => $options["size"], "max" =>
     * $options["max"], "autoIndexId" => $options["autoIndexId"], ));
     *
     * ?>
     *
     * See {@link MongoDB::command} for more information about database
     * commands.
     *
     * @param string $name The name of the collection.
     * @param array $options An array containing options for the
     *   collections. Each option is its own element in the options array,
     *   with the option name listed below being the key of the element. The
     *   supported options depend on the MongoDB server version and storage
     *   engine, and the driver passes any option that you give it straight
     *   to the server. A few of the supported options are, but you can find
     *   a full list in the MongoDB core docs on createCollection:
     *   
     *   {@link capped} If the collection should be a fixed size. {@link
     *   size} If the collection is fixed size, its size in bytes. {@link
     *   max} If the collection is fixed size, the maximum number of elements
     *   to store in the collection. {@link autoIndexId} If capped is TRUE
     *   you can specify FALSE to disable the automatic index created on the
     *   _id field. Before MongoDB 2.2, the default value for autoIndexId was
     *   FALSE.
     * @return MongoCollection Returns a collection object representing the
     *   new collection.
     * @since PECL mongo >=0.9.0
     **/
    public function createCollection($name, $options){}

    /**
     * Creates a database reference
     *
     * This method is a flexible interface for creating database refrences
     * (see MongoDBRef).
     *
     * @param string $collection The collection to which the database
     *   reference will point.
     * @param mixed $document_or_id If an array or object is given, its _id
     *   field will be used as the reference ID. If a MongoId or scalar is
     *   given, it will be used as the reference ID.
     * @return array Returns a database reference array.
     * @since PECL mongo >=0.9.0
     **/
    public function createDBRef($collection, $document_or_id){}

    /**
     * Drops this database
     *
     * This drops the database currently being used.
     *
     * This is identical to running:
     *
     * <?php
     *
     * public function drop() { $this->command(array("dropDatabase" => 1)); }
     *
     * ?>
     *
     * @return array Returns the database response.
     * @since PECL mongo >=0.9.0
     **/
    public function drop(){}

    /**
     * Drops a collection [deprecated]
     *
     * @param mixed $coll MongoCollection or name of collection to drop.
     * @return array Returns the database response.
     * @since PECL mongo >=0.9.0
     **/
    public function dropCollection($coll){}

    /**
     * Runs JavaScript code on the database server [deprecated]
     *
     * The Mongo database server runs a JavaScript engine. This method allows
     * you to run arbitary JavaScript on the database. This can be useful if
     * you want touch a number of collections lightly, or process some
     * results on the database side to reduce the amount that has to be sent
     * to the client.
     *
     * Running JavaScript in the database takes a write lock, meaning it
     * blocks other operations. Make sure you consider this before running a
     * long script.
     *
     * This is a wrapper for the eval database command. This method is
     * basically:
     *
     * <?php
     *
     * public function execute($code, $args) { return
     * $this->command(array('eval' => $code, 'args' => $args)); }
     *
     * ?>
     *
     * MongoDB implies a return statement if you have a single statement on a
     * single line. This can cause some unintuitive behavior. For example,
     * this returns "foo":
     *
     * However, these return NULL:
     *
     * To avoid surprising behavior, it is best not to depend on MongoDB to
     * decide what to return, but to explicitly state a return value. In the
     * examples above, we can change them to:
     *
     * Now the first statement will return "foo" and the second statement
     * will return a count of the "foo" collection.
     *
     * @param mixed $code MongoCode or string to execute.
     * @param array $args Arguments to be passed to code.
     * @return array Returns the result of the evaluation.
     * @since PECL mongo >=0.9.3
     **/
    public function execute($code, $args){}

    /**
     * Creates a database error
     *
     * This method is not very useful for normal MongoDB use. It forces a
     * database error to occur. This means that {@link MongoDB::lastError}
     * will return a generic database error after running this command.
     *
     * This command is identical to running:
     *
     * <?php
     *
     * public function forceError() { return
     * $this->command(array('forceerror' => 1)); }
     *
     * ?>
     *
     * @return bool Returns the database response.
     * @since PECL mongo >=0.9.5
     **/
    public function forceError(){}

    /**
     * Returns information about collections in this database
     *
     * Gets a list of all collections in the database and returns them as an
     * array of documents, which contain their names and options.
     *
     * @param array $options An array of options for listing the
     *   collections. Currently available options include: The following
     *   option may be used with MongoDB 2.8+:
     * @return array This function returns an array where each element is
     *   an array describing a collection. Elements will contain a name key
     *   denoting the name of the collection, and optionally contain an
     *   options key denoting an array of objects used to create the
     *   collection. For example, capped collections will include capped and
     *   size options.
     * @since PECL mongo >=1.6.0
     **/
    public function getCollectionInfo($options){}

    /**
     * Gets an array of names for all collections in this database
     *
     * Gets a list of all collections in the database and returns their names
     * as an array of strings.
     *
     * @param array $options An array of options for listing the
     *   collections. Currently available options include: The following
     *   option may be used with MongoDB 2.8+:
     * @return array Returns the collection names as an array of strings.
     * @since PECL mongo >=1.3.0
     **/
    public function getCollectionNames($options){}

    /**
     * Fetches the document pointed to by a database reference
     *
     * @param array $ref A database reference.
     * @return array Returns the document pointed to by the reference.
     * @since PECL mongo >=0.9.0
     **/
    public function getDBRef($ref){}

    /**
     * Fetches toolkit for dealing with files stored in this database
     *
     * @param string $prefix The prefix for the files and chunks
     *   collections.
     * @return MongoGridFS Returns a new gridfs object for this database.
     * @since PECL mongo >=0.9.0
     **/
    public function getGridFS($prefix){}

    /**
     * Gets this databases profiling level
     *
     * This returns the current database profiling level.
     *
     * The database profiler tracks query execution times. If you turn it on
     * (say, using {@link MongoDB::setProfilingLevel} or the shell), you can
     * see how many queries took longer than a given number of milliseconds
     * or the timing for all queries.
     *
     * Note that profiling slows down queries, so it is better to use in
     * development or testing than in a time-sensitive application.
     *
     * This function is equivalent to running:
     *
     * <?php
     *
     * public function getProfilingLevel() { return
     * $this->command(array('profile' => -1)); }
     *
     * ?>
     *
     * @return int Returns the profiling level.
     * @since PECL mongo >=0.9.0
     **/
    public function getProfilingLevel(){}

    /**
     * Get the read preference for this database
     *
     * @return array
     * @since PECL mongo >=1.3.0
     **/
    public function getReadPreference(){}

    /**
     * Get slaveOkay setting for this database
     *
     * See the query section of this manual for information on distributing
     * reads to secondaries.
     *
     * @return bool Returns the value of slaveOkay for this instance.
     * @since PECL mongo >=1.1.0
     **/
    public function getSlaveOkay(){}

    /**
     * Get the write concern for this database
     *
     * @return array
     * @since PECL mongo >=1.5.0
     **/
    public function getWriteConcern(){}

    /**
     * Check if there was an error on the most recent db operation performed
     *
     * This method is equivalent to:
     *
     * <?php
     *
     * public function lastError() { return
     * $this->command(array('getlasterror' => 1)); }
     *
     * ?>
     *
     * @return array Returns the error, if there was one.
     * @since PECL mongo >=0.9.5
     **/
    public function lastError(){}

    /**
     * Gets an array of MongoCollection objects for all collections in this
     * database
     *
     * Gets a list of all collections in the database and returns them as an
     * array of MongoCollection objects.
     *
     * @param array $options An array of options for listing the
     *   collections. Currently available options include: The following
     *   option may be used with MongoDB 2.8+:
     * @return array Returns an array of MongoCollection objects.
     * @since PECL mongo >=0.9.0
     **/
    public function listCollections($options){}

    /**
     * Checks for the last error thrown during a database operation
     *
     * {@link MongoDB::lastError} is usually preferred to this. This method
     * returns the last database error that occurred and how many operations
     * ago it occurred. It is mostly deprecated.
     *
     * @return array Returns the error and the number of operations ago it
     *   occurred.
     * @since PECL mongo >=0.9.5
     **/
    public function prevError(){}

    /**
     * Repairs and compacts this database
     *
     * This creates a fresh copy of all database data. It will remove any
     * corrupt data and compact and large stretches of free space it finds.
     * This is a very slow operation on a large database.
     *
     * This is usually run from the shell or the command line, not the
     * driver.
     *
     * It is equivalent to the function:
     *
     * <?php
     *
     * public function repair() { return
     * $this->command(array('repairDatabase' => 1)); }
     *
     * ?>
     *
     * @param bool $preserve_cloned_files If cloned files should be kept if
     *   the repair fails.
     * @param bool $backup_original_files If original files should be
     *   backed up.
     * @return array Returns db response.
     * @since PECL mongo >=0.9.0
     **/
    public function repair($preserve_cloned_files, $backup_original_files){}

    /**
     * Clears any flagged errors on the database
     *
     * This method is not used in normal operations. It resets the database
     * error tracker (which can be incremented with {@link
     * MongoDB::forceError}, also not normally used).
     *
     * It is equivalent to running:
     *
     * <?php
     *
     * public function resetError() { return
     * $this->command(array('reseterror' => 1)); }
     *
     * ?>
     *
     * @return array Returns the database response.
     * @since PECL mongo >=0.9.5
     **/
    public function resetError(){}

    /**
     * Gets a collection
     *
     * @param string $name The collection name.
     * @return MongoCollection Returns a new collection object.
     * @since PECL mongo >=0.9.0
     **/
    public function selectCollection($name){}

    /**
     * Sets this databases profiling level
     *
     * This changes the current database profiling level.
     *
     * This function is equivalent to running:
     *
     * <?php
     *
     * public function setProfilingLevel($level) { return
     * $this->command(array('profile' => $level)); }
     *
     * ?>
     *
     * The options for level are 0 (off), 1 (queries > 100ms), and 2 (all
     * queries). If you would like to profile queries that take longer than
     * another time period, use the database command and pass it a second
     * option, the number of milliseconds. For example, to profile all
     * queries that take longer than one second, run:
     *
     * <?php
     *
     * $result = $this->command(array('profile' => 1, 'slowms' => 1000));
     *
     * ?>
     *
     * Profiled queries will appear in the system.profile collection of this
     * database.
     *
     * @param int $level Profiling level.
     * @return int Returns the previous profiling level.
     * @since PECL mongo >=0.9.0
     **/
    public function setProfilingLevel($level){}

    /**
     * Set the read preference for this database
     *
     * @param string $read_preference
     * @param array $tags
     * @return bool
     * @since PECL mongo >=1.3.0
     **/
    public function setReadPreference($read_preference, $tags){}

    /**
     * Change slaveOkay setting for this database
     *
     * See the query section of this manual for information on distributing
     * reads to secondaries.
     *
     * @param bool $ok If reads should be sent to secondary members of a
     *   replica set for all possible queries using this MongoDB instance.
     * @return bool Returns the former value of slaveOkay for this
     *   instance.
     * @since PECL mongo >=1.1.0
     **/
    public function setSlaveOkay($ok){}

    /**
     * Set the write concern for this database
     *
     * @param mixed $w
     * @param int $wtimeout
     * @return bool
     * @since PECL mongo >=1.5.0
     **/
    public function setWriteConcern($w, $wtimeout){}

    /**
     * Creates a new database
     *
     * This method is not meant to be called directly. The preferred way to
     * create an instance of MongoDB is through {@link MongoClient::__get} or
     * {@link MongoClient::selectDB}.
     *
     * If you're ignoring the previous paragraph and want to call it directly
     * you can do so:
     *
     * But don't. Isn't this much nicer:
     *
     * @param MongoClient $conn Database connection.
     * @param string $name Database name.
     * @since PECL mongo >=0.9.0
     **/
    public function __construct($conn, $name){}

    /**
     * Gets a collection
     *
     * This is the easiest way of getting a collection from a database
     * object. If a collection name contains strange characters, you may have
     * to use {@link MongoDB::selectCollection} instead.
     *
     * <?php
     *
     * $mongo = new MongoClient();
     *
     * // the following two lines are equivalent $collection =
     * $mongo->selectDB("foo")->selectCollection("bar"); $collection =
     * $mongo->foo->bar;
     *
     * ?>
     *
     * @param string $name The name of the collection.
     * @return MongoCollection Returns the collection.
     * @since PECL mongo >=1.0.2
     **/
    public function __get($name){}

    /**
     * The name of this database
     *
     * @return string Returns this databases name.
     * @since PECL mongo >=0.9.0
     **/
    public function __toString(){}

}
/**
 * This class can be used to create lightweight links between objects in
 * different collections. Motivation: Suppose we need to refer to a
 * document in another collection. The easiest way is to create a field
 * in the current document. For example, if we had a "people" collection
 * and an "addresses" collection, we might want to create a link between
 * each person document and an address document: Linking documents
 *
 * Then, later on, we can find the person's address by querying the
 * "addresses" collection with the MongoId we saved in the "people"
 * collection. Suppose now that we have a more general case, where we
 * don't know which collection (or even which database) contains the
 * referenced document. MongoDBRef is a good choice for this case, as it
 * is a common format that all of the drivers and the database
 * understand. If each person had a list of things they liked which could
 * come from multiple collections, such as "hobbies", "sports", "books",
 * etc., we could use MongoDBRefs to keep track of what "like" went with
 * what collection: Creating MongoDBRef links
 **/
class MongoDBRef {
    /**
     * Creates a new database reference
     *
     * If no database is given, the current database is used.
     *
     * @param string $collection Collection name (without the database
     *   name).
     * @param mixed $id The _id field of the object to which to link.
     * @param string $database Database name.
     * @return array Returns the reference.
     * @since PECL mongo >= 0.9.0
     **/
    public static function create($collection, $id, $database){}

    /**
     * Fetches the object pointed to by a reference
     *
     * @param MongoDB $db Database to use.
     * @param array $ref Reference to fetch.
     * @return array Returns the document to which the reference refers or
     *   NULL if the document does not exist (the reference is broken).
     * @since PECL mongo >= 0.9.0
     **/
    public static function get($db, $ref){}

    /**
     * Checks if an array is a database reference
     *
     * This method does not actually follow the reference, so it does not
     * determine if it is broken or not. It merely checks that {@link ref} is
     * in valid database reference format (in that it is an object or array
     * with $ref and $id fields).
     *
     * @param mixed $ref Array or object to check.
     * @return bool
     * @since PECL mongo >= 0.9.0
     **/
    public static function isRef($ref){}

}
namespace MongoDB\BSON {
class Binary implements MongoDB\BSON\BinaryInterface, MongoDB\BSON\Type, Serializable, JsonSerializable {
    /**
     * Returns the Binarys data
     *
     * @return string Returns the Binarys data.
     **/
    final public function getData(){}

    /**
     * Returns the Binarys type
     *
     * @return int Returns the Binarys type.
     **/
    final public function getType(){}

    /**
     * Returns a representation that can be converted to JSON
     *
     * @return mixed Returns data which can be serialized by {@link
     *   json_encode} to produce an extended JSON representation of the
     *   MongoDB\BSON\Binary.
     **/
    final public function jsonSerialize(){}

    /**
     * Serialize a Binary
     *
     * @return string Returns the serialized representation of the
     *   MongoDB\BSON\Binary.
     **/
    final public function serialize(){}

    /**
     * Unserialize a Binary
     *
     * @param string $serialized The serialized MongoDB\BSON\Binary.
     * @return void Returns the unserialized MongoDB\BSON\Binary.
     **/
    final public function unserialize($serialized){}

    /**
     * Construct a new Binary
     *
     * @param string $data Binary data.
     * @param int $type Unsigned 8-bit integer denoting the datas type.
     **/
    final public function __construct($data, $type){}

    /**
     * Returns the Binarys data
     *
     * MongoDB\BSON\Binary::getData.
     *
     * @return string Returns the Binarys data.
     **/
    final public function __toString(){}

}
}
namespace MongoDB\BSON {
interface BinaryInterface {
    /**
     * Returns the BinaryInterfaces data
     *
     * @return string Returns the BinaryInterfaces data.
     **/
    public function getData();

    /**
     * Returns the BinaryInterfaces type
     *
     * @return int Returns the BinaryInterfaces type.
     **/
    public function getType();

    /**
     * Returns the BinaryInterfaces data
     *
     * MongoDB\BSON\BinaryInterface::getData.
     *
     * @return string Returns the BinaryInterfaces data.
     **/
    public function __toString();

}
}
namespace MongoDB\BSON {
class DBPointer implements MongoDB\BSON\Type, Serializable, JsonSerializable {
    /**
     * Returns a representation that can be converted to JSON
     *
     * @return mixed Returns data which can be serialized by {@link
     *   json_encode} to produce an extended JSON representation of the
     *   MongoDB\BSON\DBPointer.
     **/
    final public function jsonSerialize(){}

    /**
     * Serialize a DBPointer
     *
     * @return string Returns the serialized representation of the
     *   MongoDB\BSON\DBPointer.
     **/
    final public function serialize(){}

    /**
     * Unserialize a DBPointer
     *
     * @param string $serialized The serialized MongoDB\BSON\DBPointer.
     * @return void Returns the unserialized MongoDB\BSON\DBPointer.
     **/
    final public function unserialize($serialized){}

    /**
     * Construct a new DBPointer (unused)
     *
     * MongoDB\BSON\DBPointer objects are created through conversion from a
     * deprecated BSON type and cannot be constructed directly.
     **/
    final private function __construct(){}

    /**
     * Returns an empty string
     *
     * @return string Returns an empty string.
     **/
    final public function __toString(){}

}
}
namespace MongoDB\BSON {
class Decimal128 implements MongoDB\BSON\Decimal128Interface, MongoDB\BSON\Type, Serializable, JsonSerializable {
    /**
     * Returns a representation that can be converted to JSON
     *
     * @return mixed Returns data which can be serialized by {@link
     *   json_encode} to produce an extended JSON representation of the
     *   MongoDB\BSON\Decimal128.
     **/
    final public function jsonSerialize(){}

    /**
     * Serialize a Decimal128
     *
     * @return string Returns the serialized representation of the
     *   MongoDB\BSON\Decimal128.
     **/
    final public function serialize(){}

    /**
     * Unserialize a Decimal128
     *
     * @param string $serialized The serialized MongoDB\BSON\Decimal128.
     * @return void Returns the unserialized MongoDB\BSON\Decimal128.
     **/
    final public function unserialize($serialized){}

    /**
     * Construct a new Decimal128
     *
     * @param string $value A decimal string.
     **/
    final public function __construct($value){}

    /**
     * Returns the string representation of this Decimal128
     *
     * @return string Returns the string representation of this Decimal128.
     **/
    final public function __toString(){}

}
}
namespace MongoDB\BSON {
interface Decimal128Interface {
    /**
     * Returns the string representation of this Decimal128Interface
     *
     * @return string Returns the string representation of this
     *   Decimal128Interface.
     **/
    public function __toString();

}
}
namespace MongoDB\BSON {
class Int64 implements MongoDB\BSON\Type, Serializable, JsonSerializable {
    /**
     * Returns a representation that can be converted to JSON
     *
     * @return mixed Returns data which can be serialized by {@link
     *   json_encode} to produce an extended JSON representation of the
     *   MongoDB\BSON\Int64.
     **/
    final public function jsonSerialize(){}

    /**
     * Serialize an Int64
     *
     * @return string Returns the serialized representation of the
     *   MongoDB\BSON\Int64.
     **/
    final public function serialize(){}

    /**
     * Unserialize an Int64
     *
     * @param string $serialized The serialized MongoDB\BSON\Int64.
     * @return void Returns the unserialized MongoDB\BSON\Int64.
     **/
    final public function unserialize($serialized){}

    /**
     * Construct a new Int64 (unused)
     *
     * MongoDB\BSON\Int64 objects are created through conversion from a
     * 64-bit integer BSON type on a 32-bit platform and cannot be
     * constructed directly.
     **/
    final private function __construct(){}

    /**
     * Returns the string representation of this Int64
     *
     * @return string Returns the string representation of this Int64.
     **/
    final public function __toString(){}

}
}
namespace MongoDB\BSON {
class Javascript implements MongoDB\BSON\JavascriptInterface, MongoDB\BSON\Type, Serializable, JsonSerializable {
    /**
     * Returns the Javascripts code
     *
     * @return string Returns the Javascripts code.
     **/
    final public function getCode(){}

    /**
     * Returns the Javascripts scope document
     *
     * @return object|null Returns the Javascripts scope document.
     **/
    final public function getScope(){}

    /**
     * Returns a representation that can be converted to JSON
     *
     * @return mixed Returns data which can be serialized by {@link
     *   json_encode} to produce an extended JSON representation of the
     *   MongoDB\BSON\Javascript.
     **/
    final public function jsonSerialize(){}

    /**
     * Serialize a Javascript
     *
     * @return string Returns the serialized representation of the
     *   MongoDB\BSON\Javascript.
     **/
    final public function serialize(){}

    /**
     * Unserialize a Javascript
     *
     * @param string $serialized The serialized MongoDB\BSON\Javascript.
     * @return void Returns the unserialized MongoDB\BSON\Javascript.
     **/
    final public function unserialize($serialized){}

    /**
     * Construct a new Javascript
     *
     * @param string $code Javascript code.
     * @param array|object $scope Javascript scope.
     **/
    final public function __construct($code, $scope){}

    /**
     * Returns the Javascripts code
     *
     * MongoDB\BSON\Javascript::getCode.
     *
     * @return string Returns the Javascripts code.
     **/
    final public function __toString(){}

}
}
namespace MongoDB\BSON {
interface JavascriptInterface {
    /**
     * Returns the JavascriptInterfaces code
     *
     * @return string Returns the JavascriptInterfaces code.
     **/
    public function getCode();

    /**
     * Returns the JavascriptInterfaces scope document
     *
     * @return object|null Returns the JavascriptInterfaces scope document.
     **/
    public function getScope();

    /**
     * Returns the JavascriptInterfaces code
     *
     * MongoDB\BSON\JavascriptInterface::getCode.
     *
     * @return string Returns the JavascriptInterfaces code.
     **/
    public function __toString();

}
}
namespace MongoDB\BSON {
class MaxKey implements MongoDB\BSON\MaxKeyInterface, MongoDB\BSON\Type, Serializable, JsonSerializable {
    /**
     * Returns a representation that can be converted to JSON
     *
     * @return mixed Returns data which can be serialized by {@link
     *   json_encode} to produce an extended JSON representation of the
     *   MongoDB\BSON\MaxKey.
     **/
    final public function jsonSerialize(){}

    /**
     * Serialize a MaxKey
     *
     * @return string Returns the serialized representation of the
     *   MongoDB\BSON\MaxKey.
     **/
    final public function serialize(){}

    /**
     * Unserialize a MaxKey
     *
     * @param string $serialized The serialized MongoDB\BSON\MaxKey.
     * @return void Returns the unserialized MongoDB\BSON\MaxKey.
     **/
    final public function unserialize($serialized){}

    /**
     * Construct a new MaxKey
     **/
    final public function __construct(){}

}
}
namespace MongoDB\BSON {
interface MaxKeyInterface {
}
}
namespace MongoDB\BSON {
class MinKey implements MongoDB\BSON\MinKeyInterface, MongoDB\BSON\Type, Serializable, JsonSerializable {
    /**
     * Returns a representation that can be converted to JSON
     *
     * @return mixed Returns data which can be serialized by {@link
     *   json_encode} to produce an extended JSON representation of the
     *   MongoDB\BSON\MinKey.
     **/
    final public function jsonSerialize(){}

    /**
     * Serialize a MinKey
     *
     * @return string Returns the serialized representation of the
     *   MongoDB\BSON\MinKey.
     **/
    final public function serialize(){}

    /**
     * Unserialize a MinKey
     *
     * @param string $serialized The serialized MongoDB\BSON\MinKey.
     * @return void Returns the unserialized MongoDB\BSON\MinKey.
     **/
    final public function unserialize($serialized){}

    /**
     * Construct a new MinKey
     **/
    final public function __construct(){}

}
}
namespace MongoDB\BSON {
interface MinKeyInterface {
}
}
namespace MongoDB\BSON {
class ObjectId implements MongoDB\BSON\ObjectIdInterface, MongoDB\BSON\Type, Serializable, JsonSerializable {
    /**
     * Returns the timestamp component of this ObjectId
     *
     * The timestamp component of an ObjectId is its most significant 32
     * bits, which denotes the number of seconds since the Unix epoch. This
     * value is read as an unsigned 32-bit integer with big-endian byte
     * order.
     *
     * @return int Returns the timestamp component of this ObjectId.
     **/
    final public function getTimestamp(){}

    /**
     * Returns a representation that can be converted to JSON
     *
     * @return mixed Returns data which can be serialized by {@link
     *   json_encode} to produce an extended JSON representation of the
     *   MongoDB\BSON\ObjectId.
     **/
    final public function jsonSerialize(){}

    /**
     * Serialize an ObjectId
     *
     * @return string Returns the serialized representation of the
     *   MongoDB\BSON\ObjectId.
     **/
    final public function serialize(){}

    /**
     * Unserialize an ObjectId
     *
     * @param string $serialized The serialized MongoDB\BSON\ObjectId.
     * @return void Returns the unserialized MongoDB\BSON\ObjectId.
     **/
    final public function unserialize($serialized){}

    /**
     * Construct a new ObjectId
     *
     * @param string $id A 24-character hexadecimal string. If not
     *   provided, the driver will generate an ObjectId.
     **/
    final public function __construct($id){}

    /**
     * Returns the hexidecimal representation of this ObjectId
     *
     * @return string Returns the hexidecimal representation of this
     *   ObjectId.
     **/
    final public function __toString(){}

}
}
namespace MongoDB\BSON {
interface ObjectIdInterface {
    /**
     * Returns the timestamp component of this ObjectIdInterface
     *
     * @return int Returns the timestamp component of this
     *   ObjectIdInterface.
     **/
    public function getTimestamp();

    /**
     * Returns the hexidecimal representation of this ObjectIdInterface
     *
     * @return string Returns the hexidecimal representation of this
     *   ObjectIdInterface.
     **/
    public function __toString();

}
}
namespace MongoDB\BSON {
interface Persistable extends MongoDB\BSON\Unserializable, MongoDB\BSON\Serializable {
}
}
namespace MongoDB\BSON {
class Regex implements MongoDB\BSON\RegexInterface, MongoDB\BSON\Type, Serializable, JsonSerializable {
    /**
     * Returns the Regexs flags
     *
     * @return string Returns the Regexs flags.
     **/
    final public function getFlags(){}

    /**
     * Returns the Regexs pattern
     *
     * @return string Returns the Regexs pattern.
     **/
    final public function getPattern(){}

    /**
     * Returns a representation that can be converted to JSON
     *
     * @return mixed Returns data which can be serialized by {@link
     *   json_encode} to produce an extended JSON representation of the
     *   MongoDB\BSON\Regex.
     **/
    final public function jsonSerialize(){}

    /**
     * Serialize a Regex
     *
     * @return string Returns the serialized representation of the
     *   MongoDB\BSON\Regex.
     **/
    final public function serialize(){}

    /**
     * Unserialize a Regex
     *
     * @param string $serialized The serialized MongoDB\BSON\Regex.
     * @return void Returns the unserialized MongoDB\BSON\Regex.
     **/
    final public function unserialize($serialized){}

    /**
     * Construct a new Regex
     *
     * @param string $pattern The regular expression pattern.
     * @param string $flags The regular expression flags. Characters in
     *   this argument will be sorted alphabetically.
     **/
    final public function __construct($pattern, $flags){}

    /**
     * Returns the string representation of this Regex
     *
     * @return string Returns the string representation of this Regex.
     **/
    final public function __toString(){}

}
}
namespace MongoDB\BSON {
interface RegexInterface {
    /**
     * Returns the RegexInterfaces flags
     *
     * @return string Returns the RegexInterfaces flags.
     **/
    public function getFlags();

    /**
     * Returns the RegexInterfaces pattern
     *
     * @return string Returns the RegexInterfaces pattern.
     **/
    public function getPattern();

    /**
     * Returns the string representation of this RegexInterface
     *
     * @return string Returns the string representation of this
     *   RegexInterface.
     **/
    public function __toString();

}
}
namespace MongoDB\BSON {
interface Serializable extends MongoDB\BSON\Type {
    /**
     * Provides an array or document to serialize as BSON
     *
     * Called during serialization of the object to BSON. The method must
     * return an array or stdClass.
     *
     * Root documents (e.g. a MongoDB\BSON\Serializable passed to {@link
     * MongoDB\BSON\fromPHP}) will always be serialized as a BSON document.
     * For field values, associative arrays and stdClass instances will be
     * serialized as a BSON document and sequential arrays (i.e. sequential,
     * numeric indexes starting at 0) will be serialized as a BSON array.
     *
     * Users are encouraged to include an _id property (e.g. a
     * MongoDB\BSON\ObjectId initialized in your constructor) when returning
     * data for a BSON root document; otherwise, the driver or database will
     * need to generate a MongoDB\BSON\ObjectId when inserting or upserting
     * the document, respectively.
     *
     * @return array|object An array or stdClass to be serialized as a BSON
     *   array or document.
     **/
    public function bsonSerialize();

}
}
namespace MongoDB\BSON {
class Symbol implements MongoDB\BSON\Type, Serializable, JsonSerializable {
    /**
     * Returns a representation that can be converted to JSON
     *
     * @return mixed Returns data which can be serialized by {@link
     *   json_encode} to produce an extended JSON representation of the
     *   MongoDB\BSON\Symbol.
     **/
    final public function jsonSerialize(){}

    /**
     * Serialize a Symbol
     *
     * @return string Returns the serialized representation of the
     *   MongoDB\BSON\Symbol.
     **/
    final public function serialize(){}

    /**
     * Unserialize a Symbol
     *
     * @param string $serialized The serialized MongoDB\BSON\Symbol.
     * @return void Returns the unserialized MongoDB\BSON\Symbol.
     **/
    final public function unserialize($serialized){}

    /**
     * Construct a new Symbol (unused)
     *
     * MongoDB\BSON\Symbol objects are created through conversion from a
     * deprecated BSON type and cannot be constructed directly.
     **/
    final private function __construct(){}

    /**
     * Returns the Symbol as a string
     *
     * @return string Returns the string representation of this Symbol.
     **/
    final public function __toString(){}

}
}
namespace MongoDB\BSON {
class Timestamp implements MongoDB\BSON\TimestampInterface, MongoDB\BSON\Type, Serializable, JsonSerializable {
    /**
     * Returns the increment component of this Timestamp
     *
     * The increment component of a Timestamp is its least significant 32
     * bits, whichs denotes the incrementing ordinal for operations within a
     * given second. This value is read as an unsigned 32-bit integer with
     * big-endian byte order.
     *
     * @return int Returns the increment component of this Timestamp.
     **/
    final public function getIncrement(){}

    /**
     * Returns the timestamp component of this Timestamp
     *
     * The timestamp component of a Timestamp is its most significant 32
     * bits, which denotes the number of seconds since the Unix epoch. This
     * value is read as an unsigned 32-bit integer with big-endian byte
     * order.
     *
     * @return int Returns the timestamp component of this Timestamp.
     **/
    final public function getTimestamp(){}

    /**
     * Returns a representation that can be converted to JSON
     *
     * @return mixed Returns data which can be serialized by {@link
     *   json_encode} to produce an extended JSON representation of the
     *   MongoDB\BSON\Timestamp.
     **/
    final public function jsonSerialize(){}

    /**
     * Serialize a Timestamp
     *
     * @return string Returns the serialized representation of the
     *   MongoDB\BSON\Timestamp.
     **/
    final public function serialize(){}

    /**
     * Unserialize a Timestamp
     *
     * @param string $serialized The serialized MongoDB\BSON\Timestamp.
     * @return void Returns the unserialized MongoDB\BSON\Timestamp.
     **/
    final public function unserialize($serialized){}

    /**
     * Construct a new Timestamp
     *
     * @param int $increment 32-bit integer denoting the incrementing
     *   ordinal for operations within a given second.
     * @param int $timestamp 32-bit integer denoting seconds since the Unix
     *   epoch.
     **/
    final public function __construct($increment, $timestamp){}

    /**
     * Returns the string representation of this Timestamp
     *
     * @return string Returns the string representation of this Timestamp.
     **/
    final public function __toString(){}

}
}
namespace MongoDB\BSON {
interface TimestampInterface {
    /**
     * Returns the increment component of this TimestampInterface
     *
     * @return int Returns the increment component of this
     *   TimestampInterface.
     **/
    public function getIncrement();

    /**
     * Returns the timestamp component of this TimestampInterface
     *
     * @return int Returns the timestamp component of this
     *   TimestampInterface.
     **/
    public function getTimestamp();

    /**
     * Returns the string representation of this TimestampInterface
     *
     * @return string Returns the string representation of this
     *   TimestampInterface.
     **/
    public function __toString();

}
}
namespace MongoDB\BSON {
interface Type {
}
}
namespace MongoDB\BSON {
class Undefined implements MongoDB\BSON\Type, Serializable, JsonSerializable {
    /**
     * Returns a representation that can be converted to JSON
     *
     * @return mixed Returns data which can be serialized by {@link
     *   json_encode} to produce an extended JSON representation of the
     *   MongoDB\BSON\Undefined.
     **/
    final public function jsonSerialize(){}

    /**
     * Serialize a Undefined
     *
     * @return string Returns the serialized representation of the
     *   MongoDB\BSON\Undefined.
     **/
    final public function serialize(){}

    /**
     * Unserialize a Undefined
     *
     * @param string $serialized The serialized MongoDB\BSON\Undefined.
     * @return void Returns the unserialized MongoDB\BSON\Undefined.
     **/
    final public function unserialize($serialized){}

    /**
     * Construct a new Undefined (unused)
     *
     * MongoDB\BSON\Undefined objects are created through conversion from a
     * deprecated BSON type and cannot be constructed directly.
     **/
    final private function __construct(){}

    /**
     * Returns an empty string
     *
     * @return string Returns an empty string.
     **/
    final public function __toString(){}

}
}
namespace MongoDB\BSON {
interface Unserializable {
    /**
     * Constructs the object from a BSON array or document
     *
     * Called during unserialization of the object from BSON. The properties
     * of the BSON array or document will be passed to the method as an
     * array.
     *
     * Remember to check for an _id property when handling data from a BSON
     * document.
     *
     * @param array $data Properties within the BSON array or document.
     * @return void The return value from this method is ignored.
     **/
    public function bsonUnserialize($data);

}
}
namespace MongoDB\BSON {
class UTCDateTime implements MongoDB\BSON\UTCDateTimeInterface, MongoDB\BSON\Type, Serializable, JsonSerializable {
    /**
     * Returns a representation that can be converted to JSON
     *
     * @return mixed Returns data which can be serialized by {@link
     *   json_encode} to produce an extended JSON representation of the
     *   MongoDB\BSON\UTCDateTime.
     **/
    final public function jsonSerialize(){}

    /**
     * Serialize a UTCDateTime
     *
     * @return string Returns the serialized representation of the
     *   MongoDB\BSON\UTCDateTime.
     **/
    final public function serialize(){}

    /**
     * Returns the DateTime representation of this UTCDateTime
     *
     * @return DateTime Returns the DateTime representation of this
     *   UTCDateTime. The returned DateTime will use the UTC time zone.
     **/
    final public function toDateTime(){}

    /**
     * Unserialize a UTCDateTime
     *
     * @param string $serialized The serialized MongoDB\BSON\UTCDateTime.
     * @return void Returns the unserialized MongoDB\BSON\UTCDateTime.
     **/
    final public function unserialize($serialized){}

    /**
     * Construct a new UTCDateTime
     *
     * @param integer|float|string|DateTimeInterface $milliseconds Number
     *   of milliseconds since the Unix epoch (Jan 1, 1970). Negative values
     *   represent dates before 1970. This value may be provided as a 64-bit
     *   integer. For compatibility on 32-bit systems, this parameter may
     *   also be provided as a float or string. If the argument is a
     *   DateTimeInterface, the number of milliseconds since the Unix epoch
     *   will be derived from that value. Note that in versions of PHP
     *   versions before 7.1.0, DateTime and DateTimeImmutable objects
     *   constructed from the current time did not incorporate sub-second
     *   precision. If this argument is NULL, the current time will be used
     *   by default.
     **/
    final public function __construct($milliseconds){}

    /**
     * Returns the string representation of this UTCDateTime
     *
     * @return string Returns the string representation of this
     *   UTCDateTime.
     **/
    final public function __toString(){}

}
}
namespace MongoDB\BSON {
interface UTCDateTimeInterface {
    /**
     * Returns the DateTime representation of this UTCDateTimeInterface
     *
     * @return DateTime Returns the DateTime representation of this
     *   UTCDateTimeInterface. The returned DateTime should use the UTC time
     *   zone.
     **/
    public function toDateTime();

    /**
     * Returns the string representation of this UTCDateTimeInterface
     *
     * @return string Returns the string representation of this
     *   UTCDateTimeInterface.
     **/
    public function __toString();

}
}
namespace MongoDB\Driver {
class BulkWrite implements Countable {
    /**
     * Count number of write operations in the bulk
     *
     * Returns the number of write operations added to the
     * MongoDB\Driver\BulkWrite object.
     *
     * @return int Returns number of write operations added to the
     *   MongoDB\Driver\BulkWrite object.
     **/
    public function count(){}

    /**
     * Add a delete operation to the bulk
     *
     * Adds a delete operation to the MongoDB\Driver\BulkWrite.
     *
     * @param array|object $filter deleteOptions Option Type Description
     *   Default limit boolean Delete all matching documents (FALSE), or only
     *   the first matching document (TRUE) FALSE
     * @param array $deleteOptions
     * @return void
     **/
    public function delete($filter, $deleteOptions){}

    /**
     * Add an insert operation to the bulk
     *
     * Adds an insert operation to the MongoDB\Driver\BulkWrite.
     *
     * @param array|object $document A document to insert.
     * @return mixed Returns the _id of the inserted document. If the
     *   {@link document} did not have an _id, the MongoDB\BSON\ObjectId
     *   generated for the insert will be returned.
     **/
    public function insert($document){}

    /**
     * Add an update operation to the bulk
     *
     * Adds an update operation to the MongoDB\Driver\BulkWrite.
     *
     * @param array|object $filter A document containing either update
     *   operators (e.g. $set) or a replacement document (i.e. only
     *   field:value expressions).
     * @param array|object $newObj updateOptions Option Type Description
     *   Default arrayFilters array|object An array of filter documents that
     *   determines which array elements to modify for an update operation on
     *   an array field. See Specify arrayFilters for Array Update Operations
     *   in the MongoDB manual for more information. This option is available
     *   in MongoDB 3.6+ and will result in an exception at execution time if
     *   specified for an older server version. multi boolean Update only the
     *   first matching document if FALSE, or all matching documents TRUE.
     *   This option cannot be TRUE if {@link newObj} is a replacement
     *   document. FALSE upsert boolean If {@link filter} does not match an
     *   existing document, insert a single document. The document will be
     *   created from {@link newObj} if it is a replacement document (i.e. no
     *   update operators); otherwise, the operators in {@link newObj} will
     *   be applied to {@link filter} to create the new document. FALSE
     * @param array $updateOptions
     * @return void
     **/
    public function update($filter, $newObj, $updateOptions){}

    /**
     * Create a new BulkWrite
     *
     * Constructs a new MongoDB\Driver\BulkWrite, which is a mutable object
     * to which one or more write operations may be added. The write(s) may
     * then be executed with MongoDB\Driver\Manager::executeBulkWrite.
     *
     * @param array $options options Option Type Description Default
     *   bypassDocumentValidation boolean If TRUE, allows insert and update
     *   operations to circumvent document level validation. This option is
     *   available in MongoDB 3.2+ and is ignored for older server versions,
     *   which do not support document level validation. FALSE ordered
     *   boolean Ordered operations (TRUE) are executed serially on the
     *   MongoDB server, while unordered operations (FALSE) are sent to the
     *   server in an arbitrary order and may be executed in parallel. TRUE
     **/
    public function __construct($options){}

}
}
namespace MongoDB\Driver {
class Command {
    /**
     * Create a new Command
     *
     * Constructs a new MongoDB\Driver\Command, which is an immutable value
     * object that represents a database command. The command may then be
     * executed with MongoDB\Driver\Manager::executeCommand.
     *
     * The complete command document, which includes the command name and its
     * options, should be expressed in the {@link document} parameter. The
     * {@link commandOptions} parameter is only used to specify options
     * related to the execution of the command and the resulting
     * MongoDB\Driver\Cursor.
     *
     * @param array|object $document The complete command document, which
     *   will be sent to the server.
     * @param array $commandOptions commandOptions Option Type Description
     *   maxAwaitTimeMS integer Positive integer denoting the time limit in
     *   milliseconds for the server to block a getMore operation if no data
     *   is available. This option should only be used in conjunction with
     *   commands that return a tailable cursor (e.g. Change Streams).
     **/
    final public function __construct($document, $commandOptions){}

}
}
namespace MongoDB\Driver {
class Cursor implements Traversable {
    /**
     * Returns the ID for this cursor
     *
     * Returns the MongoDB\Driver\CursorId associated with this cursor. A
     * cursor ID uniquely identifies the cursor on the server.
     *
     * @return MongoDB\Driver\CursorId Returns the MongoDB\Driver\CursorId
     *   for this cursor.
     **/
    final public function getId(){}

    /**
     * Returns the server associated with this cursor
     *
     * Returns the MongoDB\Driver\Server associated with this cursor. This is
     * the server that executed the MongoDB\Driver\Query or
     * MongoDB\Driver\Command.
     *
     * @return MongoDB\Driver\Server Returns the MongoDB\Driver\Server
     *   associated with this cursor.
     **/
    final public function getServer(){}

    /**
     * Checks if the cursor may have additional results
     *
     * Checks whether the cursor may have additional results available to
     * read. A cursor is initially "alive" but may become "dead" for any of
     * the following reasons: Advancing a non-tailable cursor did not return
     * a document The cursor encountered an error The cursor read its last
     * batch to completion The cursor reached its configured limit This is
     * primarily useful with tailable cursors.
     *
     * @return bool Returns TRUE if additional results are not available,
     *   and FALSE otherwise.
     **/
    final public function isDead(){}

    /**
     * Sets a type map to use for BSON unserialization
     *
     * Sets the type map configuration to use when unserializing the BSON
     * results into PHP values.
     *
     * @param array $typemap
     * @return void
     **/
    final public function setTypeMap($typemap){}

    /**
     * Returns an array containing all results for this cursor
     *
     * Iterates the cursor and returns its results in an array. {@link
     * MongoDB\Driver\Cursor::setTypeMap} may be used to control how
     * documents are unserialized into PHP values.
     *
     * @return array Returns an array containing all results for this
     *   cursor.
     **/
    final public function toArray(){}

    /**
     * Create a new Cursor (not used)
     *
     * MongoDB\Driver\Cursor objects are returned as the result of an
     * executed command or query and cannot be constructed directly.
     **/
    final private function __construct(){}

}
}
namespace MongoDB\Driver {
class CursorId {
    /**
     * Create a new CursorId (not used)
     *
     * MongoDB\Driver\CursorId objects are returned from {@link
     * MongoDB\Driver\Cursor::getId} and cannot be constructed directly.
     **/
    final private function __construct(){}

    /**
     * String representation of the cursor ID
     *
     * Returns the string representation of the cursor ID.
     *
     * @return string Returns the string representation of the cursor ID.
     **/
    final public function __toString(){}

}
}
namespace MongoDB\Driver\Exception {
class AuthenticationException extends MongoDB\Driver\Exception\ConnectionException implements MongoDB\Driver\Exception\Exception {
}
}
namespace MongoDB\Driver\Exception {
class BulkWriteException extends MongoDB\Driver\Exception\WriteException implements MongoDB\Driver\Exception\Exception {
}
}
namespace MongoDB\Driver\Exception {
class CommandException extends MongoDB\Driver\Exception\ServerException implements MongoDB\Driver\Exception\Exception {
    /**
     * @var object
     **/
    protected $resultDocument;

    /**
     * Returns the result document for the failed command
     *
     * @return object The result document for the failed command.
     **/
    final public function getResultDocument(){}

}
}
namespace MongoDB\Driver\Exception {
class ConnectionException extends MongoDB\Driver\Exception\RuntimeException implements MongoDB\Driver\Exception\Exception {
}
}
namespace MongoDB\Driver\Exception {
class ConnectionTimeoutException extends MongoDB\Driver\Exception\ConnectionException implements MongoDB\Driver\Exception\Exception {
}
}
namespace MongoDB\Driver\Exception {
interface Exception {
}
}
namespace MongoDB\Driver\Exception {
class ExecutionTimeoutException extends MongoDB\Driver\Exception\ServerException implements MongoDB\Driver\Exception\Exception {
}
}
namespace MongoDB\Driver\Exception {
class InvalidArgumentException extends InvalidArgumentException implements MongoDB\Driver\Exception\Exception {
}
}
namespace MongoDB\Driver\Exception {
class LogicException extends LogicException implements MongoDB\Driver\Exception\Exception {
}
}
namespace MongoDB\Driver\Exception {
class RuntimeException extends RuntimeException implements MongoDB\Driver\Exception\Exception {
    /**
     * @var bool
     **/
    protected $errorLabels;

    /**
     * Returns whether an error label is associated with an exception
     *
     * Returns whether the {@link errorLabel} has been set for this
     * exception. Error labels are set by either the server or the driver to
     * indicated specific situations on which you might want to decide on how
     * you want to handle a specific exception. A common situation might be
     * to find out whether you can safely retry a transaction that failed due
     * to a transient error (like a networking issue, or a transaction
     * conflict). Examples of error labels are TransientTransactionError and
     * UnknownTransactionCommitResult.
     *
     * @param string $errorLabel The name of the errorLabel to test for.
     * @return bool Whether the given errorLabel is associated with this
     *   exception.
     **/
    final public function hasErrorLabel($errorLabel){}

}
}
namespace MongoDB\Driver\Exception {
class ServerException extends MongoDB\Driver\Exception\RuntimeException implements MongoDB\Driver\Exception\Exception {
}
}
namespace MongoDB\Driver\Exception {
class SSLConnectionException extends MongoDB\Driver\Exception\ConnectionException implements MongoDB\Driver\Exception\Exception {
}
}
namespace MongoDB\Driver\Exception {
class UnexpectedValueException extends UnexpectedValueException implements MongoDB\Driver\Exception\Exception {
}
}
namespace MongoDB\Driver\Exception {
abstract class WriteException extends MongoDB\Driver\Exception\ServerException implements MongoDB\Driver\Exception\Exception {
    /**
     * @var MongoDB\Driver\WriteResult
     **/
    protected $writeResult;

    /**
     * Returns the WriteResult for the failed write operation
     *
     * Returns the MongoDB\Driver\WriteResult for the failed write operation.
     * The {@link MongoDB\Driver\WriteResult::getWriteErrors} and {@link
     * MongoDB\Driver\WriteResult::getWriteConcernError} methods may be used
     * to get more details about the failure.
     *
     * @return MongoDB\Driver\WriteResult The MongoDB\Driver\WriteResult
     *   for the failed write operation.
     **/
    final public function getWriteResult(){}

}
}
namespace MongoDB\Driver {
class Manager {
    /**
     * Execute one or more write operations
     *
     * Executes one or more write operations on the primary server.
     *
     * A MongoDB\Driver\BulkWrite can be constructed with one or more write
     * operations of varying types (e.g. updates, deletes, and inserts). The
     * driver will attempt to send operations of the same type to the server
     * in as few requests as possible to optimize round trips.
     *
     * @param string $namespace options Option Type Description
     * @param MongoDB\Driver\BulkWrite $bulk
     * @param array $options
     * @return MongoDB\Driver\WriteResult
     **/
    final public function executeBulkWrite($namespace, $bulk, $options){}

    /**
     * Execute a database command
     *
     * Selects a server according to the "readPreference" option and executes
     * the command on that server. By default, the read preference from the
     * MongoDB Connection URI will be used.
     *
     * This method applies no special logic to the command. Although this
     * method accepts "readConcern" and "writeConcern" options, which will be
     * incorporated into the command document, those options will not default
     * to corresponding values from the MongoDB Connection URI nor will the
     * MongoDB server version be taken into account. Users are therefore
     * encouraged to use specific read and/or write command methods if
     * possible.
     *
     * @param string $db options Option Type Description
     * @param MongoDB\Driver\Command $command
     * @param array $options
     * @return MongoDB\Driver\Cursor
     **/
    final public function executeCommand($db, $command, $options){}

    /**
     * Execute a database query
     *
     * Selects a server according to the "readPreference" option and executes
     * the query on that server. By default, the read preference from the
     * MongoDB Connection URI will be used.
     *
     * @param string $namespace options Option Type Description
     * @param MongoDB\Driver\Query $query
     * @param array $options
     * @return MongoDB\Driver\Cursor
     **/
    final public function executeQuery($namespace, $query, $options){}

    /**
     * Execute a database command that reads
     *
     * Selects a server according to the "readPreference" option and executes
     * the command on that server. By default, the read preference from the
     * MongoDB Connection URI will be used.
     *
     * This method will apply logic that is specific to commands that read
     * (e.g. count) and take the MongoDB server version into account. The
     * "readConcern" option will default to the corresponding value from the
     * MongoDB Connection URI.
     *
     * @param string $db options Option Type Description
     * @param MongoDB\Driver\Command $command
     * @param array $options
     * @return MongoDB\Driver\Cursor
     **/
    final public function executeReadCommand($db, $command, $options){}

    /**
     * Execute a database command that reads and writes
     *
     * Executes the command on the primary server.
     *
     * This method will apply logic that is specific to commands that read
     * and write (e.g. findAndModify) and take the MongoDB server version
     * into account. The "readConcern" and "writeConcern" options will
     * default to the corresponding values from the MongoDB Connection URI.
     *
     * @param string $db options Option Type Description
     * @param MongoDB\Driver\Command $command
     * @param array $options
     * @return MongoDB\Driver\Cursor
     **/
    final public function executeReadWriteCommand($db, $command, $options){}

    /**
     * Execute a database command that writes
     *
     * Executes the command on the primary server.
     *
     * This method will apply logic that is specific to commands that write
     * (e.g. drop) and take the MongoDB server version into account. The
     * "writeConcern" option will default to the corresponding value from the
     * MongoDB Connection URI.
     *
     * @param string $db options Option Type Description
     * @param MongoDB\Driver\Command $command
     * @param array $options
     * @return MongoDB\Driver\Cursor
     **/
    final public function executeWriteCommand($db, $command, $options){}

    /**
     * Return the ReadConcern for the Manager
     *
     * Returns the MongoDB\Driver\ReadConcern for the Manager, which is
     * derived from its URI options. This is the default read concern for
     * queries and commands executed on the Manager.
     *
     * @return MongoDB\Driver\ReadConcern The MongoDB\Driver\ReadConcern
     *   for the Manager.
     **/
    final public function getReadConcern(){}

    /**
     * Return the ReadPreference for the Manager
     *
     * Returns the MongoDB\Driver\ReadPreference for the Manager, which is
     * derived from its URI options. This is the default read preference for
     * queries and commands executed on the Manager.
     *
     * @return MongoDB\Driver\ReadPreference The
     *   MongoDB\Driver\ReadPreference for the Manager.
     **/
    final public function getReadPreference(){}

    /**
     * Return the servers to which this manager is connected
     *
     * Returns an array of MongoDB\Driver\Server instances to which this
     * manager is connected.
     *
     * @return array Returns an array of MongoDB\Driver\Server instances to
     *   which this manager is connected.
     **/
    final public function getServers(){}

    /**
     * Return the WriteConcern for the Manager
     *
     * Returns the MongoDB\Driver\WriteConcern for the Manager, which is
     * derived from its URI options. This is the default write concern for
     * writes and commands executed on the Manager.
     *
     * @return MongoDB\Driver\WriteConcern The MongoDB\Driver\WriteConcern
     *   for the Manager.
     **/
    final public function getWriteConcern(){}

    /**
     * Select a server matching a read preference
     *
     * Selects a MongoDB\Driver\Server matching {@link readPreference}. This
     * may be used to preselect a server in order to perform version checking
     * before executing an operation.
     *
     * @param MongoDB\Driver\ReadPreference $readPreference The read
     *   preference to use for selecting a server.
     * @return MongoDB\Driver\Server Returns a MongoDB\Driver\Server
     *   matching the read preference.
     **/
    final public function selectServer($readPreference){}

    /**
     * Start a new client session for use with this client
     *
     * Creates a MongoDB\Driver\Session for the given options. The session
     * may then be specified when executing commands, queries, and write
     * operations.
     *
     * @param array $options options Option Type Description Default
     *   causalConsistency boolean Configure causal consistency in a session.
     *   If TRUE, each operation in the session will be causally ordered
     *   after the previous read or write operation. Set to FALSE to disable
     *   causal consistency. See Casual Consistency in the MongoDB manual for
     *   more information. TRUE defaultTransactionOptions array Default
     *   options to apply to newly created transactions. These options are
     *   used unless they are overridden when a transaction is started with
     *   different value for each option. options Option Type Description
     *   This option is available in MongoDB 4.0+. []
     * @return MongoDB\Driver\Session Returns a MongoDB\Driver\Session.
     **/
    final public function startSession($options){}

    /**
     * Create new MongoDB Manager
     *
     * Constructs a new MongoDB\Driver\Manager object with the specified
     * options.
     *
     * @param string $uri A mongodb:// connection URI:
     *   
     *   mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
     *   
     *   For details on supported options, see Connection String Options in
     *   the MongoDB manual. Connection pool options are not supported, as
     *   the PHP driver does not implement connection pools. The {@link uri}
     *   is a URL, hence any special characters in its components need to be
     *   URL encoded according to RFC 3986. This is particularly relevant to
     *   the username and password, which can often include special
     *   characters such as @, :, or %. When connecting via a Unix domain
     *   socket, the socket path may contain special characters such as
     *   slashes and must be encoded. The {@link rawurlencode} function may
     *   be used to encode constituent parts of the URI.
     * @param array $uriOptions Additional connection string options, which
     *   will overwrite any options with the same name in the {@link uri}
     *   parameter.
     *   
     *   uriOptions Option Type Description appname string MongoDB 3.4+ has
     *   the ability to annotate connections with metadata provided by the
     *   connecting client. This metadata is included in the server's logs
     *   upon establishing a connection and also recorded in slow query logs
     *   when database profiling is enabled. This option may be used to
     *   specify an application name, which will be included in the metadata.
     *   The value cannot exceed 128 characters in length. authMechanism
     *   string The authentication mechanism that MongoDB will use to
     *   authenticate the connection. For additional details and a list of
     *   supported values, see Authentication Options in the MongoDB manual.
     *   authMechanismProperties array Properties for the selected
     *   authentication mechanism. For additional details and a list of
     *   supported properties, see the Driver Authentication Specification.
     *   When not specified in the URI string, this option is expressed as an
     *   array of key/value pairs. The keys and values in this array should
     *   be strings. authSource string The database name associated with the
     *   user's credentials. Defaults to the database component of the
     *   connection URI. For authentication mechanisms that delegate
     *   credential storage to other services (e.g. GSSAPI), this should be
     *   "$external". canonicalizeHostname boolean If TRUE, the driver will
     *   resolve the real hostname for the server IP address before
     *   authenticating via SASL. Some underlying GSSAPI layers already do
     *   this, but the functionality may be disabled in their config (e.g.
     *   krb.conf). Defaults to FALSE. This option is a deprecated alias for
     *   the "CANONICALIZE_HOST_NAME" property of the
     *   "authMechanismProperties" URI option. compressors string A
     *   prioritized, comma-delimited list of compressors that the client
     *   wants to use. Messages are only compressed if the client and server
     *   share any compressors in common, and the compressor used in each
     *   direction will depend on the individual configuration of the server
     *   or driver. See the Driver Compression Specification for more
     *   information. connectTimeoutMS integer The time in milliseconds to
     *   attempt a connection before timing out. Defaults to 10,000
     *   milliseconds. gssapiServiceName string Set the Kerberos service name
     *   when connecting to Kerberized MongoDB instances. This value must
     *   match the service name set on MongoDB instances (i.e.
     *   saslServiceName server parameter). Defaults to "mongodb". This
     *   option is a deprecated alias for the "SERVICE_NAME" property of the
     *   "authMechanismProperties" URI option. heartbeatFrequencyMS integer
     *   Specifies the interval in milliseconds between the driver's checks
     *   of the MongoDB topology, counted from the end of the previous check
     *   until the beginning of the next one. Defaults to 60,000
     *   milliseconds. Per the Server Discovery and Monitoring Specification,
     *   this value cannot be less than 500 milliseconds. journal boolean
     *   Corresponds to the default write concerns {@link journal} parameter.
     *   If TRUE, writes will require acknowledgement from MongoDB that the
     *   operation has been written to the journal. For details, see
     *   MongoDB\Driver\WriteConcern. localThresholdMS integer The size in
     *   milliseconds of the latency window for selecting among multiple
     *   suitable MongoDB instances while resolving a read preference.
     *   Defaults to 15 milliseconds. maxStalenessSeconds integer Corresponds
     *   to the read preference's "maxStalenessSeconds". Specifies, in
     *   seconds, how stale a secondary can be before the client stops using
     *   it for read operations. By default, there is no maximum staleness
     *   and clients will not consider a secondary’s lag when choosing
     *   where to direct a read operation. For details, see
     *   MongoDB\Driver\ReadPreference. If specified, the max staleness must
     *   be a signed 32-bit integer greater than or equal to
     *   MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS (i.e.
     *   90 seconds). password string The password for the user being
     *   authenticated. This option is useful if the password contains
     *   special characters, which would otherwise need to be URL encoded for
     *   the connection URI. readConcernLevel string Corresponds to the read
     *   concern's {@link level} parameter. Specifies the level of read
     *   isolation. For details, see MongoDB\Driver\ReadConcern.
     *   readPreference string Corresponds to the read preferences's {@link
     *   mode} parameter. Defaults to "primary". For details, see
     *   MongoDB\Driver\ReadPreference. readPreferenceTags array Corresponds
     *   to the read preferences's {@link tagSets} parameter. Tag sets allow
     *   you to target read operations to specific members of a replica set.
     *   For details, see MongoDB\Driver\ReadPreference. When not specified
     *   in the URI string, this option is expressed as an array consistent
     *   with the format expected by {@link
     *   MongoDB\Driver\ReadPreference::__construct}. replicaSet string
     *   Specifies the name of the replica set. retryWrites boolean If TRUE,
     *   the driver will automatically retry certain write operations that
     *   fail due to transient network errors or replica set elections.
     *   Defaults to FALSE. See Retryable Writes in the MongoDB manual for
     *   more information. safe boolean If TRUE, specifies 1 for the default
     *   write concerns {@link w} parameter. If FALSE, 0 is specified. For
     *   details, see MongoDB\Driver\WriteConcern. This option is deprecated
     *   and should not be used. serverSelectionTimeoutMS integer Specifies
     *   how long in milliseconds to block for server selection before
     *   throwing an exception. Defaults to 30,000 milliseconds.
     *   serverSelectionTryOnce boolean When TRUE, instructs the driver to
     *   scan the MongoDB deployment exactly once after server selection
     *   fails and then either select a server or raise an error. When FALSE,
     *   the driver blocks and searches for a server up to the
     *   "serverSelectionTimeoutMS" value. Defaults to TRUE. slaveOk boolean
     *   Specifies "secondaryPreferred" for the read preference mode if TRUE.
     *   For details, see MongoDB\Driver\ReadPreference. This option is
     *   deprecated and should not be used. socketCheckIntervalMS integer If
     *   a socket has not been used recently, the driver must check it via an
     *   isMaster command before using it for any operation. Defaults to
     *   5,000 milliseconds. socketTimeoutMS integer The time in milliseconds
     *   to attempt a send or receive on a socket before timing out. Defaults
     *   to 300,000 milliseconds (i.e. five minutes). ssl boolean Initiates
     *   the connection with TLS/SSL if TRUE. Defaults to FALSE. username
     *   string The username for the user being authenticated. This option is
     *   useful if the username contains special characters, which would
     *   otherwise need to be URL encoded for the connection URI. w
     *   integer|string Corresponds to the default write concerns {@link w}
     *   parameter. For details, see MongoDB\Driver\WriteConcern. wTimeoutMS
     *   integer|string Corresponds to the default write concerns {@link
     *   wtimeout} parameter. Specifies a time limit, in milliseconds, for
     *   the write concern. For details, see MongoDB\Driver\WriteConcern. If
     *   specified, wTimeoutMS must be a signed 32-bit integer greater than
     *   or equal to zero. zlibCompressionLevel integer Specifies the
     *   compression level to use for the zlib compressor. This option has no
     *   effect if zlib is not included in the "compressors" URI option. See
     *   the Driver Compression Specification for more information.
     * @param array $driverOptions driverOptions Option Type Description
     *   allow_invalid_hostname boolean Disables hostname validation if TRUE.
     *   Defaults to FALSE. Allowing invalid hostnames may expose the driver
     *   to a man-in-the-middle attack. ca_dir string Path to a correctly
     *   hashed certificate directory. The system certificate store will be
     *   used by default. Falls back to the deprecated "capath" SSL context
     *   option if not specified. ca_file string Path to a certificate
     *   authority file. The system certificate store will be used by
     *   default. Falls back to the deprecated "cafile" SSL context option if
     *   not specified. crl_file string Path to a certificate revocation list
     *   file. pem_file string Path to a PEM encoded certificate to use for
     *   client authentication. Falls back to the deprecated "local_cert" SSL
     *   context option if not specified. pem_pwd string Passphrase for the
     *   PEM encoded certificate (if applicable). Falls back to the
     *   deprecated "passphrase" SSL context option if not specified. context
     *   resource SSL context options to be used as fallbacks for other
     *   driver options (as specified). Note that the driver does not consult
     *   the default stream context. This option is supported for backwards
     *   compatibility, but should be considered deprecated.
     *   weak_cert_validation boolean Disables certificate validation if
     *   TRUE. Defaults to FALSE Falls back to the deprecated
     *   "allow_self_signed" SSL context option if not specified.
     **/
    final public function __construct($uri, $uriOptions, $driverOptions){}

}
}
namespace MongoDB\Driver\Monitoring {
class CommandFailedEvent {
    /**
     * Returns the command name
     *
     * Returns the command name (e.g. "find", "aggregate").
     *
     * @return string Returns the command name.
     **/
    final public function getCommandName(){}

    /**
     * Returns the command's duration in microseconds
     *
     * The command's duration is a calculated value that includes the time to
     * send the message and receive the reply from the server.
     *
     * @return int Returns the command's duration in microseconds.
     **/
    final public function getDurationMicros(){}

    /**
     * Returns the Exception associated with the failed command
     *
     * @return Exception Returns the Exception associated with the failed
     *   command.
     **/
    final public function getError(){}

    /**
     * Returns the command's operation ID
     *
     * The operation ID is generated by the driver and may be used to link
     * events together such as bulk write operations, which may have been
     * split across several commands at the protocol level.
     *
     * @return string Returns the command's operation ID.
     **/
    final public function getOperationId(){}

    /**
     * Returns the command reply document
     *
     * The reply document will be converted from BSON to PHP using the
     * default deserialization rules (e.g. BSON documents will be converted
     * to stdClass).
     *
     * @return object Returns the command reply document as a stdClass
     *   object.
     **/
    final public function getReply(){}

    /**
     * Returns the command's request ID
     *
     * The request ID is generated by the driver and may be used to associate
     * this MongoDB\Driver\Monitoring\CommandFailedEvent with a previous
     * MongoDB\Driver\Monitoring\CommandStartedEvent.
     *
     * @return string Returns the command's request ID.
     **/
    final public function getRequestId(){}

    /**
     * Returns the Server on which the command was executed
     *
     * Returns the MongoDB\Driver\Server on which the command was executed.
     *
     * @return MongoDB\Driver\Server Returns the MongoDB\Driver\Server on
     *   which the command was executed.
     **/
    final public function getServer(){}

}
}
namespace MongoDB\Driver\Monitoring {
class CommandStartedEvent {
    /**
     * Returns the command document
     *
     * The reply document will be converted from BSON to PHP using the
     * default deserialization rules (e.g. BSON documents will be converted
     * to stdClass).
     *
     * @return object Returns the command document as a stdClass object.
     **/
    final public function getCommand(){}

    /**
     * Returns the command name
     *
     * Returns the command name (e.g. "find", "aggregate").
     *
     * @return string Returns the command name.
     **/
    final public function getCommandName(){}

    /**
     * Returns the database on which the command was executed
     *
     * @return string Returns the database on which the command was
     *   executed.
     **/
    final public function getDatabaseName(){}

    /**
     * Returns the command's operation ID
     *
     * The operation ID is generated by the driver and may be used to link
     * events together such as bulk write operations, which may have been
     * split across several commands at the protocol level.
     *
     * @return string Returns the command's operation ID.
     **/
    final public function getOperationId(){}

    /**
     * Returns the command's request ID
     *
     * The request ID is generated by the driver and may be used to associate
     * this MongoDB\Driver\Monitoring\CommandStartedEvent with a later
     * MongoDB\Driver\Monitoring\CommandFailedEvent or
     * MongoDB\Driver\Monitoring\CommandSucceededEvent.
     *
     * @return string Returns the command's request ID.
     **/
    final public function getRequestId(){}

    /**
     * Returns the Server on which the command was executed
     *
     * Returns the MongoDB\Driver\Server on which the command was executed.
     *
     * @return MongoDB\Driver\Server Returns the MongoDB\Driver\Server on
     *   which the command was executed.
     **/
    final public function getServer(){}

}
}
namespace MongoDB\Driver\Monitoring {
interface CommandSubscriber extends MongoDB\Driver\Monitoring\Subscriber {
    /**
     * Notification method for a failed command
     *
     * If the subscriber has been registered with {@link
     * MongoDB\Driver\Monitoring\addSubscriber}, the driver will call this
     * method when a command has failed.
     *
     * @param MongoDB\Driver\Monitoring\CommandFailedEvent $event An event
     *   object encapsulating information about the failed command.
     * @return void
     **/
    public function commandFailed($event);

    /**
     * Notification method for a started command
     *
     * If the subscriber has been registered with {@link
     * MongoDB\Driver\Monitoring\addSubscriber}, the driver will call this
     * method when a command has started.
     *
     * @param MongoDB\Driver\Monitoring\CommandStartedEvent $event An event
     *   object encapsulating information about the started command.
     * @return void
     **/
    public function commandStarted($event);

    /**
     * Notification method for a successful command
     *
     * If the subscriber has been registered with {@link
     * MongoDB\Driver\Monitoring\addSubscriber}, the driver will call this
     * method when a command has succeeded.
     *
     * @param MongoDB\Driver\Monitoring\CommandSucceededEvent $event An
     *   event object encapsulating information about the successful command.
     * @return void
     **/
    public function commandSucceeded($event);

}
}
namespace MongoDB\Driver\Monitoring {
class CommandSucceededEvent {
    /**
     * Returns the command name
     *
     * Returns the command name (e.g. "find", "aggregate").
     *
     * @return string Returns the command name.
     **/
    final public function getCommandName(){}

    /**
     * Returns the command's duration in microseconds
     *
     * The command's duration is a calculated value that includes the time to
     * send the message and receive the reply from the server.
     *
     * @return int Returns the command's duration in microseconds.
     **/
    final public function getDurationMicros(){}

    /**
     * Returns the command's operation ID
     *
     * The operation ID is generated by the driver and may be used to link
     * events together such as bulk write operations, which may have been
     * split across several commands at the protocol level.
     *
     * @return string Returns the command's operation ID.
     **/
    final public function getOperationId(){}

    /**
     * Returns the command reply document
     *
     * The reply document will be converted from BSON to PHP using the
     * default deserialization rules (e.g. BSON documents will be converted
     * to stdClass).
     *
     * @return object Returns the command reply document as a stdClass
     *   object.
     **/
    final public function getReply(){}

    /**
     * Returns the command's request ID
     *
     * The request ID is generated by the driver and may be used to associate
     * this MongoDB\Driver\Monitoring\CommandSucceededEvent with a previous
     * MongoDB\Driver\Monitoring\CommandStartedEvent.
     *
     * @return string Returns the command's request ID.
     **/
    final public function getRequestId(){}

    /**
     * Returns the Server on which the command was executed
     *
     * Returns the MongoDB\Driver\Server on which the command was executed.
     *
     * @return MongoDB\Driver\Server Returns the MongoDB\Driver\Server on
     *   which the command was executed.
     **/
    final public function getServer(){}

}
}
namespace MongoDB\Driver\Monitoring {
interface Subscriber {
}
}
namespace MongoDB\Driver {
class Query {
    /**
     * Create a new Query
     *
     * Constructs a new MongoDB\Driver\Query, which is an immutable value
     * object that represents a database query. The query may then be
     * executed with MongoDB\Driver\Manager::executeQuery.
     *
     * @param array|object $filter queryOptions Option Type Description
     *   allowPartialResults boolean For queries against a sharded
     *   collection, returns partial results from the mongos if some shards
     *   are unavailable instead of throwing an error. Falls back to the
     *   deprecated "partial" option if not specified. awaitData boolean Use
     *   in conjunction with the "tailable" option to block a getMore
     *   operation on the cursor temporarily if at the end of data rather
     *   than returning no data. After a timeout period, the query returns as
     *   normal. batchSize integer The number of documents to return in the
     *   first batch. Defaults to 101. A batch size of 0 means that the
     *   cursor will be established, but no documents will be returned in the
     *   first batch. In versions of MongoDB before 3.2, where queries use
     *   the legacy wire protocol OP_QUERY, a batch size of 1 will close the
     *   cursor irrespective of the number of matched documents. comment
     *   string A comment to attach to the query to help interpret and trace
     *   query profile data. Falls back to the deprecated "$comment" modifier
     *   if not specified. exhaust boolean Stream the data down full blast in
     *   multiple "more" packages, on the assumption that the client will
     *   fully read all data queried. Faster when you are pulling a lot of
     *   data and know you want to pull it all down. Note: the client is not
     *   allowed to not read all the data unless it closes the connection.
     *   This option is not supported by the find command in MongoDB 3.2+ and
     *   will force the driver to use the legacy wire protocol version (i.e.
     *   OP_QUERY). explain boolean If TRUE, the returned
     *   MongoDB\Driver\Cursor will contain a single document that describes
     *   the process and indexes used to return the query. Falls back to the
     *   deprecated "$explain" modifier if not specified. This option is not
     *   supported by the find command in MongoDB 3.2+ and will only be
     *   respected when using the legacy wire protocol version (i.e.
     *   OP_QUERY). The explain command should be used on MongoDB 3.0+. hint
     *   string|array|object Index specification. Specify either the index
     *   name as a string or the index key pattern. If specified, then the
     *   query system will only consider plans using the hinted index. Falls
     *   back to the deprecated "hint" option if not specified. limit integer
     *   The maximum number of documents to return. If unspecified, then
     *   defaults to no limit. A limit of 0 is equivalent to setting no
     *   limit. A negative limit is will be interpreted as a positive limit
     *   with the "singleBatch" option set to TRUE. This behavior is
     *   supported for backwards compatibility, but should be considered
     *   deprecated. max array|object The exclusive upper bound for a
     *   specific index. Falls back to the deprecated "$max" modifier if not
     *   specified. maxAwaitTimeMS integer Positive integer denoting the time
     *   limit in milliseconds for the server to block a getMore operation if
     *   no data is available. This option should only be used in conjunction
     *   with the "tailable" and "awaitData" options. maxScan integer This
     *   option is deprecated and should not be used. Positive integer
     *   denoting the maximum number of documents or index keys to scan when
     *   executing the query. Falls back to the deprecated "$maxScan"
     *   modifier if not specified. maxTimeMS integer The cumulative time
     *   limit in milliseconds for processing operations on the cursor.
     *   MongoDB aborts the operation at the earliest following interrupt
     *   point. Falls back to the deprecated "$maxTimeMS" modifier if not
     *   specified. min array|object The inclusive lower bound for a specific
     *   index. Falls back to the deprecated "$min" modifier if not
     *   specified. modifiers array Meta operators modifying the output or
     *   behavior of a query. Use of these operators is deprecated in favor
     *   of named options. noCursorTimeout boolean Prevents the server from
     *   timing out idle cursors after an inactivity period (10 minutes).
     *   oplogReplay boolean Internal use for replica sets. To use
     *   oplogReplay, you must include the following condition in the filter:
     *   
     *   [ 'ts' => [ '$gte' => <timestamp> ] ]
     *   
     *   projection array|object The projection specification to determine
     *   which fields to include in the returned documents. If you are using
     *   the ODM functionality to deserialise documents as their original PHP
     *   class, make sure that you include the __pclass field in the
     *   projection. This is required for the deserialization to work and
     *   without it, the driver will return (by default) a stdClass object
     *   instead. readConcern MongoDB\Driver\ReadConcern A read concern to
     *   apply to the operation. By default, the read concern from the
     *   MongoDB Connection URI will be used. This option is available in
     *   MongoDB 3.2+ and will result in an exception at execution time if
     *   specified for an older server version. returnKey boolean If TRUE,
     *   returns only the index keys in the resulting documents. Default
     *   value is FALSE. If TRUE and the find command does not use an index,
     *   the returned documents will be empty. Falls back to the deprecated
     *   "$returnKey" modifier if not specified. showRecordId boolean
     *   Determines whether to return the record identifier for each
     *   document. If TRUE, adds a top-level "$recordId" field to the
     *   returned documents. Falls back to the deprecated "$showDiskLoc"
     *   modifier if not specified. singleBatch boolean Determines whether to
     *   close the cursor after the first batch. Defaults to FALSE. skip
     *   integer Number of documents to skip. Defaults to 0. slaveOk boolean
     *   Allow query of replica set secondaries snapshot boolean This option
     *   is deprecated and should not be used. Prevents the cursor from
     *   returning a document more than once because of an intervening write
     *   operation. Falls back to the deprecated "$snapshot" modifier if not
     *   specified. sort array|object The sort specification for the ordering
     *   of the results. Falls back to the deprecated "$orderby" modifier if
     *   not specified. tailable boolean Returns a tailable cursor for a
     *   capped collection.
     * @param array $queryOptions
     **/
    final public function __construct($filter, $queryOptions){}

}
}
namespace MongoDB\Driver {
class ReadConcern implements MongoDB\BSON\Serializable {
    /**
     * Returns an object for BSON serialization
     *
     * @return object Returns an object for serializing the ReadConcern as
     *   BSON.
     **/
    final public function bsonSerialize(){}

    /**
     * Returns the ReadConcerns "level" option
     *
     * @return string|null Returns the ReadConcerns "level" option.
     **/
    final public function getLevel(){}

    /**
     * Checks if this is the default read concern
     *
     * Returns whether this is the default read concern (i.e. no options are
     * specified). This method is primarily intended to be used in
     * conjunction with MongoDB\Driver\Manager::getReadConcern to determine
     * whether the Manager has been constructed without any read concern
     * options.
     *
     * The driver will not include a default read concern in its read
     * operations (e.g. MongoDB\Driver\Manager::executeQuery) in order order
     * to allow the server to apply its own default. Libraries that access
     * the Manager's read concern to include it in their own read commands
     * should use this method to ensure that default read concerns are left
     * unset.
     *
     * @return bool Returns TRUE if this is the default read concern and
     *   FALSE otherwise.
     **/
    final public function isDefault(){}

    /**
     * Create a new ReadConcern
     *
     * Constructs a new MongoDB\Driver\ReadConcern, which is an immutable
     * value object.
     *
     * @param string $level The read concern level. You may use, but are
     *   not limited to, one of the class constants.
     **/
    final public function __construct($level){}

}
}
namespace MongoDB\Driver {
class ReadPreference implements MongoDB\BSON\Serializable {
    /**
     * Returns an object for BSON serialization
     *
     * @return object Returns an object for serializing the ReadPreference
     *   as BSON.
     **/
    final public function bsonSerialize(){}

    /**
     * Returns the ReadPreferences "maxStalenessSeconds" option
     *
     * @return int Returns the ReadPreferences "maxStalenessSeconds"
     *   option. If no max staleness has been specified,
     *   MongoDB\Driver\ReadPreference::NO_MAX_STALENESS will be returned.
     **/
    final public function getMaxStalenessSeconds(){}

    /**
     * Returns the ReadPreferences "mode" option
     *
     * @return int Returns the ReadPreferences "mode" option.
     **/
    final public function getMode(){}

    /**
     * Returns the ReadPreferences "tagSets" option
     *
     * @return array Returns the ReadPreferences "tagSets" option.
     **/
    final public function getTagSets(){}

    /**
     * Create a new ReadPreference
     *
     * Constructs a new MongoDB\Driver\ReadPreference, which is an immutable
     * value object.
     *
     * @param string|integer $mode Read preference mode Value Description
     *   MongoDB\Driver\ReadPreference::RP_PRIMARY or "primary" All
     *   operations read from the current replica set primary. This is the
     *   default read preference for MongoDB.
     *   MongoDB\Driver\ReadPreference::RP_PRIMARY_PREFERRED or
     *   "primaryPreferred" In most situations, operations read from the
     *   primary but if it is unavailable, operations read from secondary
     *   members. MongoDB\Driver\ReadPreference::RP_SECONDARY or "secondary"
     *   All operations read from the secondary members of the replica set.
     *   MongoDB\Driver\ReadPreference::RP_SECONDARY_PREFERRED or
     *   "secondaryPreferred" In most situations, operations read from
     *   secondary members but if no secondary members are available,
     *   operations read from the primary.
     *   MongoDB\Driver\ReadPreference::RP_NEAREST or "nearest" Operations
     *   read from member of the replica set with the least network latency,
     *   irrespective of the members type.
     * @param array $tagSets Tag sets allow you to target read operations
     *   to specific members of a replica set. This parameter should be an
     *   array of associative arrays, each of which contain zero or more
     *   key/value pairs. When selecting a server for a read operation, the
     *   driver attempt to select a node having all tags in a set (i.e. the
     *   associative array of key/value pairs). If selection fails, the
     *   driver will attempt subsequent sets. An empty tag set (array()) will
     *   match any node and may be used as a fallback. Tags are not
     *   compatible with the MongoDB\Driver\ReadPreference::RP_PRIMARY mode
     *   and, in general, only apply when selecting a secondary member of a
     *   set for a read operation. However, the
     *   MongoDB\Driver\ReadPreference::RP_NEAREST mode, when combined with a
     *   tag set, selects the matching member with the lowest network
     *   latency. This member may be a primary or secondary.
     * @param array $options options Option Type Description
     *   maxStalenessSeconds integer Specifies a maximum replication lag, or
     *   "staleness", for reads from secondaries. When a secondarys estimated
     *   staleness exceeds this value, the driver stops using it for read
     *   operations. If specified, the max staleness must be a signed 32-bit
     *   integer greater than or equal to
     *   MongoDB\Driver\ReadPreference::SMALLEST_MAX_STALENESS_SECONDS.
     *   Defaults to MongoDB\Driver\ReadPreference::NO_MAX_STALENESS, which
     *   means that the driver will not consider a secondarys lag when
     *   choosing where to direct a read operation. This option is not
     *   compatible with the MongoDB\Driver\ReadPreference::RP_PRIMARY mode.
     *   Specifying a max staleness also requires all MongoDB instances in
     *   the deployment to be using MongoDB 3.4+. An exception will be thrown
     *   at execution time if any MongoDB instances in the deployment are of
     *   an older server version.
     **/
    final public function __construct($mode, $tagSets, $options){}

}
}
namespace MongoDB\Driver {
class Server {
    /**
     * Execute one or more write operations on this server
     *
     * Executes one or more write operations on this server.
     *
     * A MongoDB\Driver\BulkWrite can be constructed with one or more write
     * operations of varying types (e.g. updates, deletes, and inserts). The
     * driver will attempt to send operations of the same type to the server
     * in as few requests as possible to optimize round trips.
     *
     * @param string $namespace options Option Type Description
     * @param MongoDB\Driver\BulkWrite $bulk
     * @param array $options
     * @return MongoDB\Driver\WriteResult
     **/
    final public function executeBulkWrite($namespace, $bulk, $options){}

    /**
     * Execute a database command on this server
     *
     * Executes the command on this server.
     *
     * This method applies no special logic to the command. Although this
     * method accepts "readConcern" and "writeConcern" options, which will be
     * incorporated into the command document, those options will not default
     * to corresponding values from the MongoDB Connection URI nor will the
     * MongoDB server version be taken into account. Users are therefore
     * encouraged to use specific read and/or write command methods if
     * possible.
     *
     * @param string $db options Option Type Description
     * @param MongoDB\Driver\Command $command
     * @param array $options
     * @return MongoDB\Driver\Cursor
     **/
    final public function executeCommand($db, $command, $options){}

    /**
     * Execute a database query on this server
     *
     * Executes the query on this server.
     *
     * @param string $namespace options Option Type Description
     * @param MongoDB\Driver\Query $query
     * @param array $options
     * @return MongoDB\Driver\Cursor
     **/
    final public function executeQuery($namespace, $query, $options){}

    /**
     * Execute a database command that reads on this server
     *
     * Executes the command on this server.
     *
     * This method will apply logic that is specific to commands that read
     * (e.g. count) and take the MongoDB server version into account. The
     * "readConcern" option will default to the corresponding value from the
     * MongoDB Connection URI.
     *
     * @param string $db options Option Type Description
     * @param MongoDB\Driver\Command $command
     * @param array $options
     * @return MongoDB\Driver\Cursor
     **/
    final public function executeReadCommand($db, $command, $options){}

    /**
     * Execute a database command that reads and writes on this server
     *
     * Executes the command on this server.
     *
     * This method will apply logic that is specific to commands that read
     * and write (e.g. findAndModify) and take the MongoDB server version
     * into account. The "readConcern" and "writeConcern" options will
     * default to the corresponding values from the MongoDB Connection URI.
     *
     * @param string $db options Option Type Description
     * @param MongoDB\Driver\Command $command
     * @param array $options
     * @return MongoDB\Driver\Cursor
     **/
    final public function executeReadWriteCommand($db, $command, $options){}

    /**
     * Execute a database command that writes on this server
     *
     * Executes the command on this server.
     *
     * This method will apply logic that is specific to commands that write
     * (e.g. drop) and take the MongoDB server version into account. The
     * "writeConcern" option will default to the corresponding value from the
     * MongoDB Connection URI.
     *
     * @param string $db options Option Type Description
     * @param MongoDB\Driver\Command $command
     * @param array $options
     * @return MongoDB\Driver\Cursor
     **/
    final public function executeWriteCommand($db, $command, $options){}

    /**
     * Returns the hostname of this server
     *
     * @return string Returns the hostname of this server.
     **/
    final public function getHost(){}

    /**
     * Returns an array of information about this server
     *
     * @return array Returns an array of information about this server.
     **/
    final public function getInfo(){}

    /**
     * Returns the latency of this server
     *
     * Returns the latency of this server (i.e. the clients measured round
     * trip time of an ismaster command).
     *
     * @return string Returns the latency of this server.
     **/
    final public function getLatency(){}

    /**
     * Returns the port on which this server is listening
     *
     * @return int Returns the port on which this server is listening.
     **/
    final public function getPort(){}

    /**
     * Returns an array of tags describing this server in a replica set
     *
     * Returns an array of tags used to describe this server in a replica
     * set. The array will contain zero or more string key and value pairs.
     *
     * @return array Returns an array of tags used to describe this server
     *   in a replica set.
     **/
    final public function getTags(){}

    /**
     * Returns an integer denoting the type of this server
     *
     * Returns an integer denoting the type of this server. The value will
     * correlate with a MongoDB\Driver\Server constant.
     *
     * @return int Returns an integer denoting the type of this server.
     **/
    final public function getType(){}

    /**
     * Checks if this server is an arbiter member of a replica set
     *
     * Returns whether this server is an arbiter member of a replica set.
     *
     * @return bool Returns TRUE if this server is an arbiter member of a
     *   replica set, and FALSE otherwise.
     **/
    final public function isArbiter(){}

    /**
     * Checks if this server is a hidden member of a replica set
     *
     * Returns whether this server is a hidden member of a replica set.
     *
     * @return bool Returns TRUE if this server is a hidden member of a
     *   replica set, and FALSE otherwise.
     **/
    final public function isHidden(){}

    /**
     * Checks if this server is a passive member of a replica set
     *
     * Returns whether this server is a passive member of a replica set (i.e.
     * its priority is 0).
     *
     * @return bool Returns TRUE if this server is a passive member of a
     *   replica set, and FALSE otherwise.
     **/
    final public function isPassive(){}

    /**
     * Checks if this server is a primary member of a replica set
     *
     * Returns whether this server is a primary member of a replica set.
     *
     * @return bool Returns TRUE if this server is a primary member of a
     *   replica set, and FALSE otherwise.
     **/
    final public function isPrimary(){}

    /**
     * Checks if this server is a secondary member of a replica set
     *
     * Returns whether this server is a secondary member of a replica set.
     *
     * @return bool Returns TRUE if this server is a secondary member of a
     *   replica set, and FALSE otherwise.
     **/
    final public function isSecondary(){}

    /**
     * Create a new Server (not used)
     *
     * MongoDB\Driver\Server objects are created internally by
     * MongoDB\Driver\Manager when a database connection is established and
     * may be returned by {@link MongoDB\Driver\Manager::getServers} and
     * {@link MongoDB\Driver\Manager::selectServer}.
     **/
    final private function __construct(){}

}
}
namespace MongoDB\Driver {
class Session {
    /**
     * Aborts a transaction
     *
     * This method aborts an existing transaction and all the associated
     * operations are rolled back. It is like all operations that were part
     * of this transaction never existed.
     *
     * @return void
     **/
    final public function abortTransaction(){}

    /**
     * Advances the cluster time for this session
     *
     * Advances the cluster time for this session. If the cluster time is
     * less than or equal to the session's current cluster time, this
     * function is a no-op.
     *
     * By using this method in conjunction with
     * MongoDB\Driver\Session::advanceOperationTime to copy the cluster and
     * operation times from another session, you can ensure that operations
     * in this session are causally consistent with the last operation in the
     * other session.
     *
     * @param array|object $clusterTime The cluster time is a document
     *   containing a logical timestamp and server signature. Typically, this
     *   value will be obtained by calling
     *   MongoDB\Driver\Session::getClusterTime on another session object.
     * @return void
     **/
    final public function advanceClusterTime($clusterTime){}

    /**
     * Advances the operation time for this session
     *
     * Advances the operation time for this session. If the operation time is
     * less than or equal to the session's current operation time, this
     * function is a no-op.
     *
     * By using this method in conjunction with
     * MongoDB\Driver\Session::advanceClusterTime to copy the operation and
     * cluster times from another session, you can ensure that operations in
     * this session are causally consistent with the last operation in the
     * other session.
     *
     * @param MongoDB\BSON\TimestampInterface $operationTime The operation
     *   time is a logical timestamp. Typically, this value will be obtained
     *   by calling MongoDB\Driver\Session::getOperationTime on another
     *   session object.
     * @return void
     **/
    final public function advanceOperationTime($operationTime){}

    /**
     * Commits a transaction
     *
     * This method commits an existing transaction and all the associated
     * operations are persisted in the database.
     *
     * @return void
     **/
    final public function commitTransaction(){}

    /**
     * Terminates a session
     *
     * This method closes an existing session. If a transaction was
     * associated with this session, this transaction is also aborted, and
     * all its operations are rolled back.
     *
     * @return void
     **/
    final public function endSession(){}

    /**
     * Returns the cluster time for this session
     *
     * Returns the cluster time for this session. If the session has not been
     * used for any operation and MongoDB\Driver\Session::advanceClusterTime
     * has not been called, the cluster time will be NULL.
     *
     * @return object|null Returns the cluster time for this session, or
     *   NULL if the session has no cluster time.
     **/
    final public function getClusterTime(){}

    /**
     * Returns the logical session ID for this session
     *
     * Returns the logical session ID for this session, which may be used to
     * identify this session's operations on the server.
     *
     * @return object Returns the logical session ID for this session.
     **/
    final public function getLogicalSessionId(){}

    /**
     * Returns the operation time for this session
     *
     * Returns the operation time for this session. If the session has not
     * been used for any operation and
     * MongoDB\Driver\Session::advanceOperationTime has not been called, the
     * operation time will be NULL
     *
     * @return MongoDB\BSON\Timestamp|null Returns the operation time for
     *   this session, or NULL if the session has no operation time.
     **/
    final public function getOperationTime(){}

    /**
     * Starts a transaction
     *
     * This method starts a new transaction within this session. When the
     * session is attached to operations through the "session" argument,
     * these operations become of the started transaction.
     *
     * Transactions can be committed through
     * MongoDB\Driver\Session::commitTransaction, and aborted with
     * MongoDB\Driver\Session::abortTransaction.
     *
     * Transactions are also automatically aborted when the session is
     * terminated through MongoDB\Driver\Session::endSession.
     *
     * @param array|object $options Options can be passed as argument to
     *   this method. Each element in this options array overrides the
     *   corresponding option from the "defaultTransactionOptions" option, if
     *   set when starting the session with
     *   MongoDB\Driver\Manager::startSession.
     *   
     *   options Option Type Description
     * @return void
     **/
    final public function startTransaction($options){}

    /**
     * Create a new Session (not used)
     *
     * MongoDB\Driver\Session objects are returned by
     * MongoDB\Driver\Manager::startSession and cannot be constructed
     * directly.
     **/
    final private function __construct(){}

}
}
namespace MongoDB\Driver {
class WriteConcern implements MongoDB\BSON\Serializable {
    /**
     * Returns an object for BSON serialization
     *
     * @return object Returns an object for serializing the WriteConcern as
     *   BSON.
     **/
    final public function bsonSerialize(){}

    /**
     * Returns the WriteConcerns "journal" option
     *
     * @return boolean|null Returns the WriteConcerns "journal" option.
     **/
    final public function getJournal(){}

    /**
     * Returns the WriteConcerns "w" option
     *
     * @return string|integer|null Returns the WriteConcerns "w" option.
     **/
    final public function getW(){}

    /**
     * Returns the WriteConcerns "wtimeout" option
     *
     * @return int Returns the WriteConcerns "wtimeout" option.
     **/
    final public function getWtimeout(){}

    /**
     * Checks if this is the default write concern
     *
     * Returns whether this is the default write concern (i.e. no options are
     * specified). This method is primarily intended to be used in
     * conjunction with MongoDB\Driver\Manager::getWriteConcern to determine
     * whether the Manager has been constructed without any write concern
     * options.
     *
     * The driver will not include a default write concern in its write
     * operations (e.g. MongoDB\Driver\Manager::executeBulkWrite) in order to
     * allow the server to apply its own default, which may have been
     * modified. Libraries that access the Manager's write concern to include
     * it in their own write commands should use this method to ensure that
     * default write concerns are left unset.
     *
     * @return bool Returns TRUE if this is the default write concern and
     *   FALSE otherwise.
     **/
    final public function isDefault(){}

    /**
     * Create a new WriteConcern
     *
     * Constructs a new MongoDB\Driver\WriteConcern, which is an immutable
     * value object.
     *
     * @param string|integer $w Write concern Value Description 1 Requests
     *   acknowledgement that the write operation has propagated to the
     *   standalone mongod or the primary in a replica set. This is the
     *   default write concern for MongoDB. 0 Requests no acknowledgment of
     *   the write operation. However, this may return information about
     *   socket exceptions and networking errors to the application. <integer
     *   greater than 1> Numbers greater than 1 are valid only for replica
     *   sets to request acknowledgement from specified number of members,
     *   including the primary. MongoDB\Driver\WriteConcern::MAJORITY
     *   Requests acknowledgment that write operations have propagated to the
     *   majority of voting nodes, including the primary, and have been
     *   written to the on-disk journal for these nodes. Prior to MongoDB
     *   3.0, this refers to the majority of replica set members (not just
     *   voting nodes). string A string value is interpereted as a tag set.
     *   Requests acknowledgement that the write operations have propagated
     *   to a replica set member with the specified tag.
     * @param int $wtimeout How long to wait (in milliseconds) for
     *   secondaries before failing. wtimeout causes write operations to
     *   return with an error (WriteConcernError) after the specified limit,
     *   even if the required write concern will eventually succeed. When
     *   these write operations return, MongoDB does not undo successful data
     *   modifications performed before the write concern exceeded the
     *   wtimeout time limit. If specified, wtimeout must be a signed 32-bit
     *   integer greater than or equal to zero.
     *   
     *   Write concern timeout Value Description 0 Block indefinitely. This
     *   is the default. <integer greater than 0> Milliseconds to wait until
     *   returning.
     * @param bool $journal Wait until mongod has applied the write to the
     *   journal.
     **/
    final public function __construct($w, $wtimeout, $journal){}

}
}
namespace MongoDB\Driver {
class WriteConcernError {
    /**
     * Returns the WriteConcernErrors error code
     *
     * @return int Returns the WriteConcernErrors error code.
     **/
    final public function getCode(){}

    /**
     * Returns additional metadata for the WriteConcernError
     *
     * @return mixed Returns additional metadata for the WriteConcernError,
     *   or NULL if no metadata is available.
     **/
    final public function getInfo(){}

    /**
     * Returns the WriteConcernErrors error message
     *
     * @return string Returns the WriteConcernErrors error message.
     **/
    final public function getMessage(){}

}
}
namespace MongoDB\Driver {
class WriteError {
    /**
     * Returns the WriteErrors error code
     *
     * @return int Returns the WriteErrors error code.
     **/
    final public function getCode(){}

    /**
     * Returns the index of the write operation corresponding to this
     * WriteError
     *
     * @return int Returns the index of the write operation (from
     *   MongoDB\Driver\BulkWrite) corresponding to this WriteError.
     **/
    final public function getIndex(){}

    /**
     * Returns additional metadata for the WriteError
     *
     * @return mixed Returns additional metadata for the WriteError, or
     *   NULL if no metadata is available.
     **/
    final public function getInfo(){}

    /**
     * Returns the WriteErrors error message
     *
     * @return string Returns the WriteErrors error message.
     **/
    final public function getMessage(){}

}
}
namespace MongoDB\Driver {
class WriteResult {
    /**
     * Returns the number of documents deleted
     *
     * @return integer|null Returns the number of documents deleted, or
     *   NULL if the write was not acknowledged.
     **/
    final public function getDeletedCount(){}

    /**
     * Returns the number of documents inserted (excluding upserts)
     *
     * @return integer|null Returns the number of documents inserted
     *   (excluding upserts), or NULL if the write was not acknowledged.
     **/
    final public function getInsertedCount(){}

    /**
     * Returns the number of documents selected for update
     *
     * If the update operation results in no change to the document (e.g.
     * setting the value of a field to its current value), the matched count
     * may be greater than the value returned by
     * MongoDB\Driver\WriteResult::getModifiedCount.
     *
     * @return integer|null Returns the number of documents selected for
     *   update, or NULL if the write was not acknowledged.
     **/
    final public function getMatchedCount(){}

    /**
     * Returns the number of existing documents updated
     *
     * If the update operation results in no change to the document (e.g.
     * setting the value of a field to its current value), the modified count
     * may be less than the value returned by
     * MongoDB\Driver\WriteResult::getMatchedCount.
     *
     * @return integer|null Returns the number of existing documents
     *   updated, or NULL if the write was not acknowledged.
     **/
    final public function getModifiedCount(){}

    /**
     * Returns the server associated with this write result
     *
     * Returns the MongoDB\Driver\Server associated with this write result.
     * This is the server that executed the MongoDB\Driver\BulkWrite.
     *
     * @return MongoDB\Driver\Server Returns the MongoDB\Driver\Server
     *   associated with this write result.
     **/
    final public function getServer(){}

    /**
     * Returns the number of documents inserted by an upsert
     *
     * @return integer|null Returns the number of documents inserted by an
     *   upsert.
     **/
    final public function getUpsertedCount(){}

    /**
     * Returns an array of identifiers for upserted documents
     *
     * @return array Returns an array of identifiers (i.e. "_id" field
     *   values) for upserted documents. The array keys will correspond to
     *   the index of the write operation (from MongoDB\Driver\BulkWrite)
     *   responsible for the upsert.
     **/
    final public function getUpsertedIds(){}

    /**
     * Returns any write concern error that occurred
     *
     * @return MongoDB\Driver\WriteConcernError|null Returns a
     *   MongoDB\Driver\WriteConcernError if a write concern error was
     *   encountered during the write operation, and NULL otherwise.
     **/
    final public function getWriteConcernError(){}

    /**
     * Returns any write errors that occurred
     *
     * @return array Returns an array of MongoDB\Driver\WriteError objects
     *   for any write errors encountered during the write operation. The
     *   array will be empty if no write errors occurred.
     **/
    final public function getWriteErrors(){}

    /**
     * Returns whether the write was acknowledged
     *
     * If the write is acknowledged, other count fields will be available on
     * the MongoDB\Driver\WriteResult object.
     *
     * @return bool Returns TRUE if the write was acknowledged, and FALSE
     *   otherwise.
     **/
    final public function isAcknowledged(){}

}
}
/**
 * Constructs a batch of DELETE operations. See MongoWriteBatch.
 **/
class MongoDeleteBatch extends MongoWriteBatch {
    /**
     * Constructs a batch of DELETE operations. See MongoWriteBatch.
     *
     * @param MongoCollection $collection
     * @param array $write_options
     * @since PECL mongo >= 1.5.0
     **/
    public function __construct($collection, $write_options){}

}
/**
 * Thrown when attempting to insert a document into a collection which
 * already contains the same values for the unique keys.
 **/
class MongoDuplicateKeyException extends MongoWriteConcernException {
}
/**
 * Default Mongo exception. This covers a bunch of different error
 * conditions that may eventually be moved to more specific exceptions,
 * but will always extend MongoException.
 **/
class MongoException extends Exception {
}
/**
 * Thrown when a operation times out server side (i.e. in MongoDB). To
 * configure the operation timeout threshold, use MongoCursor::maxTimeMS
 * or the "maxTimeMS" command option.
 **/
class MongoExecutionTimeoutException extends MongoException {
}
class MongoGridFS {
    /**
     * Remove a file and its chunks from the database
     *
     * @param mixed $id _id of the file to remove.
     * @return bool|array Returns an array containing the status of the
     *   removal (with respect to the files collection) if a write concern is
     *   applied. Otherwise, returns TRUE.
     * @since PECL mongo >=1.0.8
     **/
    public function delete($id){}

    /**
     * Drops the files and chunks collections
     *
     * @return array The database response.
     * @since PECL mongo >=0.9.0
     **/
    public function drop(){}

    /**
     * Queries for files
     *
     * @param array $query The query.
     * @param array $fields Fields to return.
     * @return MongoGridFSCursor A MongoGridFSCursor.
     * @since PECL mongo >=0.9.0
     **/
    public function find($query, $fields){}

    /**
     * Returns a single file matching the criteria
     *
     * @param mixed $query The filename or criteria for which to search.
     * @param mixed $fields
     * @return MongoGridFSFile Returns a MongoGridFSFile or NULL.
     * @since PECL mongo >=0.9.0
     **/
    public function findOne($query, $fields){}

    /**
     * Retrieve a file from the database
     *
     * @param mixed $id _id of the file to find.
     * @return MongoGridFSFile Returns the file, if found, or NULL.
     * @since PECL mongo >=1.0.8
     **/
    public function get($id){}

    /**
     * Stores a file in the database
     *
     * @param string $filename Name of the file to store.
     * @param array $metadata Other metadata fields to include in the file
     *   document.
     * @param array $options An array of options for the insert operations
     *   executed against the chunks and files collections. See {@link
     *   MongoCollection::insert} for documentation on these these options.
     * @return mixed
     * @since PECL mongo >=1.0.8
     **/
    public function put($filename, $metadata, $options){}

    /**
     * Remove files and their chunks from the database
     *
     * @param array $criteria The filename or criteria for which to search.
     * @param array $options An array of options for the remove operations
     *   executed against the chunks and files collections. See {@link
     *   MongoCollection::remove} for documentation on these options.
     * @return bool|array Returns an array containing the status of the
     *   removal (with respect to the files collection) if the "w" option is
     *   set. Otherwise, returns TRUE.
     * @since PECL mongo >=0.9.0
     **/
    public function remove($criteria, $options){}

    /**
     * Stores a string of bytes in the database
     *
     * @param string $bytes String of bytes to store.
     * @param array $metadata Other metadata fields to include in the file
     *   document.
     * @param array $options An array of options for the insert operations
     *   executed against the chunks and files collections. See {@link
     *   MongoCollection::insert} for documentation on these these options.
     * @return mixed
     * @since PECL mongo >=0.9.2
     **/
    public function storeBytes($bytes, $metadata, $options){}

    /**
     * Stores a file in the database
     *
     * @param string|resource $filename Name of the file or a readable
     *   stream to store.
     * @param array $metadata Other metadata fields to include in the file
     *   document.
     * @param array $options An array of options for the insert operations
     *   executed against the chunks and files collections. See {@link
     *   MongoCollection::insert} for documentation on these these options.
     * @return mixed
     * @since PECL mongo >=0.9.0
     **/
    public function storeFile($filename, $metadata, $options){}

    /**
     * Stores an uploaded file in the database
     *
     * @param string $name The name of the uploaded file(s) to store. This
     *   should correspond to the file field's name attribute in the HTML
     *   form.
     * @param array $metadata Other metadata fields to include in the file
     *   document.
     * @return mixed If multiple files are uploaded using the same field
     *   name, this method will not return anything; however, the files
     *   themselves will still be processed.
     * @since PECL mongo >=0.9.0
     **/
    public function storeUpload($name, $metadata){}

    /**
     * Creates new file collections
     *
     * Files as stored across two collections, the first containing file meta
     * information, the second containing chunks of the actual file. By
     * default, fs.files and fs.chunks are the collection names used.
     *
     * Use one argument to specify a prefix other than "fs":
     *
     * $fs = new MongoGridFS($db, "myfiles");
     *
     * uses myfiles.files and myfiles.chunks collections.
     *
     * @param MongoDB $db Database.
     * @param string $prefix Optional collection name prefix.
     * @param mixed $chunks
     * @since PECL mongo >=0.9.0
     **/
    public function __construct($db, $prefix, $chunks){}

}
class MongoGridFSCursor {
    /**
     * @var MongoGridFS
     **/
    protected $gridfs;

    /**
     * Returns the current file
     *
     * @return MongoGridFSFile The current file.
     * @since PECL mongo >=0.9.0
     **/
    public function current(){}

    /**
     * Return the next file to which this cursor points, and advance the
     * cursor
     *
     * @return MongoGridFSFile Returns the next file.
     * @since PECL mongo >=0.9.0
     **/
    public function getNext(){}

    /**
     * Returns the current results filename
     *
     * @return string The current results _id as a string.
     * @since PECL mongo >=0.9.0
     **/
    public function key(){}

    /**
     * Create a new cursor
     *
     * @param MongoGridFS $gridfs Related GridFS collection.
     * @param resource $connection Database connection.
     * @param string $ns Full name of database and collection.
     * @param array $query Database query.
     * @param array $fields Fields to return.
     * @since PECL mongo >=0.9.0
     **/
    public function __construct($gridfs, $connection, $ns, $query, $fields){}

}
/**
 * Thrown when there are errors reading or writing files to or from the
 * database. MongoGridFSException error codes Code Message Reason 3 Could
 * not open file $filename Attempting to store an invalid file, such as
 * directory 4 File $filename is too large: $filesize bytes Maximum
 * filesize in GridFS is 4GB 5 could not find filehandle Resource doesn't
 * have a filehandle 6 no file is associate with this filehandle Resource
 * isn't a file resource 7 error setting up file: $filenames Could not
 * open file for reading 9 error reading file $filenames Failed reading
 * file 10 error reading filehandle Failed reading from a resource 11
 * could not find uploaded file %s Filename doesn't seem to be uploaded
 * file 12 Couldn't find tmp_name in the $_FILES array. Are you sure the
 * upload worked? Uploaded filename probably failed 13 tmp_name was not a
 * string or an array Invalid filename given 14 couldn't find file size
 * The length property is missing 15 Cannot find filename No filename
 * provided, and no filename property set 16 could not open destination
 * file %s Destination filename not writable 17 error reading chunk of
 * file Chunk corruption 18 couldn't create a php_stream Couldn't create
 * a stream resource 19 couldn't find property Chunk corruption 20 chunk
 * number has wrong size (size) when the max is maxchunksize Chunk larger
 * then expected 21 chunk has wrong format Chunk corruption
 **/
class MongoGridFSException extends MongoException {
}
/**
 * A database file object.
 **/
class MongoGridFSFile {
    /**
     * @var array
     **/
    public $file;

    /**
     * @var MongoGridFS
     **/
    protected $gridfs;

    /**
     * Returns this files contents as a string of bytes
     *
     * Warning: this will load the file into memory. If the file is bigger
     * than your memory, this will cause problems!
     *
     * @return string Returns a string of the bytes in the file.
     * @since PECL mongo >=0.9.0
     **/
    public function getBytes(){}

    /**
     * Returns this files filename
     *
     * @return string Returns the filename.
     * @since PECL mongo >=0.9.0
     **/
    public function getFilename(){}

    /**
     * Returns a resource that can be used to read the stored file
     *
     * This method returns a stream resource that can be used with all file
     * functions in PHP that deal with reading files. The contents of the
     * file are pulled out of MongoDB on the fly, so that the whole file does
     * not have to be loaded into memory first.
     *
     * At most two GridFSFile chunks will be loaded in memory.
     *
     * @return resource Returns a resource that can be used to read the
     *   file with
     * @since PECL mongo >=1.3.0
     **/
    public function getResource(){}

    /**
     * Returns this files size
     *
     * @return int Returns this file's size
     * @since PECL mongo >=0.9.0
     **/
    public function getSize(){}

    /**
     * Writes this file to the filesystem
     *
     * @param string $filename The location to which to write the file. If
     *   none is given, the stored filename will be used.
     * @return int Returns the number of bytes written.
     * @since PECL mongo >=0.9.0
     **/
    public function write($filename){}

    /**
     * Create a new GridFS file
     *
     * @param MongoGridFS $gridfs The parent MongoGridFS instance.
     * @param array $file A file from the database.
     * @since PECL mongo >=0.9.0
     **/
    public function __construct($gridfs, $file){}

}
/**
 * A unique identifier created for database objects. If an object is
 * inserted into the database without an _id field, an _id field will be
 * added to it with a MongoId instance as its value. If the data has a
 * naturally occuring unique field (e.g. username or timestamp) it is
 * fine to use this as the _id field instead, and it will not be replaced
 * with a MongoId. Instances of the MongoId class fulfill the role that
 * autoincrementing does in a relational database: to provide a unique
 * key if the data does not naturally have one. Autoincrementing does not
 * work well with a sharded database, as it is difficult to determine the
 * next number in the sequence. This class fulfills the constraints of
 * quickly generating a value that is unique across shards. Each MongoId
 * is 12 bytes (making its string form 24 hexadecimal characters). The
 * first four bytes are a timestamp, the next three are a hash of the
 * client machine's hostname, the next two are the two least significant
 * bytes of the process id running the script, and the last three bytes
 * are an incrementing value. MongoIds are serializable/unserializable.
 * Their serialized form is similar to their string form:
 *
 * C:7:"MongoId":24:{4af9f23d8ead0e1d32000000}
 **/
class MongoId {
    /**
     * @var string
     **/
    public $$id;

    /**
     * Gets the hostname being used for this machine's ids
     *
     * This returns the hostname MongoId is using to generate unique ids.
     * This should be the same value {@link gethostname} returns.
     *
     * It is identical to the function:
     *
     * @return string Returns the hostname.
     * @since PECL mongo >= 1.0.8
     **/
    public static function getHostname(){}

    /**
     * Gets the incremented value to create this id
     *
     * @return int Returns the incremented value used to create this
     *   MongoId.
     * @since PECL mongo >= 1.0.11
     **/
    public function getInc(){}

    /**
     * Gets the process ID
     *
     * Extracts the pid from the Mongo ID
     *
     * @return int Returns the PID of the MongoId.
     * @since PECL mongo >= 1.0.11
     **/
    public function getPID(){}

    /**
     * Gets the number of seconds since the epoch that this id was created
     *
     * This returns the same thing as running {@link time} when the id is
     * created.
     *
     * @return int Returns the number of seconds since the epoch that this
     *   id was created. There are only four bytes of timestamp stored, so
     *   MongoDate is a better choice for storing exact or wide-ranging
     *   times.
     * @since PECL mongo >= 1.0.1
     **/
    public function getTimestamp(){}

    /**
     * Check if a value is a valid ObjectId
     *
     * This method may be used to check a variable before passing it as an
     * argument to {@link MongoId::__construct}.
     *
     * @param mixed $value The value to check for validity.
     * @return bool Returns TRUE if {@link value} is a MongoId instance or
     *   a string consisting of exactly 24 hexadecimal characters; otherwise,
     *   FALSE is returned.
     * @since PECL mongo >= 1.5.0
     **/
    public static function isValid($value){}

    /**
     * Creates a new id
     *
     * @param string|MongoId $id A string (must be 24 hexadecimal
     *   characters) or a MongoId instance.
     * @since PECL mongo >= 0.8.0
     **/
    public function __construct($id){}

    /**
     * Create a dummy MongoId
     *
     * This function is only used by PHP internally, it shouldn't need to
     * ever be called by the user.
     *
     * It is identical to the function:
     *
     * @param array $props Theoretically, an array of properties used to
     *   create the new id. However, as MongoId instances have no properties,
     *   this is not used.
     * @return MongoId A new id with the value "000000000000000000000000".
     * @since PECL mongo >= 1.0.8
     **/
    public static function __set_state($props){}

    /**
     * Returns a hexidecimal representation of this id
     *
     * @return string This id.
     * @since PECL mongo >= 0.8.0
     **/
    public function __toString(){}

}
/**
 * Constructs a batch of INSERT operations. See MongoWriteBatch.
 **/
class MongoInsertBatch extends MongoWriteBatch {
    /**
     * Constructs a batch of INSERT operations. See MongoWriteBatch.
     *
     * @param MongoCollection $collection
     * @param array $write_options
     * @since PECL mongo >= 1.5.0
     **/
    public function __construct($collection, $write_options){}

}
/**
 * The class can be used to save 32-bit integers to the database on a
 * 64-bit system.
 **/
class MongoInt32 {
    /**
     * @var string
     **/
    public $value;

    /**
     * Creates a new 32-bit integer
     *
     * Creates a new 32-bit number with the given value.
     *
     * @param string $value A number.
     * @since PECL mongo >= 1.0.9
     **/
    public function __construct($value){}

    /**
     * Returns the string representation of this 32-bit integer
     *
     * @return string Returns the string representation of this integer.
     * @since PECL mongo >= 1.0.9
     **/
    public function __toString(){}

}
/**
 * The class can be used to save 64-bit integers to the database on a
 * 32-bit system.
 **/
class MongoInt64 {
    /**
     * @var string
     **/
    public $value;

    /**
     * Creates a new 64-bit integer
     *
     * Creates a new 64-bit number with the given value.
     *
     * @param string $value A number.
     * @since PECL mongo >= 1.0.9
     **/
    public function __construct($value){}

    /**
     * Returns the string representation of this 64-bit integer
     *
     * @return string Returns the string representation of this integer.
     * @since PECL mongo >= 1.0.9
     **/
    public function __toString(){}

}
/**
 * Logging can be used to get detailed information about what the driver
 * is doing. Logging is disabled by default, but this class allows you to
 * activate specific levels of logging for various parts of the driver.
 * Some examples: These constants can be used by both {@link
 * MongoLog::setLevel} and {@link MongoLog::setModule}. These constants
 * can be used by {@link MongoLog::setLevel}. These constants can be used
 * by {@link MongoLog::setModule}.
 **/
class MongoLog {
    /**
     * @var int
     **/
    const ALL = 0;

    /**
     * @var int
     **/
    const CON = 0;

    /**
     * @var int
     **/
    const FINE = 0;

    /**
     * @var int
     **/
    const INFO = 0;

    /**
     * @var int
     **/
    const IO = 0;

    /**
     * @var int
     **/
    const NONE = 0;

    /**
     * @var int
     **/
    const PARSE = 0;

    /**
     * @var int
     **/
    const POOL = 0;

    /**
     * @var int
     **/
    const RS = 0;

    /**
     * @var int
     **/
    const SERVER = 0;

    /**
     * @var int
     **/
    const WARNING = 0;

    /**
     * @var int
     **/
    private static $callback;

    /**
     * @var int
     **/
    private static $level;

    /**
     * @var int
     **/
    private static $module;

    /**
     * Gets the previously set callback function
     *
     * Retrieves the callback function.
     *
     * @return callable Returns the callback function, or FALSE if not set
     *   yet.
     * @since PECL mongo >= 1.3.0
     **/
    public static function getCallback(){}

    /**
     * Gets the level(s) currently being logged
     *
     * This function can be used to see which log levels are currently
     * enabled. The returned integer may be compared with the MongoLog level
     * constants using bitwise operators to check for specific log levels.
     *
     * @return int Returns the level(s) currently being logged.
     * @since PECL mongo >= 1.2.3
     **/
    public static function getLevel(){}

    /**
     * Gets the module(s) currently being logged
     *
     * This function can be used to see which driver modules are currently
     * being logged. The returned integer may be compared with the MongoLog
     * module constants using bitwise operators to check if specific modules
     * are being logged.
     *
     * @return int Returns the module(s) currently being logged.
     * @since PECL mongo >= 1.2.3
     **/
    public static function getModule(){}

    /**
     * Sets a callback function to be invoked for events
     *
     * This function will set a callback function to be invoked for events in
     * lieu of emitting of PHP notice.
     *
     * @param callable $log_function The callback function to be invoked on
     *   events. It should have the following prototype:
     *   
     *   log_function int{@link module} int{@link level} string{@link
     *   message} {@link module} One of the MongoLog module constants. {@link
     *   level} One of the MongoLog level constants. {@link message} The log
     *   message itself.
     * @return void
     * @since PECL mongo >= 1.3.0
     **/
    public static function setCallback($log_function){}

    /**
     * Sets the level(s) to be logged
     *
     * This function can be used to control logging verbosity and the types
     * of activities that should be logged. The MongoLog level constants may
     * be used with bitwise operators to specify multiple levels.
     *
     * Note that you must also call {@link MongoLog::setModule} to specify
     * which modules(s) of the driver should log.
     *
     * @param int $level The level(s) you would like to log.
     * @return void
     * @since PECL mongo >= 1.2.3
     **/
    public static function setLevel($level){}

    /**
     * Sets the module(s) to be logged
     *
     * This function can be used to set which driver modules should be
     * logged. The MongoLog module constants may be used with bitwise
     * operators to specify multiple modules.
     *
     * Note that you must also call {@link MongoLog::setLevel} to enable
     * logging.
     *
     * @param int $module The module(s) you would like to log.
     * @return void
     * @since PECL mongo >= 1.2.3
     **/
    public static function setModule($module){}

}
/**
 * MongoMaxKey is an special type used by the database that compares
 * greater than all other possible BSON values. Thus, if a query is
 * sorted by a given field in ascending order, any document with a
 * MongoMaxKey as its value will be returned last. MongoMaxKey has no
 * associated fields, methods, or constants. It is merely the "greatest"
 * value that can be represented in the database. The cursor will return
 * the staff meeting document followed by the dishes document. The dishes
 * document will always be returned last, regardless of what else is
 * added to the collection (unless other documents are added with
 * MongoMaxKey in their "doBy" field).
 **/
class MongoMaxKey {
}
/**
 * MongoMinKey is an special type used by the database that compares less
 * than all other possible BSON values. Thus, if a query is sorted by a
 * given field in ascending order, any document with a MongoMinKey as its
 * value will be returned first. MongoMinKey has no associated fields,
 * methods, or constants. It is merely the "smallest" value that can be
 * represented in the database. The cursor will return the lunch document
 * followed by the staff meeting document. The lunch document will always
 * be returned first, regardless of what else is added to the collection
 * (unless other documents are added with MongoMinKey in their "doBy"
 * field).
 **/
class MongoMinKey {
}
class MongoPool {
    /**
     * Get pool size for connection pools
     *
     * @return int Returns the current pool size.
     * @since PECL mongo >= 1.2.3
     **/
    public static function getSize(){}

    /**
     * Returns information about all connection pools
     *
     * Returns an array of information about all connection pools.
     *
     * @return array Each connection pool has an identifier, which starts
     *   with the host. For each pool, this function shows the following
     *   fields: {@link in use} The number of connections currently being
     *   used by Mongo instances. {@link in pool} The number of connections
     *   currently in the pool (not being used). {@link remaining} The number
     *   of connections that could be created by this pool. For example,
     *   suppose a pool had 5 connections remaining and 3 connections in the
     *   pool. We could create 8 new instances of MongoClient before we
     *   exhausted this pool (assuming no instances of MongoClient went out
     *   of scope, returning their connections to the pool). A negative
     *   number means that this pool will spawn unlimited connections. Before
     *   a pool is created, you can change the max number of connections by
     *   calling {@link Mongo::setPoolSize}. Once a pool is showing up in the
     *   output of this function, its size cannot be changed. {@link total}
     *   The total number of connections allowed for this pool. This should
     *   be greater than or equal to "in use" + "in pool" (or -1). {@link
     *   timeout} The socket timeout for connections in this pool. This is
     *   how long connections in this pool will attempt to connect to a
     *   server before giving up. {@link waiting} If you have capped the pool
     *   size, workers requesting connections from the pool may block until
     *   other workers return their connections. This field shows how many
     *   milliseconds workers have blocked for connections to be released. If
     *   this number keeps increasing, you may want to use {@link
     *   MongoPool::setSize} to add more connections to your pool.
     * @since PECL mongo >= 1.2.3
     **/
    public function info(){}

    /**
     * Set the size for future connection pools
     *
     * Sets the max number of connections new pools will be able to create.
     *
     * @param int $size The max number of connections future pools will be
     *   able to create. Negative numbers mean that the pool will spawn an
     *   infinite number of connections.
     * @return bool Returns the former value of pool size.
     * @since PECL mongo >= 1.2.3
     **/
    public static function setSize($size){}

}
/**
 * When talking to MongoDB 2.6.0, and later, certain operations (such as
 * writes) may throw MongoProtocolException when the response from the
 * server did not make sense - for example during network failure (we
 * could read the entire response) or data corruption. This exception is
 * also thrown when attempting to talk newer protocols then the server
 * supports, for example using the MongoWriteBatch when talking to a
 * MongoDB server prior to 2.6.0.
 **/
class MongoProtocolException extends MongoException {
}
/**
 * This class can be used to create regular expressions. Typically, these
 * expressions will be used to query the database and find matching
 * strings. More unusually, they can be saved to the database and
 * retrieved. Regular expressions consist of four parts. First a / as
 * starting delimiter, then the pattern, another / and finally a string
 * containing flags. Regular expression pattern
 *
 * /pattern/flags MongoDB recognizes six regular expression flags:
 **/
class MongoRegex {
    /**
     * @var string
     **/
    public $flags;

    /**
     * @var string
     **/
    public $regex;

    /**
     * Creates a new regular expression
     *
     * @param string $regex Regular expression string of the form
     *   /expr/flags.
     * @since PECL mongo >= 0.8.1
     **/
    public function __construct($regex){}

    /**
     * A string representation of this regular expression
     *
     * Returns a string representation of this regular expression.
     *
     * @return string This regular expression in the form "/expr/flags".
     * @since PECL mongo >= 0.8.1
     **/
    public function __toString(){}

}
/**
 * The MongoResultException is thrown by several command helpers (such as
 * MongoCollection::findAndModify) in the event of failure. The original
 * result document is available through
 * MongoResultException::getDocument.
 **/
class MongoResultException extends MongoException {
    /**
     * The raw result document as an array.
     *
     * @var mixed
     **/
    public $document;

    /**
     * Retrieve the full result document
     *
     * Retrieves the full error result document.
     *
     * @return array The full result document as an array, including
     *   partial data if available and additional keys.
     * @since PECL mongo >=1.3.0
     **/
    public function getDocument(){}

}
/**
 * MongoTimestamp is an internal type used by MongoDB for replication and
 * sharding. It consists of a 4-byte timestamp (i.e. seconds since the
 * epoch) and a 4-byte increment. This type is not intended for storing
 * time or date values (e.g. a "createdAt" field on a document).
 **/
class MongoTimestamp {
    /**
     * @var int
     **/
    public $inc;

    /**
     * @var int
     **/
    public $sec;

    /**
     * Creates a new timestamp
     *
     * Creates a new timestamp. If no parameters are given, the current time
     * is used and the increment is automatically provided. The increment is
     * set to 0 when the module is loaded and is incremented every time this
     * constructor is called (without the $inc parameter passed in).
     *
     * @param int $sec Number of seconds since the epoch (i.e. 1 Jan 1970
     *   00:00:00.000 UTC).
     * @param int $inc Increment.
     * @since PECL mongo >= 1.0.1
     **/
    public function __construct($sec, $inc){}

    /**
     * Returns a string representation of this timestamp
     *
     * Returns the "sec" field of this timestamp.
     *
     * @return string The seconds since epoch represented by this
     *   timestamp.
     * @since PECL mongo >= 1.0.1
     **/
    public function __toString(){}

}
/**
 * Constructs a batch of UPDATE operations. See MongoWriteBatch.
 **/
class MongoUpdateBatch extends MongoWriteBatch {
    /**
     * Constructs a batch of UPDATE operations. See MongoWriteBatch.
     *
     * @param MongoCollection $collection
     * @param array $write_options
     * @since PECL mongo >= 1.5.0
     **/
    public function __construct($collection, $write_options){}

}
/**
 * MongoWriteBatch is the base class for the MongoInsertBatch,
 * MongoUpdateBatch and MongoDeleteBatch classes. MongoWriteBatch allows
 * you to "batch up" multiple operations (of same type) and shipping them
 * all to MongoDB at the same time. This can be especially useful when
 * operating on many documents at the same time to reduce roundtrips.
 * Prior to version 1.5.0 of the driver it was possible to use
 * MongoCollection::batchInsert, however, as of 1.5.0 that method is now
 * discouraged. Note: This class is only available when talking to
 * MongoDB 2.6.0 (and later) servers. It will throw
 * MongoProtocolException if attempting to use it on older MongoDB
 * servers. When executing a batch by calling MongoWriteBatch::execute,
 * MongoWriteBatch will send up to maxWriteBatchSize (defaults to 1000)
 * documents or maxBsonObjectSize (defaults to 16777216 bytes), whichever
 * comes first.
 **/
class MongoWriteBatch {
    /**
     * @var int
     **/
    const COMMAND_DELETE = 0;

    /**
     * @var int
     **/
    const COMMAND_INSERT = 0;

    /**
     * @var int
     **/
    const COMMAND_UPDATE = 0;

    /**
     * Adds a write operation to a batch
     *
     * Adds a write operation to the batch.
     *
     * If {@link $item} causes the batch to exceed the maxWriteBatchSize or
     * maxBsonObjectSize limits, the driver will internally split the batches
     * into multiple write commands upon calling MongoWriteBatch::execute.
     *
     * @param array $item An array that describes a write operation. The
     *   structure of this value depends on the batch's operation type. Batch
     *   type Argument expectation MongoWriteBatch::COMMAND_INSERT The
     *   document to add. MongoWriteBatch::COMMAND_UPDATE Raw update
     *   operation. Required keys are "q" and "u", which correspond to the
     *   {@link $criteria} and {@link $new_object} parameters of {@link
     *   MongoCollection::update}, respectively. Optional keys are "multi"
     *   and "upsert", which correspond to the "multiple" and "upsert"
     *   options for {@link MongoCollection::update}, respectively. If
     *   unspecified, both options default to FALSE.
     *   MongoWriteBatch::COMMAND_DELETE Raw delete operation. Required keys
     *   are: "q" and "limit", which correspond to the {@link $criteria}
     *   parameter and "justOne" option of {@link MongoCollection::remove},
     *   respectively. The "limit" option is an integer; however, MongoDB
     *   only supports 0 (i.e. remove all matching documents) and 1 (i.e.
     *   remove at most one matching document) at this time.
     * @return bool Returns TRUE on success and throws an exception on
     *   failure.
     * @since PECL mongo >= 1.5.0
     **/
    public function add($item){}

    /**
     * Executes a batch of write operations
     *
     * Executes the batch of write operations.
     *
     * @param array $write_options See MongoWriteBatch::__construct.
     * @return array Returns an array containing statistical information
     *   for the full batch. If the batch had to be split into multiple
     *   batches, the return value will aggregate the values from individual
     *   batches and return only the totals.
     * @since PECL mongo >= 1.5.0
     **/
    final public function execute($write_options){}

}
/**
 * MongoWriteConcernException is thrown when a write fails. See for how
 * to set failure thresholds. Prior to MongoDB 2.6.0, the getLastError
 * command would determine whether a write failed.
 **/
class MongoWriteConcernException extends MongoCursorException {
    /**
     * Get the error document
     *
     * Returns the actual response from the server that was interperated as
     * an error.
     *
     * @return array A MongoDB document, if available, as an array.
     * @since PECL mongo >= 1.5.0
     **/
    public function getDocument(){}

}
/**
 * An Iterator that sequentially iterates over all attached iterators
 **/
class MultipleIterator implements Iterator {
    /**
     * @var integer
     **/
    const MIT_KEYS_ASSOC = 0;

    /**
     * @var integer
     **/
    const MIT_KEYS_NUMERIC = 0;

    /**
     * @var integer
     **/
    const MIT_NEED_ALL = 0;

    /**
     * @var integer
     **/
    const MIT_NEED_ANY = 0;

    /**
     * Attaches iterator information
     *
     * @param Iterator $iterator The new iterator to attach.
     * @param string $infos The associative information for the Iterator,
     *   which must be an integer, a string, or NULL.
     * @return void Description...
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function attachIterator($iterator, $infos){}

    /**
     * Checks if an iterator is attached
     *
     * Checks if an iterator is attached or not.
     *
     * @param Iterator $iterator The iterator to check.
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function containsIterator($iterator){}

    /**
     * Gets the number of attached iterator instances
     *
     * @return int The number of attached iterator instances (as an
     *   integer).
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function countIterators(){}

    /**
     * Gets the registered iterator instances
     *
     * Get the registered iterator instances current() result.
     *
     * @return array An array containing the current values of each
     *   attached iterator, or FALSE if no iterators are attached.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function current(){}

    /**
     * Detaches an iterator
     *
     * @param Iterator $iterator The iterator to detach.
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function detachIterator($iterator){}

    /**
     * Gets the flag information
     *
     * Gets information about the flags.
     *
     * @return int Information about the flags, as an integer.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function getFlags(){}

    /**
     * Gets the registered iterator instances
     *
     * Get the registered iterator instances key() result.
     *
     * @return array An array of all registered iterator instances, or
     *   FALSE if no sub iterator is attached.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function key(){}

    /**
     * Moves all attached iterator instances forward
     *
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function next(){}

    /**
     * Rewinds all attached iterator instances
     *
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function rewind(){}

    /**
     * Sets flags
     *
     * @param int $flags The flags to set, according to the Flag Constants
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function setFlags($flags){}

    /**
     * Checks the validity of sub iterators
     *
     * @return bool Returns TRUE if one or all sub iterators are valid
     *   depending on flags, otherwise FALSE
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function valid(){}

}
/**
 * The static methods contained in the Mutex class provide direct access
 * to Posix Mutex functionality.
 **/
class Mutex {
    /**
     * Create a Mutex
     *
     * Create, and optionally lock a new Mutex for the caller
     *
     * @param bool $lock Setting lock to true will lock the Mutex for the
     *   caller before returning the handle
     * @return int A newly created and optionally locked Mutex handle
     * @since PECL pthreads < 3.0.0
     **/
    final public static function create($lock){}

    /**
     * Destroy Mutex
     *
     * Destroying Mutex handles must be carried out explicitly by the
     * programmer when they are finished with the Mutex handle.
     *
     * @param int $mutex A handle returned by a previous call to {@link
     *   Mutex::create}. The handle should not be locked by any Thread when
     *   {@link Mutex::destroy} is called.
     * @return bool A boolean indication of success
     * @since PECL pthreads < 3.0.0
     **/
    final public static function destroy($mutex){}

    /**
     * Acquire Mutex
     *
     * Attempt to lock the Mutex for the caller.
     *
     * An attempt to lock a Mutex owned (locked) by another Thread will
     * result in blocking.
     *
     * @param int $mutex A handle returned by a previous call to {@link
     *   Mutex::create}.
     * @return bool A boolean indication of success.
     * @since PECL pthreads < 3.0.0
     **/
    final public static function lock($mutex){}

    /**
     * Attempt to Acquire Mutex
     *
     * Attempt to lock the Mutex for the caller without blocking if the Mutex
     * is owned (locked) by another Thread.
     *
     * @param int $mutex A handle returned by a previous call to {@link
     *   Mutex::create}.
     * @return bool A boolean indication of success.
     * @since PECL pthreads < 3.0.0
     **/
    final public static function trylock($mutex){}

    /**
     * Release Mutex
     *
     * Attempts to unlock the Mutex for the caller, optionally destroying the
     * Mutex handle. The calling thread should own the Mutex at the time of
     * the call.
     *
     * @param int $mutex A handle returned by a previous call to {@link
     *   Mutex::create}.
     * @param bool $destroy When true pthreads will destroy the Mutex after
     *   a successful unlock.
     * @return bool A boolean indication of success.
     * @since PECL pthreads < 3.0.0
     **/
    final public static function unlock($mutex, $destroy){}

}
/**
 * Represents a connection between PHP and a MySQL database.
 **/
class mysqli {
    /**
     * Gets the number of affected rows in a previous MySQL operation
     *
     * Returns the number of rows affected by the last INSERT, UPDATE,
     * REPLACE or DELETE query.
     *
     * For SELECT statements {@link mysqli_affected_rows} works like {@link
     * mysqli_num_rows}.
     *
     * @var int
     **/
    public $affected_rows;

    /**
     * Get MySQL client info
     *
     * Returns a string that represents the MySQL client library version.
     *
     * @var string
     **/
    public $client_info;

    /**
     * Returns the MySQL client version as an integer
     *
     * Returns client version number as an integer.
     *
     * @var int
     **/
    public $client_version;

    /**
     * Returns the error code from last connect call
     *
     * Returns the last error code number from the last call to {@link
     * mysqli_connect}.
     *
     * @var int
     **/
    public $connect_errno;

    /**
     * Returns a string description of the last connect error
     *
     * Returns the last error message string from the last call to {@link
     * mysqli_connect}.
     *
     * @var string
     **/
    public $connect_error;

    /**
     * Returns the error code for the most recent function call
     *
     * Returns the last error code for the most recent MySQLi function call
     * that can succeed or fail.
     *
     * Client error message numbers are listed in the MySQL errmsg.h header
     * file, server error message numbers are listed in mysqld_error.h. In
     * the MySQL source distribution you can find a complete list of error
     * messages and error numbers in the file Docs/mysqld_error.txt.
     *
     * @var int
     **/
    public $errno;

    /**
     * Returns a string description of the last error
     *
     * Returns the last error message for the most recent MySQLi function
     * call that can succeed or fail.
     *
     * @var string
     **/
    public $error;

    /**
     * Returns a list of errors from the last command executed
     *
     * Returns a array of errors for the most recent MySQLi function call
     * that can succeed or fail.
     *
     * @var array
     **/
    public $error_list;

    /**
     * Returns the number of columns for the most recent query
     *
     * Returns the number of columns for the most recent query on the
     * connection represented by the {@link link} parameter. This function
     * can be useful when using the {@link mysqli_store_result} function to
     * determine if the query should have produced a non-empty result set or
     * not without knowing the nature of the query.
     *
     * @var int
     **/
    public $field_count;

    /**
     * Returns a string representing the type of connection used
     *
     * Returns a string describing the connection represented by the {@link
     * link} parameter (including the server host name).
     *
     * @var string
     **/
    public $host_info;

    /**
     * Retrieves information about the most recently executed query
     *
     * The {@link mysqli_info} function returns a string providing
     * information about the last query executed. The nature of this string
     * is provided below:
     *
     * Possible mysqli_info return values Query type Example result string
     * INSERT INTO...SELECT... Records: 100 Duplicates: 0 Warnings: 0 INSERT
     * INTO...VALUES (...),(...),(...) Records: 3 Duplicates: 0 Warnings: 0
     * LOAD DATA INFILE ... Records: 1 Deleted: 0 Skipped: 0 Warnings: 0
     * ALTER TABLE ... Records: 3 Duplicates: 0 Warnings: 0 UPDATE ... Rows
     * matched: 40 Changed: 40 Warnings: 0
     *
     * @var string
     **/
    public $info;

    /**
     * Returns the auto generated id used in the latest query
     *
     * The {@link mysqli_insert_id} function returns the ID generated by a
     * query (usually INSERT) on a table with a column having the
     * AUTO_INCREMENT attribute. If no INSERT or UPDATE statements were sent
     * via this connection, or if the modified table does not have a column
     * with the AUTO_INCREMENT attribute, this function will return zero.
     *
     * @var mixed
     **/
    public $insert_id;

    /**
     * Returns the version of the MySQL protocol used
     *
     * Returns an integer representing the MySQL protocol version used by the
     * connection represented by the {@link link} parameter.
     *
     * @var string
     **/
    public $protocol_version;

    /**
     * Returns the version of the MySQL server
     *
     * Returns a string representing the version of the MySQL server that the
     * MySQLi extension is connected to.
     *
     * @var string
     **/
    public $server_info;

    /**
     * Returns the version of the MySQL server as an integer
     *
     * The {@link mysqli_get_server_version} function returns the version of
     * the server connected to (represented by the {@link link} parameter) as
     * an integer.
     *
     * @var int
     **/
    public $server_version;

    /**
     * Returns the SQLSTATE error from previous MySQL operation
     *
     * Returns a string containing the SQLSTATE error code for the last
     * error. The error code consists of five characters. '00000' means no
     * error. The values are specified by ANSI SQL and ODBC. For a list of
     * possible values, see .
     *
     * @var string
     **/
    public $sqlstate;

    /**
     * Returns the thread ID for the current connection
     *
     * The {@link mysqli_thread_id} function returns the thread ID for the
     * current connection which can then be killed using the {@link
     * mysqli_kill} function. If the connection is lost and you reconnect
     * with {@link mysqli_ping}, the thread ID will be other. Therefore you
     * should get the thread ID only when you need it.
     *
     * @var int
     **/
    public $thread_id;

    /**
     * Returns the number of warnings from the last query for the given link
     *
     * Returns the number of warnings from the last query in the connection.
     *
     * @var int
     **/
    public $warning_count;

    /**
     * Turns on or off auto-committing database modifications
     *
     * Turns on or off auto-commit mode on queries for the database
     * connection.
     *
     * To determine the current state of autocommit use the SQL command
     * SELECT @@autocommit.
     *
     * @param bool $mode Whether to turn on auto-commit or not.
     * @return bool
     **/
    function autocommit($mode){}

    /**
     * Starts a transaction
     *
     * Begins a transaction. Requires the InnoDB engine (it is enabled by
     * default). For additional details about how MySQL transactions work,
     * see .
     *
     * @param int $flags Valid flags are:
     * @param string $name Savepoint name for the transaction.
     * @return bool
     **/
    public function begin_transaction($flags, $name){}

    /**
     * Changes the user of the specified database connection
     *
     * Changes the user of the specified database connection and sets the
     * current database.
     *
     * In order to successfully change users a valid {@link username} and
     * {@link password} parameters must be provided and that user must have
     * sufficient permissions to access the desired database. If for any
     * reason authorization fails, the current user authentication will
     * remain.
     *
     * @param string $user The MySQL user name.
     * @param string $password The MySQL password.
     * @param string $database The database to change to. If desired, the
     *   NULL value may be passed resulting in only changing the user and not
     *   selecting a database. To select a database in this case use the
     *   {@link mysqli_select_db} function.
     * @return bool
     **/
    function change_user($user, $password, $database){}

    /**
     * Returns the default character set for the database connection
     *
     * Returns the current character set for the database connection.
     *
     * @return string The default character set for the current connection
     **/
    function character_set_name(){}

    /**
     * Closes a previously opened database connection
     *
     * @return bool
     **/
    function close(){}

    /**
     * Commits the current transaction
     *
     * Commits the current transaction for the database connection.
     *
     * @param int $flags A bitmask of MYSQLI_TRANS_COR_* constants.
     * @param string $name If provided then COMMIT/*name* / is executed.
     * @return bool
     **/
    function commit($flags, $name){}

    /**
     * Open a new connection to the MySQL server
     *
     * Opens a connection to the MySQL Server.
     *
     * @param string $host Can be either a host name or an IP address.
     *   Passing the NULL value or the string "localhost" to this parameter,
     *   the local host is assumed. When possible, pipes will be used instead
     *   of the TCP/IP protocol. Prepending host by p: opens a persistent
     *   connection. {@link mysqli_change_user} is automatically called on
     *   connections opened from the connection pool.
     * @param string $username The MySQL user name.
     * @param string $passwd If not provided or NULL, the MySQL server will
     *   attempt to authenticate the user against those user records which
     *   have no password only. This allows one username to be used with
     *   different permissions (depending on if a password is provided or
     *   not).
     * @param string $dbname If provided will specify the default database
     *   to be used when performing queries.
     * @param int $port Specifies the port number to attempt to connect to
     *   the MySQL server.
     * @param string $socket Specifies the socket or named pipe that should
     *   be used.
     * @return void Returns an object which represents the connection to a
     *   MySQL Server.
     **/
    function connect($host, $username, $passwd, $dbname, $port, $socket){}

    /**
     * Performs debugging operations
     *
     * Performs debugging operations using the Fred Fish debugging library.
     *
     * @param string $message A string representing the debugging operation
     *   to perform
     * @return bool Returns TRUE.
     **/
    function debug($message){}

    /**
     * Disable reads from master
     *
     * @return void
     **/
    function disable_reads_from_master(){}

    /**
     * Dump debugging information into the log
     *
     * This function is designed to be executed by an user with the SUPER
     * privilege and is used to dump debugging information into the log for
     * the MySQL Server relating to the connection.
     *
     * @return bool
     **/
    function dump_debug_info(){}

    /**
     * Escapes special characters in a string for use in an SQL statement,
     * taking into account the current charset of the connection
     *
     * This function is used to create a legal SQL string that you can use in
     * an SQL statement. The given string is encoded to an escaped SQL
     * string, taking into account the current character set of the
     * connection.
     *
     * @param string $escapestr The string to be escaped. Characters
     *   encoded are NUL (ASCII 0), \n, \r, \, ', ", and Control-Z.
     * @return string Returns an escaped string.
     **/
    function escape_string($escapestr){}

    /**
     * Returns a character set object
     *
     * Returns a character set object providing several properties of the
     * current active character set.
     *
     * @return object The function returns a character set object with the
     *   following properties: {@link charset} Character set name {@link
     *   collation} Collation name {@link dir} Directory the charset
     *   description was fetched from (?) or "" for built-in character sets
     *   {@link min_length} Minimum character length in bytes {@link
     *   max_length} Maximum character length in bytes {@link number}
     *   Internal character set number {@link state} Character set status (?)
     **/
    function get_charset(){}

    /**
     * Get MySQL client info
     *
     * Returns a string that represents the MySQL client library version.
     *
     * @return string A string that represents the MySQL client library
     *   version
     **/
    function get_client_info(){}

    /**
     * Returns statistics about the client connection
     *
     * @return bool Returns an array with connection stats if success,
     *   FALSE otherwise.
     **/
    function get_connection_stats(){}

    /**
     * Get result of SHOW WARNINGS
     *
     * @return mysqli_warning
     **/
    function get_warnings(){}

    /**
     * Initializes MySQLi and returns a resource for use with
     * mysqli_real_connect()
     *
     * Allocates or initializes a MYSQL object suitable for {@link
     * mysqli_options} and {@link mysqli_real_connect}.
     *
     * @return mysqli Returns an object.
     **/
    function init(){}

    /**
     * Asks the server to kill a MySQL thread
     *
     * This function is used to ask the server to kill a MySQL thread
     * specified by the {@link processid} parameter. This value must be
     * retrieved by calling the {@link mysqli_thread_id} function.
     *
     * To stop a running query you should use the SQL command KILL QUERY
     * processid.
     *
     * @param int $processid
     * @return bool
     **/
    function kill($processid){}

    /**
     * Check if there are any more query results from a multi query
     *
     * Indicates if one or more result sets are available from a previous
     * call to {@link mysqli_multi_query}.
     *
     * @return bool Returns TRUE if one or more result sets are available
     *   from a previous call to {@link mysqli_multi_query}, otherwise FALSE.
     **/
    function more_results(){}

    /**
     * Performs a query on the database
     *
     * Executes one or multiple queries which are concatenated by a
     * semicolon.
     *
     * To retrieve the resultset from the first query you can use {@link
     * mysqli_use_result} or {@link mysqli_store_result}. All subsequent
     * query results can be processed using {@link mysqli_more_results} and
     * {@link mysqli_next_result}.
     *
     * @param string $query The query, as a string. Data inside the query
     *   should be properly escaped.
     * @return bool Returns FALSE if the first statement failed. To
     *   retrieve subsequent errors from other statements you have to call
     *   {@link mysqli_next_result} first.
     **/
    function multi_query($query){}

    /**
     * Prepare next result from multi_query
     *
     * Prepares next result set from a previous call to {@link
     * mysqli_multi_query} which can be retrieved by {@link
     * mysqli_store_result} or {@link mysqli_use_result}.
     *
     * @return bool
     **/
    function next_result(){}

    /**
     * Set options
     *
     * Used to set extra connect options and affect behavior for a
     * connection.
     *
     * This function may be called multiple times to set several options.
     *
     * {@link mysqli_options} should be called after {@link mysqli_init} and
     * before {@link mysqli_real_connect}.
     *
     * @param int $option The option that you want to set. It can be one of
     *   the following values: Valid options Name Description
     *   MYSQLI_OPT_CONNECT_TIMEOUT connection timeout in seconds (supported
     *   on Windows with TCP/IP since PHP 5.3.1) MYSQLI_OPT_LOCAL_INFILE
     *   enable/disable use of LOAD LOCAL INFILE MYSQLI_INIT_COMMAND command
     *   to execute after when connecting to MySQL server
     *   MYSQLI_READ_DEFAULT_FILE Read options from named option file instead
     *   of my.cnf MYSQLI_READ_DEFAULT_GROUP Read options from the named
     *   group from my.cnf or the file specified with
     *   MYSQL_READ_DEFAULT_FILE. MYSQLI_SERVER_PUBLIC_KEY RSA public key
     *   file used with the SHA-256 based authentication.
     *   MYSQLI_OPT_NET_CMD_BUFFER_SIZE The size of the internal
     *   command/network buffer. Only valid for mysqlnd.
     *   MYSQLI_OPT_NET_READ_BUFFER_SIZE Maximum read chunk size in bytes
     *   when reading the body of a MySQL command packet. Only valid for
     *   mysqlnd. MYSQLI_OPT_INT_AND_FLOAT_NATIVE Convert integer and float
     *   columns back to PHP numbers. Only valid for mysqlnd.
     *   MYSQLI_OPT_SSL_VERIFY_SERVER_CERT
     * @param mixed $value The value for the option.
     * @return bool
     **/
    function options($option, $value){}

    /**
     * Pings a server connection, or tries to reconnect if the connection has
     * gone down
     *
     * Checks whether the connection to the server is working. If it has gone
     * down and global option mysqli.reconnect is enabled, an automatic
     * reconnection is attempted.
     *
     * This function can be used by clients that remain idle for a long
     * while, to check whether the server has closed the connection and
     * reconnect if necessary.
     *
     * @return bool
     **/
    function ping(){}

    /**
     * Poll connections
     *
     * Poll connections. The method can be used as static.
     *
     * @param array $read List of connections to check for outstanding
     *   results that can be read.
     * @param array $error List of connections on which an error occured,
     *   for example, query failure or lost connection.
     * @param array $reject List of connections rejected because no
     *   asynchronous query has been run on for which the function could poll
     *   results.
     * @param int $sec Maximum number of seconds to wait, must be
     *   non-negative.
     * @param int $usec Maximum number of microseconds to wait, must be
     *   non-negative.
     * @return int Returns number of ready connections upon success, FALSE
     *   otherwise.
     **/
    public static function poll(&$read, &$error, &$reject, $sec, $usec){}

    /**
     * Prepare an SQL statement for execution
     *
     * Prepares the SQL query, and returns a statement handle to be used for
     * further operations on the statement. The query must consist of a
     * single SQL statement.
     *
     * The parameter markers must be bound to application variables using
     * {@link mysqli_stmt_bind_param} and/or {@link mysqli_stmt_bind_result}
     * before executing the statement or fetching rows.
     *
     * @param string $query The query, as a string. This parameter can
     *   include one or more parameter markers in the SQL statement by
     *   embedding question mark (?) characters at the appropriate positions.
     * @return mysqli_stmt {@link mysqli_prepare} returns a statement
     *   object or FALSE if an error occurred.
     **/
    function prepare($query){}

    /**
     * Performs a query on the database
     *
     * Performs a {@link query} against the database.
     *
     * For non-DML queries (not INSERT, UPDATE or DELETE), this function is
     * similar to calling {@link mysqli_real_query} followed by either {@link
     * mysqli_use_result} or {@link mysqli_store_result}.
     *
     * @param string $query The query string. Data inside the query should
     *   be properly escaped.
     * @param int $resultmode Either the constant MYSQLI_USE_RESULT or
     *   MYSQLI_STORE_RESULT depending on the desired behavior. By default,
     *   MYSQLI_STORE_RESULT is used. If you use MYSQLI_USE_RESULT all
     *   subsequent calls will return error Commands out of sync unless you
     *   call {@link mysqli_free_result} With MYSQLI_ASYNC (available with
     *   mysqlnd), it is possible to perform query asynchronously. {@link
     *   mysqli_poll} is then used to get results from such queries.
     * @return mixed Returns FALSE on failure. For successful SELECT, SHOW,
     *   DESCRIBE or EXPLAIN queries {@link mysqli_query} will return a
     *   mysqli_result object. For other successful queries {@link
     *   mysqli_query} will return TRUE.
     **/
    function query($query, $resultmode){}

    /**
     * Opens a connection to a mysql server
     *
     * Establish a connection to a MySQL database engine.
     *
     * This function differs from {@link mysqli_connect}:
     *
     * @param string $host Can be either a host name or an IP address.
     *   Passing the NULL value or the string "localhost" to this parameter,
     *   the local host is assumed. When possible, pipes will be used instead
     *   of the TCP/IP protocol.
     * @param string $username The MySQL user name.
     * @param string $passwd If provided or NULL, the MySQL server will
     *   attempt to authenticate the user against those user records which
     *   have no password only. This allows one username to be used with
     *   different permissions (depending on if a password as provided or
     *   not).
     * @param string $dbname If provided will specify the default database
     *   to be used when performing queries.
     * @param int $port Specifies the port number to attempt to connect to
     *   the MySQL server.
     * @param string $socket Specifies the socket or named pipe that should
     *   be used.
     * @param int $flags With the parameter {@link flags} you can set
     *   different connection options:
     * @return bool
     **/
    function real_connect($host, $username, $passwd, $dbname, $port, $socket, $flags){}

    /**
     * Escapes special characters in a string for use in an SQL statement,
     * taking into account the current charset of the connection
     *
     * This function is used to create a legal SQL string that you can use in
     * an SQL statement. The given string is encoded to an escaped SQL
     * string, taking into account the current character set of the
     * connection.
     *
     * @param string $escapestr The string to be escaped. Characters
     *   encoded are NUL (ASCII 0), \n, \r, \, ', ", and Control-Z.
     * @return string Returns an escaped string.
     **/
    function real_escape_string($escapestr){}

    /**
     * Execute an SQL query
     *
     * Executes a single query against the database whose result can then be
     * retrieved or stored using the {@link mysqli_store_result} or {@link
     * mysqli_use_result} functions.
     *
     * In order to determine if a given query should return a result set or
     * not, see {@link mysqli_field_count}.
     *
     * @param string $query The query, as a string. Data inside the query
     *   should be properly escaped.
     * @return bool
     **/
    function real_query($query){}

    /**
     * Get result from async query
     *
     * @return mysqli_result Returns mysqli_result in success, FALSE
     *   otherwise.
     **/
    public function reap_async_query(){}

    /**
     * Refreshes
     *
     * Flushes tables or caches, or resets the replication server
     * information.
     *
     * @param int $options The options to refresh, using the
     *   MYSQLI_REFRESH_* constants as documented within the MySQLi constants
     *   documentation. See also the official MySQL Refresh documentation.
     * @return bool TRUE if the refresh was a success, otherwise FALSE
     **/
    public function refresh($options){}

    /**
     * Removes the named savepoint from the set of savepoints of the current
     * transaction
     *
     * @param string $name
     * @return bool
     **/
    public function release_savepoint($name){}

    /**
     * Rolls back current transaction
     *
     * Rollbacks the current transaction for the database.
     *
     * @param int $flags A bitmask of MYSQLI_TRANS_COR_* constants.
     * @param string $name If provided then ROLLBACK/*name* / is executed.
     * @return bool
     **/
    function rollback($flags, $name){}

    /**
     * Returns RPL query type
     *
     * Returns MYSQLI_RPL_MASTER, MYSQLI_RPL_SLAVE or MYSQLI_RPL_ADMIN
     * depending on a query type. INSERT, UPDATE and similar are master
     * queries, SELECT is slave, and FLUSH, REPAIR and similar are admin.
     *
     * @param string $query
     * @return int
     **/
    function rpl_query_type($query){}

    /**
     * Set a named transaction savepoint
     *
     * @param string $name
     * @return bool
     **/
    public function savepoint($name){}

    /**
     * Selects the default database for database queries
     *
     * Selects the default database to be used when performing queries
     * against the database connection.
     *
     * @param string $dbname The database name.
     * @return bool
     **/
    function select_db($dbname){}

    /**
     * Send the query and return
     *
     * @param string $query
     * @return bool
     **/
    function send_query($query){}

    /**
     * Sets the default client character set
     *
     * Sets the default character set to be used when sending data from and
     * to the database server.
     *
     * @param string $charset The charset to be set as default.
     * @return bool
     **/
    function set_charset($charset){}

    /**
     * Set callback function for LOAD DATA LOCAL INFILE command
     *
     * The callbacks task is to read input from the file specified in the
     * LOAD DATA LOCAL INFILE and to reformat it into the format understood
     * by LOAD DATA INFILE.
     *
     * The returned data needs to match the format specified in the LOAD DATA
     *
     * @param mysqli $link A callback function or object method taking the
     *   following parameters:
     * @param callable $read_func A PHP stream associated with the SQL
     *   commands INFILE
     * @return bool
     **/
    function set_local_infile_handler($link, $read_func){}

    /**
     * Used for establishing secure connections using SSL
     *
     * Used for establishing secure connections using SSL. It must be called
     * before {@link mysqli_real_connect}. This function does nothing unless
     * OpenSSL support is enabled.
     *
     * Note that MySQL Native Driver does not support SSL before PHP 5.3.3,
     * so calling this function when using MySQL Native Driver will result in
     * an error. MySQL Native Driver is enabled by default on Microsoft
     * Windows from PHP version 5.3 onwards.
     *
     * @param string $key The path name to the key file.
     * @param string $cert The path name to the certificate file.
     * @param string $ca The path name to the certificate authority file.
     * @param string $capath The pathname to a directory that contains
     *   trusted SSL CA certificates in PEM format.
     * @param string $cipher A list of allowable ciphers to use for SSL
     *   encryption.
     * @return bool This function always returns TRUE value. If SSL setup
     *   is incorrect {@link mysqli_real_connect} will return an error when
     *   you attempt to connect.
     **/
    function ssl_set($key, $cert, $ca, $capath, $cipher){}

    /**
     * Gets the current system status
     *
     * {@link mysqli_stat} returns a string containing information similar to
     * that provided by the 'mysqladmin status' command. This includes uptime
     * in seconds and the number of running threads, questions, reloads, and
     * open tables.
     *
     * @return string A string describing the server status. FALSE if an
     *   error occurred.
     **/
    function stat(){}

    /**
     * Initializes a statement and returns an object for use with
     * mysqli_stmt_prepare
     *
     * Allocates and initializes a statement object suitable for {@link
     * mysqli_stmt_prepare}.
     *
     * @return mysqli_stmt Returns an object.
     **/
    function stmt_init(){}

    /**
     * Transfers a result set from the last query
     *
     * Transfers the result set from the last query on the database
     * connection represented by the {@link link} parameter to be used with
     * the {@link mysqli_data_seek} function.
     *
     * @param int $option The option that you want to set. It can be one of
     *   the following values: Valid options Name Description
     *   MYSQLI_STORE_RESULT_COPY_DATA Copy results from the internal mysqlnd
     *   buffer into the PHP variables fetched. By default, mysqlnd will use
     *   a reference logic to avoid copying and duplicating results held in
     *   memory. For certain result sets, for example, result sets with many
     *   small rows, the copy approach can reduce the overall memory usage
     *   because PHP variables holding results may be released earlier
     *   (available with mysqlnd only, since PHP 5.6.0)
     * @return mysqli_result Returns a buffered result object or FALSE if
     *   an error occurred.
     **/
    function store_result($option){}

    /**
     * Initiate a result set retrieval
     *
     * Used to initiate the retrieval of a result set from the last query
     * executed using the {@link mysqli_real_query} function on the database
     * connection.
     *
     * Either this or the {@link mysqli_store_result} function must be called
     * before the results of a query can be retrieved, and one or the other
     * must be called to prevent the next query on that database connection
     * from failing.
     *
     * @return mysqli_result Returns an unbuffered result object or FALSE
     *   if an error occurred.
     **/
    function use_result(){}

}
/**
 * MySQLi Driver.
 **/
class mysqli_driver {
    /**
     * @var string
     **/
    public $client_info;

    /**
     * @var string
     **/
    public $client_version;

    /**
     * @var string
     **/
    public $driver_version;

    /**
     * @var string
     **/
    public $embedded;

    /**
     * @var bool
     **/
    public $reconnect;

    /**
     * @var int
     **/
    public $report_mode;

    /**
     * Stop embedded server
     *
     * @return void
     **/
    function embedded_server_end(){}

    /**
     * Initialize and start embedded server
     *
     * @param int $start
     * @param array $arguments
     * @param array $groups
     * @return bool
     **/
    function embedded_server_start($start, $arguments, $groups){}

}
/**
 * Represents the result set obtained from a query against the database.
 **/
class mysqli_result implements Traversable {
    /**
     * Get current field offset of a result pointer
     *
     * Returns the position of the field cursor used for the last {@link
     * mysqli_fetch_field} call. This value can be used as an argument to
     * {@link mysqli_field_seek}.
     *
     * @var int
     **/
    public $current_field;

    /**
     * Get the number of fields in a result
     *
     * Returns the number of fields from specified result set.
     *
     * @var int
     **/
    public $field_count;

    /**
     * Returns the lengths of the columns of the current row in the result
     * set
     *
     * The {@link mysqli_fetch_lengths} function returns an array containing
     * the lengths of every column of the current row within the result set.
     *
     * @var array
     **/
    public $lengths;

    /**
     * Gets the number of rows in a result
     *
     * Returns the number of rows in the result set.
     *
     * The behaviour of {@link mysqli_num_rows} depends on whether buffered
     * or unbuffered result sets are being used. For unbuffered result sets,
     * {@link mysqli_num_rows} will not return the correct number of rows
     * until all the rows in the result have been retrieved.
     *
     * @var int
     **/
    public $num_rows;

    /**
     * Frees the memory associated with a result
     *
     * Frees the memory associated with the result.
     *
     * @return void
     **/
    function close(){}

    /**
     * Adjusts the result pointer to an arbitrary row in the result
     *
     * The {@link mysqli_data_seek} function seeks to an arbitrary result
     * pointer specified by the {@link offset} in the result set.
     *
     * @param int $offset The field offset. Must be between zero and the
     *   total number of rows minus one (0..{@link mysqli_num_rows} - 1).
     * @return bool
     **/
    function data_seek($offset){}

    /**
     * Fetches all result rows as an associative array, a numeric array, or
     * both
     *
     * {@link mysqli_fetch_all} fetches all result rows and returns the
     * result set as an associative array, a numeric array, or both.
     *
     * @param int $resulttype This optional parameter is a constant
     *   indicating what type of array should be produced from the current
     *   row data. The possible values for this parameter are the constants
     *   MYSQLI_ASSOC, MYSQLI_NUM, or MYSQLI_BOTH.
     * @return mixed Returns an array of associative or numeric arrays
     *   holding result rows.
     **/
    function fetch_all($resulttype){}

    /**
     * Fetch a result row as an associative, a numeric array, or both
     *
     * Returns an array that corresponds to the fetched row or NULL if there
     * are no more rows for the resultset represented by the {@link result}
     * parameter.
     *
     * {@link mysqli_fetch_array} is an extended version of the {@link
     * mysqli_fetch_row} function. In addition to storing the data in the
     * numeric indices of the result array, the {@link mysqli_fetch_array}
     * function can also store the data in associative indices, using the
     * field names of the result set as keys.
     *
     * If two or more columns of the result have the same field names, the
     * last column will take precedence and overwrite the earlier data. In
     * order to access multiple columns with the same name, the numerically
     * indexed version of the row must be used.
     *
     * @param int $resulttype This optional parameter is a constant
     *   indicating what type of array should be produced from the current
     *   row data. The possible values for this parameter are the constants
     *   MYSQLI_ASSOC, MYSQLI_NUM, or MYSQLI_BOTH. By using the MYSQLI_ASSOC
     *   constant this function will behave identically to the {@link
     *   mysqli_fetch_assoc}, while MYSQLI_NUM will behave identically to the
     *   {@link mysqli_fetch_row} function. The final option MYSQLI_BOTH will
     *   create a single array with the attributes of both.
     * @return mixed Returns an array of strings that corresponds to the
     *   fetched row or NULL if there are no more rows in resultset.
     **/
    function fetch_array($resulttype){}

    /**
     * Fetch a result row as an associative array
     *
     * Returns an associative array that corresponds to the fetched row or
     * NULL if there are no more rows.
     *
     * @return array Returns an associative array of strings representing
     *   the fetched row in the result set, where each key in the array
     *   represents the name of one of the result set's columns or NULL if
     *   there are no more rows in resultset.
     **/
    function fetch_assoc(){}

    /**
     * Returns the next field in the result set
     *
     * Returns the definition of one column of a result set as an object.
     * Call this function repeatedly to retrieve information about all
     * columns in the result set.
     *
     * @return object Returns an object which contains field definition
     *   information or FALSE if no field information is available.
     **/
    function fetch_field(){}

    /**
     * Returns an array of objects representing the fields in a result set
     *
     * This function serves an identical purpose to the {@link
     * mysqli_fetch_field} function with the single difference that, instead
     * of returning one object at a time for each field, the columns are
     * returned as an array of objects.
     *
     * @return array Returns an array of objects which contains field
     *   definition information or FALSE if no field information is
     *   available.
     **/
    function fetch_fields(){}

    /**
     * Fetch meta-data for a single field
     *
     * Returns an object which contains field definition information from the
     * specified result set.
     *
     * @param int $fieldnr The field number. This value must be in the
     *   range from 0 to number of fields - 1.
     * @return object Returns an object which contains field definition
     *   information or FALSE if no field information for specified fieldnr
     *   is available.
     **/
    function fetch_field_direct($fieldnr){}

    /**
     * Returns the current row of a result set as an object
     *
     * The {@link mysqli_fetch_object} will return the current row result set
     * as an object where the attributes of the object represent the names of
     * the fields found within the result set.
     *
     * Note that {@link mysqli_fetch_object} sets the properties of the
     * object before calling the object constructor.
     *
     * @param string $class_name The name of the class to instantiate, set
     *   the properties of and return. If not specified, a stdClass object is
     *   returned.
     * @param array $params An optional array of parameters to pass to the
     *   constructor for {@link class_name} objects.
     * @return object Returns an object with string properties that
     *   corresponds to the fetched row or NULL if there are no more rows in
     *   resultset.
     **/
    function fetch_object($class_name, $params){}

    /**
     * Get a result row as an enumerated array
     *
     * Fetches one row of data from the result set and returns it as an
     * enumerated array, where each column is stored in an array offset
     * starting from 0 (zero). Each subsequent call to this function will
     * return the next row within the result set, or NULL if there are no
     * more rows.
     *
     * @return mixed {@link mysqli_fetch_row} returns an array of strings
     *   that corresponds to the fetched row or NULL if there are no more
     *   rows in result set.
     **/
    function fetch_row(){}

    /**
     * Set result pointer to a specified field offset
     *
     * Sets the field cursor to the given offset. The next call to {@link
     * mysqli_fetch_field} will retrieve the field definition of the column
     * associated with that offset.
     *
     * @param int $fieldnr The field number. This value must be in the
     *   range from 0 to number of fields - 1.
     * @return bool
     **/
    function field_seek($fieldnr){}

    /**
     * Frees the memory associated with a result
     *
     * Frees the memory associated with the result.
     *
     * @return void
     **/
    function free(){}

    /**
     * Frees the memory associated with a result
     *
     * Frees the memory associated with the result.
     *
     * @return void
     **/
    function free_result(){}

}
/**
 * The mysqli exception handling class.
 **/
class mysqli_sql_exception extends RuntimeException {
    /**
     * @var string
     **/
    protected $sqlstate;

}
/**
 * Represents a prepared statement.
 **/
class mysqli_stmt {
    /**
     * Returns the total number of rows changed, deleted, or inserted by the
     * last executed statement
     *
     * Returns the number of rows affected by INSERT, UPDATE, or DELETE
     * query.
     *
     * This function only works with queries which update a table. In order
     * to get the number of rows from a SELECT query, use {@link
     * mysqli_stmt_num_rows} instead.
     *
     * @var int
     **/
    public $affected_rows;

    /**
     * Returns the error code for the most recent statement call
     *
     * Returns the error code for the most recently invoked statement
     * function that can succeed or fail.
     *
     * Client error message numbers are listed in the MySQL errmsg.h header
     * file, server error message numbers are listed in mysqld_error.h. In
     * the MySQL source distribution you can find a complete list of error
     * messages and error numbers in the file Docs/mysqld_error.txt.
     *
     * @var int
     **/
    public $errno;

    /**
     * Returns a string description for last statement error
     *
     * Returns a string containing the error message for the most recently
     * invoked statement function that can succeed or fail.
     *
     * @var string
     **/
    public $error;

    /**
     * Returns a list of errors from the last statement executed
     *
     * Returns an array of errors for the most recently invoked statement
     * function that can succeed or fail.
     *
     * @var array
     **/
    public $error_list;

    /**
     * Returns the number of field in the given statement
     *
     * @var int
     **/
    public $field_count;

    /**
     * Get the ID generated from the previous INSERT operation
     *
     * @var int
     **/
    public $insert_id;

    /**
     * Return the number of rows in statements result set
     *
     * Returns the number of rows in the result set. The use of {@link
     * mysqli_stmt_num_rows} depends on whether or not you used {@link
     * mysqli_stmt_store_result} to buffer the entire result set in the
     * statement handle.
     *
     * If you use {@link mysqli_stmt_store_result}, {@link
     * mysqli_stmt_num_rows} may be called immediately.
     *
     * @var int
     **/
    public $num_rows;

    /**
     * Returns the number of parameter for the given statement
     *
     * Returns the number of parameter markers present in the prepared
     * statement.
     *
     * @var int
     **/
    public $param_count;

    /**
     * Returns SQLSTATE error from previous statement operation
     *
     * Returns a string containing the SQLSTATE error code for the most
     * recently invoked prepared statement function that can succeed or fail.
     * The error code consists of five characters. '00000' means no error.
     * The values are specified by ANSI SQL and ODBC. For a list of possible
     * values, see .
     *
     * @var string
     **/
    public $sqlstate;

    /**
     * Used to get the current value of a statement attribute
     *
     * Gets the current value of a statement attribute.
     *
     * @param int $attr The attribute that you want to get.
     * @return int Returns FALSE if the attribute is not found, otherwise
     *   returns the value of the attribute.
     **/
    function attr_get($attr){}

    /**
     * Used to modify the behavior of a prepared statement
     *
     * Used to modify the behavior of a prepared statement. This function may
     * be called multiple times to set several attributes.
     *
     * @param int $attr The attribute that you want to set. It can have one
     *   of the following values: Attribute values Character Description
     *   MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH Setting to TRUE causes {@link
     *   mysqli_stmt_store_result} to update the metadata
     *   MYSQL_FIELD->max_length value. MYSQLI_STMT_ATTR_CURSOR_TYPE Type of
     *   cursor to open for statement when {@link mysqli_stmt_execute} is
     *   invoked. {@link mode} can be MYSQLI_CURSOR_TYPE_NO_CURSOR (the
     *   default) or MYSQLI_CURSOR_TYPE_READ_ONLY.
     *   MYSQLI_STMT_ATTR_PREFETCH_ROWS Number of rows to fetch from server
     *   at a time when using a cursor. {@link mode} can be in the range from
     *   1 to the maximum value of unsigned long. The default is 1. If you
     *   use the MYSQLI_STMT_ATTR_CURSOR_TYPE option with
     *   MYSQLI_CURSOR_TYPE_READ_ONLY, a cursor is opened for the statement
     *   when you invoke {@link mysqli_stmt_execute}. If there is already an
     *   open cursor from a previous {@link mysqli_stmt_execute} call, it
     *   closes the cursor before opening a new one. {@link
     *   mysqli_stmt_reset} also closes any open cursor before preparing the
     *   statement for re-execution. {@link mysqli_stmt_free_result} closes
     *   any open cursor. If you open a cursor for a prepared statement,
     *   {@link mysqli_stmt_store_result} is unnecessary.
     * @param int $mode The value to assign to the attribute.
     * @return bool
     **/
    function attr_set($attr, $mode){}

    /**
     * Binds variables to a prepared statement as parameters
     *
     * Bind variables for the parameter markers in the SQL statement that was
     * passed to {@link mysqli_prepare}.
     *
     * @param string $types A string that contains one or more characters
     *   which specify the types for the corresponding bind variables: Type
     *   specification chars Character Description i corresponding variable
     *   has type integer d corresponding variable has type double s
     *   corresponding variable has type string b corresponding variable is a
     *   blob and will be sent in packets
     * @param mixed $var1 The number of variables and length of string
     *   {@link types} must match the parameters in the statement.
     * @return bool
     **/
    function bind_param($types, &$var1){}

    /**
     * Binds variables to a prepared statement for result storage
     *
     * Binds columns in the result set to variables.
     *
     * When {@link mysqli_stmt_fetch} is called to fetch data, the MySQL
     * client/server protocol places the data for the bound columns into the
     * specified variables {@link var1, ...}.
     *
     * @param mixed $var1 The variable to be bound.
     * @return bool
     **/
    function bind_result(&$var1){}

    /**
     * Closes a prepared statement
     *
     * Closes a prepared statement. {@link mysqli_stmt_close} also
     * deallocates the statement handle. If the current statement has pending
     * or unread results, this function cancels them so that the next query
     * can be executed.
     *
     * @return bool
     **/
    function close(){}

    /**
     * Seeks to an arbitrary row in statement result set
     *
     * Seeks to an arbitrary result pointer in the statement result set.
     *
     * {@link mysqli_stmt_store_result} must be called prior to {@link
     * mysqli_stmt_data_seek}.
     *
     * @param int $offset Must be between zero and the total number of rows
     *   minus one (0.. {@link mysqli_stmt_num_rows} - 1).
     * @return void
     **/
    function data_seek($offset){}

    /**
     * Executes a prepared Query
     *
     * Executes a query that has been previously prepared using the {@link
     * mysqli_prepare} function. When executed any parameter markers which
     * exist will automatically be replaced with the appropriate data.
     *
     * If the statement is UPDATE, DELETE, or INSERT, the total number of
     * affected rows can be determined by using the {@link
     * mysqli_stmt_affected_rows} function. Likewise, if the query yields a
     * result set the {@link mysqli_stmt_fetch} function is used.
     *
     * @return bool
     **/
    function execute(){}

    /**
     * Fetch results from a prepared statement into the bound variables
     *
     * Fetch the result from a prepared statement into the variables bound by
     * {@link mysqli_stmt_bind_result}.
     *
     * @return bool
     **/
    function fetch(){}

    /**
     * Frees stored result memory for the given statement handle
     *
     * Frees the result memory associated with the statement, which was
     * allocated by {@link mysqli_stmt_store_result}.
     *
     * @return void
     **/
    function free_result(){}

    /**
     * Gets a result set from a prepared statement
     *
     * Call to return a result set from a prepared statement query.
     *
     * @return mysqli_result Returns a resultset for successful SELECT
     *   queries, or FALSE for other DML queries or on failure. The {@link
     *   mysqli_errno} function can be used to distinguish between the two
     *   types of failure.
     **/
    function get_result(){}

    /**
     * Returns the version of the MySQL server
     *
     * Returns a string representing the version of the MySQL server that the
     * MySQLi extension is connected to.
     *
     * @return string A character string representing the server version.
     **/
    function get_server_info(){}

    /**
     * Get result of SHOW WARNINGS
     *
     * @param mysqli_stmt $stmt
     * @return object
     **/
    function get_warnings($stmt){}

    /**
     * Check if there are more query results from a multiple query
     *
     * Checks if there are more query results from a multiple query.
     *
     * @return bool Returns TRUE if more results exist, otherwise FALSE.
     **/
    public function more_results(){}

    /**
     * Reads the next result from a multiple query
     *
     * @return bool
     **/
    public function next_result(){}

    /**
     * Return the number of rows in statements result set
     *
     * Returns the number of rows in the result set. The use of {@link
     * mysqli_stmt_num_rows} depends on whether or not you used {@link
     * mysqli_stmt_store_result} to buffer the entire result set in the
     * statement handle.
     *
     * If you use {@link mysqli_stmt_store_result}, {@link
     * mysqli_stmt_num_rows} may be called immediately.
     *
     * @return int An integer representing the number of rows in result
     *   set.
     **/
    function num_rows(){}

    /**
     * Prepare an SQL statement for execution
     *
     * Prepares the SQL query pointed to by the null-terminated string query.
     *
     * The parameter markers must be bound to application variables using
     * {@link mysqli_stmt_bind_param} and/or {@link mysqli_stmt_bind_result}
     * before executing the statement or fetching rows.
     *
     * @param string $query The query, as a string. It must consist of a
     *   single SQL statement. You can include one or more parameter markers
     *   in the SQL statement by embedding question mark (?) characters at
     *   the appropriate positions.
     * @return mixed
     **/
    function prepare($query){}

    /**
     * Resets a prepared statement
     *
     * Resets a prepared statement on client and server to state after
     * prepare.
     *
     * It resets the statement on the server, data sent using {@link
     * mysqli_stmt_send_long_data}, unbuffered result sets and current
     * errors. It does not clear bindings or stored result sets. Stored
     * result sets will be cleared when executing the prepared statement (or
     * closing it).
     *
     * To prepare a statement with another query use function {@link
     * mysqli_stmt_prepare}.
     *
     * @return bool
     **/
    function reset(){}

    /**
     * Returns result set metadata from a prepared statement
     *
     * If a statement passed to {@link mysqli_prepare} is one that produces a
     * result set, {@link mysqli_stmt_result_metadata} returns the result
     * object that can be used to process the meta information such as total
     * number of fields and individual field information.
     *
     * The result set structure should be freed when you are done with it,
     * which you can do by passing it to {@link mysqli_free_result}
     *
     * @return mysqli_result Returns a result object or FALSE if an error
     *   occurred.
     **/
    function result_metadata(){}

    /**
     * Send data in blocks
     *
     * Allows to send parameter data to the server in pieces (or chunks),
     * e.g. if the size of a blob exceeds the size of max_allowed_packet.
     * This function can be called multiple times to send the parts of a
     * character or binary data value for a column, which must be one of the
     * TEXT or BLOB datatypes.
     *
     * @param int $param_nr Indicates which parameter to associate the data
     *   with. Parameters are numbered beginning with 0.
     * @param string $data A string containing data to be sent.
     * @return bool
     **/
    function send_long_data($param_nr, $data){}

    /**
     * Transfers a result set from a prepared statement
     *
     * You must call {@link mysqli_stmt_store_result} for every query that
     * successfully produces a result set (SELECT, SHOW, DESCRIBE, EXPLAIN),
     * if and only if you want to buffer the complete result set by the
     * client, so that the subsequent {@link mysqli_stmt_fetch} call returns
     * buffered data.
     *
     * @return bool
     **/
    function store_result(){}

}
/**
 * Represents a MySQL warning.
 **/
class mysqli_warning {
    /**
     * @var mixed
     **/
    public $errno;

    /**
     * @var mixed
     **/
    public $message;

    /**
     * @var mixed
     **/
    public $sqlstate;

    /**
     * The next purpose
     *
     * @return void
     **/
    public function next(){}

    /**
     * The __construct purpose
     *
     * @since PHP 5, PHP 7
     **/
    protected function __construct(){}

}
class MysqlndUhConnection {
    /**
     * Changes the user of the specified mysqlnd database connection
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @param string $user The MySQL user name.
     * @param string $password The MySQL password.
     * @param string $database The MySQL database to change to.
     * @param bool $silent Controls if mysqlnd is allowed to emit errors or
     *   not.
     * @param int $passwd_len Length of the MySQL password.
     * @return bool Returns TRUE on success. Otherwise, returns FALSE
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function changeUser($connection, $user, $password, $database, $silent, $passwd_len){}

    /**
     * Returns the default character set for the database connection
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return string The default character set.
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function charsetName($connection){}

    /**
     * Closes a previously opened database connection
     *
     * @param mysqlnd_connection $connection The connection to be closed.
     *   Do not modify!
     * @param int $close_type Why the connection is to be closed. The value
     *   of {@link close_type} is one of MYSQLND_UH_MYSQLND_CLOSE_EXPLICIT,
     *   MYSQLND_UH_MYSQLND_CLOSE_IMPLICIT,
     *   MYSQLND_UH_MYSQLND_CLOSE_DISCONNECTED or
     *   MYSQLND_UH_MYSQLND_CLOSE_LAST. The latter should never be seen,
     *   unless the default behaviour of the mysqlnd library has been changed
     *   by a plugin.
     * @return bool Returns TRUE on success. Otherwise, returns FALSE
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function close($connection, $close_type){}

    /**
     * Open a new connection to the MySQL server
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @param string $host Can be either a host name or an IP address.
     *   Passing the NULL value or the string localhost to this parameter,
     *   the local host is assumed. When possible, pipes will be used instead
     *   of the TCP/IP protocol.
     * @param string $use" The MySQL user name.
     * @param string $password If not provided or NULL, the MySQL server
     *   will attempt to authenticate the user against those user records
     *   which have no password only. This allows one username to be used
     *   with different permissions (depending on if a password as provided
     *   or not).
     * @param string $database If provided will specify the default
     *   database to be used when performing queries.
     * @param int $port Specifies the port number to attempt to connect to
     *   the MySQL server.
     * @param string $socket Specifies the socket or named pipe that should
     *   be used. If NULL, mysqlnd will default to /tmp/mysql.sock.
     * @param int $mysql_flags Connection options.
     * @return bool Returns TRUE on success. Otherwise, returns FALSE
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function connect($connection, $host, $use, $password, $database, $port, $socket, $mysql_flags){}

    /**
     * End a persistent connection
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return bool Returns TRUE on success. Otherwise, returns FALSE
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function endPSession($connection){}

    /**
     * Escapes special characters in a string for use in an SQL statement,
     * taking into account the current charset of the connection
     *
     * Escapes special characters in a string for use in an SQL statement,
     * taking into account the current charset of the connection.
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @param string $escape_string The string to be escaped.
     * @return string The escaped string.
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function escapeString($connection, $escape_string){}

    /**
     * Gets the number of affected rows in a previous MySQL operation
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return int Number of affected rows.
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function getAffectedRows($connection){}

    /**
     * Returns the error code for the most recent function call
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return int Error code for the most recent function call.
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function getErrorNumber($connection){}

    /**
     * Returns a string description of the last error
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return string Error string for the most recent function call.
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function getErrorString($connection){}

    /**
     * Returns the number of columns for the most recent query
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return int Number of columns.
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function getFieldCount($connection){}

    /**
     * Returns a string representing the type of connection used
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return string Connection description.
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function getHostInformation($connection){}

    /**
     * Returns the auto generated id used in the last query
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return int Last insert id.
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function getLastInsertId($connection){}

    /**
     * Retrieves information about the most recently executed query
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return void Last message. Trying to return a string longer than 511
     *   bytes will cause an error of the type E_WARNING and result in the
     *   string being truncated.
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function getLastMessage($connection){}

    /**
     * Returns the version of the MySQL protocol used
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return string The protocol version.
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function getProtocolInformation($connection){}

    /**
     * Returns the version of the MySQL server
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return string The server version.
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function getServerInformation($connection){}

    /**
     * Gets the current system status
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return string The system status message.
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function getServerStatistics($connection){}

    /**
     * Returns the version of the MySQL server as an integer
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return int The MySQL version.
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function getServerVersion($connection){}

    /**
     * Returns the SQLSTATE error from previous MySQL operation
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return string The SQLSTATE code.
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function getSqlstate($connection){}

    /**
     * Returns statistics about the client connection
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return array Connection statistics collected by mysqlnd.
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function getStatistics($connection){}

    /**
     * Returns the thread ID for the current connection
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return int Connection thread id.
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function getThreadId($connection){}

    /**
     * Returns the number of warnings from the last query for the given link
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return int Number of warnings.
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function getWarningCount($connection){}

    /**
     * Initialize mysqlnd connection
     *
     * Initialize mysqlnd connection. This is an mysqlnd internal call to
     * initialize the connection object.
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return bool Returns TRUE on success. Otherwise, returns FALSE
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function init($connection){}

    /**
     * Asks the server to kill a MySQL thread
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @param int $pid Thread Id of the connection to be killed.
     * @return bool Returns TRUE on success. Otherwise, returns FALSE
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function killConnection($connection, $pid){}

    /**
     * List MySQL table fields
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @param string $table The name of the table that's being queried.
     * @param string $achtung_wild Name pattern.
     * @return array
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function listFields($connection, $table, $achtung_wild){}

    /**
     * Wrapper for assorted list commands
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @param string $query SHOW command to be executed.
     * @param string $achtung_wild
     * @param string $par1
     * @return void
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function listMethod($connection, $query, $achtung_wild, $par1){}

    /**
     * Check if there are any more query results from a multi query
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return bool Returns TRUE on success. Otherwise, returns FALSE
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function moreResults($connection){}

    /**
     * Prepare next result from multi_query
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return bool Returns TRUE on success. Otherwise, returns FALSE
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function nextResult($connection){}

    /**
     * Pings a server connection, or tries to reconnect if the connection has
     * gone down
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return bool Returns TRUE on success. Otherwise, returns FALSE
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function ping($connection){}

    /**
     * Performs a query on the database
     *
     * Performs a query on the database (COM_QUERY).
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @param string $query The query string.
     * @return bool Returns TRUE on success. Otherwise, returns FALSE
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function query($connection, $query){}

    /**
     * Read a result set header
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @param mysqlnd_statement $mysqlnd_stmt Mysqlnd statement handle. Do
     *   not modify! Set to NULL, if function is not used in the context of a
     *   prepared statement.
     * @return bool Returns TRUE on success. Otherwise, returns FALSE
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function queryReadResultsetHeader($connection, $mysqlnd_stmt){}

    /**
     * Get result from async query
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return bool Returns TRUE on success. Otherwise, returns FALSE
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function reapQuery($connection){}

    /**
     * Flush or reset tables and caches
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @param int $options What to refresh.
     * @return bool Returns TRUE on success. Otherwise, returns FALSE
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function refreshServer($connection, $options){}

    /**
     * Restart a persistent mysqlnd connection
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return bool Returns TRUE on success. Otherwise, returns FALSE
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function restartPSession($connection){}

    /**
     * Selects the default database for database queries
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @param string $database The database name.
     * @return bool Returns TRUE on success. Otherwise, returns FALSE
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function selectDb($connection, $database){}

    /**
     * Sends a close command to MySQL
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return bool Returns TRUE on success. Otherwise, returns FALSE
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function sendClose($connection){}

    /**
     * Sends a query to MySQL
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @param string $query The query string.
     * @return bool Returns TRUE on success. Otherwise, returns FALSE
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function sendQuery($connection, $query){}

    /**
     * Dump debugging information into the log for the MySQL server
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return bool Returns TRUE on success. Otherwise, returns FALSE
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function serverDumpDebugInformation($connection){}

    /**
     * Turns on or off auto-committing database modifications
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @param int $mode Whether to turn on auto-commit or not.
     * @return bool Returns TRUE on success. Otherwise, returns FALSE
     * @since PECL mysqlnd-uh >= 1.0.1-alpha
     **/
    public function setAutocommit($connection, $mode){}

    /**
     * Sets the default client character set
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @param string $charset The charset to be set as default.
     * @return bool Returns TRUE on success. Otherwise, returns FALSE
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function setCharset($connection, $charset){}

    /**
     * Sets a client option
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @param int $option The option to be set.
     * @param int $value Optional option value, if required.
     * @return bool Returns TRUE on success. Otherwise, returns FALSE
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function setClientOption($connection, $option, $value){}

    /**
     * Sets a server option
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @param int $option The option to be set.
     * @return void Returns TRUE on success. Otherwise, returns FALSE
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function setServerOption($connection, $option){}

    /**
     * The shutdownServer purpose
     *
     * @param string $MYSQLND_UH_RES_MYSQLND_NAME
     * @param string $level
     * @return void
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function shutdownServer($MYSQLND_UH_RES_MYSQLND_NAME, $level){}

    /**
     * Sends a basic COM_* command
     *
     * Sends a basic COM_* command to MySQL.
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @param int $command The COM command to be send.
     * @param string $arg Optional COM command arguments.
     * @param int $ok_packet The OK packet type.
     * @param bool $silent Whether mysqlnd may emit errors.
     * @param bool $ignore_upsert_status Whether to ignore UPDATE/INSERT
     *   status.
     * @return bool Returns TRUE on success. Otherwise, returns FALSE
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function simpleCommand($connection, $command, $arg, $ok_packet, $silent, $ignore_upsert_status){}

    /**
     * Process a response for a basic COM_* command send to the client
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @param int $ok_packet The OK packet type.
     * @param bool $silent Whether mysqlnd may emit errors.
     * @param int $command The COM command to process results from.
     * @param bool $ignore_upsert_status Whether to ignore UPDATE/INSERT
     *   status.
     * @return bool Returns TRUE on success. Otherwise, returns FALSE
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function simpleCommandHandleResponse($connection, $ok_packet, $silent, $command, $ignore_upsert_status){}

    /**
     * Used for establishing secure connections using SSL
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @param string $key The path name to the key file.
     * @param string $cert The path name to the certificate file.
     * @param string $ca The path name to the certificate authority file.
     * @param string $capath The pathname to a directory that contains
     *   trusted SSL CA certificates in PEM format.
     * @param string $cipher A list of allowable ciphers to use for SSL
     *   encryption.
     * @return bool Returns TRUE on success. Otherwise, returns FALSE
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function sslSet($connection, $key, $cert, $ca, $capath, $cipher){}

    /**
     * Initializes a statement and returns a resource for use with
     * mysqli_statement::prepare
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return resource Resource of type Mysqlnd Prepared Statement
     *   (internal only - you must not modify it!). The documentation may
     *   also refer to such resources using the alias name
     *   mysqlnd_prepared_statement.
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function stmtInit($connection){}

    /**
     * Transfers a result set from the last query
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return resource Resource of type Mysqlnd Resultset (internal only -
     *   you must not modify it!). The documentation may also refer to such
     *   resources using the alias name mysqlnd_resultset.
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function storeResult($connection){}

    /**
     * Commits the current transaction
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return bool Returns TRUE on success. Otherwise, returns FALSE
     * @since PECL mysqlnd-uh >= 1.0.1-alpha
     **/
    public function txCommit($connection){}

    /**
     * Rolls back current transaction
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return bool Returns TRUE on success. Otherwise, returns FALSE
     * @since PECL mysqlnd-uh >= 1.0.1-alpha
     **/
    public function txRollback($connection){}

    /**
     * Initiate a result set retrieval
     *
     * @param mysqlnd_connection $connection Mysqlnd connection handle. Do
     *   not modify!
     * @return resource Resource of type Mysqlnd Resultset (internal only -
     *   you must not modify it!). The documentation may also refer to such
     *   resources using the alias name mysqlnd_resultset.
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function useResult($connection){}

    /**
     * The __construct purpose
     *
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function __construct(){}

}
class MysqlndUhPreparedStatement {
    /**
     * Executes a prepared Query
     *
     * @param mysqlnd_prepared_statement $statement Mysqlnd prepared
     *   statement handle. Do not modify! Resource of type Mysqlnd Prepared
     *   Statement (internal only - you must not modify it!).
     * @return bool Returns TRUE on success. Otherwise, returns FALSE
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function execute($statement){}

    /**
     * Prepare an SQL statement for execution
     *
     * @param mysqlnd_prepared_statement $statement Mysqlnd prepared
     *   statement handle. Do not modify! Resource of type Mysqlnd Prepared
     *   Statement (internal only - you must not modify it!).
     * @param string $query The query to be prepared.
     * @return bool Returns TRUE on success. Otherwise, returns FALSE
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function prepare($statement, $query){}

    /**
     * The __construct purpose
     *
     * @since PECL mysqlnd-uh >= 1.0.0-alpha
     **/
    public function __construct(){}

}
namespace mysql_xdevapi {
interface BaseResult {
    /**
     * Fetch warnings from last operation
     *
     * Fetches the warnings generated by the MySQL server from the last
     * operation.
     *
     * @return array An array of warnings raised by the last operation, or
     *   an empty array if no warnings are present.
     **/
    public function getWarnings();

    /**
     * Fetch warning count from last operation
     *
     * Returns the number of warnings raised by the last operation.
     * Specifically, these warnings are raised by the MySQL server.
     *
     * @return integer The number of warnings from the last operation.
     **/
    public function getWarningsCount();

}
}
namespace mysql_xdevapi {
class Collection implements mysql_xdevapi\SchemaObject {
    /**
     * @var mixed
     **/
    public $name;

    /**
     * Add collection document
     *
     * Triggers the insertion of the given document(s) into the collection,
     * and multiple variants of this method are supported. Options include:
     *
     * @param mixed $document One or multiple documents, and this can be
     *   either JSON or an array of fields with their associated values. This
     *   cannot be an empty array. The MySQL server automatically generates
     *   unique _id values for each document, although this can be manually
     *   added as well. This value must be unique as otherwise the add
     *   operation will fail.
     * @return mysql_xdevapi\Result A Result object that can be used to
     *   query the number of affected items, the number warnings generated by
     *   the operation, or to fetch a list of generated IDs for the inserted
     *   documents.
     **/
    public function add($document){}

    /**
     * Add or replace collection document
     *
     * Add a new document, or replace a document if it already exists.
     *
     * Here are several scenarios for this method:
     *
     * @param string $id This is the filter id. If this id or any other
     *   field that has a unique index already exists in the collection, then
     *   it will update the matching document instead.
     * @param string $doc This is the document to add or replace, which is
     *   a JSON string.
     * @return mysql_xdevapi\Result A Result object.
     **/
    public function addOrReplaceOne($id, $doc){}

    /**
     * Get document count
     *
     * This functionality is similar to a SELECT COUNT(*) SQL operation
     * against the MySQL server for the current schema and collection. In
     * other words, it counts the number of documents in the collection.
     *
     * @return integer The number of documents in the collection.
     **/
    public function count(){}

    /**
     * Create collection index
     *
     * Creates an index on the collection.
     *
     * An exception is thrown if an index with the same name already exists,
     * or if index definition is not correctly formed.
     *
     * @param string $index_name The name of the index that to create. This
     *   name must be a valid index name as accepted by the CREATE INDEX SQL
     *   query.
     * @param string $index_desc_json Definition of the index to create. It
     *   contains an array of IndexField objects, and each object describes a
     *   single document member to include in the index, and an optional
     *   string for the type of index that might be INDEX (default) or
     *   SPATIAL. A single IndexField description consists of the following
     *   fields: It is an error to include other fields not described above
     *   in IndexDefinition or IndexField documents.
     * @return void
     **/
    public function createIndex($index_name, $index_desc_json){}

    /**
     * Drop collection index
     *
     * Drop an index with the given name. Silently succeeds if the index does
     * not exist (no error or warning raised). To confirm the drop has been
     * executed the user should check the boolean return type.
     *
     * @param string $index_name The name of the index that has to be
     *   dropped.
     * @return bool The functions return a boolean value, true if the drop
     *   has succeed and false in the other case.
     **/
    public function dropIndex($index_name){}

    /**
     * Check if collection exists in database
     *
     * Checks if the Collection object refers to a collection in the
     * database.
     *
     * @return bool Returns TRUE if collection exists in the database, else
     *   FALSE if it does not.
     **/
    public function existsInDatabase(){}

    /**
     * Search for document
     *
     * Search a database collection for a document or set of documents. The
     * returned documents are contained in the CollectionFind object that can
     * be used further to fetch one or all the documents.
     *
     * @param string $search_condition Although optional, normally a
     *   condition is defined to limit the results to a subset of documents.
     *   Multiple elements might build the condition and the syntax supports
     *   parameter binding. The expression used as search condition must be a
     *   valid SQL expression. If no search condition is provided (field
     *   empty) then find('true') is assumed.
     * @return mysql_xdevapi\CollectionFind A CollectionFind object that
     *   can use used to verify the operation or fetch found documents.
     **/
    public function find($search_condition){}

    /**
     * Get collection name
     *
     * Retrieve the collection's name.
     *
     * @return string The collection name, as a string.
     **/
    public function getName(){}

    /**
     * Get one document
     *
     * This is a shortcut for Collection.find("_id = :id").bind("id",
     * id).execute().fetchOne();.
     *
     * @param string $id The document ID in the collection.
     * @return Document The collection object, or NULL if the ID does not
     *   match a document.
     **/
    public function getOne($id){}

    /**
     * Get schema object
     *
     * Retrieve the schema object that contains the collection.
     *
     * @return Schema Object The schema object on success, or NULL if the
     *   object cannot be retrieved for the given collection.
     **/
    public function getSchema(){}

    /**
     * Get session object
     *
     * Retrieve a session object that contains the collection.
     *
     * @return Session The session object.
     **/
    public function getSession(){}

    /**
     * Modify collection documents
     *
     * Modify collections that meet specific search conditions. Multiple
     * operations are allowed, and parameter binding is supported.
     *
     * @param string $search_condition Must be a valid SQL expression used
     *   to match the documents to modify. This expression might be as simple
     *   as TRUE, which matches all documents, or it might use functions and
     *   operators such as 'CAST(_id AS SIGNED) >= 10', 'age MOD 2 = 0 OR age
     *   MOD 3 = 0', or '_id IN ["2","5","7","10"]'.
     * @return mysql_xdevapi\CollectionModify If the operation is not
     *   executed, then the function will return a Modify object that can be
     *   used to add additional modify operations.
     **/
    public function modify($search_condition){}

    /**
     * Remove collection documents
     *
     * Remove collections that meet specific search conditions. Multiple
     * operations are allowed, and parameter binding is supported.
     *
     * @param string $search_condition Must be a valid SQL expression used
     *   to match the documents to modify. This expression might be as simple
     *   as TRUE, which matches all documents, or it might use functions and
     *   operators such as 'CAST(_id AS SIGNED) >= 10', 'age MOD 2 = 0 OR age
     *   MOD 3 = 0', or '_id IN ["2","5","7","10"]'.
     * @return mysql_xdevapi\CollectionRemove If the operation is not
     *   executed, then the function will return a Remove object that can be
     *   used to add additional remove operations.
     **/
    public function remove($search_condition){}

    /**
     * Remove one collection document
     *
     * Remove one document from the collection with the correspending ID.
     * This is a shortcut for Collection.remove("_id = :id").bind("id",
     * id).execute().
     *
     * @param string $id The ID of the collection document to remove.
     * @return mysql_xdevapi\Result A Result object that can be used to
     *   query the number of affected items or the number warnings generated
     *   by the operation.
     **/
    public function removeOne($id){}

    /**
     * Replace one collection document
     *
     * Updates (or replaces) the document identified by ID, if it exists.
     *
     * @param string $id ID of the document to replace or update.
     * @param string $doc Collection document to update or replace the
     *   document matching the id parameter. This document can be either a
     *   document object or a valid JSON string describing the new document.
     * @return mysql_xdevapi\Result A Result object that can be used to
     *   query the number of affected items and the number warnings generated
     *   by the operation.
     **/
    public function replaceOne($id, $doc){}

}
}
namespace mysql_xdevapi {
class CollectionAdd implements mysql_xdevapi\Executable {
    /**
     * Execute the statement
     *
     * The execute method is required to send the CRUD operation request to
     * the MySQL server.
     *
     * @return mysql_xdevapi\Result A Result object that can be used to
     *   verify the status of the operation, such as the number of affected
     *   rows.
     **/
    public function execute(){}

}
}
namespace mysql_xdevapi {
class CollectionFind implements mysql_xdevapi\Executable, mysql_xdevapi\CrudOperationBindable, mysql_xdevapi\CrudOperationLimitable, mysql_xdevapi\CrudOperationSortable {
    /**
     * Bind value to query placeholder
     *
     * It allows the user to bind a parameter to the placeholder in the
     * search condition of the find operation. The placeholder has the form
     * of :NAME where ':' is a common prefix that must always exists before
     * any NAME, NAME is the actual name of the placeholder. The bind
     * function accepts a list of placeholders if multiple entities have to
     * be substituted in the search condition.
     *
     * @param array $placeholder_values The values of the placeholder to
     *   substitute in the search condition, multiple values are allowed and
     *   have to be passed as an array of mappings
     *   PLACEHOLDER_NAME->PLACEHOLDER_VALUE, for more details see the
     *   examples.
     * @return mysql_xdevapi\CollectionFind A CollectionFind that can be
     *   used for further processing.
     **/
    public function bind($placeholder_values){}

    /**
     * Execute the statement
     *
     * The execute function needs to be invoked in order to trigger the
     * client to send the CRUD operation request to the server.
     *
     * @return mysql_xdevapi\DocResult A DocResult object that can be used
     *   to query the status of the operation
     **/
    public function execute(){}

    /**
     * Set document field filter
     *
     * This is the equivalent of the SQL projection, which allows to select
     * which columns the query shall return.
     *
     * @param string $projection Can either be a single string or an array
     *   of string, those strings are identifying the columns that have to be
     *   returned for each document that match the search condition.
     * @return mysql_xdevapi\CollectionFind A CollectionFind object that
     *   can be used for further processing
     **/
    public function fields($projection){}

    /**
     * Set grouping criteria
     *
     * This function can be used to group the result-set by one more columns,
     * frequently this is used with aggregate functions like
     * COUNT,MAX,MIN,SUM etc.
     *
     * @param string $sort_expr The columns or columns that have to be used
     *   for the group operation, this can either be a single string or an
     *   array of string arguments, one for each column.
     * @return mysql_xdevapi\CollectionFind A CollectionFind that can be
     *   used for further processing
     **/
    public function groupBy($sort_expr){}

    /**
     * Set condition for aggregate functions
     *
     * This function can be used after the 'field' operation in order to make
     * a selection on the documents to extract.
     *
     * @param string $sort_expr This must be a valid SQL expression, the
     *   use of aggreate functions is allowed
     * @return mysql_xdevapi\CollectionFind CollectionFind object that can
     *   be used for further processing
     **/
    public function having($sort_expr){}

    /**
     * Limit number of returned documents
     *
     * Limit the amount of documents returned by the 'find' option by the
     * amount provided as argument
     *
     * @param integer $rows This is the maximum amount of documents that
     *   have to be returned by the find operation
     * @return mysql_xdevapi\CollectionFind CollectionFind object that can
     *   be used for further processing
     **/
    public function limit($rows){}

    /**
     * Execute operation with EXCLUSIVE LOCK
     *
     * Lock exclusively the document, other transactions are blocked from
     * updating the document until the document is locked While the document
     * is locked, other transactions are blocked from updating those docs,
     * from doing SELECT ... LOCK IN SHARE MODE, or from reading the data in
     * certain transaction isolation levels. Consistent reads ignore any
     * locks set on the records that exist in the read view.
     *
     * This feature is directly useful with the modify() command, to avoid
     * concurrency problems. Basically, it serializes access to a row through
     * row locking
     *
     * @param integer $lock_waiting_option Optional waiting option. By
     *   default it is MYSQLX_LOCK_DEFAULT.	Valid values are these constants:
     * @return mysql_xdevapi\CollectionFind Returns a CollectionFind object
     *   that can be used for further processing
     **/
    public function lockExclusive($lock_waiting_option){}

    /**
     * Execute operation with SHARED LOCK
     *
     * Allows to share the documents between multiple transactions which are
     * locking in shared mode.
     *
     * Other sessions can read the rows, but cannot modify them until your
     * transaction commits.
     *
     * If any of these rows were changed by another transaction that has not
     * yet committed,
     *
     * your query waits until that transaction ends and then uses the latest
     * values.
     *
     * @param integer $lock_waiting_option Optional waiting option. By
     *   default it is MYSQLX_LOCK_DEFAULT.	Valid values are these constants:
     * @return mysql_xdevapi\CollectionFind A CollectionFind object that
     *   can be used for further processing
     **/
    public function lockShared($lock_waiting_option){}

    /**
     * Skip given number of elements to be returned
     *
     * For the result set of a find operation, skip the first N elements that
     * would be returned by the find operation. If the amount of element
     * skipped is bigger than the size of the result set then the find
     * operation will return an empty set.
     *
     * @param integer $position Number of elements to skip.
     * @return mysql_xdevapi\CollectionFind CollectionFind object that can
     *   be used for further processing.
     **/
    public function offset($position){}

    /**
     * Set the sorting criteria
     *
     * Sort the result set by the field selected in the sort_expr argument.
     * The allowed orders are ASC (Ascending) or DESC (Descending). This
     * operation is equivalent to the 'ORDER BY' SQL operation and it follows
     * the same set of rules.
     *
     * @param string $sort_expr One or more sorting expressions can be
     *   provided. The evaluation is from left to right, and each expression
     *   is separated by a comma.
     * @return mysql_xdevapi\CollectionFind A CollectionFind object that
     *   can be used to execute the command, or to add additional operations.
     **/
    public function sort($sort_expr){}

}
}
namespace mysql_xdevapi {
class CollectionModify implements mysql_xdevapi\Executable, mysql_xdevapi\CrudOperationBindable, mysql_xdevapi\CrudOperationLimitable, mysql_xdevapi\CrudOperationSkippable, mysql_xdevapi\CrudOperationSortable {
    /**
     * Append element to an array field
     *
     * Add an element to a document's field, as multiple elements of a field
     * are represented as an array. Unlike arrayInsert(), arrayAppend()
     * always appends the new element at the end of the array, whereas
     * arrayInsert() can define the location.
     *
     * @param string $collection_field The identifier of the field where
     *   the new element is inserted.
     * @param string $expression_or_literal The new element to insert at
     *   the end of the document field array.
     * @return mysql_xdevapi\CollectionModify A CollectionModify object
     *   that can be used to execute the command, or to add additional
     *   operations.
     **/
    public function arrayAppend($collection_field, $expression_or_literal){}

    /**
     * Insert element into an array field
     *
     * Add an element to a document's field, as multiple elements of a field
     * are represented as an array. Unlike arrayAppend(), arrayInsert()
     * allows you to specify where the new element is inserted by defining
     * which item it is after, whereas arrayAppend() always appends the new
     * element at the end of the array.
     *
     * @param string $collection_field Identify the item in the array that
     *   the new element is inserted after. The format of this parameter is
     *   FIELD_NAME[ INDEX ] where FIELD_NAME is the name of the document
     *   field to remove the element from, and INDEX is the INDEX of the
     *   element within the field. The INDEX field is zero based, so the
     *   leftmost item from the array has an index of 0.
     * @param string $expression_or_literal The new element to insert after
     *   FIELD_NAME[ INDEX ]
     * @return mysql_xdevapi\CollectionModify A CollectionModify object
     *   that can be used to execute the command, or to add additional
     *   operations
     **/
    public function arrayInsert($collection_field, $expression_or_literal){}

    /**
     * Bind value to query placeholder
     *
     * Bind a parameter to the placeholder in the search condition of the
     * modify operation.
     *
     * The placeholder has the form of :NAME where ':' is a common prefix
     * that must always exists before any NAME where NAME is the name of the
     * placeholder. The bind method accepts a list of placeholders if
     * multiple entities have to be substituted in the search condition of
     * the modify operation.
     *
     * @param array $placeholder_values Placeholder values to substitute in
     *   the search condition. Multiple values are allowed and have to be
     *   passed as an array of mappings PLACEHOLDER_NAME->PLACEHOLDER_VALUE.
     * @return mysql_xdevapi\CollectionModify A CollectionModify object
     *   that can be used to execute the command, or to add additional
     *   operations.
     **/
    public function bind($placeholder_values){}

    /**
     * Execute modify operation
     *
     * The execute method is required to send the CRUD operation request to
     * the MySQL server.
     *
     * @return mysql_xdevapi\Result A Result object that can be used to
     *   verify the status of the operation, such as the number of affected
     *   rows.
     **/
    public function execute(){}

    /**
     * Limit number of modified documents
     *
     * Limit the number of documents modified by this operation.
     *
     * @param integer $rows The maximum number of modified documents.
     * @return mysql_xdevapi\CollectionModify A CollectionModify object.
     **/
    public function limit($rows){}

    /**
     * Patch document
     *
     * Takes a patch object and applies it on one or more documents, and 	
     * can update multiple document properties.
     *
     * @param string $document A document with the properties to apply to
     *   the matching documents.
     * @return mysql_xdevapi\CollectionModify A CollectionModify object.
     **/
    public function patch($document){}

    /**
     * Replace document field
     *
     * Replace (update) a given field value with a new one.
     *
     * @param string $collection_field The document path of the item to
     *   set.
     * @param string $expression_or_literal The value to set on the
     *   specified attribute.
     * @return mysql_xdevapi\CollectionModify A CollectionModify object.
     **/
    public function replace($collection_field, $expression_or_literal){}

    /**
     * Set document attribute
     *
     * Sets or updates attributes on documents in a collection.
     *
     * @param string $collection_field The document path of the item to
     *   set.
     * @param string $expression_or_literal The value to set on the
     *   specified attribute.
     * @return mysql_xdevapi\CollectionModify A CollectionModify object.
     **/
    public function set($collection_field, $expression_or_literal){}

    /**
     * Skip elements
     *
     * Skip the first N elements that would otherwise be returned by a find
     * operation. 	 If the number of elements skipped is larger than the size
     * of the result set, then the find operation returns an empty set.
     *
     * @param integer $position Number of elements to skip.
     * @return mysql_xdevapi\CollectionModify A CollectionModify object to
     *   use for further processing.
     **/
    public function skip($position){}

    /**
     * Set the sorting criteria
     *
     * Sort the result set by the field selected in the sort_expr argument.
     * The allowed orders are ASC (Ascending) or DESC (Descending). This
     * operation is equivalent to the 'ORDER BY' SQL operation and it follows
     * the same set of rules.
     *
     * @param string $sort_expr One or more sorting expression can be
     *   provided, the evaluation of these will be from the leftmost to the
     *   		 rightmost, each expression must be separated by a comma.
     * @return mysql_xdevapi\CollectionModify CollectionModify object that
     *   can be used for further processing.
     **/
    public function sort($sort_expr){}

    /**
     * Unset the value of document fields
     *
     * Removes attributes from documents in a collection.
     *
     * @param array $fields The attributes to remove from documents in a
     *   collection.
     * @return mysql_xdevapi\CollectionModify CollectionModify object that
     *   can be used for further processing.
     **/
    public function unset($fields){}

}
}
namespace mysql_xdevapi {
class CollectionRemove implements mysql_xdevapi\Executable, mysql_xdevapi\CrudOperationBindable, mysql_xdevapi\CrudOperationLimitable, mysql_xdevapi\CrudOperationSortable {
    /**
     * Bind value to placeholder
     *
     * Bind a parameter to the placeholder in the search condition of the
     * remove operation.
     *
     * The placeholder has the form of :NAME where ':' is a common prefix
     * that must always exists before any NAME where NAME is the name of the
     * placeholder. The bind method accepts a list of placeholders if
     * multiple entities have to be substituted in the search condition of
     * the remove operation.
     *
     * @param array $placeholder_values Placeholder values to substitute in
     *   the search condition. Multiple values are allowed and have to be
     *   passed as an array of mappings PLACEHOLDER_NAME->PLACEHOLDER_VALUE.
     * @return mysql_xdevapi\CollectionRemove A CollectionRemove object
     *   that can be used to execute the command, or to add additional
     *   operations.
     **/
    public function bind($placeholder_values){}

    /**
     * Execute remove operation
     *
     * The execute function needs to be invoked in order to trigger the
     * client to send the CRUD operation request to the server.
     *
     * @return mysql_xdevapi\Result Result object.
     **/
    public function execute(){}

    /**
     * Limit number of documents to remove
     *
     * Sets the maximum number of documents to remove.
     *
     * @param integer $rows The maximum number of documents to remove.
     * @return mysql_xdevapi\CollectionRemove Returns a CollectionRemove
     *   object that can be used to execute the command, or to add additional
     *   operations.
     **/
    public function limit($rows){}

    /**
     * Set the sorting criteria
     *
     * Sort the result set by the field selected in the sort_expr argument.
     * The allowed orders are ASC (Ascending) or DESC (Descending). This
     * operation is equivalent to the 'ORDER BY' SQL operation and it follows
     * the same set of rules.
     *
     * @param string $sort_expr One or more sorting expressions can be
     *   provided. The evaluation is from left to right, and each expression
     *   is separated by a comma.
     * @return mysql_xdevapi\CollectionRemove A CollectionRemove object
     *   that can be used to execute the command, or to add additional
     *   operations.
     **/
    public function sort($sort_expr){}

}
}
namespace mysql_xdevapi {
class ColumnResult {
    /**
     * Get character set
     *
     * @return string
     **/
    public function getCharacterSetName(){}

    /**
     * Get collation name
     *
     * @return string
     **/
    public function getCollationName(){}

    /**
     * Get column label
     *
     * @return string
     **/
    public function getColumnLabel(){}

    /**
     * Get column name
     *
     * @return string
     **/
    public function getColumnName(){}

    /**
     * Get fractional digit length
     *
     * Fetch the number of fractional digits for column.
     *
     * @return integer
     **/
    public function getFractionalDigits(){}

    /**
     * Get column field length
     *
     * @return integer
     **/
    public function getLength(){}

    /**
     * Get schema name
     *
     * Fetch the schema name where the column is stored.
     *
     * @return string
     **/
    public function getSchemaName(){}

    /**
     * Get table label
     *
     * @return string
     **/
    public function getTableLabel(){}

    /**
     * Get table name
     *
     * @return string Name of the table for the column.
     **/
    public function getTableName(){}

    /**
     * Get column type
     *
     * @return integer
     **/
    public function getType(){}

    /**
     * Check if signed type
     *
     * @return integer TRUE if a given column as a signed type.
     **/
    public function isNumberSigned(){}

    /**
     * Check if padded
     *
     * @return integer TRUE if a given column is padded.
     **/
    public function isPadded(){}

}
}
namespace mysql_xdevapi {
interface CrudOperationBindable {
    /**
     * Bind value to placeholder
     *
     * Binds a value to a specific placeholder.
     *
     * @param array $placeholder_values The name of the placeholders and
     *   the values to bind.
     * @return mysql_xdevapi\CrudOperationBindable A CrudOperationBindable
     *   object.
     **/
    public function bind($placeholder_values);

}
}
namespace mysql_xdevapi {
interface CrudOperationLimitable {
    /**
     * Set result limit
     *
     * Sets the maximum number of records or documents to return.
     *
     * @param integer $rows The maximum number of records or documents.
     * @return mysql_xdevapi\CrudOperationLimitable A
     *   CrudOperationLimitable object.
     **/
    public function limit($rows);

}
}
namespace mysql_xdevapi {
interface CrudOperationSkippable {
    /**
     * Number of operations to skip
     *
     * Skip this number of records in the returned operation.
     *
     * @param integer $skip Number of elements to skip.
     * @return mysql_xdevapi\CrudOperationSkippable A
     *   CrudOperationSkippable object.
     **/
    public function skip($skip);

}
}
namespace mysql_xdevapi {
interface CrudOperationSortable {
    /**
     * Sort results
     *
     * Sort the result set by the field selected in the sort_expr argument.
     * The allowed orders are ASC (Ascending) or DESC (Descending). This
     * operation is equivalent to the 'ORDER BY' SQL operation and it follows
     * the same set of rules.
     *
     * @param string $sort_expr One or more sorting expressions can be
     *   provided. The evaluation is from left to right, and each expression
     *   is separated by a comma.
     * @return mysql_xdevapi\CrudOperationSortable A CrudOperationSortable
     *   object.
     **/
    public function sort($sort_expr);

}
}
namespace mysql_xdevapi {
interface DatabaseObject {
    /**
     * Check if object exists in database
     *
     * Verifies if the database object refers to an object that exists in the
     * database.
     *
     * @return bool Returns TRUE if object exists in the database, else
     *   FALSE if it does not.
     **/
    public function existsInDatabase();

    /**
     * Get object name
     *
     * Fetch name of this database object.
     *
     * @return string The name of this database object.
     **/
    public function getName();

    /**
     * Get session name
     *
     * Fetch session associated to the database object.
     *
     * @return mysql_xdevapi\Session The Session object.
     **/
    public function getSession();

}
}
namespace mysql_xdevapi {
class DocResult implements mysql_xdevapi\BaseResult, Traversable {
    /**
     * Get all rows
     *
     * @return Array An array of Result objects from the last operation on
     *   the collection.
     **/
    public function fetchAll(){}

    /**
     * Get one row
     *
     * @return Object A Result object from the last operation on a
     *   collection.
     **/
    public function fetchOne(){}

    /**
     * Get warnings from last operation
     *
     * @return Array An array of Warning objects from the last operation.
     **/
    public function getWarnings(){}

    /**
     * Get warning count from last operation
     *
     * @return integer
     **/
    public function getWarningsCount(){}

}
}
namespace mysql_xdevapi {
class Driver {
}
}
namespace mysql_xdevapi {
class Exception extends RuntimeException implements Throwable {
}
}
namespace mysql_xdevapi {
interface Executable {
    /**
     * Execute statement
     *
     * Execute the statement from either a collection operation or a table
     * query.
     *
     * @return mysql_xdevapi\Result A Result object.
     **/
    public function execute();

}
}
namespace mysql_xdevapi {
class ExecutionStatus {
    /**
     * @var mixed
     **/
    public $affectedItems;

    /**
     * @var mixed
     **/
    public $foundItems;

    /**
     * @var mixed
     **/
    public $lastDocumentId;

    /**
     * @var mixed
     **/
    public $lastInsertId;

    /**
     * @var mixed
     **/
    public $matchedItems;

}
}
namespace mysql_xdevapi {
class Expression {
    /**
     * @var mixed
     **/
    public $name;

}
}
namespace mysql_xdevapi {
class FieldMetadata {
    /**
     * @var mixed
     **/
    public $catalog;

    /**
     * @var mixed
     **/
    public $collation;

    /**
     * @var mixed
     **/
    public $content_type;

    /**
     * @var mixed
     **/
    public $flags;

    /**
     * @var mixed
     **/
    public $fractional_digits;

    /**
     * @var mixed
     **/
    public $length;

    /**
     * @var mixed
     **/
    public $name;

    /**
     * @var mixed
     **/
    public $original_name;

    /**
     * @var mixed
     **/
    public $original_table;

    /**
     * @var mixed
     **/
    public $schema;

    /**
     * @var mixed
     **/
    public $table;

    /**
     * @var mixed
     **/
    public $type;

    /**
     * @var mixed
     **/
    public $type_name;

}
}
namespace mysql_xdevapi {
class Result implements mysql_xdevapi\BaseResult, Traversable {
    /**
     * Get autoincremented value
     *
     * @return int
     **/
    public function getAutoIncrementValue(){}

    /**
     * Get generated ids
     *
     * @return ArrayOfInt An array of generated IDs from the last
     *   operation.
     **/
    public function getGeneratedIds(){}

    /**
     * Get warnings from last operation
     *
     * @return array An array of Warning objects from the last operation.
     **/
    public function getWarnings(){}

    /**
     * Get warning count from last operation
     *
     * @return integer The number of warnings generated by the last
     *   operation.
     **/
    public function getWarningsCount(){}

}
}
namespace mysql_xdevapi {
class RowResult implements mysql_xdevapi\BaseResult, Traversable {
    /**
     * Get all rows from result
     *
     * Fetch all the rows from the result set.
     *
     * @return array A numerical array of results, with each row as an
     *   array.
     **/
    public function fetchAll(){}

    /**
     * Get row from result
     *
     * Fetch one result from the result set.
     *
     * @return object
     **/
    public function fetchOne(){}

    /**
     * Get column count
     *
     * Retrieve the column count for columns present in the result set.
     *
     * @return integer The number of columns, or FALSE if the result set is
     *   empty.
     **/
    public function getColumnCount(){}

    /**
     * Get all column names
     *
     * Retrieve column names for columns present in the result set.
     *
     * @return array A numerical array of table columns names, or FALSE if
     *   the result set is empty.
     **/
    public function getColumnNames(){}

    /**
     * Get column metadata
     *
     * Retrieve column metadata for columns present in the result set.
     *
     * @return array An array of FieldMetadata objects representing the
     *   columns in the result, or FALSE if the result set is empty.
     **/
    public function getColumns(){}

    /**
     * Get warnings from last operation
     *
     * Retrieve warnings from the last RowResult operation.
     *
     * @return array An array of Warning objects from the last operation.
     *   Each object defines an error 'message', error 'level', and error
     *   'code'.
     **/
    public function getWarnings(){}

    /**
     * Get warning count from last operation
     *
     * Retrieve the number of warnings from the last RowResult operation.
     *
     * @return integer The number of warnings generated by the last
     *   operation, or FALSE if the result set is empty or there are no
     *   warnings.
     **/
    public function getWarningsCount(){}

}
}
namespace mysql_xdevapi {
class Schema implements mysql_xdevapi\DatabaseObject {
    /**
     * @var mixed
     **/
    public $name;

    /**
     * Add collection to schema
     *
     * Create a collection within the schema.
     *
     * @param string $name
     * @return mysql_xdevapi\Collection
     **/
    public function createCollection($name){}

    /**
     * Drop collection from schema
     *
     * @param string $collection_name
     * @return bool
     **/
    public function dropCollection($collection_name){}

    /**
     * Check if schema exists in database
     *
     * @return bool
     **/
    public function existsInDatabase(){}

    /**
     * Get collection from schema
     *
     * @param string $name
     * @return mysql_xdevapi\Collection The Collection object for the
     *   selected collection.
     **/
    public function getCollection($name){}

    /**
     * Get collection table object
     *
     * @param string $name
     * @return mysql_xdevapi\Table A table object for the defined table.
     **/
    public function getCollectionAsTable($name){}

    /**
     * Get all schema collections
     *
     * Fetch a list of collections for this schema.
     *
     * @return array Array of all collections in this schema.
     **/
    public function getCollections(){}

    /**
     * Get schema name
     *
     * @return string
     **/
    public function getName(){}

    /**
     * Get schema session
     *
     * @return mysql_xdevapi\Session
     **/
    public function getSession(){}

    /**
     * Get schema table
     *
     * @param string $name
     * @return mysql_xdevapi\Table
     **/
    public function getTable($name){}

    /**
     * Get schema tables
     *
     * @return array An array of table objects.
     **/
    public function getTables(){}

}
}
namespace mysql_xdevapi {
interface SchemaObject extends mysql_xdevapi\DatabaseObject {
    /**
     * Get schema object
     *
     * @return mysql_xdevapi\Schema The current Schema object.
     **/
    function getSchema();

}
}
namespace mysql_xdevapi {
class Session {
    /**
     * Close session
     *
     * Close the session with the server.
     *
     * @return bool
     **/
    public function close(){}

    /**
     * Commit transaction
     *
     * @return Object
     **/
    public function commit(){}

    /**
     * Create new schema
     *
     * Creates a new schema.
     *
     * @param string $schema_name Name of the schema to create.
     * @return mysql_xdevapi\Schema A Schema object on success, and emits
     *   an exception on failure.
     **/
    public function createSchema($schema_name){}

    /**
     * Drop a schema
     *
     * @param string $schema_name Name of the schema to drop.
     * @return bool
     **/
    public function dropSchema($schema_name){}

    /**
     * Execute an SQL statement
     *
     * @param string $statement SQL statement to execute
     * @return Object
     **/
    public function executeSql($statement){}

    /**
     * Get new UUID
     *
     * @return string
     **/
    public function generateUUID(){}

    /**
     * Get client ID
     *
     * @return string ID of the connected client.
     **/
    public function getClientId(){}

    /**
     * Get the schema
     *
     * @return mysql_xdevapi\Schema A Schema object.
     **/
    public function getSchema(){}

    /**
     * Get the schemas
     *
     * @return array An array containing objects that reppresent all the
     *   schemas.
     **/
    public function getSchemas(){}

    /**
     * Get server version
     *
     * @return integer The MySQL server version for the session.
     **/
    public function getServerVersion(){}

    /**
     * Kill the client
     *
     * Kill the selected client and terminate the collection
     *
     * @param integer $client_id
     * @return object
     **/
    public function killClient($client_id){}

    /**
     * Get client list
     *
     * @return array An array containing the currently logged clients.
     **/
    public function listClients(){}

    /**
     * Add quotes
     *
     * @param string $name
     * @return string
     **/
    public function quoteName($name){}

    /**
     * Release set savepoint
     *
     * Release a previously set savepoint.
     *
     * @param string $name
     * @return void
     **/
    public function releaseSavepoint($name){}

    /**
     * Rollback transaction
     *
     * @return void
     **/
    public function rollback(){}

    /**
     * Rollback transaction to savepoint
     *
     * Rollback the transaction back to the savepoint.
     *
     * @param string $name
     * @return void
     **/
    public function rollbackTo($name){}

    /**
     * Create savepoint
     *
     * Create a new savepoint for the transaction.
     *
     * @param string $name
     * @return string
     **/
    public function setSavepoint($name){}

    /**
     * Execute SQL query
     *
     * Create a native SQL command. Placeholders are supported using the
     * native "?" syntax. Execute an SQL query.
     *
     * @param string $query SQL statement to execute.
     * @return mysql_xdevapi\SqlStatement An SqlStatement object.
     **/
    public function sql($query){}

    /**
     * Start transaction
     *
     * Start a new transaction.
     *
     * @return void
     **/
    public function startTransaction(){}

}
}
namespace mysql_xdevapi {
class SqlStatement {
    /**
     * @var mixed
     **/
    public $statement;

    /**
     * Bind statement parameters
     *
     * @param string $param
     * @return mysql_xdevapi\SqlStatement
     **/
    public function bind($param){}

    /**
     * Execute the operation
     *
     * @return mysql_xdevapi\Result
     **/
    public function execute(){}

    /**
     * Get next result
     *
     * @return mysql_xdevapi\Result
     **/
    public function getNextResult(){}

    /**
     * Get result
     *
     * @return mysql_xdevapi\Result
     **/
    public function getResult(){}

    /**
     * Check for more results
     *
     * @return bool TRUE if the result set has more objects to fetch.
     **/
    public function hasMoreResults(){}

}
}
namespace mysql_xdevapi {
class SqlStatementResult implements mysql_xdevapi\BaseResult, Traversable {
    /**
     * Get all rows
     *
     * @return array
     **/
    public function fetchAll(){}

    /**
     * Get single row
     *
     * @return object
     **/
    public function fetchOne(){}

    /**
     * Get affected row count
     *
     * @return integer
     **/
    public function getAffectedItemsCount(){}

    /**
     * Get column count
     *
     * @return integer
     **/
    public function getColumnCount(){}

    /**
     * Get column names
     *
     * @return array
     **/
    public function getColumnNames(){}

    /**
     * Get columns
     *
     * @return Array
     **/
    public function getColumns(){}

    /**
     * Get generated ids
     *
     * @return array An array of generated IDs from the last operation.
     **/
    public function getGeneratedIds(){}

    /**
     * Get last insert id
     *
     * @return String The ID for the last insert operation.
     **/
    public function getLastInsertId(){}

    /**
     * Get warning count from last operation
     *
     * @return integer The number of warnings raised during the last CRUD
     *   operation.
     **/
    public function getWarningCount(){}

    /**
     * Get warnings from last operation
     *
     * @return array All warnings raised by the last CRUD operation, as an
     *   array.
     **/
    public function getWarnings(){}

    /**
     * Check if result has data
     *
     * @return bool TRUE if the result set has data.
     **/
    public function hasData(){}

    /**
     * Get next result
     *
     * @return mysql_xdevapi\Result The next Result object from the result
     *   set.
     **/
    public function nextResult(){}

}
}
namespace mysql_xdevapi {
class Statement {
    /**
     * Get next result
     *
     * @return mysql_xdevapi\Result
     **/
    public function getNextResult(){}

    /**
     * Get result
     *
     * @return mysql_xdevapi\Result
     **/
    public function getResult(){}

    /**
     * Check if more results
     *
     * @return bool
     **/
    public function hasMoreResults(){}

}
}
namespace mysql_xdevapi {
class Table implements mysql_xdevapi\SchemaObject {
    /**
     * @var mixed
     **/
    public $name;

    /**
     * Get row count
     *
     * Fetch the number of rows in the table.
     *
     * @return integer The total of rows in the table.
     **/
    public function count(){}

    /**
     * Delete rows from table
     *
     * Deletes rows from a table.
     *
     * @return mysql_xdevapi\TableDelete A TableDelete object
     **/
    public function delete(){}

    /**
     * Check if table exists in database
     *
     * Verifies if this table exists in the database.
     *
     * @return bool Returns TRUE if table exists in the database, else
     *   FALSE if it does not.
     **/
    public function existsInDatabase(){}

    /**
     * Get table name
     *
     * Returns the name of this database object.
     *
     * @return string The name of this database object.
     **/
    public function getName(){}

    /**
     * Get table schema
     *
     * Fetch the schema associated with the table.
     *
     * @return mysql_xdevapi\Schema A Schema object.
     **/
    public function getSchema(){}

    /**
     * Get table session
     *
     * Get session associated with the table.
     *
     * @return mysql_xdevapi\Session A Session object.
     **/
    public function getSession(){}

    /**
     * Insert table rows
     *
     * Creates a new TableInsert object.
     *
     * @param mixed $columns The columns to insert data into. Can be an
     *   array with one or more values, or a string.
     * @return mysql_xdevapi\TableInsert A TableInsert object.
     **/
    public function insert($columns){}

    /**
     * Check if table is view
     *
     * Determine if the underlying object is a view or not.
     *
     * @return bool TRUE if the underlying object is a view, otherwise
     *   FALSE.
     **/
    public function isView(){}

    /**
     * Select rows from table
     *
     * Creates a new TableSelect object.
     *
     * @param mixed $columns The columns to select data from. Can be an
     *   array with one or more values, or a string.
     * @return mysql_xdevapi\TableSelect TableSelect object.
     **/
    public function select($columns){}

    /**
     * Update rows in table
     *
     * Creates a new TableUpdate object.
     *
     * @return mysql_xdevapi\TableUpdate A TableUpdate object.
     **/
    public function update(){}

}
}
namespace mysql_xdevapi {
class TableDelete implements mysql_xdevapi\Executable {
    /**
     * Bind delete query parameters
     *
     * Binds a value to a specific placeholder.
     *
     * @param array $placeholder_values The name of the placeholder and the
     *   value to bind.
     * @return mysql_xdevapi\TableDelete A TableDelete object.
     **/
    public function bind($placeholder_values){}

    /**
     * Execute delete query
     *
     * Execute the delete query.
     *
     * @return mysql_xdevapi\Result A Result object.
     **/
    public function execute(){}

    /**
     * Limit deleted rows
     *
     * Sets the maximum number of records or documents to delete.
     *
     * @param integer $rows The maximum number of records or documents to
     *   delete.
     * @return mysql_xdevapi\TableDelete TableDelete object.
     **/
    public function limit($rows){}

    /**
     * Set delete limit offset
     *
     * Sets the limit offset.
     *
     * @param integer $position The limit offset.
     * @return mysql_xdevapi\TableDelete A TableDelete object.
     **/
    public function offset($position){}

    /**
     * Set delete sort criteria
     *
     * Set the order options for a result set.
     *
     * @param string $orderby_expr The sort definition.
     * @return mysql_xdevapi\TableDelete A TableDelete object.
     **/
    public function orderby($orderby_expr){}

    /**
     * Set delete search condition
     *
     * Sets the search condition to filter.
     *
     * @param string $where_expr Define the search condition to filter
     *   documents or records.
     * @return mysql_xdevapi\TableDelete TableDelete object.
     **/
    public function where($where_expr){}

}
}
namespace mysql_xdevapi {
class TableInsert implements mysql_xdevapi\Executable {
    /**
     * Execute insert query
     *
     * Execute the statement.
     *
     * @return mysql_xdevapi\Result A Result object.
     **/
    public function execute(){}

    /**
     * Add insert row values
     *
     * Set the values to be inserted.
     *
     * @param array $row_values Values (an array) of columns to insert.
     * @return mysql_xdevapi\TableInsert A TableInsert object.
     **/
    public function values($row_values){}

}
}
namespace mysql_xdevapi {
class TableSelect implements mysql_xdevapi\Executable {
    /**
     * Bind select query parameters
     *
     * Binds a value to a specific placeholder.
     *
     * @param array $placeholder_values The name of the placeholder, and
     *   the value to bind.
     * @return mysql_xdevapi\TableSelect A TableSelect object.
     **/
    public function bind($placeholder_values){}

    /**
     * Execute select statement
     *
     * Execute the statement.
     *
     * @return mysql_xdevapi\RowResult A RowResult object.
     **/
    public function execute(){}

    /**
     * Set select grouping criteria
     *
     * Sets a grouping criteria for the result set.
     *
     * @param mixed $sort_expr The grouping criteria.
     * @return mysql_xdevapi\TableSelect A TableSelect object.
     **/
    public function groupBy($sort_expr){}

    /**
     * Set select having condition
     *
     * Sets a condition for records to consider in agregate function
     * operations.
     *
     * @param string $sort_expr A condition on the agregate functions used
     *   on the grouping criteria.
     * @return mysql_xdevapi\TableSelect A TableSelect object.
     **/
    public function having($sort_expr){}

    /**
     * Limit selected rows
     *
     * Sets the maximum number of records or documents to return.
     *
     * @param integer $rows The maximum number of records or documents.
     * @return mysql_xdevapi\TableSelect A TableSelect object.
     **/
    public function limit($rows){}

    /**
     * Execute EXCLUSIVE LOCK
     *
     * Execute a read operation with EXCLUSIVE LOCK. Only one lock can be
     * active at a time.
     *
     * @param integer $lock_waiting_option The optional waiting option that
     *   defaults to MYSQLX_LOCK_DEFAULT.	 Valid values are:
     * @return mysql_xdevapi\TableSelect TableSelect object.
     **/
    public function lockExclusive($lock_waiting_option){}

    /**
     * Execute SHARED LOCK
     *
     * Execute a read operation with SHARED LOCK. Only one lock can be active
     * at a time.
     *
     * @param integer $lock_waiting_option The optional waiting option that
     *   defaults to MYSQLX_LOCK_DEFAULT. Valid values are:
     * @return mysql_xdevapi\TableSelect A TableSelect object.
     **/
    public function lockShared($lock_waiting_option){}

    /**
     * Set limit offset
     *
     * Skip given number of rows in result.
     *
     * @param integer $position The limit offset.
     * @return mysql_xdevapi\TableSelect A TableSelect object.
     **/
    public function offset($position){}

    /**
     * Set select sort criteria
     *
     * Sets the order by criteria.
     *
     * @param mixed $sort_expr The expressions that define the order by
     *   criteria. Can be an array with one or more expressions, or a string.
     * @return mysql_xdevapi\TableSelect A TableSelect object.
     **/
    public function orderby($sort_expr){}

    /**
     * Set select search condition
     *
     * Sets the search condition to filter.
     *
     * @param string $where_expr Define the search condition to filter
     *   documents or records.
     * @return mysql_xdevapi\TableSelect A TableSelect object.
     **/
    public function where($where_expr){}

}
}
namespace mysql_xdevapi {
class TableUpdate implements mysql_xdevapi\Executable {
    /**
     * Bind update query parameters
     *
     * Binds a value to a specific placeholder.
     *
     * @param array $placeholder_values The name of the placeholder, and
     *   the value to bind.
     * @return mysql_xdevapi\TableUpdate A TableUpdate object.
     **/
    public function bind($placeholder_values){}

    /**
     * Execute update query
     *
     * Executes the update statement.
     *
     * @return mysql_xdevapi\TableUpdate A TableUpdate object.
     **/
    public function execute(){}

    /**
     * Limit update row count
     *
     * Set the maximum number of records or documents update.
     *
     * @param integer $rows The maximum number of records or documents to
     *   update.
     * @return mysql_xdevapi\TableUpdate A TableUpdate object.
     **/
    public function limit($rows){}

    /**
     * Set sorting criteria
     *
     * Sets the sorting criteria.
     *
     * @param mixed $orderby_expr The expressions that define the order by
     *   criteria. Can be an array with one or more expressions, or a string.
     * @return mysql_xdevapi\TableUpdate TableUpdate object.
     **/
    public function orderby($orderby_expr){}

    /**
     * Add field to be updated
     *
     * Updates the column value on records in a table.
     *
     * @param string $table_field The column name to be updated.
     * @param string $expression_or_literal The value to be set on the
     *   specified column.
     * @return mysql_xdevapi\TableUpdate TableUpdate object.
     **/
    public function set($table_field, $expression_or_literal){}

    /**
     * Set search filter
     *
     * Set the search condition to filter.
     *
     * @param string $where_expr The search condition to filter documents
     *   or records.
     * @return mysql_xdevapi\TableUpdate A TableUpdate object.
     **/
    public function where($where_expr){}

}
}
namespace mysql_xdevapi {
class Warning {
    /**
     * @var mixed
     **/
    public $code;

    /**
     * @var mixed
     **/
    public $level;

    /**
     * @var mixed
     **/
    public $message;

}
}
namespace mysql_xdevapi {
class XSession {
}
}
/**
 * This iterator cannot be rewound.
 **/
class NoRewindIterator extends IteratorIterator {
    /**
     * Get the current value
     *
     * Gets the current value.
     *
     * @return mixed The current value.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function current(){}

    /**
     * Get the inner iterator
     *
     * Gets the inner iterator, that was passed in to NoRewindIterator.
     *
     * @return iterator The inner iterator, as passed to
     *   NoRewindIterator::__construct.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function getInnerIterator(){}

    /**
     * Get the current key
     *
     * Gets the current key.
     *
     * @return mixed The current key.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function key(){}

    /**
     * Forward to the next element
     *
     * Forwards to the next element.
     *
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function next(){}

    /**
     * Prevents the rewind operation on the inner iterator
     *
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function rewind(){}

    /**
     * Validates the iterator
     *
     * Checks whether the iterator is valid.
     *
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function valid(){}

    /**
     * Construct a NoRewindIterator
     *
     * Constructs a NoRewindIterator.
     *
     * @param Iterator $iterator The iterator being used.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function __construct($iterator){}

}
/**
 * The Unicode Consortium has defined a number of normalization forms
 * reflecting the various needs of applications: Normalization Form D
 * (NFD) - Canonical Decomposition Normalization Form C (NFC) - Canonical
 * Decomposition followed by Canonical Composition Normalization Form KD
 * (NFKD) - Compatibility Decomposition Normalization Form KC (NFKC) -
 * Compatibility Decomposition followed by Canonical Composition The
 * different forms are defined in terms of a set of transformations on
 * the text, transformations that are expressed by both an algorithm and
 * a set of data files. Unicode Normalization Unicode Normalization FAQ
 * ICU User Guide - Normalization ICU API Reference - Normalization
 **/
class Normalizer {
    /**
     * Gets the Decomposition_Mapping property for the given UTF-8 encoded
     * code point
     *
     * Gets the Decomposition_Mapping property, as specified in the Unicode
     * Character Database (UCD), for the given UTF-8 encoded code point.
     *
     * @param string $input The input string, which should be a single,
     *   UTF-8 encoded, code point.
     * @return string Returns a string containing the Decomposition_Mapping
     *   property, if present in the UCD.
     * @since PHP 7 >= 7.3
     **/
    public static function getRawDecomposition($input){}

    /**
     * Checks if the provided string is already in the specified
     * normalization form
     *
     * Checks if the provided string is already in the specified
     * normalization form.
     *
     * @param string $input The input string to normalize
     * @param int $form One of the normalization forms.
     * @return bool TRUE if normalized, FALSE otherwise or if there an
     *   error
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public static function isNormalized($input, $form){}

    /**
     * Normalizes the input provided and returns the normalized string
     *
     * Normalizes the input provided and returns the normalized string
     *
     * @param string $input The input string to normalize
     * @param int $form One of the normalization forms.
     * @return string The normalized string or FALSE if an error occurred.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public static function normalize($input, $form){}

}
/**
 * For currencies you can use currency format type to create a formatter
 * that returns a string with the formatted number and the appropriate
 * currency sign. Of course, the NumberFormatter class is unaware of
 * exchange rates so, the number output is the same regardless of the
 * specified currency. This means that the same number has different
 * monetary values depending on the currency locale. If the number is
 * 9988776.65 the results will be: 9 988 776,65 € in France
 * 9.988.776,65 € in Germany $9,988,776.65 in the United States ICU
 * formatting documentation ICU number formatters ICU decimal formatters
 * ICU rule-based number formatters
 **/
class NumberFormatter {
    /**
     * Create a number formatter
     *
     * (method)
     *
     * (constructor):
     *
     * Creates a number formatter.
     *
     * @param string $locale Locale in which the number would be formatted
     *   (locale name, e.g. en_CA).
     * @param int $style Style of the formatting, one of the format style
     *   constants. If NumberFormatter::PATTERN_DECIMAL or
     *   NumberFormatter::PATTERN_RULEBASED is passed then the number format
     *   is opened using the given pattern, which must conform to the syntax
     *   described in ICU DecimalFormat documentation or ICU
     *   RuleBasedNumberFormat documentation, respectively.
     * @param string $pattern Pattern string if the chosen style requires a
     *   pattern.
     * @return NumberFormatter Returns NumberFormatter object or FALSE on
     *   error.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public static function create($locale, $style, $pattern){}

    /**
     * Format a number
     *
     * Format a numeric value according to the formatter rules.
     *
     * @param number $value NumberFormatter object.
     * @param int $type The value to format. Can be integer or float, other
     *   values will be converted to a numeric value.
     * @return string Returns the string containing formatted value, or
     *   FALSE on error.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function format($value, $type){}

    /**
     * Format a currency value
     *
     * Format the currency value according to the formatter rules.
     *
     * @param float $value NumberFormatter object.
     * @param string $currency The numeric currency value.
     * @return string String representing the formatted currency value.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function formatCurrency($value, $currency){}

    /**
     * Get an attribute
     *
     * Get a numeric attribute associated with the formatter. An example of a
     * numeric attribute is the number of integer digits the formatter will
     * produce.
     *
     * @param int $attr NumberFormatter object.
     * @return int Return attribute value on success, or FALSE on error.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function getAttribute($attr){}

    /**
     * Get formatter's last error code
     *
     * Get error code from the last function performed by the formatter.
     *
     * @return int Returns error code from last formatter call.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function getErrorCode(){}

    /**
     * Get formatter's last error message
     *
     * Get error message from the last function performed by the formatter.
     *
     * @return string Returns error message from last formatter call.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function getErrorMessage(){}

    /**
     * Get formatter locale
     *
     * Get formatter locale name.
     *
     * @param int $type NumberFormatter object.
     * @return string The locale name used to create the formatter.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function getLocale($type){}

    /**
     * Get formatter pattern
     *
     * Extract pattern used by the formatter.
     *
     * @return string Pattern string that is used by the formatter, or
     *   FALSE if an error happens.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function getPattern(){}

    /**
     * Get a symbol value
     *
     * Get a symbol associated with the formatter. The formatter uses symbols
     * to represent the special locale-dependent characters in a number, for
     * example the percent sign. This API is not supported for rule-based
     * formatters.
     *
     * @param int $attr NumberFormatter object.
     * @return string The symbol string or FALSE on error.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function getSymbol($attr){}

    /**
     * Get a text attribute
     *
     * Get a text attribute associated with the formatter. An example of a
     * text attribute is the suffix for positive numbers. If the formatter
     * does not understand the attribute, U_UNSUPPORTED_ERROR error is
     * produced. Rule-based formatters only understand
     * NumberFormatter::DEFAULT_RULESET and NumberFormatter::PUBLIC_RULESETS.
     *
     * @param int $attr NumberFormatter object.
     * @return string Return attribute value on success, or FALSE on error.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function getTextAttribute($attr){}

    /**
     * Parse a number
     *
     * Parse a string into a number using the current formatter rules.
     *
     * @param string $value NumberFormatter object.
     * @param int $type The formatting type to use. By default,
     *   NumberFormatter::TYPE_DOUBLE is used.
     * @param int $position Offset in the string at which to begin parsing.
     *   On return, this value will hold the offset at which parsing ended.
     * @return mixed The value of the parsed number or FALSE on error.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function parse($value, $type, &$position){}

    /**
     * Parse a currency number
     *
     * Parse a string into a double and a currency using the current
     * formatter.
     *
     * @param string $value NumberFormatter object.
     * @param string $currency Parameter to receive the currency name
     *   (3-letter ISO 4217 currency code).
     * @param int $position Offset in the string at which to begin parsing.
     *   On return, this value will hold the offset at which parsing ended.
     * @return float The parsed numeric value or FALSE on error.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function parseCurrency($value, &$currency, &$position){}

    /**
     * Set an attribute
     *
     * Set a numeric attribute associated with the formatter. An example of a
     * numeric attribute is the number of integer digits the formatter will
     * produce.
     *
     * @param int $attr NumberFormatter object.
     * @param int $value Attribute specifier - one of the numeric attribute
     *   constants.
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function setAttribute($attr, $value){}

    /**
     * Set formatter pattern
     *
     * Set the pattern used by the formatter. Can not be used on a rule-based
     * formatter.
     *
     * @param string $pattern NumberFormatter object.
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function setPattern($pattern){}

    /**
     * Set a symbol value
     *
     * Set a symbol associated with the formatter. The formatter uses symbols
     * to represent the special locale-dependent characters in a number, for
     * example the percent sign. This API is not supported for rule-based
     * formatters.
     *
     * @param int $attr NumberFormatter object.
     * @param string $value Symbol specifier, one of the format symbol
     *   constants.
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function setSymbol($attr, $value){}

    /**
     * Set a text attribute
     *
     * Set a text attribute associated with the formatter. An example of a
     * text attribute is the suffix for positive numbers. If the formatter
     * does not understand the attribute, U_UNSUPPORTED_ERROR error is
     * produced. Rule-based formatters only understand
     * NumberFormatter::DEFAULT_RULESET and NumberFormatter::PUBLIC_RULESETS.
     *
     * @param int $attr NumberFormatter object.
     * @param string $value Attribute specifier - one of the text attribute
     *   constants.
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL intl >= 1.0.0
     **/
    public function setTextAttribute($attr, $value){}

}
/**
 * The OAuth extension provides a simple interface to interact with data
 * providers using the OAuth HTTP specification to protect private
 * resources.
 **/
class OAuth {
    /**
     * @var mixed
     **/
    public $debug;

    /**
     * @var mixed
     **/
    public $debugInfo;

    /**
     * @var mixed
     **/
    public $sslChecks;

    /**
     * Turn off verbose debugging
     *
     * Turns off verbose request information (off by default). Alternatively,
     * the debug property can be set to a FALSE value to turn debug off.
     *
     * @return bool TRUE
     * @since PECL OAuth >= 0.99.3
     **/
    public function disableDebug(){}

    /**
     * Turn off redirects
     *
     * Disable redirects from being followed automatically, thus allowing the
     * request to be manually redirected.
     *
     * @return bool TRUE
     * @since PECL OAuth >= 0.99.9
     **/
    public function disableRedirects(){}

    /**
     * Turn off SSL checks
     *
     * Turns off the usual SSL peer certificate and host checks, this is not
     * for production environments. Alternatively, the {@link sslChecks}
     * member can be set to FALSE to turn SSL checks off.
     *
     * @return bool TRUE
     * @since PECL OAuth >= 0.99.5
     **/
    public function disableSSLChecks(){}

    /**
     * Turn on verbose debugging
     *
     * Turns on verbose request information useful for debugging, the debug
     * information is stored in the {@link debugInfo} member. Alternatively,
     * the {@link debug} member can be set to a non-FALSE value to turn debug
     * on.
     *
     * @return bool TRUE
     * @since PECL OAuth >= 0.99.3
     **/
    public function enableDebug(){}

    /**
     * Turn on redirects
     *
     * Follow and sign redirects automatically, which is enabled by default.
     *
     * @return bool TRUE
     * @since PECL OAuth >= 0.99.9
     **/
    public function enableRedirects(){}

    /**
     * Turn on SSL checks
     *
     * Turns on the usual SSL peer certificate and host checks (enabled by
     * default). Alternatively, the {@link sslChecks} member can be set to a
     * non-FALSE value to turn SSL checks off.
     *
     * @return bool TRUE
     * @since PECL OAuth >= 0.99.5
     **/
    public function enableSSLChecks(){}

    /**
     * Fetch an OAuth protected resource
     *
     * Fetch a resource.
     *
     * @param string $protected_resource_url URL to the OAuth protected
     *   resource.
     * @param array $extra_parameters Extra parameters to send with the
     *   request for the resource.
     * @param string $http_method One of the OAUTH_HTTP_METHOD_* OAUTH
     *   constants, which includes GET, POST, PUT, HEAD, or DELETE. HEAD
     *   (OAUTH_HTTP_METHOD_HEAD) can be useful for discovering information
     *   prior to the request (if OAuth credentials are in the Authorization
     *   header).
     * @param array $http_headers HTTP client headers (such as User-Agent,
     *   Accept, etc.)
     * @return mixed
     * @since PECL OAuth >= 0.99.1
     **/
    public function fetch($protected_resource_url, $extra_parameters, $http_method, $http_headers){}

    /**
     * Generate a signature
     *
     * Generate a signature based on the final HTTP method, URL and a
     * string/array of parameters.
     *
     * @param string $http_method HTTP method for request
     * @param string $url URL for request
     * @param mixed $extra_parameters String or array of additional
     *   parameters.
     * @return string A string containing the generated signature
     **/
    public function generateSignature($http_method, $url, $extra_parameters){}

    /**
     * Fetch an access token
     *
     * Fetch an access token, secret and any additional response parameters
     * from the service provider.
     *
     * @param string $access_token_url URL to the access token API.
     * @param string $auth_session_handle Authorization session handle,
     *   this parameter does not have any citation in the core OAuth 1.0
     *   specification but may be implemented by large providers. See
     *   ScalableOAuth for more information.
     * @param string $verifier_token For service providers which support
     *   1.0a, a {@link verifier_token} must be passed while exchanging the
     *   request token for the access token. If the {@link verifier_token} is
     *   present in {@link $_GET} or {@link $_POST} it is passed
     *   automatically and the caller does not need to specify a {@link
     *   verifier_token} (usually if the access token is exchanged at the
     *   oauth_callback URL). See ScalableOAuth for more information.
     * @param string $http_method HTTP method to use, e.g. GET or POST.
     * @return array Returns an array containing the parsed OAuth response
     *   on success or FALSE on failure.
     * @since PECL OAuth >= 0.99.1
     **/
    public function getAccessToken($access_token_url, $auth_session_handle, $verifier_token, $http_method){}

    /**
     * Gets CA information
     *
     * Gets the Certificate Authority information, which includes the ca_path
     * and ca_info set by OAuth::setCaPath.
     *
     * @return array An array of Certificate Authority information,
     *   specifically as ca_path and ca_info keys within the returned
     *   associative array.
     * @since PECL OAuth >= 0.99.8
     **/
    public function getCAPath(){}

    /**
     * Get the last response
     *
     * Get the raw response of the most recent request.
     *
     * @return string Returns a string containing the last response.
     * @since PECL OAuth >= 0.99.1
     **/
    public function getLastResponse(){}

    /**
     * Get headers for last response
     *
     * @return string A string containing the last response's headers
     **/
    public function getLastResponseHeaders(){}

    /**
     * Get HTTP information about the last response
     *
     * @return array Returns an array containing the response information
     *   for the last request. Constants from {@link curl_getinfo} may be
     *   used.
     * @since PECL OAuth >= 0.99.1
     **/
    public function getLastResponseInfo(){}

    /**
     * Generate OAuth header string signature
     *
     * Generate OAuth header string signature based on the final HTTP method,
     * URL and a string/array of parameters
     *
     * @param string $http_method HTTP method for request.
     * @param string $url URL for request.
     * @param mixed $extra_parameters String or array of additional
     *   parameters.
     * @return string A string containing the generated request header
     **/
    public function getRequestHeader($http_method, $url, $extra_parameters){}

    /**
     * Fetch a request token
     *
     * Fetch a request token, secret and any additional response parameters
     * from the service provider.
     *
     * @param string $request_token_url URL to the request token API.
     * @param string $callback_url OAuth callback URL. If {@link
     *   callback_url} is passed and is an empty value, it is set to "oob" to
     *   address the OAuth 2009.1 advisory.
     * @param string $http_method HTTP method to use, e.g. GET or POST.
     * @return array Returns an array containing the parsed OAuth response
     *   on success or FALSE on failure.
     * @since PECL OAuth >= 0.99.1
     **/
    public function getRequestToken($request_token_url, $callback_url, $http_method){}

    /**
     * Set authorization type
     *
     * Set where the OAuth parameters should be passed.
     *
     * @param int $auth_type {@link auth_type} can be one of the following
     *   flags (in order of decreasing preference as per OAuth 1.0 section
     *   5.2): OAUTH_AUTH_TYPE_AUTHORIZATION Pass the OAuth parameters in the
     *   HTTP Authorization header. OAUTH_AUTH_TYPE_FORM Append the OAuth
     *   parameters to the HTTP POST request body. OAUTH_AUTH_TYPE_URI Append
     *   the OAuth parameters to the request URI. OAUTH_AUTH_TYPE_NONE None.
     * @return bool Returns TRUE if a parameter is correctly set, otherwise
     *   FALSE (e.g., if an invalid {@link auth_type} is passed in.)
     * @since PECL OAuth >= 0.99.1
     **/
    public function setAuthType($auth_type){}

    /**
     * Set CA path and info
     *
     * Sets the Certificate Authority (CA), both for path and info.
     *
     * @param string $ca_path The CA Path being set.
     * @param string $ca_info The CA Info being set.
     * @return mixed Returns TRUE on success, or FALSE if either {@link
     *   ca_path} or {@link ca_info} are considered invalid.
     * @since PECL OAuth >= 0.99.8
     **/
    public function setCAPath($ca_path, $ca_info){}

    /**
     * Set the nonce for subsequent requests
     *
     * Sets the nonce for all subsequent requests.
     *
     * @param string $nonce The value for oauth_nonce.
     * @return mixed Returns TRUE on success, or FALSE if the {@link nonce}
     *   is considered invalid.
     * @since PECL OAuth >= 0.99.1
     **/
    public function setNonce($nonce){}

    /**
     * The setRequestEngine purpose
     *
     * Sets the Request Engine, that will be sending the HTTP requests.
     *
     * @param int $reqengine The desired request engine. Set to
     *   OAUTH_REQENGINE_STREAMS to use PHP Streams, or OAUTH_REQENGINE_CURL
     *   to use Curl.
     * @return void
     * @since PECL OAuth >= 1.0.0
     **/
    public function setRequestEngine($reqengine){}

    /**
     * Set the RSA certificate
     *
     * Sets the RSA certificate.
     *
     * @param string $cert The RSA certificate.
     * @return mixed Returns TRUE on success, or FALSE on failure (e.g.,
     *   the RSA certificate cannot be parsed.)
     * @since PECL OAuth >= 1.0.0
     **/
    public function setRSACertificate($cert){}

    /**
     * Tweak specific SSL checks for requests
     *
     * @param int $sslcheck
     * @return bool
     **/
    public function setSSLChecks($sslcheck){}

    /**
     * Set the timestamp
     *
     * Sets the OAuth timestamp for subsequent requests.
     *
     * @param string $timestamp The timestamp.
     * @return mixed Returns TRUE, unless the {@link timestamp} is invalid,
     *   in which case FALSE is returned.
     * @since PECL OAuth >= 1.0.0
     **/
    public function setTimestamp($timestamp){}

    /**
     * Sets the token and secret
     *
     * Set the token and secret for subsequent requests.
     *
     * @param string $token The OAuth token.
     * @param string $token_secret The OAuth token secret.
     * @return bool TRUE
     * @since PECL OAuth >= 0.99.1
     **/
    public function setToken($token, $token_secret){}

    /**
     * Set the OAuth version
     *
     * Sets the OAuth version for subsequent requests
     *
     * @param string $version OAuth version, default value is always "1.0"
     * @return bool
     * @since PECL OAuth >= 0.99.1
     **/
    public function setVersion($version){}

    /**
     * Create a new OAuth object
     *
     * Creates a new OAuth object
     *
     * @param string $consumer_key The consumer key provided by the service
     *   provider.
     * @param string $consumer_secret The consumer secret provided by the
     *   service provider.
     * @param string $signature_method This optional parameter defines
     *   which signature method to use, by default it is
     *   OAUTH_SIG_METHOD_HMACSHA1 (HMAC-SHA1).
     * @param int $auth_type This optional parameter defines how to pass
     *   the OAuth parameters to a consumer, by default it is
     *   OAUTH_AUTH_TYPE_AUTHORIZATION (in the Authorization header).
     * @since PECL OAuth >= 0.99.1
     **/
    public function __construct($consumer_key, $consumer_secret, $signature_method, $auth_type){}

    /**
     * The destructor
     *
     * @return void
     * @since PECL OAuth >= 0.99.9
     **/
    public function __destruct(){}

}
/**
 * This exception is thrown when exceptional errors occur while using the
 * OAuth extension and contains useful debugging information.
 **/
class OAuthException extends Exception {
    /**
     * @var mixed
     **/
    public $debugInfo;

    /**
     * @var mixed
     **/
    public $lastResponse;

}
/**
 * Manages an OAuth provider class. See also an external in-depth
 * tutorial titled Writing an OAuth Provider Service, which takes a
 * hands-on approach to providing this service. There are also OAuth
 * provider examples within the OAuth extensions sources.
 **/
class OAuthProvider {
    /**
     * Add required parameters
     *
     * Add required oauth provider parameters.
     *
     * @param string $req_params The required parameters.
     * @return bool
     * @since PECL OAuth >= 1.0.0
     **/
    final public function addRequiredParameter($req_params){}

    /**
     * Calls the consumerNonceHandler callback
     *
     * Calls the registered consumer handler callback function, which is set
     * with OAuthProvider::consumerHandler.
     *
     * @return void
     **/
    public function callconsumerHandler(){}

    /**
     * Calls the timestampNonceHandler callback
     *
     * Calls the registered timestamp handler callback function, which is set
     * with OAuthProvider::timestampNonceHandler.
     *
     * @return void
     * @since PECL OAuth >= 1.0.0
     **/
    public function callTimestampNonceHandler(){}

    /**
     * Calls the tokenNonceHandler callback
     *
     * Calls the registered token handler callback function, which is set
     * with OAuthProvider::tokenHandler.
     *
     * @return void
     * @since PECL OAuth >= 1.0.0
     **/
    public function calltokenHandler(){}

    /**
     * Check an oauth request
     *
     * Checks an OAuth request.
     *
     * @param string $uri The optional URI, or endpoint.
     * @param string $method The HTTP method. Optionally pass in one of the
     *   OAUTH_HTTP_METHOD_* OAuth constants.
     * @return void
     * @since PECL OAuth >= 1.0.0
     **/
    public function checkOAuthRequest($uri, $method){}

    /**
     * Set the consumerHandler handler callback
     *
     * Sets the consumer handler callback, which will later be called with
     * OAuthProvider::callConsumerHandler.
     *
     * @param callable $callback_function The callable functions name.
     * @return void
     * @since PECL OAuth >= 1.0.0
     **/
    public function consumerHandler($callback_function){}

    /**
     * Generate a random token
     *
     * Generates a string of pseudo-random bytes.
     *
     * @param int $size The desired token length, in terms of bytes.
     * @param bool $strong Setting to TRUE means /dev/random will be used
     *   for entropy, as otherwise the non-blocking /dev/urandom is used.
     *   This parameter is ignored on Windows.
     * @return string The generated token, as a string of bytes.
     * @since PECL OAuth >= 1.0.0
     **/
    final public static function generateToken($size, $strong){}

    /**
     * is2LeggedEndpoint
     *
     * The 2-legged flow, or request signing. It does not require a token.
     *
     * @param mixed $params_array
     * @return void An OAuthProvider object.
     * @since PECL OAuth >= 1.0.0
     **/
    public function is2LeggedEndpoint($params_array){}

    /**
     * Sets isRequestTokenEndpoint
     *
     * @param bool $will_issue_request_token Sets whether or not it will
     *   issue a request token, thus determining if
     *   OAuthProvider::tokenHandler needs to be called.
     * @return void
     * @since PECL OAuth >= 1.0.0
     **/
    public function isRequestTokenEndpoint($will_issue_request_token){}

    /**
     * Remove a required parameter
     *
     * Removes a required parameter.
     *
     * @param string $req_params The required parameter to be removed.
     * @return bool
     * @since PECL OAuth >= 1.0.0
     **/
    final public function removeRequiredParameter($req_params){}

    /**
     * Report a problem
     *
     * Pass in a problem as an OAuthException, with possible problems listed
     * in the OAuth constants section.
     *
     * @param string $oauthexception The OAuthException.
     * @param bool $send_headers
     * @return string
     * @since PECL OAuth >= 1.0.0
     **/
    final public static function reportProblem($oauthexception, $send_headers){}

    /**
     * Set a parameter
     *
     * Sets a parameter.
     *
     * @param string $param_key The parameter key.
     * @param mixed $param_val The optional parameter value. To exclude a
     *   parameter from signature verification, set its value to NULL.
     * @return bool
     * @since PECL OAuth >= 1.0.0
     **/
    final public function setParam($param_key, $param_val){}

    /**
     * Set request token path
     *
     * Sets the request tokens path.
     *
     * @param string $path The path.
     * @return bool TRUE
     * @since PECL OAuth >= 1.0.0
     **/
    final public function setRequestTokenPath($path){}

    /**
     * Set the timestampNonceHandler handler callback
     *
     * Sets the timestamp nonce handler callback, which will later be called
     * with OAuthProvider::callTimestampNonceHandler. Errors related to
     * timestamp/nonce are thrown to this callback.
     *
     * @param callable $callback_function The callable functions name.
     * @return void
     * @since PECL OAuth >= 1.0.0
     **/
    public function timestampNonceHandler($callback_function){}

    /**
     * Set the tokenHandler handler callback
     *
     * Sets the token handler callback, which will later be called with
     * OAuthProvider::callTokenHandler.
     *
     * @param callable $callback_function The callable functions name.
     * @return void
     * @since PECL OAuth >= 1.0.0
     **/
    public function tokenHandler($callback_function){}

    /**
     * Constructs a new OAuthProvider object
     *
     * Initiates a new OAuthProvider object.
     *
     * @param array $params_array Setting these optional parameters is
     *   limited to the CLI SAPI.
     * @since PECL OAuth >= 1.0.0
     **/
    public function __construct($params_array){}

}
class OCICollection {
}
class OCILob {
}
/**
 * Classes implementing OuterIterator can be used to iterate over
 * iterators.
 **/
interface OuterIterator extends Iterator {
    /**
     * Returns the inner iterator for the current entry
     *
     * Returns the inner iterator for the current iterator entry.
     *
     * @return Iterator The inner iterator for the current entry.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function getInnerIterator();

}
/**
 * Exception thrown if a value is not a valid key. This represents errors
 * that cannot be detected at compile time.
 **/
class OutOfBoundsException extends RuntimeException {
}
/**
 * Exception thrown when an illegal index was requested. This represents
 * errors that should be detected at compile time.
 **/
class OutOfRangeException extends LogicException {
}
/**
 * Exception thrown when adding an element to a full container.
 **/
class OverflowException extends RuntimeException {
}
/**
 * This extended FilterIterator allows a recursive iteration using
 * RecursiveIteratorIterator that only shows those elements which have
 * children.
 **/
class ParentIterator extends RecursiveFilterIterator implements RecursiveIterator, OuterIterator {
    /**
     * Determines acceptability
     *
     * Determines if the current element has children.
     *
     * @return bool TRUE if the current element is acceptable, otherwise
     *   FALSE.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function accept(){}

    /**
     * Return the inner iterator's children contained in a ParentIterator
     *
     * Get the inner iterator's children contained in a ParentIterator.
     *
     * @return ParentIterator An object.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function getChildren(){}

    /**
     * Check whether the inner iterator's current element has children
     *
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function hasChildren(){}

    /**
     * Move the iterator forward
     *
     * Moves the iterator forward.
     *
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function next(){}

    /**
     * Rewind the iterator
     *
     * Rewinds the iterator.
     *
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function rewind(){}

    /**
     * Constructs a ParentIterator
     *
     * Constructs a ParentIterator on an iterator.
     *
     * @param RecursiveIterator $iterator The iterator being constructed
     *   upon.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function __construct($iterator){}

}
namespace Parle {
class ErrorInfo {
    /**
     * @var integer
     **/
    public $id;

    /**
     * @var integer
     **/
    public $position;

    /**
     * @var mixed
     **/
    public $token;

}
}
namespace Parle {
class Lexer {
    /**
     * @var boolean
     **/
    public $bol;

    /**
     * @var integer
     **/
    public $cursor;

    /**
     * @var integer
     **/
    public $flags;

    /**
     * @var integer
     **/
    public $marker;

    /**
     * @var integer
     **/
    public $state;

    /**
     * Process next lexer rule
     *
     * Processes the next rule and prepares the resulting token data.
     *
     * @return void
     **/
    public function advance(){}

    /**
     * Finalize the lexer rule set
     *
     * Rules, previously added with Parle\Lexer::push are finalized. This
     * method call has to be done after all the necessary rules was pushed.
     * The rule set becomes read only. The lexing can begin.
     *
     * @return void
     **/
    public function build(){}

    /**
     * Define token callback
     *
     * Define a callback to be invoked once lexer encounters a particular
     * token.
     *
     * @param int $id Token id.
     * @param callable $callback Callable to be invoked. The callable
     *   doesn't receive any arguments and its return value is ignored.
     * @return void
     **/
    public function callout($id, $callback){}

    /**
     * Pass the data for processing
     *
     * Consume the data for lexing.
     *
     * @param string $data Data to be lexed.
     * @return void
     **/
    public function consume($data){}

    /**
     * Dump the state machine
     *
     * Dump the current state machine to stdout.
     *
     * @return void
     **/
    public function dump(){}

    /**
     * Retrieve the current token
     *
     * @return Parle\Token Returns an instance of Parle\Token.
     **/
    public function getToken(){}

    /**
     * Insert regex macro
     *
     * Insert a regex macro, that can be later used as a shortcut and
     * included in other regular expressions.
     *
     * @param string $name Name of the macros.
     * @param string $regex Regular expression.
     * @return void
     **/
    public function insertMacro($name, $regex){}

    /**
     * Add a lexer rule
     *
     * Push a pattern for lexeme recognition.
     *
     * @param string $regex Regular expression used for token matching.
     * @param int $id Token id. If the lexer instance is meant to be used
     *   standalone, this can be an arbitrary number. If the lexer instance
     *   is going to be passed to the parser, it has to be an id returned by
     *   Parle\Parser::tokenid.
     * @return void
     **/
    public function push($regex, $id){}

    /**
     * Reset lexer
     *
     * Reset lexing optionally supplying the desired offset.
     *
     * @param int $pos Reset position.
     * @return void
     **/
    public function reset($pos){}

}
}
namespace Parle {
class LexerException extends Exception implements Throwable {
}
}
namespace Parle {
class Parser {
    /**
     * @var integer
     **/
    public $action;

    /**
     * @var integer
     **/
    public $reduceId;

    /**
     * Process next parser rule
     *
     * @return void
     **/
    public function advance(){}

    /**
     * Finalize the grammar rules
     *
     * Any tokens and grammar rules previously added are finalized. The rule
     * set becomes readonly and the parser is ready to start.
     *
     * @return void
     **/
    public function build(){}

    /**
     * Consume the data for processing
     *
     * Consume the data for parsing.
     *
     * @param string $data Data to be parsed.
     * @param Parle\Lexer $lexer A lexer object containing the lexing rules
     *   prepared for the particular grammar.
     * @return void
     **/
    public function consume($data, $lexer){}

    /**
     * Dump the grammar
     *
     * Dump the current grammar to stdout.
     *
     * @return void
     **/
    public function dump(){}

    /**
     * Retrieve the error information
     *
     * Retrieve the error information in case Parle\Parser::action returned
     * the error action.
     *
     * @return Parle\ErrorInfo Returns an instance of Parle\ErrorInfo.
     **/
    public function errorInfo(){}

    /**
     * Declare a token with left-associativity
     *
     * Declare a terminal with left associativity.
     *
     * @param string $tok Token name.
     * @return void
     **/
    public function left($tok){}

    /**
     * Declare a token with no associativity
     *
     * Declare a terminal, that cannot appear more than once in the row.
     *
     * @param string $tok Token name.
     * @return void
     **/
    public function nonassoc($tok){}

    /**
     * Declare a precedence rule
     *
     * Declares a precedence rule for a fictitious terminal symbol. This rule
     * can be later used in the specific grammar rules.
     *
     * @param string $tok Token name.
     * @return void
     **/
    public function precedence($tok){}

    /**
     * Add a grammar rule
     *
     * Push a grammar rule. The production id returned can be used later in
     * the parsing process to identify the rule matched.
     *
     * @param string $name Rule name.
     * @param string $rule The rule to be added. The syntax is Bison
     *   compatible.
     * @return int Returns representing the rule index.
     **/
    public function push($name, $rule){}

    /**
     * Reset parser state
     *
     * Reset parser state using the given token id.
     *
     * @param int $tokenId Token id.
     * @return void
     **/
    public function reset($tokenId){}

    /**
     * Declare a token with right-associativity
     *
     * Declare a terminal with right associativity.
     *
     * @param string $tok Token name.
     * @return void
     **/
    public function right($tok){}

    /**
     * Retrieve a matching part of a rule
     *
     * Retrieve a part of the match by a rule. This method is equivalent to
     * the pseudo variable functionality in Bison.
     *
     * @param int $idx Match index, zero based.
     * @return string Returns a with the matched part.
     **/
    public function sigil($idx){}

    /**
     * Declare a token
     *
     * Declare a terminal to be used in the grammar.
     *
     * @param string $tok Token name.
     * @return void
     **/
    public function token($tok){}

    /**
     * Get token id
     *
     * Retrieve the id of the named token.
     *
     * @param string $tok Name of the token as used in Parle\Parser::token.
     * @return int Returns representing the token id.
     **/
    public function tokenId($tok){}

    /**
     * Trace the parser operation
     *
     * Retrieve the current parser operation description. This can be
     * especially useful for studying the parser and to optimize the grammar.
     *
     * @return string Returns a with the trace information.
     **/
    public function trace(){}

    /**
     * Validate input
     *
     * Validate an input string. The string is parsed internally, thus this
     * method is useful for the quick input validation.
     *
     * @param string $data String to be validated.
     * @param Parle\Lexer $lexer A lexer object containing the lexing rules
     *   prepared for the particular grammar.
     * @return bool Returns witnessing whether the input chimes or not with
     *   the defined rules.
     **/
    public function validate($data, $lexer){}

}
}
namespace Parle {
class ParserException extends Exception implements Throwable {
}
}
namespace Parle {
class RLexer {
    /**
     * @var boolean
     **/
    public $bol;

    /**
     * @var integer
     **/
    public $cursor;

    /**
     * @var integer
     **/
    public $flags;

    /**
     * @var integer
     **/
    public $marker;

    /**
     * @var integer
     **/
    public $state;

    /**
     * Process next lexer rule
     *
     * Processes the next rule and prepares the resulting token data.
     *
     * @return void
     **/
    public function advance(){}

    /**
     * Finalize the lexer rule set
     *
     * Rules, previously added with Parle\RLexer::push are finalized. This
     * method call has to be done after all the necessary rules was pushed.
     * The rule set becomes read only. The lexing can begin.
     *
     * @return void
     **/
    public function build(){}

    /**
     * Define token callback
     *
     * Define a callback to be invoked once lexer encounters a particular
     * token.
     *
     * @param int $id Token id.
     * @param callable $callback Callable to be invoked. The callable
     *   doesn't receive any arguments and its return value is ignored.
     * @return void
     **/
    public function callout($id, $callback){}

    /**
     * Pass the data for processing
     *
     * Consume the data for lexing.
     *
     * @param string $data Data to be lexed.
     * @return void
     **/
    public function consume($data){}

    /**
     * Dump the state machine
     *
     * Dump the current state machine to stdout.
     *
     * @return void
     **/
    public function dump(){}

    /**
     * Retrieve the current token
     *
     * Retrive the current token.
     *
     * @return Parle\Token Returns an instance of Parle\Token.
     **/
    public function getToken(){}

    /**
     * Insert regex macro
     *
     * Insert a regex macro, that can be later used as a shortcut and
     * included in other regular expressions.
     *
     * @param string $name Name of the macros.
     * @param string $regex Regular expression.
     * @return void
     **/
    public function insertMacro($name, $regex){}

    /**
     * Add a lexer rule
     *
     * Push a pattern for lexeme recognition.
     *
     * A 'start state' and 'exit state' can be specified by using a suitable
     * signature.
     *
     * @param string $regex Regular expression used for token matching.
     * @param int $id Token id. If the lexer instance is meant to be used
     *   standalone, this can be an arbitrary number. If the lexer instance
     *   is going to be passed to the parser, it has to be an id returned by
     *   Parle\RParser::tokenid.
     * @return void
     **/
    public function push($regex, $id){}

    /**
     * Push a new start state
     *
     * This lexer type can have more than one state machine. This allows you
     * to lex different tokens depending on context, thus allowing simple
     * parsing to take place. Once a state pushed, it can be used with a
     * suitable Parle\RLexer::push signature variant.
     *
     * @param string $state Name of the state.
     * @return int
     **/
    public function pushState($state){}

    /**
     * Reset lexer
     *
     * Reset lexing optionally supplying the desired offset.
     *
     * @param int $pos Reset position.
     * @return void
     **/
    public function reset($pos){}

}
}
namespace Parle {
class RParser {
    /**
     * @var integer
     **/
    public $action;

    /**
     * @var integer
     **/
    public $reduceId;

    /**
     * Process next parser rule
     *
     * Prosess next parser rule.
     *
     * @return void
     **/
    public function advance(){}

    /**
     * Finalize the grammar rules
     *
     * Any tokens and grammar rules previously added are finalized. The rule
     * set becomes readonly and the parser is ready to start.
     *
     * @return void
     **/
    public function build(){}

    /**
     * Consume the data for processing
     *
     * Consume the data for parsing.
     *
     * @param string $data Data to be parsed.
     * @param Parle\RLexer $rlexer A lexer object containing the lexing
     *   rules prepared for the particular grammar.
     * @return void
     **/
    public function consume($data, $rlexer){}

    /**
     * Dump the grammar
     *
     * Dump the current grammar to stdout.
     *
     * @return void
     **/
    public function dump(){}

    /**
     * Retrieve the error information
     *
     * Retrieve the error information in case Parle\RParser::action returned
     * the error action.
     *
     * @return Parle\ErrorInfo Returns an instance of Parle\ErrorInfo.
     **/
    public function errorInfo(){}

    /**
     * Declare a token with left-associativity
     *
     * Declare a terminal with left associativity.
     *
     * @param string $tok Token name.
     * @return void
     **/
    public function left($tok){}

    /**
     * Declare a token with no associativity
     *
     * Declare a terminal, that cannot appear more than once in the row.
     *
     * @param string $tok Token name.
     * @return void
     **/
    public function nonassoc($tok){}

    /**
     * Declare a precedence rule
     *
     * Declares a precedence rule for a fictious terminal symbol. This rule
     * can be later used in the specific grammar rules.
     *
     * @param string $tok Token name.
     * @return void
     **/
    public function precedence($tok){}

    /**
     * Add a grammar rule
     *
     * Push a grammar rule. The production id returned can be used later in
     * the parsing process to identify the rule matched.
     *
     * @param string $name Rule name.
     * @param string $rule The rule to be added. The syntax is Bison
     *   compatible.
     * @return int Returns representing the rule index.
     **/
    public function push($name, $rule){}

    /**
     * Reset parser state
     *
     * Reset parser state using the given token id.
     *
     * @param int $tokenId Token id.
     * @return void
     **/
    public function reset($tokenId){}

    /**
     * Declare a token with right-associativity
     *
     * Declare a terminal with right associativity.
     *
     * @param string $tok Token name.
     * @return void
     **/
    public function right($tok){}

    /**
     * Retrieve a matching part of a rule
     *
     * Retrieve a part of the match by a rule. This method is equivalent to
     * the pseudo variable functionality in Bison.
     *
     * @param int $idx Match index, zero based.
     * @return string Returns a with the matched part.
     **/
    public function sigil($idx){}

    /**
     * Declare a token
     *
     * Declare a terminal to be used in the grammar.
     *
     * @param string $tok Token name.
     * @return void
     **/
    public function token($tok){}

    /**
     * Get token id
     *
     * Retrieve the id of the named token.
     *
     * @param string $tok Name of the token as used in
     *   Parle\RParser::token.
     * @return int Returns representing the token id.
     **/
    public function tokenId($tok){}

    /**
     * Trace the parser operation
     *
     * Retrieve the current parser operation description. This can be
     * especially useful to study the parser and to optimize the grammar.
     *
     * @return string Returns a with the trace information.
     **/
    public function trace(){}

    /**
     * Validate input
     *
     * Validate an input string. The string is parsed internally, thus this
     * method is useful for the quick input validation.
     *
     * @param string $data String to be validated.
     * @param Parle\RLexer $lexer A lexer object containing the lexing
     *   rules prepared for the particular grammar.
     * @return bool Returns whitnessing whether the input chimes or not
     *   with the defined rules.
     **/
    public function validate($data, $lexer){}

}
}
namespace Parle {
class Stack {
    /**
     * @var boolean
     **/
    public $empty;

    /**
     * @var integer
     **/
    public $size;

    /**
     * @var mixed
     **/
    public $top;

    /**
     * Pop an item from the stack
     *
     * @return void
     **/
    public function pop(){}

    /**
     * Push an item into the stack
     *
     * @param mixed $item Variable to be pushed.
     * @return void
     **/
    public function push($item){}

}
}
namespace Parle {
class Token {
    /**
     * @var integer
     **/
    public $id;

    /**
     * @var string
     **/
    public $value;

}
}
/**
 * ParseError is thrown when an error occurs while parsing PHP code, such
 * as when {@link eval} is called.
 **/
class ParseError extends Error {
}
/**
 * Represents a connection between PHP and a database server.
 **/
class PDO {
    const ATTR_AUTOCOMMIT = 0;

    const ATTR_CASE = 0;

    const ATTR_CLIENT_VERSION = 0;

    const ATTR_CONNECTION_STATUS = 0;

    const ATTR_CURSOR = 0;

    const ATTR_CURSOR_NAME = 0;

    const ATTR_DEFAULT_FETCH_MODE = 0;

    const ATTR_DEFAULT_STR_PARAM = 0;

    const ATTR_DRIVER_NAME = '';

    const ATTR_EMULATE_PREPARES = 0;

    const ATTR_ERRMODE = 0;

    const ATTR_FETCH_CATALOG_NAMES = 0;

    const ATTR_FETCH_TABLE_NAMES = 0;

    const ATTR_MAX_COLUMN_LEN = 0;

    const ATTR_ORACLE_NULLS = 0;

    const ATTR_PERSISTENT = 0;

    const ATTR_PREFETCH = 0;

    const ATTR_SERVER_INFO = 0;

    const ATTR_SERVER_VERSION = 0;

    const ATTR_STATEMENT_CLASS = 0;

    const ATTR_STRINGIFY_FETCHES = 0;

    const ATTR_TIMEOUT = 0;

    const CASE_LOWER = 0;

    const CASE_NATURAL = 0;

    const CASE_UPPER = 0;

    const CURSOR_FWDONLY = 0;

    const CURSOR_SCROLL = 0;

    const ERRMODE_EXCEPTION = 0;

    const ERRMODE_SILENT = 0;

    const ERRMODE_WARNING = 0;

    const ERR_NONE = '';

    const FB_ATTR_DATE_FORMAT = 0;

    const FB_ATTR_TIMESTAMP_FORMAT = 0;

    const FB_ATTR_TIME_FORMAT = 0;

    const FETCH_ASSOC = 0;

    const FETCH_BOTH = 0;

    const FETCH_BOUND = 0;

    const FETCH_CLASS = 0;

    const FETCH_CLASSTYPE = 0;

    const FETCH_COLUMN = 0;

    const FETCH_FUNC = 0;

    const FETCH_GROUP = 0;

    const FETCH_INTO = 0;

    const FETCH_KEY_PAIR = 0;

    const FETCH_LAZY = 0;

    const FETCH_NAMED = 0;

    const FETCH_NUM = 0;

    const FETCH_OBJ = 0;

    const FETCH_ORI_ABS = 0;

    const FETCH_ORI_FIRST = 0;

    const FETCH_ORI_LAST = 0;

    const FETCH_ORI_NEXT = 0;

    const FETCH_ORI_PRIOR = 0;

    const FETCH_ORI_REL = 0;

    const FETCH_PROPS_LATE = 0;

    const FETCH_SERIALIZE = 0;

    const FETCH_UNIQUE = 0;

    const MYSQL_ATTR_COMPRESS = 0;

    const MYSQL_ATTR_DIRECT_QUERY = 0;

    const MYSQL_ATTR_FOUND_ROWS = 0;

    const MYSQL_ATTR_IGNORE_SPACE = 0;

    const MYSQL_ATTR_INIT_COMMAND = 0;

    const MYSQL_ATTR_LOCAL_INFILE = 0;

    const MYSQL_ATTR_MAX_BUFFER_SIZE = 0;

    const MYSQL_ATTR_MULTI_STATEMENTS = 0;

    const MYSQL_ATTR_READ_DEFAULT_FILE = 0;

    const MYSQL_ATTR_READ_DEFAULT_GROUP = 0;

    const MYSQL_ATTR_SSL_CA = 0;

    const MYSQL_ATTR_SSL_CAPATH = 0;

    const MYSQL_ATTR_SSL_CERT = 0;

    const MYSQL_ATTR_SSL_CIPHER = 0;

    const MYSQL_ATTR_SSL_KEY = 0;

    const MYSQL_ATTR_USE_BUFFERED_QUERY = 0;

    const NULL_EMPTY_STRING = 0;

    const NULL_NATURAL = 0;

    const NULL_TO_STRING = 0;

    const PARAM_BOOL = 0;

    const PARAM_EVT_ALLOC = 0;

    const PARAM_EVT_EXEC_POST = 0;

    const PARAM_EVT_EXEC_PRE = 0;

    const PARAM_EVT_FETCH_POST = 0;

    const PARAM_EVT_FETCH_PRE = 0;

    const PARAM_EVT_FREE = 0;

    const PARAM_EVT_NORMALIZE = 0;

    const PARAM_INPUT_OUTPUT = 0;

    const PARAM_INT = 0;

    const PARAM_LOB = 0;

    const PARAM_NULL = 0;

    const PARAM_STMT = 0;

    const PARAM_STR = 0;

    const PARAM_STR_CHAR = 0;

    const PARAM_STR_NATL = 0;

    const SQLITE_DETERMINISTIC = 0;

    const SQLSRV_ATTR_DIRECT_QUERY = 0;

    const SQLSRV_ATTR_QUERY_TIMEOUT = 0;

    const SQLSRV_ENCODING_BINARY = 0;

    const SQLSRV_ENCODING_DEFAULT = 0;

    const SQLSRV_ENCODING_SYSTEM = 0;

    const SQLSRV_ENCODING_UTF8 = 0;

    const SQLSRV_TXN_READ_COMMITTED = 0;

    const SQLSRV_TXN_READ_UNCOMMITTED = 0;

    const SQLSRV_TXN_REPEATABLE_READ = 0;

    const SQLSRV_TXN_SERIALIZABLE = 0;

    const SQLSRV_TXN_SNAPSHOT = 0;

    /**
     * Initiates a transaction
     *
     * Turns off autocommit mode. While autocommit mode is turned off,
     * changes made to the database via the PDO object instance are not
     * committed until you end the transaction by calling {@link
     * PDO::commit}. Calling {@link PDO::rollBack} will roll back all changes
     * to the database and return the connection to autocommit mode.
     *
     * Some databases, including MySQL, automatically issue an implicit
     * COMMIT when a database definition language (DDL) statement such as
     * DROP TABLE or CREATE TABLE is issued within a transaction. The
     * implicit COMMIT will prevent you from rolling back any other changes
     * within the transaction boundary.
     *
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0
     **/
    public function beginTransaction(){}

    /**
     * Commits a transaction
     *
     * Commits a transaction, returning the database connection to autocommit
     * mode until the next call to {@link PDO::beginTransaction} starts a new
     * transaction.
     *
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0
     **/
    public function commit(){}

    /**
     * Get the requested schema information
     *
     * This function is used to get the requested schema information from
     * database. You have to designate {@link table_name}, if you want to get
     * information on certain table, {@link col_name}, if you want to get
     * information on certain column (can be used only with
     * PDO::CUBRID_SCH_COL_PRIVILEGE).
     *
     * The result of this function is returned as a two-dimensional array
     * (column (associative array) * row (numeric array)). The following
     * tables shows types of schema and the column structure of the result
     * array to be returned based on the schema type.
     *
     * Result Composition of Each Type Schema Column Number Column Name Value
     * PDO::CUBRID_SCH_TABLE 1 NAME 2 TYPE 0:system table 1:view 2:table
     *
     * PDO::CUBRID_SCH_VIEW 1 NAME 2 TYPE 1:view
     *
     * PDO::CUBRID_SCH_QUERY_SPEC 1 QUERY_SPEC
     *
     * PDO::CUBRID_SCH_ATTRIBUTE / PDO::CUBRID_SCH_TABLE_ATTRIBUTE 1
     * ATTR_NAME 2 DOMAIN 3 SCALE 4 PRECISION 5 INDEXED 1:indexed 6 NOT NULL
     * 1:not null 7 SHARED 1:shared 8 UNIQUE 1:unique 9 DEFAULT 10 ATTR_ORDER
     * base:1 11 CLASS_NAME 12 SOURCE_CLASS 13 IS_KEY 1:key
     *
     * PDO::CUBRID_SCH_METHOD / PDO::CUBRID_SCH_TABLE_METHOD 1 NAME 2
     * RET_DOMAIN 3 ARG_DOMAIN
     *
     * PDO::CUBRID_SCH_METHOD_FILE 1 METHOD_FILE
     *
     * PDO::CUBRID_SCH_SUPER_TABLE / PDO::CUBRID_SCH_DIRECT_SUPER_TABLE /
     * PDO::CUBRID_SCH_SUB_TABLE 1 CLASS_NAME 2 TYPE 0:system table 1:view
     * 2:table
     *
     * PDO::CUBRID_SCH_CONSTRAINT 1 TYPE 0:unique 1:index 2:reverse unique
     * 3:reverse index 2 NAME 3 ATTR_NAME 4 NUM_PAGES 5 NUM_KEYS 6
     * PRIMARY_KEY 1:primary key 7 KEY_ORDER base:1
     *
     * PDO::CUBRID_SCH_TRIGGER 1 NAME 2 STATUS 3 EVENT 4 TARGET_CLASS 5
     * TARGET_ATTR 6 ACTION_TIME 7 ACTION 8 PRIORITY 9 CONDITION_TIME 10
     * CONDITION
     *
     * PDO::CUBRID_SCH_TABLE_PRIVILEGE / PDO::CUBRID_SCH_COL_PRIVILEGE 1
     * CLASS_NAME / ATTR_NAME 2 PRIVILEGE 3 GRANTABLE
     *
     * PDO::CUBRID_SCH_PRIMARY_KEY 1 CLASS_NAME 2 ATTR_NAME 3 KEY_SEQ base:1
     * 4 KEY_NAME
     *
     * PDO::CUBRID_SCH_IMPORTED_KEYS / PDO::CUBRID_SCH_EXPORTED_KEYS /
     * PDO::CUBRID_SCH_CROSS_REFERENCE 1 PKTABLE_NAME 2 PKCOLUMN_NAME 3
     * FKTABLE_NAME base:1 4 FKCOLUMN_NAME 5 KEY_SEQ base:1 6 UPDATE_ACTION
     * 0:cascade 1:restrict 2:no action 3:set null 7 DELETE_ACTION 0:cascade
     * 1:restrict 2:no action 3:set null 8 FK_NAME 9 PK_NAME
     *
     * @param int $schema_type Schema type that you want to know.
     * @param string $table_name Table you want to know the schema of.
     * @param string $col_name Column you want to know the schema of.
     * @return array Array containing the schema information, when process
     *   is successful;
     **/
    public function cubrid_schema($schema_type, $table_name, $col_name){}

    /**
     * Fetch the SQLSTATE associated with the last operation on the database
     * handle
     *
     * @return string Returns an SQLSTATE, a five characters alphanumeric
     *   identifier defined in the ANSI SQL-92 standard. Briefly, an SQLSTATE
     *   consists of a two characters class value followed by a three
     *   characters subclass value. A class value of 01 indicates a warning
     *   and is accompanied by a return code of SQL_SUCCESS_WITH_INFO. Class
     *   values other than '01', except for the class 'IM', indicate an
     *   error. The class 'IM' is specific to warnings and errors that derive
     *   from the implementation of PDO (or perhaps ODBC, if you're using the
     *   ODBC driver) itself. The subclass value '000' in any class indicates
     *   that there is no subclass for that SQLSTATE.
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0
     **/
    public function errorCode(){}

    /**
     * Fetch extended error information associated with the last operation on
     * the database handle
     *
     * @return array {@link PDO::errorInfo} returns an array of error
     *   information about the last operation performed by this database
     *   handle. The array consists of the following fields: Element
     *   Information 0 SQLSTATE error code (a five characters alphanumeric
     *   identifier defined in the ANSI SQL standard). 1 Driver-specific
     *   error code. 2 Driver-specific error message.
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0
     **/
    public function errorInfo(){}

    /**
     * Execute an SQL statement and return the number of affected rows
     *
     * {@link PDO::exec} executes an SQL statement in a single function call,
     * returning the number of rows affected by the statement.
     *
     * {@link PDO::exec} does not return results from a SELECT statement. For
     * a SELECT statement that you only need to issue once during your
     * program, consider issuing {@link PDO::query}. For a statement that you
     * need to issue multiple times, prepare a PDOStatement object with
     * {@link PDO::prepare} and issue the statement with {@link
     * PDOStatement::execute}.
     *
     * @param string $statement The SQL statement to prepare and execute.
     *   Data inside the query should be properly escaped.
     * @return int {@link PDO::exec} returns the number of rows that were
     *   modified or deleted by the SQL statement you issued. If no rows were
     *   affected, {@link PDO::exec} returns 0.
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0
     **/
    public function exec($statement){}

    /**
     * Retrieve a database connection attribute
     *
     * This function returns the value of a database connection attribute. To
     * retrieve PDOStatement attributes, refer to {@link
     * PDOStatement::getAttribute}.
     *
     * Note that some database/driver combinations may not support all of the
     * database connection attributes.
     *
     * @param int $attribute One of the PDO::ATTR_* constants. The
     *   constants that apply to database connections are as follows:
     *   PDO::ATTR_AUTOCOMMIT PDO::ATTR_CASE PDO::ATTR_CLIENT_VERSION
     *   PDO::ATTR_CONNECTION_STATUS PDO::ATTR_DRIVER_NAME PDO::ATTR_ERRMODE
     *   PDO::ATTR_ORACLE_NULLS PDO::ATTR_PERSISTENT PDO::ATTR_PREFETCH
     *   PDO::ATTR_SERVER_INFO PDO::ATTR_SERVER_VERSION PDO::ATTR_TIMEOUT
     * @return mixed A successful call returns the value of the requested
     *   PDO attribute. An unsuccessful call returns null.
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0
     **/
    public function getAttribute($attribute){}

    /**
     * Return an array of available PDO drivers
     *
     * This function returns all currently available PDO drivers which can be
     * used in {@link DSN} parameter of {@link PDO::__construct}.
     *
     * @return array {@link PDO::getAvailableDrivers} returns an array of
     *   PDO driver names. If no drivers are available, it returns an empty
     *   array.
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 1.0.3
     **/
    public static function getAvailableDrivers(){}

    /**
     * Checks if inside a transaction
     *
     * Checks if a transaction is currently active within the driver. This
     * method only works for database drivers that support transactions.
     *
     * @return bool Returns TRUE if a transaction is currently active, and
     *   FALSE if not.
     * @since PHP 5 >= 5.3.3, Bundled pdo_pgsql, PHP 7
     **/
    public function inTransaction(){}

    /**
     * Returns the ID of the last inserted row or sequence value
     *
     * Returns the ID of the last inserted row, or the last value from a
     * sequence object, depending on the underlying driver. For example,
     * PDO_PGSQL requires you to specify the name of a sequence object for
     * the {@link name} parameter.
     *
     * @param string $name Name of the sequence object from which the ID
     *   should be returned.
     * @return string If a sequence name was not specified for the {@link
     *   name} parameter, {@link PDO::lastInsertId} returns a string
     *   representing the row ID of the last row that was inserted into the
     *   database.
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0
     **/
    public function lastInsertId($name){}

    /**
     * Copy data from PHP array into table
     *
     * Copies data from {@link rows} array to table {@link table_name} using
     * {@link delimiter} as fields delimiter and {@link fields} list
     *
     * @param string $table_name String containing table name
     * @param array $rows Array of strings with fields separated by {@link
     *   delimiter}
     * @param string $delimiter Delimiter used in {@link rows} array
     * @param string $null_as How to interpret null values
     * @param string $fields List of fields to insert
     * @return bool Returns TRUE on success,.
     * @since PHP 5 >= 5.3.3, PHP 7
     **/
    public function pgsqlCopyFromArray($table_name, $rows, $delimiter, $null_as, $fields){}

    /**
     * Copy data from file into table
     *
     * Copies data from file specified by {@link filename} into table {@link
     * table_name} using {@link delimiter} as fields delimiter and {@link
     * fields} list
     *
     * @param string $table_name String containing table name
     * @param string $filename Filename containing data to import
     * @param string $delimiter Delimiter used in file specified by {@link
     *   filename}
     * @param string $null_as How to interpret null values
     * @param string $fields List of fields to insert
     * @return bool Returns TRUE on success,.
     * @since PHP 5 >= 5.3.3, PHP 7
     **/
    public function pgsqlCopyFromFile($table_name, $filename, $delimiter, $null_as, $fields){}

    /**
     * Copy data from database table into PHP array
     *
     * Copies data from {@link table} into array using {@link delimiter} as
     * fields delimiter and {@link fields} list
     *
     * @param string $table_name String containing table name
     * @param string $delimiter Delimiter used in rows
     * @param string $null_as How to interpret null values
     * @param string $fields List of fields to export
     * @return array Returns an array of rows,.
     * @since PHP 5 >= 5.3.3, PHP 7
     **/
    public function pgsqlCopyToArray($table_name, $delimiter, $null_as, $fields){}

    /**
     * Copy data from table into file
     *
     * Copies data from table into file specified by {@link filename} using
     * {@link delimiter} as fields delimiter and {@link fields} list
     *
     * @param string $table_name String containing table name
     * @param string $filename Filename to export data
     * @param string $delimiter Delimiter used in file specified by {@link
     *   filename}
     * @param string $null_as How to interpret null values
     * @param string $fields List of fields to insert
     * @return bool Returns TRUE on success,.
     * @since PHP 5 >= 5.3.3, PHP 7
     **/
    public function pgsqlCopyToFile($table_name, $filename, $delimiter, $null_as, $fields){}

    /**
     * Get asynchronous notification
     *
     * Returns a result set representing a pending asynchronous notification.
     *
     * @param int $result_type The format the result set should be returned
     *   as, represented as a PDO::FETCH_* constant.
     * @param int $ms_timeout The length of time to wait for a response, in
     *   milliseconds.
     * @return array If one or more notifications is pending, returns a
     *   single row, with fields message and pid, otherwise returns FALSE.
     * @since PHP 5 >= 5.6.0, PHP 7
     **/
    public function pgsqlGetNotify($result_type, $ms_timeout){}

    /**
     * Get the server PID
     *
     * Returns the server's PID.
     *
     * @return int The server's PID.
     * @since PHP 5 >= 5.6.0, PHP 7
     **/
    public function pgsqlGetPid(){}

    /**
     * Creates a new large object
     *
     * {@link PDO::pgsqlLOBCreate} creates a large object and returns the OID
     * of that object. You may then open a stream on the object using {@link
     * PDO::pgsqlLOBOpen} to read or write data to it. The OID can be stored
     * in columns of type OID and be used to reference the large object,
     * without causing the row to grow arbitrarily large. The large object
     * will continue to live in the database until it is removed by calling
     * {@link PDO::pgsqlLOBUnlink}.
     *
     * Large objects can be up to 2GB in size, but are cumbersome to use; you
     * need to ensure that {@link PDO::pgsqlLOBUnlink} is called prior to
     * deleting the last row that references its OID from your database. In
     * addition, large objects have no access controls. As an alternative,
     * try the bytea column type; recent versions of PostgreSQL allow bytea
     * columns of up to 1GB in size and transparently manage the storage for
     * optimal row size.
     *
     * @return string Returns the OID of the newly created large object on
     *   success, or FALSE on failure.
     * @since PHP 5 >= 5.1.2, PHP 7, PECL pdo_pgsql >= 1.0.2
     **/
    public function pgsqlLOBCreate(){}

    /**
     * Opens an existing large object stream
     *
     * {@link PDO::pgsqlLOBOpen} opens a stream to access the data referenced
     * by {@link oid}. If {@link mode} is r, the stream is opened for
     * reading, if {@link mode} is w, then the stream will be opened for
     * writing. You can use all the usual filesystem functions, such as
     * {@link fread}, {@link fwrite} and {@link fgets} to manipulate the
     * contents of the stream.
     *
     * @param string $oid A large object identifier.
     * @param string $mode If mode is r, open the stream for reading. If
     *   mode is w, open the stream for writing.
     * @return resource Returns a stream resource on success.
     * @since PHP 5 >= 5.1.2, PHP 7, PECL pdo_pgsql >= 1.0.2
     **/
    public function pgsqlLOBOpen($oid, $mode){}

    /**
     * Deletes the large object
     *
     * Deletes a large object from the database identified by OID.
     *
     * @param string $oid A large object identifier
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL pdo_pgsql >= 1.0.2
     **/
    public function pgsqlLOBUnlink($oid){}

    /**
     * Prepares a statement for execution and returns a statement object
     *
     * Prepares an SQL statement to be executed by the {@link
     * PDOStatement::execute} method. The SQL statement can contain zero or
     * more named (:name) or question mark (?) parameter markers for which
     * real values will be substituted when the statement is executed. You
     * cannot use both named and question mark parameter markers within the
     * same SQL statement; pick one or the other parameter style. Use these
     * parameters to bind any user-input, do not include the user-input
     * directly in the query.
     *
     * You must include a unique parameter marker for each value you wish to
     * pass in to the statement when you call {@link PDOStatement::execute}.
     * You cannot use a named parameter marker of the same name more than
     * once in a prepared statement, unless emulation mode is on.
     *
     * Calling {@link PDO::prepare} and {@link PDOStatement::execute} for
     * statements that will be issued multiple times with different parameter
     * values optimizes the performance of your application by allowing the
     * driver to negotiate client and/or server side caching of the query
     * plan and meta information, and helps to prevent SQL injection attacks
     * by eliminating the need to manually quote the parameters.
     *
     * PDO will emulate prepared statements/bound parameters for drivers that
     * do not natively support them, and can also rewrite named or question
     * mark style parameter markers to something more appropriate, if the
     * driver supports one style but not the other.
     *
     * @param string $statement This must be a valid SQL statement template
     *   for the target database server.
     * @param array $driver_options This array holds one or more key=>value
     *   pairs to set attribute values for the PDOStatement object that this
     *   method returns. You would most commonly use this to set the
     *   PDO::ATTR_CURSOR value to PDO::CURSOR_SCROLL to request a scrollable
     *   cursor. Some drivers have driver specific options that may be set at
     *   prepare-time.
     * @return PDOStatement If the database server successfully prepares
     *   the statement, {@link PDO::prepare} returns a PDOStatement object.
     *   If the database server cannot successfully prepare the statement,
     *   {@link PDO::prepare} returns FALSE or emits PDOException (depending
     *   on error handling).
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0
     **/
    public function prepare($statement, $driver_options){}

    /**
     * Executes an SQL statement, returning a result set as a PDOStatement
     * object
     *
     * {@link PDO::query} executes an SQL statement in a single function
     * call, returning the result set (if any) returned by the statement as a
     * PDOStatement object.
     *
     * For a query that you need to issue multiple times, you will realize
     * better performance if you prepare a PDOStatement object using {@link
     * PDO::prepare} and issue the statement with multiple calls to {@link
     * PDOStatement::execute}.
     *
     * If you do not fetch all of the data in a result set before issuing
     * your next call to {@link PDO::query}, your call may fail. Call {@link
     * PDOStatement::closeCursor} to release the database resources
     * associated with the PDOStatement object before issuing your next call
     * to {@link PDO::query}.
     *
     * @param string $statement The SQL statement to prepare and execute.
     *   Data inside the query should be properly escaped.
     * @return PDOStatement {@link PDO::query} returns a PDOStatement
     *   object, or FALSE on failure.
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0
     **/
    public function query($statement){}

    /**
     * Quotes a string for use in a query
     *
     * {@link PDO::quote} places quotes around the input string (if required)
     * and escapes special characters within the input string, using a
     * quoting style appropriate to the underlying driver.
     *
     * If you are using this function to build SQL statements, you are
     * strongly recommended to use {@link PDO::prepare} to prepare SQL
     * statements with bound parameters instead of using {@link PDO::quote}
     * to interpolate user input into an SQL statement. Prepared statements
     * with bound parameters are not only more portable, more convenient,
     * immune to SQL injection, but are often much faster to execute than
     * interpolated queries, as both the server and client side can cache a
     * compiled form of the query.
     *
     * Not all PDO drivers implement this method (notably PDO_ODBC). Consider
     * using prepared statements instead.
     *
     * @param string $string The string to be quoted.
     * @param int $parameter_type Provides a data type hint for drivers
     *   that have alternate quoting styles.
     * @return string Returns a quoted string that is theoretically safe to
     *   pass into an SQL statement. Returns FALSE if the driver does not
     *   support quoting in this way.
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.1
     **/
    public function quote($string, $parameter_type){}

    /**
     * Rolls back a transaction
     *
     * Rolls back the current transaction, as initiated by {@link
     * PDO::beginTransaction}.
     *
     * If the database was set to autocommit mode, this function will restore
     * autocommit mode after it has rolled back the transaction.
     *
     * Some databases, including MySQL, automatically issue an implicit
     * COMMIT when a database definition language (DDL) statement such as
     * DROP TABLE or CREATE TABLE is issued within a transaction. The
     * implicit COMMIT will prevent you from rolling back any other changes
     * within the transaction boundary.
     *
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0
     **/
    public function rollBack(){}

    /**
     * Set an attribute
     *
     * Sets an attribute on the database handle. Some of the available
     * generic attributes are listed below; some drivers may make use of
     * additional driver specific attributes. PDO::ATTR_CASE: Force column
     * names to a specific case. PDO::CASE_LOWER: Force column names to lower
     * case. PDO::CASE_NATURAL: Leave column names as returned by the
     * database driver. PDO::CASE_UPPER: Force column names to upper case.
     * PDO::ATTR_ERRMODE: Error reporting. PDO::ERRMODE_SILENT: Just set
     * error codes. PDO::ERRMODE_WARNING: Raise E_WARNING.
     * PDO::ERRMODE_EXCEPTION: Throw exceptions. PDO::ATTR_ORACLE_NULLS
     * (available with all drivers, not just Oracle): Conversion of NULL and
     * empty strings. PDO::NULL_NATURAL: No conversion.
     * PDO::NULL_EMPTY_STRING: Empty string is converted to NULL.
     * PDO::NULL_TO_STRING: NULL is converted to an empty string.
     * PDO::ATTR_STRINGIFY_FETCHES: Convert numeric values to strings when
     * fetching. Requires bool. PDO::ATTR_STATEMENT_CLASS: Set user-supplied
     * statement class derived from PDOStatement. Cannot be used with
     * persistent PDO instances. Requires array(string classname, array(mixed
     * constructor_args)). PDO::ATTR_TIMEOUT: Specifies the timeout duration
     * in seconds. Not all drivers support this option, and its meaning may
     * differ from driver to driver. For example, sqlite will wait for up to
     * this time value before giving up on obtaining an writable lock, but
     * other drivers may interpret this as a connect or a read timeout
     * interval. Requires int. PDO::ATTR_AUTOCOMMIT (available in OCI,
     * Firebird and MySQL): Whether to autocommit every single statement.
     * PDO::ATTR_EMULATE_PREPARES Enables or disables emulation of prepared
     * statements. Some drivers do not support native prepared statements or
     * have limited support for them. Use this setting to force PDO to either
     * always emulate prepared statements (if TRUE and emulated prepares are
     * supported by the driver), or to try to use native prepared statements
     * (if FALSE). It will always fall back to emulating the prepared
     * statement if the driver cannot successfully prepare the current query.
     * Requires bool. PDO::MYSQL_ATTR_USE_BUFFERED_QUERY (available in
     * MySQL): Use buffered queries. PDO::ATTR_DEFAULT_FETCH_MODE: Set
     * default fetch mode. Description of modes is available in {@link
     * PDOStatement::fetch} documentation.
     *
     * @param int $attribute
     * @param mixed $value
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0
     **/
    public function setAttribute($attribute, $value){}

    /**
     * Registers an aggregating User Defined Function for use in SQL
     * statements
     *
     * This method is similar to except that it registers functions that can
     * be used to calculate a result aggregated across all the rows of a
     * query.
     *
     * The key difference between this method and is that two functions are
     * required to manage the aggregate.
     *
     * @param string $function_name The name of the function used in SQL
     *   statements.
     * @param callable $step_func Callback function called for each row of
     *   the result set. Your PHP function should accumulate the result and
     *   store it in the aggregation context. This function need to be
     *   defined as: mixedstep mixed{@link context} int{@link rownumber}
     *   mixed{@link value1} mixed{@link value2} mixed{@link ..} context will
     *   be NULL for the first row; on subsequent rows it will have the value
     *   that was previously returned from the step function; you should use
     *   this to maintain the aggregate state. rownumber will hold the
     *   current row number. The return value of this function will be used
     *   as the {@link context} argument in the next call of the step or
     *   finalize functions.
     * @param callable $finalize_func Callback function to aggregate the
     *   "stepped" data from each row. Once all the rows have been processed,
     *   this function will be called and it should then take the data from
     *   the aggregation context and return the result. Callback functions
     *   should return a type understood by SQLite (i.e. scalar type). This
     *   function need to be defined as: mixedfini mixed{@link context}
     *   int{@link rownumber} context will hold the return value from the
     *   very last call to the step function. rownumber will hold the number
     *   of rows over which the aggregate was performed. The return value of
     *   this function will be used as the return value for the aggregate.
     * @param int $num_args Hint to the SQLite parser if the callback
     *   function accepts a predetermined number of arguments.
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo_sqlite >= 1.0.0
     **/
    public function sqliteCreateAggregate($function_name, $step_func, $finalize_func, $num_args){}

    /**
     * Registers a User Defined Function for use as a collating function in
     * SQL statements
     *
     * @param string $name Name of the SQL collating function to be created
     *   or redefined.
     * @param callable $callback The name of a PHP function or user-defined
     *   function to apply as a callback, defining the behavior of the
     *   collation. It should accept two strings and return as strcmp() does,
     *   i.e. it should return -1, 1, or 0 if the first string sorts before,
     *   sorts after, or is equal to the second. This function need to be
     *   defined as: intcollation string{@link string1} string{@link string2}
     * @return bool
     * @since PHP 5 >= 5.3.11, PHP 7
     **/
    public function sqliteCreateCollation($name, $callback){}

    /**
     * Registers a User Defined Function for use in SQL statements
     *
     * This method allows you to register a PHP function with SQLite as an
     * UDF (User Defined Function), so that it can be called from within your
     * SQL statements.
     *
     * The UDF can be used in any SQL statement that can call functions, such
     * as SELECT and UPDATE statements and also in triggers.
     *
     * @param string $function_name The name of the function used in SQL
     *   statements.
     * @param callable $callback Callback function to handle the defined
     *   SQL function.
     * @param int $num_args The number of arguments that the SQL function
     *   takes. If this parameter is -1, then the SQL function may take any
     *   number of arguments.
     * @param int $flags A bitwise conjunction of flags. Currently, only
     *   PDO::SQLITE_DETERMINISTIC is supported, which specifies that the
     *   function always returns the same result given the same inputs within
     *   a single SQL statement.
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo_sqlite >= 1.0.0
     **/
    public function sqliteCreateFunction($function_name, $callback, $num_args, $flags){}

}
/**
 * Represents an error raised by PDO. You should not throw a PDOException
 * from your own code. See Exceptions for more information about
 * Exceptions in PHP.
 **/
class PDOException extends RuntimeException {
    /**
     * SQLSTATE error code. Use {@link Exception::getCode} to access it.
     *
     * @var string
     **/
    protected $code;

    /**
     * @var array
     **/
    public $errorInfo;

}
/**
 * Represents a prepared statement and, after the statement is executed,
 * an associated result set.
 **/
class PDOStatement implements Traversable {
    /**
     * @var string
     **/
    public $queryString;

    /**
     * Bind a column to a PHP variable
     *
     * {@link PDOStatement::bindColumn} arranges to have a particular
     * variable bound to a given column in the result-set from a query. Each
     * call to {@link PDOStatement::fetch} or {@link PDOStatement::fetchAll}
     * will update all the variables that are bound to columns.
     *
     * @param mixed $column Number of the column (1-indexed) or name of the
     *   column in the result set. If using the column name, be aware that
     *   the name should match the case of the column, as returned by the
     *   driver.
     * @param mixed $param Name of the PHP variable to which the column
     *   will be bound.
     * @param int $type Data type of the parameter, specified by the
     *   PDO::PARAM_* constants.
     * @param int $maxlen A hint for pre-allocation.
     * @param mixed $driverdata Optional parameter(s) for the driver.
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0
     **/
    public function bindColumn($column, &$param, $type, $maxlen, $driverdata){}

    /**
     * Binds a parameter to the specified variable name
     *
     * Binds a PHP variable to a corresponding named or question mark
     * placeholder in the SQL statement that was used to prepare the
     * statement. Unlike {@link PDOStatement::bindValue}, the variable is
     * bound as a reference and will only be evaluated at the time that
     * {@link PDOStatement::execute} is called.
     *
     * Most parameters are input parameters, that is, parameters that are
     * used in a read-only fashion to build up the query. Some drivers
     * support the invocation of stored procedures that return data as output
     * parameters, and some also as input/output parameters that both send in
     * data and are updated to receive it.
     *
     * @param mixed $parameter Parameter identifier. For a prepared
     *   statement using named placeholders, this will be a parameter name of
     *   the form :name. For a prepared statement using question mark
     *   placeholders, this will be the 1-indexed position of the parameter.
     * @param mixed $variable Name of the PHP variable to bind to the SQL
     *   statement parameter.
     * @param int $data_type Explicit data type for the parameter using the
     *   PDO::PARAM_* constants. To return an INOUT parameter from a stored
     *   procedure, use the bitwise OR operator to set the
     *   PDO::PARAM_INPUT_OUTPUT bits for the {@link data_type} parameter.
     * @param int $length Length of the data type. To indicate that a
     *   parameter is an OUT parameter from a stored procedure, you must
     *   explicitly set the length.
     * @param mixed $driver_options
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0
     **/
    public function bindParam($parameter, &$variable, $data_type, $length, $driver_options){}

    /**
     * Binds a value to a parameter
     *
     * Binds a value to a corresponding named or question mark placeholder in
     * the SQL statement that was used to prepare the statement.
     *
     * @param mixed $parameter Parameter identifier. For a prepared
     *   statement using named placeholders, this will be a parameter name of
     *   the form :name. For a prepared statement using question mark
     *   placeholders, this will be the 1-indexed position of the parameter.
     * @param mixed $value The value to bind to the parameter.
     * @param int $data_type Explicit data type for the parameter using the
     *   PDO::PARAM_* constants.
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 1.0.0
     **/
    public function bindValue($parameter, $value, $data_type){}

    /**
     * Closes the cursor, enabling the statement to be executed again
     *
     * {@link PDOStatement::closeCursor} frees up the connection to the
     * server so that other SQL statements may be issued, but leaves the
     * statement in a state that enables it to be executed again.
     *
     * This method is useful for database drivers that do not support
     * executing a PDOStatement object when a previously executed
     * PDOStatement object still has unfetched rows. If your database driver
     * suffers from this limitation, the problem may manifest itself in an
     * out-of-sequence error.
     *
     * {@link PDOStatement::closeCursor} is implemented either as an optional
     * driver specific method (allowing for maximum efficiency), or as the
     * generic PDO fallback if no driver specific function is installed. The
     * PDO generic fallback is semantically the same as writing the following
     * code in your PHP script:
     *
     * <?php do { while ($stmt->fetch()) ; if (!$stmt->nextRowset()) break; }
     * while (true); ?>
     *
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.9.0
     **/
    public function closeCursor(){}

    /**
     * Returns the number of columns in the result set
     *
     * Use {@link PDOStatement::columnCount} to return the number of columns
     * in the result set represented by the PDOStatement object.
     *
     * If the PDOStatement object was returned from {@link PDO::query}, the
     * column count is immediately available.
     *
     * If the PDOStatement object was returned from {@link PDO::prepare}, an
     * accurate column count will not be available until you invoke {@link
     * PDOStatement::execute}.
     *
     * @return int Returns the number of columns in the result set
     *   represented by the PDOStatement object, even if the result set is
     *   empty. If there is no result set, {@link PDOStatement::columnCount}
     *   returns 0.
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0
     **/
    public function columnCount(){}

    /**
     * Dump an SQL prepared command
     *
     * Dumps the information contained by a prepared statement directly on
     * the output. It will provide the SQL query in use, the number of
     * parameters used (Params), the list of parameters with their key name
     * or position, their name, their position in the query (if this is
     * supported by the PDO driver, otherwise, it will be -1), type
     * (param_type) as an integer, and a boolean value is_param.
     *
     * This is a debug function, which dumps the data directly to the normal
     * output.
     *
     * This will only dump the parameters in the statement at the moment of
     * the dump. Extra parameters are not stored in the statement, and not
     * displayed.
     *
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.9.0
     **/
    public function debugDumpParams(){}

    /**
     * Fetch the SQLSTATE associated with the last operation on the statement
     * handle
     *
     * @return string Identical to {@link PDO::errorCode}, except that
     *   {@link PDOStatement::errorCode} only retrieves error codes for
     *   operations performed with PDOStatement objects.
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0
     **/
    public function errorCode(){}

    /**
     * Fetch extended error information associated with the last operation on
     * the statement handle
     *
     * @return array {@link PDOStatement::errorInfo} returns an array of
     *   error information about the last operation performed by this
     *   statement handle. The array consists of the following fields:
     *   Element Information 0 SQLSTATE error code (a five characters
     *   alphanumeric identifier defined in the ANSI SQL standard). 1 Driver
     *   specific error code. 2 Driver specific error message.
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0
     **/
    public function errorInfo(){}

    /**
     * Executes a prepared statement
     *
     * Execute the prepared statement. If the prepared statement included
     * parameter markers, either: {@link PDOStatement::bindParam} and/or
     * {@link PDOStatement::bindValue} has to be called to bind either
     * variables or values (respectively) to the parameter markers. Bound
     * variables pass their value as input and receive the output value, if
     * any, of their associated parameter markers or an array of input-only
     * parameter values has to be passed
     *
     * @param array $input_parameters An array of values with as many
     *   elements as there are bound parameters in the SQL statement being
     *   executed. All values are treated as PDO::PARAM_STR. Multiple values
     *   cannot be bound to a single parameter; for example, it is not
     *   allowed to bind two values to a single named parameter in an IN()
     *   clause. Binding more values than specified is not possible; if more
     *   keys exist in {@link input_parameters} than in the SQL specified in
     *   the PDO::prepare, then the statement will fail and an error is
     *   emitted.
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0
     **/
    public function execute($input_parameters){}

    /**
     * Fetches the next row from a result set
     *
     * Fetches a row from a result set associated with a PDOStatement object.
     * The {@link fetch_style} parameter determines how PDO returns the row.
     *
     * @param int $fetch_style Controls how the next row will be returned
     *   to the caller. This value must be one of the PDO::FETCH_* constants,
     *   defaulting to value of PDO::ATTR_DEFAULT_FETCH_MODE (which defaults
     *   to PDO::FETCH_BOTH). PDO::FETCH_ASSOC: returns an array indexed by
     *   column name as returned in your result set PDO::FETCH_BOTH
     *   (default): returns an array indexed by both column name and
     *   0-indexed column number as returned in your result set
     *   PDO::FETCH_BOUND: returns TRUE and assigns the values of the columns
     *   in your result set to the PHP variables to which they were bound
     *   with the {@link PDOStatement::bindColumn} method PDO::FETCH_CLASS:
     *   returns a new instance of the requested class, mapping the columns
     *   of the result set to named properties in the class, and calling the
     *   constructor afterwards, unless PDO::FETCH_PROPS_LATE is also given.
     *   If {@link fetch_style} includes PDO::FETCH_CLASSTYPE (e.g.
     *   PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE) then the name of the class
     *   is determined from a value of the first column. PDO::FETCH_INTO:
     *   updates an existing instance of the requested class, mapping the
     *   columns of the result set to named properties in the class
     *   PDO::FETCH_LAZY: combines PDO::FETCH_BOTH and PDO::FETCH_OBJ,
     *   creating the object variable names as they are accessed
     *   PDO::FETCH_NAMED: returns an array with the same form as
     *   PDO::FETCH_ASSOC, except that if there are multiple columns with the
     *   same name, the value referred to by that key will be an array of all
     *   the values in the row that had that column name PDO::FETCH_NUM:
     *   returns an array indexed by column number as returned in your result
     *   set, starting at column 0 PDO::FETCH_OBJ: returns an anonymous
     *   object with property names that correspond to the column names
     *   returned in your result set PDO::FETCH_PROPS_LATE: when used with
     *   PDO::FETCH_CLASS, the constructor of the class is called before the
     *   properties are assigned from the respective column values.
     * @param int $cursor_orientation For a PDOStatement object
     *   representing a scrollable cursor, this value determines which row
     *   will be returned to the caller. This value must be one of the
     *   PDO::FETCH_ORI_* constants, defaulting to PDO::FETCH_ORI_NEXT. To
     *   request a scrollable cursor for your PDOStatement object, you must
     *   set the PDO::ATTR_CURSOR attribute to PDO::CURSOR_SCROLL when you
     *   prepare the SQL statement with {@link PDO::prepare}.
     * @param int $cursor_offset For a PDOStatement object representing a
     *   scrollable cursor for which the cursor_orientation parameter is set
     *   to PDO::FETCH_ORI_ABS, this value specifies the absolute number of
     *   the row in the result set that shall be fetched. For a PDOStatement
     *   object representing a scrollable cursor for which the
     *   cursor_orientation parameter is set to PDO::FETCH_ORI_REL, this
     *   value specifies the row to fetch relative to the cursor position
     *   before {@link PDOStatement::fetch} was called.
     * @return mixed The return value of this function on success depends
     *   on the fetch type. In all cases, FALSE is returned on failure.
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0
     **/
    public function fetch($fetch_style, $cursor_orientation, $cursor_offset){}

    /**
     * Returns an array containing all of the result set rows
     *
     * @param int $fetch_style Controls the contents of the returned array
     *   as documented in {@link PDOStatement::fetch}. Defaults to value of
     *   PDO::ATTR_DEFAULT_FETCH_MODE (which defaults to PDO::FETCH_BOTH) To
     *   return an array consisting of all values of a single column from the
     *   result set, specify PDO::FETCH_COLUMN. You can specify which column
     *   you want with the {@link fetch_argument} parameter. To fetch only
     *   the unique values of a single column from the result set, bitwise-OR
     *   PDO::FETCH_COLUMN with PDO::FETCH_UNIQUE. To return an associative
     *   array grouped by the values of a specified column, bitwise-OR
     *   PDO::FETCH_COLUMN with PDO::FETCH_GROUP.
     * @param mixed $fetch_argument This argument has a different meaning
     *   depending on the value of the {@link fetch_style} parameter:
     *   PDO::FETCH_COLUMN: Returns the indicated 0-indexed column.
     *   PDO::FETCH_CLASS: Returns instances of the specified class, mapping
     *   the columns of each row to named properties in the class.
     *   PDO::FETCH_FUNC: Returns the results of calling the specified
     *   function, using each row's columns as parameters in the call.
     * @param array $ctor_args Arguments of custom class constructor when
     *   the {@link fetch_style} parameter is PDO::FETCH_CLASS.
     * @return array {@link PDOStatement::fetchAll} returns an array
     *   containing all of the remaining rows in the result set. The array
     *   represents each row as either an array of column values or an object
     *   with properties corresponding to each column name. An empty array is
     *   returned if there are zero results to fetch, or FALSE on failure.
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0
     **/
    public function fetchAll($fetch_style, $fetch_argument, $ctor_args){}

    /**
     * Returns a single column from the next row of a result set
     *
     * Returns a single column from the next row of a result set or FALSE if
     * there are no more rows.
     *
     * @param int $column_number 0-indexed number of the column you wish to
     *   retrieve from the row. If no value is supplied, {@link
     *   PDOStatement::fetchColumn} fetches the first column.
     * @return mixed {@link PDOStatement::fetchColumn} returns a single
     *   column from the next row of a result set or FALSE if there are no
     *   more rows.
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.9.0
     **/
    public function fetchColumn($column_number){}

    /**
     * Fetches the next row and returns it as an object
     *
     * Fetches the next row and returns it as an object. This function is an
     * alternative to {@link PDOStatement::fetch} with PDO::FETCH_CLASS or
     * PDO::FETCH_OBJ style.
     *
     * When an object is fetched, its properties are assigned from respective
     * column values, and afterwards its constructor is invoked.
     *
     * @param string $class_name Name of the created class.
     * @param array $ctor_args Elements of this array are passed to the
     *   constructor.
     * @return mixed Returns an instance of the required class with
     *   property names that correspond to the column names .
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.4
     **/
    public function fetchObject($class_name, $ctor_args){}

    /**
     * Retrieve a statement attribute
     *
     * Gets an attribute of the statement. Currently, no generic attributes
     * exist but only driver specific: PDO::ATTR_CURSOR_NAME (Firebird and
     * ODBC specific): Get the name of cursor for UPDATE ... WHERE CURRENT
     * OF.
     *
     * @param int $attribute
     * @return mixed Returns the attribute value.
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0
     **/
    public function getAttribute($attribute){}

    /**
     * Returns metadata for a column in a result set
     *
     * Retrieves the metadata for a 0-indexed column in a result set as an
     * associative array.
     *
     * The following drivers support this method:
     *
     * @param int $column The 0-indexed column in the result set.
     * @return array Returns an associative array containing the following
     *   values representing the metadata for a single column:
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0
     **/
    public function getColumnMeta($column){}

    /**
     * Advances to the next rowset in a multi-rowset statement handle
     *
     * Some database servers support stored procedures that return more than
     * one rowset (also known as a result set). {@link
     * PDOStatement::nextRowset} enables you to access the second and
     * subsequent rowsets associated with a PDOStatement object. Each rowset
     * can have a different set of columns from the preceding rowset.
     *
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0
     **/
    public function nextRowset(){}

    /**
     * Returns the number of rows affected by the last SQL statement
     *
     * {@link PDOStatement::rowCount} returns the number of rows affected by
     * the last DELETE, INSERT, or UPDATE statement executed by the
     * corresponding PDOStatement object.
     *
     * If the last SQL statement executed by the associated PDOStatement was
     * a SELECT statement, some databases may return the number of rows
     * returned by that statement. However, this behaviour is not guaranteed
     * for all databases and should not be relied on for portable
     * applications.
     *
     * @return int Returns the number of rows.
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0
     **/
    public function rowCount(){}

    /**
     * Set a statement attribute
     *
     * Sets an attribute on the statement. Currently, no generic attributes
     * are set but only driver specific: PDO::ATTR_CURSOR_NAME (Firebird and
     * ODBC specific): Set the name of cursor for UPDATE ... WHERE CURRENT
     * OF.
     *
     * @param int $attribute
     * @param mixed $value
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0
     **/
    public function setAttribute($attribute, $value){}

    /**
     * Set the default fetch mode for this statement
     *
     * @param int $mode The fetch mode must be one of the PDO::FETCH_*
     *   constants.
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0
     **/
    public function setFetchMode($mode){}

}
/**
 * The Phar class provides a high-level interface to accessing and
 * creating phar archives.
 **/
class Phar extends RecursiveDirectoryIterator implements Countable, ArrayAccess {
    /**
     * bzip2 compression
     *
     * @var integer
     **/
    const BZ2 = 0;

    /**
     * bitmask that can be used with file flags to determine if any
     * compression is present
     *
     * @var integer
     **/
    const COMPRESSED = 0;

    /**
     * zlib (gzip) compression
     *
     * @var integer
     **/
    const GZ = 0;

    /**
     * signature with md5 hash algorithm
     *
     * @var integer
     **/
    const MD5 = 0;

    /**
     * no compression
     *
     * @var integer
     **/
    const NONE = 0;

    /**
     * signature with OpenSSL public/private key pair. This is a true,
     * asymmetric key signature.
     *
     * @var integer
     **/
    const OPENSSL = 0;

    /**
     * phar file format
     *
     * @var integer
     **/
    const PHAR = 0;

    const PHP = 0;

    const PHPS = 0;

    /**
     * signature with sha1 hash algorithm
     *
     * @var integer
     **/
    const SHA1 = 0;

    /**
     * signature with sha256 hash algorithm (requires hash extension)
     *
     * @var integer
     **/
    const SHA256 = 0;

    /**
     * signature with sha512 hash algorithm (requires hash extension)
     *
     * @var integer
     **/
    const SHA512 = 0;

    /**
     * tar file format
     *
     * @var integer
     **/
    const TAR = 0;

    /**
     * zip file format
     *
     * @var integer
     **/
    const ZIP = 0;

    /**
     * Add an empty directory to the phar archive
     *
     * With this method, an empty directory is created with path dirname.
     * This method is similar to {@link ZipArchive::addEmptyDir}.
     *
     * @param string $dirname The name of the empty directory to create in
     *   the phar archive
     * @return void no return value, exception is thrown on failure.
     * @since Unknown
     **/
    public function addEmptyDir($dirname){}

    /**
     * Add a file from the filesystem to the tar/zip archive
     *
     * With this method, any file or URL can be added to the tar/zip archive.
     * If the optional second parameter localname is specified, the file will
     * be stored in the archive with that name, otherwise the file parameter
     * is used as the path to store within the archive. URLs must have a
     * localname or an exception is thrown. This method is similar to {@link
     * ZipArchive::addFile}.
     *
     * @param string $file Full or relative path to a file on disk to be
     *   added to the phar archive.
     * @param string $localname Path that the file will be stored in the
     *   archive.
     * @return void no return value, exception is thrown on failure.
     * @since Unknown
     **/
    public function addFile($file, $localname){}

    /**
     * Add a file from a string to the phar archive
     *
     * With this method, any string can be added to the phar archive. The
     * file will be stored in the archive with localname as its path. This
     * method is similar to {@link ZipArchive::addFromString}.
     *
     * @param string $localname Path that the file will be stored in the
     *   archive.
     * @param string $contents The file contents to store
     * @return void no return value, exception is thrown on failure.
     * @since Unknown
     **/
    public function addFromString($localname, $contents){}

    /**
     * Returns the api version
     *
     * Return the API version of the phar file format that will be used when
     * creating phars. The Phar extension supports reading API version 1.0.0
     * or newer. API version 1.1.0 is required for SHA-256 and SHA-512 hash,
     * and API version 1.1.1 is required to store empty directories.
     *
     * @return string The API version string as in 1.0.0.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    final public static function apiVersion(){}

    /**
     * Construct a tar/zip archive from the files within a directory
     *
     * Populate a tar/zip archive from directory contents. The optional
     * second parameter is a regular expression (pcre) that is used to
     * exclude files. Any filename that matches the regular expression will
     * be included, all others will be excluded. For more fine-grained
     * control, use {@link PharData::buildFromIterator}.
     *
     * @param string $base_dir The full or relative path to the directory
     *   that contains all files to add to the archive.
     * @param string $regex An optional pcre regular expression that is
     *   used to filter the list of files. Only file paths matching the
     *   regular expression will be included in the archive.
     * @return array {@link Phar::buildFromDirectory} returns an
     *   associative array mapping internal path of file to the full path of
     *   the file on the filesystem.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    public function buildFromDirectory($base_dir, $regex){}

    /**
     * Construct a phar archive from an iterator
     *
     * Populate a phar archive from an iterator. Two styles of iterators are
     * supported, iterators that map the filename within the phar to the name
     * of a file on disk, and iterators like DirectoryIterator that return
     * SplFileInfo objects. For iterators that return SplFileInfo objects,
     * the second parameter is required.
     *
     * @param Iterator $iter Any iterator that either associatively maps
     *   phar file to location or returns SplFileInfo objects
     * @param string $base_directory For iterators that return SplFileInfo
     *   objects, the portion of each file's full path to remove when adding
     *   to the phar archive
     * @return array {@link Phar::buildFromIterator} returns an associative
     *   array mapping internal path of file to the full path of the file on
     *   the filesystem.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    public function buildFromIterator($iter, $base_directory){}

    /**
     * Returns whether phar extension supports compression using either zlib
     * or bzip2
     *
     * This should be used to test whether compression is possible prior to
     * loading a phar archive containing compressed files.
     *
     * @param int $type Either Phar::GZ or Phar::BZ2 can be used to test
     *   whether compression is possible with a specific compression
     *   algorithm (zlib or bzip2).
     * @return bool TRUE if compression/decompression is available, FALSE
     *   if not.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    final public static function canCompress($type){}

    /**
     * Returns whether phar extension supports writing and creating phars
     *
     * This static method determines whether write access has been disabled
     * in the system php.ini via the phar.readonly ini variable.
     *
     * @return bool TRUE if write access is enabled, FALSE if it is
     *   disabled.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    final public static function canWrite(){}

    /**
     * Compresses the entire Phar archive using Gzip or Bzip2 compression
     *
     * For tar-based and phar-based phar archives, this method compresses the
     * entire archive using gzip compression or bzip2 compression. The
     * resulting file can be processed with the gunzip command/bunzip
     * command, or accessed directly and transparently with the Phar
     * extension.
     *
     * For Zip-based phar archives, this method fails with an exception. The
     * zlib extension must be enabled to compress with gzip compression, the
     * bzip2 extension must be enabled in order to compress with bzip2
     * compression. As with all functionality that modifies the contents of a
     * phar, the phar.readonly INI variable must be off in order to succeed.
     *
     * In addition, this method automatically renames the archive, appending
     * .gz, .bz2 or removing the extension if passed Phar::NONE to remove
     * compression. Alternatively, a file extension may be specified with the
     * second parameter.
     *
     * @param int $compression Compression must be one of Phar::GZ,
     *   Phar::BZ2 to add compression, or Phar::NONE to remove compression.
     * @param string $extension By default, the extension is .phar.gz or
     *   .phar.bz2 for compressing phar archives, and .phar.tar.gz or
     *   .phar.tar.bz2 for compressing tar archives. For decompressing, the
     *   default file extensions are .phar and .phar.tar.
     * @return object Returns a Phar object.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    public function compress($compression, $extension){}

    /**
     * Compresses all files in the current Phar archive using Bzip2
     * compression
     *
     * This method compresses all files in the Phar archive using bzip2
     * compression. The bzip2 extension must be enabled to take advantage of
     * this feature. In addition, if any files are already compressed using
     * gzip compression, the zlib extension must be enabled in order to
     * decompress the files prior to re-compressing with bzip2 compression.
     * As with all functionality that modifies the contents of a phar, the
     * phar.readonly INI variable must be off in order to succeed.
     *
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function compressAllFilesBZIP2(){}

    /**
     * Compresses all files in the current Phar archive using Gzip
     * compression
     *
     * For tar-based phar archives, this method compresses the entire archive
     * using gzip compression. The resulting file can be processed with the
     * gunzip command, or accessed directly and transparently with the Phar
     * extension.
     *
     * For Zip-based and phar-based phar archives, this method compresses all
     * files in the Phar archive using gzip compression. The zlib extension
     * must be enabled to take advantage of this feature. In addition, if any
     * files are already compressed using bzip2 compression, the bzip2
     * extension must be enabled in order to decompress the files prior to
     * re-compressing with gzip compression. As with all functionality that
     * modifies the contents of a phar, the phar.readonly INI variable must
     * be off in order to succeed.
     *
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function compressAllFilesGZ(){}

    /**
     * Compresses all files in the current Phar archive
     *
     * For tar-based phar archives, this method throws a
     * BadMethodCallException, as compression of individual files within a
     * tar archive is not supported by the file format. Use {@link
     * Phar::compress} to compress an entire tar-based phar archive.
     *
     * For Zip-based and phar-based phar archives, this method compresses all
     * files in the Phar archive using the specified compression. The zlib or
     * bzip2 extensions must be enabled to take advantage of this feature. In
     * addition, if any files are already compressed using bzip2/zlib
     * compression, the respective extension must be enabled in order to
     * decompress the files prior to re-compressing. As with all
     * functionality that modifies the contents of a phar, the phar.readonly
     * INI variable must be off in order to succeed.
     *
     * @param int $compression Compression must be one of Phar::GZ,
     *   Phar::BZ2 to add compression, or Phar::NONE to remove compression.
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    public function compressFiles($compression){}

    /**
     * Convert a phar archive to a non-executable tar or zip file
     *
     * This method is used to convert an executable phar archive to either a
     * tar or zip file. To make the tar or zip non-executable, the phar stub
     * and phar alias files are removed from the newly created archive.
     *
     * If no changes are specified, this method throws a
     * BadMethodCallException if the archive is in phar file format. For
     * archives in tar or zip file format, this method converts the archive
     * to a non-executable archive.
     *
     * If successful, the method creates a new archive on disk and returns a
     * PharData object. The old archive is not removed from disk, and should
     * be done manually after the process has finished.
     *
     * @param int $format This should be one of Phar::TAR or Phar::ZIP. If
     *   set to NULL, the existing file format will be preserved.
     * @param int $compression This should be one of Phar::NONE for no
     *   whole-archive compression, Phar::GZ for zlib-based compression, and
     *   Phar::BZ2 for bzip-based compression.
     * @param string $extension This parameter is used to override the
     *   default file extension for a converted archive. Note that .phar
     *   cannot be used anywhere in the filename for a non-executable tar or
     *   zip archive. If converting to a tar-based phar archive, the default
     *   extensions are .tar, .tar.gz, and .tar.bz2 depending on specified
     *   compression. For zip-based archives, the default extension is .zip.
     * @return PharData The method returns a PharData object on success and
     *   throws an exception on failure.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    public function convertToData($format, $compression, $extension){}

    /**
     * Convert a phar archive to another executable phar archive file format
     *
     * This method is used to convert a phar archive to another file format.
     * For instance, it can be used to create a tar-based executable phar
     * archive from a zip-based executable phar archive, or from an
     * executable phar archive in the phar file format. In addition, it can
     * be used to apply whole-archive compression to a tar or phar-based
     * archive.
     *
     * If no changes are specified, this method throws a
     * BadMethodCallException.
     *
     * If successful, the method creates a new archive on disk and returns a
     * Phar object. The old archive is not removed from disk, and should be
     * done manually after the process has finished.
     *
     * @param int $format This should be one of Phar::PHAR, Phar::TAR, or
     *   Phar::ZIP. If set to NULL, the existing file format will be
     *   preserved.
     * @param int $compression This should be one of Phar::NONE for no
     *   whole-archive compression, Phar::GZ for zlib-based compression, and
     *   Phar::BZ2 for bzip-based compression.
     * @param string $extension This parameter is used to override the
     *   default file extension for a converted archive. Note that all zip-
     *   and tar-based phar archives must contain .phar in their file
     *   extension in order to be processed as a phar archive. If converting
     *   to a phar-based archive, the default extensions are .phar, .phar.gz,
     *   or .phar.bz2 depending on the specified compression. For tar-based
     *   phar archives, the default extensions are .phar.tar, .phar.tar.gz,
     *   and .phar.tar.bz2. For zip-based phar archives, the default
     *   extension is .phar.zip.
     * @return Phar The method returns a Phar object on success and throws
     *   an exception on failure.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    public function convertToExecutable($format, $compression, $extension){}

    /**
     * Copy a file internal to the phar archive to another new file within
     * the phar
     *
     * Copy a file internal to the phar archive to another new file within
     * the phar. This is an object-oriented alternative to using {@link copy}
     * with the phar stream wrapper.
     *
     * @param string $oldfile
     * @param string $newfile
     * @return bool returns TRUE on success, but it is safer to encase
     *   method call in a try/catch block and assume success if no exception
     *   is thrown.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    public function copy($oldfile, $newfile){}

    /**
     * Returns the number of entries (files) in the Phar archive
     *
     * @return int The number of files contained within this phar, or 0
     *   (the number zero) if none.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function count(){}

    /**
     * Create a phar-file format specific stub
     *
     * This method is intended for creation of phar-file format-specific
     * stubs, and is not intended for use with tar- or zip-based phar
     * archives.
     *
     * Phar archives contain a bootstrap loader, or stub written in PHP that
     * is executed when the archive is executed in PHP either via include:
     * <?php include 'myphar.phar'; ?> or by simple execution: php
     * myphar.phar
     *
     * This method provides a simple and easy method to create a stub that
     * will run a startup file from the phar archive. In addition, different
     * files can be specified for running the phar archive from the command
     * line versus through a web server. The loader stub also calls {@link
     * Phar::interceptFileFuncs} to allow easy bundling of a PHP application
     * that accesses the file system. If the phar extension is not present,
     * the loader stub will extract the phar archive to a temporary directory
     * and then operate on the files. A shutdown function erases the
     * temporary files on exit.
     *
     * @param string $indexfile
     * @param string $webindexfile
     * @return string Returns a string containing the contents of a
     *   customized bootstrap loader (stub) that allows the created Phar
     *   archive to work with or without the Phar extension enabled.
     * @since Unknown
     **/
    final public static function createDefaultStub($indexfile, $webindexfile){}

    /**
     * Decompresses the entire Phar archive
     *
     * For tar-based and phar-based phar archives, this method decompresses
     * the entire archive.
     *
     * For Zip-based phar archives, this method fails with an exception. The
     * zlib extension must be enabled to decompress an archive compressed
     * with gzip compression, and the bzip2 extension must be enabled in
     * order to decompress an archive compressed with bzip2 compression. As
     * with all functionality that modifies the contents of a phar, the
     * phar.readonly INI variable must be off in order to succeed.
     *
     * In addition, this method automatically changes the file extension of
     * the archive, .phar by default for phar archives, or .phar.tar for
     * tar-based phar archives. Alternatively, a file extension may be
     * specified with the second parameter.
     *
     * @param string $extension For decompressing, the default file
     *   extensions are .phar and .phar.tar. Use this parameter to specify
     *   another file extension. Be aware that all executable phar archives
     *   must contain .phar in their filename.
     * @return object A Phar object is returned.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    public function decompress($extension){}

    /**
     * Decompresses all files in the current Phar archive
     *
     * For tar-based phar archives, this method throws a
     * BadMethodCallException, as compression of individual files within a
     * tar archive is not supported by the file format. Use {@link
     * Phar::compress} to compress an entire tar-based phar archive.
     *
     * For Zip-based and phar-based phar archives, this method decompresses
     * all files in the Phar archive. The zlib or bzip2 extensions must be
     * enabled to take advantage of this feature if any files are compressed
     * using bzip2/zlib compression. As with all functionality that modifies
     * the contents of a phar, the phar.readonly INI variable must be off in
     * order to succeed.
     *
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    public function decompressFiles(){}

    /**
     * Delete a file within a phar archive
     *
     * Delete a file within an archive. This is the functional equivalent of
     * calling {@link unlink} on the stream wrapper equivalent, as shown in
     * the example below.
     *
     * @param string $entry Path within an archive to the file to delete.
     * @return bool returns TRUE on success, but it is better to check for
     *   thrown exception, and assume success if none is thrown.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    public function delete($entry){}

    /**
     * Deletes the global metadata of the phar
     *
     * @return bool returns TRUE on success, but it is better to check for
     *   thrown exception, and assume success if none is thrown.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.2.0
     **/
    public function delMetadata(){}

    /**
     * Extract the contents of a phar archive to a directory
     *
     * Extract all files within a phar archive to disk. Extracted files and
     * directories preserve permissions as stored in the archive. The
     * optional parameters allow optional control over which files are
     * extracted, and whether existing files on disk can be overwritten. The
     * second parameter {@link files} can be either the name of a file or
     * directory to extract, or an array of names of files and directories to
     * extract. By default, this method will not overwrite existing files,
     * the third parameter can be set to true to enable overwriting of files.
     * This method is similar to {@link ZipArchive::extractTo}.
     *
     * @param string $pathto Path to extract the given {@link files} to
     * @param string|array $files The name of a file or directory to
     *   extract, or an array of files/directories to extract, NULL to skip
     *   this param
     * @param bool $overwrite Set to TRUE to enable overwriting existing
     *   files
     * @return bool returns TRUE on success, but it is better to check for
     *   thrown exception, and assume success if none is thrown.
     * @since Unknown
     **/
    public function extractTo($pathto, $files, $overwrite){}

    /**
     * Get the alias for Phar
     *
     * @return string Returns the alias or NULL if there's no alias.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.2.1
     **/
    public function getAlias(){}

    /**
     * Returns phar archive meta-data
     *
     * Retrieve archive meta-data. Meta-data can be any PHP variable that can
     * be serialized.
     *
     * @return mixed any PHP variable that can be serialized and is stored
     *   as meta-data for the Phar archive, or NULL if no meta-data is
     *   stored.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function getMetadata(){}

    /**
     * Return whether phar was modified
     *
     * This method can be used to determine whether a phar has either had an
     * internal file deleted, or contents of a file changed in some way.
     *
     * @return bool TRUE if the phar has been modified since opened, FALSE
     *   if not.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function getModified(){}

    /**
     * Get the real path to the Phar archive on disk
     *
     * @return string
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function getPath(){}

    /**
     * Return MD5/SHA1/SHA256/SHA512/OpenSSL signature of a Phar archive
     *
     * Returns the verification signature of a phar archive in a hexadecimal
     * string.
     *
     * @return array Array with the opened archive's signature in hash key
     *   and MD5, SHA-1, SHA-256, SHA-512, or OpenSSL in hash_type. This
     *   signature is a hash calculated on the entire phar's contents, and
     *   may be used to verify the integrity of the archive. A valid
     *   signature is absolutely required of all executable phar archives if
     *   the phar.require_hash INI variable is set to true.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function getSignature(){}

    /**
     * Return the PHP loader or bootstrap stub of a Phar archive
     *
     * Phar archives contain a bootstrap loader, or stub written in PHP that
     * is executed when the archive is executed in PHP either via include:
     * <?php include 'myphar.phar'; ?> or by simple execution: php
     * myphar.phar
     *
     * @return string Returns a string containing the contents of the
     *   bootstrap loader (stub) of the current Phar archive.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function getStub(){}

    /**
     * Return array of supported compression algorithms
     *
     * @return array Returns an array containing any of Phar::GZ or
     *   Phar::BZ2, depending on the availability of the zlib extension or
     *   the bz2 extension.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.2.0
     **/
    final public static function getSupportedCompression(){}

    /**
     * Return array of supported signature types
     *
     * @return array Returns an array containing any of MD5, SHA-1,
     *   SHA-256, SHA-512, or OpenSSL.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.1.0
     **/
    final public static function getSupportedSignatures(){}

    /**
     * Return version info of Phar archive
     *
     * Returns the API version of an opened Phar archive.
     *
     * @return string The opened archive's API version. This is not to be
     *   confused with the API version that the loaded phar extension will
     *   use to create new phars. Each Phar archive has the API version
     *   hard-coded into its manifest. See Phar file format documentation for
     *   more information.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function getVersion(){}

    /**
     * Returns whether phar has global meta-data
     *
     * Returns whether phar has global meta-data set.
     *
     * @return bool Returns TRUE if meta-data has been set, and FALSE if
     *   not.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.2.0
     **/
    public function hasMetadata(){}

    /**
     * Instructs phar to intercept fopen, file_get_contents, opendir, and all
     * of the stat-related functions
     *
     * instructs phar to intercept {@link fopen}, {@link readfile}, {@link
     * file_get_contents}, {@link opendir}, and all of the stat-related
     * functions. If any of these functions is called from within a phar
     * archive with a relative path, the call is modified to access a file
     * within the phar archive. Absolute paths are assumed to be attempts to
     * load external files from the filesystem.
     *
     * This function makes it possible to run PHP applications designed to
     * run off of a hard disk as a phar application.
     *
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    final public static function interceptFileFuncs(){}

    /**
     * Used to determine whether Phar write operations are being buffered, or
     * are flushing directly to disk
     *
     * This method can be used to determine whether a Phar will save changes
     * to disk immediately, or whether a call to {@link Phar::stopBuffering}
     * is needed to enable saving changes.
     *
     * Phar write buffering is per-archive, buffering active for the foo.phar
     * Phar archive does not affect changes to the bar.phar Phar archive.
     *
     * @return bool Returns TRUE if the write operations are being buffer,
     *   FALSE otherwise.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function isBuffering(){}

    /**
     * Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed
     * (.tar.gz/tar.bz and so on)
     *
     * Returns Phar::GZ or PHAR::BZ2 if the entire phar archive is compressed
     * (.tar.gz/tar.bz and so on). Zip-based phar archives cannot be
     * compressed as a file, and so this method will always return FALSE if a
     * zip-based phar archive is queried.
     *
     * @return mixed Phar::GZ, Phar::BZ2 or FALSE
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    public function isCompressed(){}

    /**
     * Returns true if the phar archive is based on the tar/phar/zip file
     * format depending on the parameter
     *
     * @param int $format Either Phar::PHAR, Phar::TAR, or Phar::ZIP to
     *   test for the format of the archive.
     * @return bool Returns TRUE if the phar archive matches the file
     *   format requested by the parameter
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    public function isFileFormat($format){}

    /**
     * Returns whether the given filename is a valid phar filename
     *
     * Returns whether the given filename is a valid phar filename that will
     * be recognized as a phar archive by the phar extension. This can be
     * used to test a name without having to instantiate a phar archive and
     * catch the inevitable Exception that will be thrown if an invalid name
     * is specified.
     *
     * @param string $filename The name or full path to a phar archive not
     *   yet created
     * @param bool $executable This parameter determines whether the
     *   filename should be treated as a phar executable archive, or a data
     *   non-executable archive
     * @return bool Returns TRUE if the filename is valid, FALSE if not.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.2.0
     **/
    final public static function isValidPharFilename($filename, $executable){}

    /**
     * Returns true if the phar archive can be modified
     *
     * This method returns TRUE if phar.readonly is 0, and the actual phar
     * archive on disk is not read-only.
     *
     * @return bool Returns TRUE if the phar archive can be modified
     * @since Unknown
     **/
    public function isWritable(){}

    /**
     * Loads any phar archive with an alias
     *
     * This can be used to read the contents of an external Phar archive.
     * This is most useful for assigning an alias to a phar so that
     * subsequent references to the phar can use the shorter alias, or for
     * loading Phar archives that only contain data and are not intended for
     * execution/inclusion in PHP scripts.
     *
     * @param string $filename the full or relative path to the phar
     *   archive to open
     * @param string $alias The alias that may be used to refer to the phar
     *   archive. Note that many phar archives specify an explicit alias
     *   inside the phar archive, and a PharException will be thrown if a new
     *   alias is specified in this case.
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    final public static function loadPhar($filename, $alias){}

    /**
     * Reads the currently executed file (a phar) and registers its manifest
     *
     * This static method can only be used inside a Phar archive's loader
     * stub in order to initialize the phar when it is directly executed, or
     * when it is included in another script.
     *
     * @param string $alias The alias that can be used in phar:// URLs to
     *   refer to this archive, rather than its full path.
     * @param int $dataoffset Unused variable, here for compatibility with
     *   PEAR's PHP_Archive.
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    final public static function mapPhar($alias, $dataoffset){}

    /**
     * Mount an external path or file to a virtual location within the phar
     * archive
     *
     * Much like the unix file system concept of mounting external devices to
     * paths within the directory tree, {@link Phar::mount} allows referring
     * to external files and directories as if they were inside of an
     * archive. This allows powerful abstraction such as referring to
     * external configuration files as if they were inside the archive.
     *
     * @param string $pharpath The internal path within the phar archive to
     *   use as the mounted path location. This must be a relative path
     *   within the phar archive, and must not already exist.
     * @param string $externalpath A path or URL to an external file or
     *   directory to mount within the phar archive
     * @return void No return. PharException is thrown on failure.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    final public static function mount($pharpath, $externalpath){}

    /**
     * Defines a list of up to 4 $_SERVER variables that should be modified
     * for execution
     *
     * {@link Phar::mungServer} should only be called within the stub of a
     * phar archive.
     *
     * Defines a list of up to 4 $_SERVER variables that should be modified
     * for execution. Variables that can be modified to remove traces of phar
     * execution are REQUEST_URI, PHP_SELF, SCRIPT_NAME and SCRIPT_FILENAME.
     *
     * On its own, this method does nothing. Only when combined with {@link
     * Phar::webPhar} does it take effect, and only when the requested file
     * is a PHP file to be parsed. Note that the PATH_INFO and
     * PATH_TRANSLATED variables are always modified.
     *
     * The original values of variables that are modified are stored in the
     * SERVER array with PHAR_ prepended, so for instance SCRIPT_NAME would
     * be saved as PHAR_SCRIPT_NAME.
     *
     * @param array $munglist an array containing as string indices any of
     *   REQUEST_URI, PHP_SELF, SCRIPT_NAME and SCRIPT_FILENAME. Other values
     *   trigger an exception, and {@link Phar::mungServer} is
     *   case-sensitive.
     * @return void No return.
     * @since Unknown
     **/
    final public static function mungServer($munglist){}

    /**
     * Determines whether a file exists in the phar
     *
     * This is an implementation of the ArrayAccess interface allowing direct
     * manipulation of the contents of a Phar archive using array access
     * brackets.
     *
     * offsetExists() is called whenever {@link isset} is called.
     *
     * @param string $offset The filename (relative path) to look for in a
     *   Phar.
     * @return bool Returns TRUE if the file exists within the phar, or
     *   FALSE if not.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function offsetExists($offset){}

    /**
     * Gets a object for a specific file
     *
     * This is an implementation of the ArrayAccess interface allowing direct
     * manipulation of the contents of a Phar archive using array access
     * brackets. Phar::offsetGet is used for retrieving files from a Phar
     * archive.
     *
     * @param string $offset The filename (relative path) to look for in a
     *   Phar.
     * @return int A PharFileInfo object is returned that can be used to
     *   iterate over a file's contents or to retrieve information about the
     *   current file.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function offsetGet($offset){}

    /**
     * Set the contents of an internal file to those of an external file
     *
     * This is an implementation of the ArrayAccess interface allowing direct
     * manipulation of the contents of a Phar archive using array access
     * brackets. offsetSet is used for modifying an existing file, or adding
     * a new file to a Phar archive.
     *
     * @param string $offset The filename (relative path) to modify in a
     *   Phar.
     * @param string $value Content of the file.
     * @return void No return values.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function offsetSet($offset, $value){}

    /**
     * Remove a file from a phar
     *
     * This is an implementation of the ArrayAccess interface allowing direct
     * manipulation of the contents of a Phar archive using array access
     * brackets. offsetUnset is used for deleting an existing file, and is
     * called by the {@link unset} language construct.
     *
     * @param string $offset The filename (relative path) to modify in a
     *   Phar.
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function offsetUnset($offset){}

    /**
     * Returns the full path on disk or full phar URL to the currently
     * executing Phar archive
     *
     * Returns the full path to the running phar archive. This is intended
     * for use much like the __FILE__ magic constant, and only has effect
     * inside an executing phar archive.
     *
     * Inside the stub of an archive, {@link Phar::running} returns . Simply
     * use __FILE__ to access the current running phar inside a stub.
     *
     * @param bool $retphar If FALSE, the full path on disk to the phar
     *   archive is returned. If TRUE, a full phar URL is returned.
     * @return string Returns the filename if valid, empty string
     *   otherwise.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    final public static function running($retphar){}

    /**
     * Set the alias for the Phar archive
     *
     * Set the alias for the Phar archive, and write it as the permanent
     * alias for this phar archive. An alias can be used internally to a phar
     * archive to ensure that use of the phar stream wrapper to access
     * internal files always works regardless of the location of the phar
     * archive on the filesystem. Another alternative is to rely upon Phar's
     * interception of {@link include} or to use {@link
     * Phar::interceptFileFuncs} and use relative paths.
     *
     * @param string $alias A shorthand string that this archive can be
     *   referred to in phar stream wrapper access.
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.2.1
     **/
    public function setAlias($alias){}

    /**
     * Used to set the PHP loader or bootstrap stub of a Phar archive to the
     * default loader
     *
     * This method is a convenience method that combines the functionality of
     * {@link Phar::createDefaultStub} and {@link Phar::setStub}.
     *
     * @param string $index Relative path within the phar archive to run if
     *   accessed on the command-line
     * @param string $webindex Relative path within the phar archive to run
     *   if accessed through a web browser
     * @return bool
     * @since Unknown
     **/
    public function setDefaultStub($index, $webindex){}

    /**
     * Sets phar archive meta-data
     *
     * {@link Phar::setMetadata} should be used to store customized data that
     * describes something about the phar archive as a complete entity.
     * {@link PharFileInfo::setMetadata} should be used for file-specific
     * meta-data. Meta-data can slow down the performance of loading a phar
     * archive if the data is large.
     *
     * Some possible uses for meta-data include specifying which file within
     * the archive should be used to bootstrap the archive, or the location
     * of a file manifest like PEAR's package.xml file. However, any useful
     * data that describes the phar archive may be stored.
     *
     * @param mixed $metadata Any PHP variable containing information to
     *   store that describes the phar archive
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function setMetadata($metadata){}

    /**
     * Set the signature algorithm for a phar and apply it
     *
     * Set the signature algorithm for a phar and apply it. The signature
     * algorithm must be one of Phar::MD5, Phar::SHA1, Phar::SHA256,
     * Phar::SHA512, or Phar::PGP (pgp not yet supported and falls back to
     * SHA-1).
     *
     * @param int $sigtype One of Phar::MD5, Phar::SHA1, Phar::SHA256,
     *   Phar::SHA512, or Phar::PGP
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.1.0
     **/
    public function setSignatureAlgorithm($sigtype){}

    /**
     * Used to set the PHP loader or bootstrap stub of a Phar archive
     *
     * This method is used to add a PHP bootstrap loader stub to a new Phar
     * archive, or to replace the loader stub in an existing Phar archive.
     *
     * The loader stub for a Phar archive is used whenever an archive is
     * included directly as in this example:
     *
     * The loader is not accessed when including a file through the phar
     * stream wrapper like so:
     *
     * @param string $stub A string or an open stream handle to use as the
     *   executable stub for this phar archive.
     * @param int $len
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function setStub($stub, $len){}

    /**
     * Start buffering Phar write operations, do not modify the Phar object
     * on disk
     *
     * Although technically unnecessary, the {@link Phar::startBuffering}
     * method can provide a significant performance boost when creating or
     * modifying a Phar archive with a large number of files. Ordinarily,
     * every time a file within a Phar archive is created or modified in any
     * way, the entire Phar archive will be recreated with the changes. In
     * this way, the archive will be up-to-date with the activity performed
     * on it.
     *
     * However, this can be unnecessary when simply creating a new Phar
     * archive, when it would make more sense to write the entire archive out
     * at once. Similarly, it is often necessary to make a series of changes
     * and to ensure that they all are possible before making any changes on
     * disk, similar to the relational database concept of transactions. the
     * {@link Phar::startBuffering}/{@link Phar::stopBuffering} pair of
     * methods is provided for this purpose.
     *
     * Phar write buffering is per-archive, buffering active for the foo.phar
     * Phar archive does not affect changes to the bar.phar Phar archive.
     *
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function startBuffering(){}

    /**
     * Stop buffering write requests to the Phar archive, and save changes to
     * disk
     *
     * {@link Phar::stopBuffering} is used in conjunction with the {@link
     * Phar::startBuffering} method. {@link Phar::startBuffering} can provide
     * a significant performance boost when creating or modifying a Phar
     * archive with a large number of files. Ordinarily, every time a file
     * within a Phar archive is created or modified in any way, the entire
     * Phar archive will be recreated with the changes. In this way, the
     * archive will be up-to-date with the activity performed on it.
     *
     * However, this can be unnecessary when simply creating a new Phar
     * archive, when it would make more sense to write the entire archive out
     * at once. Similarly, it is often necessary to make a series of changes
     * and to ensure that they all are possible before making any changes on
     * disk, similar to the relational database concept of transactions. The
     * {@link Phar::startBuffering}/{@link Phar::stopBuffering} pair of
     * methods is provided for this purpose.
     *
     * Phar write buffering is per-archive, buffering active for the foo.phar
     * Phar archive does not affect changes to the bar.phar Phar archive.
     *
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function stopBuffering(){}

    /**
     * Uncompresses all files in the current Phar archive
     *
     * This method decompresses all files in the Phar archive. If any files
     * are already compressed using gzip compression, the zlib extension must
     * be enabled in order to decompress the files, and any files compressed
     * using bzip2 compression require the bzip2 extension to decompress the
     * files. As with all functionality that modifies the contents of a phar,
     * the phar.readonly INI variable must be off in order to succeed.
     *
     * @return bool
     * @since PECL phar < 2.0.0
     **/
    public function uncompressAllFiles(){}

    /**
     * Completely remove a phar archive from disk and from memory
     *
     * Removes a phar archive from disk and memory.
     *
     * @param string $archive The path on disk to the phar archive.
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    final public static function unlinkArchive($archive){}

    /**
     * mapPhar for web-based phars. front controller for web applications
     *
     * {@link Phar::mapPhar} for web-based phars. This method parses
     * $_SERVER['REQUEST_URI'] and routes a request from a web browser to an
     * internal file within the phar archive. In essence, it simulates a web
     * server, routing requests to the correct file, echoing the correct
     * headers and parsing PHP files as needed. This powerful method is part
     * of what makes it easy to convert an existing PHP application into a
     * phar archive. Combined with {@link Phar::mungServer} and {@link
     * Phar::interceptFileFuncs}, any web application can be used unmodified
     * from a phar archive.
     *
     * {@link Phar::webPhar} should only be called from the stub of a phar
     * archive (see here for more information on what a stub is).
     *
     * @param string $alias The alias that can be used in phar:// URLs to
     *   refer to this archive, rather than its full path.
     * @param string $index The location within the phar of the directory
     *   index.
     * @param string $f404 The location of the script to run when a file is
     *   not found. This script should output the proper HTTP 404 headers.
     * @param array $mimetypes An array mapping additional file extensions
     *   to MIME type. If the default mapping is sufficient, pass an empty
     *   array. By default, these extensions are mapped to these MIME types:
     *   <?php $mimes = array( 'phps' => Phar::PHPS, // pass to
     *   highlight_file() 'c' => 'text/plain', 'cc' => 'text/plain', 'cpp' =>
     *   'text/plain', 'c++' => 'text/plain', 'dtd' => 'text/plain', 'h' =>
     *   'text/plain', 'log' => 'text/plain', 'rng' => 'text/plain', 'txt' =>
     *   'text/plain', 'xsd' => 'text/plain', 'php' => Phar::PHP, // parse as
     *   PHP 'inc' => Phar::PHP, // parse as PHP 'avi' => 'video/avi', 'bmp'
     *   => 'image/bmp', 'css' => 'text/css', 'gif' => 'image/gif', 'htm' =>
     *   'text/html', 'html' => 'text/html', 'htmls' => 'text/html', 'ico' =>
     *   'image/x-ico', 'jpe' => 'image/jpeg', 'jpg' => 'image/jpeg', 'jpeg'
     *   => 'image/jpeg', 'js' => 'application/x-javascript', 'midi' =>
     *   'audio/midi', 'mid' => 'audio/midi', 'mod' => 'audio/mod', 'mov' =>
     *   'movie/quicktime', 'mp3' => 'audio/mp3', 'mpg' => 'video/mpeg',
     *   'mpeg' => 'video/mpeg', 'pdf' => 'application/pdf', 'png' =>
     *   'image/png', 'swf' => 'application/shockwave-flash', 'tif' =>
     *   'image/tiff', 'tiff' => 'image/tiff', 'wav' => 'audio/wav', 'xbm' =>
     *   'image/xbm', 'xml' => 'text/xml', ); ?>
     * @param callable $rewrites The rewrites function is passed a string
     *   as its only parameter and must return a string or FALSE. If you are
     *   using fast-cgi or cgi then the parameter passed to the function is
     *   the value of the $_SERVER['PATH_INFO'] variable. Otherwise, the
     *   parameter passed to the function is the value of the
     *   $_SERVER['REQUEST_URI'] variable. If a string is returned it is used
     *   as the internal file path. If FALSE is returned then webPhar() will
     *   send a HTTP 403 Denied Code.
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    final public static function webPhar($alias, $index, $f404, $mimetypes, $rewrites){}

    /**
     * Construct a Phar archive object
     *
     * @param string $fname Path to an existing Phar archive or
     *   to-be-created archive. The file name's extension must contain .phar.
     * @param int $flags Flags to pass to parent class
     *   RecursiveDirectoryIterator.
     * @param string $alias Alias with which this Phar archive should be
     *   referred to in calls to stream functionality.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function __construct($fname, $flags, $alias){}

}
/**
 * The PharData class provides a high-level interface to accessing and
 * creating non-executable tar and zip archives. Because these archives
 * do not contain a stub and cannot be executed by the phar extension, it
 * is possible to create and manipulate regular zip and tar files using
 * the PharData class even if phar.readonly php.ini setting is 1.
 **/
class PharData extends RecursiveDirectoryIterator {
    /**
     * Add an empty directory to the tar/zip archive
     *
     * With this method, an empty directory is created with path dirname.
     * This method is similar to {@link ZipArchive::addEmptyDir}.
     *
     * @param string $dirname The name of the empty directory to create in
     *   the phar archive
     * @return void no return value, exception is thrown on failure.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    function addEmptyDir($dirname){}

    /**
     * Add a file from the filesystem to the tar/zip archive
     *
     * With this method, any string can be added to the tar/zip archive. The
     * file will be stored in the archive with localname as its path. This
     * method is similar to {@link ZipArchive::addFromString}.
     *
     * @param string $localname Path that the file will be stored in the
     *   archive.
     * @param string $contents The file contents to store
     * @return void no return value, exception is thrown on failure.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    function addFromString($localname, $contents){}

    /**
     * Construct a tar or zip archive from an iterator
     *
     * Populate a tar or zip archive from an iterator. Two styles of
     * iterators are supported, iterators that map the filename within the
     * tar/zip to the name of a file on disk, and iterators like
     * DirectoryIterator that return SplFileInfo objects. For iterators that
     * return SplFileInfo objects, the second parameter is required.
     *
     * @param Iterator $iter Any iterator that either associatively maps
     *   tar/zip file to location or returns SplFileInfo objects
     * @param string $base_directory For iterators that return SplFileInfo
     *   objects, the portion of each file's full path to remove when adding
     *   to the tar/zip archive
     * @return array {@link PharData::buildFromIterator} returns an
     *   associative array mapping internal path of file to the full path of
     *   the file on the filesystem.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    function buildFromIterator($iter, $base_directory){}

    /**
     * Compresses the entire tar/zip archive using Gzip or Bzip2 compression
     *
     * For tar archives, this method compresses the entire archive using gzip
     * compression or bzip2 compression. The resulting file can be processed
     * with the gunzip command/bunzip command, or accessed directly and
     * transparently with the Phar extension.
     *
     * For zip archives, this method fails with an exception. The zlib
     * extension must be enabled to compress with gzip compression, the bzip2
     * extension must be enabled in order to compress with bzip2 compression.
     *
     * In addition, this method automatically renames the archive, appending
     * .gz, .bz2 or removing the extension if passed Phar::NONE to remove
     * compression. Alternatively, a file extension may be specified with the
     * second parameter.
     *
     * @param int $compression Compression must be one of Phar::GZ,
     *   Phar::BZ2 to add compression, or Phar::NONE to remove compression.
     * @param string $extension By default, the extension is .tar.gz or
     *   .tar.bz2 for compressing a tar, and .tar for decompressing.
     * @return object A PharData object is returned.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    function compress($compression, $extension){}

    /**
     * Compresses all files in the current tar/zip archive
     *
     * For tar-based archives, this method throws a BadMethodCallException,
     * as compression of individual files within a tar archive is not
     * supported by the file format. Use {@link PharData::compress} to
     * compress an entire tar-based archive.
     *
     * For Zip-based archives, this method compresses all files in the
     * archive using the specified compression. The zlib or bzip2 extensions
     * must be enabled to take advantage of this feature. In addition, if any
     * files are already compressed using bzip2/zlib compression, the
     * respective extension must be enabled in order to decompress the files
     * prior to re-compressing.
     *
     * @param int $compression Compression must be one of Phar::GZ,
     *   Phar::BZ2 to add compression, or Phar::NONE to remove compression.
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    function compressFiles($compression){}

    /**
     * Convert a phar archive to a non-executable tar or zip file
     *
     * This method is used to convert a non-executable tar or zip archive to
     * another non-executable format.
     *
     * If no changes are specified, this method throws a
     * BadMethodCallException. This method should be used to convert a tar
     * archive to zip format or vice-versa. Although it is possible to simply
     * change the compression of a tar archive using this method, it is
     * better to use the {@link PharData::compress} method for logical
     * consistency.
     *
     * If successful, the method creates a new archive on disk and returns a
     * PharData object. The old archive is not removed from disk, and should
     * be done manually after the process has finished.
     *
     * @param int $format This should be one of Phar::TAR or Phar::ZIP. If
     *   set to NULL, the existing file format will be preserved.
     * @param int $compression This should be one of Phar::NONE for no
     *   whole-archive compression, Phar::GZ for zlib-based compression, and
     *   Phar::BZ2 for bzip-based compression.
     * @param string $extension This parameter is used to override the
     *   default file extension for a converted archive. Note that .phar
     *   cannot be used anywhere in the filename for a non-executable tar or
     *   zip archive. If converting to a tar-based phar archive, the default
     *   extensions are .tar, .tar.gz, and .tar.bz2 depending on specified
     *   compression. For zip-based archives, the default extension is .zip.
     * @return PharData The method returns a PharData object on success and
     *   throws an exception on failure.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    function convertToData($format, $compression, $extension){}

    /**
     * Convert a non-executable tar/zip archive to an executable phar archive
     *
     * This method is used to convert a non-executable tar or zip archive to
     * an executable phar archive. Any of the three executable file formats
     * (phar, tar or zip) can be used, and whole-archive compression can also
     * be performed.
     *
     * If no changes are specified, this method throws a
     * BadMethodCallException.
     *
     * If successful, the method creates a new archive on disk and returns a
     * Phar object. The old archive is not removed from disk, and should be
     * done manually after the process has finished.
     *
     * @param int $format This should be one of Phar::PHAR, Phar::TAR, or
     *   Phar::ZIP. If set to NULL, the existing file format will be
     *   preserved.
     * @param int $compression This should be one of Phar::NONE for no
     *   whole-archive compression, Phar::GZ for zlib-based compression, and
     *   Phar::BZ2 for bzip-based compression.
     * @param string $extension This parameter is used to override the
     *   default file extension for a converted archive. Note that all zip-
     *   and tar-based phar archives must contain .phar in their file
     *   extension in order to be processed as a phar archive. If converting
     *   to a phar-based archive, the default extensions are .phar, .phar.gz,
     *   or .phar.bz2 depending on the specified compression. For tar-based
     *   phar archives, the default extensions are .phar.tar, .phar.tar.gz,
     *   and .phar.tar.bz2. For zip-based phar archives, the default
     *   extension is .phar.zip.
     * @return Phar The method returns a Phar object on success and throws
     *   an exception on failure.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    function convertToExecutable($format, $compression, $extension){}

    /**
     * Copy a file internal to the phar archive to another new file within
     * the phar
     *
     * Copy a file internal to the tar/zip archive to another new file within
     * the same archive. This is an object-oriented alternative to using
     * {@link copy} with the phar stream wrapper.
     *
     * @param string $oldfile
     * @param string $newfile
     * @return bool returns TRUE on success, but it is safer to encase
     *   method call in a try/catch block and assume success if no exception
     *   is thrown.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    function copy($oldfile, $newfile){}

    /**
     * Decompresses the entire Phar archive
     *
     * For tar-based archives, this method decompresses the entire archive.
     *
     * For Zip-based archives, this method fails with an exception. The zlib
     * extension must be enabled to decompress an archive compressed with
     * gzip compression, and the bzip2 extension must be enabled in order to
     * decompress an archive compressed with bzip2 compression.
     *
     * In addition, this method automatically renames the file extension of
     * the archive, .tar by default. Alternatively, a file extension may be
     * specified with the {@link extension} parameter.
     *
     * @param string $extension For decompressing, the default file
     *   extension is .tar. Use this parameter to specify another file
     *   extension. Be aware that only executable archives can contain .phar
     *   in their filename.
     * @return object A PharData object is returned.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    function decompress($extension){}

    /**
     * Decompresses all files in the current zip archive
     *
     * For tar-based archives, this method throws a BadMethodCallException,
     * as compression of individual files within a tar archive is not
     * supported by the file format. Use {@link PharData::compress} to
     * compress an entire tar-based archive.
     *
     * For Zip-based archives, this method decompresses all files in the
     * archive. The zlib or bzip2 extensions must be enabled to take
     * advantage of this feature if any files are compressed using bzip2/zlib
     * compression.
     *
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    function decompressFiles(){}

    /**
     * Delete a file within a tar/zip archive
     *
     * Delete a file within an archive. This is the functional equivalent of
     * calling {@link unlink} on the stream wrapper equivalent, as shown in
     * the example below.
     *
     * @param string $entry Path within an archive to the file to delete.
     * @return bool returns TRUE on success, but it is better to check for
     *   thrown exception, and assume success if none is thrown.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    function delete($entry){}

    /**
     * Deletes the global metadata of a zip archive
     *
     * Deletes the global metadata of the zip archive
     *
     * @return bool returns TRUE on success, but it is better to check for
     *   thrown exception, and assume success if none is thrown.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    function delMetadata(){}

    /**
     * Extract the contents of a tar/zip archive to a directory
     *
     * Extract all files within a tar/zip archive to disk. Extracted files
     * and directories preserve permissions as stored in the archive. The
     * optional parameters allow optional control over which files are
     * extracted, and whether existing files on disk can be overwritten. The
     * second parameter files can be either the name of a file or directory
     * to extract, or an array of names of files and directories to extract.
     * By default, this method will not overwrite existing files, the third
     * parameter can be set to true to enable overwriting of files. This
     * method is similar to {@link ZipArchive::extractTo}.
     *
     * @param string $pathto Path to extract the given files to
     * @param string|array $files The name of a file or directory to
     *   extract, or an array of files/directories to extract
     * @param bool $overwrite Set to TRUE to enable overwriting existing
     *   files
     * @return bool returns TRUE on success, but it is better to check for
     *   thrown exception, and assume success if none is thrown.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    function extractTo($pathto, $files, $overwrite){}

    /**
     * Returns true if the tar/zip archive can be modified
     *
     * This method returns TRUE if the tar/zip archive on disk is not
     * read-only. Unlike {@link Phar::isWritable}, data-only tar/zip archives
     * can be modified even if phar.readonly is set to 1.
     *
     * @return bool Returns TRUE if the tar/zip archive can be modified
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    function isWritable(){}

    /**
     * Set the contents of a file within the tar/zip to those of an external
     * file or string
     *
     * This is an implementation of the ArrayAccess interface allowing direct
     * manipulation of the contents of a tar/zip archive using array access
     * brackets. offsetSet is used for modifying an existing file, or adding
     * a new file to a tar/zip archive.
     *
     * @param string $offset The filename (relative path) to modify in a
     *   tar or zip archive.
     * @param string $value Content of the file.
     * @return void No return values.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    function offsetSet($offset, $value){}

    /**
     * Remove a file from a tar/zip archive
     *
     * This is an implementation of the ArrayAccess interface allowing direct
     * manipulation of the contents of a tar/zip archive using array access
     * brackets. offsetUnset is used for deleting an existing file, and is
     * called by the {@link unset} language construct.
     *
     * @param string $offset The filename (relative path) to modify in the
     *   tar/zip archive.
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    function offsetUnset($offset){}

    /**
     * Dummy function (Phar::setAlias is not valid for PharData)
     *
     * Non-executable tar/zip archives cannot have an alias, so this method
     * simply throws an exception.
     *
     * @param string $alias A shorthand string that this archive can be
     *   referred to in phar stream wrapper access. This parameter is
     *   ignored.
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    function setAlias($alias){}

    /**
     * Dummy function (Phar::setDefaultStub is not valid for PharData)
     *
     * Non-executable tar/zip archives cannot have a stub, so this method
     * simply throws an exception.
     *
     * @param string $index Relative path within the phar archive to run if
     *   accessed on the command-line
     * @param string $webindex Relative path within the phar archive to run
     *   if accessed through a web browser
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    function setDefaultStub($index, $webindex){}

    /**
     * Dummy function (Phar::setStub is not valid for PharData)
     *
     * Non-executable tar/zip archives cannot have a stub, so this method
     * simply throws an exception.
     *
     * @param string $stub A string or an open stream handle to use as the
     *   executable stub for this phar archive. This parameter is ignored.
     * @param int $len
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0
     **/
    function setStub($stub, $len){}

    /**
     * Construct a non-executable tar or zip archive object
     *
     * @param string $fname Path to an existing tar/zip archive or
     *   to-be-created archive
     * @param int $flags Flags to pass to Phar parent class
     *   RecursiveDirectoryIterator.
     * @param string $alias Alias with which this Phar archive should be
     *   referred to in calls to stream functionality.
     * @param int $format One of the file format constants available within
     *   the Phar class.
     **/
    function __construct($fname, $flags, $alias, $format){}

}
/**
 * The PharException class provides a phar-specific exception class for
 * try/catch blocks.
 **/
class PharException extends Exception {
}
/**
 * The PharFileInfo class provides a high-level interface to the contents
 * and attributes of a single file within a phar archive.
 **/
class PharFileInfo extends SplFileInfo {
    /**
     * Sets file-specific permission bits
     *
     * {@link PharFileInfo::chmod} allows setting of the executable file
     * permissions bit, as well as read-only bits. Writeable bits are
     * ignored, and set at runtime based on the phar.readonly INI variable.
     * As with all functionality that modifies the contents of a phar, the
     * phar.readonly INI variable must be off in order to succeed if the file
     * is within a Phar archive. Files within PharData archives do not have
     * this restriction.
     *
     * @param int $permissions permissions (see {@link chmod})
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function chmod($permissions){}

    /**
     * Compresses the current Phar entry with either zlib or bzip2
     * compression
     *
     * This method compresses the file inside the Phar archive using either
     * bzip2 compression or zlib compression. The bzip2 or zlib extension
     * must be enabled to take advantage of this feature. In addition, if the
     * file is already compressed, the respective extension must be enabled
     * in order to decompress the file. As with all functionality that
     * modifies the contents of a phar, the phar.readonly INI variable must
     * be off in order to succeed if the file is within a Phar archive. Files
     * within PharData archives do not have this restriction.
     *
     * @param int $compression
     * @return bool
     **/
    public function compress($compression){}

    /**
     * Decompresses the current Phar entry within the phar
     *
     * This method decompresses the file inside the Phar archive. Depending
     * on how the file is compressed, the bzip2 or zlib extensions must be
     * enabled to take advantage of this feature. As with all functionality
     * that modifies the contents of a phar, the phar.readonly INI variable
     * must be off in order to succeed if the file is within a Phar archive.
     * Files within PharData archives do not have this restriction.
     *
     * @return bool
     **/
    public function decompress(){}

    /**
     * Deletes the metadata of the entry
     *
     * Deletes the metadata of the entry, if any.
     *
     * @return bool Returns TRUE if successful, FALSE if the entry had no
     *   metadata. As with all functionality that modifies the contents of a
     *   phar, the phar.readonly INI variable must be off in order to succeed
     *   if the file is within a Phar archive. Files within PharData archives
     *   do not have this restriction.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.2.0
     **/
    public function delMetadata(){}

    /**
     * Returns the actual size of the file (with compression) inside the Phar
     * archive
     *
     * This returns the size of the file within the Phar archive.
     * Uncompressed files will return the same value for getCompressedSize as
     * they will with {@link filesize}
     *
     * @return int The size in bytes of the file within the Phar archive on
     *   disk.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function getCompressedSize(){}

    /**
     * Get the complete file contents of the entry
     *
     * This function behaves like {@link file_get_contents} but for Phar.
     *
     * @return string Returns the file contents.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function getContent(){}

    /**
     * Returns CRC32 code or throws an exception if CRC has not been verified
     *
     * This returns the {@link crc32} checksum of the file within the Phar
     * archive.
     *
     * @return int The {@link crc32} checksum of the file within the Phar
     *   archive.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function getCRC32(){}

    /**
     * Returns file-specific meta-data saved with a file
     *
     * Return meta-data that was saved in the Phar archive's manifest for
     * this file.
     *
     * @return mixed any PHP variable that can be serialized and is stored
     *   as meta-data for the file, or NULL if no meta-data is stored.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function getMetadata(){}

    /**
     * Returns the Phar file entry flags
     *
     * This returns the flags set in the manifest for a Phar. This will
     * always return 0 in the current implementation.
     *
     * @return int The Phar flags (always 0 in the current implementation)
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function getPharFlags(){}

    /**
     * Returns the metadata of the entry
     *
     * Returns the metadata of a file within a phar archive.
     *
     * @return bool Returns FALSE if no metadata is set or is NULL, TRUE if
     *   metadata is not NULL
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.2.0
     **/
    public function hasMetadata(){}

    /**
     * Returns whether the entry is compressed
     *
     * This returns whether a file is compressed within a Phar archive with
     * either Gzip or Bzip2 compression.
     *
     * @param int $compression_type One of Phar::GZ or Phar::BZ2, defaults
     *   to any compression.
     * @return bool TRUE if the file is compressed within the Phar archive,
     *   FALSE if not.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function isCompressed($compression_type){}

    /**
     * Returns whether the entry is compressed using bzip2
     *
     * This returns whether a file is compressed within a Phar archive with
     * Bzip2 compression.
     *
     * @return bool TRUE if the file is compressed within the Phar archive
     *   using Bzip2, FALSE if not.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function isCompressedBZIP2(){}

    /**
     * Returns whether the entry is compressed using gz
     *
     * This returns whether a file is compressed within a Phar archive with
     * Gzip compression.
     *
     * @return bool TRUE if the file is compressed within the Phar archive
     *   using Gzip, FALSE if not.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function isCompressedGZ(){}

    /**
     * Returns whether file entry has had its CRC verified
     *
     * This returns whether a file within a Phar archive has had its CRC
     * verified.
     *
     * @return bool TRUE if the file has had its CRC verified, FALSE if
     *   not.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function isCRCChecked(){}

    /**
     * Compresses the current Phar entry within the phar using Bzip2
     * compression
     *
     * This method compresses the file inside the Phar archive using bzip2
     * compression. The bzip2 extension must be enabled to take advantage of
     * this feature. In addition, if the file is already compressed using
     * gzip compression, the zlib extension must be enabled in order to
     * decompress the file. As with all functionality that modifies the
     * contents of a phar, the phar.readonly INI variable must be off in
     * order to succeed.
     *
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function setCompressedBZIP2(){}

    /**
     * Compresses the current Phar entry within the phar using gz compression
     *
     * This method compresses the file inside the Phar archive using gzip
     * compression. The zlib extension must be enabled to take advantage of
     * this feature. In addition, if the file is already compressed using
     * bzip2 compression, the bzip2 extension must be enabled in order to
     * decompress the file. As with all functionality that modifies the
     * contents of a phar, the phar.readonly INI variable must be off in
     * order to succeed.
     *
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function setCompressedGZ(){}

    /**
     * Sets file-specific meta-data saved with a file
     *
     * {@link PharFileInfo::setMetadata} should only be used to store
     * customized data in a file that cannot be represented with existing
     * information stored with a file. Meta-data can significantly slow down
     * the performance of loading a phar archive if the data is large, or if
     * there are many files containing meta-data. It is important to note
     * that file permissions are natively supported inside a phar; it is
     * possible to set them with the {@link PharFileInfo::chmod} method. As
     * with all functionality that modifies the contents of a phar, the
     * phar.readonly INI variable must be off in order to succeed if the file
     * is within a Phar archive. Files within PharData archives do not have
     * this restriction.
     *
     * Some possible uses for meta-data include passing a user/group that
     * should be set when a file is extracted from the phar to disk. Other
     * uses could include explicitly specifying a MIME type to return.
     * However, any useful data that describes a file, but should not be
     * contained inside of it may be stored.
     *
     * @param mixed $metadata Any PHP variable containing information to
     *   store alongside a file
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function setMetadata($metadata){}

    /**
     * Uncompresses the current Phar entry within the phar, if it is
     * compressed
     *
     * This method decompresses the file inside the Phar archive. Depending
     * on how the file is compressed, the bzip2 or zlib extensions must be
     * enabled to take advantage of this feature. As with all functionality
     * that modifies the contents of a phar, the phar.readonly INI variable
     * must be off in order to succeed.
     *
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function setUncompressed(){}

    /**
     * Construct a Phar entry object
     *
     * This should not be called directly. Instead, a PharFileInfo object is
     * initialized by calling {@link Phar::offsetGet} through array access.
     *
     * @param string $entry The full url to retrieve a file. If you wish to
     *   retrieve the information for the file my/file.php from the phar
     *   boo.phar, the entry should be phar://boo.phar/my/file.php.
     * @since PHP 5 >= 5.3.0, PHP 7, PECL phar >= 1.0.0
     **/
    public function __construct($entry){}

}
class phdfs {
    /**
     * @var mixed
     **/
    static $host;

    /**
     * @var mixed
     **/
    static $port;

    /**
     * @return bool
     * @since phdfs >= 0.1.0
     **/
    public function connect(){}

    /**
     * @param string $source_file
     * @param string $destination_file
     * @return bool
     * @since phdfs >= 0.1.0
     **/
    public function copy($source_file, $destination_file){}

    /**
     * @param string $path
     * @return bool
     * @since phdfs >= 0.1.0
     **/
    public function create_directory($path){}

    /**
     * @param string $path
     * @return bool
     * @since phdfs >= 0.1.0
     **/
    public function delete($path){}

    /**
     * @return bool
     * @since phdfs >= 0.1.0
     **/
    public function disconnect(){}

    /**
     * @param string $path
     * @return bool
     * @since phdfs>= 0.1.0
     **/
    public function exists($path){}

    /**
     * @param string $path
     * @return array Returns array on success.
     * @since phdfs >= 0.1.0
     **/
    public function file_info($path){}

    /**
     * @param string $path
     * @param int $level
     * @return array Returns array on success.
     * @since phdfs >= 0.1.0
     **/
    public function list_directory($path, $level){}

    /**
     * @param string $path
     * @param int $length
     * @return string
     * @since phdfs >= 0.1.0
     **/
    public function read($path, $length){}

    /**
     * @param string $old_path
     * @param string $new_path
     * @return bool
     * @since phdfs >= 0.1.0
     **/
    public function rename($old_path, $new_path){}

    /**
     * @param string $path
     * @param int $read_length
     * @return int
     * @since phdfs >= 0.1.0
     **/
    public function tell($path, $read_length){}

    /**
     * @param string $path
     * @param string $buffer
     * @param int $mode
     * @return bool
     * @since phdfs >= 0.1.0
     **/
    public function write($path, $buffer, $mode){}

    /**
     * @param string $ip
     * @param string $port
     * @since phdfs >= 0.1.0
     **/
    public function __construct($ip, $port){}

    /**
     * @return void
     * @since phdfs >= 0.1.0
     **/
    public function __destruct(){}

}
namespace pht {
class AtomicInteger implements pht\Threaded {
    /**
     * Decrements the atomic integer's value by one
     *
     * This method will decrement the atomic integer's value by one.
     * Internally, the mutex lock of the atomic integer will be acquired, and
     * so there is no need to manually acquire it (unless this operation
     * needs to be grouped with other operations on the same atomic integer -
     * see the example in pht\AtomicInteger::lock for a demonstration of
     * this).
     *
     * @return void No return value.
     **/
    public function dec(){}

    /**
     * Gets the atomic integer's value
     *
     * This method will fetch the current value of the atomic integer.
     * Internally, the mutex lock of the atomic integer will be acquired, and
     * so there is no need to manually acquire it (unless this operation
     * needs to be grouped with other operations on the same atomic integer -
     * see the example in pht\AtomicInteger::lock for a demonstration of
     * this).
     *
     * @return int The current integer value of the atomic integer.
     **/
    public function get(){}

    /**
     * Increments the atomic integer's value by one
     *
     * This method will increment the atomic integer's value by one.
     * Internally, the mutex lock of the atomic integer will be acquired, and
     * so there is no need to manually acquire it (unless this operation
     * needs to be grouped with other operations on the same atomic integer -
     * see the example in pht\AtomicInteger::lock for a demonstration of
     * this).
     *
     * @return void No return value.
     **/
    public function inc(){}

    /**
     * Acquires the atomic integer's mutex lock
     *
     * This method will acquire the mutex lock associated with the atomic
     * integer. The mutex lock only needs to be acquired when needing to
     * group together multiple operations.
     *
     * The mutex locks of the atomic values are reentrant safe. It is
     * therefore valid for the same thread to reacquire a mutex lock that it
     * has already acquired.
     *
     * @return void No return value.
     **/
    public function lock(){}

    /**
     * Sets the atomic integer's value
     *
     * This method will set the value of the atomic integer. Internally, the
     * mutex lock of the atomic integer will be acquired, and so there is no
     * need to manually acquire it (unless this operation needs to be grouped
     * with other operations on the same atomic integer - see the example in
     * pht\AtomicInteger::lock for a demonstration of this).
     *
     * @param int $value The value to set the atomic integer to.
     * @return void No return value.
     **/
    public function set($value){}

    /**
     * Releases the atomic integer's mutex lock
     *
     * This method will release the mutex lock associated with the atomic
     * integer.
     *
     * @return void No return value.
     **/
    public function unlock(){}

    /**
     * AtomicInteger creation
     *
     * Handles the creation of a new atomic integer.
     *
     * @param int $value The value to initialise the atomic integer to.
     * @return AtomicInteger No return value.
     **/
    public function __construct($value){}

}
}
namespace pht {
class HashTable implements pht\Threaded {
    /**
     * Acquires the hash table's mutex lock
     *
     * This method will acquire the mutex lock associated with the hash
     * table. The mutex lock should always be acquired when manipulating the
     * hash table if it is being used by multiple threads.
     *
     * The mutex locks of the Inter-Thread Communication (ITC) data
     * structures are not reentrant. Attempting to reacquire an
     * already-acquired mutex lock by the same thread will therefore cause a
     * deadlock.
     *
     * @return void No return value.
     **/
    public function lock(){}

    /**
     * Gets the size of the hash table
     *
     * Returns the current size of the hash table. This operation requires a
     * pht\HashTable's mutex lock to be held if it is being used by multiple
     * threads.
     *
     * @return int The size of the hash table.
     **/
    public function size(){}

    /**
     * Releases the hash table's mutex lock
     *
     * This method will release the mutex lock associated with the hash
     * table.
     *
     * @return void No return value.
     **/
    public function unlock(){}

}
}
namespace pht {
class Queue implements pht\Threaded {
    /**
     * Returns the first value from a queue
     *
     * This method will remove a value from the front of the queue (in
     * constant time). Attempting to return the front value from an empty
     * queue will result in an Error exception.
     *
     * @return mixed The value on the front of the queue.
     **/
    public function front(){}

    /**
     * Acquires the queue's mutex lock
     *
     * This method will acquire the mutex lock associated with the queue. The
     * mutex lock should always be acquired when manipulating the queue if it
     * is being used by multiple threads.
     *
     * The mutex locks of the Inter-Thread Communication (ITC) data
     * structures are not reentrant. Attempting to reacquire an
     * already-acquired mutex lock by the same thread will therefore cause a
     * deadlock.
     *
     * @return void No return value.
     **/
    public function lock(){}

    /**
     * Pops a value off of the front of a queue
     *
     * This method will remove a value from the front of the queue (in
     * constant time). Attempting to pop a value from an empty queue will
     * result in an Error exception.
     *
     * @return mixed The value removed from the queue.
     **/
    public function pop(){}

    /**
     * Pushes a value to the end of a queue
     *
     * This method will add a value onto the queue.
     *
     * @param mixed $value The value to be added to a pht\Queue. This value
     *   will be serialised (since it may be passed around between threads).
     * @return void No return value.
     **/
    public function push($value){}

    /**
     * Gets the size of the queue
     *
     * Returns the current size of the queue. This operation requires a
     * pht\Queue's mutex lock to be held if it is being used by multiple
     * threads.
     *
     * @return int The size of the queue.
     **/
    public function size(){}

    /**
     * Releases the queue's mutex lock
     *
     * This method will release the mutex lock associated with the queue.
     *
     * @return void No return value.
     **/
    public function unlock(){}

}
}
namespace pht {
interface Runnable {
    /**
     * The entry point of a threaded class
     *
     * This method acts as the entry point of execution for a threaded class.
     * It must be defined by all classes that will be threaded.
     *
     * @return void No return value.
     **/
    public function run();

}
}
namespace pht {
class Thread {
    /**
     * Class threading
     *
     * Adds a new class task to a pht\Threads internal task queue.
     *
     * @param string $className The name of the class to be threaded. This
     *   class must implement the pht\Runnable interface.
     * @param mixed ...$ctorArgs An optional list of arguments for the
     *   threaded class' constructor. These arguments will be serialised
     *   (since they are being passed to another thread).
     * @return void No return value.
     **/
    public function addClassTask($className, ...$ctorArgs){}

    /**
     * File threading
     *
     * Adds a new file task to a pht\Threads internal task queue.
     *
     * @param string $fileName The name of the file to be threaded.
     * @param mixed ...$globals An optional list of arguments for the file.
     *   These arguments will be placed into a $_THREAD superglobal, which
     *   will be made available inside of the threaded file. All arguments
     *   will be serialised (since they are being passed to another thread).
     * @return void No return value.
     **/
    public function addFileTask($fileName, ...$globals){}

    /**
     * Function threading
     *
     * Adds a new function task to a pht\Threads internal task queue.
     *
     * @param callable $func The function to be threaded. If it is bound to
     *   an instance, then $this will become NULL.
     * @param mixed ...$funcArgs An optional list of arguments for the
     *   function. These arguments will be serialised (since they are being
     *   passed to another thread).
     * @return void No return value.
     **/
    public function addFunctionTask($func, ...$funcArgs){}

    /**
     * Joins a thread
     *
     * This method will join the spawned thread (though it will first wait
     * for that thread's internal task queue to finish). As a matter of good
     * practice, threads should always be joined. Not joining a thread may
     * lead to undefined behaviour.
     *
     * @return void No return value.
     * @since PECL pthreads >= 2.0.0
     **/
    public function join(){}

    /**
     * Starts the new thread
     *
     * This will cause a new thread to be spawned for the associated
     * pht\Thread object, where its internal task queue will begin to be
     * processed.
     *
     * @return void No return value.
     * @since PECL pthreads >= 2.0.0
     **/
    public function start(){}

    /**
     * Gets a thread's task count
     *
     * Retrieves the current task count of a pht\Thread.
     *
     * @return int The number of tasks remaining to be processed.
     **/
    public function taskCount(){}

}
}
namespace pht {
interface Threaded {
    /**
     * Acquires the mutex lock
     *
     * This method will acquire the mutex lock associated with the given
     * class (either a pht\HashTable, pht\Queue, pht\Vector, or
     * pht\AtomicInteger).
     *
     * @return void No return value.
     * @since PECL pthreads < 3.0.0
     **/
    public function lock();

    /**
     * Releases the mutex lock
     *
     * This method will unlock the mutex lock associated with the given class
     * (either a pht\HashTable, pht\Queue, pht\Vector, or pht\AtomicInteger).
     *
     * @return void No return value.
     * @since PECL pthreads < 3.0.0
     **/
    public function unlock();

}
}
namespace pht {
class Vector implements pht\Threaded {
    /**
     * Deletes a value in the vector
     *
     * This method deletes a value at the specified offset in the vector (in
     * linear time).
     *
     * Since the pht\Vector class supports array access, deleting values can
     * also be performed using the array subset notation ([]) in combination
     * with the {@link unset} function.
     *
     * @param int $offset The offset at which the value will be deleted at.
     *   This offset must be within the 0..(N-1) range (inclusive), where N
     *   is the size of the vector. Attempting to delete at offsets outside
     *   of this range will result in an Error exception.
     * @return void No return value.
     **/
    public function deleteAt($offset){}

    /**
     * Inserts a value into the vector
     *
     * This method inserts a value at the specified offset into the vector
     * (in linear time). The vector will automatically be resized if it is
     * not large enough.
     *
     * @param mixed $value The value to be inserted into the vector. This
     *   value will be serialised (since it may be passed around between
     *   threads).
     * @param int $offset The offset at which the value will be inserted
     *   at. This offset must be within the 0..N range (inclusive), where N
     *   is the size of the vector. Inserting at position N is the equivalent
     *   of using pht\Vector::push, and inserting at position 0 is the
     *   equivalent of using pht\Vector::unshift. Attempting to insert at
     *   offsets outside of this range will result in an Error exception.
     * @return void No return value.
     **/
    public function insertAt($value, $offset){}

    /**
     * Acquires the vector's mutex lock
     *
     * This method will acquire the mutex lock associated with the vector.
     * The mutex lock should always be acquired when manipulating the vector
     * if it is being used by multiple threads.
     *
     * The mutex locks of the Inter-Thread Communication (ITC) data
     * structures are not reentrant. Attempting to reacquire an
     * already-acquired mutex lock by the same thread will therefore cause a
     * deadlock.
     *
     * @return void No return value.
     **/
    public function lock(){}

    /**
     * Pops a value to the vector
     *
     * This method pops a value from the end of a vector (in constant time).
     * Popping a value from an empty vector will result in an Error
     * exception.
     *
     * @return mixed The value from the end of the vector.
     **/
    public function pop(){}

    /**
     * Pushes a value to the vector
     *
     * This method pushes a value onto the end of a vector (in constant
     * time). The vector will automatically be resized if it is not large
     * enough.
     *
     * Since the pht\Vector class supports array access, new values can also
     * be pushed onto the vector using the empty subset notation ([]).
     *
     * @param mixed $value The value to be pushed onto the end of the
     *   vector. This value will be serialised (since it may be passed around
     *   between threads).
     * @return void No return value.
     **/
    public function push($value){}

    /**
     * Resizes a vector
     *
     * Resizes the vector. If it is enlarged, then the {@link value}
     * parameter will be used to fill in the new slots. If it is made
     * smaller, then the end values will be truncated.
     *
     * @param int $size The new size of the vector.
     * @param mixed $value The value to initialise the empty vector slots
     *   to (only used if the vector is enlarged).
     * @return void No return value.
     **/
    public function resize($size, $value){}

    /**
     * Shifts a value from the vector
     *
     * This method shifts a value from the front of a vector (in linear
     * time). Shifting a value from an empty vector will result in an Error
     * exception.
     *
     * @return mixed The value from the front of the vector.
     **/
    public function shift(){}

    /**
     * Gets the size of the vector
     *
     * Returns the current size of the vector. This operation requires a
     * pht\Vector's mutex lock to be held if it is being used by multiple
     * threads.
     *
     * @return int The size of the vector.
     **/
    public function size(){}

    /**
     * Releases the vector's mutex lock
     *
     * This method will release the mutex lock associated with the vector.
     *
     * @return void No return value.
     **/
    public function unlock(){}

    /**
     * Unshifts a value to the vector front
     *
     * This method unshifts a value to the front of a vector (in linear
     * time). The vector will automatically be resized if it is not large
     * enough.
     *
     * @param mixed $value The value to be pushed onto the beginning of the
     *   vector. This value will be serialised (since it may be passed around
     *   between threads).
     * @return void No return value.
     **/
    public function unshift($value){}

    /**
     * Updates a value in the vector
     *
     * This method updates a value at the specified offset in the vector (in
     * linear time). The vector will automatically be resized if it is not
     * large enough.
     *
     * Since the pht\Vector class supports array access, updating values can
     * also be performed using the array subset notation ([]).
     *
     * @param mixed $value The value to be inserted into the vector. This
     *   value will be serialised (since it may be passed around between
     *   threads).
     * @param int $offset The offset at which the value will be updated at.
     *   This offset must be within the 0..(N-1) range (inclusive), where N
     *   is the size of the vector. Attempting to update at offsets outside
     *   of this range will result in an Error exception.
     * @return void No return value.
     **/
    public function updateAt($value, $offset){}

    /**
     * Vector creation
     *
     * Handles the creation of a new vector.
     *
     * @param int $size The size of the vector that will be created.
     * @param mixed $value The value to initialise the empty slots in the
     *   vector to.
     * @return Vector No return value.
     **/
    public function __construct($size, $value){}

}
}
/**
 * A Pool is a container for, and controller of, an adjustable number of
 * Workers. Pooling provides a higher level abstraction of the Worker
 * functionality, including the management of references in the way
 * required by pthreads.
 **/
class Pool {
    /**
     * the class of the Worker
     *
     * @var mixed
     **/
    protected $class;

    /**
     * the arguments for constructor of new Workers
     *
     * @var mixed
     **/
    protected $ctor;

    /**
     * offset in workers of the last Worker used
     *
     * @var mixed
     **/
    protected $last;

    /**
     * maximum number of Workers this Pool can use
     *
     * @var mixed
     **/
    protected $size;

    /**
     * references to Workers
     *
     * @var mixed
     **/
    protected $workers;

    /**
     * Collect references to completed tasks
     *
     * Allows the pool to collect references determined to be garbage by the
     * optionally given collector.
     *
     * @param Callable $collector A Callable collector that returns a
     *   boolean on whether the task can be collected or not. Only in rare
     *   cases should a custom collector need to be used.
     * @return int The number of remaining tasks in the pool to be
     *   collected.
     * @since PECL pthreads >= 2.0.0
     **/
    public function collect($collector){}

    /**
     * Resize the Pool
     *
     * @param int $size The maximum number of Workers this Pool can create
     * @return void void
     * @since PECL pthreads >= 2.0.0
     **/
    public function resize($size){}

    /**
     * Shutdown all workers
     *
     * Shuts down all of the workers in the pool. This will block until all
     * submitted tasks have been executed.
     *
     * @return void No value is returned.
     * @since PECL pthreads >= 2.0.0
     **/
    public function shutdown(){}

    /**
     * Submits an object for execution
     *
     * Submit the task to the next Worker in the Pool
     *
     * @param Threaded $task The task for execution
     * @return int the identifier of the Worker executing the object
     * @since PECL pthreads >= 2.0.0
     **/
    public function submit($task){}

    /**
     * Submits a task to a specific worker for execution
     *
     * Submit a task to the specified worker in the pool. The workers are
     * indexed from 0, and will only exist if the pool has needed to create
     * them (since threads are lazily spawned).
     *
     * @param int $worker The worker to stack the task onto, indexed from
     *   0.
     * @param Threaded $task The task for execution.
     * @return int The identifier of the worker that accepted the task.
     * @since PECL pthreads >= 2.0.0
     **/
    public function submitTo($worker, $task){}

    /**
     * Creates a new Pool of Workers
     *
     * Construct a new pool of workers. Pools lazily create their threads,
     * which means new threads will only be spawned when they are required to
     * execute tasks.
     *
     * @param int $size The maximum number of workers for this pool to
     *   create
     * @param string $class The class for new Workers. If no class is
     *   given, then it defaults to the Worker class.
     * @param array $ctor An array of arguments to be passed to new
     *   workers' constructors
     * @return Pool The new pool
     * @since PECL pthreads >= 2.0.0
     **/
    public function __construct($size, $class, $ctor){}

}
/**
 * This class wraps around a hash containing integer numbers, where the
 * values are also integer numbers. Hashes are also available as
 * implementation of the ArrayAccess interface. Hashes can also be
 * iterated over with foreach as the Iterator interface is implemented as
 * well. The order of which elements are returned in is not guaranteed.
 **/
class QuickHashIntHash {
    /**
     * @var integer
     **/
    const CHECK_FOR_DUPES = 0;

    /**
     * @var integer
     **/
    const DO_NOT_USE_ZEND_ALLOC = 0;

    /**
     * @var integer
     **/
    const HASHER_JENKINS1 = 0;

    /**
     * @var integer
     **/
    const HASHER_JENKINS2 = 0;

    /**
     * @var integer
     **/
    const HASHER_NO_HASH = 0;

    /**
     * This method adds a new entry to the hash
     *
     * This method adds a new entry to the hash, and returns whether the
     * entry was added. Entries are by default always added unless
     * QuickHashIntHash::CHECK_FOR_DUPES has been passed when the hash was
     * created.
     *
     * @param int $key The key of the entry to add.
     * @param int $value The optional value of the entry to add. If no
     *   value is specified, 1 will be used.
     * @return bool TRUE when the entry was added, and FALSE if the entry
     *   was not added.
     * @since PECL quickhash >= Unknown
     **/
    public function add($key, $value){}

    /**
     * This method deletes am entry from the hash
     *
     * This method deletes an entry from the hash, and returns whether the
     * entry was deleted or not. Associated memory structures will not be
     * freed immediately, but rather when the hash itself is freed.
     *
     * Elements can not be deleted when the hash is used in an iterator. The
     * method will not throw an exception, but simply return FALSE like would
     * happen with any other deletion failure.
     *
     * @param int $key The key of the entry to delete.
     * @return bool TRUE when the entry was deleted, and FALSE if the entry
     *   was not deleted.
     * @since PECL quickhash >= Unknown
     **/
    public function delete($key){}

    /**
     * This method checks whether a key is part of the hash
     *
     * This method checks whether an entry with the provided key exists in
     * the hash.
     *
     * @param int $key The key of the entry to check for whether it exists
     *   in the hash.
     * @return bool Returns TRUE when the entry was found, or FALSE when
     *   the entry is not found.
     * @since PECL quickhash >= Unknown
     **/
    public function exists($key){}

    /**
     * This method retrieves a value from the hash by its key
     *
     * @param int $key The key of the entry to add.
     * @return int The value if the key exists, or NULL if the key wasn't
     *   part of the hash.
     * @since PECL quickhash >= Unknown
     **/
    public function get($key){}

    /**
     * Returns the number of elements in the hash
     *
     * @return int The number of elements in the hash.
     * @since PECL quickhash >= Unknown
     **/
    public function getSize(){}

    /**
     * This factory method creates a hash from a file
     *
     * This factory method creates a new hash from a definition file on disk.
     * The file format consists of a signature 'QH\0x11\0', the number of
     * elements as a 32 bit signed integer in system Endianness, followed by
     * 32 bit signed integers packed together in the Endianness that the
     * system that the code runs on uses. For each hash element there are two
     * 32 bit signed integers stored. The first of each element is the key,
     * and the second is the value belonging to the key. An example could be:
     *
     * QuickHash IntHash file format 00000000 51 48 11 00 02 00 00 00 01 00
     * 00 00 01 00 00 00 |QH..............| 00000010 03 00 00 00 09 00 00 00
     * |........| 00000018
     *
     * QuickHash IntHash file format header signature ('QH'; key type: 1;
     * value type: 1; filler: \0x00) 00000000 51 48 11 00
     *
     * number of elements: 00000004 02 00 00 00
     *
     * data string: 00000000 01 00 00 00 01 00 00 00 03 00 00 00 09 00 00 00
     *
     * key/value 1 (key = 1, value = 1) 01 00 00 00 01 00 00 00
     *
     * key/value 2 (key = 3, value = 9) 03 00 00 00 09 00 00 00
     *
     * @param string $filename The filename of the file to read the hash
     *   from.
     * @param int $options The same options that the class' constructor
     *   takes; except that the size option is ignored. It is automatically
     *   calculated to be the same as the number of entries in the hash,
     *   rounded up to the nearest power of two with a maximum limit of
     *   4194304.
     * @return QuickHashIntHash Returns a new QuickHashIntHash.
     * @since PECL quickhash >= Unknown
     **/
    public static function loadFromFile($filename, $options){}

    /**
     * This factory method creates a hash from a string
     *
     * This factory method creates a new hash from a definition in a string.
     * The file format consists of 32 bit signed integers packed together in
     * the Endianness that the system that the code runs on uses. For each
     * element there are two 32 bit signed integers stored. The first of each
     * element is the key, and the second is the value belonging to the key.
     *
     * @param string $contents The string containing a serialized format of
     *   the hash.
     * @param int $options The same options that the class' constructor
     *   takes; except that the size option is ignored. It is automatically
     *   calculated to be the same as the number of entries in the hash,
     *   rounded up to the nearest power of two with a maximum limit of
     *   4194304.
     * @return QuickHashIntHash Returns a new QuickHashIntHash.
     * @since PECL quickhash >= Unknown
     **/
    public static function loadFromString($contents, $options){}

    /**
     * This method stores an in-memory hash to disk
     *
     * This method stores an existing hash to a file on disk, in the same
     * format that loadFromFile() can read.
     *
     * @param string $filename The filename of the file to store the hash
     *   in.
     * @return void
     * @since PECL quickhash >= Unknown
     **/
    public function saveToFile($filename){}

    /**
     * This method returns a serialized version of the hash
     *
     * This method returns a serialized version of the hash in the same
     * format that loadFromString() can read.
     *
     * @return string This method returns a string containing a serialized
     *   format of the hash. Each element is stored as a four byte value in
     *   the Endianness that the current system uses.
     * @since PECL quickhash >= Unknown
     **/
    public function saveToString(){}

    /**
     * This method updates an entry in the hash with a new value, or adds a
     * new one if the entry doesn't exist
     *
     * This method tries to update an entry with a new value. In case the
     * entry did not yet exist, it will instead add a new entry. It returns
     * whether the entry was added or update. If there are duplicate keys,
     * only the first found element will get an updated value. Use
     * QuickHashIntHash::CHECK_FOR_DUPES during hash creation to prevent
     * duplicate keys from being part of the hash.
     *
     * @param int $key The key of the entry to add or update.
     * @param int $value The new value to set the entry with.
     * @return bool 2 if the entry was found and updated, 1 if the entry
     *   was newly added or 0 if there was an error.
     * @since PECL quickhash >= Unknown
     **/
    public function set($key, $value){}

    /**
     * This method updates an entry in the hash with a new value
     *
     * This method updates an entry with a new value, and returns whether the
     * entry was update. If there are duplicate keys, only the first found
     * element will get an updated value. Use
     * QuickHashIntHash::CHECK_FOR_DUPES during hash creation to prevent
     * duplicate keys from being part of the hash.
     *
     * @param int $key The key of the entry to add.
     * @param int $value The new value to update the entry with.
     * @return bool TRUE when the entry was found and updated, and FALSE if
     *   the entry was not part of the hash already.
     * @since PECL quickhash >= Unknown
     **/
    public function update($key, $value){}

    /**
     * Creates a new QuickHashIntHash object
     *
     * This constructor creates a new QuickHashIntHash. The size is the
     * amount of bucket lists to create. The more lists there are, the less
     * collisions you will have. Options are also supported.
     *
     * @param int $size The amount of bucket lists to configure. The number
     *   you pass in will be automatically rounded up to the next power of
     *   two. It is also automatically limited from 64 to 4194304.
     * @param int $options The options that you can pass in are:
     *   QuickHashIntHash::CHECK_FOR_DUPES, which makes sure no duplicate
     *   entries are added to the hash;
     *   QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC to not use PHP's internal
     *   memory manager as well as one of QuickHashIntHash::HASHER_NO_HASH,
     *   QuickHashIntHash::HASHER_JENKINS1 or
     *   QuickHashIntHash::HASHER_JENKINS2. These last three configure which
     *   hashing algorithm to use. All options can be combined using
     *   bitmasks.
     * @since PECL quickhash >= Unknown
     **/
    public function __construct($size, $options){}

}
/**
 * This class wraps around a set containing integer numbers. Sets can
 * also be iterated over with foreach as the Iterator interface is
 * implemented as well. The order of which elements are returned in is
 * not guaranteed.
 **/
class QuickHashIntSet {
    /**
     * @var integer
     **/
    const CHECK_FOR_DUPES = 0;

    /**
     * @var integer
     **/
    const DO_NOT_USE_ZEND_ALLOC = 0;

    /**
     * @var integer
     **/
    const HASHER_JENKINS1 = 0;

    /**
     * @var integer
     **/
    const HASHER_JENKINS2 = 0;

    /**
     * @var integer
     **/
    const HASHER_NO_HASH = 0;

    /**
     * This method adds a new entry to the set
     *
     * This method adds a new entry to the set, and returns whether the entry
     * was added. Entries are by default always added unless
     * QuickHashIntSet::CHECK_FOR_DUPES has been passed when the set was
     * created.
     *
     * @param int $key The key of the entry to add.
     * @return bool TRUE when the entry was added, and FALSE if the entry
     *   was not added.
     * @since PECL quickhash >= Unknown
     **/
    public function add($key){}

    /**
     * This method deletes an entry from the set
     *
     * This method deletes an entry from the set, and returns whether the
     * entry was deleted or not. Associated memory structures will not be
     * freed immediately, but rather when the set itself is freed.
     *
     * @param int $key The key of the entry to delete.
     * @return bool TRUE when the entry was deleted, and FALSE if the entry
     *   was not deleted.
     * @since PECL quickhash >= Unknown
     **/
    public function delete($key){}

    /**
     * This method checks whether a key is part of the set
     *
     * This method checks whether an entry with the provided key exists in
     * the set.
     *
     * @param int $key The key of the entry to check for whether it exists
     *   in the set.
     * @return bool Returns TRUE when the entry was found, or FALSE when
     *   the entry is not found.
     * @since PECL quickhash >= Unknown
     **/
    public function exists($key){}

    /**
     * Returns the number of elements in the set
     *
     * @return int The number of elements in the set.
     * @since PECL quickhash >= Unknown
     **/
    public function getSize(){}

    /**
     * This factory method creates a set from a file
     *
     * This factory method creates a new set from a definition file on disk.
     * The file format consists of 32 bit signed integers packed together in
     * the Endianness that the system that the code runs on uses.
     *
     * @param string $filename The filename of the file to read the set
     *   from.
     * @param int $size The amount of bucket lists to configure. The number
     *   you pass in will be automatically rounded up to the next power of
     *   two. It is also automatically limited from 4 to 4194304.
     * @param int $options The same options that the class' constructor
     *   takes; except that the size option is ignored. It is automatically
     *   calculated to be the same as the number of entries in the set,
     *   rounded up to the nearest power of two with a maximum limit of
     *   4194304.
     * @return QuickHashIntSet Returns a new QuickHashIntSet.
     * @since PECL quickhash >= Unknown
     **/
    public static function loadFromFile($filename, $size, $options){}

    /**
     * This factory method creates a set from a string
     *
     * This factory method creates a new set from a definition in a string.
     * The file format consists of 32 bit signed integers packed together in
     * the Endianness that the system that the code runs on uses.
     *
     * @param string $contents The string containing a serialized format of
     *   the set.
     * @param int $size The amount of bucket lists to configure. The number
     *   you pass in will be automatically rounded up to the next power of
     *   two. It is also automatically limited from 4 to 4194304.
     * @param int $options The same options that the class' constructor
     *   takes; except that the size option is ignored. It is automatically
     *   calculated to be the same as the number of entries in the set,
     *   rounded up to the nearest power of two automatically limited from 64
     *   to 4194304.
     * @return QuickHashIntSet Returns a new QuickHashIntSet.
     * @since PECL quickhash >= Unknown
     **/
    public static function loadFromString($contents, $size, $options){}

    /**
     * This method stores an in-memory set to disk
     *
     * This method stores an existing set to a file on disk, in the same
     * format that loadFromFile() can read.
     *
     * @param string $filename The filename of the file to store the hash
     *   in.
     * @return void
     * @since PECL quickhash >= Unknown
     **/
    public function saveToFile($filename){}

    /**
     * This method returns a serialized version of the set
     *
     * This method returns a serialized version of the set in the same format
     * that loadFromString() can read.
     *
     * @return string This method returns a string containing a serialized
     *   format of the set. Each element is stored as a four byte value in
     *   the Endianness that the current system uses.
     * @since PECL quickhash >= Unknown
     **/
    public function saveToString(){}

    /**
     * Creates a new QuickHashIntSet object
     *
     * This constructor creates a new QuickHashIntSet. The size is the amount
     * of bucket lists to create. The more lists there are, the less
     * collisions you will have. Options are also supported.
     *
     * @param int $size The amount of bucket lists to configure. The number
     *   you pass in will be automatically rounded up to the next power of
     *   two. It is also automatically limited from 4 to 4194304.
     * @param int $options The options that you can pass in are:
     *   QuickHashIntSet::CHECK_FOR_DUPES, which makes sure no duplicate
     *   entries are added to the set; QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC
     *   to not use PHP's internal memory manager as well as one of
     *   QuickHashIntSet::HASHER_NO_HASH, QuickHashIntSet::HASHER_JENKINS1 or
     *   QuickHashIntSet::HASHER_JENKINS2. These last three configure which
     *   hashing algorithm to use. All options can be combined using
     *   bitmasks.
     * @since PECL quickhash >= Unknown
     **/
    public function __construct($size, $options){}

}
/**
 * This class wraps around a hash containing integer numbers, where the
 * values are strings. Hashes are also available as implementation of the
 * ArrayAccess interface. Hashes can also be iterated over with foreach
 * as the Iterator interface is implemented as well. The order of which
 * elements are returned in is not guaranteed.
 **/
class QuickHashIntStringHash {
    /**
     * @var integer
     **/
    const CHECK_FOR_DUPES = 0;

    /**
     * @var integer
     **/
    const DO_NOT_USE_ZEND_ALLOC = 0;

    /**
     * @var integer
     **/
    const HASHER_JENKINS1 = 0;

    /**
     * @var integer
     **/
    const HASHER_JENKINS2 = 0;

    /**
     * @var integer
     **/
    const HASHER_NO_HASH = 0;

    /**
     * This method adds a new entry to the hash
     *
     * This method adds a new entry to the hash, and returns whether the
     * entry was added. Entries are by default always added unless
     * QuickHashIntStringHash::CHECK_FOR_DUPES has been passed when the hash
     * was created.
     *
     * @param int $key The key of the entry to add.
     * @param string $value The value of the entry to add. If a non-string
     *   is passed, it will be converted to a string automatically if
     *   possible.
     * @return bool TRUE when the entry was added, and FALSE if the entry
     *   was not added.
     * @since PECL quickhash >= Unknown
     **/
    public function add($key, $value){}

    /**
     * This method deletes am entry from the hash
     *
     * This method deletes an entry from the hash, and returns whether the
     * entry was deleted or not. Associated memory structures will not be
     * freed immediately, but rather when the hash itself is freed.
     *
     * Elements can not be deleted when the hash is used in an iterator. The
     * method will not throw an exception, but simply return FALSE like would
     * happen with any other deletion failure.
     *
     * @param int $key The key of the entry to delete.
     * @return bool TRUE when the entry was deleted, and FALSE if the entry
     *   was not deleted.
     * @since PECL quickhash >= Unknown
     **/
    public function delete($key){}

    /**
     * This method checks whether a key is part of the hash
     *
     * This method checks whether an entry with the provided key exists in
     * the hash.
     *
     * @param int $key The key of the entry to check for whether it exists
     *   in the hash.
     * @return bool Returns TRUE when the entry was found, or FALSE when
     *   the entry is not found.
     * @since PECL quickhash >= Unknown
     **/
    public function exists($key){}

    /**
     * This method retrieves a value from the hash by its key
     *
     * @param int $key The key of the entry to add.
     * @return mixed The value if the key exists, or NULL if the key wasn't
     *   part of the hash.
     * @since PECL quickhash >= Unknown
     **/
    public function get($key){}

    /**
     * Returns the number of elements in the hash
     *
     * @return int The number of elements in the hash.
     * @since PECL quickhash >= Unknown
     **/
    public function getSize(){}

    /**
     * This factory method creates a hash from a file
     *
     * This factory method creates a new hash from a definition file on disk.
     * The file format consists of a signature 'QH\0x12\0', the number of
     * elements as a 32 bit signed integer in system Endianness, an unsigned
     * 32 bit integer containing the number of element data to follow in
     * characters. This element data contains all the strings. After the
     * header and the strings, the elements follow in pairs of two unsigned
     * 32 bit integers where the first one is the key, and the second one the
     * index in the element data string. An example could be:
     *
     * QuickHash IntString file format 00000000 51 48 12 00 02 00 00 00 09 00
     * 00 00 4f 4e 45 00 |QH..........ONE.| 00000010 4e 49 4e 45 00 01 00 00
     * 00 00 00 00 00 03 00 00 |NINE............| 00000020 00 04 00 00 00
     * |.....| 00000025
     *
     * QuickHash IntString file format header signature ('QH'; key type: 1;
     * value type: 2; filler: \0x00) 00000000 51 48 12 00
     *
     * number of elements: 00000004 02 00 00 00
     *
     * length of string values (9 characters): 00000008 09 00 00 00
     *
     * string values: 0000000C 4f 4e 45 00 4e 49 4e 45 00
     *
     * data string: 00000015 01 00 00 00 00 00 00 00 03 00 00 00 04 00 00 00
     *
     * key/value 1 (key = 1, string index = 0 ("ONE")): 01 00 00 00 00 00 00
     * 00
     *
     * key/value 2 (key = 3, string index = 4 ("NINE")): 03 00 00 00 04 00 00
     * 00
     *
     * @param string $filename The filename of the file to read the hash
     *   from.
     * @param int $size The amount of bucket lists to configure. The number
     *   you pass in will be automatically rounded up to the next power of
     *   two. It is also automatically limited from 4 to 4194304.
     * @param int $options The same options that the class' constructor
     *   takes; except that the size option is ignored. It is automatically
     *   calculated to be the same as the number of entries in the hash,
     *   rounded up to the nearest power of two with a maximum limit of
     *   4194304.
     * @return QuickHashIntStringHash Returns a new QuickHashIntStringHash.
     * @since PECL quickhash >= Unknown
     **/
    public static function loadFromFile($filename, $size, $options){}

    /**
     * This factory method creates a hash from a string
     *
     * This factory method creates a new hash from a definition in a string.
     * The format is the same as the one used in "loadFromFile".
     *
     * @param string $contents The string containing a serialized format of
     *   the hash.
     * @param int $size The amount of bucket lists to configure. The number
     *   you pass in will be automatically rounded up to the next power of
     *   two. It is also automatically limited from 4 to 4194304.
     * @param int $options The same options that the class' constructor
     *   takes; except that the size option is ignored. It is automatically
     *   calculated to be the same as the number of entries in the hash,
     *   rounded up to the nearest power of two with a maximum limit of
     *   4194304.
     * @return QuickHashIntStringHash Returns a new QuickHashIntStringHash.
     * @since PECL quickhash >= Unknown
     **/
    public static function loadFromString($contents, $size, $options){}

    /**
     * This method stores an in-memory hash to disk
     *
     * This method stores an existing hash to a file on disk, in the same
     * format that loadFromFile() can read.
     *
     * @param string $filename The filename of the file to store the hash
     *   in.
     * @return void
     * @since PECL quickhash >= Unknown
     **/
    public function saveToFile($filename){}

    /**
     * This method returns a serialized version of the hash
     *
     * This method returns a serialized version of the hash in the same
     * format that loadFromString() can read.
     *
     * @return string This method returns a string containing a serialized
     *   format of the hash. Each element is stored as a four byte value in
     *   the Endianness that the current system uses.
     * @since PECL quickhash >= Unknown
     **/
    public function saveToString(){}

    /**
     * This method updates an entry in the hash with a new value, or adds a
     * new one if the entry doesn't exist
     *
     * This method tries to update an entry with a new value. In case the
     * entry did not yet exist, it will instead add a new entry. It returns
     * whether the entry was added or update. If there are duplicate keys,
     * only the first found element will get an updated value. Use
     * QuickHashIntStringHash::CHECK_FOR_DUPES during hash creation to
     * prevent duplicate keys from being part of the hash.
     *
     * @param int $key The key of the entry to add or update.
     * @param string $value The value of the entry to add. If a non-string
     *   is passed, it will be converted to a string automatically if
     *   possible.
     * @return int 2 if the entry was found and updated, 1 if the entry was
     *   newly added or 0 if there was an error.
     * @since PECL quickhash >= Unknown
     **/
    public function set($key, $value){}

    /**
     * This method updates an entry in the hash with a new value
     *
     * This method updates an entry with a new value, and returns whether the
     * entry was update. If there are duplicate keys, only the first found
     * element will get an updated value. Use
     * QuickHashIntStringHash::CHECK_FOR_DUPES during hash creation to
     * prevent duplicate keys from being part of the hash.
     *
     * @param int $key The key of the entry to add.
     * @param string $value The new value for the entry. If a non-string is
     *   passed, it will be converted to a string automatically if possible.
     * @return bool TRUE when the entry was found and updated, and FALSE if
     *   the entry was not part of the hash already.
     * @since PECL quickhash >= Unknown
     **/
    public function update($key, $value){}

    /**
     * Creates a new QuickHashIntStringHash object
     *
     * This constructor creates a new QuickHashIntStringHash. The size is the
     * amount of bucket lists to create. The more lists there are, the less
     * collisions you will have. Options are also supported.
     *
     * @param int $size The amount of bucket lists to configure. The number
     *   you pass in will be automatically rounded up to the next power of
     *   two. It is also automatically limited from 64 to 4194304.
     * @param int $options The options that you can pass in are:
     *   QuickHashIntStringHash::CHECK_FOR_DUPES, which makes sure no
     *   duplicate entries are added to the hash;
     *   QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC to not use PHP's
     *   internal memory manager as well as one of
     *   QuickHashIntStringHash::HASHER_NO_HASH,
     *   QuickHashIntStringHash::HASHER_JENKINS1 or
     *   QuickHashIntStringHash::HASHER_JENKINS2. These last three configure
     *   which hashing algorithm to use. All options can be combined using
     *   bitmasks.
     * @since PECL quickhash >= Unknown
     **/
    public function __construct($size, $options){}

}
/**
 * This class wraps around a hash containing strings, where the values
 * are integer numbers. Hashes are also available as implementation of
 * the ArrayAccess interface. Hashes can also be iterated over with
 * foreach as the Iterator interface is implemented as well. The order of
 * which elements are returned in is not guaranteed.
 **/
class QuickHashStringIntHash {
    /**
     * @var integer
     **/
    const CHECK_FOR_DUPES = 0;

    /**
     * @var integer
     **/
    const DO_NOT_USE_ZEND_ALLOC = 0;

    /**
     * This method adds a new entry to the hash
     *
     * This method adds a new entry to the hash, and returns whether the
     * entry was added. Entries are by default always added unless
     * QuickHashStringIntHash::CHECK_FOR_DUPES has been passed when the hash
     * was created.
     *
     * @param string $key The key of the entry to add.
     * @param int $value The value of the entry to add.
     * @return bool TRUE when the entry was added, and FALSE if the entry
     *   was not added.
     **/
    public function add($key, $value){}

    /**
     * This method deletes am entry from the hash
     *
     * This method deletes an entry from the hash, and returns whether the
     * entry was deleted or not. Associated memory structures will not be
     * freed immediately, but rather when the hash itself is freed.
     *
     * Elements can not be deleted when the hash is used in an iterator. The
     * method will not throw an exception, but simply return FALSE like would
     * happen with any other deletion failure.
     *
     * @param string $key The key of the entry to delete.
     * @return bool TRUE when the entry was deleted, and FALSE if the entry
     *   was not deleted.
     **/
    public function delete($key){}

    /**
     * This method checks whether a key is part of the hash
     *
     * This method checks whether an entry with the provided key exists in
     * the hash.
     *
     * @param string $key The key of the entry to check for whether it
     *   exists in the hash.
     * @return bool Returns TRUE when the entry was found, or FALSE when
     *   the entry is not found.
     **/
    public function exists($key){}

    /**
     * This method retrieves a value from the hash by its key
     *
     * @param string $key The key of the entry to add.
     * @return mixed The value if the key exists, or NULL if the key wasn't
     *   part of the hash.
     **/
    public function get($key){}

    /**
     * Returns the number of elements in the hash
     *
     * @return int The number of elements in the hash.
     **/
    public function getSize(){}

    /**
     * This factory method creates a hash from a file
     *
     * This factory method creates a new hash from a definition file on disk.
     * The file format consists of a signature 'QH\0x21\0', the number of
     * elements as a 32 bit signed integer in system Endianness, an unsigned
     * 32 bit integer containing the number of element data to follow in
     * characters. This element data contains all the strings. The follows
     * another signed 32 bit integer containing the number of bucket lists.
     * After the header and the strings, the elements follow. They are
     * ordered by bucket list so that the keys don't have to be hashed in
     * order to restore the hash. For each bucket list, the following
     * information is stored (all as 32 bit integers): the bucket list index,
     * the number of elements in that list, and then in pairs of two unsigned
     * 32 bit integers the elements, where the first one is the index into
     * the string list containing the keys, and the second one the value. An
     * example could be:
     *
     * QuickHash StringIntHash file format 00000000 51 48 21 00 02 00 00 00
     * 09 00 00 00 40 00 00 00 |QH!.........@...| 00000010 4f 4e 45 00 4e 49
     * 4e 45 00 07 00 00 00 01 00 00 |ONE.NINE........| 00000020 00 00 00 00
     * 00 01 00 00 00 2f 00 00 00 01 00 00 |........./......| 00000030 00 04
     * 00 00 00 03 00 00 00 |.........| 00000039
     *
     * QuickHash IntHash file format header signature ('QH'; key type: 2;
     * value type: 1; filler: \0x00) 00000000 51 48 21 00
     *
     * number of elements: 00000004 02 00 00 00
     *
     * length of string values (9 characters): 00000008 09 00 00 00
     *
     * number of hash bucket lists (this is configured for hashes as argument
     * to the constructor normally, 64 in this case): 0000000C 40 00 00 00
     *
     * string values: 00000010 4f 4e 45 00 4e 49 4e 45 00
     *
     * bucket lists: bucket list 1 (with key 7, and 1 element): header: 07 00
     * 00 00 01 00 00 00 elements (key index: 0 ('ONE'), value = 0): 00 00 00
     * 00 01 00 00 00 bucket list 2 (with key 0x2f, and 1 element): header:
     * 2f 00 00 00 01 00 00 00 elements (key index: 4 ('NINE'), value = 3):
     * 04 00 00 00 03 00 00 00
     *
     * @param string $filename The filename of the file to read the hash
     *   from.
     * @param int $size The amount of bucket lists to configure. The number
     *   you pass in will be automatically rounded up to the next power of
     *   two. It is also automatically limited from 4 to 4194304.
     * @param int $options The same options that the class' constructor
     *   takes; except that the size option is ignored. It is read from the
     *   file format (unlike the QuickHashIntHash and QuickHashIntStringHash
     *   classes, where it is automatically calculated from the number of
     *   entries in the hash.)
     * @return QuickHashStringIntHash Returns a new QuickHashStringIntHash.
     **/
    public static function loadFromFile($filename, $size, $options){}

    /**
     * This factory method creates a hash from a string
     *
     * This factory method creates a new hash from a definition in a string.
     * The format is the same as the one used in "loadFromFile".
     *
     * @param string $contents The string containing a serialized format of
     *   the hash.
     * @param int $size The amount of bucket lists to configure. The number
     *   you pass in will be automatically rounded up to the next power of
     *   two. It is also automatically limited from 4 to 4194304.
     * @param int $options The same options that the class' constructor
     *   takes; except that the size option is ignored. It is automatically
     *   calculated to be the same as the number of entries in the hash,
     *   rounded up to the nearest power of two with a maximum limit of
     *   4194304.
     * @return QuickHashStringIntHash Returns a new QuickHashStringIntHash.
     **/
    public static function loadFromString($contents, $size, $options){}

    /**
     * This method stores an in-memory hash to disk
     *
     * This method stores an existing hash to a file on disk, in the same
     * format that loadFromFile() can read.
     *
     * @param string $filename The filename of the file to store the hash
     *   in.
     * @return void
     **/
    public function saveToFile($filename){}

    /**
     * This method returns a serialized version of the hash
     *
     * This method returns a serialized version of the hash in the same
     * format that loadFromString() can read.
     *
     * @return string This method returns a serialized format of an
     *   existing hash, in the same format that loadFromString() can read.
     **/
    public function saveToString(){}

    /**
     * This method updates an entry in the hash with a new value, or adds a
     * new one if the entry doesn't exist
     *
     * This method tries to update an entry with a new value. In case the
     * entry did not yet exist, it will instead add a new entry. It returns
     * whether the entry was added or update. If there are duplicate keys,
     * only the first found element will get an updated value. Use
     * QuickHashStringIntHash::CHECK_FOR_DUPES during hash creation to
     * prevent duplicate keys from being part of the hash.
     *
     * @param string $key The key of the entry to add or update.
     * @param int $value The value of the entry to add. If a non-string is
     *   passed, it will be converted to a string automatically if possible.
     * @return int 2 if the entry was found and updated, 1 if the entry was
     *   newly added or 0 if there was an error.
     **/
    public function set($key, $value){}

    /**
     * This method updates an entry in the hash with a new value
     *
     * This method updates an entry with a new value, and returns whether the
     * entry was update. If there are duplicate keys, only the first found
     * element will get an updated value. Use
     * QuickHashStringIntHash::CHECK_FOR_DUPES during hash creation to
     * prevent duplicate keys from being part of the hash.
     *
     * @param string $key The key of the entry to add.
     * @param int $value The new value for the entry. If a non-string is
     *   passed, it will be converted to a string automatically if possible.
     * @return bool TRUE when the entry was found and updated, and FALSE if
     *   the entry was not part of the hash already.
     **/
    public function update($key, $value){}

    /**
     * Creates a new QuickHashStringIntHash object
     *
     * This constructor creates a new QuickHashStringIntHash. The size is the
     * amount of bucket lists to create. The more lists there are, the less
     * collisions you will have. Options are also supported.
     *
     * @param int $size The amount of bucket lists to configure. The number
     *   you pass in will be automatically rounded up to the next power of
     *   two. It is also automatically limited from 64 to 4194304.
     * @param int $options The options that you can pass in are:
     *   QuickHashStringIntHash::CHECK_FOR_DUPES, which makes sure no
     *   duplicate entries are added to the hash and
     *   QuickHashStringIntHash::DO_NOT_USE_ZEND_ALLOC to not use PHP's
     *   internal memory manager.
     **/
    public function __construct($size, $options){}

}
/**
 * Exception thrown to indicate range errors during program execution.
 * Normally this means there was an arithmetic error other than
 * under/overflow. This is the runtime version of DomainException.
 **/
class RangeException extends RuntimeException {
}
/**
 * This class represents a RAR archive, which may be formed by several
 * volumes (parts) and which contains a number of RAR entries (i.e.,
 * files, directories and other special objects such as symbolic links).
 * Objects of this class can be traversed, yielding the entries stored in
 * the respective RAR archive. Those entries can also be obtained through
 * RarArchive::getEntry and RarArchive::getEntries.
 **/
final class RarArchive implements Traversable {
    /**
     * Close RAR archive and free all resources
     *
     * Close RAR archive and free all allocated resources.
     *
     * @return bool
     * @since PECL rar >= 2.0.0
     **/
    public function close(){}

    /**
     * Get comment text from the RAR archive
     *
     * Get the (global) comment stored in the RAR archive. It may be up to 64
     * KiB long.
     *
     * @return string Returns the comment or NULL if there is none.
     * @since PECL rar >= 2.0.0
     **/
    public function getComment(){}

    /**
     * Get full list of entries from the RAR archive
     *
     * Get entries list (files and directories) from the RAR archive.
     *
     * @return array {@link rar_list} returns array of RarEntry objects .
     * @since PECL rar >= 2.0.0
     **/
    public function getEntries(){}

    /**
     * Get entry object from the RAR archive
     *
     * Get entry object (file or directory) from the RAR archive.
     *
     * @param string $entryname A RarArchive object, opened with {@link
     *   rar_open}.
     * @return RarEntry Returns the matching RarEntry object .
     * @since PECL rar >= 2.0.0
     **/
    public function getEntry($entryname){}

    /**
     * Test whether an archive is broken (incomplete)
     *
     * This function determines whether an archive is incomplete, i.e., if a
     * volume is missing or a volume is truncated.
     *
     * @return bool Returns TRUE if the archive is broken, FALSE otherwise.
     *   This function may also return FALSE if the passed file has already
     *   been closed. The only way to tell the two cases apart is to enable
     *   exceptions with RarException::setUsingExceptions; however, this
     *   should be unnecessary as a program should not operate on closed
     *   files.
     * @since PECL rar >= 3.0.0
     **/
    public function isBroken(){}

    /**
     * Check whether the RAR archive is solid
     *
     * Check whether the RAR archive is solid. Individual file extraction is
     * slower on solid archives.
     *
     * @return bool Returns TRUE if the archive is solid, FALSE otherwise.
     * @since PECL rar >= 2.0.0
     **/
    public function isSolid(){}

    /**
     * Open RAR archive
     *
     * Open specified RAR archive and return RarArchive instance representing
     * it.
     *
     * @param string $filename Path to the Rar archive.
     * @param string $password A plain password, if needed to decrypt the
     *   headers. It will also be used by default if encrypted files are
     *   found. Note that the files may have different passwords in respect
     *   to the headers and among them.
     * @param callable $volume_callback A function that receives one
     *   parameter – the path of the volume that was not found – and
     *   returns a string with the correct path for such volume or NULL if
     *   such volume does not exist or is not known. The programmer should
     *   ensure the passed function doesn't cause loops as this function is
     *   called repeatedly if the path returned in a previous call did not
     *   correspond to the needed volume. Specifying this parameter omits the
     *   notice that would otherwise be emitted whenever a volume is not
     *   found; an implementation that only returns NULL can therefore be
     *   used to merely omit such notices.
     * @return RarArchive Returns the requested RarArchive instance .
     * @since PECL rar >= 2.0.0
     **/
    public static function open($filename, $password, $volume_callback){}

    /**
     * Whether opening broken archives is allowed
     *
     * This method defines whether broken archives can be read or all the
     * operations that attempt to extract the archive entries will fail.
     * Broken archives are archives for which no error is detected when the
     * file is opened but an error occurs when reading the entries.
     *
     * @param bool $allow_broken A RarArchive object, opened with {@link
     *   rar_open}.
     * @return bool Returns TRUE . It will only fail if the file has
     *   already been closed.
     * @since PECL rar >= 3.0.0
     **/
    public function setAllowBroken($allow_broken){}

    /**
     * Get text representation
     *
     * Provides a string representation for this RarArchive object. It
     * currently shows the full path name of the archive volume that was
     * opened and whether the resource is valid or was already closed through
     * a call to RarArchive::close.
     *
     * This method may be used only for debugging purposes, as there are no
     * guarantees as to which information the result contains or how it is
     * formatted.
     *
     * @return string A textual representation of this RarArchive object.
     *   The content of this representation is unspecified.
     * @since PECL rar >= 2.0.0
     **/
    public function __toString(){}

}
/**
 * A RAR entry, representing a directory or a compressed file inside a
 * RAR archive.
 **/
final class RarEntry {
    /**
     * @var integer
     **/
    const ATTRIBUTE_UNIX_BLOCK_DEV = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_UNIX_CHAR_DEV = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_UNIX_DIRECTORY = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_UNIX_FIFO = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_UNIX_FINAL_QUARTET = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_UNIX_GROUP_EXECUTE = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_UNIX_GROUP_READ = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_UNIX_GROUP_WRITE = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_UNIX_OWNER_EXECUTE = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_UNIX_OWNER_READ = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_UNIX_OWNER_WRITE = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_UNIX_REGULAR_FILE = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_UNIX_SETGID = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_UNIX_SETUID = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_UNIX_SOCKET = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_UNIX_STICKY = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_UNIX_SYM_LINK = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_UNIX_WORLD_EXECUTE = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_UNIX_WORLD_READ = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_UNIX_WORLD_WRITE = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_WIN_ARCHIVE = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_WIN_COMPRESSED = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_WIN_DEVICE = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_WIN_DIRECTORY = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_WIN_ENCRYPTED = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_WIN_HIDDEN = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_WIN_NORMAL = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_WIN_NOT_CONTENT_INDEXED = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_WIN_OFFLINE = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_WIN_READONLY = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_WIN_REPARSE_POINT = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_WIN_SPARSE_FILE = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_WIN_SYSTEM = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_WIN_TEMPORARY = 0;

    /**
     * @var integer
     **/
    const ATTRIBUTE_WIN_VIRTUAL = 0;

    /**
     * @var integer
     **/
    const HOST_BEOS = 0;

    /**
     * @var integer
     **/
    const HOST_MACOS = 0;

    /**
     * @var integer
     **/
    const HOST_MSDOS = 0;

    /**
     * @var integer
     **/
    const HOST_OS2 = 0;

    /**
     * @var integer
     **/
    const HOST_UNIX = 0;

    /**
     * @var integer
     **/
    const HOST_WIN32 = 0;

    /**
     * Extract entry from the archive
     *
     * RarEntry::extract extracts the entry's data. It will create new file
     * in the specified {@link dir} with the name identical to the entry's
     * name, unless the second argument is specified. See below for more
     * information.
     *
     * @param string $dir Path to the directory where files should be
     *   extracted. This parameter is considered if and only if {@link
     *   filepath} is not. If both parameters are empty an extraction to the
     *   current directory will be attempted.
     * @param string $filepath Path (relative or absolute) containing the
     *   directory and filename of the extracted file. This parameter
     *   overrides both the parameter {@link dir} and the original file name.
     * @param string $password The password used to encrypt this entry. If
     *   the entry is not encrypted, this value will not be used and can be
     *   omitted. If this parameter is omitted and the entry is encrypted,
     *   the password given to {@link rar_open}, if any, will be used. If a
     *   wrong password is given, either explicitly or implicitly via {@link
     *   rar_open}, CRC checking will fail and this method will fail and
     *   return FALSE. If no password is given and one is required, this
     *   method will fail and return FALSE. You can check whether an entry is
     *   encrypted with RarEntry::isEncrypted.
     * @param bool $extended_data If TRUE, extended information such as
     *   NTFS ACLs and Unix owner information will be set in the extract
     *   files, as long as it's present in the archive.
     * @return bool
     * @since PECL rar >= 0.1
     **/
    public function extract($dir, $filepath, $password, $extended_data){}

    /**
     * Get attributes of the entry
     *
     * Returns the OS-dependent attributes of the archive entry.
     *
     * @return int Returns the attributes or FALSE on error.
     * @since PECL rar >= 0.1
     **/
    public function getAttr(){}

    /**
     * Get CRC of the entry
     *
     * Returns an hexadecimal string representation of the CRC of the archive
     * entry.
     *
     * @return string Returns the CRC of the archive entry or FALSE on
     *   error.
     * @since PECL rar >= 0.1
     **/
    public function getCrc(){}

    /**
     * Get entry last modification time
     *
     * Gets entry last modification time.
     *
     * @return string Returns entry last modification time as string in
     *   format YYYY-MM-DD HH:II:SS, or FALSE on error.
     * @since PECL rar >= 0.1
     **/
    public function getFileTime(){}

    /**
     * Get entry host OS
     *
     * Returns the code of the host OS of the archive entry.
     *
     * @return int Returns the code of the host OS, or FALSE on error.
     * @since PECL rar >= 0.1
     **/
    public function getHostOs(){}

    /**
     * Get pack method of the entry
     *
     * RarEntry::getMethod returns number of the method used when adding
     * current archive entry.
     *
     * @return int Returns the method number or FALSE on error.
     * @since PECL rar >= 0.1
     **/
    public function getMethod(){}

    /**
     * Get name of the entry
     *
     * Returns the name (with path) of the archive entry.
     *
     * @return string Returns the entry name as a string, or FALSE on
     *   error.
     * @since PECL rar >= 0.1
     **/
    public function getName(){}

    /**
     * Get packed size of the entry
     *
     * Get packed size of the archive entry.
     *
     * @return int Returns the packed size, or FALSE on error.
     * @since PECL rar >= 0.1
     **/
    public function getPackedSize(){}

    /**
     * Get file handler for entry
     *
     * Returns a file handler that supports read operations. This handler
     * provides on-the-fly decompression for this entry.
     *
     * The handler is not invalidated by calling {@link rar_close}.
     *
     * @param string $password The password used to encrypt this entry. If
     *   the entry is not encrypted, this value will not be used and can be
     *   omitted. If this parameter is omitted and the entry is encrypted,
     *   the password given to {@link rar_open}, if any, will be used. If a
     *   wrong password is given, either explicitly or implicitly via {@link
     *   rar_open}, this method's resulting stream will produce wrong output.
     *   If no password is given and one is required, this method will fail
     *   and return FALSE. You can check whether an entry is encrypted with
     *   RarEntry::isEncrypted.
     * @return resource The file handler .
     * @since PECL rar >= 2.0.0
     **/
    public function getStream($password){}

    /**
     * Get unpacked size of the entry
     *
     * Get unpacked size of the archive entry.
     *
     * @return int Returns the unpacked size, or FALSE on error.
     * @since PECL rar >= 0.1
     **/
    public function getUnpackedSize(){}

    /**
     * Get minimum version of RAR program required to unpack the entry
     *
     * Returns minimum version of RAR program (e.g. WinRAR) required to
     * unpack the entry. It is encoded as 10 * major version + minor version.
     *
     * @return int Returns the version or FALSE on error.
     * @since PECL rar >= 0.1
     **/
    public function getVersion(){}

    /**
     * Test whether an entry represents a directory
     *
     * Tests whether the current entry is a directory.
     *
     * @return bool Returns TRUE if this entry is a directory and FALSE
     *   otherwise.
     * @since PECL rar >= 2.0.0
     **/
    public function isDirectory(){}

    /**
     * Test whether an entry is encrypted
     *
     * Tests whether the current entry contents are encrypted.
     *
     * @return bool Returns TRUE if the current entry is encrypted and
     *   FALSE otherwise.
     * @since PECL rar >= 2.0.0
     **/
    public function isEncrypted(){}

    /**
     * Get text representation of entry
     *
     * RarEntry::__toString returns a textual representation for this entry.
     * It includes whether the entry is a file or a directory (symbolic links
     * and other special objects will be treated as files), the UTF-8 name of
     * the entry and its CRC. The form and content of this representation may
     * be changed in the future, so they cannot be relied upon.
     *
     * @return string A textual representation for the entry.
     * @since PECL rar >= 2.0.0
     **/
    public function __toString(){}

}
/**
 * This class serves two purposes: it is the type of the exceptions
 * thrown by the RAR extension functions and methods and it allows,
 * through static methods to query and define the error behaviour of the
 * extension, i.e., whether exceptions are thrown or only warnings are
 * emitted. The following error codes are used:
 **/
final class RarException extends Exception {
    /**
     * Check whether error handling with exceptions is in use
     *
     * Checks whether the RAR functions will emit warnings and return error
     * values or whether they will throw exceptions in most of the
     * circumstances (does not include some programmatic errors such as
     * passing the wrong type of arguments).
     *
     * @return bool Returns TRUE if exceptions are being used, FALSE
     *   otherwise.
     * @since PECL rar >= 2.0.0
     **/
    public static function isUsingExceptions(){}

    /**
     * Activate and deactivate error handling with exceptions
     *
     * If and only if the argument is TRUE, then, instead of emitting
     * warnings and returning a special value indicating error when the UnRAR
     * library encounters an error, an exception of type RarException will be
     * thrown.
     *
     * Exceptions will also be thrown for the following errors, which occur
     * outside the library (their error code will be -1):
     *
     * @param bool $using_exceptions Should be TRUE to activate exception
     *   throwing, FALSE to deactivate (the default).
     * @return void
     * @since PECL rar >= 2.0.0
     **/
    public static function setUsingExceptions($using_exceptions){}

}
/**
 * This iterator allows to unset and modify values and keys while
 * iterating over Arrays and Objects in the same way as the
 * ArrayIterator. Additionally it is possible to iterate over the current
 * iterator entry.
 **/
class RecursiveArrayIterator extends ArrayIterator implements RecursiveIterator {
    /**
     * Returns an iterator for the current entry if it is an or an
     *
     * Returns an iterator for the current iterator entry.
     *
     * @return RecursiveArrayIterator An iterator for the current entry, if
     *   it is an array or object.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function getChildren(){}

    /**
     * Returns whether current entry is an array or an object
     *
     * Returns whether current entry is an array or an object for which an
     * iterator can be obtained via RecursiveArrayIterator::getChildren.
     *
     * @return bool Returns TRUE if the current entry is an array or an
     *   object, otherwise FALSE is returned.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function hasChildren(){}

}
/**
 * ...
 **/
class RecursiveCachingIterator extends CachingIterator implements Countable, ArrayAccess, OuterIterator, RecursiveIterator {
    /**
     * Return the inner iterator's children as a RecursiveCachingIterator
     *
     * @return RecursiveCachingIterator The inner iterator's children, as a
     *   RecursiveCachingIterator.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function getChildren(){}

    /**
     * Check whether the current element of the inner iterator has children
     *
     * @return bool TRUE if the inner iterator has children, otherwise
     *   FALSE
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function hasChildren(){}

    /**
     * Construct
     *
     * Constructs a new RecursiveCachingIterator, which consists of a passed
     * in {@link iterator}.
     *
     * @param Iterator $iterator The iterator being used.
     * @param string $flags The flags. Use CALL_TOSTRING to call
     *   RecursiveCachingIterator::__toString for every element (the
     *   default), and/or CATCH_GET_CHILD to catch exceptions when trying to
     *   get children.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function __construct($iterator, $flags){}

}
/**
 * The callback should accept up to three arguments: the current item,
 * the current key and the iterator, respectively. Filtering a recursive
 * iterator generally involves two conditions. The first is that, to
 * allow recursion, the callback function should return TRUE if the
 * current iterator item has children. The second is the normal filter
 * condition, such as a file size or extension check as in the example
 * below.
 **/
class RecursiveCallbackFilterIterator extends CallbackFilterIterator implements OuterIterator, RecursiveIterator {
    /**
     * Return the inner iterator's children contained in a
     * RecursiveCallbackFilterIterator
     *
     * Fetches the filtered children of the inner iterator.
     *
     * RecursiveCallbackFilterIterator::hasChildren should be used to
     * determine if there are children to be fetched.
     *
     * @return RecursiveCallbackFilterIterator Returns a
     *   RecursiveCallbackFilterIterator containing the children.
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function getChildren(){}

    /**
     * Check whether the inner iterator's current element has children
     *
     * Returns TRUE if the current element has children, FALSE otherwise.
     *
     * @return bool Returns TRUE if the current element has children, FALSE
     *   otherwise.
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function hasChildren(){}

}
/**
 * The RecursiveDirectoryIterator provides an interface for iterating
 * recursively over filesystem directories.
 **/
class RecursiveDirectoryIterator extends FilesystemIterator implements SeekableIterator, RecursiveIterator {
    /**
     * Returns an iterator for the current entry if it is a directory
     *
     * @return mixed The filename, file information, or $this depending on
     *   the set flags. See the FilesystemIterator constants.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function getChildren(){}

    /**
     * Get sub path
     *
     * Returns the sub path relative to the directory given in the
     * constructor.
     *
     * @return string The sub path.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function getSubPath(){}

    /**
     * Get sub path and name
     *
     * Gets the sub path and filename.
     *
     * @return string The sub path (sub directory) and filename.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function getSubPathname(){}

    /**
     * Returns whether current entry is a directory and not '.' or '..'
     *
     * @param bool $allow_links
     * @return bool Returns whether the current entry is a directory, but
     *   not '.' or '..'
     * @since PHP 5, PHP 7
     **/
    public function hasChildren($allow_links){}

    /**
     * Return path and filename of current dir entry
     *
     * @return string The path and filename of the current dir entry.
     * @since PHP 5, PHP 7
     **/
    public function key(){}

    /**
     * Move to next entry
     *
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function next(){}

    /**
     * Rewind dir back to the start
     *
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function rewind(){}

    /**
     * Constructs a RecursiveDirectoryIterator
     *
     * Constructs a RecursiveDirectoryIterator for the provided {@link path}.
     *
     * @param string $path The path of the directory to be iterated over.
     * @param int $flags Flags may be provided which will affect the
     *   behavior of some methods. A list of the flags can found under
     *   FilesystemIterator predefined constants. They can also be set later
     *   with FilesystemIterator::setFlags.
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function __construct($path, $flags){}

}
/**
 * This abstract iterator filters out unwanted values for a
 * RecursiveIterator. This class should be extended to implement custom
 * filters. The RecursiveFilterIterator::accept must be implemented in
 * the subclass.
 **/
abstract class RecursiveFilterIterator extends FilterIterator implements OuterIterator, RecursiveIterator {
    /**
     * Return the inner iterator's children contained in a
     * RecursiveFilterIterator
     *
     * Return the inner iterator's children contained in a
     * RecursiveFilterIterator.
     *
     * @return RecursiveFilterIterator Returns a RecursiveFilterIterator
     *   containing the inner iterator's children.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function getChildren(){}

    /**
     * Check whether the inner iterator's current element has children
     *
     * @return bool TRUE if the inner iterator has children, otherwise
     *   FALSE
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function hasChildren(){}

    /**
     * Create a RecursiveFilterIterator from a RecursiveIterator
     *
     * Create a RecursiveFilterIterator from a RecursiveIterator.
     *
     * @param RecursiveIterator $iterator The RecursiveIterator to be
     *   filtered.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function __construct($iterator){}

}
/**
 * Classes implementing RecursiveIterator can be used to iterate over
 * iterators recursively.
 **/
interface RecursiveIterator extends Iterator {
    /**
     * Returns an iterator for the current entry
     *
     * Returns an iterator for the current iterator entry.
     *
     * @return RecursiveIterator An iterator for the current entry.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function getChildren();

    /**
     * Returns if an iterator can be created for the current entry
     *
     * Returns if an iterator can be created for the current entry.
     * RecursiveIterator::getChildren.
     *
     * @return bool Returns TRUE if the current entry can be iterated over,
     *   otherwise returns FALSE.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function hasChildren();

}
/**
 * Can be used to iterate through recursive iterators.
 **/
class RecursiveIteratorIterator implements OuterIterator {
    /**
     * @var integer
     **/
    const CATCH_GET_CHILD = 0;

    /**
     * @var integer
     **/
    const CHILD_FIRST = 0;

    /**
     * @var integer
     **/
    const LEAVES_ONLY = 0;

    /**
     * @var integer
     **/
    const SELF_FIRST = 0;

    /**
     * Begin children
     *
     * Is called after calling RecursiveIteratorIterator::getChildren, and
     * its associated RecursiveIteratorIterator::rewind.
     *
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function beginChildren(){}

    /**
     * Begin Iteration
     *
     * Called when iteration begins (after the first
     * RecursiveIteratorIterator::rewind call.
     *
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function beginIteration(){}

    /**
     * Get children
     *
     * Get children of the current element.
     *
     * @return RecursiveIterator A RecursiveIterator.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function callGetChildren(){}

    /**
     * Has children
     *
     * Called for each element to test whether it has children.
     *
     * @return bool TRUE if the element has children, otherwise FALSE
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function callHasChildren(){}

    /**
     * Access the current element value
     *
     * @return mixed The current elements value.
     * @since PHP 5, PHP 7
     **/
    public function current(){}

    /**
     * End children
     *
     * Called when end recursing one level.
     *
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function endChildren(){}

    /**
     * End Iteration
     *
     * Called when the iteration ends (when RecursiveIteratorIterator::valid
     * first returns FALSE.
     *
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function endIteration(){}

    /**
     * Get the current depth of the recursive iteration
     *
     * @return int The current depth of the recursive iteration.
     * @since PHP 5, PHP 7
     **/
    public function getDepth(){}

    /**
     * Get inner iterator
     *
     * Gets the current active sub iterator.
     *
     * @return iterator The current active sub iterator.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function getInnerIterator(){}

    /**
     * Get max depth
     *
     * Gets the maximum allowable depth.
     *
     * @return mixed The maximum accepted depth, or FALSE if any depth is
     *   allowed.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function getMaxDepth(){}

    /**
     * The current active sub iterator
     *
     * @param int $level
     * @return RecursiveIterator The current active sub iterator.
     * @since PHP 5, PHP 7
     **/
    public function getSubIterator($level){}

    /**
     * Access the current key
     *
     * @return mixed The current key.
     * @since PHP 5, PHP 7
     **/
    public function key(){}

    /**
     * Move forward to the next element
     *
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function next(){}

    /**
     * Next element
     *
     * Called when the next element is available.
     *
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function nextElement(){}

    /**
     * Rewind the iterator to the first element of the top level inner
     * iterator
     *
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function rewind(){}

    /**
     * Set max depth
     *
     * Set the maximum allowed depth.
     *
     * @param int $max_depth The maximum allowed depth. -1 is used for any
     *   depth.
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function setMaxDepth($max_depth){}

    /**
     * Check whether the current position is valid
     *
     * @return bool TRUE if the current position is valid, otherwise FALSE
     * @since PHP 5, PHP 7
     **/
    public function valid(){}

    /**
     * Construct a RecursiveIteratorIterator
     *
     * Creates a RecursiveIteratorIterator from a RecursiveIterator.
     *
     * @param Traversable $iterator The iterator being constructed from.
     *   Either a RecursiveIterator or IteratorAggregate.
     * @param int $mode Optional mode. Possible values are
     *   RecursiveIteratorIterator::LEAVES_ONLY - The default. Lists only
     *   leaves in iteration. RecursiveIteratorIterator::SELF_FIRST - Lists
     *   leaves and parents in iteration with parents coming first.
     *   RecursiveIteratorIterator::CHILD_FIRST - Lists leaves and parents in
     *   iteration with leaves coming first.
     * @param int $flags Optional flag. Possible values are
     *   RecursiveIteratorIterator::CATCH_GET_CHILD which will then ignore
     *   exceptions thrown in calls to
     *   RecursiveIteratorIterator::getChildren.
     * @since PHP 5 >= 5.1.3, PHP 7
     **/
    public function __construct($iterator, $mode, $flags){}

}
/**
 * This recursive iterator can filter another recursive iterator via a
 * regular expression.
 **/
class RecursiveRegexIterator extends RegexIterator implements RecursiveIterator {
    /**
     * Returns an iterator for the current entry
     *
     * Returns an iterator for the current iterator entry.
     *
     * @return RecursiveRegexIterator An iterator for the current entry, if
     *   it can be iterated over by the inner iterator.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function getChildren(){}

    /**
     * Returns whether an iterator can be obtained for the current entry
     *
     * Returns whether an iterator can be obtained for the current entry.
     * This iterator can be obtained via RecursiveRegexIterator::getChildren.
     *
     * @return bool Returns TRUE if an iterator can be obtained for the
     *   current entry, otherwise returns FALSE.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function hasChildren(){}

}
/**
 * Allows iterating over a RecursiveIterator to generate an ASCII graphic
 * tree.
 **/
class RecursiveTreeIterator extends RecursiveIteratorIterator implements OuterIterator {
    /**
     * @var integer
     **/
    const BYPASS_CURRENT = 0;

    /**
     * @var integer
     **/
    const BYPASS_KEY = 0;

    /**
     * @var integer
     **/
    const PREFIX_END_HAS_NEXT = 0;

    /**
     * @var integer
     **/
    const PREFIX_END_LAST = 0;

    /**
     * @var integer
     **/
    const PREFIX_LEFT = 0;

    /**
     * @var integer
     **/
    const PREFIX_MID_HAS_NEXT = 0;

    /**
     * @var integer
     **/
    const PREFIX_MID_LAST = 0;

    /**
     * @var integer
     **/
    const PREFIX_RIGHT = 0;

    /**
     * Begin children
     *
     * Called when recursing one level down.
     *
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function beginChildren(){}

    /**
     * Begin iteration
     *
     * Called when iteration begins (after the first
     * RecursiveTreeIterator::rewind call).
     *
     * @return RecursiveIterator A RecursiveIterator.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function beginIteration(){}

    /**
     * Get children
     *
     * Gets children of the current element.
     *
     * @return RecursiveIterator A RecursiveIterator.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function callGetChildren(){}

    /**
     * Has children
     *
     * Called for each element to test whether it has children.
     *
     * @return bool TRUE if there are children, otherwise FALSE
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function callHasChildren(){}

    /**
     * Get current element
     *
     * Gets the current element prefixed and postfixed.
     *
     * @return string Returns the current element prefixed and postfixed.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function current(){}

    /**
     * End children
     *
     * Called when end recursing one level.
     *
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function endChildren(){}

    /**
     * End iteration
     *
     * Called when the iteration ends (when RecursiveTreeIterator::valid
     * first returns FALSE)
     *
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function endIteration(){}

    /**
     * Get current entry
     *
     * Gets the part of the tree built for the current element.
     *
     * @return string Returns the part of the tree built for the current
     *   element.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function getEntry(){}

    /**
     * Get the postfix
     *
     * Gets the string to place after the current element.
     *
     * @return string Returns the string to place after the current
     *   element.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function getPostfix(){}

    /**
     * Get the prefix
     *
     * Gets the string to place in front of current element
     *
     * @return string Returns the string to place in front of current
     *   element
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function getPrefix(){}

    /**
     * Get the key of the current element
     *
     * Gets the current key prefixed and postfixed.
     *
     * @return string Returns the current key prefixed and postfixed.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function key(){}

    /**
     * Move to next element
     *
     * Moves forward to the next element.
     *
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function next(){}

    /**
     * Next element
     *
     * Called when the next element is available.
     *
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function nextElement(){}

    /**
     * Rewind iterator
     *
     * Rewinds the iterator to the first element of the top level inner
     * iterator.
     *
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function rewind(){}

    /**
     * Set postfix
     *
     * Sets postfix as used in RecursiveTreeIterator::getPostfix.
     *
     * @param string $postfix
     * @return void
     * @since PHP 5 >= 5.5.3, PHP 7
     **/
    public function setPostfix($postfix){}

    /**
     * Set a part of the prefix
     *
     * Sets a part of the prefix used in the graphic tree.
     *
     * @param int $part One of the RecursiveTreeIterator::PREFIX_*
     *   constants.
     * @param string $value The value to assign to the part of the prefix
     *   specified in {@link part}.
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function setPrefixPart($part, $value){}

    /**
     * Check validity
     *
     * Check whether the current position is valid.
     *
     * @return bool TRUE if the current position is valid, otherwise FALSE
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function valid(){}

    /**
     * Construct a RecursiveTreeIterator
     *
     * Constructs a new RecursiveTreeIterator from the supplied recursive
     * iterator.
     *
     * @param RecursiveIterator|IteratorAggregate $it The RecursiveIterator
     *   or IteratorAggregate to iterate over.
     * @param int $flags Flags may be provided which will affect the
     *   behavior of some methods. A list of the flags can found under
     *   RecursiveTreeIterator predefined constants.
     * @param int $cit_flags Flags to affect the behavior of the
     *   RecursiveCachingIterator used internally.
     * @param int $mode Flags to affect the behavior of the
     *   RecursiveIteratorIterator used internally.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function __construct($it, $flags, $cit_flags, $mode){}

}
/**
 * The reflection class.
 **/
class Reflection {
    /**
     * Exports
     *
     * Exports a reflection.
     *
     * @param Reflector $reflector
     * @param bool $return
     * @return string
     * @since PHP 5, PHP 7
     **/
    public static function export($reflector, $return){}

    /**
     * Gets modifier names
     *
     * @param int $modifiers Bitfield of the modifiers to get.
     * @return array An array of modifier names.
     * @since PHP 5, PHP 7
     **/
    public static function getModifierNames($modifiers){}

}
/**
 * The ReflectionClass class reports information about a class.
 **/
class ReflectionClass implements Reflector {
    /**
     * @var integer
     **/
    const IS_EXPLICIT_ABSTRACT = 0;

    /**
     * @var integer
     **/
    const IS_FINAL = 0;

    /**
     * @var integer
     **/
    const IS_IMPLICIT_ABSTRACT = 0;

    /**
     * Name of the class. Read-only, throws ReflectionException in attempt to
     * write.
     *
     * @var mixed
     **/
    public $name;

    /**
     * Exports a class
     *
     * Exports a reflected class.
     *
     * @param mixed $argument
     * @param bool $return
     * @return string
     * @since PHP 5, PHP 7
     **/
    public static function export($argument, $return){}

    /**
     * Gets defined constant
     *
     * Gets the defined constant.
     *
     * @param string $name Name of the constant.
     * @return mixed Value of the constant.
     * @since PHP 5, PHP 7
     **/
    public function getConstant($name){}

    /**
     * Gets constants
     *
     * Gets all defined constants from a class, regardless of their
     * visibility.
     *
     * @return array An array of constants, where the keys hold the name
     *   and the values the value of the constants.
     * @since PHP 5, PHP 7
     **/
    public function getConstants(){}

    /**
     * Gets the constructor of the class
     *
     * Gets the constructor of the reflected class.
     *
     * @return ReflectionMethod A ReflectionMethod object reflecting the
     *   class' constructor, or NULL if the class has no constructor.
     * @since PHP 5, PHP 7
     **/
    public function getConstructor(){}

    /**
     * Gets default properties
     *
     * Gets default properties from a class (including inherited properties).
     *
     * @return array An array of default properties, with the key being the
     *   name of the property and the value being the default value of the
     *   property or NULL if the property doesn't have a default value. The
     *   function does not distinguish between static and non static
     *   properties and does not take visibility modifiers into account.
     * @since PHP 5, PHP 7
     **/
    public function getDefaultProperties(){}

    /**
     * Gets doc comments
     *
     * Gets doc comments from a class.
     *
     * @return string The doc comment if it exists, otherwise FALSE
     * @since PHP 5, PHP 7
     **/
    public function getDocComment(){}

    /**
     * Gets end line
     *
     * Gets end line number from a user-defined class definition.
     *
     * @return int The ending line number of the user defined class, or
     *   FALSE if unknown.
     * @since PHP 5, PHP 7
     **/
    public function getEndLine(){}

    /**
     * Gets a object for the extension which defined the class
     *
     * Gets a ReflectionExtension object for the extension which defined the
     * class.
     *
     * @return ReflectionExtension A ReflectionExtension object
     *   representing the extension which defined the class, or NULL for
     *   user-defined classes.
     * @since PHP 5, PHP 7
     **/
    public function getExtension(){}

    /**
     * Gets the name of the extension which defined the class
     *
     * @return string The name of the extension which defined the class, or
     *   FALSE for user-defined classes.
     * @since PHP 5, PHP 7
     **/
    public function getExtensionName(){}

    /**
     * Gets the filename of the file in which the class has been defined
     *
     * @return string Returns the filename of the file in which the class
     *   has been defined. If the class is defined in the PHP core or in a
     *   PHP extension, FALSE is returned.
     * @since PHP 5, PHP 7
     **/
    public function getFileName(){}

    /**
     * Gets the interface names
     *
     * Get the interface names.
     *
     * @return array A numerical array with interface names as the values.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function getInterfaceNames(){}

    /**
     * Gets the interfaces
     *
     * @return array An associative array of interfaces, with keys as
     *   interface names and the array values as ReflectionClass objects.
     * @since PHP 5, PHP 7
     **/
    public function getInterfaces(){}

    /**
     * Gets a for a class method
     *
     * Gets a ReflectionMethod for a class method.
     *
     * @param string $name The method name to reflect.
     * @return ReflectionMethod A ReflectionMethod.
     * @since PHP 5, PHP 7
     **/
    public function getMethod($name){}

    /**
     * Gets an array of methods
     *
     * Gets an array of methods for the class.
     *
     * @param int $filter Filter the results to include only methods with
     *   certain attributes. Defaults to no filtering. Any bitwise
     *   disjunction of ReflectionMethod::IS_STATIC,
     *   ReflectionMethod::IS_PUBLIC, ReflectionMethod::IS_PROTECTED,
     *   ReflectionMethod::IS_PRIVATE, ReflectionMethod::IS_ABSTRACT,
     *   ReflectionMethod::IS_FINAL, so that all methods with any of the
     *   given attributes will be returned.
     * @return array An array of ReflectionMethod objects reflecting each
     *   method.
     * @since PHP 5, PHP 7
     **/
    public function getMethods($filter){}

    /**
     * Gets the class modifiers
     *
     * Returns a bitfield of the access modifiers for this class.
     *
     * @return int Returns bitmask of modifier constants.
     * @since PHP 5, PHP 7
     **/
    public function getModifiers(){}

    /**
     * Gets class name
     *
     * Gets the class name.
     *
     * @return string The class name.
     * @since PHP 5, PHP 7
     **/
    public function getName(){}

    /**
     * Gets namespace name
     *
     * Gets the namespace name.
     *
     * @return string The namespace name.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function getNamespaceName(){}

    /**
     * Gets parent class
     *
     * @return ReflectionClass A ReflectionClass or FALSE if there's no
     *   parent.
     * @since PHP 5, PHP 7
     **/
    public function getParentClass(){}

    /**
     * Gets properties
     *
     * Retrieves reflected properties.
     *
     * @param int $filter The optional filter, for filtering desired
     *   property types. It's configured using the ReflectionProperty
     *   constants, and defaults to all property types.
     * @return array An array of ReflectionProperty objects.
     * @since PHP 5, PHP 7
     **/
    public function getProperties($filter){}

    /**
     * Gets a for a class's property
     *
     * Gets a ReflectionProperty for a class's property.
     *
     * @param string $name The property name.
     * @return ReflectionProperty A ReflectionProperty.
     * @since PHP 5, PHP 7
     **/
    public function getProperty($name){}

    /**
     * Gets a for a class's constant
     *
     * Gets a ReflectionClassConstant for a class's property.
     *
     * @param string $name The class constant name.
     * @return ReflectionClassConstant A ReflectionClassConstant.
     * @since PHP 7 >= 7.1.0
     **/
    public function getReflectionConstant($name){}

    /**
     * Gets class constants
     *
     * Retrieves reflected constants.
     *
     * @return array An array of ReflectionClassConstant objects.
     * @since PHP 7 >= 7.1.0
     **/
    public function getReflectionConstants(){}

    /**
     * Gets short name
     *
     * Gets the short name of the class, the part without the namespace.
     *
     * @return string The class short name.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function getShortName(){}

    /**
     * Gets starting line number
     *
     * Get the starting line number.
     *
     * @return int The starting line number, as an integer.
     * @since PHP 5, PHP 7
     **/
    public function getStartLine(){}

    /**
     * Gets static properties
     *
     * Get the static properties.
     *
     * @return array The static properties, as an array.
     * @since PHP 5, PHP 7
     **/
    public function getStaticProperties(){}

    /**
     * Gets static property value
     *
     * Gets the value of a static property on this class.
     *
     * @param string $name The name of the static property for which to
     *   return a value.
     * @param mixed $def_value A default value to return in case the class
     *   does not declare a static property with the given {@link name}. If
     *   the property does not exist and this argument is omitted, a
     *   ReflectionException is thrown.
     * @return mixed The value of the static property.
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function getStaticPropertyValue($name, &$def_value){}

    /**
     * Returns an array of trait aliases
     *
     * @return array Returns an array with new method names in keys and
     *   original names (in the format "TraitName::original") in values.
     *   Returns NULL in case of an error.
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function getTraitAliases(){}

    /**
     * Returns an array of names of traits used by this class
     *
     * @return array Returns an array with trait names in values. Returns
     *   NULL in case of an error.
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function getTraitNames(){}

    /**
     * Returns an array of traits used by this class
     *
     * @return array Returns an array with trait names in keys and
     *   instances of trait's ReflectionClass in values. Returns NULL in case
     *   of an error.
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function getTraits(){}

    /**
     * Checks if constant is defined
     *
     * Checks whether the class has a specific constant defined or not.
     *
     * @param string $name The name of the constant being checked for.
     * @return bool TRUE if the constant is defined, otherwise FALSE.
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function hasConstant($name){}

    /**
     * Checks if method is defined
     *
     * Checks whether a specific method is defined in a class.
     *
     * @param string $name Name of the method being checked for.
     * @return bool TRUE if it has the method, otherwise FALSE
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function hasMethod($name){}

    /**
     * Checks if property is defined
     *
     * Checks whether the specified property is defined.
     *
     * @param string $name Name of the property being checked for.
     * @return bool TRUE if it has the property, otherwise FALSE
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function hasProperty($name){}

    /**
     * Implements interface
     *
     * Checks whether it implements an interface.
     *
     * @param string $interface The interface name.
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function implementsInterface($interface){}

    /**
     * Checks if in namespace
     *
     * Checks if this class is defined in a namespace.
     *
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function inNamespace(){}

    /**
     * Checks if class is abstract
     *
     * Checks if the class is abstract.
     *
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function isAbstract(){}

    /**
     * Checks if class is anonymous
     *
     * Checks if a class is an anonymous class.
     *
     * @return bool
     * @since PHP 7
     **/
    public function isAnonymous(){}

    /**
     * Returns whether this class is cloneable
     *
     * @return bool Returns TRUE if the class is cloneable, FALSE
     *   otherwise.
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function isCloneable(){}

    /**
     * Checks if class is final
     *
     * Checks if a class is final.
     *
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function isFinal(){}

    /**
     * Checks class for instance
     *
     * Checks if an object is an instance of a class.
     *
     * @param object $object The object being compared to.
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function isInstance($object){}

    /**
     * Checks if the class is instantiable
     *
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function isInstantiable(){}

    /**
     * Checks if the class is an interface
     *
     * Checks whether the class is an interface.
     *
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function isInterface(){}

    /**
     * Checks if class is defined internally by an extension, or the core
     *
     * Checks if the class is defined internally by an extension, or the
     * core, as opposed to user-defined.
     *
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function isInternal(){}

    /**
     * Check whether this class is iterable
     *
     * @return bool Returns TRUE if this class is iterable (can be used
     *   inside ), FALSE otherwise.
     * @since PHP 7 >= 7.2.0
     **/
    public function isIterable(){}

    /**
     * Checks if iterateable
     *
     * Checks whether the class is iterateable.
     *
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function isIterateable(){}

    /**
     * Checks if a subclass
     *
     * Checks if the class is a subclass of a specified class or implements a
     * specified interface.
     *
     * @param string $class The class name being checked against.
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function isSubclassOf($class){}

    /**
     * Returns whether this is a trait
     *
     * @return bool Returns TRUE if this is a trait, FALSE otherwise.
     *   Returns NULL in case of an error.
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function isTrait(){}

    /**
     * Checks if user defined
     *
     * Checks whether the class is user-defined, as opposed to internal.
     *
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function isUserDefined(){}

    /**
     * Creates a new class instance from given arguments
     *
     * Creates a new instance of the class. The given arguments are passed to
     * the class constructor.
     *
     * @param mixed $args Accepts a variable number of arguments which are
     *   passed to the class constructor, much like {@link call_user_func}.
     * @return object
     * @since PHP 5, PHP 7
     **/
    public function newInstance($args){}

    /**
     * Creates a new class instance from given arguments
     *
     * Creates a new instance of the class, the given arguments are passed to
     * the class constructor.
     *
     * @param array $args The parameters to be passed to the class
     *   constructor as an array.
     * @return object Returns a new instance of the class.
     * @since PHP 5 >= 5.1.3, PHP 7
     **/
    public function newInstanceArgs($args){}

    /**
     * Creates a new class instance without invoking the constructor
     *
     * Creates a new instance of the class without invoking the constructor.
     *
     * @return object
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function newInstanceWithoutConstructor(){}

    /**
     * Sets static property value
     *
     * @param string $name Property name.
     * @param mixed $value New property value.
     * @return void
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function setStaticPropertyValue($name, $value){}

    /**
     * Constructs a ReflectionClass
     *
     * Constructs a new ReflectionClass object.
     *
     * @param mixed $argument Either a string containing the name of the
     *   class to reflect, or an object.
     * @since PHP 5, PHP 7
     **/
    public function __construct($argument){}

    /**
     * Returns the string representation of the ReflectionClass object
     *
     * @return string A string representation of this ReflectionClass
     *   instance.
     * @since PHP 5, PHP 7
     **/
    public function __toString(){}

}
/**
 * The ReflectionClassConstant class reports information about a class
 * constant.
 **/
class ReflectionClassConstant implements Reflector {
    /**
     * Name of the class where the class constant is defined. Read-only,
     * throws ReflectionException in attempt to write.
     *
     * @var mixed
     **/
    public $class;

    /**
     * Name of the class constant. Read-only, throws ReflectionException in
     * attempt to write.
     *
     * @var mixed
     **/
    public $name;

    /**
     * Export
     *
     * Exports a reflection.
     *
     * @param mixed $class
     * @param string $name The class constant name.
     * @param bool $return
     * @return string
     * @since PHP 7 >= 7.1.0
     **/
    public static function export($class, $name, $return){}

    /**
     * Gets declaring class
     *
     * Gets the declaring class.
     *
     * @return ReflectionClass A ReflectionClass object.
     * @since PHP 7 >= 7.1.0
     **/
    public function getDeclaringClass(){}

    /**
     * Gets doc comments
     *
     * Gets doc comments from a class constant.
     *
     * @return string The doc comment if it exists, otherwise FALSE
     * @since PHP 7 >= 7.1.0
     **/
    public function getDocComment(){}

    /**
     * Gets the class constant modifiers
     *
     * Returns a bitfield of the access modifiers for this class constant.
     *
     * @return int A numeric representation of the modifiers. The actual
     *   meanings of these modifiers are described in the predefined
     *   constants.
     * @since PHP 7 >= 7.1.0
     **/
    public function getModifiers(){}

    /**
     * Get name of the constant
     *
     * @return string Returns the constant's name.
     * @since PHP 7 >= 7.1.0
     **/
    public function getName(){}

    /**
     * Gets value
     *
     * Gets the class constant's value.
     *
     * @return mixed The value of the class constant.
     * @since PHP 7 >= 7.1.0
     **/
    public function getValue(){}

    /**
     * Checks if class constant is private
     *
     * Checks if the class constant is private.
     *
     * @return bool TRUE if the class constant is private, otherwise FALSE
     * @since PHP 7 >= 7.1.0
     **/
    public function isPrivate(){}

    /**
     * Checks if class constant is protected
     *
     * Checks if the class constant is protected.
     *
     * @return bool TRUE if the class constant is protected, otherwise
     *   FALSE
     * @since PHP 7 >= 7.1.0
     **/
    public function isProtected(){}

    /**
     * Checks if class constant is public
     *
     * Checks if the class constant is public.
     *
     * @return bool TRUE if the class constant is public, otherwise FALSE
     * @since PHP 7 >= 7.1.0
     **/
    public function isPublic(){}

    /**
     * Constructs a ReflectionClassConstant
     *
     * Constructs a new ReflectionClassConstant object.
     *
     * @param mixed $class Either a string containing the name of the class
     *   to reflect, or an object.
     * @param string $name The name of the class constant.
     * @since PHP 7 >= 7.1.0
     **/
    public function __construct($class, $name){}

    /**
     * Returns the string representation of the ReflectionClassConstant
     * object
     *
     * @return string A string representation of this
     *   ReflectionClassConstant instance.
     * @since PHP 7 >= 7.1.0
     **/
    public function __toString(){}

}
/**
 * The ReflectionException class.
 **/
class ReflectionException extends Exception {
}
/**
 * The ReflectionExtension class reports information about an extension.
 **/
class ReflectionExtension implements Reflector {
    /**
     * Name of the extension, same as calling the
     * ReflectionExtension::getName method.
     *
     * @var mixed
     **/
    public $name;

    /**
     * Export
     *
     * Exports a reflected extension. The output format of this function is
     * the same as the CLI argument --re [extension].
     *
     * @param string $name
     * @param string $return
     * @return string
     * @since PHP 5, PHP 7
     **/
    public static function export($name, $return){}

    /**
     * Gets classes
     *
     * Gets a list of classes from an extension.
     *
     * @return array An array of ReflectionClass objects, one for each
     *   class within the extension. If no classes are defined, an empty
     *   array is returned.
     * @since PHP 5, PHP 7
     **/
    public function getClasses(){}

    /**
     * Gets class names
     *
     * Gets a listing of class names as defined in the extension.
     *
     * @return array An array of class names, as defined in the extension.
     *   If no classes are defined, an empty array is returned.
     * @since PHP 5, PHP 7
     **/
    public function getClassNames(){}

    /**
     * Gets constants
     *
     * Get defined constants from an extension.
     *
     * @return array An associative array with constant names as keys.
     * @since PHP 5, PHP 7
     **/
    public function getConstants(){}

    /**
     * Gets dependencies
     *
     * Gets dependencies, by listing both required and conflicting
     * dependencies.
     *
     * @return array An associative array with dependencies as keys and
     *   either Required, Optional or Conflicts as the values.
     * @since PHP 5 >= 5.1.3, PHP 7
     **/
    public function getDependencies(){}

    /**
     * Gets extension functions
     *
     * Get defined functions from an extension.
     *
     * @return array An associative array of ReflectionFunction objects,
     *   for each function defined in the extension with the keys being the
     *   function names. If no function are defined, an empty array is
     *   returned.
     * @since PHP 5, PHP 7
     **/
    public function getFunctions(){}

    /**
     * Gets extension ini entries
     *
     * Get the ini entries for an extension.
     *
     * @return array An associative array with the ini entries as keys,
     *   with their defined values as values.
     * @since PHP 5, PHP 7
     **/
    public function getINIEntries(){}

    /**
     * Gets extension name
     *
     * Gets the extensions name.
     *
     * @return string The extensions name.
     * @since PHP 5, PHP 7
     **/
    public function getName(){}

    /**
     * Gets extension version
     *
     * Gets the version of the extension.
     *
     * @return string The version of the extension.
     * @since PHP 5, PHP 7
     **/
    public function getVersion(){}

    /**
     * Print extension info
     *
     * Prints out the "{@link phpinfo}" snippet for the given extension.
     *
     * @return void Information about the extension.
     * @since PHP 5 >= 5.2.4, PHP 7
     **/
    public function info(){}

    /**
     * Returns whether this extension is persistent
     *
     * @return void Returns TRUE for extensions loaded by extension, FALSE
     *   otherwise.
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function isPersistent(){}

    /**
     * Returns whether this extension is temporary
     *
     * @return void Returns TRUE for extensions loaded by {@link dl}, FALSE
     *   otherwise.
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function isTemporary(){}

    /**
     * Clones
     *
     * The clone method prevents an object from being cloned. Reflection
     * objects cannot be cloned.
     *
     * @return void No value is returned, if called a fatal error will
     *   occur.
     * @since PHP 5, PHP 7
     **/
    final private function __clone(){}

    /**
     * Constructs a ReflectionExtension
     *
     * Construct a ReflectionExtension object.
     *
     * @param string $name Name of the extension.
     * @since PHP 5, PHP 7
     **/
    public function __construct($name){}

    /**
     * To string
     *
     * Exports a reflected extension and returns it as a string. This is the
     * same as the ReflectionExtension::export with the {@link return} set to
     * TRUE.
     *
     * @return string Returns the exported extension as a string, in the
     *   same way as the ReflectionExtension::export.
     * @since PHP 5, PHP 7
     **/
    public function __toString(){}

}
/**
 * The ReflectionFunction class reports information about a function.
 **/
class ReflectionFunction extends ReflectionFunctionAbstract implements Reflector {
    /**
     * @var integer
     **/
    const IS_DEPRECATED = 0;

    /**
     * Name of the function. Read-only, throws ReflectionException in attempt
     * to write.
     *
     * @var mixed
     **/
    public $name;

    /**
     * Exports function
     *
     * Exports a Reflected function.
     *
     * @param string $name
     * @param string $return
     * @return string
     * @since PHP 5, PHP 7
     **/
    public static function export($name, $return){}

    /**
     * Returns a dynamically created closure for the function
     *
     * @return Closure Returns Closure. Returns NULL in case of an error.
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function getClosure(){}

    /**
     * Invokes function
     *
     * Invokes a reflected function.
     *
     * @param mixed $parameter The passed in argument list. It accepts a
     *   variable number of arguments which are passed to the function much
     *   like {@link call_user_func} is.
     * @return mixed Returns the result of the invoked function call.
     * @since PHP 5, PHP 7
     **/
    public function invoke($parameter){}

    /**
     * Invokes function args
     *
     * Invokes the function and pass its arguments as array.
     *
     * @param array $args The passed arguments to the function as an array,
     *   much like {@link call_user_func_array} works.
     * @return mixed Returns the result of the invoked function
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function invokeArgs($args){}

    /**
     * Checks if function is disabled
     *
     * Checks if the function is disabled, via the disable_functions
     * directive.
     *
     * @return bool TRUE if it's disable, otherwise FALSE
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function isDisabled(){}

    /**
     * Constructs a ReflectionFunction object
     *
     * Constructs a ReflectionFunction object.
     *
     * @param mixed $name The name of the function to reflect or a closure.
     * @since PHP 5, PHP 7
     **/
    public function __construct($name){}

    /**
     * To string
     *
     * @return string Returns ReflectionFunction::export-like output for
     *   the function.
     * @since PHP 5, PHP 7
     **/
    public function __toString(){}

}
/**
 * A parent class to ReflectionFunction, read its description for
 * details.
 **/
abstract class ReflectionFunctionAbstract implements Reflector {
    /**
     * Name of the function. Read-only, throws ReflectionException in attempt
     * to write.
     *
     * @var mixed
     **/
    public $name;

    /**
     * Returns the scope associated to the closure
     *
     * @return ReflectionClass Returns the class on success or NULL on
     *   failure.
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function getClosureScopeClass(){}

    /**
     * Returns this pointer bound to closure
     *
     * @return object Returns $this pointer. Returns NULL in case of an
     *   error.
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function getClosureThis(){}

    /**
     * Gets doc comment
     *
     * Get a Doc comment from a function.
     *
     * @return string The doc comment if it exists, otherwise FALSE
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function getDocComment(){}

    /**
     * Gets end line number
     *
     * Get the ending line number.
     *
     * @return int The ending line number of the user defined function, or
     *   FALSE if unknown.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function getEndLine(){}

    /**
     * Gets extension info
     *
     * Get the extension information of a function.
     *
     * @return ReflectionExtension The extension information, as a
     *   ReflectionExtension object.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function getExtension(){}

    /**
     * Gets extension name
     *
     * Get the extensions name.
     *
     * @return string The extensions name.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function getExtensionName(){}

    /**
     * Gets file name
     *
     * Gets the file name from a user-defined function.
     *
     * @return string The file name.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function getFileName(){}

    /**
     * Gets function name
     *
     * Get the name of the function.
     *
     * @return string The name of the function.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function getName(){}

    /**
     * Gets namespace name
     *
     * Get the namespace name where the class is defined.
     *
     * @return string The namespace name.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function getNamespaceName(){}

    /**
     * Gets number of parameters
     *
     * Get the number of parameters that a function defines, both optional
     * and required.
     *
     * @return int The number of parameters.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function getNumberOfParameters(){}

    /**
     * Gets number of required parameters
     *
     * Get the number of required parameters that a function defines.
     *
     * @return int The number of required parameters.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function getNumberOfRequiredParameters(){}

    /**
     * Gets parameters
     *
     * Get the parameters as an array of ReflectionParameter.
     *
     * @return array The parameters, as a ReflectionParameter object.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function getParameters(){}

    /**
     * Gets the specified return type of a function
     *
     * Gets the specified return type of a reflected function.
     *
     * @return ReflectionType Returns a ReflectionType object if a return
     *   type is specified, NULL otherwise.
     * @since PHP 7
     **/
    public function getReturnType(){}

    /**
     * Gets function short name
     *
     * Get the short name of the function (without the namespace part).
     *
     * @return string The short name of the function.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function getShortName(){}

    /**
     * Gets starting line number
     *
     * Gets the starting line number of the function.
     *
     * @return int The starting line number.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function getStartLine(){}

    /**
     * Gets static variables
     *
     * Get the static variables.
     *
     * @return array An array of static variables.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function getStaticVariables(){}

    /**
     * Checks if the function has a specified return type
     *
     * Checks whether the reflected function has a return type specified.
     *
     * @return bool Returns TRUE if the function is a specified return
     *   type, otherwise FALSE.
     * @since PHP 7
     **/
    public function hasReturnType(){}

    /**
     * Checks if function in namespace
     *
     * Checks whether a function is defined in a namespace.
     *
     * @return bool TRUE if it's in a namespace, otherwise FALSE
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function inNamespace(){}

    /**
     * Checks if closure
     *
     * Checks whether the reflected function is a Closure.
     *
     * @return bool Returns TRUE if the function is a Closure, otherwise
     *   FALSE.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function isClosure(){}

    /**
     * Checks if deprecated
     *
     * Checks whether the function is deprecated.
     *
     * @return bool TRUE if it's deprecated, otherwise FALSE
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function isDeprecated(){}

    /**
     * Returns whether this function is a generator
     *
     * @return bool Returns TRUE if the function is generator, FALSE if it
     *   is not or NULL on failure.
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function isGenerator(){}

    /**
     * Checks if is internal
     *
     * Checks whether the function is internal, as opposed to user-defined.
     *
     * @return bool TRUE if it's internal, otherwise FALSE
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function isInternal(){}

    /**
     * Checks if user defined
     *
     * Checks whether the function is user-defined, as opposed to internal.
     *
     * @return bool TRUE if it's user-defined, otherwise false;
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function isUserDefined(){}

    /**
     * Checks if the function is variadic
     *
     * Checks if the function is variadic.
     *
     * @return bool Returns TRUE if the function is variadic, otherwise
     *   FALSE.
     * @since PHP 5 >= 5.6.0, PHP 7
     **/
    public function isVariadic(){}

    /**
     * Checks if returns reference
     *
     * Checks whether the function returns a reference.
     *
     * @return bool TRUE if it returns a reference, otherwise FALSE
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function returnsReference(){}

    /**
     * Clones function
     *
     * Clones a function.
     *
     * @return void
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    final private function __clone(){}

    /**
     * To string
     *
     * @return void The string.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    abstract public function __toString();

}
/**
 * The ReflectionGenerator class reports information about a generator.
 **/
class ReflectionGenerator {
    /**
     * Gets the file name of the currently executing generator
     *
     * Get the full path and file name of the currently executing generator.
     *
     * @return string Returns the full path and file name of the currently
     *   executing generator.
     * @since PHP 7
     **/
    public function getExecutingFile(){}

    /**
     * Gets the executing object
     *
     * Get the executing Generator object
     *
     * @return Generator Returns the currently executing Generator object.
     * @since PHP 7
     **/
    public function getExecutingGenerator(){}

    /**
     * Gets the currently executing line of the generator
     *
     * Get the currently executing line number of the generator.
     *
     * @return int Returns the line number of the currently executing
     *   statement in the generator.
     * @since PHP 7
     **/
    public function getExecutingLine(){}

    /**
     * Gets the function name of the generator
     *
     * Enables the function name of the generator to be obtained by returning
     * a class derived from ReflectionFunctionAbstract.
     *
     * @return ReflectionFunctionAbstract Returns a
     *   ReflectionFunctionAbstract class. This will be ReflectionFunction
     *   for functions, or ReflectionMethod for methods.
     * @since PHP 7
     **/
    public function getFunction(){}

    /**
     * Gets the value of the generator
     *
     * Get the $this value that the generator has access to.
     *
     * @return object Returns the $this value, or NULL if the generator was
     *   not created in a class context.
     * @since PHP 7
     **/
    public function getThis(){}

    /**
     * Gets the trace of the executing generator
     *
     * Get the trace of the currently executing generator.
     *
     * @param int $options The value of {@link options} can be any of the
     *   following the following flags.
     *   
     *   Available options Option Description DEBUG_BACKTRACE_PROVIDE_OBJECT
     *   Default. DEBUG_BACKTRACE_IGNORE_ARGS Don't include the argument
     *   information for functions in the stack trace.
     * @return array Returns the trace of the currently executing
     *   generator.
     * @since PHP 7
     **/
    public function getTrace($options){}

    /**
     * Constructs a ReflectionGenerator object
     *
     * Constructs a ReflectionGenerator object.
     *
     * @param Generator $generator A generator object.
     * @since PHP 7
     **/
    public function __construct($generator){}

}
/**
 * The ReflectionMethod class reports information about a method.
 **/
class ReflectionMethod extends ReflectionFunctionAbstract implements Reflector {
    /**
     * @var integer
     **/
    const IS_ABSTRACT = 0;

    /**
     * @var integer
     **/
    const IS_FINAL = 0;

    /**
     * @var integer
     **/
    const IS_PRIVATE = 0;

    /**
     * @var integer
     **/
    const IS_PROTECTED = 0;

    /**
     * @var integer
     **/
    const IS_PUBLIC = 0;

    /**
     * @var integer
     **/
    const IS_STATIC = 0;

    /**
     * Class name
     *
     * @var mixed
     **/
    public $class;

    /**
     * Method name
     *
     * @var mixed
     **/
    public $name;

    /**
     * Export a reflection method
     *
     * Exports a ReflectionMethod.
     *
     * @param string $class The class name.
     * @param string $name The name of the method.
     * @param bool $return
     * @return string
     * @since PHP 5, PHP 7
     **/
    public static function export($class, $name, $return){}

    /**
     * Returns a dynamically created closure for the method
     *
     * @param object $object Forbidden for static methods, required for
     *   other methods.
     * @return Closure Returns Closure. Returns NULL in case of an error.
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function getClosure($object){}

    /**
     * Gets declaring class for the reflected method
     *
     * Gets the declaring class for the reflected method.
     *
     * @return ReflectionClass A ReflectionClass object of the class that
     *   the reflected method is part of.
     * @since PHP 5, PHP 7
     **/
    public function getDeclaringClass(){}

    /**
     * Gets the method modifiers
     *
     * Returns a bitfield of the access modifiers for this method.
     *
     * @return int A numeric representation of the modifiers. The modifiers
     *   are listed below. The actual meanings of these modifiers are
     *   described in the predefined constants.
     * @since PHP 5, PHP 7
     **/
    public function getModifiers(){}

    /**
     * Gets the method prototype (if there is one)
     *
     * Returns the methods prototype.
     *
     * @return ReflectionMethod A ReflectionMethod instance of the method
     *   prototype.
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function getPrototype(){}

    /**
     * Invoke
     *
     * Invokes a reflected method.
     *
     * @param object $object The object to invoke the method on. For static
     *   methods, pass null to this parameter.
     * @param mixed $parameter Zero or more parameters to be passed to the
     *   method. It accepts a variable number of parameters which are passed
     *   to the method.
     * @return mixed Returns the method result.
     * @since PHP 5, PHP 7
     **/
    public function invoke($object, $parameter){}

    /**
     * Invoke args
     *
     * Invokes the reflected method and pass its arguments as array.
     *
     * @param object $object The object to invoke the method on. In case of
     *   static methods, you can pass null to this parameter.
     * @param array $args The parameters to be passed to the function, as
     *   an array.
     * @return mixed Returns the method result.
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function invokeArgs($object, $args){}

    /**
     * Checks if method is abstract
     *
     * Checks if the method is abstract.
     *
     * @return bool TRUE if the method is abstract, otherwise FALSE
     * @since PHP 5, PHP 7
     **/
    public function isAbstract(){}

    /**
     * Checks if method is a constructor
     *
     * Checks if the method is a constructor.
     *
     * @return bool TRUE if the method is a constructor, otherwise FALSE
     * @since PHP 5, PHP 7
     **/
    public function isConstructor(){}

    /**
     * Checks if method is a destructor
     *
     * Checks if the method is a destructor.
     *
     * @return bool TRUE if the method is a destructor, otherwise FALSE
     * @since PHP 5, PHP 7
     **/
    public function isDestructor(){}

    /**
     * Checks if method is final
     *
     * Checks if the method is final.
     *
     * @return bool TRUE if the method is final, otherwise FALSE
     * @since PHP 5, PHP 7
     **/
    public function isFinal(){}

    /**
     * Checks if method is private
     *
     * Checks if the method is private.
     *
     * @return bool TRUE if the method is private, otherwise FALSE
     * @since PHP 5, PHP 7
     **/
    public function isPrivate(){}

    /**
     * Checks if method is protected
     *
     * Checks if the method is protected.
     *
     * @return bool TRUE if the method is protected, otherwise FALSE
     * @since PHP 5, PHP 7
     **/
    public function isProtected(){}

    /**
     * Checks if method is public
     *
     * Checks if the method is public.
     *
     * @return bool TRUE if the method is public, otherwise FALSE
     * @since PHP 5, PHP 7
     **/
    public function isPublic(){}

    /**
     * Checks if method is static
     *
     * Checks if the method is static.
     *
     * @return bool TRUE if the method is static, otherwise FALSE
     * @since PHP 5, PHP 7
     **/
    public function isStatic(){}

    /**
     * Set method accessibility
     *
     * Sets a method to be accessible. For example, it may allow protected
     * and private methods to be invoked.
     *
     * @param bool $accessible TRUE to allow accessibility, or FALSE.
     * @return void
     * @since PHP 5 >= 5.3.2, PHP 7
     **/
    public function setAccessible($accessible){}

    /**
     * Constructs a ReflectionMethod
     *
     * Constructs a new ReflectionMethod.
     *
     * @param mixed $class Classname or object (instance of the class) that
     *   contains the method.
     * @param string $name Name of the method.
     * @since PHP 5, PHP 7
     **/
    public function __construct($class, $name){}

    /**
     * Returns the string representation of the Reflection method object
     *
     * @return string A string representation of this ReflectionMethod
     *   instance.
     * @since PHP 5, PHP 7
     **/
    public function __toString(){}

}
class ReflectionNamedType extends ReflectionType {
    /**
     * Get the text of the type hint
     *
     * @return string Returns the text of the type hint.
     * @since PHP 7 >= 7.1.0
     **/
    public function getName(){}

}
/**
 * The ReflectionObject class reports information about an object.
 **/
class ReflectionObject extends ReflectionClass implements Reflector {
    /**
     * @var integer
     **/
    const IS_EXPLICIT_ABSTRACT = 0;

    /**
     * @var integer
     **/
    const IS_FINAL = 0;

    /**
     * @var integer
     **/
    const IS_IMPLICIT_ABSTRACT = 0;

    /**
     * Name of the object's class. Read-only, throws ReflectionException in
     * attempt to write.
     *
     * @var mixed
     **/
    public $name;

    /**
     * Export
     *
     * Exports a reflection.
     *
     * @param string $argument
     * @param bool $return
     * @return string
     * @since PHP 5, PHP 7
     **/
    public static function export($argument, $return){}

    /**
     * Constructs a ReflectionObject
     *
     * Constructs a ReflectionObject.
     *
     * @param object $argument An object instance.
     * @since PHP 5, PHP 7
     **/
    public function __construct($argument){}

}
/**
 * The ReflectionParameter class retrieves information about function's
 * or method's parameters. To introspect function parameters, first
 * create an instance of the ReflectionFunction or ReflectionMethod
 * classes and then use their ReflectionFunctionAbstract::getParameters
 * method to retrieve an array of parameters.
 **/
class ReflectionParameter implements Reflector {
    /**
     * Name of the parameter. Read-only, throws ReflectionException in
     * attempt to write.
     *
     * @var mixed
     **/
    public $name;

    /**
     * Checks if null is allowed
     *
     * Checks whether the parameter allows NULL.
     *
     * @return bool TRUE if NULL is allowed, otherwise FALSE
     * @since PHP 5, PHP 7
     **/
    public function allowsNull(){}

    /**
     * Returns whether this parameter can be passed by value
     *
     * @return bool Returns TRUE if the parameter can be passed by value,
     *   FALSE otherwise. Returns NULL in case of an error.
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function canBePassedByValue(){}

    /**
     * Exports
     *
     * @param string $function The function name.
     * @param string $parameter The parameter name.
     * @param bool $return
     * @return string The exported reflection.
     * @since PHP 5, PHP 7
     **/
    public static function export($function, $parameter, $return){}

    /**
     * Get the type hinted class
     *
     * Gets the class type hinted for the parameter as a ReflectionClass
     * object.
     *
     * @return ReflectionClass A ReflectionClass object.
     * @since PHP 5, PHP 7
     **/
    public function getClass(){}

    /**
     * Gets declaring class
     *
     * Gets the declaring class.
     *
     * @return ReflectionClass A ReflectionClass object or NULL if called
     *   on function.
     * @since PHP 5 >= 5.1.3, PHP 7
     **/
    public function getDeclaringClass(){}

    /**
     * Gets declaring function
     *
     * Gets the declaring function.
     *
     * @return ReflectionFunctionAbstract A ReflectionFunction object.
     * @since PHP 5 >= 5.1.3, PHP 7
     **/
    public function getDeclaringFunction(){}

    /**
     * Gets default parameter value
     *
     * Gets the default value of the parameter for a user-defined function or
     * method. If the parameter is not optional a ReflectionException will be
     * thrown.
     *
     * @return mixed The parameters default value.
     * @since PHP 5 >= 5.0.3, PHP 7
     **/
    public function getDefaultValue(){}

    /**
     * Returns the default value's constant name if default value is constant
     * or null
     *
     * Returns the default value's constant name of the parameter of a
     * user-defined function or method, if default value is constant or null.
     * If the parameter is not optional a ReflectionException will be thrown.
     *
     * @return string Returns string on success or NULL on failure.
     * @since PHP 5 >= 5.4.6, PHP 7
     **/
    public function getDefaultValueConstantName(){}

    /**
     * Gets parameter name
     *
     * Gets the name of the parameter.
     *
     * @return string The name of the reflected parameter.
     * @since PHP 5, PHP 7
     **/
    public function getName(){}

    /**
     * Gets parameter position
     *
     * Gets the position of the parameter.
     *
     * @return int The position of the parameter, left to right, starting
     *   at position #0.
     * @since PHP 5 >= 5.1.3, PHP 7
     **/
    public function getPosition(){}

    /**
     * Gets a parameter's type
     *
     * Gets the associated type of a parameter.
     *
     * @return ReflectionType Returns a ReflectionType object if a
     *   parameter type is specified, NULL otherwise.
     * @since PHP 7
     **/
    public function getType(){}

    /**
     * Checks if parameter has a type
     *
     * Checks if the parameter has a type associated with it.
     *
     * @return bool TRUE if a type is specified, FALSE otherwise.
     * @since PHP 7
     **/
    public function hasType(){}

    /**
     * Checks if parameter expects an array
     *
     * Checks if the parameter expects an array.
     *
     * @return bool TRUE if an array is expected, FALSE otherwise.
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function isArray(){}

    /**
     * Returns whether parameter MUST be callable
     *
     * @return bool Returns TRUE if the parameter is callable, FALSE if it
     *   is not or NULL on failure.
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function isCallable(){}

    /**
     * Checks if a default value is available
     *
     * Checks if a default value for the parameter is available.
     *
     * @return bool TRUE if a default value is available, otherwise FALSE
     * @since PHP 5 >= 5.0.3, PHP 7
     **/
    public function isDefaultValueAvailable(){}

    /**
     * Returns whether the default value of this parameter is a constant
     *
     * @return bool Returns TRUE if the default value is constant, and
     *   FALSE otherwise.
     * @since PHP 5 >= 5.4.6, PHP 7
     **/
    public function isDefaultValueConstant(){}

    /**
     * Checks if optional
     *
     * Checks if the parameter is optional.
     *
     * @return bool TRUE if the parameter is optional, otherwise FALSE
     * @since PHP 5 >= 5.0.3, PHP 7
     **/
    public function isOptional(){}

    /**
     * Checks if passed by reference
     *
     * Checks if the parameter is passed in by reference.
     *
     * @return bool TRUE if the parameter is passed in by reference,
     *   otherwise FALSE
     * @since PHP 5, PHP 7
     **/
    public function isPassedByReference(){}

    /**
     * Checks if the parameter is variadic
     *
     * Checks if the parameter was declared as a variadic parameter.
     *
     * @return bool Returns TRUE if the parameter is variadic, otherwise
     *   FALSE.
     * @since PHP 5 >= 5.6.0, PHP 7
     **/
    public function isVariadic(){}

    /**
     * Clone
     *
     * Clones.
     *
     * @return void
     * @since PHP 5, PHP 7
     **/
    final private function __clone(){}

    /**
     * Construct
     *
     * Constructs a ReflectionParameter class.
     *
     * @param string $function The function to reflect parameters from.
     * @param string $parameter The parameter.
     * @since PHP 5, PHP 7
     **/
    public function __construct($function, $parameter){}

    /**
     * To string
     *
     * @return string
     * @since PHP 5, PHP 7
     **/
    public function __toString(){}

}
/**
 * The ReflectionProperty class reports information about classes
 * properties.
 **/
class ReflectionProperty implements Reflector {
    /**
     * @var integer
     **/
    const IS_PRIVATE = 0;

    /**
     * @var integer
     **/
    const IS_PROTECTED = 0;

    /**
     * @var integer
     **/
    const IS_PUBLIC = 0;

    /**
     * @var integer
     **/
    const IS_STATIC = 0;

    /**
     * Name of the class where the property is defined. Read-only, throws
     * ReflectionException in attempt to write.
     *
     * @var mixed
     **/
    public $class;

    /**
     * Name of the property. Read-only, throws ReflectionException in attempt
     * to write.
     *
     * @var mixed
     **/
    public $name;

    /**
     * Export
     *
     * Exports a reflection.
     *
     * @param mixed $class
     * @param string $name The property name.
     * @param bool $return
     * @return string
     * @since PHP 5, PHP 7
     **/
    public static function export($class, $name, $return){}

    /**
     * Gets declaring class
     *
     * Gets the declaring class.
     *
     * @return ReflectionClass A ReflectionClass object.
     * @since PHP 5, PHP 7
     **/
    public function getDeclaringClass(){}

    /**
     * Gets the property doc comment
     *
     * Gets the doc comment for a property.
     *
     * @return string The property doc comment.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function getDocComment(){}

    /**
     * Gets the property modifiers
     *
     * Gets the modifiers.
     *
     * @return int A numeric representation of the modifiers.
     * @since PHP 5, PHP 7
     **/
    public function getModifiers(){}

    /**
     * Gets property name
     *
     * Gets the properties name.
     *
     * @return string The name of the reflected property.
     * @since PHP 5, PHP 7
     **/
    public function getName(){}

    /**
     * Gets value
     *
     * Gets the property's value.
     *
     * @param object $object If the property is non-static an object must
     *   be provided to fetch the property from. If you want to fetch the
     *   default property without providing an object use
     *   ReflectionClass::getDefaultProperties instead.
     * @return mixed The current value of the property.
     * @since PHP 5, PHP 7
     **/
    public function getValue($object){}

    /**
     * Checks if property is a default property
     *
     * Checks whether the property was declared at compile-time, or whether
     * the property was dynamically declared at run-time.
     *
     * @return bool TRUE if the property was declared at compile-time, or
     *   FALSE if it was created at run-time.
     * @since PHP 5, PHP 7
     **/
    public function isDefault(){}

    /**
     * Checks if property is private
     *
     * Checks whether the property is private.
     *
     * @return bool TRUE if the property is private, FALSE otherwise.
     * @since PHP 5, PHP 7
     **/
    public function isPrivate(){}

    /**
     * Checks if property is protected
     *
     * Checks whether the property is protected.
     *
     * @return bool TRUE if the property is protected, FALSE otherwise.
     * @since PHP 5, PHP 7
     **/
    public function isProtected(){}

    /**
     * Checks if property is public
     *
     * Checks whether the property is public.
     *
     * @return bool TRUE if the property is public, FALSE otherwise.
     * @since PHP 5, PHP 7
     **/
    public function isPublic(){}

    /**
     * Checks if property is static
     *
     * Checks whether the property is static.
     *
     * @return bool TRUE if the property is static, FALSE otherwise.
     * @since PHP 5, PHP 7
     **/
    public function isStatic(){}

    /**
     * Set property accessibility
     *
     * Sets a property to be accessible. For example, it may allow protected
     * and private properties to be accessed.
     *
     * @param bool $accessible TRUE to allow accessibility, or FALSE.
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function setAccessible($accessible){}

    /**
     * Set property value
     *
     * Sets (changes) the property's value.
     *
     * @param object $object If the property is non-static an object must
     *   be provided to change the property on. If the property is static
     *   this parameter is left out and only {@link value} needs to be
     *   provided.
     * @param mixed $value The new value.
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function setValue($object, $value){}

    /**
     * Clone
     *
     * Clones.
     *
     * @return void
     * @since PHP 5, PHP 7
     **/
    final private function __clone(){}

    /**
     * Construct a ReflectionProperty object
     *
     * @param mixed $class The class name, that contains the property.
     * @param string $name The name of the property being reflected.
     * @since PHP 5, PHP 7
     **/
    public function __construct($class, $name){}

    /**
     * To string
     *
     * @return string
     * @since PHP 5, PHP 7
     **/
    public function __toString(){}

}
/**
 * The ReflectionType class reports information about a function's return
 * type.
 **/
class ReflectionType {
    /**
     * Checks if null is allowed
     *
     * Checks whether the parameter allows NULL.
     *
     * @return bool TRUE if NULL is allowed, otherwise FALSE
     * @since PHP 7
     **/
    public function allowsNull(){}

    /**
     * Checks if it is a built-in type
     *
     * Checks if the type is a built-in type in PHP.
     *
     * @return bool TRUE if it's a built-in type, otherwise FALSE
     * @since PHP 7
     **/
    public function isBuiltin(){}

    /**
     * To string
     *
     * Gets the parameter type name.
     *
     * @return string Returns the type of the parameter.
     * @since PHP 7
     **/
    public function __toString(){}

}
class ReflectionZendExtension implements Reflector {
    /**
     * Name of the extension. Read-only, throws ReflectionException in
     * attempt to write.
     *
     * @var mixed
     **/
    public $name;

    /**
     * Export
     *
     * @param string $name
     * @param bool $return
     * @return string
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public static function export($name, $return){}

    /**
     * Gets author
     *
     * @return string
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function getAuthor(){}

    /**
     * Gets copyright
     *
     * @return string
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function getCopyright(){}

    /**
     * Gets name
     *
     * @return string
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function getName(){}

    /**
     * Gets URL
     *
     * @return string
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function getURL(){}

    /**
     * Gets version
     *
     * @return string
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function getVersion(){}

    /**
     * Clone handler
     *
     * @return void
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    final private function __clone(){}

    /**
     * Constructor
     *
     * @param string $name
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function __construct($name){}

    /**
     * To string handler
     *
     * @return string
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function __toString(){}

}
/**
 * Reflector is an interface implemented by all exportable Reflection
 * classes.
 **/
interface Reflector {
    /**
     * Exports
     *
     * @return string
     * @since PHP 5, PHP 7
     **/
    public static function export();

    /**
     * To string
     *
     * @return string
     * @since PHP 5, PHP 7
     **/
    public function __toString();

}
/**
 * This iterator can be used to filter another iterator based on a
 * regular expression.
 **/
class RegexIterator extends FilterIterator {
    /**
     * Get accept status
     *
     * Matches (string) RegexIterator::current (or RegexIterator::key if the
     * RegexIterator::USE_KEY flag is set) against the regular expression.
     *
     * @return bool TRUE if a match, FALSE otherwise.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function accept(){}

    /**
     * Get flags
     *
     * Returns the flags, see RegexIterator::setFlags for a list of available
     * flags.
     *
     * @return int Returns the set flags.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function getFlags(){}

    /**
     * Returns operation mode
     *
     * Returns the operation mode, see RegexIterator::setMode for the list of
     * operation modes.
     *
     * @return int Returns the operation mode.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function getMode(){}

    /**
     * Returns the regular expression flags
     *
     * Returns the regular expression flags, see RegexIterator::__construct
     * for the list of flags.
     *
     * @return int Returns a bitmask of the regular expression flags.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function getPregFlags(){}

    /**
     * Returns current regular expression
     *
     * @return string
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function getRegex(){}

    /**
     * Sets the flags
     *
     * @param int $flags The flags to set, a bitmask of class constants.
     *   The available flags are listed below. The actual meanings of these
     *   flags are described in the predefined constants. RegexIterator flags
     *   value constant 1 RegexIterator::USE_KEY
     * @return void
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function setFlags($flags){}

    /**
     * Sets the operation mode
     *
     * @param int $mode The operation mode. The available modes are listed
     *   below. The actual meanings of these modes are described in the
     *   predefined constants. RegexIterator modes value constant 0
     *   RegexIterator::MATCH 1 RegexIterator::GET_MATCH 2
     *   RegexIterator::ALL_MATCHES 3 RegexIterator::SPLIT 4
     *   RegexIterator::REPLACE
     * @return void
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function setMode($mode){}

    /**
     * Sets the regular expression flags
     *
     * @param int $preg_flags The regular expression flags. See
     *   RegexIterator::__construct for an overview of available flags.
     * @return void
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function setPregFlags($preg_flags){}

}
/**
 * ICU Resource Management ICU Data
 **/
class ResourceBundle {
    /**
     * Get number of elements in the bundle
     *
     * Get the number of elements in the bundle.
     *
     * @return int Returns number of elements in the bundle.
     **/
    public function count(){}

    /**
     * Create a resource bundle
     *
     * (method)
     *
     * (constructor):
     *
     * Creates a resource bundle.
     *
     * @param string $locale Locale for which the resources should be
     *   loaded (locale name, e.g. en_CA).
     * @param string $bundlename The directory where the data is stored or
     *   the name of the .dat file.
     * @param bool $fallback Whether locale should match exactly or
     *   fallback to parent locale is allowed.
     * @return ResourceBundle Returns ResourceBundle object or NULL on
     *   error.
     **/
    public static function create($locale, $bundlename, $fallback){}

    /**
     * Get data from the bundle
     *
     * Get the data from the bundle by index or string key.
     *
     * @param string|int $index ResourceBundle object.
     * @param bool $fallback Data index, must be string or integer.
     * @return mixed Returns the data located at the index or NULL on
     *   error. Strings, integers and binary data strings are returned as
     *   corresponding PHP types, integer array is returned as PHP array.
     *   Complex types are returned as ResourceBundle object.
     **/
    public function get($index, $fallback){}

    /**
     * Get bundle's last error code
     *
     * Get error code from the last function performed by the bundle object.
     *
     * @return int Returns error code from last bundle object call.
     **/
    public function getErrorCode(){}

    /**
     * Get bundle's last error message
     *
     * Get error message from the last function performed by the bundle
     * object.
     *
     * @return string Returns error message from last bundle object's call.
     **/
    public function getErrorMessage(){}

    /**
     * Get supported locales
     *
     * Get available locales from ResourceBundle name.
     *
     * @param string $bundlename Path of ResourceBundle for which to get
     *   available locales, or empty string for default locales list.
     * @return array Returns the list of locales supported by the bundle.
     **/
    public function getLocales($bundlename){}

}
/**
 * Class for creation of RRD database file.
 **/
class RRDCreator {
    /**
     * Adds RRA - archive of data values for each data source
     *
     * Adds RRA definition by description of archive. Archive consists of a
     * number of data values or statistics for each of the defined
     * data-sources (DS). Data sources are defined by method
     * RRDCreator::addDataSource. You need call this method for each
     * requested archive.
     *
     * @param string $description Definition of archive - RRA. This has
     *   same format as RRA definition in rrd create command. See man page of
     *   rrd create for more details.
     * @return void
     * @since PECL rrd >= 0.9.0
     **/
    public function addArchive($description){}

    /**
     * Adds data source definition for RRD database
     *
     * RRD can accept input from several data sources (DS), e.g incoming and
     * outgoing traffic. This method adds data source by description. You
     * need call this method for each data source.
     *
     * @param string $description Definition of data source - DS. This has
     *   same format as DS definition in rrd create command. See man page of
     *   rrd create for more details.
     * @return void
     * @since PECL rrd >= 0.9.0
     **/
    public function addDataSource($description){}

    /**
     * Saves the RRD database to a file
     *
     * Saves the RRD database into file, which name is defined by
     * RRDCreator::__construct.
     *
     * @return bool
     * @since PECL rrd >= 0.9.0
     **/
    public function save(){}

    /**
     * Creates new instance
     *
     * Creates new RRDCreator instance.
     *
     * @param string $path Path for newly created RRD database file.
     * @param string $startTime Time for the first value in RRD database.
     *   Parameter supports all formats which are supported by rrd create
     *   call.
     * @param int $step Base interval in seconds with which data will be
     *   fed into the RRD database.
     * @since PECL rrd >= 0.9.0
     **/
    public function __construct($path, $startTime, $step){}

}
/**
 * Class for exporting data from RRD database to image file.
 **/
class RRDGraph {
    /**
     * Saves the result of query into image
     *
     * Saves the result of RRD database query into image defined by
     * RRDGraph::__construct.
     *
     * @return array Array with information about generated image is
     *   returned, FALSE if error occurs.
     * @since PECL rrd >= 0.9.0
     **/
    public function save(){}

    /**
     * Saves the RRD database query into image and returns the verbose
     * information about generated graph
     *
     * Saves the RRD database query into image file defined by method
     * RRDGraph::__construct and returns the verbose information about
     * generated graph, if "-" is used as image filename, image data are also
     * returned in result array.
     *
     * @return array Array with detailed information about generated image
     *   is returned, optionally with image data, FALSE if error occurs.
     * @since PECL rrd >= 0.9.0
     **/
    public function saveVerbose(){}

    /**
     * Sets the options for rrd graph export
     *
     * @param array $options List of options for the image generation from
     *   the RRD database file. It can be list of strings or list of strings
     *   with keys for better readability. Read the rrd graph man pages for
     *   list of available options.
     * @return void
     * @since PECL rrd >= 0.9.0
     **/
    public function setOptions($options){}

    /**
     * Creates new instance
     *
     * Creates new RRDGraph instance. This instance is responsible for
     * rendering the result of RRD database query into image.
     *
     * @param string $path Full path for the newly created image.
     * @since PECL rrd >= 0.9.0
     **/
    public function __construct($path){}

}
/**
 * Class for updating RDD database file.
 **/
class RRDUpdater {
    /**
     * Update the RRD database file
     *
     * Updates the RRD file defined via RRDUpdater::__construct. The file is
     * updated with a specific values.
     *
     * @param array $values Data for update. Key is data source name.
     * @param string $time Time value for updating the RRD with a
     *   particulat data. Default value is current time.
     * @return bool
     * @since PECL rrd >= 0.9.0
     **/
    public function update($values, $time){}

    /**
     * Creates new instance
     *
     * Creates new RRDUpdater instance. This instance is responsible for
     * updating the RRD database file.
     *
     * @param string $path Filesystem path for RRD database file, which
     *   will be updated.
     * @since PECL rrd >= 0.9.0
     **/
    public function __construct($path){}

}
class Runkit_Sandbox_Parent {
    /**
     * Runkit Anti-Sandbox Class
     *
     * Instantiating the Runkit_Sandbox_Parent class from within a sandbox
     * environment created from the Runkit_Sandbox class provides some
     * (controlled) means for a sandbox child to access its parent.
     *
     * In order for any of the Runkit_Sandbox_Parent features to function.
     * Support must be enabled on a per-sandbox basis by enabling the
     * parent_access flag from the parent's context.
     *
     * @return void
     **/
    function __construct(){}

}
/**
 * Exception thrown if an error which can only be found on runtime
 * occurs.
 **/
class RuntimeException extends Exception {
}
class SAMConnection {
    /**
     * Contains the unique numeric error code of the last executed SAM
     * operation
     *
     * Contains the numeric error code of the last executed SAM operation on
     * this connection. If the last operation completed successfully this
     * property contains 0.
     *
     * @var int
     **/
    public $errno;

    /**
     * Contains the text description of the last failed SAM operation
     *
     * Contains the text description of the last failed SAM operation on this
     * connection. If the last operation completed successfully this property
     * contains an empty string.
     *
     * @var string
     **/
    public $error;

    /**
     * Commits (completes) the current unit of work
     *
     * Calling the "commit" method on a Connection object commits (completes)
     * all in-flight transactions that are part of the current unit of work.
     *
     * @return bool This method returns FALSE if an error occurs.
     * @since PECL sam >= 0.1.0
     **/
    function commit(){}

    /**
     * Establishes a connection to a Messaging Server
     *
     * Calling the "connect" method on a SAMConnection object connects the
     * PHP script to a messaging server. No messages can be sent or received
     * until a connection is made.
     *
     * @param string $protocol
     * @param array $properties
     * @return bool This method returns FALSE if an error occurs.
     * @since PECL sam >= 0.1.0
     **/
    function connect($protocol, $properties){}

    /**
     * Disconnects from a Messaging Server
     *
     * Calling the "disconnect" method on a SAMConnection object disconnects
     * the PHP script from a messaging server. No messages can be sent or
     * received after a connection has been disconnected.
     *
     * @return bool
     * @since PECL sam >= 0.1.0
     **/
    function disconnect(){}

    /**
     * Queries whether a connection is established to a Messaging Server
     *
     * Calling the "isConnected" method on a Connection object will check
     * whether the PHP script is connected to a messaging server. No messages
     * can be sent or received unless a connection has been established with
     * a Messaging server.
     *
     * @return bool This method returns TRUE if the SAMConnection object is
     *   successfully connected to a Messaging server or FALSE otherwise.
     * @since PECL sam >= 0.1.0
     **/
    function isConnected(){}

    /**
     * Read a message from a queue without removing it from the queue
     *
     * @param string $target The identity of the queue from which to peek
     *   the message.
     * @param array $properties An optional associative array of properties
     *   describing other parameters to control the peek operation. Property
     *   name Possible values SAM_CORRELID This is the target correlation id
     *   string of the message. This would typically have been returned by a
     *   "send" request. SAM_MESSAGEID This is the message id string of the
     *   message which is to be peeked.
     * @return SAMMessage This method returns a SAMMessage object or FALSE
     *   if an error occurs.
     * @since PECL sam >= 0.1.0
     **/
    function peek($target, $properties){}

    /**
     * Read one or more messages from a queue without removing it from the
     * queue
     *
     * @param string $target The identity of the queue from which messages
     *   should be peeked.
     * @param array $properties An optional associative array of properties
     *   describing other parameters to control the peek operation. Property
     *   name Possible values SAM_CORRELID This is the target correlation id
     *   string of messages to be peeked. This would typically have been
     *   returned by a "send" request. SAM_MESSAGEID This is the message id
     *   string of a message which is to be peeked.
     * @return array This method returns an array of SAMMessage objects or
     *   FALSE if an error occurs.
     * @since PECL sam >= 0.2.0
     **/
    function peekAll($target, $properties){}

    /**
     * Receive a message from a queue or subscription
     *
     * @param string $target The identity of the queue, topic or
     *   subscription from which to receive the message.
     * @param array $properties An optional associative array of properties
     *   describing other parameters to control the receive operation.
     *   Property name Possible values SAM_CORRELID Used to request selection
     *   of the message to receive based upon the correlation id string of
     *   the message. SAM_MESSAGEID Used to request selection of the message
     *   to receive based upon the message id string of the message. SAM_WAIT
     *   Timeout value in milliseconds to control how long the request should
     *   block waiting to receive a message before returning with a failure
     *   if no message is available on the queue or topic. The default value
     *   is 0 meaning wait indefinitely and should be used with caution as
     *   the request may wait until the overall PHP script processing time
     *   limit has expired if no message becomes available.
     * @return SAMMessage This method returns a SAMMessage object or FALSE
     *   if an error occurs.
     * @since PECL sam >= 0.1.0
     **/
    function receive($target, $properties){}

    /**
     * Remove a message from a queue
     *
     * Removes a message from a queue.
     *
     * @param string $target The identity of the queue from which to remove
     *   the message.
     * @param array $properties An optional associative array of properties
     *   describing other parameters to control the remove operation.
     *   Property name Possible values SAM_CORRELID This is the target
     *   correlation id string of the message. This would typically have been
     *   returned by a "send" request. SAM_MESSAGEID This is the message id
     *   string of the message which is to be removed.
     * @return SAMMessage This method returns FALSE if an error occurs.
     * @since PECL sam >= 0.1.0
     **/
    function remove($target, $properties){}

    /**
     * Cancels (rolls back) an in-flight unit of work
     *
     * Rolls back an in-flight unit of work.
     *
     * @return bool This method returns FALSE if an error occurs.
     * @since PECL sam >= 0.1.0
     **/
    function rollback(){}

    /**
     * Send a message to a queue or publish an item to a topic
     *
     * The "send" method is used to send a message to a specific queue or to
     * publish to a specific topic. The method returns a correlation id that
     * can be used as a selector to identify reply or response messages when
     * these are requested.
     *
     * @param string $target If sending a message, the identity of the
     *   queue (queue://queuename) or if publishing to a topic the identity
     *   of the topic (topic://topicname) to which the message is to be
     *   delivered.
     * @param SAMMessage $msg The message to be sent or published.
     * @param array $properties An optional associative array of properties
     *   describing other parameters to control the receive operation.
     *   Property name Possible values SAM_DELIVERYMODE Indicates whether the
     *   messaging server should ensure delivery or whether it is acceptable
     *   for messages to be lost in the case of system failures. The value of
     *   this property may be set to either SAM_PERSISTENT, to indicate that
     *   message loss is not acceptable, or SAM_NON_PERSISTENT, if message
     *   loss is acceptable. The resulting behaviour of the send will vary
     *   depending on the capabilities of the messaging server the PHP script
     *   is currently connected to. If the server does not support persistent
     *   messages and SAM_PERSISTENT is specified the send request will fail
     *   with an error indication showing the capability is not available.
     *   SAM_PRIORITY A numeric value between 0 and 9 indicating the desired
     *   message delivery priority. A priority value of 0 indicates the
     *   lowest priority while 9 indicates highest priority. If no priority
     *   is specified a default will be assigned which is dependent on the
     *   messaging server being used. SAM_CORRELID A string to be assigned as
     *   a correlation id for this message. If no value is given the
     *   messaging server may assign a value automatically. SAM_TIMETOLIVE A
     *   time in milliseconds indicating how long the messaging server should
     *   retain the message on a queue before discarding it. The default
     *   value is 0 indicating the message should be retained indefinitely.
     *   SAM_WMQ_TARGET_CLIENT This property is only valid when using
     *   WebSphere MQ and indicates whether or not an RFH2 header should be
     *   included with the message. This option may be set to either 'jms' or
     *   'mq'. The default is 'jms' which means that an RFH2 header is
     *   included. If the value 'mq' is specified then no RFH2 is included
     *   with the message.
     * @return string A correlation id string that can be used in a
     *   subsequent receive call as a selector to obtain any reply or
     *   response that has been requested or FALSE if an error occurred.
     * @since PECL sam >= 0.1.0
     **/
    function send($target, $msg, $properties){}

    /**
     * Turn on or off additional debugging output
     *
     * The "setdebug" method is used to turn on or off additional debugging
     * output. The SAM framework will provide method/function entry and exit
     * trace data plus additional information. Protocol specific
     * implementations also provide extra output.
     *
     * @param bool $switch If this parameter is set to TRUE additional
     *   debugging output will be provided. If the value is set to FALSE
     *   output of additional information will be stopped.
     * @return void
     * @since PECL sam >= 1.1.0
     **/
    function setDebug($switch){}

    /**
     * Create a subscription to a specified topic
     *
     * The "subscribe" method is used to create a new subscription to a
     * specified topic.
     *
     * @param string $targetTopic The identity of the topic
     *   (topic://topicname) to subscribe to.
     * @return string A subscription identifier that can be used in a
     *   subsequent receive call as a selector to obtain any topic data or
     *   FALSE if an error occurred. The subscription identifier should be
     *   used in the receive call in place of the simple topic name.
     * @since PECL sam >= 0.1.0
     **/
    function subscribe($targetTopic){}

    /**
     * Cancel a subscription to a specified topic
     *
     * The "unsubscribe" method is used to delete an existing subscription to
     * a specified topic.
     *
     * @param string $subscriptionId The identifier of an existing
     *   subscription as returned by a call to the subscribe method.
     * @param string $targetTopic
     * @return bool This method returns FALSE if an error occurs.
     * @since PECL sam >= 0.1.0
     **/
    function unsubscribe($subscriptionId, $targetTopic){}

}
class SAMMessage {
    /**
     * The body of the message
     *
     * The "body" property contains the actual body of the message. It may
     * not always be set.
     *
     * @var string
     **/
    public $body;

    /**
     * The header properties of the message
     *
     * The header property is a container for any system or user properties
     * that area associated with the message.
     *
     * Properties may be assigned by the sender of a message to control the
     * way the messaging systems handles it or may be assigned by the
     * messaging system itself to tell the recipient extra information about
     * the message or the way in which it has been handled.
     *
     * Some properties are understood by SAM in which case constants have
     * been defined for them. The majority of properties however are ignored
     * by the SAM implementation and simply passed through to the underlying
     * messaging systems allowing the application to use messaging specific
     * property names or to define its own "user" properties.
     *
     * The SAM defined properties are as follows: Property name Possible
     * values SAM_MESSAGEID When a message is received this field contains
     * the unique identifier of the message as allocated by the underlying
     * messaging system. When sending a message this field is ignored.
     * SAM_REPLY_TO A string providing the identity of the queue on to which
     * responses to this message should be posted. SAM_TYPE An indication of
     * the type of message to be sent. The value may be SAM_TEXT indicating
     * the contents of the message body is a text string, or SAM_BYTES
     * indicating the contents of the message body are some application
     * defined format. The way in which this property is used may depend on
     * the underlying messaging server. For instance a messaging server that
     * supports the JMS (Java Message Service) specification may interpret
     * this value and send messages of type "jms_text" and "jms_bytes". In
     * addition, if the SAM_TYPE property is set to SAM_TEXT the data
     * provided for the message body is expected to be a UTF8 encoded string.
     *
     * When setting the values of properties it is often useful to give a
     * hint as to the format in which the property should be delivered to the
     * messaging system. By default property values are delivered as text and
     * the following simple syntax may be used to set a value:
     *
     * Setting a text format property using the default syntax
     *
     * <?php $msg = new SAMMessage();
     *
     * $msg->header->myPropertyName = 'textData'; ?>
     *
     * If it is desired to pass type information an alternative syntax may be
     * used where the value and the type hint are passed in an associative
     * array:
     *
     * Setting a text format property using a type hint
     *
     * <?php $msg = new SAMMessage();
     *
     * $msg->header->myPropertyName = array('textData', SAM_STRING); ?>
     *
     * When passing a type hint the type entry should be one of the SAM
     * defined constant values as defined by the following table: Constant
     * Type description SAM_BOOLEAN Any value passed will be interpreted as
     * logical true or false. If the value cannot be interpreted as a PHP
     * boolean value the value passed to the messaging system is undefined.
     * SAM_BYTE An 8-bit signed integer value. SAM will attempt to convert
     * the property value specified into a single byte value to pass to the
     * messaging system. If a string value is passed an attempt will be made
     * to interpret the string as a numeric value. If the numeric value
     * cannot be expressed as an 8-bit signed binary value data may be lost
     * in the conversion. SAM_DOUBLE A long floating point value. SAM will
     * attempt to convert the property value specified into a floating point
     * value with 15 digits of precision. If a string value is passed an
     * attempt will be made to interpret the string as a numeric value. If
     * the passed value cannot be expressed as a 15 digit floating point
     * value data may be lost in the conversion. SAM_FLOAT A short floating
     * point value. SAM will attempt to convert the property value specified
     * into a floating point value with 7 digits of precision. If a string
     * value is passed an attempt will be made to interpret the string as a
     * numeric value. If the passed value cannot be expressed as a 7 digit
     * floating point value data may be lost in the conversion. SAM_INT An
     * 32-bit signed integer value. SAM will attempt to convert the property
     * value specified into a 32-bit value to pass to the messaging system.
     * If a string value is passed an attempt will be made to interpret the
     * string as a numeric value. If the numeric value cannot be expressed as
     * an 32-bit signed binary value data may be lost in the conversion.
     * SAM_LONG An 64-bit signed integer value. SAM will attempt to convert
     * the property value specified into a 64-bit value to pass to the
     * messaging system. If a string value is passed an attempt will be made
     * to interpret the string as a numeric value. If the numeric value
     * cannot be expressed as an 64-bit signed binary value data may be lost
     * in the conversion. SAM_STRING SAM will interpret the property value
     * specified as a string and pass it to the messaging system accordingly.
     *
     * @var object
     **/
    public $header;

}
class SCA {
    /**
     * Create an SDO
     *
     * This method is used inside an SCA component that needs to create an
     * SDO to return. The parameters are the desired SDO's namespace URI and
     * type name. The namespace and type must be defined in one of the schema
     * files which are specified on the @types annotation within the
     * component.
     *
     * @param string $type_namespace_uri The namespace of the type.
     * @param string $type_name The name of the type.
     * @return SDO_DataObject Returns the newly created SDO_DataObject.
     * @since PECL SDO >= 0.5.0
     **/
    function createDataObject($type_namespace_uri, $type_name){}

    /**
     * Obtain a proxy for a service
     *
     * Examine the target and initialize and return a proxy of the
     * appropriate sort. If the target is for a local PHP component the
     * returned proxy will be an SCA_LocalProxy. If the target is for a WSDL
     * file, the returned proxy will be a SCA_SoapProxy.
     *
     * @param string $target An absolute or relative path to the target
     *   service or service description (e.g. a URL to a json-rpc service
     *   description, a PHP component, a WSDL file, and so on.). A relative
     *   path, if specified, is resolved relative to the location of the
     *   script issuing the {@link getService} call, and not against the
     *   include_path or current working directory.
     * @param string $binding The binding (i.e. protocol) to use to
     *   communicate with the service (e.g binding.jsonrpc for a json-rpc
     *   service). Note, some service types can be deduced from the target
     *   parameter (e.g. if the target parameter ends in .wsdl then SCA will
     *   assume binding.soap). Any binding which can be specified in an
     *   annotation can be specified here. For example 'binding.soap' is
     *   equivalent to the '@binding.soap' annotation.
     * @param array $config Any additional configuration properties for the
     *   binding (e.g. array('location' => 'http://example.org')). Any
     *   binding configuration which can be specified in an annotation can be
     *   specified here. For example, 'location' is equivalent to the
     *   '@location' annotation to configure the location of a target soap
     *   service.
     * @return mixed The SCA_LocalProxy or SCA_SoapProxy.
     * @since PECL SDO >= 0.5.0
     **/
    function getService($target, $binding, $config){}

}
class SCA_LocalProxy {
    /**
     * Create an SDO
     *
     * This method is used inside either an ordinary PHP script or an SCA
     * component that needs to create an SDO to pass to a local service. The
     * parameters are the desired SDO's namespace URI and type name. The
     * namespace and type must be defined in the interface of the component
     * that is to be called, so the namespace and type must be defined in one
     * of the schema files which are specified on the @types annotation
     * within the component for which the SCA_LocalProxy object is a proxy.
     *
     * @param string $type_namespace_uri The namespace of the type.
     * @param string $type_name The name of the type.
     * @return SDO_DataObject Returns the newly created SDO_DataObject.
     * @since PECL SDO >= 0.5.0
     **/
    function createDataObject($type_namespace_uri, $type_name){}

}
class SCA_SoapProxy {
    /**
     * Create an SDO
     *
     * This method is used inside either an ordinary PHP script or an SCA
     * component that needs to create an SDO to pass to a web service. The
     * parameters are the desired SDO's namespace URI and type name. The
     * namespace and type must be defined in the interface of the component
     * that is to be called, so the namespace and type must be defined within
     * the WSDL for the web service. If the web service is also an SCA
     * component then the types will have been defined within one of the
     * schema files which are specified on the @types annotation within the
     * component for which the SCA_SoapProxy object is a proxy.
     *
     * @param string $type_namespace_uri The namespace of the type.
     * @param string $type_name The name of the type.
     * @return SDO_DataObject Returns the newly created SDO_DataObject.
     * @since PECL SDO >= 0.5.0
     **/
    function createDataObject($type_namespace_uri, $type_name){}

}
class SDO_DAS_ChangeSummary {
    const ADDITION = 0;

    const DELETION = 0;

    const MODIFICATION = 0;

    const NONE = 0;

    /**
     * Begin change logging
     *
     * Begin logging changes made to the SDO_DataObject.
     *
     * @return void None.
     * @since ^
     **/
    function beginLogging(){}

    /**
     * End change logging
     *
     * End logging changes made to an SDO_DataObject.
     *
     * @return void None.
     * @since ^
     **/
    function endLogging(){}

    /**
     * Get the changed data objects from a change summary
     *
     * Get an SDO_List of the SDO_DataObjects which have been changed. These
     * data objects can then be used to identify the types of change made to
     * each, along with the old values.
     *
     * @return SDO_List Returns an SDO_List of SDO_DataObjects.
     * @since ^
     **/
    function getChangedDataObjects(){}

    /**
     * Get the type of change made to an SDO_DataObject
     *
     * Get the type of change which has been made to the supplied
     * SDO_DataObject.
     *
     * @param SDO_DataObject $dataObject The SDO_DataObject which has been
     *   changed.
     * @return int The type of change which has been made. The change type
     *   is expressed as an enumeration and will be one of the following four
     *   values: SDO_DAS_ChangeSummary::NONE
     *   SDO_DAS_ChangeSummary::MODIFICATION SDO_DAS_ChangeSummary::ADDITION
     *   SDO_DAS_ChangeSummary::DELETION
     * @since ^
     **/
    function getChangeType($dataObject){}

    /**
     * Get the old container for a deleted SDO_DataObject
     *
     * Get the old container (SDO_DataObject) for a deleted SDO_DataObject.
     *
     * @param SDO_DataObject $data_object The SDO_DataObject which has been
     *   deleted and whose container we wish to identify.
     * @return SDO_DataObject The old containing data object of the deleted
     *   SDO_DataObject.
     * @since ^
     **/
    function getOldContainer($data_object){}

    /**
     * Get the old values for a given changed SDO_DataObject
     *
     * Get a list of the old values for a given changed SDO_DataObject.
     * Returns a list of SDO_DAS_Settings describing the old values for the
     * changed properties of the SDO_DataObject.
     *
     * @param SDO_DataObject $data_object The data object which has been
     *   changed.
     * @return SDO_List A list of SDO_DAS_Settings describing the old
     *   values for the changed properties of the SDO_DataObject. If the
     *   change type is SDO_DAS_ChangeSummary::ADDITION, this list is empty.
     * @since ^
     **/
    function getOldValues($data_object){}

    /**
     * Test to see whether change logging is switched on
     *
     * Test to see whether change logging is switched on.
     *
     * @return bool Returns TRUE if change logging is on, otherwise returns
     *   FALSE.
     * @since ^
     **/
    function isLogging(){}

}
class SDO_DAS_DataFactory {
    /**
     * Adds a property to a type
     *
     * Adds a property to a type. The type must already be known to the
     * SDO_DAS_DataFactory (i.e. have been added using addType()). The
     * property becomes a property of the type. This is how the graph model
     * for the structure of an SDO_DataObject is built.
     *
     * @param string $parent_type_namespace_uri The namespace URI for the
     *   parent type.
     * @param string $parent_type_name The type name for the parent type.
     * @param string $property_name The name by which the property will be
     *   known in the parent type.
     * @param string $type_namespace_uri The namespace URI for the type of
     *   the property.
     * @param string $type_name The type name for the type of the property
     * @param array $options This array holds one or more key=>value pairs
     *   to set attribute values for the property. The optional keywords are:
     * @return void None.
     * @since ^
     **/
    function addPropertyToType($parent_type_namespace_uri, $parent_type_name, $property_name, $type_namespace_uri, $type_name, $options){}

    /**
     * Add a new type to a model
     *
     * Add a new type to the SDO_DAS_DataFactory, defined by its namespace
     * and type name. The type becomes part of the model of data objects that
     * the data factory can create.
     *
     * @param string $type_namespace_uri The namespace of the type.
     * @param string $type_name The name of the type.
     * @param array $options This array holds one or more key=>value pairs
     *   to set attribute values for the type. The optional keywords are:
     * @return void None.
     * @since ^
     **/
    function addType($type_namespace_uri, $type_name, $options){}

    /**
     * Get a data factory instance
     *
     * Static method to get an instance of an SDO_DAS_DataFactory. This
     * instance is initially only configured with the basic SDO types. A Data
     * Access Service is responsible for populating the data factory model
     * and then allowing PHP applications to create SDOs based on the model
     * through the SDO_DataFactory interface. PHP applications should always
     * obtain a data factory from a configured Data Access Service, not
     * through this interface.
     *
     * @return SDO_DAS_DataFactory Returns an SDO_DAS_DataFactory.
     * @since ^
     **/
    function getDataFactory(){}

}
class SDO_DAS_DataObject {
    /**
     * Get a data object's change summary
     *
     * Get the SDO_DAS_ChangeSummary for an SDO_DAS_DataObject, or NULL if it
     * does not have one.
     *
     * @return SDO_DAS_ChangeSummary Returns the SDO_DAS_ChangeSummary for
     *   an SDO_DAS_DataObject, or NULL if it does not have one.
     * @since ^
     **/
    function getChangeSummary(){}

}
class SDO_DAS_Relational {
    /**
     * Applies the changes made to a data graph back to the database
     *
     * Given a PDO database handle and the special root object of a data
     * graph, examine the change summary in the datagraph and applies the
     * changes to the database. The changes that it can apply can be
     * creations of data objects, deletes of data objects, and modifications
     * to properties of data objects.
     *
     * @param PDO $database_handle Constructed using the PDO extension. A
     *   typical line to construct a PDO database handle might look like
     *   this:
     *   
     *   $dbh = new
     *   PDO("mysql:dbname=COMPANYDB;host=localhost",DATABASE_USER,DATABASE_PASSWORD);
     * @param SDODataObject $root_data_object The special root object which
     *   is at the top of every SDO data graph.
     * @return void None. Note however that the datagraph that was passed
     *   is still intact and usable. Furthermore, if data objects were
     *   created and written back to a table with autogenerated primary keys,
     *   then those primary keys will now be set in the data objects. If the
     *   changes were successfully written, then the change summary
     *   associated with the datagraph will have been cleared, so that it is
     *   possible to now make further changes to the data graph and apply
     *   those changes in turn. In this way it is possible to work with the
     *   same data graph and apply changes repeatedly.
     * @since ^
     **/
    function applyChanges($database_handle, $root_data_object){}

    /**
     * Returns the special root object in an otherwise empty data graph. Used
     * when creating a data graph from scratch
     *
     * Returns the special root object at the top of an otherwise empty data
     * graph. This call is used when the application wants to create a data
     * graph from scratch, without having called {@link executeQuery} to
     * create a data graph.
     *
     * The special root object has one multi-valued containment property,
     * with a name of the application root type that was passed when the
     * Relational DAS was constructed. The property can take values of only
     * that type. The only thing that the application can usefully do with
     * the root type is to call {@link createDataObject} on it, passing the
     * name of the application root type, in order to create a data object of
     * their own application type.
     *
     * @return SDODataObject The root object.
     * @since ^
     **/
    function createRootDataObject(){}

    /**
     * Executes an SQL query passed as a prepared statement, with a list of
     * values to substitute for placeholders, and return the results as a
     * normalised data graph
     *
     * Executes a given query against the relational database, using the
     * supplied PDO database handle. Differs from the simpler {@link
     * executeQuery} in that it takes a prepared statement and a list of
     * values. This is the appropriate call to use either when the statement
     * is to executed a number of times with different arguments, and there
     * is therefore a performance benefit to be had from preparing the
     * statement only once, or when the SQL statement is to contain varying
     * values taken from a source that cannot be completely trusted. In this
     * latter case it may be unsafe to construct the SQL statement by simply
     * concatenating the parts of the statement together, since the values
     * may contain pieces of SQL. To guard against this, a so-called SQL
     * injection attack, it is safer to prepare the SQL statement with
     * placeholders (also known as parameter markers, denoted by '?') and
     * supply a list of the values to be substituted as a separate argument.
     * Otherwise this function is the same as {@link executeQuery} in that it
     * uses the model that it built from the metadata to interpret the result
     * set and returns a data graph.
     *
     * @param PDO $database_handle Constructed using the PDO extension. A
     *   typical line to construct a PDO database handle might look like
     *   this:
     *   
     *   $dbh = new
     *   PDO("mysql:dbname=COMPANYDB;host=localhost",DATABASE_USER,DATABASE_PASSWORD);
     * @param PDOStatement $prepared_statement A prepared SQL statement to
     *   be executed against the database. This will have been prepared by
     *   PDO's {@link prepare} method.
     * @param array $value_list An array of the values to be substituted
     *   into the SQL statement in place of the placeholders. In the event
     *   that there are no placeholders or parameter markers in the SQL
     *   statement then this argument can be specified as NULL or as an empty
     *   array;
     * @param array $column_specifier The Relational DAS needs to examine
     *   the result set and for every column, know which table and which
     *   column of that table it came from. In some circumstances it can find
     *   this information for itself, but sometimes it cannot. In these cases
     *   a column specifier is needed, which is an array that identifies the
     *   columns. Each entry in the array is simply a string in the form
     *   table-name.column_name. The column specifier is needed when there
     *   are duplicate column names in the database metadata, For example, in
     *   the database used within the examples, all the tables have both a id
     *   and a name column. When the Relational DAS fetches the result set
     *   from PDO it can do so with the PDO_FETCH_ASSOC attribute, which will
     *   cause the columns in the results set to be labelled with the column
     *   name, but will not distinguish duplicates. So this will only work
     *   when there are no duplicates possible in the results set. To
     *   summarise, specify a column specifier array whenever there is any
     *   uncertainty about which column could be from which table and only
     *   omit it when every column name in the database metadata is unique.
     *   All of the examples in the Examples use a column specifier. There is
     *   one example in the Scenarios directory of the installation that does
     *   not: that which works with just the employee table, and because it
     *   works with just one table, there can not exist duplicate column
     *   names.
     * @return SDODataObject Returns a data graph. Specifically, it returns
     *   a root object of a special type. Under this root object will be the
     *   data from the result set. The root object will have a multi-valued
     *   containment property with the same name as the application root type
     *   specified on the constructor, and that property will contain one or
     *   more data objects of the application root type.
     * @since ^
     **/
    function executePreparedQuery($database_handle, $prepared_statement, $value_list, $column_specifier){}

    /**
     * Executes a given SQL query against a relational database and returns
     * the results as a normalised data graph
     *
     * Executes a given query against the relational database, using the
     * supplied PDO database handle. Uses the model that it built from the
     * metadata to interpret the result set. Returns a data graph.
     *
     * @param PDO $database_handle Constructed using the PDO extension. A
     *   typical line to construct a PDO database handle might look like
     *   this:
     *   
     *   $dbh = new
     *   PDO("mysql:dbname=COMPANYDB;host=localhost",DATABASE_USER,DATABASE_PASSWORD);
     * @param string $SQL_statement The SQL statement to be executed
     *   against the database.
     * @param array $column_specifier The Relational DAS needs to examine
     *   the result set and for every column, know which table and which
     *   column of that table it came from. In some circumstances it can find
     *   this information for itself, but sometimes it cannot. In these cases
     *   a column specifier is needed, which is an array that identifies the
     *   columns. Each entry in the array is simply a string in the form
     *   table-name.column_name. The column specifier is needed when there
     *   are duplicate column names in the database metadata. For example, in
     *   the database used within the examples, all the tables have both a id
     *   and a name column. When the Relational DAS fetches the result set
     *   from PDO it can do so with the PDO_FETCH_ASSOC attribute, which will
     *   cause the columns in the results set to be labelled with the column
     *   name, but will not distinguish duplicates. So this will only work
     *   when there are no duplicates possible in the results set. To
     *   summarise, specify a column specifier array whenever there is any
     *   uncertainty about which column could be from which table and only
     *   omit it when every column name in the database metadata is unique.
     *   All of the examples in the Examples use a column specifier. There is
     *   one example in the Scenarios directory of the installation that does
     *   not: that which works with just the employee table, and because it
     *   works with just one table, there can not exist duplicate column
     *   names.
     * @return SDODataObject Returns a data graph. Specifically, it returns
     *   a root object of a special type. Under this root object will be the
     *   data from the result set. The root object will have a multi-valued
     *   containment property with the same name as the application root type
     *   specified on the constructor, and that property will contain one or
     *   more data objects of the application root type.
     * @since ^
     **/
    function executeQuery($database_handle, $SQL_statement, $column_specifier){}

    /**
     * Creates an instance of a Relational Data Access Service
     *
     * Constructs an instance of a Relational Data Access Service from the
     * passed metadata.
     *
     * @param array $database_metadata An array containing one or more
     *   table definitions, each of which is an associative array containing
     *   the keys name, columns, PK, and optionally, FK. For a full
     *   discussion of the metadata, see the metadata section in the general
     *   information about the Relational DAS.
     * @param string $application_root_type The root of each data graph is
     *   an object of a special root type and the application data objects
     *   come below that. Of the various application types in the SDO model,
     *   one has to be the application type immediately below the root of the
     *   data graph. If there is only one table in the database metadata, so
     *   the application root type can be inferred, this argument can be
     *   omitted.
     * @param array $SDO_containment_references_metadata An array
     *   containing one or more definitions of a containment relation, each
     *   of which is an associative array containing the keys parent and
     *   child. The containment relations describe how the types in the model
     *   are connected to form a tree. The type specified as the application
     *   root type must be present as one of the parent types in the
     *   containment references. If the application only needs to work with
     *   one table at a time, and there are no containment relations in the
     *   model, this argument can be omitted. For a full discussion of the
     *   metadata, see the metadata section in the general information about
     *   the Relational DAS.
     * @since ^
     **/
    function __construct($database_metadata, $application_root_type, $SDO_containment_references_metadata){}

}
class SDO_DAS_Setting {
    /**
     * Get the list index for a changed many-valued property
     *
     * Get the list index for a modification made to an element of a
     * many-valued property. For example, if we modified the third element of
     * a many-valued property we could obtain an SDO_DAS_Setting from the
     * change summary corresponding to that modification. A call to {@link
     * getListIndex} on that setting would return the value 2 (lists are
     * indexed from zero).
     *
     * @return int The list index for the element of the many-valued
     *   property which has been changed.
     * @since ^
     **/
    function getListIndex(){}

    /**
     * Get the property index for a changed property
     *
     * Returns the property index for the changed property. This index
     * identifies the property which was modified in data object.
     *
     * @return int The property index for a changed property.
     * @since ^
     **/
    function getPropertyIndex(){}

    /**
     * Get the property name for a changed property
     *
     * Returns the property name for the changed property. This name
     * identifies the property which was modified in data object.
     *
     * @return string The property name for a changed property.
     * @since ^
     **/
    function getPropertyName(){}

    /**
     * Get the old value for the changed property
     *
     * Returns the old value for the changed property. This can be used by a
     * Data Access Service when writing updates to a data source. The DAS
     * uses the old value to detect conflicts by comparing it with the
     * current value in the data source. If they do not match, then the data
     * source has been updated since the data object was originally
     * populated, and therefore writing any new updates risks compromising
     * the integrity of the data.
     *
     * @return mixed Returns the old value of the changed property.
     * @since ^
     **/
    function getValue(){}

}
class SDO_DAS_XML {
    /**
     * To load a second or subsequent schema file to a SDO_DAS_XML object
     *
     * Load a second or subsequent schema file to an XML DAS that has already
     * been created with the static method {@link create}. Although the file
     * may be any valid schema file, a likely reason for using this method is
     * to add a schema file containing definitions of extra complex types,
     * hence the name. See Example 4 of the parent document for an example.
     *
     * @param string $xsd_file Path to XSD Schema file.
     * @return void None if successful, otherwise throws an exception as
     *   described below.
     * @since ^
     **/
    function addTypes($xsd_file){}

    /**
     * To create SDO_DAS_XML object for a given schema file
     *
     * This is the only static method of SDO_DAS_XML class. Used to
     * instantiate SDO_DAS_XML object.
     *
     * @param mixed $xsd_file Path to XSD Schema file. This is optional. If
     *   omitted a DAS will be created that only has the SDO base types
     *   defined. Schema files can then be loaded with the {@link addTypes}
     *   method. Can be string or array of values.
     * @param string $key
     * @return SDO_DAS_XML Returns SDO_DAS_XML object on success otherwise
     *   throws an exception as described below.
     * @since ^
     **/
    function create($xsd_file, $key){}

    /**
     * Creates SDO_DataObject for a given namespace URI and type name
     *
     * Creates SDO_DataObject for a given namespace URI and type name. The
     * type should be defined in the underlying model otherwise
     * SDO_TypeNotFoundException will be thrown.
     *
     * @param string $namespace_uri Namespace URI of the type name.
     * @param string $type_name Type Name.
     * @return SDO_DataObject Returns SDO_DataObject on success.
     * @since ^
     **/
    function createDataObject($namespace_uri, $type_name){}

    /**
     * Creates an XML Document object from scratch, without the need to load
     * a document from a file or string
     *
     * Creates an XML Document object. This will contain just one empty root
     * element on which none of the properties will have been set. The
     * purpose of this call is to allow an application to create an XML
     * document from scratch without the need to load a document from a file
     * or string. The document that is created will be as if a document had
     * been loaded that contained just a single empty document element with
     * no attributes set or elements within it.
     *
     * {@link createDocument} may need to be told what the document element
     * is. This will not be necessary in simple cases. When there is no
     * ambiguity then no parameter need be passed to the method. However it
     * is possible to load more than one schema file into the same XML DAS
     * and in this case there may be more than one possible document element
     * defined: furthermore it is even possible that there are two possible
     * document elements that differ only in the namespace. To cope with
     * these cases it is possible to specify either the document element
     * name, or both the document element name and namespace to the method.
     *
     * @param string $document_element_name The name of the document
     *   element. Only needed if there is more than one possibility.
     * @return SDO_DAS_XML_Document Returns an SDO_XML_DAS_Document object
     *   on success.
     * @since ^
     **/
    function createDocument($document_element_name){}

    /**
     * Returns SDO_DAS_XML_Document object for a given path to xml instance
     * document
     *
     * Constructs the tree of SDO_DataObjects from the given address to xml
     * instance document. Returns SDO_DAS_XML_Document Object. Use
     * SDO_DAS_XML_Document::getRootDataObject method to get root data
     * object.
     *
     * @param string $xml_file Path to Instance document. This can be a
     *   path to a local file or it can be a URL.
     * @return SDO_XMLDocument Returns SDO_DAS_XML_Document object on
     *   Success or throws exception as described.
     * @since ^
     **/
    function loadFile($xml_file){}

    /**
     * Returns SDO_DAS_XML_Document for a given xml instance string
     *
     * Constructs the tree of SDO_DataObjects from the given xml instance
     * string. Returns SDO_DAS_XML_Document Object. Use
     * SDO_DAS_XML_Document::getRootDataObject method to get root data
     * object.
     *
     * @param string $xml_string xml string.
     * @return SDO_DAS_XML_Document Returns SDO_DAS_XML_Document object on
     *   Success or throws exception as described.
     * @since ^
     **/
    function loadString($xml_string){}

    /**
     * Saves the SDO_DAS_XML_Document object to a file
     *
     * Saves the SDO_DAS_XML_Document object to a file.
     *
     * @param SDO_XMLDocument $xdoc SDO_DAS_XML_Document object.
     * @param string $xml_file xml file.
     * @param int $indent Optional argument to specify that the xml should
     *   be formatted. A non-negative integer is the amount to indent each
     *   level of the xml. So, the integer 2, for example, will indent the
     *   xml so that each contained element is two spaces further to the
     *   right than its containing element. The integer 0 will cause the xml
     *   to be completely left-aligned. The integer -1 means no formatting -
     *   the xml will come out on one long line.
     * @return void None.
     * @since ^
     **/
    function saveFile($xdoc, $xml_file, $indent){}

    /**
     * Saves the SDO_DAS_XML_Document object to a string
     *
     * Saves the SDO_DAS_XML_Document object to string.
     *
     * @param SDO_XMLDocument $xdoc SDO_DAS_XML_Document object.
     * @param int $indent Optional argument to specify that the xml should
     *   be formatted. A non-negative integer is the amount to indent each
     *   level of the xml. So, the integer 2, for example, will indent the
     *   xml so that each contained element is two spaces further to the
     *   right than its containing element. The integer 0 will cause the xml
     *   to be completely left-aligned. The integer -1 means no formatting -
     *   the xml will come out on one long line.
     * @return string xml string.
     * @since ^
     **/
    function saveString($xdoc, $indent){}

}
class SDO_DAS_XML_Document {
    /**
     * Returns the root SDO_DataObject
     *
     * Returns the root SDO_DataObject.
     *
     * @return SDO_DataObject Returns the root SDO_DataObject.
     * @since ^
     **/
    function getRootDataObject(){}

    /**
     * Returns root element's name
     *
     * Returns root element's name.
     *
     * @return string Returns root element's name.
     * @since ^
     **/
    function getRootElementName(){}

    /**
     * Returns root element's URI string
     *
     * Returns root element's URI string.
     *
     * @return string Returns root element's URI string.
     * @since ^
     **/
    function getRootElementURI(){}

    /**
     * Sets the given string as encoding
     *
     * Sets the given string as encoding.
     *
     * @param string $encoding Encoding string.
     * @return void None.
     * @since ^
     **/
    function setEncoding($encoding){}

    /**
     * Sets the xml declaration
     *
     * Controls whether an XML declaration will be generated at the start of
     * the XML document. Set to TRUE to generate the XML declaration, or
     * FALSE to suppress it.
     *
     * @param bool $xmlDeclatation Boolean value to set the XML
     *   declaration.
     * @return void None.
     * @since ^
     **/
    function setXMLDeclaration($xmlDeclatation){}

    /**
     * Sets the given string as xml version
     *
     * Sets the given string as xml version.
     *
     * @param string $xmlVersion xml version string.
     * @return void None.
     * @since ^
     **/
    function setXMLVersion($xmlVersion){}

}
class SDO_DataFactory {
    /**
     * Create an SDO_DataObject
     *
     * Create a new SDO_DataObject given the data object's namespace URI and
     * type name.
     *
     * @param string $type_namespace_uri The namespace of the type.
     * @param string $type_name The name of the type.
     * @return void Returns the newly created SDO_DataObject.
     * @since ^
     **/
    function create($type_namespace_uri, $type_name){}

}
class SDO_DataObject {
    /**
     * Clear an SDO_DataObject's properties
     *
     * Clear an SDO_DataObject's properties. Read-only properties are
     * unaffected. Subsequent calls to isset() for the data object will
     * return FALSE.
     *
     * @return void No return values.
     * @since ^
     **/
    function clear(){}

    /**
     * Create a child SDO_DataObject
     *
     * Create a child SDO_DataObject of the default type for the property
     * identified. The data object is automatically inserted into the tree
     * and a reference to it is returned.
     *
     * @param mixed $identifier Identifies the property for the data object
     *   type to be created. Can be either a property name (string), a
     *   property index (int), or an SDO_Model_Property.
     * @return SDO_DataObject Returns the newly created SDO_DataObject.
     * @since ^
     **/
    function createDataObject($identifier){}

    /**
     * Get a data object's container
     *
     * Get the data object which contains this data object.
     *
     * @return SDO_DataObject Returns the SDO_DataObject which contains
     *   this SDO_DataObject, or returns NULL if this is a root
     *   SDO_DataObject (i.e. it has no container).
     * @since ^
     **/
    function getContainer(){}

    /**
     * Get the sequence for a data object
     *
     * Return the SDO_Sequence for this SDO_DataObject. Accessing the
     * SDO_DataObject through the SDO_Sequence interface acts on the same
     * SDO_DataObject instance data, but preserves ordering across
     * properties.
     *
     * @return SDO_Sequence The SDO_Sequence for this SDO_DataObject, or
     *   returns NULL if the SDO_DataObject is not of a type which can have a
     *   sequence.
     * @since ^
     **/
    function getSequence(){}

    /**
     * Return the name of the type for a data object
     *
     * Return the name of the type for a data object. A convenience method
     * corresponding to SDO_Model_ReflectionDataObject::getType().getName().
     *
     * @return string The name of the type for the data object.
     * @since ^
     **/
    function getTypeName(){}

    /**
     * Return the namespace URI of the type for a data object
     *
     * Return the namespace URI of the type for a data object. A convenience
     * method corresponding to
     * SDO_Model_ReflectionDataObject::getType().getNamespaceURI().
     *
     * @return string The namespace URI of the type for the data object.
     * @since ^
     **/
    function getTypeNamespaceURI(){}

}
class SDO_Exception {
    /**
     * Get the cause of the exception
     *
     * Returns the cause of this exception or NULL if the cause is
     * nonexistent or unknown. Typically the cause will be an
     * SDO_CPPException object, which may be used to obtain additional
     * diagnostic information.
     *
     * @return mixed Returns the cause of this exception or NULL if the
     *   cause is nonexistent or unknown.
     * @since ^
     **/
    function getCause(){}

}
class SDO_List {
    /**
     * Insert into a list
     *
     * Insert a new element at a specified position in the list. All
     * subsequent list items are moved up.
     *
     * @param mixed $value The new value to be inserted. This can be either
     *   a primitive or an SDO_DataObject.
     * @param int $index The position at which to insert the new element.
     *   If this argument is not specified then the new value will be
     *   appended.
     * @return void None.
     * @since ^
     **/
    function insert($value, $index){}

}
class SDO_Model_Property {
    /**
     * Get the SDO_Model_Type which contains this property
     *
     * Returns the SDO_Model_Type which contains this property.
     *
     * @return SDO_Model_Type Returns the SDO_Model_Type which contains
     *   this property.
     * @since ^
     **/
    function getContainingType(){}

    /**
     * Get the default value for the property
     *
     * Returns the default value for the property. Only primitive data type
     * properties can have default values.
     *
     * @return mixed Returns the default value for the property.
     * @since ^
     **/
    function getDefault(){}

    /**
     * Get the name of the SDO_Model_Property
     *
     * Returns the name of the SDO_Model_Property.
     *
     * @return string Returns the name of the SDO_Model_Property.
     * @since ^
     **/
    function getName(){}

    /**
     * Get the SDO_Model_Type of the property
     *
     * Get the SDO_Model_Type of the property. The SDO_Model_Type describes
     * the type information for the property, such as its type name,
     * namespace URI, whether it is a primitive data type, and so on.
     *
     * @return SDO_Model_Type Returns the SDO_Model_Type describing the
     *   property's type information.
     * @since ^
     **/
    function getType(){}

    /**
     * Test to see if the property defines a containment relationship
     *
     * Test to see if the property corresponds to a containment relationship.
     * Returns TRUE if the property defines a containment relationship, or
     * FALSE if it is reference.
     *
     * @return bool Returns TRUE if the property defines a containment
     *   relationship, or FALSE if it is reference.
     * @since ^
     **/
    function isContainment(){}

    /**
     * Test to see if the property is many-valued
     *
     * Test to see if the property is many-valued. Returns TRUE if this is a
     * many-valued property, otherwise returns FALSE.
     *
     * @return bool Returns TRUE if this is a many-valued property,
     *   otherwise returns FALSE.
     * @since ^
     **/
    function isMany(){}

}
class SDO_Model_ReflectionDataObject {
    /**
     * Get a string describing the SDO_DataObject
     *
     * Get a string describing the SDO_DataObject. The default behaviour is
     * to print the output, but if TRUE is specified for return, it is
     * returned as a string.
     *
     * @param SDO_Model_ReflectionDataObject $rdo An
     *   SDO_Model_ReflectionDataObject.
     * @param bool $return If TRUE, return the output as a string,
     *   otherwise print it.
     * @return mixed Returns the output if TRUE is specified for return,
     *   otherwise NULL.
     * @since ^
     **/
    function export($rdo, $return){}

    /**
     * Get the property which defines the containment relationship to the
     * data object
     *
     * Get the SDO_Model_Property that contains the SDO_DataObject. This
     * method is used to navigate up to the parent's property which contains
     * the data object which has been reflected upon.
     *
     * @return SDO_Model_Property Returns the container's
     *   SDO_Model_Property which references the SDO_DataObject, or NULL if
     *   it is a root SDO_DataObject.
     * @since ^
     **/
    function getContainmentProperty(){}

    /**
     * Get the instance properties of the SDO_DataObject
     *
     * Get the instance properties for the SDO_DataObject. The instance
     * properties consist of all the properties defined on the data object's
     * type, plus any instance properties from open content (if the data
     * object is an open type).
     *
     * @return array An array of SDO_Model_Property objects.
     * @since ^
     **/
    function getInstanceProperties(){}

    /**
     * Get the SDO_Model_Type for the SDO_DataObject
     *
     * Returns the SDO_Model_Type for the SDO_DataObject. The SDO_Model_Type
     * holds all the information about the data object's type, such as
     * namespace URI, type name, whether it is a primitive data type, and so
     * on.
     *
     * @return SDO_Model_Type Returns the SDO_Model_Type for the
     *   SDO_DataObject.
     * @since ^
     **/
    function getType(){}

    /**
     * Construct an SDO_Model_ReflectionDataObject
     *
     * Construct an SDO_Model_ReflectionDataObject to reflect on an
     * SDO_DataObject. Reflecting on an SDO_DataObject gives access to
     * information about its model. The model contains information such as
     * the data object's type, and whether that type is sequenced (preserves
     * ordering across properties) or open (each instance can have its model
     * extended). The model also holds information about the data object's
     * properties, any default values they may have, and so on.
     *
     * @param SDO_DataObject $data_object The SDO_DataObject being
     *   reflected upon.
     * @since ^
     **/
    function __construct($data_object){}

}
class SDO_Model_Type {
    /**
     * Get the base type for this type
     *
     * Get the base type for this type. Returns the SDO_Model_Type for the
     * base type if this type inherits from another, otherwise returns NULL.
     * An example of when base types occur is when a type defined in XML
     * schema inherits from another type by using <extension base="..."> .
     *
     * @return SDO_Model_Type Returns the SDO_Model_Type for the base type
     *   if this type inherits from another, otherwise returns NULL.
     * @since ^
     **/
    function getBaseType(){}

    /**
     * Get the name of the type
     *
     * Returns the name of the type. The combination of type name and
     * namespace URI is used to uniquely identify the type.
     *
     * @return string Returns the name of the type.
     * @since ^
     **/
    function getName(){}

    /**
     * Get the namespace URI of the type
     *
     * Returns the namespace URI of the type. The combination of namespace
     * URI and type name is used to uniquely identify the type.
     *
     * @return string Returns the namespace URI of the type.
     * @since ^
     **/
    function getNamespaceURI(){}

    /**
     * Get the SDO_Model_Property objects defined for the type
     *
     * Get an array of SDO_Model_Property objects describing the properties
     * defined for the SDO_Model_Type. Each SDO_Model_Property holds
     * information such as the property name, default value, and so on.
     *
     * @return array Returns an array of SDO_Model_Property objects.
     * @since ^
     **/
    function getProperties(){}

    /**
     * Get an SDO_Model_Property of the type
     *
     * Get an SDO_Model_Property of the type, identified by its property
     * index or property name.
     *
     * @param mixed $identifier The property index or property name.
     * @return SDO_Model_Property Returns the SDO_Model_Property.
     * @since ^
     **/
    function getProperty($identifier){}

    /**
     * Test to see if this SDO_Model_Type is an abstract data type
     *
     * Test to see if this SDO_Model_Type is an abstract data type. Returns
     * TRUE if this type is abstract, that is, no SDO_DataObject of this type
     * can be instantiated, though other types may inherit from it.
     *
     * @return bool Returns TRUE if this type is an abstract data type,
     *   otherwise returns FALSE.
     * @since ^
     **/
    function isAbstractType(){}

    /**
     * Test to see if this SDO_Model_Type is a primitive data type
     *
     * Test to see if this SDO_Model_Type is a primitive data type. Returns
     * TRUE if this type is a primitive data type, otherwise returns FALSE.
     *
     * @return bool Returns TRUE if this type is a primitive data type,
     *   otherwise returns FALSE.
     * @since ^
     **/
    function isDataType(){}

    /**
     * Test for an SDO_DataObject being an instance of this SDO_Model_Type
     *
     * Test for an SDO_DataObject being an instance of this SDO_Model_Type.
     * Returns TRUE if the SDO_DataObject provided is an instance of this
     * SDO_Model_Type, or a derived type, otherwise returns FALSE.
     *
     * @param SDO_DataObject $data_object The SDO_DataObject to be tested.
     * @return bool Returns TRUE if the SDO_DataObject provided is an
     *   instance of this SDO_Model_Type, or a derived type, otherwise
     *   returns FALSE.
     * @since ^
     **/
    function isInstance($data_object){}

    /**
     * Test to see if this type is an open type
     *
     * Test to see if this type is open. Returns TRUE if this type is open,
     * otherwise returns FALSE. An SDO_DataObject whose type is open can have
     * properties added to them which are not described by the type. This
     * capability is used to support working with XML documents whose schema
     * support open content, such as that defined by an <xsd:any> element.
     *
     * @return bool Returns TRUE if this type is open, otherwise returns
     *   FALSE.
     * @since ^
     **/
    function isOpenType(){}

    /**
     * Test to see if this is a sequenced type
     *
     * Test to see if this is a sequenced type. Returns TRUE if this type is
     * sequence, otherwise returns FALSE. Sequenced types can have the
     * ordering across properties preserved and can contain unstructured
     * text. For more information on sequenced types see the section on
     * Working with Sequenced Data Objects.
     *
     * @return bool Returns TRUE if this type is sequence, otherwise return
     *   FALSE.
     * @since ^
     **/
    function isSequencedType(){}

}
class SDO_Sequence {
    /**
     * Return the property for the specified sequence index
     *
     * Return the property for the specified sequence index.
     *
     * @param int $sequence_index The position of the element in the
     *   sequence.
     * @return SDO_Model_Property An SDO_Model_Property. A return value of
     *   NULL means the sequence element does not belong to a property and
     *   must therefore be unstructured text.
     * @since ^
     **/
    function getProperty($sequence_index){}

    /**
     * Insert into a sequence
     *
     * Insert a new element at a specified position in the sequence. All
     * subsequent sequence items are moved up.
     *
     * @param mixed $value The new value to be inserted. This can be either
     *   a primitive or an SDO_DataObject.
     * @param int $sequenceIndex The position at which to insert the new
     *   element. Default is NULL, which results in the new value being
     *   appended to the sequence.
     * @param mixed $propertyIdentifier Either a property index, a property
     *   name, or an SDO_Model_Property, used to identify a property in the
     *   sequence's corresponding SDO_DataObject. A value of NULL signifies
     *   unstructured text.
     * @return void None.
     * @since ^
     **/
    function insert($value, $sequenceIndex, $propertyIdentifier){}

    /**
     * Move an item to another sequence position
     *
     * Modify the position of the item in the sequence, without altering the
     * value of the property in the SDO_DataObject.
     *
     * @param int $toIndex The destination sequence index. If this index is
     *   less than zero or greater than the size of the sequence then the
     *   value is appended.
     * @param int $fromIndex The source sequence index.
     * @return void None.
     * @since ^
     **/
    function move($toIndex, $fromIndex){}

}
class SeasLog {
    /**
     * Record alert log information
     *
     * Record alert log information. "ALERT" - Action must be taken
     * immediately. Immediate attention should be given to relevant personnel
     * for emergency repairs.
     *
     * @param string $message The log message.
     * @param array $content The `message` contain placeholders which
     *   implementors replace with values from content array. Sush as
     *   `message` is `log info from {NAME}` and `content` is `array('NAME'
     *   => neeke)`, the log information will `log info from neeke`.
     * @param string $logger The `logger` cased by the third param would be
     *   used right this right now, like a temp logger, when the function
     *   SeasLog::setLogger() called in pre content. If `logger` NULL or "",
     *   SeasLog will use lastest logger setted by SeasLog::setLogger.
     * @return bool Return TRUE on record log information success, FALSE on
     *   failure.
     * @since PECL seaslog >=1.0.0
     **/
    public static function alert($message, $content, $logger){}

    /**
     * Get log count by level, log_path and key_word
     *
     * `SeasLog` get count value of `grep -ai '{level}' | grep -aic
     * '{key_word}'` use system pipe and return to PHP (array or int).
     *
     * @param string $level String. The log information level.
     * @param string $log_path String. The log information path.
     * @param string $key_word String. The search key word for log
     *   information.
     * @return mixed If `level` is SEASLOG_ALL or Empty, return all levels
     *   count as `array`. If `level` is SEASLOG_INFO or the other level,
     *   return count as `int`.
     * @since PECL seaslog >=1.1.6
     **/
    public static function analyzerCount($level, $log_path, $key_word){}

    /**
     * Get log detail by level, log_path, key_word, start, limit, order
     *
     * `SeasLog` get results of `grep -ai '{level}' | grep -ai '{key_word}' |
     * sed -n '{start},{limit}'p` use system pipe and return array to PHP.
     *
     * @param string $level String. The log information level.
     * @param string $log_path String. The log information path.
     * @param string $key_word String. The search key word for log
     *   information.
     * @param int $start Int. Default is `1`.
     * @param int $limit Int. Default is `20`.
     * @param int $order Int. Default is SEASLOG_DETAIL_ORDER_ASC. See
     *   also: SEASLOG_DETAIL_ORDER_ASC SEASLOG_DETAIL_ORDER_DESC
     * @return mixed Return results as array. When `start`,`limit` is not
     *   NULL and in Windows, SeasLog will threw exception with message
     *   'Param start and limit don't support Windows'.
     * @since PECL seaslog >=1.1.6
     **/
    public static function analyzerDetail($level, $log_path, $key_word, $start, $limit, $order){}

    /**
     * Record critical log information
     *
     * Record critical log information. "CRITICAL" - Critical conditions.Need
     * to be repaired immediately, and the program component is unavailable.
     *
     * @param string $message The log message.
     * @param array $content The `message` contain placeholders which
     *   implementors replace with values from content array. Sush as
     *   `message` is `log info from {NAME}` and `content` is `array('NAME'
     *   => neeke)`, the log information will `log info from neeke`.
     * @param string $logger The `logger` cased by the third param would be
     *   used right this right now, like a temp logger, when the function
     *   SeasLog::setLogger() called in pre content. If `logger` NULL or "",
     *   SeasLog will use lastest logger setted by SeasLog::setLogger.
     * @return bool Return TRUE on record log information success, FALSE on
     *   failure.
     * @since PECL seaslog >=1.0.0
     **/
    public static function critical($message, $content, $logger){}

    /**
     * Record debug log information
     *
     * Record debug log information. "DEBUG" - Detailed debug
     * information.Fine-grained information events.
     *
     * @param string $message The log message.
     * @param array $content The `message` contain placeholders which
     *   implementors replace with values from content array. Sush as
     *   `message` is `log info from {NAME}` and `content` is `array('NAME'
     *   => neeke)`, the log information will `log info from neeke`.
     * @param string $logger The `logger` cased by the third param would be
     *   used right this right now, like a temp logger, when the function
     *   SeasLog::setLogger() called in pre content. If `logger` NULL or "",
     *   SeasLog will use lastest logger setted by SeasLog::setLogger.
     * @return bool Return TRUE on record log information success, FALSE on
     *   failure.
     * @since PECL seaslog >=1.0.0
     **/
    public static function debug($message, $content, $logger){}

    /**
     * Record emergency log information
     *
     * Record emergency log information. "EMERGENCY" - System is unusable.
     *
     * @param string $message The log message.
     * @param array $content The `message` contain placeholders which
     *   implementors replace with values from content array. Sush as
     *   `message` is `log info from {NAME}` and `content` is `array('NAME'
     *   => neeke)`, the log information will `log info from neeke`.
     * @param string $logger The `logger` cased by the third param would be
     *   used right this right now, like a temp logger, when the function
     *   SeasLog::setLogger() called in pre content. If `logger` NULL or "",
     *   SeasLog will use lastest logger setted by SeasLog::setLogger.
     * @return bool Return TRUE on record log information success, FALSE on
     *   failure.
     * @since PECL seaslog >=1.0.0
     **/
    public static function emergency($message, $content, $logger){}

    /**
     * Record error log information
     *
     * Record error log information. "ERROR" - Runtime errors that do not
     * require immediate action but should typically.
     *
     * @param string $message The log message.
     * @param array $content The `message` contain placeholders which
     *   implementors replace with values from content array. Sush as
     *   `message` is `log info from {NAME}` and `content` is `array('NAME'
     *   => neeke)`, the log information will `log info from neeke`.
     * @param string $logger The `logger` cased by the third param would be
     *   used right this right now, like a temp logger, when the function
     *   SeasLog::setLogger() called in pre content. If `logger` NULL or "",
     *   SeasLog will use lastest logger setted by SeasLog::setLogger.
     * @return bool Return TRUE on record log information success, FALSE on
     *   failure.
     * @since PECL seaslog >=1.0.0
     **/
    public static function error($message, $content, $logger){}

    /**
     * Flush logs buffer, dump to appender file, or send to remote api with
     * tcp/udp
     *
     * Flush logs buffer by seaslog.appender: dump to file, or send to remote
     * api with tcp/udp. See also: seaslog.appender_retry seaslog.remote_host
     * seaslog.remote_port
     *
     * @return bool Return TRUE on flush buffer success, FALSE on failure.
     * @since PECL seaslog >=1.0.0
     **/
    public static function flushBuffer(){}

    /**
     * Get SeasLog base path.
     *
     * Use the Function SeasLog::getBasePath will get the value of
     * seaslog.default_basepath what configured in php.ini(seaslog.ini).
     *
     * If you use Seaslog::setBasePath, will change the result.
     *
     * @return string Return seaslog.default_basepath as string.
     * @since PECL seaslog >=1.0.0
     **/
    public static function getBasePath(){}

    /**
     * Get the logs buffer in memory as array
     *
     * @return array Return an array from logs buffer in memory.
     * @since PECL seaslog >=1.0.0
     **/
    public static function getBuffer(){}

    /**
     * Determin if buffer enabled
     *
     * Result join seaslog.use_buffer and seaslog.buffer_disabled_in_cli.
     *
     * @return bool Return TRUE on seaslog.use_buffer is true. If switch
     *   seaslog.buffer_disabled_in_cli on, and running in cli,
     *   seaslog.use_buffer setting will be discarded, Seaslog write to the
     *   Data Store IMMEDIATELY.
     * @since PECL seaslog >=1.0.0
     **/
    public static function getBufferEnabled(){}

    /**
     * Get SeasLog datetime format style
     *
     * Get SeasLog datetime format style. Use the Function
     * SeasLog::getDatetimeFormat will get the value of
     * seaslog.default_datetime_format what configured in
     * php.ini(seaslog.ini).
     *
     * @return string Get SeasLog datetime format style of
     *   seaslog.default_datetime_format. Use the Function
     *   SeasLog::setDatetimeFormat will change this value.
     * @since PECL seaslog >=1.0.0
     **/
    public static function getDatetimeFormat(){}

    /**
     * Get SeasLog last logger path
     *
     * Use the Function SeasLog::getLastLogger will get the value of
     * seaslog.default_logger what configured in php.ini(seaslog.ini).
     *
     * @return string Use the Function SeasLog::setLogger will change the
     *   value of function SeasLog::getLastLogger.
     * @since PECL seaslog >=1.0.0
     **/
    public static function getLastLogger(){}

    /**
     * Get SeasLog request_id differentiated requests
     *
     * To distinguish a single request, such as not invoking the
     * SeasLog::setRequestId function， the unique value generated by the
     * built-in `static char *get_uniqid ()` function is used when the
     * request is initialized.
     *
     * @return string Return string generated by the built-in `static char
     *   *get_uniqid ()` function, or setted by SeasLog::setRequestId
     *   function.
     * @since PECL seaslog >=1.0.0
     **/
    public static function getRequestID(){}

    /**
     * Record info log information
     *
     * Record info log information. "INFO" - Interesting events.Emphasizes
     * the running process of the application.
     *
     * @param string $message The log message.
     * @param array $content The `message` contain placeholders which
     *   implementors replace with values from content array. Sush as
     *   `message` is `log info from {NAME}` and `content` is `array('NAME'
     *   => neeke)`, the log information will `log info from neeke`.
     * @param string $logger The `logger` cased by the third param would be
     *   used right this right now, like a temp logger, when the function
     *   SeasLog::setLogger() called in pre content. If `logger` NULL or "",
     *   SeasLog will use lastest logger setted by SeasLog::setLogger.
     * @return bool Return TRUE on record log information success, FALSE on
     *   failure.
     * @since PECL seaslog >=1.0.0
     **/
    public static function info($message, $content, $logger){}

    /**
     * The Common Record Log Function
     *
     * @param string $level Can use level in: SEASLOG_DEBUG SEASLOG_INFO
     *   SEASLOG_NOTICE SEASLOG_WARNING SEASLOG_ERROR SEASLOG_CRITICAL
     *   SEASLOG_ALERT SEASLOG_EMERGENCY Or you can create a new level
     *   self-help.
     * @param string $message The log message.
     * @param array $content The `message` contain placeholders which
     *   implementors replace with values from content array. Sush as
     *   `message` is `log info from {NAME}` and `content` is `array('NAME'
     *   => neeke)`, the log information will `log info from neeke`.
     * @param string $logger The `logger` cased by the third param would be
     *   used right this right now, like a temp logger, when the function
     *   SeasLog::setLogger() called in pre content. If `logger` NULL or "",
     *   SeasLog will use lastest logger setted by SeasLog::setLogger.
     * @return bool Return TRUE on record log information success, FALSE on
     *   failure.
     * @since PECL seaslog >=1.0.0
     **/
    public static function log($level, $message, $content, $logger){}

    /**
     * Record notice log information
     *
     * Record notice log information. "NOTICE" - Normal but significant
     * events.Information that is more important than the INFO level during
     * execution.
     *
     * @param string $message The log message.
     * @param array $content The `message` contain placeholders which
     *   implementors replace with values from content array. Sush as
     *   `message` is `log info from {NAME}` and `content` is `array('NAME'
     *   => neeke)`, the log information will `log info from neeke`.
     * @param string $logger The `logger` cased by the third param would be
     *   used right this right now, like a temp logger, when the function
     *   SeasLog::setLogger() called in pre content. If `logger` NULL or "",
     *   SeasLog will use lastest logger setted by SeasLog::setLogger.
     * @return bool Return TRUE on record log information success, FALSE on
     *   failure.
     * @since PECL seaslog >=1.0.0
     **/
    public static function notice($message, $content, $logger){}

    /**
     * Set SeasLog base path
     *
     * @param string $base_path String.
     * @return bool Return TRUE on setted base path success, FALSE on
     *   failure.
     * @since PECL seaslog >=1.0.0
     **/
    public static function setBasePath($base_path){}

    /**
     * Set SeasLog datetime format style
     *
     * @param string $format String. Such as `Y-m-d H:i:s` or `Ymd His`.
     *   See also first param `format` at {@link date}.
     * @return bool Return TRUE on setted datetime format success, FALSE on
     *   failure.
     * @since PECL seaslog >=1.0.0
     **/
    public static function setDatetimeFormat($format){}

    /**
     * Set SeasLog logger name
     *
     * Use the Function SeasLog::setLogger will change the value of function
     * SeasLog::getLastLogger. Than's mean, SeasLog will record loginfo into
     * the logger directory.
     *
     * @param string $logger Logger name.
     * @return bool Return TRUE on created logger disectory success, FALSE
     *   on failure.
     * @since PECL seaslog >=1.0.0
     **/
    public static function setLogger($logger){}

    /**
     * Set SeasLog request_id differentiated requests
     *
     * To distinguish a single request, such as not invoking the
     * SeasLog::setRequestId function， the unique value generated by the
     * built-in `static char *get_uniqid ()` function is used when the
     * request is initialized.
     *
     * @param string $request_id String.
     * @return bool Return TRUE on set request_id success, FALSE on
     *   failure.
     * @since PECL seaslog >=1.0.0
     **/
    public static function setRequestID($request_id){}

    /**
     * Record warning log information
     *
     * Record warning log information. "WARNING" - Exceptional occurrences
     * that are not errors. Potentially aberrant information that needs
     * attention and needs to be repaired.
     *
     * @param string $message The log message.
     * @param array $content The `message` contain placeholders which
     *   implementors replace with values from content array. Sush as
     *   `message` is `log info from {NAME}` and `content` is `array('NAME'
     *   => neeke)`, the log information will `log info from neeke`.
     * @param string $logger The `logger` cased by the third param would be
     *   used right this right now, like a temp logger, when the function
     *   SeasLog::setLogger() called in pre content. If `logger` NULL or "",
     *   SeasLog will use lastest logger setted by SeasLog::setLogger.
     * @return bool Return TRUE on record log information success, FALSE on
     *   failure.
     * @since PECL seaslog >=1.0.0
     **/
    public static function warning($message, $content, $logger){}

    /**
     * @since PECL seaslog >=1.0.0
     **/
    public function __destruct(){}

}
/**
 * The Seekable iterator.
 **/
interface SeekableIterator extends Iterator {
    /**
     * Seeks to a position
     *
     * Seeks to a given position in the iterator.
     *
     * @param int $position The position to seek to.
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function seek($position);

}
/**
 * Interface for customized serializing. Classes that implement this
 * interface no longer support __sleep() and __wakeup(). The method
 * serialize is called whenever an instance needs to be serialized. This
 * does not invoke __destruct() or have any other side effect unless
 * programmed inside the method. When the data is unserialized the class
 * is known and the appropriate unserialize() method is called as a
 * constructor instead of calling __construct(). If you need to execute
 * the standard constructor you may do so in the method.
 **/
interface Serializable {
    /**
     * String representation of object
     *
     * Should return the string representation of the object.
     *
     * @return string Returns the string representation of the object or
     *   NULL
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function serialize();

    /**
     * Constructs the object
     *
     * Called during unserialization of the object.
     *
     * @param string $serialized The string representation of the object.
     * @return void The return value from this method is ignored.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function unserialize($serialized);

}
/**
 * SessionHandler is a special class that can be used to expose the
 * current internal PHP session save handler by inheritance. There are
 * seven methods which wrap the seven internal session save handler
 * callbacks ({@link open}, {@link close}, {@link read}, {@link write},
 * {@link destroy}, {@link gc} and {@link create_sid}). By default, this
 * class will wrap whatever internal save handler is set as defined by
 * the session.save_handler configuration directive which is usually
 * {@link files} by default. Other internal session save handlers are
 * provided by PHP extensions such as SQLite (as {@link sqlite}),
 * Memcache (as {@link memcache}), and Memcached (as {@link memcached}).
 * When a plain instance of SessionHandler is set as the save handler
 * using {@link session_set_save_handler} it will wrap the current save
 * handlers. A class extending from SessionHandler allows you to override
 * the methods or intercept or filter them by calls the parent class
 * methods which ultimately wrap the internal PHP session handlers. This
 * allows you, for example, to intercept the {@link read} and {@link
 * write} methods to encrypt/decrypt the session data and then pass the
 * result to and from the parent class. Alternatively one might chose to
 * entirely override a method like the garbage collection callback {@link
 * gc}. Because the SessionHandler wraps the current internal save
 * handler methods, the above example of encryption can be applied to any
 * internal save handler without having to know the internals of the
 * handlers. To use this class, first set the save handler you wish to
 * expose using session.save_handler and then pass an instance of
 * SessionHandler or one extending it to {@link
 * session_set_save_handler}. Please note the callback methods of this
 * class are designed to be called internally by PHP and are not meant to
 * be called from user-space code. The return values are equally
 * processed internally by PHP. For more information on the session
 * workflow, please refer {@link session_set_save_handler}. 5.5.1 Added
 * {@link SessionHandler::create_sid}.
 **/
class SessionHandler implements SessionHandlerInterface, SessionIdInterface {
    /**
     * Close the session
     *
     * Closes the current session. This method is automatically executed
     * internally by PHP when closing the session, or explicitly via {@link
     * session_write_close} (which first calls the {@link
     * SessionHandler::write}).
     *
     * This method wraps the internal PHP save handler defined in the
     * session.save_handler ini setting that was set before this handler was
     * activated by {@link session_set_save_handler}.
     *
     * If this class is extended by inheritiance, calling the parent {@link
     * close} method will invoke the wrapper for this method and therefor
     * invoke the associated internal callback. This allows the method to be
     * overidden and or intercepted.
     *
     * For more information on what this method is expected to do, please
     * refer to the documentation at {@link SessionHandlerInterface::close}.
     *
     * @return bool
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function close(){}

    /**
     * Return a new session ID
     *
     * Generates and returns a new session ID.
     *
     * @return string A session ID valid for the default session handler.
     * @since PHP 5 >= 5.5.1, PHP 7
     **/
    public function create_sid(){}

    /**
     * Destroy a session
     *
     * Destroys a session. Called internally by PHP with {@link
     * session_regenerate_id} (assuming the {@link $destroy} is set to TRUE,
     * by {@link session_destroy} or when {@link session_decode} fails.
     *
     * This method wraps the internal PHP save handler defined in the
     * session.save_handler ini setting that was set before this handler was
     * set by {@link session_set_save_handler}.
     *
     * If this class is extended by inheritiance, calling the parent {@link
     * destroy} method will invoke the wrapper for this method and therefor
     * invoke the associated internal callback. This allows this method to be
     * overidden and or intercepted and filtered.
     *
     * For more information on what this method is expected to do, please
     * refer to the documentation at {@link
     * SessionHandlerInterface::destroy}.
     *
     * @param string $session_id The session ID being destroyed.
     * @return bool
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function destroy($session_id){}

    /**
     * Cleanup old sessions
     *
     * Cleans up expired sessions. Called randomly by PHP internally when a
     * session starts or when {@link session_start} is invoked. The frequency
     * this is called is based on the session.gc_divisor and
     * session.gc_probability configuration directives.
     *
     * This method wraps the internal PHP save handler defined in the
     * session.save_handler ini setting that was set before this handler was
     * set by {@link session_set_save_handler}.
     *
     * If this class is extended by inheritiance, calling the parent {@link
     * gc} method will invoke the wrapper for this method and therefore
     * invoke the associated internal callback. This allows this method to be
     * overidden and or intercepted and filtered.
     *
     * For more information on what this method is expected to do, please
     * refer to the documentation at {@link SessionHandlerInterface::gc}.
     *
     * @param int $maxlifetime Sessions that have not updated for the last
     *   {@link maxlifetime} seconds will be removed.
     * @return int
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function gc($maxlifetime){}

    /**
     * Initialize session
     *
     * Create new session, or re-initialize existing session. Called
     * internally by PHP when a session starts either automatically or when
     * {@link session_start} is invoked.
     *
     * This method wraps the internal PHP save handler defined in the
     * session.save_handler ini setting that was set before this handler was
     * set by {@link session_set_save_handler}.
     *
     * If this class is extended by inheritiance, calling the parent {@link
     * open} method will invoke the wrapper for this method and therefor
     * invoke the associated internal callback. This allows this method to be
     * overidden and or intercepted and filtered.
     *
     * For more information on what this method is expected to do, please
     * refer to the documentation at {@link SessionHandlerInterface::open}.
     *
     * @param string $save_path The path where to store/retrieve the
     *   session.
     * @param string $session_name The session name.
     * @return bool
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function open($save_path, $session_name){}

    /**
     * Read session data
     *
     * Reads the session data from the session storage, and returns the
     * result back to PHP for internal processing. This method is called
     * automatically by PHP when a session is started (either automatically
     * or explicity with {@link session_start} and is preceeded by an
     * internal call to the {@link SessionHandler::open}.
     *
     * This method wraps the internal PHP save handler defined in the
     * session.save_handler ini setting that was set before this handler was
     * set by {@link session_set_save_handler}.
     *
     * If this class is extended by inheritiance, calling the parent {@link
     * read} method will invoke the wrapper for this method and therefor
     * invoke the associated internal callback. This allows the method to be
     * overidden and or intercepted and filtered (for example, decrypting
     * {@link $data} value returned by the parent {@link read} method).
     *
     * For more information on what this method is expected to do, please
     * refer to the documentation at {@link SessionHandlerInterface::read}.
     *
     * @param string $session_id The session id to read data for.
     * @return string Returns an encoded string of the read data. If
     *   nothing was read, it must return an empty string. Note this value is
     *   returned internally to PHP for processing.
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function read($session_id){}

    /**
     * Write session data
     *
     * Writes the session data to the session storage. Called by normal PHP
     * shutdown, by {@link session_write_close}, or when {@link
     * session_register_shutdown} fails. PHP will call {@link
     * SessionHandler::close} immediately after this method returns.
     *
     * This method wraps the internal PHP save handler defined in the
     * session.save_handler ini setting that was set before this handler was
     * set by {@link session_set_save_handler}.
     *
     * If this class is extended by inheritiance, calling the parent {@link
     * write} method will invoke the wrapper for this method and therefor
     * invoke the associated internal callback. This allows this method to be
     * overidden and or intercepted and filtered (for example, encrypting the
     * {@link $data} value before sending it to the parent {@link write}
     * method).
     *
     * For more information on what this method is expected to do, please
     * refer to the documentation at {@link SessionHandlerInterface::write}.
     *
     * @param string $session_id The session id.
     * @param string $session_data The encoded session data. This data is
     *   the result of the PHP internally encoding the $_SESSION superglobal
     *   to a serialized string and passing it as this parameter. Please note
     *   sessions use an alternative serialization method.
     * @return bool
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function write($session_id, $session_data){}

}
/**
 * SessionHandlerInterface is an interface which defines a prototype for
 * creating a custom session handler. In order to pass a custom session
 * handler to {@link session_set_save_handler} using its OOP invocation,
 * the class must implement this interface. Please note the callback
 * methods of this class are designed to be called internally by PHP and
 * are not meant to be called from user-space code.
 **/
interface SessionHandlerInterface {
    /**
     * Close the session
     *
     * Closes the current session. This function is automatically executed
     * when closing the session, or explicitly via {@link
     * session_write_close}.
     *
     * @return bool
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function close();

    /**
     * Destroy a session
     *
     * Destroys a session. Called by {@link session_regenerate_id} (with
     * $destroy = TRUE), {@link session_destroy} and when {@link
     * session_decode} fails.
     *
     * @param string $session_id The session ID being destroyed.
     * @return bool
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function destroy($session_id);

    /**
     * Cleanup old sessions
     *
     * Cleans up expired sessions. Called by {@link session_start}, based on
     * session.gc_divisor, session.gc_probability and session.gc_maxlifetime
     * settings.
     *
     * @param int $maxlifetime Sessions that have not updated for the last
     *   {@link maxlifetime} seconds will be removed.
     * @return int
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function gc($maxlifetime);

    /**
     * Initialize session
     *
     * Re-initialize existing session, or creates a new one. Called when a
     * session starts or when {@link session_start} is invoked.
     *
     * @param string $save_path The path where to store/retrieve the
     *   session.
     * @param string $session_name The session name.
     * @return bool
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function open($save_path, $session_name);

    /**
     * Read session data
     *
     * Reads the session data from the session storage, and returns the
     * results. Called right after the session starts or when {@link
     * session_start} is called. Please note that before this method is
     * called {@link SessionHandlerInterface::open} is invoked.
     *
     * This method is called by PHP itself when the session is started. This
     * method should retrieve the session data from storage by the session ID
     * provided. The string returned by this method must be in the same
     * serialized format as when originally passed to the {@link
     * SessionHandlerInterface::write} If the record was not found, return an
     * empty string.
     *
     * The data returned by this method will be decoded internally by PHP
     * using the unserialization method specified in
     * session.serialize_handler. The resulting data will be used to populate
     * the $_SESSION superglobal.
     *
     * Note that the serialization scheme is not the same as {@link
     * unserialize} and can be accessed by {@link session_decode}.
     *
     * @param string $session_id The session id.
     * @return string Returns an encoded string of the read data. If
     *   nothing was read, it must return an empty string. Note this value is
     *   returned internally to PHP for processing.
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function read($session_id);

    /**
     * Write session data
     *
     * Writes the session data to the session storage. Called by {@link
     * session_write_close}, when {@link session_register_shutdown} fails, or
     * during a normal shutdown. Note: {@link SessionHandlerInterface::close}
     * is called immediately after this function.
     *
     * PHP will call this method when the session is ready to be saved and
     * closed. It encodes the session data from the $_SESSION superglobal to
     * a serialized string and passes this along with the session ID to this
     * method for storage. The serialization method used is specified in the
     * session.serialize_handler setting.
     *
     * Note this method is normally called by PHP after the output buffers
     * have been closed unless explicitly called by {@link
     * session_write_close}
     *
     * @param string $session_id The session id.
     * @param string $session_data The encoded session data. This data is
     *   the result of the PHP internally encoding the $_SESSION superglobal
     *   to a serialized string and passing it as this parameter. Please note
     *   sessions use an alternative serialization method.
     * @return bool
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function write($session_id, $session_data);

}
interface SessionIdInterface {
    /**
     * Create session ID
     *
     * @return string
     * @since PHP 5 >= 5.5.1, PHP 7
     **/
    public function create_sid();

}
interface SessionUpdateTimestampHandlerInterface {
    /**
     * Update timestamp
     *
     * @param string $key
     * @param string $val
     * @return bool Returns TRUE if the timestamp was updated, FALSE
     *   otherwise.
     * @since PHP 7
     **/
    public function updateTimestamp($key, $val);

    /**
     * Validate ID
     *
     * @param string $key
     * @return bool Returns TRUE for valid ID, FALSE otherwise.
     * @since PHP 7
     **/
    public function validateId($key);

}
/**
 * Represents an element in an XML document.
 **/
class SimpleXMLElement implements Traversable {
    /**
     * Adds an attribute to the SimpleXML element
     *
     * Adds an attribute to the SimpleXML element.
     *
     * @param string $name The name of the attribute to add.
     * @param string $value The value of the attribute.
     * @param string $namespace If specified, the namespace to which the
     *   attribute belongs.
     * @return void
     * @since PHP 5 >= 5.1.3, PHP 7
     **/
    public function addAttribute($name, $value, $namespace){}

    /**
     * Adds a child element to the XML node
     *
     * Adds a child element to the node and returns a SimpleXMLElement of the
     * child.
     *
     * @param string $name The name of the child element to add.
     * @param string $value If specified, the value of the child element.
     * @param string $namespace If specified, the namespace to which the
     *   child element belongs.
     * @return SimpleXMLElement The addChild method returns a
     *   SimpleXMLElement object representing the child added to the XML
     *   node.
     * @since PHP 5 >= 5.1.3, PHP 7
     **/
    public function addChild($name, $value, $namespace){}

    /**
     * Return a well-formed XML string based on SimpleXML element
     *
     * The asXML method formats the parent object's data in XML version 1.0.
     *
     * @param string $filename If specified, the function writes the data
     *   to the file rather than returning it.
     * @return mixed If the {@link filename} isn't specified, this function
     *   returns a string on success and FALSE on error. If the parameter is
     *   specified, it returns TRUE if the file was written successfully and
     *   FALSE otherwise.
     * @since PHP 5, PHP 7
     **/
    public function asXML($filename){}

    /**
     * Identifies an element's attributes
     *
     * This function provides the attributes and values defined within an xml
     * tag.
     *
     * @param string $ns An optional namespace for the retrieved attributes
     * @param bool $is_prefix Default to FALSE
     * @return SimpleXMLElement Returns a SimpleXMLElement object that can
     *   be iterated over to loop through the attributes on the tag.
     * @since PHP 5, PHP 7
     **/
    public function attributes($ns, $is_prefix){}

    /**
     * Finds children of given node
     *
     * This method finds the children of an element. The result follows
     * normal iteration rules.
     *
     * @param string $ns An XML namespace.
     * @param bool $is_prefix If {@link is_prefix} is TRUE, {@link ns} will
     *   be regarded as a prefix. If FALSE, {@link ns} will be regarded as a
     *   namespace URL.
     * @return SimpleXMLElement Returns a SimpleXMLElement element, whether
     *   the node has children or not.
     * @since PHP 5, PHP 7
     **/
    public function children($ns, $is_prefix){}

    /**
     * Counts the children of an element
     *
     * This method counts the number of children of an element.
     *
     * @return int Returns the number of elements of an element.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function count(){}

    /**
     * Returns namespaces declared in document
     *
     * Returns namespaces declared in document
     *
     * @param bool $recursive If specified, returns all namespaces declared
     *   in parent and child nodes. Otherwise, returns only namespaces
     *   declared in root node.
     * @param bool $from_root Allows you to recursively check namespaces
     *   under a child node instead of from the root of the XML doc.
     * @return array The getDocNamespaces method returns an array of
     *   namespace names with their associated URIs.
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function getDocNamespaces($recursive, $from_root){}

    /**
     * Gets the name of the XML element
     *
     * @return string The getName method returns as a string the name of
     *   the XML tag referenced by the SimpleXMLElement object.
     * @since PHP 5 >= 5.1.3, PHP 7
     **/
    public function getName(){}

    /**
     * Returns namespaces used in document
     *
     * Returns namespaces used in document
     *
     * @param bool $recursive If specified, returns all namespaces used in
     *   parent and child nodes. Otherwise, returns only namespaces used in
     *   root node.
     * @return array The getNamespaces method returns an array of namespace
     *   names with their associated URIs.
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function getNamespaces($recursive){}

    /**
     * Creates a prefix/ns context for the next XPath query
     *
     * Creates a prefix/ns context for the next XPath query. In particular,
     * this is helpful if the provider of the given XML document alters the
     * namespace prefixes. registerXPathNamespace will create a prefix for
     * the associated namespace, allowing one to access nodes in that
     * namespace without the need to change code to allow for the new
     * prefixes dictated by the provider.
     *
     * @param string $prefix The namespace prefix to use in the XPath query
     *   for the namespace given in {@link ns}.
     * @param string $ns The namespace to use for the XPath query. This
     *   must match a namespace in use by the XML document or the XPath query
     *   using {@link prefix} will not return any results.
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function registerXPathNamespace($prefix, $ns){}

    /**
     * Runs XPath query on XML data
     *
     * The xpath method searches the SimpleXML node for children matching the
     * XPath {@link path}.
     *
     * @param string $path An XPath path
     * @return array Returns an array of SimpleXMLElement objects or FALSE
     *   in case of an error.
     * @since PHP 5, PHP 7
     **/
    public function xpath($path){}

    /**
     * Returns the string content
     *
     * Returns text content that is directly in this element. Does not return
     * text content that is inside this element's children.
     *
     * @return string Returns the string content on success or an empty
     *   string on failure.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function __toString(){}

}
/**
 * The SimpleXMLIterator provides recursive iteration over all nodes of a
 * SimpleXMLElement object.
 **/
class SimpleXMLIterator extends SimpleXMLElement implements RecursiveIterator, Countable {
    /**
     * Returns the current element
     *
     * This method returns the current element as a SimpleXMLIterator object
     * or NULL.
     *
     * @return mixed Returns the current element as a SimpleXMLIterator
     *   object or NULL on failure.
     * @since PHP 5, PHP 7
     **/
    public function current(){}

    /**
     * Returns the sub-elements of the current element
     *
     * This method returns a SimpleXMLIterator object containing sub-elements
     * of the current SimpleXMLIterator element.
     *
     * @return SimpleXMLIterator Returns a SimpleXMLIterator object
     *   containing the sub-elements of the current element.
     * @since PHP 5, PHP 7
     **/
    public function getChildren(){}

    /**
     * Checks whether the current element has sub elements
     *
     * This method checks whether the current SimpleXMLIterator element has
     * sub-elements.
     *
     * @return bool TRUE if the current element has sub-elements, otherwise
     *   FALSE
     * @since PHP 5, PHP 7
     **/
    public function hasChildren(){}

    /**
     * Return current key
     *
     * This method gets the XML tag name of the current element.
     *
     * @return mixed Returns the XML tag name of the element referenced by
     *   the current SimpleXMLIterator object or FALSE
     * @since PHP 5, PHP 7
     **/
    public function key(){}

    /**
     * Move to next element
     *
     * This method moves the SimpleXMLIterator to the next element.
     *
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function next(){}

    /**
     * Rewind to the first element
     *
     * This method rewinds the SimpleXMLIterator to the first element.
     *
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function rewind(){}

    /**
     * Check whether the current element is valid
     *
     * This method checks if the current element is valid after calls to
     * SimpleXMLIterator::rewind or SimpleXMLIterator::next.
     *
     * @return bool Returns TRUE if the current element is valid, otherwise
     *   FALSE
     * @since PHP 5, PHP 7
     **/
    public function valid(){}

}
/**
 * Represents SNMP session.
 **/
class SNMP {
    /**
     * @var integer
     **/
    const ERRNO_ANY = 0;

    /**
     * @var integer
     **/
    const ERRNO_ERROR_IN_REPLY = 0;

    /**
     * @var integer
     **/
    const ERRNO_GENERIC = 0;

    /**
     * @var integer
     **/
    const ERRNO_MULTIPLE_SET_QUERIES = 0;

    /**
     * @var integer
     **/
    const ERRNO_NOERROR = 0;

    /**
     * @var integer
     **/
    const ERRNO_OID_NOT_INCREASING = 0;

    /**
     * @var integer
     **/
    const ERRNO_OID_PARSING_ERROR = 0;

    /**
     * @var integer
     **/
    const ERRNO_TIMEOUT = 0;

    /**
     * @var integer
     **/
    const VERSION_1 = 0;

    /**
     * @var integer
     **/
    const VERSION_2C = 0;

    /**
     * @var integer
     **/
    const VERSION_2c = 0;

    /**
     * @var integer
     **/
    const VERSION_3 = 0;

    /**
     * @var bool
     **/
    public $enum_print;

    /**
     * @var int
     **/
    public $exceptions_enabled;

    /**
     * Read-only property with remote agent configuration: hostname, port,
     * default timeout, default retries count
     *
     * @var array
     **/
    public $info;

    /**
     * @var int
     **/
    public $max_oids;

    /**
     * @var bool
     **/
    public $oid_increasing_check;

    /**
     * @var int
     **/
    public $oid_output_format;

    /**
     * @var bool
     **/
    public $quick_print;

    /**
     * Controls the method how the SNMP values will be returned
     *
     * @var int
     **/
    public $valueretrieval;

    /**
     * Close session
     *
     * Frees previously allocated SNMP session object.
     *
     * @return bool
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function close(){}

    /**
     * Fetch an object
     *
     * Fetch an SNMP object specified in {@link object_id} using GET query.
     *
     * @param mixed $object_id The SNMP object (OID) or objects
     * @param bool $preserve_keys When {@link object_id} is a array and
     *   {@link preserve_keys} set to TRUE keys in results will be taken
     *   exactly as in {@link object_id}, otherwise SNMP::oid_output_format
     *   property is used to determinate the form of keys.
     * @return mixed Returns SNMP objects requested as string or array
     *   depending on {@link object_id} type or FALSE on error.
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function get($object_id, $preserve_keys){}

    /**
     * Get last error code
     *
     * Returns error code from last SNMP request.
     *
     * @return int Returns one of SNMP error code values described in
     *   constants chapter.
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function getErrno(){}

    /**
     * Get last error message
     *
     * Returns string with error from last SNMP request.
     *
     * @return string String describing error from last SNMP request.
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function getError(){}

    /**
     * Fetch an object which follows the given object id
     *
     * Fetch an SNMP object that follows specified {@link object_id}.
     *
     * @param mixed $object_id The SNMP object (OID) or objects
     * @return mixed Returns SNMP objects requested as string or array
     *   depending on {@link object_id} type or FALSE on error.
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function getnext($object_id){}

    /**
     * Set the value of an SNMP object
     *
     * Requests remote SNMP agent setting the value of one or more SNMP
     * objects specified by the {@link object_id}.
     *
     * @param mixed $object_id The SNMP object id When count of OIDs in
     *   object_id array is greater than max_oids object property set method
     *   will have to use multiple queries to perform requested value
     *   updates. In this case type and value checks are made per-chunk so
     *   second or subsequent requests may fail due to wrong type or value
     *   for OID requested. To mark this a warning is raised when count of
     *   OIDs in object_id array is greater than max_oids.
     * @param mixed $type
     * @param mixed $value The new value.
     * @return bool
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function set($object_id, $type, $value){}

    /**
     * Configures security-related v3 session parameters
     *
     * setSecurity configures security-related session parameters used in
     * SNMP protocol version 3
     *
     * @param string $sec_level the security level
     *   (noAuthNoPriv|authNoPriv|authPriv)
     * @param string $auth_protocol the authentication protocol (MD5 or
     *   SHA)
     * @param string $auth_passphrase the authentication pass phrase
     * @param string $priv_protocol the privacy protocol (DES or AES)
     * @param string $priv_passphrase the privacy pass phrase
     * @param string $contextName the context name
     * @param string $contextEngineID the context EngineID
     * @return bool
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function setSecurity($sec_level, $auth_protocol, $auth_passphrase, $priv_protocol, $priv_passphrase, $contextName, $contextEngineID){}

    /**
     * Fetch object subtree
     *
     * SNMP::walk is used to read SNMP subtree rooted at specified {@link
     * object_id}.
     *
     * @param string $object_id Root of subtree to be fetched
     * @param bool $suffix_as_key By default full OID notation is used for
     *   keys in output array. If set to TRUE subtree prefix will be removed
     *   from keys leaving only suffix of object_id.
     * @param int $max_repetitions This specifies the number of supplied
     *   variables that should not be iterated over. The default is to use
     *   this value from SNMP object.
     * @param int $non_repeaters This specifies the maximum number of
     *   iterations over the repeating variables. The default is to use this
     *   value from SNMP object.
     * @return array Returns an associative array of the SNMP object ids
     *   and their values on success or FALSE on error. When a SNMP error
     *   occures SNMP::getErrno and SNMP::getError can be used for retrieving
     *   error number (specific to SNMP extension, see class constants) and
     *   error message respectively.
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function walk($object_id, $suffix_as_key, $max_repetitions, $non_repeaters){}

}
/**
 * Represents an error raised by SNMP. You should not throw a
 * SNMPException from your own code. See Exceptions for more information
 * about Exceptions in PHP.
 **/
class SNMPException extends RuntimeException {
    /**
     * SNMPlibrary error code. Use {@link Exception::getCode} to access it.
     *
     * @var string
     **/
    protected $code;

}
/**
 * The SoapClient class provides a client for SOAP 1.1, SOAP 1.2 servers.
 * It can be used in WSDL or non-WSDL mode.
 **/
class SoapClient {
    /**
     * SoapClient constructor
     *
     * This constructor creates SoapClient objects in WSDL or non-WSDL mode.
     *
     * @param mixed $wsdl URI of the WSDL file or NULL if working in
     *   non-WSDL mode.
     * @param array $options An array of options. If working in WSDL mode,
     *   this parameter is optional. If working in non-WSDL mode, the
     *   location and uri options must be set, where location is the URL of
     *   the SOAP server to send the request to, and uri is the target
     *   namespace of the SOAP service. The style and use options only work
     *   in non-WSDL mode. In WSDL mode, they come from the WSDL file. The
     *   soap_version option should be one of either SOAP_1_1 or SOAP_1_2 to
     *   select SOAP 1.1 or 1.2, respectively. If omitted, 1.1 is used. For
     *   HTTP authentication, the login and password options can be used to
     *   supply credentials. For making an HTTP connection through a proxy
     *   server, the options proxy_host, proxy_port, proxy_login and
     *   proxy_password are also available. For HTTPS client certificate
     *   authentication use local_cert and passphrase options. An
     *   authentication may be supplied in the authentication option. The
     *   authentication method may be either SOAP_AUTHENTICATION_BASIC
     *   (default) or SOAP_AUTHENTICATION_DIGEST. The compression option
     *   allows to use compression of HTTP SOAP requests and responses. The
     *   encoding option defines internal character encoding. This option
     *   does not change the encoding of SOAP requests (it is always utf-8),
     *   but converts strings into it. The trace option enables tracing of
     *   request so faults can be backtraced. This defaults to FALSE The
     *   classmap option can be used to map some WSDL types to PHP classes.
     *   This option must be an array with WSDL types as keys and names of
     *   PHP classes as values. Setting the boolean trace option enables use
     *   of the methods SoapClient->__getLastRequest,
     *   SoapClient->__getLastRequestHeaders, SoapClient->__getLastResponse
     *   and SoapClient->__getLastResponseHeaders. The exceptions option is a
     *   boolean value defining whether soap errors throw exceptions of type
     *   SoapFault. The connection_timeout option defines a timeout in
     *   seconds for the connection to the SOAP service. This option does not
     *   define a timeout for services with slow responses. To limit the time
     *   to wait for calls to finish the default_socket_timeout setting is
     *   available. The typemap option is an array of type mappings. Type
     *   mapping is an array with keys type_name, type_ns (namespace URI),
     *   from_xml (callback accepting one string parameter) and to_xml
     *   (callback accepting one object parameter). The cache_wsdl option is
     *   one of WSDL_CACHE_NONE, WSDL_CACHE_DISK, WSDL_CACHE_MEMORY or
     *   WSDL_CACHE_BOTH. The user_agent option specifies string to use in
     *   User-Agent header. The stream_context option is a resource for
     *   context. The features option is a bitmask of
     *   SOAP_SINGLE_ELEMENT_ARRAYS, SOAP_USE_XSI_ARRAY_TYPE,
     *   SOAP_WAIT_ONE_WAY_CALLS. The keep_alive option is a boolean value
     *   defining whether to send the Connection: Keep-Alive header or
     *   Connection: close. The ssl_method option is one of
     *   SOAP_SSL_METHOD_TLS, SOAP_SSL_METHOD_SSLv2, SOAP_SSL_METHOD_SSLv3 or
     *   SOAP_SSL_METHOD_SSLv23.
     * @since PHP 5, PHP 7
     **/
    public function SoapClient($wsdl, $options){}

    /**
     * Calls a SOAP function (deprecated)
     *
     * Calling this method directly is deprecated. Usually, SOAP functions
     * can be called as methods of the SoapClient object; in situations where
     * this is not possible or additional options are needed, use {@link
     * SoapClient::__soapCall}.
     *
     * @param string $function_name
     * @param array $arguments
     * @return mixed
     * @since PHP 5, PHP 7
     **/
    public function __call($function_name, $arguments){}

    /**
     * SoapClient constructor
     *
     * SoapClient::SoapClient
     *
     * @param mixed $wsdl
     * @param array $options
     * @since PHP 5, PHP 7
     **/
    public function __construct($wsdl, $options){}

    /**
     * Performs a SOAP request
     *
     * Performs SOAP request over HTTP.
     *
     * This method can be overridden in subclasses to implement different
     * transport layers, perform additional XML processing or other purpose.
     *
     * @param string $request The XML SOAP request.
     * @param string $location The URL to request.
     * @param string $action The SOAP action.
     * @param int $version The SOAP version.
     * @param int $one_way If one_way is set to 1, this method returns
     *   nothing. Use this where a response is not expected.
     * @return string The XML SOAP response.
     * @since PHP 5, PHP 7
     **/
    public function __doRequest($request, $location, $action, $version, $one_way){}

    /**
     * Get list of cookies
     *
     * @return array
     * @since PHP 5 >= 5.4.30, PHP 7
     **/
    public function __getCookies(){}

    /**
     * Returns list of available SOAP functions
     *
     * Returns an array of functions described in the WSDL for the Web
     * service.
     *
     * @return array The array of SOAP function prototypes, detailing the
     *   return type, the function name and type-hinted parameters.
     * @since PHP 5, PHP 7
     **/
    public function __getFunctions(){}

    /**
     * Returns last SOAP request
     *
     * Returns the XML sent in the last SOAP request.
     *
     * @return string The last SOAP request, as an XML string.
     * @since PHP 5, PHP 7
     **/
    public function __getLastRequest(){}

    /**
     * Returns the SOAP headers from the last request
     *
     * @return string The last SOAP request headers.
     * @since PHP 5, PHP 7
     **/
    public function __getLastRequestHeaders(){}

    /**
     * Returns last SOAP response
     *
     * Returns the XML received in the last SOAP response.
     *
     * @return string The last SOAP response, as an XML string.
     * @since PHP 5, PHP 7
     **/
    public function __getLastResponse(){}

    /**
     * Returns the SOAP headers from the last response
     *
     * @return string The last SOAP response headers.
     * @since PHP 5, PHP 7
     **/
    public function __getLastResponseHeaders(){}

    /**
     * Returns a list of SOAP types
     *
     * Returns an array of types described in the WSDL for the Web service.
     *
     * @return array The array of SOAP types, detailing all structures and
     *   types.
     * @since PHP 5, PHP 7
     **/
    public function __getTypes(){}

    /**
     * The __setCookie purpose
     *
     * Defines a cookie to be sent along with the SOAP requests.
     *
     * @param string $name The name of the cookie.
     * @param string $value The value of the cookie. If not specified, the
     *   cookie will be deleted.
     * @return void
     * @since PHP 5 >= 5.0.4, PHP 7
     **/
    public function __setCookie($name, $value){}

    /**
     * Sets the location of the Web service to use
     *
     * Sets the endpoint URL that will be touched by following SOAP requests.
     * This is equivalent to specifying the location option when constructing
     * the SoapClient.
     *
     * @param string $new_location The new endpoint URL.
     * @return string The old endpoint URL.
     * @since PHP 5 >= 5.0.4, PHP 7
     **/
    public function __setLocation($new_location){}

    /**
     * Sets SOAP headers for subsequent calls
     *
     * Defines headers to be sent along with the SOAP requests.
     *
     * @param mixed $soapheaders The headers to be set. It could be
     *   SoapHeader object or array of SoapHeader objects. If not specified
     *   or set to NULL, the headers will be deleted.
     * @return bool
     * @since PHP 5 >= 5.0.5, PHP 7
     **/
    public function __setSoapHeaders($soapheaders){}

    /**
     * Calls a SOAP function
     *
     * This is a low level API function that is used to make a SOAP call.
     * Usually, in WSDL mode, SOAP functions can be called as methods of the
     * SoapClient object. This method is useful in non-WSDL mode when
     * soapaction is unknown, uri differs from the default or when sending
     * and/or receiving SOAP Headers.
     *
     * On error, a call to a SOAP function can cause PHP to throw exceptions
     * or return a SoapFault object if exceptions are disabled. To check if
     * the function call failed to catch the SoapFault exceptions, check the
     * result with {@link is_soap_fault}.
     *
     * @param string $function_name The name of the SOAP function to call.
     * @param array $arguments An array of the arguments to pass to the
     *   function. This can be either an ordered or an associative array.
     *   Note that most SOAP servers require parameter names to be provided,
     *   in which case this must be an associative array.
     * @param array $options An associative array of options to pass to the
     *   client. The location option is the URL of the remote Web service.
     *   The uri option is the target namespace of the SOAP service. The
     *   soapaction option is the action to call.
     * @param mixed $input_headers An array of headers to be sent along
     *   with the SOAP request.
     * @param array $output_headers If supplied, this array will be filled
     *   with the headers from the SOAP response.
     * @return mixed SOAP functions may return one, or multiple values. If
     *   only one value is returned by the SOAP function, the return value of
     *   __soapCall will be a simple value (e.g. an integer, a string, etc).
     *   If multiple values are returned, __soapCall will return an
     *   associative array of named output parameters.
     * @since PHP 5, PHP 7
     **/
    public function __soapCall($function_name, $arguments, $options, $input_headers, &$output_headers){}

}
/**
 * Represents a SOAP fault.
 **/
class SoapFault extends Exception {
    /**
     * SoapFault constructor
     *
     * This class is used to send SOAP fault responses from the PHP handler.
     * {@link faultcode}, {@link faultstring}, {@link faultactor} and {@link
     * detail} are standard elements of a SOAP Fault.
     *
     * @param string $faultcode The error code of the SoapFault.
     * @param string $faultstring The error message of the SoapFault.
     * @param string $faultactor A string identifying the actor that caused
     *   the error.
     * @param string $detail More details about the cause of the error.
     * @param string $faultname Can be used to select the proper fault
     *   encoding from WSDL.
     * @param string $headerfault Can be used during SOAP header handling
     *   to report an error in the response header.
     * @since PHP 5, PHP 7
     **/
    function SoapFault($faultcode, $faultstring, $faultactor, $detail, $faultname, $headerfault){}

    /**
     * SoapFault constructor
     *
     * SoapFault::SoapFault
     *
     * @param string $faultcode
     * @param string $faultstring
     * @param string $faultactor
     * @param string $detail
     * @param string $faultname
     * @param string $headerfault
     * @since PHP 5, PHP 7
     **/
    function __construct($faultcode, $faultstring, $faultactor, $detail, $faultname, $headerfault){}

    /**
     * Obtain a string representation of a SoapFault
     *
     * Returns a string representation of the SoapFault.
     *
     * @return string A string describing the SoapFault.
     * @since PHP 5, PHP 7
     **/
    public function __toString(){}

}
/**
 * Represents a SOAP header.
 **/
class SoapHeader {
    /**
     * SoapHeader constructor
     *
     * Constructs a new SoapHeader object.
     *
     * @param string $namespace The namespace of the SOAP header element.
     * @param string $name The name of the SoapHeader object.
     * @param mixed $data A SOAP header's content. It can be a PHP value or
     *   a SoapVar object.
     * @param bool $mustunderstand Value of the mustUnderstand attribute of
     *   the SOAP header element.
     * @param string $actor Value of the actor attribute of the SOAP header
     *   element.
     * @since PHP 5, PHP 7
     **/
    function SoapHeader($namespace, $name, $data, $mustunderstand, $actor){}

    /**
     * SoapHeader constructor
     *
     * SoapHeader::SoapHeader
     *
     * @param string $namespace
     * @param string $name
     * @param mixed $data
     * @param bool $mustunderstand
     * @param string $actor
     * @since PHP 5, PHP 7
     **/
    function __construct($namespace, $name, $data, $mustunderstand, $actor){}

}
/**
 * Represents parameter to a SOAP call.
 **/
class SoapParam {
    /**
     * SoapParam constructor
     *
     * Constructs a new SoapParam object.
     *
     * @param mixed $data The data to pass or return. This parameter can be
     *   passed directly as PHP value, but in this case it will be named as
     *   paramN and the SOAP service may not understand it.
     * @param string $name The parameter name.
     * @since PHP 5, PHP 7
     **/
    function SoapParam($data, $name){}

    /**
     * SoapParam constructor
     *
     * SoapParam::SoapParam
     *
     * @param mixed $data
     * @param string $name
     * @since PHP 5, PHP 7
     **/
    function __construct($data, $name){}

}
/**
 * The SoapServer class provides a server for the SOAP 1.1 and SOAP 1.2
 * protocols. It can be used with or without a WSDL service description.
 **/
class SoapServer {
    /**
     * Adds one or more functions to handle SOAP requests
     *
     * Exports one or more functions for remote clients
     *
     * @param mixed $functions To export one function, pass the function
     *   name into this parameter as a string. To export several functions,
     *   pass an array of function names. To export all the functions, pass a
     *   special constant SOAP_FUNCTIONS_ALL.
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function addFunction($functions){}

    /**
     * Add a SOAP header to the response
     *
     * Adds a SOAP header to be returned with the response to the current
     * request.
     *
     * @param SoapHeader $object The header to be returned.
     * @return void
     * @since PHP 5 >= 5.1.3, PHP 7
     **/
    public function addSoapHeader($object){}

    /**
     * Issue SoapServer fault indicating an error
     *
     * Sends a response to the client of the current request indicating an
     * error.
     *
     * @param string $code The error code to return
     * @param string $string A brief description of the error
     * @param string $actor A string identifying the actor that caused the
     *   fault.
     * @param string $details More details of the fault
     * @param string $name The name of the fault. This can be used to
     *   select a name from a WSDL file.
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function fault($code, $string, $actor, $details, $name){}

    /**
     * Returns list of defined functions
     *
     * Returns a list of the defined functions in the SoapServer object. This
     * method returns the list of all functions added by
     * SoapServer::addFunction or SoapServer::setClass.
     *
     * @return array An array of the defined functions.
     * @since PHP 5, PHP 7
     **/
    public function getFunctions(){}

    /**
     * Handles a SOAP request
     *
     * Processes a SOAP request, calls necessary functions, and sends a
     * response back.
     *
     * @param string $soap_request The SOAP request. If this argument is
     *   omitted, the request is assumed to be in the raw POST data of the
     *   HTTP request.
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function handle($soap_request){}

    /**
     * Sets the class which handles SOAP requests
     *
     * Exports all methods from specified class.
     *
     * The object can be made persistent across request for a given PHP
     * session with the SoapServer::setPersistence method.
     *
     * @param string $class_name The name of the exported class.
     * @param mixed $args These optional parameters will be passed to the
     *   default class constructor during object creation.
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function setClass($class_name, $args){}

    /**
     * Sets the object which will be used to handle SOAP requests
     *
     * This sets a specific object as the handler for SOAP requests, rather
     * than just a class as in SoapServer::setClass.
     *
     * @param object $object The object to handle the requests.
     * @return void
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function setObject($object){}

    /**
     * Sets SoapServer persistence mode
     *
     * This function allows changing the persistence state of a SoapServer
     * object between requests. This function allows saving data between
     * requests utilizing PHP sessions. This method only has an affect on a
     * SoapServer after it has exported functions utilizing
     * SoapServer::setClass.
     *
     * @param int $mode One of the SOAP_PERSISTENCE_XXX constants.
     *   SOAP_PERSISTENCE_REQUEST - SoapServer data does not persist between
     *   requests. This is the default behavior of any SoapServer object
     *   after setClass is called. SOAP_PERSISTENCE_SESSION - SoapServer data
     *   persists between requests. This is accomplished by serializing the
     *   SoapServer class data into $_SESSION['_bogus_session_name'], because
     *   of this {@link session_start} must be called before this persistence
     *   mode is set.
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function setPersistence($mode){}

    /**
     * SoapServer constructor
     *
     * This constructor allows the creation of SoapServer objects in WSDL or
     * non-WSDL mode.
     *
     * @param mixed $wsdl To use the SoapServer in WSDL mode, pass the URI
     *   of a WSDL file. Otherwise, pass NULL and set the uri option to the
     *   target namespace for the server.
     * @param array $options Allow setting a default SOAP version
     *   (soap_version), internal character encoding (encoding), and actor
     *   URI (actor). The classmap option can be used to map some WSDL types
     *   to PHP classes. This option must be an array with WSDL types as keys
     *   and names of PHP classes as values. The typemap option is an array
     *   of type mappings. Type mapping is an array with keys type_name,
     *   type_ns (namespace URI), from_xml (callback accepting one string
     *   parameter) and to_xml (callback accepting one object parameter). The
     *   cache_wsdl option is one of WSDL_CACHE_NONE, WSDL_CACHE_DISK,
     *   WSDL_CACHE_MEMORY or WSDL_CACHE_BOTH. There is also a features
     *   option which can be set to SOAP_WAIT_ONE_WAY_CALLS,
     *   SOAP_SINGLE_ELEMENT_ARRAYS, SOAP_USE_XSI_ARRAY_TYPE. The send_errors
     *   option can be set to FALSE to sent a generic error message
     *   ("Internal error") instead of the specific error message sent
     *   otherwise.
     * @since PHP 5, PHP 7
     **/
    public function SoapServer($wsdl, $options){}

    /**
     * SoapServer constructor
     *
     * SoapServer::SoapServer
     *
     * @param mixed $wsdl
     * @param array $options
     * @since PHP 5, PHP 7
     **/
    public function __construct($wsdl, $options){}

}
/**
 * A class representing a variable or object for use with SOAP services.
 **/
class SoapVar {
    /**
     * SoapVar constructor
     *
     * Constructs a new SoapVar object.
     *
     * @param mixed $data The data to pass or return.
     * @param string $encoding The encoding ID, one of the XSD_...
     *   constants.
     * @param string $type_name The type name.
     * @param string $type_namespace The type namespace.
     * @param string $node_name The XML node name.
     * @param string $node_namespace The XML node namespace.
     * @since PHP 5, PHP 7
     **/
    function SoapVar($data, $encoding, $type_name, $type_namespace, $node_name, $node_namespace){}

    /**
     * SoapVar constructor
     *
     * SoapVar::SoapVar
     *
     * @param mixed $data
     * @param string $encoding
     * @param string $type_name
     * @param string $type_namespace
     * @param string $node_name
     * @param string $node_namespace
     * @since PHP 5, PHP 7
     **/
    function __construct($data, $encoding, $type_name, $type_namespace, $node_name, $node_namespace){}

}
class SodiumException extends Exception implements Throwable {
}
/**
 * Used to send requests to a Solr server. Currently, cloning and
 * serialization of SolrClient instances is not supported.
 **/
final class SolrClient {
    /**
     * @var string
     **/
    const DEFAULT_PING_SERVLET = '';

    /**
     * @var string
     **/
    const DEFAULT_SEARCH_SERVLET = '';

    /**
     * @var string
     **/
    const DEFAULT_SYSTEM_SERVLET = '';

    /**
     * @var string
     **/
    const DEFAULT_TERMS_SERVLET = '';

    /**
     * @var string
     **/
    const DEFAULT_THREADS_SERVLET = '';

    /**
     * @var string
     **/
    const DEFAULT_UPDATE_SERVLET = '';

    /**
     * @var integer
     **/
    const PING_SERVLET_TYPE = 0;

    /**
     * @var integer
     **/
    const SEARCH_SERVLET_TYPE = 0;

    /**
     * @var integer
     **/
    const SYSTEM_SERVLET_TYPE = 0;

    /**
     * @var integer
     **/
    const TERMS_SERVLET_TYPE = 0;

    /**
     * @var integer
     **/
    const THREADS_SERVLET_TYPE = 0;

    /**
     * @var integer
     **/
    const UPDATE_SERVLET_TYPE = 0;

    /**
     * Adds a document to the index
     *
     * This method adds a document to the index.
     *
     * @param SolrInputDocument $doc The SolrInputDocument instance.
     * @param bool $overwrite Whether to overwrite existing document or
     *   not. If FALSE there will be duplicates (several documents with the
     *   same ID).
     * @param int $commitWithin Number of milliseconds within which to auto
     *   commit this document. Available since Solr 1.4 . Default (0) means
     *   disabled. When this value specified, it leaves the control of when
     *   to do the commit to Solr itself, optimizing number of commits to a
     *   minimum while still fulfilling the update latency requirements, and
     *   Solr will automatically do a commit when the oldest add in the
     *   buffer is due.
     * @return SolrUpdateResponse Returns a SolrUpdateResponse object or
     *   throws an Exception on failure.
     * @since PECL solr >= 0.9.2
     **/
    public function addDocument($doc, $overwrite, $commitWithin){}

    /**
     * Adds a collection of SolrInputDocument instances to the index
     *
     * Adds a collection of documents to the index.
     *
     * @param array $docs An array containing the collection of
     *   SolrInputDocument instances. This array must be an actual variable.
     * @param bool $overwrite Whether to overwrite existing documents or
     *   not. If FALSE there will be duplicates (several documents with the
     *   same ID).
     * @param int $commitWithin Number of milliseconds within which to auto
     *   commit this document. Available since Solr 1.4 . Default (0) means
     *   disabled. When this value specified, it leaves the control of when
     *   to do the commit to Solr itself, optimizing number of commits to a
     *   minimum while still fulfilling the update latency requirements, and
     *   Solr will automatically do a commit when the oldest add in the
     *   buffer is due.
     * @return void Returns a SolrUpdateResponse object or throws an
     *   exception on failure.
     * @since PECL solr >= 0.9.2
     **/
    public function addDocuments($docs, $overwrite, $commitWithin){}

    /**
     * Finalizes all add/deletes made to the index
     *
     * This method finalizes all add/deletes made to the index.
     *
     * @param bool $softCommit This will refresh the 'view' of the index in
     *   a more performant manner, but without "on-disk" guarantees.
     *   (Solr4.0+) A soft commit is much faster since it only makes index
     *   changes visible and does not fsync index files or write a new index
     *   descriptor. If the JVM crashes or there is a loss of power, changes
     *   that occurred after the last hard commit will be lost. Search
     *   collections that have near-real-time requirements (that want index
     *   changes to be quickly visible to searches) will want to soft commit
     *   often but hard commit less frequently.
     * @param bool $waitSearcher block until a new searcher is opened and
     *   registered as the main query searcher, making the changes visible.
     * @param bool $expungeDeletes Merge segments with deletes away.
     *   (Solr1.4+)
     * @return SolrUpdateResponse Returns a SolrUpdateResponse object on
     *   success or throws an exception on failure.
     * @since PECL solr >= 0.9.2
     **/
    public function commit($softCommit, $waitSearcher, $expungeDeletes){}

    /**
     * Delete by Id
     *
     * Deletes the document with the specified ID. Where ID is the value of
     * the uniqueKey field declared in the schema
     *
     * @param string $id The value of the uniqueKey field declared in the
     *   schema
     * @return SolrUpdateResponse Returns a SolrUpdateResponse on success
     *   and throws an exception on failure.
     * @since PECL solr >= 0.9.2
     **/
    public function deleteById($id){}

    /**
     * Deletes by Ids
     *
     * Deletes a collection of documents with the specified set of ids.
     *
     * @param array $ids An array of IDs representing the uniqueKey field
     *   declared in the schema for each document to be deleted. This must be
     *   an actual php variable.
     * @return SolrUpdateResponse Returns a SolrUpdateResponse on success
     *   and throws an exception on failure.
     * @since PECL solr >= 0.9.2
     **/
    public function deleteByIds($ids){}

    /**
     * Removes all documents matching any of the queries
     *
     * @param array $queries The array of queries. This must be an actual
     *   php variable.
     * @return SolrUpdateResponse Returns a SolrUpdateResponse on success
     *   and throws a SolrClientException on failure.
     * @since PECL solr >= 0.9.2
     **/
    public function deleteByQueries($queries){}

    /**
     * Deletes all documents matching the given query
     *
     * @param string $query The query
     * @return SolrUpdateResponse Returns a SolrUpdateResponse on success
     *   and throws an exception on failure.
     * @since PECL solr >= 0.9.2
     **/
    public function deleteByQuery($query){}

    /**
     * Get Document By Id. Utilizes Solr Realtime Get (RTG)
     *
     * @param string $id Document ID
     * @return SolrQueryResponse SolrQueryResponse
     * @since PECL solr >= 2.2.0
     **/
    public function getById($id){}

    /**
     * Get Documents by their Ids. Utilizes Solr Realtime Get (RTG)
     *
     * @param array $ids Document ids
     * @return SolrQueryResponse SolrQueryResponse
     * @since PECL solr >= 2.2.0
     **/
    public function getByIds($ids){}

    /**
     * Returns the debug data for the last connection attempt
     *
     * @return string Returns a string on success and null if there is
     *   nothing to return.
     * @since PECL solr >= 0.9.7
     **/
    public function getDebug(){}

    /**
     * Returns the client options set internally
     *
     * Returns the client options set internally. Very useful for debugging.
     * The values returned are readonly and can only be set when the object
     * is instantiated.
     *
     * @return array Returns an array containing all the options for the
     *   SolrClient object set internally.
     * @since PECL solr >= 0.9.6
     **/
    public function getOptions(){}

    /**
     * Defragments the index
     *
     * Defragments the index for faster search performance.
     *
     * @param int $maxSegments Optimizes down to at most this number of
     *   segments. Since Solr 1.3
     * @param bool $softCommit This will refresh the 'view' of the index in
     *   a more performant manner, but without "on-disk" guarantees.
     *   (Solr4.0+)
     * @param bool $waitSearcher Block until a new searcher is opened and
     *   registered as the main query searcher, making the changes visible.
     * @return SolrUpdateResponse Returns a SolrUpdateResponse on success
     *   or throws an exception on failure.
     * @since PECL solr >= 0.9.2
     **/
    public function optimize($maxSegments, $softCommit, $waitSearcher){}

    /**
     * Checks if Solr server is still up
     *
     * Checks if the Solr server is still alive. Sends a HEAD request to the
     * Apache Solr server.
     *
     * @return SolrPingResponse Returns a SolrPingResponse object on
     *   success and throws an exception on failure.
     * @since PECL solr >= 0.9.2
     **/
    public function ping(){}

    /**
     * Sends a query to the server
     *
     * @param SolrParams $query A SolrParams object. It is recommended to
     *   use SolrQuery for advanced queries.
     * @return SolrQueryResponse Returns a SolrQueryResponse object on
     *   success and throws an exception on failure.
     * @since PECL solr >= 0.9.2
     **/
    public function query($query){}

    /**
     * Sends a raw update request
     *
     * Sends a raw XML update request to the server
     *
     * @param string $raw_request An XML string with the raw request to the
     *   server.
     * @return SolrUpdateResponse Returns a SolrUpdateResponse on success.
     *   Throws an exception on failure.
     * @since PECL solr >= 0.9.2
     **/
    public function request($raw_request){}

    /**
     * Rollbacks all add/deletes made to the index since the last commit
     *
     * Rollbacks all add/deletes made to the index since the last commit. It
     * neither calls any event listeners nor creates a new searcher.
     *
     * @return SolrUpdateResponse Returns a SolrUpdateResponse on success
     *   or throws a SolrClientException on failure.
     * @since PECL solr >= 0.9.2
     **/
    public function rollback(){}

    /**
     * Sets the response writer used to prepare the response from Solr
     *
     * @param string $responseWriter One of the following:
     * @return void
     * @since PECL solr >= 0.9.11
     **/
    public function setResponseWriter($responseWriter){}

    /**
     * Changes the specified servlet type to a new value
     *
     * @param int $type One of the following : -
     *   SolrClient::SEARCH_SERVLET_TYPE - SolrClient::UPDATE_SERVLET_TYPE -
     *   SolrClient::THREADS_SERVLET_TYPE - SolrClient::PING_SERVLET_TYPE -
     *   SolrClient::TERMS_SERVLET_TYPE
     * @param string $value The new value for the servlet
     * @return bool
     * @since PECL solr >= 0.9.2
     **/
    public function setServlet($type, $value){}

    /**
     * Retrieve Solr Server information
     *
     * @return void Returns a SolrGenericResponse object on success.
     * @since PECL solr >= 2.0.0
     **/
    public function system(){}

    /**
     * Checks the threads status
     *
     * @return void Returns a SolrGenericResponse object.
     * @since PECL solr >= 0.9.2
     **/
    public function threads(){}

    /**
     * Constructor for the SolrClient object
     *
     * @param array $clientOptions This is an array containing one of the
     *   following keys : - secure (Boolean value indicating whether or not
     *   to connect in secure mode) - hostname (The hostname for the Solr
     *   server) - port (The port number) - path (The path to solr) - wt (The
     *   name of the response writer e.g. xml, json) - login (The username
     *   used for HTTP Authentication, if any) - password (The HTTP
     *   Authentication password) - proxy_host (The hostname for the proxy
     *   server, if any) - proxy_port (The proxy port) - proxy_login (The
     *   proxy username) - proxy_password (The proxy password) - timeout
     *   (This is maximum time in seconds allowed for the http data transfer
     *   operation. Default is 30 seconds) - ssl_cert (File name to a
     *   PEM-formatted file containing the private key + private certificate
     *   (concatenated in that order) ) - ssl_key (File name to a
     *   PEM-formatted private key file only) - ssl_keypassword (Password for
     *   private key) - ssl_cainfo (Name of file holding one or more CA
     *   certificates to verify peer with) - ssl_capath (Name of directory
     *   holding multiple CA certificates to verify peer with ) Please note
     *   the if the ssl_cert file only contains the private certificate, you
     *   have to specify a separate ssl_key file The ssl_keypassword option
     *   is required if the ssl_cert or ssl_key options are set.
     * @since PECL solr >= 0.9.2
     **/
    public function __construct($clientOptions){}

    /**
     * Destructor for SolrClient
     *
     * Destructor
     *
     * @return void Destructor for SolrClient
     * @since PECL solr >= 0.9.2
     **/
    public function __destruct(){}

}
/**
 * An exception thrown when there is an error while making a request to
 * the server from the client.
 **/
class SolrClientException extends SolrException {
    /**
     * Returns internal information where the Exception was thrown
     *
     * @return array Returns an array containing internal information where
     *   the error was thrown. Used only for debugging by extension
     *   developers.
     * @since PECL solr >= 0.9.2
     **/
    public function getInternalInfo(){}

}
class SolrCollapseFunction {
    /**
     * @var string
     **/
    const NULLPOLICY_COLLAPSE = '';

    /**
     * @var string
     **/
    const NULLPOLICY_EXPAND = '';

    /**
     * @var string
     **/
    const NULLPOLICY_IGNORE = '';

    /**
     * Returns the field that is being collapsed on
     *
     * @return string
     * @since PECL solr >= 2.2.0
     **/
    public function getField(){}

    /**
     * Returns collapse hint
     *
     * @return string
     * @since PECL solr >= 2.2.0
     **/
    public function getHint(){}

    /**
     * Returns max parameter
     *
     * @return string
     * @since PECL solr >= 2.2.0
     **/
    public function getMax(){}

    /**
     * Returns min parameter
     *
     * @return string
     * @since PECL solr >= 2.2.0
     **/
    public function getMin(){}

    /**
     * Returns null policy
     *
     * Returns null policy used or null
     *
     * @return string
     * @since PECL solr >= 2.2.0
     **/
    public function getNullPolicy(){}

    /**
     * Returns size parameter
     *
     * Gets the initial size of the collapse data structures when collapsing
     * on a numeric field only
     *
     * @return int
     * @since PECL solr >= 2.2.0
     **/
    public function getSize(){}

    /**
     * Sets the field to collapse on
     *
     * The field name to collapse on. In order to collapse a result. The
     * field type must be a single valued String, Int or Float.
     *
     * @param string $fieldName
     * @return SolrCollapseFunction SolrCollapseFunction
     * @since PECL solr >= 2.2.0
     **/
    public function setField($fieldName){}

    /**
     * Sets collapse hint
     *
     * @param string $hint Currently there is only one hint available
     *   "top_fc", which stands for top level FieldCache
     * @return SolrCollapseFunction SolrCollapseFunction
     * @since PECL solr >= 2.2.0
     **/
    public function setHint($hint){}

    /**
     * Selects the group heads by the max value of a numeric field or
     * function query
     *
     * @param string $max
     * @return SolrCollapseFunction SolrCollapseFunction
     * @since PECL solr >= 2.2.0
     **/
    public function setMax($max){}

    /**
     * Sets the initial size of the collapse data structures when collapsing
     * on a numeric field only
     *
     * @param string $min
     * @return SolrCollapseFunction SolrCollapseFunction
     * @since PECL solr >= 2.2.0
     **/
    public function setMin($min){}

    /**
     * Sets the NULL Policy
     *
     * Sets the NULL Policy. One of the 3 policies defined as class constants
     * shall be passed. Accepts ignore, expand, or collapse policies.
     *
     * @param string $nullPolicy
     * @return SolrCollapseFunction SolrCollapseFunction
     * @since PECL solr >= 2.2.0
     **/
    public function setNullPolicy($nullPolicy){}

    /**
     * Sets the initial size of the collapse data structures when collapsing
     * on a numeric field only
     *
     * @param int $size
     * @return SolrCollapseFunction SolrCollapseFunction
     * @since PECL solr >= 2.2.0
     **/
    public function setSize($size){}

    /**
     * Returns a string representing the constructed collapse function
     *
     * @return string
     * @since PECL solr >= 2.2.0
     **/
    public function __toString(){}

}
class SolrDisMaxQuery extends SolrQuery implements Serializable {
    /**
     * Adds a Phrase Bigram Field (pf2 parameter)
     *
     * Adds a Phrase Bigram Field (pf2 parameter) output format:
     * field~slop^boost OR field^boost Slop is optional
     *
     * @param string $field
     * @param string $boost
     * @param string $slop
     * @return SolrDisMaxQuery SolrDisMaxQuery
     **/
    public function addBigramPhraseField($field, $boost, $slop){}

    /**
     * Adds a boost query field with value and optional boost (bq parameter)
     *
     * Adds a Boost Query field with value [and boost] (bq parameter)
     *
     * @param string $field
     * @param string $value
     * @param string $boost
     * @return SolrDisMaxQuery SolrDisMaxQuery
     **/
    public function addBoostQuery($field, $value, $boost){}

    /**
     * Adds a Phrase Field (pf parameter)
     *
     * @param string $field field name
     * @param string $boost
     * @param string $slop
     * @return SolrDisMaxQuery SolrDisMaxQuery
     **/
    public function addPhraseField($field, $boost, $slop){}

    /**
     * Add a query field with optional boost (qf parameter)
     *
     * @param string $field field name
     * @param string $boost Boost value. Boosts documents with matching
     *   terms.
     * @return SolrDisMaxQuery SolrDisMaxQuery
     **/
    public function addQueryField($field, $boost){}

    /**
     * Adds a Trigram Phrase Field (pf3 parameter)
     *
     * @param string $field Field Name
     * @param string $boost Field Boost
     * @param string $slop Field Slop
     * @return SolrDisMaxQuery SolrDisMaxQuery
     **/
    public function addTrigramPhraseField($field, $boost, $slop){}

    /**
     * Adds a field to User Fields Parameter (uf)
     *
     * Adds a field to The User Fields Parameter (uf)
     *
     * @param string $field Field Name
     * @return SolrDisMaxQuery SolrDisMaxQuery
     **/
    public function addUserField($field){}

    /**
     * Removes phrase bigram field (pf2 parameter)
     *
     * Removes a Bigram Phrase Field (pf2 parameter) that was previously
     * added using SolrDisMaxQuery::addBigramPhraseField
     *
     * @param string $field The Field Name
     * @return SolrDisMaxQuery SolrDisMaxQuery
     **/
    public function removeBigramPhraseField($field){}

    /**
     * Removes a boost query partial by field name (bq)
     *
     * Removes a boost query partial from the existing query, only if
     * SolrDisMaxQuery::addBoostQuery was used.
     *
     * @param string $field Field Name
     * @return SolrDisMaxQuery SolrDisMaxQuery
     **/
    public function removeBoostQuery($field){}

    /**
     * Removes a Phrase Field (pf parameter)
     *
     * Removes a Phrase Field (pf parameter) that was previously added using
     * SolrDisMaxQuery::addPhraseField
     *
     * @param string $field Field Name
     * @return SolrDisMaxQuery SolrDisMaxQuery
     **/
    public function removePhraseField($field){}

    /**
     * Removes a Query Field (qf parameter)
     *
     * Removes a Query Field (qf parameter) from the field list added by
     * SolrDisMaxQuery::addQueryField
     *
     * qf: When building DisjunctionMaxQueries from the user's query it
     * specifies the fields to search in, and boosts for those fields.
     *
     * @param string $field Field Name
     * @return SolrDisMaxQuery SolrDisMaxQuery
     **/
    public function removeQueryField($field){}

    /**
     * Removes a Trigram Phrase Field (pf3 parameter)
     *
     * @param string $field Field Name
     * @return SolrDisMaxQuery SolrDisMaxQuery
     **/
    public function removeTrigramPhraseField($field){}

    /**
     * Removes a field from The User Fields Parameter (uf)
     *
     * @param string $field Field Name
     * @return SolrDisMaxQuery SolrDisMaxQuery
     **/
    public function removeUserField($field){}

    /**
     * Sets Bigram Phrase Fields and their boosts (and slops) using pf2
     * parameter
     *
     * Sets Bigram Phrase Fields (pf2) and their boosts (and slops)
     *
     * @param string $fields Fields boosts (slops)
     * @return SolrDisMaxQuery SolrDisMaxQuery
     **/
    public function setBigramPhraseFields($fields){}

    /**
     * Sets Bigram Phrase Slop (ps2 parameter)
     *
     * Sets Bigram Phrase Slop (ps2 parameter). A default slop for Bigram
     * phrase fields.
     *
     * @param string $slop
     * @return SolrDisMaxQuery SolrDisMaxQuery
     **/
    public function setBigramPhraseSlop($slop){}

    /**
     * Sets a Boost Function (bf parameter)
     *
     * Sets Boost Function (bf parameter).
     *
     * Functions (with optional boosts) that will be included in the user's
     * query to influence the score. Any function supported natively by Solr
     * can be used, along with a boost value. e.g.:
     *
     * recip(rord(myfield),1,2,3)^1.5
     *
     * @param string $function
     * @return SolrDisMaxQuery SolrDisMaxQuery
     **/
    public function setBoostFunction($function){}

    /**
     * Directly Sets Boost Query Parameter (bq)
     *
     * Sets Boost Query Parameter (bq)
     *
     * @param string $q query
     * @return SolrDisMaxQuery SolrDisMaxQuery
     **/
    public function setBoostQuery($q){}

    /**
     * Set Minimum "Should" Match (mm)
     *
     * Set Minimum "Should" Match parameter (mm). If the default query
     * operator is AND then mm=100%, if the default query operator (q.op) is
     * OR, then mm=0%.
     *
     * @param string $value Minimum match value/expression
     * @return SolrDisMaxQuery SolrDisMaxQuery
     **/
    public function setMinimumMatch($value){}

    /**
     * Sets Phrase Fields and their boosts (and slops) using pf2 parameter
     *
     * Sets Phrase Fields (pf) and their boosts (and slops)
     *
     * @param string $fields Fields, boosts [, slops]
     * @return SolrDisMaxQuery SolrDisMaxQuery
     **/
    public function setPhraseFields($fields){}

    /**
     * Sets the default slop on phrase queries (ps parameter)
     *
     * Sets the default amount of slop on phrase queries built with "pf",
     * "pf2" and/or "pf3" fields (affects boosting). "ps" parameter
     *
     * @param string $slop
     * @return SolrDisMaxQuery SolrDisMaxQuery
     **/
    public function setPhraseSlop($slop){}

    /**
     * Set Query Alternate (q.alt parameter)
     *
     * When the main q parameter is not specified or is blank. The q.alt
     * parameter is used
     *
     * @param string $q Query String
     * @return SolrDisMaxQuery SolrDisMaxQuery
     **/
    public function setQueryAlt($q){}

    /**
     * Specifies the amount of slop permitted on phrase queries explicitly
     * included in the user's query string (qf parameter)
     *
     * The Query Phrase Slop is the amount of slop permitted on phrase
     * queries explicitly included in the user's query string with the qf
     * parameter.
     *
     * slop refers to the number of positions one token needs to be moved in
     * relation to another token in order to match a phrase specified in a
     * query.
     *
     * @param string $slop Amount of slop
     * @return SolrDisMaxQuery SolrDisMaxQuery
     **/
    public function setQueryPhraseSlop($slop){}

    /**
     * Sets Tie Breaker parameter (tie parameter)
     *
     * @param string $tieBreaker The tie parameter specifies a float value
     *   (which should be something much less than 1) to use as tiebreaker in
     *   DisMax queries.
     * @return SolrDisMaxQuery SolrDisMaxQuery
     **/
    public function setTieBreaker($tieBreaker){}

    /**
     * Directly Sets Trigram Phrase Fields (pf3 parameter)
     *
     * @param string $fields Trigram Phrase Fields
     * @return SolrDisMaxQuery SolrDisMaxQuery
     **/
    public function setTrigramPhraseFields($fields){}

    /**
     * Sets Trigram Phrase Slop (ps3 parameter)
     *
     * @param string $slop Phrase slop
     * @return SolrDisMaxQuery SolrDisMaxQuery
     **/
    public function setTrigramPhraseSlop($slop){}

    /**
     * Sets User Fields parameter (uf)
     *
     * User Fields: Specifies which schema fields the end user shall be
     * allowed to query.
     *
     * @param string $fields Fields names separated by space This parameter
     *   supports wildcards.
     * @return SolrDisMaxQuery SolrDisMaxQuery
     **/
    public function setUserFields($fields){}

    /**
     * Switch QueryParser to be DisMax Query Parser
     *
     * @return SolrDisMaxQuery SolrDisMaxQuery
     **/
    public function useDisMaxQueryParser(){}

    /**
     * Switch QueryParser to be EDisMax
     *
     * Switch QueryParser to be EDisMax. By default the query builder uses
     * edismax, if it was switched using
     * SolrDisMaxQuery::useDisMaxQueryParser, it can be switched back using
     * this method.
     *
     * @return SolrDisMaxQuery SolrDisMaxQuery
     **/
    public function useEDisMaxQueryParser(){}

    /**
     * Class Constructor
     *
     * Class constructor initializes the object and sets the q parameter if
     * passed
     *
     * @param string $q Search Query (q parameter)
     **/
    public function __construct($q){}

}
/**
 * Represents a Solr document retrieved from a query response.
 **/
final class SolrDocument implements ArrayAccess, Iterator, Serializable {
    /**
     * @var integer
     **/
    const SORT_ASC = 0;

    /**
     * @var integer
     **/
    const SORT_DEFAULT = 0;

    /**
     * @var integer
     **/
    const SORT_DESC = 0;

    /**
     * @var integer
     **/
    const SORT_FIELD_BOOST_VALUE = 0;

    /**
     * @var integer
     **/
    const SORT_FIELD_NAME = 0;

    /**
     * @var integer
     **/
    const SORT_FIELD_VALUE_COUNT = 0;

    /**
     * Adds a field to the document
     *
     * This method adds a field to the SolrDocument instance.
     *
     * @param string $fieldName The name of the field
     * @param string $fieldValue The value of the field.
     * @return bool
     * @since PECL solr >= 0.9.2
     **/
    public function addField($fieldName, $fieldValue){}

    /**
     * Drops all the fields in the document
     *
     * Resets the current object. Discards all the fields and resets the
     * document boost to zero.
     *
     * @return bool
     * @since PECL solr >= 0.9.2
     **/
    public function clear(){}

    /**
     * Retrieves the current field
     *
     * @return SolrDocumentField Returns the field
     * @since PECL solr >= 0.9.2
     **/
    public function current(){}

    /**
     * Removes a field from the document
     *
     * @param string $fieldName Name of the field
     * @return bool
     * @since PECL solr >= 0.9.2
     **/
    public function deleteField($fieldName){}

    /**
     * Checks if a field exists in the document
     *
     * Checks if the requested field as a valid fieldname in the document.
     *
     * @param string $fieldName The name of the field.
     * @return bool Returns TRUE if the field is present and FALSE if it
     *   does not.
     * @since PECL solr >= 0.9.2
     **/
    public function fieldExists($fieldName){}

    /**
     * Returns an array of child documents (SolrDocument)
     *
     * @return array
     * @since PECL solr >= 2.3.0
     **/
    public function getChildDocuments(){}

    /**
     * Returns the number of child documents
     *
     * @return int
     * @since PECL solr >= 2.3.0
     **/
    public function getChildDocumentsCount(){}

    /**
     * Retrieves a field by name
     *
     * @param string $fieldName Name of the field.
     * @return SolrDocumentField Returns a SolrDocumentField on success and
     *   FALSE on failure.
     * @since PECL solr >= 0.9.2
     **/
    public function getField($fieldName){}

    /**
     * Returns the number of fields in this document
     *
     * Returns the number of fields in this document. Multi-value fields are
     * only counted once.
     *
     * @return int Returns an integer on success and FALSE on failure.
     * @since PECL solr >= 0.9.2
     **/
    public function getFieldCount(){}

    /**
     * Returns an array of fields names in the document
     *
     * @return array Returns an array containing the names of the fields in
     *   this document.
     * @since PECL solr >= 0.9.2
     **/
    public function getFieldNames(){}

    /**
     * Returns a SolrInputDocument equivalent of the object
     *
     * Returns a SolrInputDocument equivalent of the object. This is useful
     * if one wishes to resubmit/update a document retrieved from a query.
     *
     * @return SolrInputDocument Returns a SolrInputDocument on success and
     *   NULL on failure.
     * @since PECL solr >= 0.9.2
     **/
    public function getInputDocument(){}

    /**
     * Checks whether the document has any child documents
     *
     * @return bool
     * @since PECL solr >= 2.3.0
     **/
    public function hasChildDocuments(){}

    /**
     * Retrieves the current key
     *
     * @return string Returns the current key.
     * @since PECL solr >= 0.9.2
     **/
    public function key(){}

    /**
     * Merges source to the current SolrDocument
     *
     * @param SolrDocument $sourceDoc The source document.
     * @param bool $overwrite If this is TRUE then fields with the same
     *   name in the destination document will be overwritten.
     * @return bool
     * @since PECL solr >= 0.9.2
     **/
    public function merge($sourceDoc, $overwrite){}

    /**
     * Moves the internal pointer to the next field
     *
     * @return void This method has no return value.
     * @since PECL solr >= 0.9.2
     **/
    public function next(){}

    /**
     * Checks if a particular field exists
     *
     * Checks if a particular field exists. This is used when the object is
     * treated as an array.
     *
     * @param string $fieldName The name of the field.
     * @return bool
     * @since PECL solr >= 0.9.2
     **/
    public function offsetExists($fieldName){}

    /**
     * Retrieves a field
     *
     * This is used to retrieve the field when the object is treated as an
     * array.
     *
     * @param string $fieldName The name of the field.
     * @return SolrDocumentField Returns a SolrDocumentField object.
     * @since PECL solr >= 0.9.2
     **/
    public function offsetGet($fieldName){}

    /**
     * Adds a field to the document
     *
     * Used when the object is treated as an array to add a field to the
     * document.
     *
     * @param string $fieldName The name of the field.
     * @param string $fieldValue The value for this field.
     * @return void
     * @since PECL solr >= 0.9.2
     **/
    public function offsetSet($fieldName, $fieldValue){}

    /**
     * Removes a field
     *
     * Removes a field from the document.
     *
     * @param string $fieldName The name of the field.
     * @return void No return value.
     * @since PECL solr >= 0.9.2
     **/
    public function offsetUnset($fieldName){}

    /**
     * This is an alias to SolrDocument::clear()
     *
     * @return bool
     * @since PECL solr >= 0.9.2
     **/
    public function reset(){}

    /**
     * Resets the internal pointer to the beginning
     *
     * @return void This method has no return value.
     * @since PECL solr >= 0.9.2
     **/
    public function rewind(){}

    /**
     * Used for custom serialization
     *
     * @return string Returns a string representing the serialized Solr
     *   document.
     * @since PECL solr >= 0.9.2
     **/
    public function serialize(){}

    /**
     * Sorts the fields in the document
     *
     * The fields are rearranged according to the specified criteria and sort
     * direction Fields can be sorted by boost values, field names and number
     * of values. The sortOrderBy parameter must be one of : *
     * SolrDocument::SORT_FIELD_NAME * SolrDocument::SORT_FIELD_BOOST_VALUE *
     * SolrDocument::SORT_FIELD_VALUE_COUNT The sortDirection can be one of :
     * * SolrDocument::SORT_DEFAULT * SolrDocument::SORT_ASC *
     * SolrDocument::SORT_DESC The default way is to sort in ascending order.
     *
     * @param int $sortOrderBy The sort criteria.
     * @param int $sortDirection The sort direction.
     * @return bool
     * @since PECL solr >= 0.9.2
     **/
    public function sort($sortOrderBy, $sortDirection){}

    /**
     * Returns an array representation of the document
     *
     * @return array Returns an array representation of the document.
     * @since PECL solr >= 0.9.2
     **/
    public function toArray(){}

    /**
     * Custom serialization of SolrDocument objects
     *
     * @param string $serialized An XML representation of the document.
     * @return void None.
     * @since PECL solr >= 0.9.2
     **/
    public function unserialize($serialized){}

    /**
     * Checks if the current position internally is still valid
     *
     * Checks if the current position internally is still valid. It is used
     * during foreach operations.
     *
     * @return bool Returns TRUE on success and FALSE if the current
     *   position is no longer valid.
     * @since PECL solr >= 0.9.2
     **/
    public function valid(){}

    /**
     * Creates a copy of a SolrDocument object
     *
     * Creates a copy of a SolrDocument object. Not to be called directly.
     *
     * @return void None.
     * @since PECL solr >= 0.9.2
     **/
    public function __clone(){}

    /**
     * Constructor
     *
     * Constructor for SolrDocument
     *
     * @since PECL solr >= 0.9.2
     **/
    public function __construct(){}

    /**
     * Destructor
     *
     * Destructor for SolrDocument.
     *
     * @return void
     * @since PECL solr >= 0.9.2
     **/
    public function __destruct(){}

    /**
     * Access the field as a property
     *
     * Magic method for accessing the field as a property.
     *
     * @param string $fieldName The name of the field.
     * @return SolrDocumentField Returns a SolrDocumentField instance.
     * @since PECL solr >= 0.9.2
     **/
    public function __get($fieldName){}

    /**
     * Checks if a field exists
     *
     * @param string $fieldName Name of the field.
     * @return bool
     * @since PECL solr >= 0.9.2
     **/
    public function __isset($fieldName){}

    /**
     * Adds another field to the document
     *
     * Adds another field to the document. Used to set the fields as new
     * properties.
     *
     * @param string $fieldName Name of the field.
     * @param string $fieldValue Field value.
     * @return bool
     * @since PECL solr >= 0.9.2
     **/
    public function __set($fieldName, $fieldValue){}

    /**
     * Removes a field from the document
     *
     * Removes a field from the document when the field is access as an
     * object property.
     *
     * @param string $fieldName The name of the field.
     * @return bool
     * @since PECL solr >= 0.9.2
     **/
    public function __unset($fieldName){}

}
/**
 * This represents a field in a Solr document. All its properties are
 * read-only.
 **/
final class SolrDocumentField {
    /**
     * The boost value for the field
     *
     * @var float
     **/
    public $boost;

    /**
     * The name of the field.
     *
     * @var string
     **/
    public $name;

    /**
     * An array of values for this field
     *
     * @var array
     **/
    public $values;

    /**
     * Constructor
     *
     * @since PECL solr >= 0.9.2
     **/
    public function __construct(){}

    /**
     * Destructor
     *
     * @return void None.
     * @since PECL solr >= 0.9.2
     **/
    public function __destruct(){}

}
/**
 * This is the base class for all exception thrown by the Solr extension
 * classes.
 **/
class SolrException extends Exception {
    /**
     * The c-space source file where exception was generated
     *
     * @var string
     **/
    protected $sourcefile;

    /**
     * The line in c-space source file where exception was generated
     *
     * @var integer
     **/
    protected $sourceline;

    /**
     * @var string
     **/
    protected $zif_name;

    /**
     * Returns internal information where the Exception was thrown
     *
     * @return array Returns an array containing internal information where
     *   the error was thrown. Used only for debugging by extension
     *   developers.
     * @since PECL solr >= 0.9.2
     **/
    public function getInternalInfo(){}

}
/**
 * Represents a response from the solr server.
 **/
final class SolrGenericResponse extends SolrResponse {
    /**
     * @var integer
     **/
    const PARSE_SOLR_DOC = 0;

    /**
     * @var integer
     **/
    const PARSE_SOLR_OBJ = 0;

    /**
     * Constructor
     *
     * @since PECL solr >= 0.9.2
     **/
    public function __construct(){}

    /**
     * Destructor
     *
     * @return void None
     * @since PECL solr >= 0.9.2
     **/
    public function __destruct(){}

}
/**
 * This object is thrown when an illegal or invalid argument is passed to
 * a method.
 **/
class SolrIllegalArgumentException extends SolrException {
    /**
     * Returns internal information where the Exception was thrown
     *
     * @return array Returns an array containing internal information where
     *   the error was thrown. Used only for debugging by extension
     *   developers.
     * @since PECL solr >= 0.9.2
     **/
    public function getInternalInfo(){}

}
/**
 * This object is thrown when an illegal or unsupported operation is
 * performed on an object.
 **/
class SolrIllegalOperationException extends SolrException {
    /**
     * Returns internal information where the Exception was thrown
     *
     * @return array Returns an array containing internal information where
     *   the error was thrown. Used only for debugging by extension
     *   developers.
     * @since PECL solr >= 0.9.2
     **/
    public function getInternalInfo(){}

}
/**
 * This class represents a Solr document that is about to be submitted to
 * the Solr index.
 **/
final class SolrInputDocument {
    /**
     * @var integer
     **/
    const SORT_ASC = 0;

    /**
     * @var integer
     **/
    const SORT_DEFAULT = 0;

    /**
     * @var integer
     **/
    const SORT_DESC = 0;

    /**
     * @var integer
     **/
    const SORT_FIELD_BOOST_VALUE = 0;

    /**
     * @var integer
     **/
    const SORT_FIELD_NAME = 0;

    /**
     * @var integer
     **/
    const SORT_FIELD_VALUE_COUNT = 0;

    /**
     * Adds a child document for block indexing
     *
     * Adds a child document to construct a document block with nested
     * documents.
     *
     * @param SolrInputDocument $child A SolrInputDocument object.
     * @return void
     * @since PECL solr >= 2.3.0
     **/
    public function addChildDocument($child){}

    /**
     * Adds an array of child documents
     *
     * Adds an array of child documents to the current input document.
     *
     * @param array $docs An array of SolrInputDocument objects.
     * @return void
     * @since PECL solr >= 2.3.0
     **/
    public function addChildDocuments(&$docs){}

    /**
     * Adds a field to the document
     *
     * For multi-value fields, if a valid boost value is specified, the
     * specified value will be multiplied by the current boost value for this
     * field.
     *
     * @param string $fieldName The name of the field
     * @param string $fieldValue The value for the field.
     * @param float $fieldBoostValue The index time boost for the field.
     *   Though this cannot be negative, you can still pass values less than
     *   1.0 but they must be greater than zero.
     * @return bool
     * @since PECL solr >= 0.9.2
     **/
    public function addField($fieldName, $fieldValue, $fieldBoostValue){}

    /**
     * Resets the input document
     *
     * Resets the document by dropping all the fields and resets the document
     * boost to zero.
     *
     * @return bool
     * @since PECL solr >= 0.9.2
     **/
    public function clear(){}

    /**
     * Removes a field from the document
     *
     * @param string $fieldName The name of the field.
     * @return bool
     * @since PECL solr >= 0.9.2
     **/
    public function deleteField($fieldName){}

    /**
     * Checks if a field exists
     *
     * @param string $fieldName Name of the field.
     * @return bool Returns TRUE if the field was found and FALSE if it was
     *   not found.
     * @since PECL solr >= 0.9.2
     **/
    public function fieldExists($fieldName){}

    /**
     * Retrieves the current boost value for the document
     *
     * @return float Returns the boost value on success and FALSE on
     *   failure.
     * @since PECL solr >= 0.9.2
     **/
    public function getBoost(){}

    /**
     * Returns an array of child documents (SolrInputDocument)
     *
     * @return array
     * @since PECL solr >= 2.3.0
     **/
    public function getChildDocuments(){}

    /**
     * Returns the number of child documents
     *
     * @return int
     * @since PECL solr >= 2.3.0
     **/
    public function getChildDocumentsCount(){}

    /**
     * Retrieves a field by name
     *
     * Retrieves a field in the document.
     *
     * @param string $fieldName The name of the field.
     * @return SolrDocumentField Returns a SolrDocumentField object on
     *   success and FALSE on failure.
     * @since PECL solr >= 0.9.2
     **/
    public function getField($fieldName){}

    /**
     * Retrieves the boost value for a particular field
     *
     * @param string $fieldName The name of the field.
     * @return float Returns the boost value for the field or FALSE if
     *   there was an error.
     * @since PECL solr >= 0.9.2
     **/
    public function getFieldBoost($fieldName){}

    /**
     * Returns the number of fields in the document
     *
     * @return int Returns an integer on success.
     * @since PECL solr >= 0.9.2
     **/
    public function getFieldCount(){}

    /**
     * Returns an array containing all the fields in the document
     *
     * @return array Returns an array on success and FALSE on failure.
     * @since PECL solr >= 0.9.2
     **/
    public function getFieldNames(){}

    /**
     * Returns true if the document has any child documents
     *
     * Checks whether the document has any child documents
     *
     * @return bool
     * @since PECL solr >= 2.3.0
     **/
    public function hasChildDocuments(){}

    /**
     * Merges one input document into another
     *
     * @param SolrInputDocument $sourceDoc The source document.
     * @param bool $overwrite If this is TRUE it will replace matching
     *   fields in the destination document.
     * @return bool In the future, this will be modified to return the
     *   number of fields in the new document.
     * @since PECL solr >= 0.9.2
     **/
    public function merge($sourceDoc, $overwrite){}

    /**
     * This is an alias of SolrInputDocument::clear
     *
     * @return bool
     * @since PECL solr >= 0.9.2
     **/
    public function reset(){}

    /**
     * Sets the boost value for this document
     *
     * @param float $documentBoostValue The index-time boost value for this
     *   document.
     * @return bool
     * @since PECL solr >= 0.9.2
     **/
    public function setBoost($documentBoostValue){}

    /**
     * Sets the index-time boost value for a field
     *
     * Sets the index-time boost value for a field. This replaces the current
     * boost value for this field.
     *
     * @param string $fieldName The name of the field.
     * @param float $fieldBoostValue The index time boost value.
     * @return bool
     * @since PECL solr >= 0.9.2
     **/
    public function setFieldBoost($fieldName, $fieldBoostValue){}

    /**
     * Sorts the fields within the document
     *
     * The fields are rearranged according to the specified criteria and sort
     * direction Fields can be sorted by boost values, field names and number
     * of values. The $order_by parameter must be one of : *
     * SolrInputDocument::SORT_FIELD_NAME *
     * SolrInputDocument::SORT_FIELD_BOOST_VALUE *
     * SolrInputDocument::SORT_FIELD_VALUE_COUNT The sort direction can be
     * one of : * SolrInputDocument::SORT_DEFAULT *
     * SolrInputDocument::SORT_ASC * SolrInputDocument::SORT_DESC
     *
     * @param int $sortOrderBy The sort criteria
     * @param int $sortDirection The sort direction
     * @return bool
     * @since PECL solr >= 0.9.2
     **/
    public function sort($sortOrderBy, $sortDirection){}

    /**
     * Returns an array representation of the input document
     *
     * @return array Returns an array containing the fields. It returns
     *   FALSE on failure.
     * @since PECL solr >= 0.9.2
     **/
    public function toArray(){}

    /**
     * Creates a copy of a SolrDocument
     *
     * Should not be called directly. It is used to create a deep copy of a
     * SolrInputDocument.
     *
     * @return void Creates a new SolrInputDocument instance.
     * @since PECL solr >= 0.9.2
     **/
    public function __clone(){}

    /**
     * Constructor
     *
     * @since PECL solr >= 0.9.2
     **/
    public function __construct(){}

    /**
     * Destructor
     *
     * @return void None.
     * @since PECL solr >= 0.9.2
     **/
    public function __destruct(){}

}
class SolrMissingMandatoryParameterException extends SolrException {
}
/**
 * Represents a collection of name-value pairs sent to the Solr server
 * during a request.
 **/
class SolrModifiableParams extends SolrParams implements Serializable {
    /**
     * Constructor
     *
     * @since PECL solr >= 0.9.2
     **/
    public function __construct(){}

    /**
     * Destructor
     *
     * @return void None
     * @since PECL solr >= 0.9.2
     **/
    public function __destruct(){}

}
/**
 * This is an object whose properties can also by accessed using the
 * array syntax. All its properties are read-only.
 **/
final class SolrObject implements ArrayAccess {
    /**
     * Returns an array of all the names of the properties
     *
     * @return array Returns an array.
     * @since PECL solr >= 0.9.2
     **/
    public function getPropertyNames(){}

    /**
     * Checks if the property exists
     *
     * Checks if the property exists. This is used when the object is treated
     * as an array.
     *
     * @param string $property_name The name of the property.
     * @return bool
     * @since PECL solr >= 0.9.2
     **/
    public function offsetExists($property_name){}

    /**
     * Used to retrieve a property
     *
     * Used to get the value of a property. This is used when the object is
     * treated as an array.
     *
     * @param string $property_name Name of the property.
     * @return mixed Returns the property value.
     * @since PECL solr >= 0.9.2
     **/
    public function offsetGet($property_name){}

    /**
     * Sets the value for a property
     *
     * Sets the value for a property. This is used when the object is treated
     * as an array. This object is read-only. This should never be attempted.
     *
     * @param string $property_name The name of the property.
     * @param string $property_value The new value.
     * @return void None.
     * @since PECL solr >= 0.9.2
     **/
    public function offsetSet($property_name, $property_value){}

    /**
     * Unsets the value for the property
     *
     * Unsets the value for the property. This is used when the object is
     * treated as an array. This object is read-only. This should never be
     * attempted.
     *
     * @param string $property_name The name of the property.
     * @return void
     * @since PECL solr >= 0.9.2
     **/
    public function offsetUnset($property_name){}

    /**
     * Creates Solr object
     *
     * @since PECL solr >= 0.9.2
     **/
    public function __construct(){}

    /**
     * Destructor
     *
     * The destructor
     *
     * @return void None.
     * @since PECL solr >= 0.9.2
     **/
    public function __destruct(){}

}
/**
 * Represents a collection of name-value pairs sent to the Solr server
 * during a request.
 **/
abstract class SolrParams implements Serializable {
    /**
     * This is an alias for SolrParams::addParam
     *
     * @param string $name The name of the parameter
     * @param string $value The value of the parameter
     * @return SolrParams Returns a SolrParams instance on success
     * @since PECL solr >= 0.9.2
     **/
    final public function add($name, $value){}

    /**
     * Adds a parameter to the object
     *
     * Adds a parameter to the object. This is used for parameters that can
     * be specified multiple times.
     *
     * @param string $name Name of parameter
     * @param string $value Value of parameter
     * @return SolrParams Returns a SolrParam object on success and FALSE
     *   on failure.
     * @since PECL solr >= 0.9.2
     **/
    public function addParam($name, $value){}

    /**
     * This is an alias for SolrParams::getParam
     *
     * @param string $param_name Then name of the parameter
     * @return mixed Returns an array or string depending on the type of
     *   parameter
     * @since PECL solr >= 0.9.2
     **/
    final public function get($param_name){}

    /**
     * Returns a parameter value
     *
     * Returns a parameter with name param_name
     *
     * @param string $param_name The name of the parameter
     * @return mixed Returns a string or an array depending on the type of
     *   the parameter
     * @since PECL solr >= 0.9.2
     **/
    final public function getParam($param_name){}

    /**
     * Returns an array of non URL-encoded parameters
     *
     * @return array Returns an array of non URL-encoded parameters
     * @since PECL solr >= 0.9.2
     **/
    final public function getParams(){}

    /**
     * Returns an array of URL-encoded parameters
     *
     * Returns an array on URL-encoded parameters
     *
     * @return array Returns an array on URL-encoded parameters
     * @since PECL solr >= 0.9.2
     **/
    final public function getPreparedParams(){}

    /**
     * Used for custom serialization
     *
     * @return string Used for custom serialization
     * @since PECL solr >= 0.9.2
     **/
    final public function serialize(){}

    /**
     * An alias of SolrParams::setParam
     *
     * @param string $name Then name of the parameter
     * @param string $value The parameter value
     * @return void Returns an instance of the SolrParams object on success
     * @since PECL solr >= 0.9.2
     **/
    final public function set($name, $value){}

    /**
     * Sets the parameter to the specified value
     *
     * Sets the query parameter to the specified value. This is used for
     * parameters that can only be specified once. Subsequent calls with the
     * same parameter name will override the existing value
     *
     * @param string $name Name of the parameter
     * @param string $value Value of the parameter
     * @return SolrParams Returns a SolrParam object on success and FALSE
     *   on value.
     * @since PECL solr >= 0.9.2
     **/
    public function setParam($name, $value){}

    /**
     * Returns all the name-value pair parameters in the object
     *
     * @param bool $url_encode Whether to return URL-encoded values
     * @return string Returns a string on success and FALSE on failure.
     * @since PECL solr >= 0.9.2
     **/
    final public function toString($url_encode){}

    /**
     * Used for custom serialization
     *
     * @param string $serialized The serialized representation of the
     *   object
     * @return void None
     * @since PECL solr >= 0.9.2
     **/
    final public function unserialize($serialized){}

}
/**
 * Represents a response to a ping request to the server
 **/
final class SolrPingResponse extends SolrResponse {
    /**
     * @var integer
     **/
    const PARSE_SOLR_DOC = 0;

    /**
     * @var integer
     **/
    const PARSE_SOLR_OBJ = 0;

    /**
     * Returns the response from the server
     *
     * Returns the response from the server. This should be empty because the
     * request as a HEAD request.
     *
     * @return string Returns an empty string.
     * @since PECL solr >= 0.9.2
     **/
    public function getResponse(){}

    /**
     * Constructor
     *
     * @since PECL solr >= 0.9.2
     **/
    public function __construct(){}

    /**
     * Destructor
     *
     * @return void None
     * @since PECL solr >= 0.9.2
     **/
    public function __destruct(){}

}
/**
 * Represents a collection of name-value pairs sent to the Solr server
 * during a request.
 **/
class SolrQuery extends SolrModifiableParams implements Serializable {
    /**
     * @var integer
     **/
    const FACET_SORT_COUNT = 0;

    /**
     * @var integer
     **/
    const FACET_SORT_INDEX = 0;

    /**
     * @var integer
     **/
    const ORDER_ASC = 0;

    /**
     * @var integer
     **/
    const ORDER_DESC = 0;

    /**
     * @var integer
     **/
    const TERMS_SORT_COUNT = 0;

    /**
     * @var integer
     **/
    const TERMS_SORT_INDEX = 0;

    /**
     * Overrides main filter query, determines which documents to include in
     * the main group
     *
     * @param string $fq
     * @return SolrQuery SolrQuery
     * @since PECL solr >= 2.2.0
     **/
    public function addExpandFilterQuery($fq){}

    /**
     * Orders the documents within the expanded groups (expand.sort
     * parameter)
     *
     * @param string $field field name
     * @param string $order Order ASC/DESC, utilizes SolrQuery::ORDER_*
     *   constants. Default: SolrQuery::ORDER_DESC
     * @return SolrQuery SolrQuery
     * @since PECL solr >= 2.2.0
     **/
    public function addExpandSortField($field, $order){}

    /**
     * Maps to facet.date
     *
     * This method allows you to specify a field which should be treated as a
     * facet.
     *
     * It can be used multiple times with different field names to indicate
     * multiple facet fields
     *
     * @param string $dateField The name of the date field.
     * @return SolrQuery Returns a SolrQuery object.
     * @since PECL solr >= 0.9.2
     **/
    public function addFacetDateField($dateField){}

    /**
     * Adds another facet.date.other parameter
     *
     * Sets the facet.date.other parameter. Accepts an optional field
     * override
     *
     * @param string $value The value to use.
     * @param string $field_override The field name for the override.
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function addFacetDateOther($value, $field_override){}

    /**
     * Adds another field to the facet
     *
     * @param string $field The name of the field
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function addFacetField($field){}

    /**
     * Adds a facet query
     *
     * @param string $facetQuery The facet query
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function addFacetQuery($facetQuery){}

    /**
     * Specifies which fields to return in the result
     *
     * This method is used to used to specify a set of fields to return,
     * thereby restricting the amount of data returned in the response.
     *
     * It should be called multiple time, once for each field name.
     *
     * @param string $field The name of the field
     * @return SolrQuery Returns the current SolrQuery object
     * @since PECL solr >= 0.9.2
     **/
    public function addField($field){}

    /**
     * Specifies a filter query
     *
     * @param string $fq The filter query
     * @return SolrQuery Returns the current SolrQuery object.
     * @since PECL solr >= 0.9.2
     **/
    public function addFilterQuery($fq){}

    /**
     * Add a field to be used to group results
     *
     * The name of the field by which to group results. The field must be
     * single-valued, and either be indexed or a field type that has a value
     * source and works in a function query, such as ExternalFileField. It
     * must also be a string-based field, such as StrField or TextField Uses
     * group.field parameter
     *
     * @param string $value
     * @return SolrQuery
     * @since PECL solr >= 2.2.0
     **/
    public function addGroupField($value){}

    /**
     * Allows grouping results based on the unique values of a function query
     * (group.func parameter)
     *
     * Adds a group function (group.func parameter) Allows grouping results
     * based on the unique values of a function query.
     *
     * @param string $value
     * @return SolrQuery SolrQuery
     * @since PECL solr >= 2.2.0
     **/
    public function addGroupFunction($value){}

    /**
     * Allows grouping of documents that match the given query
     *
     * Allows grouping of documents that match the given query. Adds query to
     * the group.query parameter
     *
     * @param string $value
     * @return SolrQuery SolrQuery
     * @since PECL solr >= 2.2.0
     **/
    public function addGroupQuery($value){}

    /**
     * Add a group sort field (group.sort parameter)
     *
     * Allow sorting group documents, using group sort field (group.sort
     * parameter).
     *
     * @param string $field Field name
     * @param int $order Order ASC/DESC, utilizes SolrQuery::ORDER_*
     *   constants
     * @return SolrQuery
     * @since PECL solr >= 2.2.0
     **/
    public function addGroupSortField($field, $order){}

    /**
     * Maps to hl.fl
     *
     * Maps to hl.fl. This is used to specify that highlighted snippets
     * should be generated for a particular field
     *
     * @param string $field Name of the field
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function addHighlightField($field){}

    /**
     * Sets a field to use for similarity
     *
     * Maps to mlt.fl. It specifies that a field should be used for
     * similarity.
     *
     * @param string $field The name of the field
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function addMltField($field){}

    /**
     * Maps to mlt.qf
     *
     * Maps to mlt.qf. It is used to specify query fields and their boosts
     *
     * @param string $field The name of the field
     * @param float $boost Its boost value
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function addMltQueryField($field, $boost){}

    /**
     * Used to control how the results should be sorted
     *
     * @param string $field The name of the field
     * @param int $order The sort direction. This should be either
     *   SolrQuery::ORDER_ASC or SolrQuery::ORDER_DESC.
     * @return SolrQuery Returns the current SolrQuery object.
     * @since PECL solr >= 0.9.2
     **/
    public function addSortField($field, $order){}

    /**
     * Requests a return of sub results for values within the given facet
     *
     * Requests a return of sub results for values within the given facet.
     * Maps to the stats.facet field
     *
     * @param string $field The name of the field
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function addStatsFacet($field){}

    /**
     * Maps to stats.field parameter
     *
     * Maps to stats.field parameter This methods adds another stats.field
     * parameter.
     *
     * @param string $field The name of the field
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function addStatsField($field){}

    /**
     * Collapses the result set to a single document per group
     *
     * Collapses the result set to a single document per group before it
     * forwards the result set to the rest of the search components.
     *
     * So all downstream components (faceting, highlighting, etc...) will
     * work with the collapsed result set.
     *
     * @param SolrCollapseFunction $collapseFunction
     * @return SolrQuery Returns the current SolrQuery object
     **/
    public function collapse($collapseFunction){}

    /**
     * Returns true if group expanding is enabled
     *
     * Returns TRUE if group expanding is enabled
     *
     * @return bool
     * @since PECL solr >= 2.2.0
     **/
    public function getExpand(){}

    /**
     * Returns the expand filter queries
     *
     * @return array
     * @since PECL solr >= 2.2.0
     **/
    public function getExpandFilterQueries(){}

    /**
     * Returns the expand query expand.q parameter
     *
     * @return array
     * @since PECL solr >= 2.2.0
     **/
    public function getExpandQuery(){}

    /**
     * Returns The number of rows to display in each group (expand.rows)
     *
     * @return int
     * @since PECL solr >= 2.2.0
     **/
    public function getExpandRows(){}

    /**
     * Returns an array of fields
     *
     * @return array
     * @since PECL solr >= 2.2.0
     **/
    public function getExpandSortFields(){}

    /**
     * Returns the value of the facet parameter
     *
     * @return bool Returns a boolean on success and NULL if not set
     * @since PECL solr >= 0.9.2
     **/
    public function getFacet(){}

    /**
     * Returns the value for the facet.date.end parameter
     *
     * Returns the value for the facet.date.end parameter. This method
     * accepts an optional field override
     *
     * @param string $field_override The name of the field
     * @return string Returns a string on success and NULL if not set
     * @since PECL solr >= 0.9.2
     **/
    public function getFacetDateEnd($field_override){}

    /**
     * Returns all the facet.date fields
     *
     * @return array Returns all the facet.date fields as an array or NULL
     *   if none was set
     * @since PECL solr >= 0.9.2
     **/
    public function getFacetDateFields(){}

    /**
     * Returns the value of the facet.date.gap parameter
     *
     * Returns the value of the facet.date.gap parameter. It accepts an
     * optional field override
     *
     * @param string $field_override The name of the field
     * @return string Returns a string on success and NULL if not set
     * @since PECL solr >= 0.9.2
     **/
    public function getFacetDateGap($field_override){}

    /**
     * Returns the value of the facet.date.hardend parameter
     *
     * Returns the value of the facet.date.hardend parameter. Accepts an
     * optional field override
     *
     * @param string $field_override The name of the field
     * @return string Returns a string on success and NULL if not set
     * @since PECL solr >= 0.9.2
     **/
    public function getFacetDateHardEnd($field_override){}

    /**
     * Returns the value for the facet.date.other parameter
     *
     * Returns the value for the facet.date.other parameter. This method
     * accepts an optional field override.
     *
     * @param string $field_override The name of the field
     * @return array Returns a string on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getFacetDateOther($field_override){}

    /**
     * Returns the lower bound for the first date range for all date faceting
     * on this field
     *
     * Returns the lower bound for the first date range for all date faceting
     * on this field. Accepts an optional field override
     *
     * @param string $field_override The name of the field
     * @return string Returns a string on success and NULL if not set
     * @since PECL solr >= 0.9.2
     **/
    public function getFacetDateStart($field_override){}

    /**
     * Returns all the facet fields
     *
     * @return array Returns an array of all the fields and NULL if none
     *   was set
     * @since PECL solr >= 0.9.2
     **/
    public function getFacetFields(){}

    /**
     * Returns the maximum number of constraint counts that should be
     * returned for the facet fields
     *
     * Returns the maximum number of constraint counts that should be
     * returned for the facet fields. This method accepts an optional field
     * override
     *
     * @param string $field_override The name of the field to override for
     * @return int Returns an integer on success and NULL if not set
     * @since PECL solr >= 0.9.2
     **/
    public function getFacetLimit($field_override){}

    /**
     * Returns the value of the facet.method parameter
     *
     * Returns the value of the facet.method parameter. This accepts an
     * optional field override.
     *
     * @param string $field_override The name of the field
     * @return string Returns a string on success and NULL if not set
     * @since PECL solr >= 0.9.2
     **/
    public function getFacetMethod($field_override){}

    /**
     * Returns the minimum counts for facet fields should be included in the
     * response
     *
     * Returns the minimum counts for facet fields should be included in the
     * response. It accepts an optional field override
     *
     * @param string $field_override The name of the field
     * @return int Returns an integer on success and NULL if not set
     * @since PECL solr >= 0.9.2
     **/
    public function getFacetMinCount($field_override){}

    /**
     * Returns the current state of the facet.missing parameter
     *
     * Returns the current state of the facet.missing parameter. This accepts
     * an optional field override
     *
     * @param string $field_override The name of the field
     * @return bool Returns a boolean on success and NULL if not set
     * @since PECL solr >= 0.9.2
     **/
    public function getFacetMissing($field_override){}

    /**
     * Returns an offset into the list of constraints to be used for
     * pagination
     *
     * Returns an offset into the list of constraints to be used for
     * pagination. Accepts an optional field override
     *
     * @param string $field_override The name of the field to override for.
     * @return int Returns an integer on success and NULL if not set
     * @since PECL solr >= 0.9.2
     **/
    public function getFacetOffset($field_override){}

    /**
     * Returns the facet prefix
     *
     * @param string $field_override The name of the field
     * @return string Returns a string on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getFacetPrefix($field_override){}

    /**
     * Returns all the facet queries
     *
     * @return array Returns an array on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getFacetQueries(){}

    /**
     * Returns the facet sort type
     *
     * Returns an integer (SolrQuery::FACET_SORT_INDEX or
     * SolrQuery::FACET_SORT_COUNT)
     *
     * @param string $field_override The name of the field
     * @return int Returns an integer (SolrQuery::FACET_SORT_INDEX or
     *   SolrQuery::FACET_SORT_COUNT) on success or NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getFacetSort($field_override){}

    /**
     * Returns the list of fields that will be returned in the response
     *
     * @return array Returns an array on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getFields(){}

    /**
     * Returns an array of filter queries
     *
     * Returns an array of filter queries. These are queries that can be used
     * to restrict the super set of documents that can be returned, without
     * influencing score
     *
     * @return array Returns an array on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getFilterQueries(){}

    /**
     * Returns true if grouping is enabled
     *
     * @return bool
     * @since PECL solr >= 2.2.0
     **/
    public function getGroup(){}

    /**
     * Returns group cache percent value
     *
     * @return int
     * @since PECL solr >= 2.2.0
     **/
    public function getGroupCachePercent(){}

    /**
     * Returns the group.facet parameter value
     *
     * @return bool
     * @since PECL solr >= 2.2.0
     **/
    public function getGroupFacet(){}

    /**
     * Returns group fields (group.field parameter values)
     *
     * @return array
     * @since PECL solr >= 2.2.0
     **/
    public function getGroupFields(){}

    /**
     * Returns the group.format value
     *
     * @return string
     * @since PECL solr >= 2.2.0
     **/
    public function getGroupFormat(){}

    /**
     * Returns group functions (group.func parameter values)
     *
     * @return array
     * @since PECL solr >= 2.2.0
     **/
    public function getGroupFunctions(){}

    /**
     * Returns the group.limit value
     *
     * @return int
     * @since PECL solr >= 2.2.0
     **/
    public function getGroupLimit(){}

    /**
     * Returns the group.main value
     *
     * @return bool
     * @since PECL solr >= 2.2.0
     **/
    public function getGroupMain(){}

    /**
     * Returns the group.ngroups value
     *
     * @return bool
     * @since PECL solr >= 2.2.0
     **/
    public function getGroupNGroups(){}

    /**
     * Returns the group.offset value
     *
     * @return int
     * @since PECL solr >= 2.2.0
     **/
    public function getGroupOffset(){}

    /**
     * Returns all the group.query parameter values
     *
     * @return array array
     * @since PECL solr >= 2.2.0
     **/
    public function getGroupQueries(){}

    /**
     * Returns the group.sort value
     *
     * @return array
     * @since PECL solr >= 2.2.0
     **/
    public function getGroupSortFields(){}

    /**
     * Returns the group.truncate value
     *
     * @return bool
     * @since PECL solr >= 2.2.0
     **/
    public function getGroupTruncate(){}

    /**
     * Returns the state of the hl parameter
     *
     * Returns a boolean indicating whether or not to enable highlighted
     * snippets to be generated in the query response.
     *
     * @return bool Returns a boolean on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getHighlight(){}

    /**
     * Returns the highlight field to use as backup or default
     *
     * Returns the highlight field to use as backup or default. It accepts an
     * optional override.
     *
     * @param string $field_override The name of the field
     * @return string Returns a string on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getHighlightAlternateField($field_override){}

    /**
     * Returns all the fields that Solr should generate highlighted snippets
     * for
     *
     * @return array Returns an array on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getHighlightFields(){}

    /**
     * Returns the formatter for the highlighted output
     *
     * @param string $field_override The name of the field
     * @return string Returns a string on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getHighlightFormatter($field_override){}

    /**
     * Returns the text snippet generator for highlighted text
     *
     * Returns the text snippet generator for highlighted text. Accepts an
     * optional field override.
     *
     * @param string $field_override The name of the field
     * @return string Returns a string on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getHighlightFragmenter($field_override){}

    /**
     * Returns the number of characters of fragments to consider for
     * highlighting
     *
     * Returns the number of characters of fragments to consider for
     * highlighting. Zero implies no fragmenting. The entire field should be
     * used.
     *
     * @param string $field_override The name of the field
     * @return int Returns an integer on success or NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getHighlightFragsize($field_override){}

    /**
     * Returns whether or not to enable highlighting for
     * range/wildcard/fuzzy/prefix queries
     *
     * @return bool Returns a boolean on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getHighlightHighlightMultiTerm(){}

    /**
     * Returns the maximum number of characters of the field to return
     *
     * @param string $field_override The name of the field
     * @return int Returns an integer on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getHighlightMaxAlternateFieldLength($field_override){}

    /**
     * Returns the maximum number of characters into a document to look for
     * suitable snippets
     *
     * @return int Returns an integer on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getHighlightMaxAnalyzedChars(){}

    /**
     * Returns whether or not the collapse contiguous fragments into a single
     * fragment
     *
     * Returns whether or not the collapse contiguous fragments into a single
     * fragment. Accepts an optional field override.
     *
     * @param string $field_override The name of the field
     * @return bool Returns a boolean on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getHighlightMergeContiguous($field_override){}

    /**
     * Returns the maximum number of characters from a field when using the
     * regex fragmenter
     *
     * @return int Returns an integer on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getHighlightRegexMaxAnalyzedChars(){}

    /**
     * Returns the regular expression for fragmenting
     *
     * Returns the regular expression used for fragmenting
     *
     * @return string Returns a string on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getHighlightRegexPattern(){}

    /**
     * Returns the deviation factor from the ideal fragment size
     *
     * Returns the factor by which the regex fragmenter can deviate from the
     * ideal fragment size to accomodate the regular expression
     *
     * @return float Returns a double on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getHighlightRegexSlop(){}

    /**
     * Returns if a field will only be highlighted if the query matched in
     * this particular field
     *
     * @return bool Returns a boolean on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getHighlightRequireFieldMatch(){}

    /**
     * Returns the text which appears after a highlighted term
     *
     * Returns the text which appears after a highlighted term. Accepts an
     * optional field override
     *
     * @param string $field_override The name of the field
     * @return string Returns a string on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getHighlightSimplePost($field_override){}

    /**
     * Returns the text which appears before a highlighted term
     *
     * Returns the text which appears before a highlighted term. Accepts an
     * optional field override
     *
     * @param string $field_override The name of the field
     * @return string Returns a string on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getHighlightSimplePre($field_override){}

    /**
     * Returns the maximum number of highlighted snippets to generate per
     * field
     *
     * Returns the maximum number of highlighted snippets to generate per
     * field. Accepts an optional field override
     *
     * @param string $field_override The name of the field
     * @return int Returns an integer on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getHighlightSnippets($field_override){}

    /**
     * Returns the state of the hl.usePhraseHighlighter parameter
     *
     * Returns whether or not to use SpanScorer to highlight phrase terms
     * only when they appear within the query phrase in the document.
     *
     * @return bool Returns a boolean on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getHighlightUsePhraseHighlighter(){}

    /**
     * Returns whether or not MoreLikeThis results should be enabled
     *
     * @return bool Returns a boolean on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getMlt(){}

    /**
     * Returns whether or not the query will be boosted by the interesting
     * term relevance
     *
     * @return bool Returns a boolean on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getMltBoost(){}

    /**
     * Returns the number of similar documents to return for each result
     *
     * @return int Returns an integer on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getMltCount(){}

    /**
     * Returns all the fields to use for similarity
     *
     * @return array Returns an array on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getMltFields(){}

    /**
     * Returns the maximum number of query terms that will be included in any
     * generated query
     *
     * @return int Returns an integer on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getMltMaxNumQueryTerms(){}

    /**
     * Returns the maximum number of tokens to parse in each document field
     * that is not stored with TermVector support
     *
     * @return int Returns an integer on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getMltMaxNumTokens(){}

    /**
     * Returns the maximum word length above which words will be ignored
     *
     * Returns the maximum word length above which words will be ignored
     *
     * @return int Returns an integer on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getMltMaxWordLength(){}

    /**
     * Returns the treshold frequency at which words will be ignored which do
     * not occur in at least this many docs
     *
     * @return int Returns an integer on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getMltMinDocFrequency(){}

    /**
     * Returns the frequency below which terms will be ignored in the source
     * document
     *
     * @return int Returns an integer on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getMltMinTermFrequency(){}

    /**
     * Returns the minimum word length below which words will be ignored
     *
     * @return int Returns an integer on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getMltMinWordLength(){}

    /**
     * Returns the query fields and their boosts
     *
     * @return array Returns an array on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getMltQueryFields(){}

    /**
     * Returns the main query
     *
     * Returns the main search query
     *
     * @return string Returns a string on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getQuery(){}

    /**
     * Returns the maximum number of documents
     *
     * Returns the maximum number of documents from the complete result set
     * to return to the client for every request
     *
     * @return int Returns an integer on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getRows(){}

    /**
     * Returns all the sort fields
     *
     * @return array Returns an array on success and NULL if none of the
     *   parameters was set.
     * @since PECL solr >= 0.9.2
     **/
    public function getSortFields(){}

    /**
     * Returns the offset in the complete result set
     *
     * Returns the offset in the complete result set for the queries where
     * the set of returned documents should begin.
     *
     * @return int Returns an integer on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getStart(){}

    /**
     * Returns whether or not stats is enabled
     *
     * @return bool Returns a boolean on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getStats(){}

    /**
     * Returns all the stats facets that were set
     *
     * @return array Returns an array on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getStatsFacets(){}

    /**
     * Returns all the statistics fields
     *
     * @return array Returns an array on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getStatsFields(){}

    /**
     * Returns whether or not the TermsComponent is enabled
     *
     * @return bool Returns a boolean on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getTerms(){}

    /**
     * Returns the field from which the terms are retrieved
     *
     * @return string Returns a string on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getTermsField(){}

    /**
     * Returns whether or not to include the lower bound in the result set
     *
     * @return bool Returns a boolean on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getTermsIncludeLowerBound(){}

    /**
     * Returns whether or not to include the upper bound term in the result
     * set
     *
     * @return bool Returns a boolean on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getTermsIncludeUpperBound(){}

    /**
     * Returns the maximum number of terms Solr should return
     *
     * @return int Returns an integer on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getTermsLimit(){}

    /**
     * Returns the term to start at
     *
     * @return string Returns a string on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getTermsLowerBound(){}

    /**
     * Returns the maximum document frequency
     *
     * @return int Returns an integer on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getTermsMaxCount(){}

    /**
     * Returns the minimum document frequency to return in order to be
     * included
     *
     * @return int Returns an integer on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getTermsMinCount(){}

    /**
     * Returns the term prefix
     *
     * Returns the prefix to which matching terms must be restricted. This
     * will restrict matches to only terms that start with the prefix
     *
     * @return string Returns a string on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getTermsPrefix(){}

    /**
     * Whether or not to return raw characters
     *
     * Returns a boolean indicating whether or not to return the raw
     * characters of the indexed term, regardless of if it is human readable
     *
     * @return bool Returns a boolean on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getTermsReturnRaw(){}

    /**
     * Returns an integer indicating how terms are sorted
     *
     * SolrQuery::TERMS_SORT_INDEX indicates that the terms are returned by
     * index order. SolrQuery::TERMS_SORT_COUNT implies that the terms are
     * sorted by term frequency (highest count first)
     *
     * @return int Returns an integer on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getTermsSort(){}

    /**
     * Returns the term to stop at
     *
     * @return string Returns a string on success and NULL if not set.
     * @since PECL solr >= 0.9.2
     **/
    public function getTermsUpperBound(){}

    /**
     * Returns the time in milliseconds allowed for the query to finish
     *
     * @return int Returns and integer on success and NULL if it is not
     *   set.
     * @since PECL solr >= 0.9.2
     **/
    public function getTimeAllowed(){}

    /**
     * Removes an expand filter query
     *
     * @param string $fq
     * @return SolrQuery SolrQuery
     * @since PECL solr >= 2.2.0
     **/
    public function removeExpandFilterQuery($fq){}

    /**
     * Removes an expand sort field from the expand.sort parameter
     *
     * @param string $field field name
     * @return SolrQuery SolrQuery
     * @since PECL solr >= 2.2.0
     **/
    public function removeExpandSortField($field){}

    /**
     * Removes one of the facet date fields
     *
     * The name of the field
     *
     * @param string $field The name of the date field to remove
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function removeFacetDateField($field){}

    /**
     * Removes one of the facet.date.other parameters
     *
     * @param string $value The value
     * @param string $field_override The name of the field.
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function removeFacetDateOther($value, $field_override){}

    /**
     * Removes one of the facet.date parameters
     *
     * @param string $field The name of the field
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function removeFacetField($field){}

    /**
     * Removes one of the facet.query parameters
     *
     * @param string $value The value
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function removeFacetQuery($value){}

    /**
     * Removes a field from the list of fields
     *
     * @param string $field Name of the field.
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function removeField($field){}

    /**
     * Removes a filter query
     *
     * @param string $fq The filter query to remove
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function removeFilterQuery($fq){}

    /**
     * Removes one of the fields used for highlighting
     *
     * @param string $field The name of the field
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function removeHighlightField($field){}

    /**
     * Removes one of the moreLikeThis fields
     *
     * @param string $field Name of the field
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function removeMltField($field){}

    /**
     * Removes one of the moreLikeThis query fields
     *
     * @param string $queryField The query field
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function removeMltQueryField($queryField){}

    /**
     * Removes one of the sort fields
     *
     * @param string $field The name of the field
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function removeSortField($field){}

    /**
     * Removes one of the stats.facet parameters
     *
     * @param string $value The value
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function removeStatsFacet($value){}

    /**
     * Removes one of the stats.field parameters
     *
     * @param string $field The name of the field.
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function removeStatsField($field){}

    /**
     * Toggles the echoHandler parameter
     *
     * If set to true, Solr places the name of the handle used in the
     * response to the client for debugging purposes.
     *
     * @param bool $flag TRUE or FALSE
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setEchoHandler($flag){}

    /**
     * Determines what kind of parameters to include in the response
     *
     * Instructs Solr what kinds of Request parameters should be included in
     * the response for debugging purposes, legal values include:
     *
     * - none - don't include any request parameters for debugging - explicit
     * - include the parameters explicitly specified by the client in the
     * request - all - include all parameters involved in this request,
     * either specified explicitly by the client, or implicit because of the
     * request handler configuration.
     *
     * @param string $type The type of parameters to include
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setEchoParams($type){}

    /**
     * Enables/Disables the Expand Component
     *
     * @param bool $value Bool flag
     * @return SolrQuery SolrQuery
     * @since PECL solr >= 2.2.0
     **/
    public function setExpand($value){}

    /**
     * Sets the expand.q parameter
     *
     * Overrides the main q parameter, determines which documents to include
     * in the main group.
     *
     * @param string $q
     * @return SolrQuery SolrQuery
     * @since PECL solr >= 2.2.0
     **/
    public function setExpandQuery($q){}

    /**
     * Sets the number of rows to display in each group (expand.rows). Server
     * Default 5
     *
     * @param int $value
     * @return SolrQuery SolrQuery
     * @since PECL solr >= 2.2.0
     **/
    public function setExpandRows($value){}

    /**
     * Sets the explainOther common query parameter
     *
     * @param string $query The Lucene query to identify a set of documents
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setExplainOther($query){}

    /**
     * Maps to the facet parameter. Enables or disables facetting
     *
     * Enables or disables faceting.
     *
     * @param bool $flag TRUE enables faceting and FALSE disables it.
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setFacet($flag){}

    /**
     * Maps to facet.date.end
     *
     * @param string $value See facet.date.end
     * @param string $field_override Name of the field
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setFacetDateEnd($value, $field_override){}

    /**
     * Maps to facet.date.gap
     *
     * @param string $value See facet.date.gap
     * @param string $field_override The name of the field
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setFacetDateGap($value, $field_override){}

    /**
     * Maps to facet.date.hardend
     *
     * @param bool $value See facet.date.hardend
     * @param string $field_override The name of the field
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setFacetDateHardEnd($value, $field_override){}

    /**
     * Maps to facet.date.start
     *
     * @param string $value See facet.date.start
     * @param string $field_override The name of the field.
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setFacetDateStart($value, $field_override){}

    /**
     * Sets the minimum document frequency used for determining term count
     *
     * @param int $frequency The minimum frequency
     * @param string $field_override The name of the field.
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setFacetEnumCacheMinDefaultFrequency($frequency, $field_override){}

    /**
     * Maps to facet.limit
     *
     * Maps to facet.limit. Sets the maximum number of constraint counts that
     * should be returned for the facet fields.
     *
     * @param int $limit The maximum number of constraint counts
     * @param string $field_override The name of the field.
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setFacetLimit($limit, $field_override){}

    /**
     * Specifies the type of algorithm to use when faceting a field
     *
     * Specifies the type of algorithm to use when faceting a field. This
     * method accepts optional field override.
     *
     * @param string $method The method to use.
     * @param string $field_override The name of the field.
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setFacetMethod($method, $field_override){}

    /**
     * Maps to facet.mincount
     *
     * Sets the minimum counts for facet fields that should be included in
     * the response
     *
     * @param int $mincount The minimum count
     * @param string $field_override The name of the field.
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setFacetMinCount($mincount, $field_override){}

    /**
     * Maps to facet.missing
     *
     * Used to indicate that in addition to the Term-based constraints of a
     * facet field, a count of all matching results which have no value for
     * the field should be computed
     *
     * @param bool $flag TRUE turns this feature on. FALSE disables it.
     * @param string $field_override The name of the field.
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setFacetMissing($flag, $field_override){}

    /**
     * Sets the offset into the list of constraints to allow for pagination
     *
     * @param int $offset The offset
     * @param string $field_override The name of the field.
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setFacetOffset($offset, $field_override){}

    /**
     * Specifies a string prefix with which to limits the terms on which to
     * facet
     *
     * @param string $prefix The prefix string
     * @param string $field_override The name of the field.
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setFacetPrefix($prefix, $field_override){}

    /**
     * Determines the ordering of the facet field constraints
     *
     * @param int $facetSort Use SolrQuery::FACET_SORT_INDEX for sorting by
     *   index order or SolrQuery::FACET_SORT_COUNT for sorting by count.
     * @param string $field_override The name of the field.
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setFacetSort($facetSort, $field_override){}

    /**
     * Enable/Disable result grouping (group parameter)
     *
     * @param bool $value
     * @return SolrQuery
     * @since PECL solr >= 2.2.0
     **/
    public function setGroup($value){}

    /**
     * Enables caching for result grouping
     *
     * Setting this parameter to a number greater than 0 enables caching for
     * result grouping. Result Grouping executes two searches; this option
     * caches the second search. The server default value is 0. Testing has
     * shown that group caching only improves search time with Boolean,
     * wildcard, and fuzzy queries. For simple queries like term or "match
     * all" queries, group caching degrades performance. group.cache.percent
     * parameter
     *
     * @param int $percent
     * @return SolrQuery
     * @since PECL solr >= 2.2.0
     **/
    public function setGroupCachePercent($percent){}

    /**
     * Sets group.facet parameter
     *
     * Determines whether to compute grouped facets for the field facets
     * specified in facet.field parameters. Grouped facets are computed based
     * on the first specified group.
     *
     * @param bool $value
     * @return SolrQuery
     * @since PECL solr >= 2.2.0
     **/
    public function setGroupFacet($value){}

    /**
     * Sets the group format, result structure (group.format parameter)
     *
     * Sets the group.format parameter. If this parameter is set to simple,
     * the grouped documents are presented in a single flat list, and the
     * start and rows parameters affect the numbers of documents instead of
     * groups. Accepts: grouped/simple
     *
     * @param string $value
     * @return SolrQuery
     * @since PECL solr >= 2.2.0
     **/
    public function setGroupFormat($value){}

    /**
     * Specifies the number of results to return for each group. The server
     * default value is 1
     *
     * @param int $value
     * @return SolrQuery
     * @since PECL solr >= 2.2.0
     **/
    public function setGroupLimit($value){}

    /**
     * If true, the result of the first field grouping command is used as the
     * main result list in the response, using group.format=simple
     *
     * @param string $value
     * @return SolrQuery
     * @since PECL solr >= 2.2.0
     **/
    public function setGroupMain($value){}

    /**
     * If true, Solr includes the number of groups that have matched the
     * query in the results
     *
     * @param bool $value
     * @return SolrQuery
     * @since PECL solr >= 2.2.0
     **/
    public function setGroupNGroups($value){}

    /**
     * Sets the group.offset parameter
     *
     * @param int $value
     * @return SolrQuery
     * @since PECL solr >= 2.2.0
     **/
    public function setGroupOffset($value){}

    /**
     * If true, facet counts are based on the most relevant document of each
     * group matching the query
     *
     * If true, facet counts are based on the most relevant document of each
     * group matching the query. The server default value is false.
     * group.truncate parameter
     *
     * @param bool $value
     * @return SolrQuery
     * @since PECL solr >= 2.2.0
     **/
    public function setGroupTruncate($value){}

    /**
     * Enables or disables highlighting
     *
     * Setting it to TRUE enables highlighted snippets to be generated in the
     * query response.
     *
     * Setting it to FALSE disables highlighting
     *
     * @param bool $flag Enable or disable highlighting
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setHighlight($flag){}

    /**
     * Specifies the backup field to use
     *
     * If a snippet cannot be generated because there were no matching terms,
     * one can specify a field to use as the backup or default summary
     *
     * @param string $field The name of the backup field
     * @param string $field_override The name of the field we are
     *   overriding this setting for.
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setHighlightAlternateField($field, $field_override){}

    /**
     * Specify a formatter for the highlight output
     *
     * @param string $formatter Currently the only legal value is "simple"
     * @param string $field_override The name of the field.
     * @return SolrQuery
     * @since PECL solr >= 0.9.2
     **/
    public function setHighlightFormatter($formatter, $field_override){}

    /**
     * Sets a text snippet generator for highlighted text
     *
     * Specify a text snippet generator for highlighted text.
     *
     * @param string $fragmenter The standard fragmenter is gap. Another
     *   option is regex, which tries to create fragments that resembles a
     *   certain regular expression
     * @param string $field_override The name of the field.
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setHighlightFragmenter($fragmenter, $field_override){}

    /**
     * The size of fragments to consider for highlighting
     *
     * Sets the size, in characters, of fragments to consider for
     * highlighting. "0" indicates that the whole field value should be used
     * (no fragmenting).
     *
     * @param int $size The size, in characters, of fragments to consider
     *   for highlighting
     * @param string $field_override The name of the field.
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setHighlightFragsize($size, $field_override){}

    /**
     * Use SpanScorer to highlight phrase terms
     *
     * Use SpanScorer to highlight phrase terms only when they appear within
     * the query phrase in the document.
     *
     * @param bool $flag Whether or not to use SpanScorer to highlight
     *   phrase terms only when they appear within the query phrase in the
     *   document.
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setHighlightHighlightMultiTerm($flag){}

    /**
     * Sets the maximum number of characters of the field to return
     *
     * If SolrQuery::setHighlightAlternateField() was passed the value TRUE,
     * this parameter specifies the maximum number of characters of the field
     * to return
     *
     * Any value less than or equal to 0 means unlimited.
     *
     * @param int $fieldLength The length of the field
     * @param string $field_override The name of the field.
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setHighlightMaxAlternateFieldLength($fieldLength, $field_override){}

    /**
     * Specifies the number of characters into a document to look for
     * suitable snippets
     *
     * @param int $value The number of characters into a document to look
     *   for suitable snippets
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setHighlightMaxAnalyzedChars($value){}

    /**
     * Whether or not to collapse contiguous fragments into a single fragment
     *
     * @param bool $flag Whether or not to collapse contiguous fragments
     *   into a single fragment
     * @param string $field_override The name of the field.
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setHighlightMergeContiguous($flag, $field_override){}

    /**
     * Specify the maximum number of characters to analyze
     *
     * Specify the maximum number of characters to analyze from a field when
     * using the regex fragmenter
     *
     * @param int $maxAnalyzedChars The maximum number of characters to
     *   analyze from a field when using the regex fragmenter
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setHighlightRegexMaxAnalyzedChars($maxAnalyzedChars){}

    /**
     * Specify the regular expression for fragmenting
     *
     * Specifies the regular expression for fragmenting. This could be used
     * to extract sentences
     *
     * @param string $value The regular expression for fragmenting. This
     *   could be used to extract sentences
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setHighlightRegexPattern($value){}

    /**
     * Sets the factor by which the regex fragmenter can stray from the ideal
     * fragment size
     *
     * The factor by which the regex fragmenter can stray from the ideal
     * fragment size ( specfied by SolrQuery::setHighlightFragsize )to
     * accommodate the regular expression
     *
     * @param float $factor The factor by which the regex fragmenter can
     *   stray from the ideal fragment size
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setHighlightRegexSlop($factor){}

    /**
     * Require field matching during highlighting
     *
     * If TRUE, then a field will only be highlighted if the query matched in
     * this particular field.
     *
     * This will only work if SolrQuery::setHighlightUsePhraseHighlighter()
     * was set to TRUE
     *
     * @param bool $flag TRUE or FALSE
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setHighlightRequireFieldMatch($flag){}

    /**
     * Sets the text which appears after a highlighted term
     *
     * Sets the text which appears before a highlighted term
     *
     * @param string $simplePost Sets the text which appears after a
     *   highlighted term The default is </em>
     * @param string $field_override The name of the field.
     * @return SolrQuery
     * @since PECL solr >= 0.9.2
     **/
    public function setHighlightSimplePost($simplePost, $field_override){}

    /**
     * Sets the text which appears before a highlighted term
     *
     * The default is <em>
     *
     * @param string $simplePre The text which appears before a highlighted
     *   term
     * @param string $field_override The name of the field.
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setHighlightSimplePre($simplePre, $field_override){}

    /**
     * Sets the maximum number of highlighted snippets to generate per field
     *
     * @param int $value The maximum number of highlighted snippets to
     *   generate per field
     * @param string $field_override The name of the field.
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setHighlightSnippets($value, $field_override){}

    /**
     * Whether to highlight phrase terms only when they appear within the
     * query phrase
     *
     * Sets whether or not to use SpanScorer to highlight phrase terms only
     * when they appear within the query phrase in the document
     *
     * @param bool $flag Whether or not to use SpanScorer to highlight
     *   phrase terms only when they appear within the query phrase in the
     *   document
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setHighlightUsePhraseHighlighter($flag){}

    /**
     * Enables or disables moreLikeThis
     *
     * @param bool $flag TRUE enables it and FALSE turns it off.
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setMlt($flag){}

    /**
     * Set if the query will be boosted by the interesting term relevance
     *
     * @param bool $flag Sets to TRUE or FALSE
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setMltBoost($flag){}

    /**
     * Set the number of similar documents to return for each result
     *
     * @param int $count The number of similar documents to return for each
     *   result
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setMltCount($count){}

    /**
     * Sets the maximum number of query terms included
     *
     * Sets the maximum number of query terms that will be included in any
     * generated query.
     *
     * @param int $value The maximum number of query terms that will be
     *   included in any generated query
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setMltMaxNumQueryTerms($value){}

    /**
     * Specifies the maximum number of tokens to parse
     *
     * Specifies the maximum number of tokens to parse in each example doc
     * field that is not stored with TermVector support.
     *
     * @param int $value The maximum number of tokens to parse
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setMltMaxNumTokens($value){}

    /**
     * Sets the maximum word length
     *
     * Sets the maximum word length above which words will be ignored.
     *
     * @param int $maxWordLength The maximum word length above which words
     *   will be ignored
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setMltMaxWordLength($maxWordLength){}

    /**
     * Sets the mltMinDoc frequency
     *
     * The frequency at which words will be ignored which do not occur in at
     * least this many docs.
     *
     * @param int $minDocFrequency Sets the frequency at which words will
     *   be ignored which do not occur in at least this many docs.
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setMltMinDocFrequency($minDocFrequency){}

    /**
     * Sets the frequency below which terms will be ignored in the source
     * docs
     *
     * @param int $minTermFrequency The frequency below which terms will be
     *   ignored in the source docs
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setMltMinTermFrequency($minTermFrequency){}

    /**
     * Sets the minimum word length
     *
     * Sets the minimum word length below which words will be ignored.
     *
     * @param int $minWordLength The minimum word length below which words
     *   will be ignored
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setMltMinWordLength($minWordLength){}

    /**
     * Exclude the header from the returned results
     *
     * @param bool $flag TRUE excludes the header from the result.
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setOmitHeader($flag){}

    /**
     * Sets the search query
     *
     * @param string $query The search query
     * @return SolrQuery Returns the current SolrQuery object
     * @since PECL solr >= 0.9.2
     **/
    public function setQuery($query){}

    /**
     * Specifies the maximum number of rows to return in the result
     *
     * @param int $rows The maximum number of rows to return
     * @return SolrQuery Returns the current SolrQuery object.
     * @since PECL solr >= 0.9.2
     **/
    public function setRows($rows){}

    /**
     * Flag to show debug information
     *
     * Whether to show debug info
     *
     * @param bool $flag Whether to show debug info. TRUE or FALSE
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setShowDebugInfo($flag){}

    /**
     * Specifies the number of rows to skip
     *
     * Specifies the number of rows to skip. Useful in pagination of results.
     *
     * @param int $start The number of rows to skip.
     * @return SolrQuery Returns the current SolrQuery object.
     * @since PECL solr >= 0.9.2
     **/
    public function setStart($start){}

    /**
     * Enables or disables the Stats component
     *
     * @param bool $flag TRUE turns on the stats component and FALSE
     *   disables it.
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setStats($flag){}

    /**
     * Enables or disables the TermsComponent
     *
     * @param bool $flag TRUE enables it. FALSE turns it off
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setTerms($flag){}

    /**
     * Sets the name of the field to get the Terms from
     *
     * Sets the name of the field to get the terms from
     *
     * @param string $fieldname The field name
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setTermsField($fieldname){}

    /**
     * Include the lower bound term in the result set
     *
     * @param bool $flag Include the lower bound term in the result set
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setTermsIncludeLowerBound($flag){}

    /**
     * Include the upper bound term in the result set
     *
     * @param bool $flag TRUE or FALSE
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setTermsIncludeUpperBound($flag){}

    /**
     * Sets the maximum number of terms to return
     *
     * @param int $limit The maximum number of terms to return. All the
     *   terms will be returned if the limit is negative.
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setTermsLimit($limit){}

    /**
     * Specifies the Term to start from
     *
     * @param string $lowerBound The lower bound Term
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setTermsLowerBound($lowerBound){}

    /**
     * Sets the maximum document frequency
     *
     * @param int $frequency The maximum document frequency.
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setTermsMaxCount($frequency){}

    /**
     * Sets the minimum document frequency
     *
     * Sets the minimum doc frequency to return in order to be included
     *
     * @param int $frequency The minimum frequency
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setTermsMinCount($frequency){}

    /**
     * Restrict matches to terms that start with the prefix
     *
     * @param string $prefix Restrict matches to terms that start with the
     *   prefix
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setTermsPrefix($prefix){}

    /**
     * Return the raw characters of the indexed term
     *
     * If true, return the raw characters of the indexed term, regardless of
     * if it is human readable
     *
     * @param bool $flag TRUE or FALSE
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setTermsReturnRaw($flag){}

    /**
     * Specifies how to sort the returned terms
     *
     * If SolrQuery::TERMS_SORT_COUNT, sorts the terms by the term frequency
     * (highest count first). If SolrQuery::TERMS_SORT_INDEX, returns the
     * terms in index order
     *
     * @param int $sortType SolrQuery::TERMS_SORT_INDEX or
     *   SolrQuery::TERMS_SORT_COUNT
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setTermsSort($sortType){}

    /**
     * Sets the term to stop at
     *
     * @param string $upperBound The term to stop at
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setTermsUpperBound($upperBound){}

    /**
     * The time allowed for search to finish
     *
     * The time allowed for a search to finish. This value only applies to
     * the search and not to requests in general. Time is in milliseconds.
     * Values less than or equal to zero implies no time restriction. Partial
     * results may be returned, if there are any.
     *
     * @param int $timeAllowed The time allowed for a search to finish.
     * @return SolrQuery Returns the current SolrQuery object, if the
     *   return value is used.
     * @since PECL solr >= 0.9.2
     **/
    public function setTimeAllowed($timeAllowed){}

    /**
     * Constructor
     *
     * @param string $q Optional search query
     * @since PECL solr >= 0.9.2
     **/
    public function __construct($q){}

    /**
     * Destructor
     *
     * @return void None.
     * @since PECL solr >= 0.9.2
     **/
    public function __destruct(){}

}
/**
 * Represents a response to a query request.
 **/
final class SolrQueryResponse extends SolrResponse {
    /**
     * @var integer
     **/
    const PARSE_SOLR_DOC = 0;

    /**
     * @var integer
     **/
    const PARSE_SOLR_OBJ = 0;

    /**
     * Constructor
     *
     * @since PECL solr >= 0.9.2
     **/
    public function __construct(){}

    /**
     * Destructor
     *
     * @return void None
     * @since PECL solr >= 0.9.2
     **/
    public function __destruct(){}

}
/**
 * Represents a response from the Solr server.
 **/
abstract class SolrResponse {
    /**
     * @var integer
     **/
    const PARSE_SOLR_DOC = 0;

    /**
     * @var integer
     **/
    const PARSE_SOLR_OBJ = 0;

    /**
     * @var string
     **/
    protected $http_digested_response;

    /**
     * @var string
     **/
    protected $http_raw_request;

    /**
     * @var string
     **/
    protected $http_raw_request_headers;

    /**
     * @var string
     **/
    protected $http_raw_response;

    /**
     * @var string
     **/
    protected $http_raw_response_headers;

    /**
     * @var string
     **/
    protected $http_request_url;

    /**
     * @var integer
     **/
    protected $http_status;

    /**
     * @var string
     **/
    protected $http_status_message;

    /**
     * @var integer
     **/
    protected $parser_mode;

    /**
     * Was there an error during the request
     *
     * @var bool
     **/
    protected $success;

    /**
     * Returns the XML response as serialized PHP data
     *
     * @return string Returns the XML response as serialized PHP data
     * @since PECL solr >= 0.9.2
     **/
    public function getDigestedResponse(){}

    /**
     * Returns the HTTP status of the response
     *
     * @return int Returns the HTTP status of the response.
     * @since PECL solr >= 0.9.2
     **/
    public function getHttpStatus(){}

    /**
     * Returns more details on the HTTP status
     *
     * @return string Returns more details on the HTTP status
     * @since PECL solr >= 0.9.2
     **/
    public function getHttpStatusMessage(){}

    /**
     * Returns the raw request sent to the Solr server
     *
     * @return string Returns the raw request sent to the Solr server
     * @since PECL solr >= 0.9.2
     **/
    public function getRawRequest(){}

    /**
     * Returns the raw request headers sent to the Solr server
     *
     * @return string Returns the raw request headers sent to the Solr
     *   server
     * @since PECL solr >= 0.9.2
     **/
    public function getRawRequestHeaders(){}

    /**
     * Returns the raw response from the server
     *
     * @return string Returns the raw response from the server.
     * @since PECL solr >= 0.9.2
     **/
    public function getRawResponse(){}

    /**
     * Returns the raw response headers from the server
     *
     * @return string Returns the raw response headers from the server.
     * @since PECL solr >= 0.9.2
     **/
    public function getRawResponseHeaders(){}

    /**
     * Returns the full URL the request was sent to
     *
     * @return string Returns the full URL the request was sent to
     * @since PECL solr >= 0.9.2
     **/
    public function getRequestUrl(){}

    /**
     * Returns a SolrObject representing the XML response from the server
     *
     * @return SolrObject Returns a SolrObject representing the XML
     *   response from the server
     * @since PECL solr >= 0.9.2
     **/
    public function getResponse(){}

    /**
     * Sets the parse mode
     *
     * @param int $parser_mode SolrResponse::PARSE_SOLR_DOC parses
     *   documents in SolrDocument instances. SolrResponse::PARSE_SOLR_OBJ
     *   parses document into SolrObjects.
     * @return bool
     * @since PECL solr >= 0.9.2
     **/
    public function setParseMode($parser_mode){}

    /**
     * Was the request a success
     *
     * Used to check if the request to the server was successful.
     *
     * @return bool Returns TRUE if it was successful and FALSE if it was
     *   not.
     * @since PECL solr >= 0.9.2
     **/
    public function success(){}

}
/**
 * An exception thrown when there is an error produced by the Solr Server
 * itself.
 **/
class SolrServerException extends SolrException {
    /**
     * Returns internal information where the Exception was thrown
     *
     * @return array Returns an array containing internal information where
     *   the error was thrown. Used only for debugging by extension
     *   developers.
     * @since PECL solr >= 1.1.0, >=2.0.0
     **/
    public function getInternalInfo(){}

}
/**
 * Represents a response to an update request.
 **/
final class SolrUpdateResponse extends SolrResponse {
    /**
     * @var integer
     **/
    const PARSE_SOLR_DOC = 0;

    /**
     * @var integer
     **/
    const PARSE_SOLR_OBJ = 0;

    /**
     * Constructor
     *
     * @since PECL solr >= 0.9.2
     **/
    public function __construct(){}

    /**
     * Destructor
     *
     * @return void None
     * @since PECL solr >= 0.9.2
     **/
    public function __destruct(){}

}
/**
 * Contains utility methods for retrieving the current extension version
 * and preparing query phrases. Also contains method for escaping query
 * strings and parsing XML responses.
 **/
abstract class SolrUtils {
    /**
     * Parses an response XML string into a SolrObject
     *
     * This method parses an response XML string from the Apache Solr server
     * into a SolrObject. It throws a SolrException if there was an error.
     *
     * @param string $xmlresponse The XML response string from the Solr
     *   server.
     * @param int $parse_mode Use SolrResponse::PARSE_SOLR_OBJ or
     *   SolrResponse::PARSE_SOLR_DOC
     * @return SolrObject Returns the SolrObject representing the XML
     *   response.
     * @since PECL solr >= 0.9.2
     **/
    public static function digestXmlResponse($xmlresponse, $parse_mode){}

    /**
     * Escapes a lucene query string
     *
     * Lucene supports escaping special characters that are part of the query
     * syntax.
     *
     * The current list special characters are:
     *
     * + - && || ! ( ) { } [ ] ^ " ~ * ? : \ /
     *
     * These characters are part of the query syntax and must be escaped
     *
     * @param string $str This is the query string to be escaped.
     * @return string Returns the escaped string.
     * @since PECL solr >= 0.9.2
     **/
    public static function escapeQueryChars($str){}

    /**
     * Returns the current version of the Solr extension
     *
     * Returns the current Solr version.
     *
     * @return string The current version of the Apache Solr extension.
     * @since PECL solr >= 0.9.2
     **/
    public static function getSolrVersion(){}

    /**
     * Prepares a phrase from an unescaped lucene string
     *
     * @param string $str The lucene phrase.
     * @return string Returns the phrase contained in double quotes.
     * @since PECL solr >= 0.9.2
     **/
    public static function queryPhrase($str){}

}
/**
 * The SphinxClient class provides object-oriented interface to Sphinx.
 **/
class SphinxClient {
    /**
     * Add query to multi-query batch
     *
     * Adds query with the current settings to multi-query batch. This method
     * doesn't affect current settings (sorting, filtering, grouping etc.) in
     * any way.
     *
     * @param string $query Query string.
     * @param string $index An index name (or names).
     * @param string $comment
     * @return int Returns an index in an array of results that will be
     *   returned by call or false on error.
     * @since PECL sphinx >= 0.1.0
     **/
    public function addQuery($query, $index, $comment){}

    /**
     * Build text snippets
     *
     * Connects to searchd, requests it to generate excerpts (snippets) from
     * the given documents, and returns the results.
     *
     * @param array $docs Array of strings with documents' contents.
     * @param string $index Index name.
     * @param string $words Keywords to highlight.
     * @param array $opts Associative array of additional highlighting
     *   options (see below).
     * @return array Returns array of snippets on success.
     * @since PECL sphinx >= 0.1.0
     **/
    public function buildExcerpts($docs, $index, $words, $opts){}

    /**
     * Extract keywords from query
     *
     * Extracts keywords from {@link query} using tokenizer settings for the
     * given {@link index}, optionally with per-keyword occurrence
     * statistics.
     *
     * @param string $query A query to extract keywords from.
     * @param string $index An index to get tokenizing settings and keyword
     *   occurrence statistics from.
     * @param bool $hits A boolean flag to enable/disable keyword
     *   statistics generation.
     * @return array Returns an array of associative arrays with
     *   per-keyword information.
     * @since PECL sphinx >= 0.1.0
     **/
    public function buildKeywords($query, $index, $hits){}

    /**
     * Closes previously opened persistent connection
     *
     * @return bool
     * @since PECL sphinx >= 1.0.3
     **/
    public function close(){}

    /**
     * Escape special characters
     *
     * Escapes characters that are treated as special operators by the query
     * language parser.
     *
     * @param string $string String to escape.
     * @return string Returns escaped string.
     * @since PECL sphinx >= 0.1.0
     **/
    public function escapeString($string){}

    /**
     * Get the last error message
     *
     * Returns string with the last error message. If there were no errors
     * during the previous API call, empty string is returned. This method
     * doesn't reset the error message, so you can safely call it several
     * times.
     *
     * @return string Returns the last error message or an empty string if
     *   there were no errors.
     * @since PECL sphinx >= 0.1.0
     **/
    public function getLastError(){}

    /**
     * Get the last warning
     *
     * Returns last warning message. If there were no warnings during the
     * previous API call, empty string is returned. This method doesn't reset
     * the warning, so you can safely call it several times.
     *
     * @return string Returns the last warning message or an empty string
     *   if there were no warnings.
     * @since PECL sphinx >= 0.1.0
     **/
    public function getLastWarning(){}

    /**
     * Opens persistent connection to the server
     *
     * @return bool
     * @since PECL sphinx >= 1.0.3
     **/
    public function open(){}

    /**
     * Execute search query
     *
     * Connects to searchd server, runs the given search query with the
     * current settings, obtains and returns the result set.
     *
     * @param string $query Query string.
     * @param string $index An index name (or names).
     * @param string $comment
     * @return array On success, {@link SphinxClient::query} returns a list
     *   of found matches and additional per-query statistics. The result set
     *   is a hash utilize other structures instead of hash) with the
     *   following keys and values: Result set structure Key Value
     *   description "matches" An array with found document IDs as keys and
     *   their weight and attributes values as values "total" Total number of
     *   matches found and retrieved (depends on your settings) "total_found"
     *   Total number of found documents matching the query "words" An array
     *   with words (case-folded and stemmed) as keys and per-word statistics
     *   as values "error" Query error message reported by searchd "warning"
     *   Query warning reported by searchd
     * @since PECL sphinx >= 0.1.0
     **/
    public function query($query, $index, $comment){}

    /**
     * Clear all filters
     *
     * Clears all currently set filters. This call is normally required when
     * using multi-queries. You might want to set different filters for
     * different queries in the batch. To do that, you should call {@link
     * SphinxClient::resetFilters} and add new filters using the respective
     * calls.
     *
     * @return void
     * @since PECL sphinx >= 0.1.0
     **/
    public function resetFilters(){}

    /**
     * Clear all group-by settings
     *
     * Clears all currently group-by settings, and disables group-by. This
     * call is normally required only when using multi-queries.
     *
     * @return void
     * @since PECL sphinx >= 0.1.0
     **/
    public function resetGroupBy(){}

    /**
     * Run a batch of search queries
     *
     * Connects to searchd, runs a batch of all queries added using , obtains
     * and returns the result sets.
     *
     * @return array Returns FALSE on failure and array of result sets on
     *   success.
     * @since PECL sphinx >= 0.1.0
     **/
    public function runQueries(){}

    /**
     * Change the format of result set array
     *
     * Controls the format of search results set arrays (whether matches
     * should be returned as an array or a hash).
     *
     * @param bool $array_result If {@link array_result} is FALSE, matches
     *   are returned as a hash with document IDs as keys, and other
     *   information (weight, attributes) as values. If {@link array_result}
     *   is TRUE, matches are returned as a plain array with complete
     *   per-match information including document IDs.
     * @return bool Always returns TRUE.
     * @since PECL sphinx >= 0.1.0
     **/
    public function setArrayResult($array_result){}

    /**
     * Set connection timeout
     *
     * Sets connection timeout (in seconds) for searchd connection.
     *
     * @param float $timeout Timeout in seconds.
     * @return bool
     * @since PECL sphinx >= 0.1.0
     **/
    public function setConnectTimeout($timeout){}

    /**
     * Set field weights
     *
     * Binds per-field weights by name.
     *
     * Match ranking can be affected by per-field weights. See Sphinx
     * documentation for an explanation on how phrase proximity ranking is
     * affected. This call lets you specify non-default weights for full-text
     * fields.
     *
     * The weights must be positive 32-bit integers, so be careful not to hit
     * 32-bit integer maximum. The final weight is a 32-bit integer too.
     * Default weight value is 1. Unknown field names are silently ignored.
     *
     * @param array $weights Associative array of field names and field
     *   weights.
     * @return bool
     * @since PECL sphinx >= 0.1.0
     **/
    public function setFieldWeights($weights){}

    /**
     * Add new integer values set filter
     *
     * Adds new integer values set filter to the existing list of filters.
     *
     * @param string $attribute An attribute name.
     * @param array $values Plain array of integer values.
     * @param bool $exclude If set to TRUE, matching documents are excluded
     *   from the result set.
     * @return bool
     * @since PECL sphinx >= 0.1.0
     **/
    public function setFilter($attribute, $values, $exclude){}

    /**
     * Add new float range filter
     *
     * Adds new float range filter to the existing list of filters. Only
     * those documents which have {@link attribute} value stored in the index
     * between {@link min} and {@link max} (including values that are exactly
     * equal to {@link min} or {@link max}) will be matched (or rejected, if
     * {@link exclude} is TRUE).
     *
     * @param string $attribute An attribute name.
     * @param float $min Minimum value.
     * @param float $max Maximum value.
     * @param bool $exclude If set to TRUE, matching documents are excluded
     *   from the result set.
     * @return bool
     * @since PECL sphinx >= 0.1.0
     **/
    public function setFilterFloatRange($attribute, $min, $max, $exclude){}

    /**
     * Add new integer range filter
     *
     * Adds new integer range filter to the existing list of filters. Only
     * those documents which have {@link attribute} value stored in the index
     * between {@link min} and {@link max} (including values that are exactly
     * equal to {@link min} or {@link max}) will be matched (or rejected, if
     * {@link exclude} is TRUE).
     *
     * @param string $attribute An attribute name.
     * @param int $min Minimum value.
     * @param int $max Maximum value.
     * @param bool $exclude If set to TRUE, matching documents are excluded
     *   from the result set.
     * @return bool
     * @since PECL sphinx >= 0.1.0
     **/
    public function setFilterRange($attribute, $min, $max, $exclude){}

    /**
     * Set anchor point for a geosphere distance calculations
     *
     * Sets anchor point for a geosphere distance (geodistance) calculations
     * and enables them.
     *
     * Once an anchor point is set, you can use magic "@geodist" attribute
     * name in your filters and/or sorting expressions.
     *
     * @param string $attrlat Name of a latitude attribute.
     * @param string $attrlong Name of a longitude attribute.
     * @param float $latitude Anchor latitude in radians.
     * @param float $longitude Anchor longitude in radians.
     * @return bool
     * @since PECL sphinx >= 0.1.0
     **/
    public function setGeoAnchor($attrlat, $attrlong, $latitude, $longitude){}

    /**
     * Set grouping attribute
     *
     * Sets grouping attribute, function, and group sorting mode, and enables
     * grouping.
     *
     * Grouping feature is very similar to GROUP BY clause in SQL. Results
     * produced by this function call are going to be the same as produced by
     * the following pseudo code: SELECT ... GROUP BY $func($attribute) ORDER
     * BY $groupsort.
     *
     * @param string $attribute A string containing group-by attribute
     *   name.
     * @param int $func Constant, which sets a function applied to the
     *   attribute value in order to compute group-by key.
     * @param string $groupsort An optional clause controlling how the
     *   groups are sorted.
     * @return bool
     * @since PECL sphinx >= 0.1.0
     **/
    public function setGroupBy($attribute, $func, $groupsort){}

    /**
     * Set attribute name for per-group distinct values count calculations
     *
     * Sets attribute name for per-group distinct values count calculations.
     * Only available for grouping queries. For each group, all values of
     * {@link attribute} will be stored, then the amount of distinct values
     * will be calculated and returned to the client. This feature is similar
     * to COUNT(DISTINCT) clause in SQL.
     *
     * @param string $attribute A string containing group-by attribute
     *   name.
     * @return bool
     * @since PECL sphinx >= 0.1.0
     **/
    public function setGroupDistinct($attribute){}

    /**
     * Set a range of accepted document IDs
     *
     * Sets an accepted range of document IDs. Default range is from 0 to 0,
     * i.e. no limit. Only those records that have document ID between {@link
     * min} and {@link max} (including IDs exactly equal to {@link min} or
     * {@link max}) will be matched.
     *
     * @param int $min Minimum ID value.
     * @param int $max Maximum ID value.
     * @return bool
     * @since PECL sphinx >= 0.1.0
     **/
    public function setIDRange($min, $max){}

    /**
     * Set per-index weights
     *
     * Sets per-index weights and enables weighted summing of match weights
     * across different indexes.
     *
     * @param array $weights An associative array mapping string index
     *   names to integer weights. Default is empty array, i.e. weighting
     *   summing is disabled.
     * @return bool
     * @since PECL sphinx >= 0.1.0
     **/
    public function setIndexWeights($weights){}

    /**
     * Set offset and limit of the result set
     *
     * Sets {@link offset} into server-side result set and amount of matches
     * to return to client starting from that offset ({@link limit}). Can
     * additionally control maximum server-side result set size for current
     * query ({@link max_matches}) and the threshold amount of matches to
     * stop searching at ({@link cutoff}).
     *
     * @param int $offset Result set offset.
     * @param int $limit Amount of matches to return.
     * @param int $max_matches Controls how much matches searchd will keep
     *   in RAM while searching.
     * @param int $cutoff Used for advanced performance control. It tells
     *   searchd to forcibly stop search query once {@link cutoff} matches
     *   have been found and processed.
     * @return bool
     * @since PECL sphinx >= 0.1.0
     **/
    public function setLimits($offset, $limit, $max_matches, $cutoff){}

    /**
     * Set full-text query matching mode
     *
     * Sets full-text query matching mode. {@link mode} is one of the
     * constants listed below. Match modes Constant Description SPH_MATCH_ALL
     * Match all query words (default mode). SPH_MATCH_ANY Match any of query
     * words. SPH_MATCH_PHRASE Match query as a phrase, requiring perfect
     * match. SPH_MATCH_BOOLEAN Match query as a boolean expression.
     * SPH_MATCH_EXTENDED Match query as an expression in Sphinx internal
     * query language. SPH_MATCH_FULLSCAN Enables fullscan.
     * SPH_MATCH_EXTENDED2 The same as SPH_MATCH_EXTENDED plus ranking and
     * quorum searching support.
     *
     * @param int $mode Matching mode.
     * @return bool
     * @since PECL sphinx >= 0.1.0
     **/
    public function setMatchMode($mode){}

    /**
     * Set maximum query time
     *
     * Sets maximum search query time.
     *
     * @param int $qtime Maximum query time, in milliseconds. It must be a
     *   non-negative integer. Default value is 0, i.e. no limit.
     * @return bool
     * @since PECL sphinx >= 0.1.0
     **/
    public function setMaxQueryTime($qtime){}

    /**
     * Sets temporary per-document attribute value overrides
     *
     * Sets temporary (per-query) per-document attribute value overrides.
     * Override feature lets you "temporary" update attribute values for some
     * documents within a single query, leaving all other queries unaffected.
     * This might be useful for personalized data
     *
     * @param string $attribute An attribute name.
     * @param int $type An attribute type. Only supports scalar attributes.
     * @param array $values Array of attribute values that maps document
     *   IDs to overridden attribute values.
     * @return bool
     * @since PECL sphinx >= 1.0.3
     **/
    public function setOverride($attribute, $type, $values){}

    /**
     * Set ranking mode
     *
     * Sets ranking mode. Only available in SPH_MATCH_EXTENDED2 matching
     * mode. Ranking modes Constant Description SPH_RANK_PROXIMITY_BM25
     * Default ranking mode which uses both proximity and BM25 ranking.
     * SPH_RANK_BM25 Statistical ranking mode which uses BM25 ranking only
     * (similar to most of other full-text engines). This mode is faster, but
     * may result in worse quality on queries which contain more than 1
     * keyword. SPH_RANK_NONE Disables ranking. This mode is the fastest. It
     * is essentially equivalent to boolean searching, a weight of 1 is
     * assigned to all matches.
     *
     * @param int $ranker Ranking mode.
     * @return bool
     * @since PECL sphinx >= 0.1.0
     **/
    public function setRankingMode($ranker){}

    /**
     * Set retry count and delay
     *
     * Sets distributed retry count and delay.
     *
     * On temporary failures searchd will attempt up to {@link count} retries
     * per agent. {@link delay} is the delay between the retries, in
     * milliseconds. Retries are disabled by default. Note that this call
     * will not make the API itself retry on temporary failure; it only tells
     * searchd to do so.
     *
     * @param int $count Number of retries.
     * @param int $delay Delay between retries, in milliseconds.
     * @return bool
     * @since PECL sphinx >= 0.1.0
     **/
    public function setRetries($count, $delay){}

    /**
     * Set select clause
     *
     * Sets the select clause, listing specific attributes to fetch, and
     * expressions to compute and fetch.
     *
     * @param string $clause SQL-like clause.
     * @return bool
     * @since PECL sphinx >= 1.0.1
     **/
    public function setSelect($clause){}

    /**
     * Set searchd host and port
     *
     * Sets searchd host name and TCP port. All subsequent requests will use
     * the new host and port settings. Default host and port are 'localhost'
     * and 3312, respectively.
     *
     * @param string $server IP or hostname.
     * @param int $port Port number.
     * @return bool
     * @since PECL sphinx >= 0.1.0
     **/
    public function setServer($server, $port){}

    /**
     * Set matches sorting mode
     *
     * Sets matches sorting mode. See available modes below. Sorting modes
     * Constant Description SPH_SORT_RELEVANCE Sort by relevance in
     * descending order (best matches first). SPH_SORT_ATTR_DESC Sort by an
     * attribute in descending order (bigger attribute values first).
     * SPH_SORT_ATTR_ASC Sort by an attribute in ascending order (smaller
     * attribute values first). SPH_SORT_TIME_SEGMENTS Sort by time segments
     * (last hour/day/week/month) in descending order, and then by relevance
     * in descending order. SPH_SORT_EXTENDED Sort by SQL-like combination of
     * columns in ASC/DESC order. SPH_SORT_EXPR Sort by an arithmetic
     * expression.
     *
     * @param int $mode Sorting mode.
     * @param string $sortby
     * @return bool
     * @since PECL sphinx >= 0.1.0
     **/
    public function setSortMode($mode, $sortby){}

    /**
     * Queries searchd status
     *
     * Queries searchd status, and returns an array of status variable name
     * and value pairs.
     *
     * @return array Returns an associative array of search server
     *   statistics.
     * @since PECL sphinx >= 1.0.3
     **/
    public function status(){}

    /**
     * Update document attributes
     *
     * Instantly updates given attribute values in given documents.
     *
     * @param string $index Name of the index (or indexes) to be updated.
     * @param array $attributes Array of attribute names, listing
     *   attributes that are updated.
     * @param array $values Associative array containing document IDs as
     *   keys and array of attribute values as values.
     * @param bool $mva
     * @return int Returns number of actually updated documents (0 or more)
     *   on success, or FALSE on failure.
     * @since PECL sphinx >= 0.1.0
     **/
    public function updateAttributes($index, $attributes, $values, $mva){}

    /**
     * Create a new SphinxClient object
     *
     * Creates a new SphinxClient object.
     *
     * @since PECL sphinx >= 0.1.0
     **/
    public function __construct(){}

}
/**
 * The SplBool class is used to enforce strong typing of the bool type.
 * SplBool usage example
 *
 * TRUE
 **/
class SplBool extends SplEnum {
    /**
     * @var boolean
     **/
    const false = 0;

    /**
     * @var boolean
     **/
    const true = 0;

    /**
     * @var boolean
     **/
    const __default = 0;

}
/**
 * The SplDoublyLinkedList class provides the main functionalities of a
 * doubly linked list.
 **/
class SplDoublyLinkedList implements Iterator, ArrayAccess, Countable {
    /**
     * Add/insert a new value at the specified index
     *
     * Insert the value {@link newval} at the specified {@link index},
     * shuffling the previous value at that index (and all subsequent values)
     * up through the list.
     *
     * @param mixed $index The index where the new value is to be inserted.
     * @param mixed $newval The new value for the {@link index}.
     * @return void
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function add($index, $newval){}

    /**
     * Peeks at the node from the beginning of the doubly linked list
     *
     * @return mixed The value of the first node.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function bottom(){}

    /**
     * Counts the number of elements in the doubly linked list
     *
     * @return int Returns the number of elements in the doubly linked
     *   list.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function count(){}

    /**
     * Return current array entry
     *
     * Get the current doubly linked list node.
     *
     * @return mixed The current node value.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function current(){}

    /**
     * Returns the mode of iteration
     *
     * @return int Returns the different modes and flags that affect the
     *   iteration.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function getIteratorMode(){}

    /**
     * Checks whether the doubly linked list is empty
     *
     * @return bool Returns whether the doubly linked list is empty.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function isEmpty(){}

    /**
     * Return current node index
     *
     * This function returns the current node index
     *
     * @return mixed The current node index.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function key(){}

    /**
     * Move to next entry
     *
     * Move the iterator to the next node.
     *
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function next(){}

    /**
     * Returns whether the requested $index exists
     *
     * @param mixed $index The index being checked.
     * @return bool TRUE if the requested {@link index} exists, otherwise
     *   FALSE
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function offsetExists($index){}

    /**
     * Returns the value at the specified $index
     *
     * @param mixed $index The index with the value.
     * @return mixed The value at the specified {@link index}.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function offsetGet($index){}

    /**
     * Sets the value at the specified $index to $newval
     *
     * Sets the value at the specified {@link index} to {@link newval}.
     *
     * @param mixed $index The index being set.
     * @param mixed $newval The new value for the {@link index}.
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function offsetSet($index, $newval){}

    /**
     * Unsets the value at the specified $index
     *
     * Unsets the value at the specified index.
     *
     * @param mixed $index The index being unset.
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function offsetUnset($index){}

    /**
     * Pops a node from the end of the doubly linked list
     *
     * @return mixed The value of the popped node.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function pop(){}

    /**
     * Move to previous entry
     *
     * Move the iterator to the previous node.
     *
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function prev(){}

    /**
     * Pushes an element at the end of the doubly linked list
     *
     * Pushes {@link value} at the end of the doubly linked list.
     *
     * @param mixed $value The value to push.
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function push($value){}

    /**
     * Rewind iterator back to the start
     *
     * This rewinds the iterator to the beginning.
     *
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function rewind(){}

    /**
     * Serializes the storage
     *
     * @return string The serialized string.
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function serialize(){}

    /**
     * Sets the mode of iteration
     *
     * @param int $mode There are two orthogonal sets of modes that can be
     *   set: The default mode is: SplDoublyLinkedList::IT_MODE_FIFO |
     *   SplDoublyLinkedList::IT_MODE_KEEP
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function setIteratorMode($mode){}

    /**
     * Shifts a node from the beginning of the doubly linked list
     *
     * @return mixed The value of the shifted node.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function shift(){}

    /**
     * Peeks at the node from the end of the doubly linked list
     *
     * @return mixed The value of the last node.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function top(){}

    /**
     * Unserializes the storage
     *
     * Unserializes the storage, from SplDoublyLinkedList::serialize.
     *
     * @param string $serialized The serialized string.
     * @return void
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function unserialize($serialized){}

    /**
     * Prepends the doubly linked list with an element
     *
     * Prepends {@link value} at the beginning of the doubly linked list.
     *
     * @param mixed $value The value to unshift.
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function unshift($value){}

    /**
     * Check whether the doubly linked list contains more nodes
     *
     * Checks if the doubly linked list contains any more nodes.
     *
     * @return bool Returns TRUE if the doubly linked list contains any
     *   more nodes, FALSE otherwise.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function valid(){}

}
/**
 * SplEnum gives the ability to emulate and create enumeration objects
 * natively in PHP. SplEnum usage example
 *
 * 6 Value not a const in enum Month
 **/
class SplEnum extends SplType {
    /**
     * @var NULL
     **/
    const __default = 0;

    /**
     * Returns all consts (possible values) as an array
     *
     * @param bool $include_default Whether to include __default property.
     * @return array
     * @since PECL spl_types >= 0.1.0
     **/
    public function getConstList($include_default){}

}
/**
 * The SplFileInfo class offers a high-level object oriented interface to
 * information for an individual file.
 **/
class SplFileInfo {
    /**
     * Gets last access time of the file
     *
     * Gets the last access time for the file.
     *
     * @return int Returns the time the file was last accessed.
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function getATime(){}

    /**
     * Gets the base name of the file
     *
     * This method returns the base name of the file, directory, or link
     * without path info.
     *
     * @param string $suffix Optional suffix to omit from the base name
     *   returned.
     * @return string Returns the base name without path information.
     * @since PHP 5 >= 5.2.2, PHP 7
     **/
    public function getBasename($suffix){}

    /**
     * Gets the inode change time
     *
     * Returns the inode change time for the file. The time returned is a
     * Unix timestamp.
     *
     * @return int The last change time, in a Unix timestamp.
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function getCTime(){}

    /**
     * Gets the file extension
     *
     * Retrieves the file extension.
     *
     * @return string Returns a string containing the file extension, or an
     *   empty string if the file has no extension.
     * @since PHP 5 >= 5.3.6, PHP 7
     **/
    public function getExtension(){}

    /**
     * Gets an SplFileInfo object for the file
     *
     * This method gets an SplFileInfo object for the referenced file.
     *
     * @param string $class_name Name of an SplFileInfo derived class to
     *   use.
     * @return SplFileInfo An SplFileInfo object created for the file.
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function getFileInfo($class_name){}

    /**
     * Gets the filename
     *
     * Gets the filename without any path information.
     *
     * @return string The filename.
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function getFilename(){}

    /**
     * Gets the file group
     *
     * Gets the file group. The group ID is returned in numerical format.
     *
     * @return int The group id in numerical format.
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function getGroup(){}

    /**
     * Gets the inode for the file
     *
     * Gets the inode number for the filesystem object.
     *
     * @return int Returns the inode number for the filesystem object.
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function getInode(){}

    /**
     * Gets the target of a link
     *
     * Gets the target of a filesystem link.
     *
     * @return string Returns the target of the filesystem link.
     * @since PHP 5 >= 5.2.2, PHP 7
     **/
    public function getLinkTarget(){}

    /**
     * Gets the last modified time
     *
     * Returns the time when the contents of the file were changed. The time
     * returned is a Unix timestamp.
     *
     * @return int Returns the last modified time for the file, in a Unix
     *   timestamp.
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function getMTime(){}

    /**
     * Gets the owner of the file
     *
     * Gets the file owner. The owner ID is returned in numerical format.
     *
     * @return int The owner id in numerical format.
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function getOwner(){}

    /**
     * Gets the path without filename
     *
     * Returns the path to the file, omitting the filename and any trailing
     * slash.
     *
     * @return string Returns the path to the file.
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function getPath(){}

    /**
     * Gets an SplFileInfo object for the path
     *
     * Gets an SplFileInfo object for the parent of the current file.
     *
     * @param string $class_name Name of an SplFileInfo derived class to
     *   use.
     * @return SplFileInfo Returns an SplFileInfo object for the parent
     *   path of the file.
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function getPathInfo($class_name){}

    /**
     * Gets the path to the file
     *
     * Returns the path to the file.
     *
     * @return string The path to the file.
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function getPathname(){}

    /**
     * Gets file permissions
     *
     * Gets the file permissions for the file.
     *
     * @return int Returns the file permissions.
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function getPerms(){}

    /**
     * Gets absolute path to file
     *
     * This method expands all symbolic links, resolves relative references
     * and returns the real path to the file.
     *
     * @return string Returns the path to the file, or FALSE if the file
     *   does not exist.
     * @since PHP 5 >= 5.2.2, PHP 7
     **/
    public function getRealPath(){}

    /**
     * Gets file size
     *
     * Returns the filesize in bytes for the file referenced.
     *
     * @return int The filesize in bytes.
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function getSize(){}

    /**
     * Gets file type
     *
     * Returns the type of the file referenced.
     *
     * @return string A string representing the type of the entry. May be
     *   one of file, link, or dir
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function getType(){}

    /**
     * Tells if the file is a directory
     *
     * This method can be used to determine if the file is a directory.
     *
     * @return bool Returns TRUE if a directory, FALSE otherwise.
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function isDir(){}

    /**
     * Tells if the file is executable
     *
     * Checks if the file is executable.
     *
     * @return bool Returns TRUE if executable, FALSE otherwise.
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function isExecutable(){}

    /**
     * Tells if the object references a regular file
     *
     * Checks if the file referenced by this SplFileInfo object exists and is
     * a regular file.
     *
     * @return bool Returns TRUE if the file exists and is a regular file
     *   (not a link), FALSE otherwise.
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function isFile(){}

    /**
     * Tells if the file is a link
     *
     * Use this method to check if the file referenced by the SplFileInfo
     * object is a link.
     *
     * @return bool Returns TRUE if the file is a link, FALSE otherwise.
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function isLink(){}

    /**
     * Tells if file is readable
     *
     * Check if the file is readable.
     *
     * @return bool Returns TRUE if readable, FALSE otherwise.
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function isReadable(){}

    /**
     * Tells if the entry is writable
     *
     * Checks if the current entry is writable.
     *
     * @return bool Returns TRUE if writable, FALSE otherwise;
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function isWritable(){}

    /**
     * Gets an SplFileObject object for the file
     *
     * Creates an SplFileObject object of the file. This is useful because
     * SplFileObject contains additional methods for manipulating the file
     * whereas SplFileInfo is only useful for gaining information, like
     * whether the file is writable.
     *
     * @param string $open_mode The mode for opening the file. See the
     *   {@link fopen} documentation for descriptions of possible modes. The
     *   default is read only.
     * @param bool $use_include_path
     * @param resource $context
     * @return SplFileObject The opened file as an SplFileObject object.
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function openFile($open_mode, $use_include_path, $context){}

    /**
     * Sets the class used with
     *
     * Use this method to set a custom class which will be used when
     * SplFileInfo::openFile is called. The class name passed to this method
     * must be SplFileObject or a class derived from SplFileObject.
     *
     * @param string $class_name The class name to use when
     *   SplFileInfo::openFile is called.
     * @return void
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function setFileClass($class_name){}

    /**
     * Sets the class used with and
     *
     * Use this method to set a custom class which will be used when
     * SplFileInfo::getFileInfo and SplFileInfo::getPathInfo are called. The
     * class name passed to this method must be SplFileInfo or a class
     * derived from SplFileInfo.
     *
     * @param string $class_name The class name to use when
     *   SplFileInfo::getFileInfo and SplFileInfo::getPathInfo are called.
     * @return void
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function setInfoClass($class_name){}

    /**
     * Returns the path to the file as a string
     *
     * This method will return the file name of the referenced file.
     *
     * @return void Returns the path to the file.
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function __toString(){}

}
/**
 * The SplFileObject class offers an object oriented interface for a
 * file.
 **/
class SplFileObject extends SplFileInfo implements RecursiveIterator, SeekableIterator {
    /**
     * @var integer
     **/
    const DROP_NEW_LINE = 0;

    /**
     * @var integer
     **/
    const READ_AHEAD = 0;

    /**
     * @var integer
     **/
    const READ_CSV = 0;

    /**
     * @var integer
     **/
    const SKIP_EMPTY = 0;

    /**
     * Retrieve current line of file
     *
     * Retrieves the current line of the file.
     *
     * @return string|array Retrieves the current line of the file. If the
     *   SplFileObject::READ_CSV flag is set, this method returns an array
     *   containing the current line parsed as CSV data.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function current(){}

    /**
     * Reached end of file
     *
     * Determine whether the end of file has been reached
     *
     * @return bool Returns TRUE if file is at EOF, FALSE otherwise.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function eof(){}

    /**
     * Flushes the output to the file
     *
     * Forces a write of all buffered output to the file.
     *
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function fflush(){}

    /**
     * Gets character from file
     *
     * Gets a character from the file.
     *
     * @return string Returns a string containing a single character read
     *   from the file or FALSE on EOF.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function fgetc(){}

    /**
     * Gets line from file and parse as CSV fields
     *
     * Gets a line from the file which is in CSV format and returns an array
     * containing the fields read.
     *
     * @param string $delimiter The field delimiter (one character only).
     *   Defaults as a comma or the value set using
     *   SplFileObject::setCsvControl.
     * @param string $enclosure The field enclosure character (one
     *   character only). Defaults as a double quotation mark or the value
     *   set using SplFileObject::setCsvControl.
     * @param string $escape The escape character (one character only).
     *   Defaults as a backslash (\) or the value set using
     *   SplFileObject::setCsvControl.
     * @return array Returns an indexed array containing the fields read,
     *   or FALSE on error.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function fgetcsv($delimiter, $enclosure, $escape){}

    /**
     * Gets line from file
     *
     * Gets a line from the file.
     *
     * @return string Returns a string containing the next line from the
     *   file, or FALSE on error.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function fgets(){}

    /**
     * Gets line from file and strip HTML tags
     *
     * Identical to SplFileObject::fgets, except that SplFileObject::fgetss
     * attempts to strip any HTML and PHP tags from the text it reads.
     *
     * @param string $allowable_tags Optional parameter to specify tags
     *   which should not be stripped.
     * @return string Returns a string containing the next line of the file
     *   with HTML and PHP code stripped, or FALSE on error.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function fgetss($allowable_tags){}

    /**
     * Portable file locking
     *
     * Locks or unlocks the file in the same portable way as {@link flock}.
     *
     * @param int $operation {@link operation} is one of the following:
     *   LOCK_SH to acquire a shared lock (reader). LOCK_EX to acquire an
     *   exclusive lock (writer). LOCK_UN to release a lock (shared or
     *   exclusive). LOCK_NB to not block while locking.
     * @param int $wouldblock Set to TRUE if the lock would block
     *   (EWOULDBLOCK errno condition).
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function flock($operation, &$wouldblock){}

    /**
     * Output all remaining data on a file pointer
     *
     * Reads to EOF on the given file pointer from the current position and
     * writes the results to the output buffer.
     *
     * You may need to call SplFileObject::rewind to reset the file pointer
     * to the beginning of the file if you have already written data to the
     * file.
     *
     * @return int Returns the number of characters read from {@link
     *   handle} and passed through to the output.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function fpassthru(){}

    /**
     * Write a field array as a CSV line
     *
     * Writes the {@link fields} array to the file as a CSV line.
     *
     * @param array $fields An array of values.
     * @param string $delimiter The optional {@link delimiter} parameter
     *   sets the field delimiter (one character only).
     * @param string $enclosure The optional {@link enclosure} parameter
     *   sets the field enclosure (one character only).
     * @param string $escape The optional {@link escape} parameter sets the
     *   escape character (one character only).
     * @return int Returns the length of the written string.
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function fputcsv($fields, $delimiter, $enclosure, $escape){}

    /**
     * Read from file
     *
     * Reads the given number of bytes from the file.
     *
     * @param int $length The number of bytes to read.
     * @return string Returns the string read from the file .
     * @since PHP 5 >= 5.5.11, PHP 7
     **/
    public function fread($length){}

    /**
     * Parses input from file according to a format
     *
     * Reads a line from the file and interprets it according to the
     * specified {@link format}, which is described in the documentation for
     * {@link sprintf}.
     *
     * Any whitespace in the {@link format} string matches any whitespace in
     * the line from the file. This means that even a tab \t in the format
     * string can match a single space character in the input stream.
     *
     * @param string $format The specified format as described in the
     *   {@link sprintf} documentation.
     * @return mixed If only one parameter is passed to this method, the
     *   values parsed will be returned as an array. Otherwise, if optional
     *   parameters are passed, the function will return the number of
     *   assigned values. The optional parameters must be passed by
     *   reference.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function fscanf($format){}

    /**
     * Seek to a position
     *
     * Seek to a position in the file measured in bytes from the beginning of
     * the file, obtained by adding {@link offset} to the position specified
     * by {@link whence}.
     *
     * @param int $offset The offset. A negative value can be used to move
     *   backwards through the file which is useful when SEEK_END is used as
     *   the {@link whence} value.
     * @param int $whence {@link whence} values are: SEEK_SET - Set
     *   position equal to {@link offset} bytes. SEEK_CUR - Set position to
     *   current location plus {@link offset}. SEEK_END - Set position to
     *   end-of-file plus {@link offset}. If {@link whence} is not specified,
     *   it is assumed to be SEEK_SET.
     * @return int Returns 0 if the seek was successful, -1 otherwise. Note
     *   that seeking past EOF is not considered an error.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function fseek($offset, $whence){}

    /**
     * Gets information about the file
     *
     * Gathers the statistics of the file. Behaves identically to {@link
     * fstat}.
     *
     * @return array Returns an array with the statistics of the file; the
     *   format of the array is described in detail on the {@link stat}
     *   manual page.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function fstat(){}

    /**
     * Return current file position
     *
     * Returns the position of the file pointer which represents the current
     * offset in the file stream.
     *
     * @return int Returns the position of the file pointer as an integer,
     *   or FALSE on error.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function ftell(){}

    /**
     * Truncates the file to a given length
     *
     * Truncates the file to {@link size} bytes.
     *
     * @param int $size The size to truncate to.
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function ftruncate($size){}

    /**
     * Write to file
     *
     * Writes the contents of {@link string} to the file
     *
     * @param string $str The string to be written to the file.
     * @param int $length If the {@link length} argument is given, writing
     *   will stop after {@link length} bytes have been written or the end of
     *   {@link string} is reached, whichever comes first.
     * @return int Returns the number of bytes written, or 0 on error.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function fwrite($str, $length){}

    /**
     * No purpose
     *
     * An SplFileObject does not have children so this method returns NULL.
     *
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function getChildren(){}

    /**
     * Get the delimiter, enclosure and escape character for CSV
     *
     * Gets the delimiter, enclosure and escape character used for parsing
     * CSV fields.
     *
     * @return array Returns an indexed array containing the delimiter,
     *   enclosure and escape character.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function getCsvControl(){}

    /**
     * Gets flags for the SplFileObject
     *
     * Gets the flags set for an instance of SplFileObject as an integer.
     *
     * @return int Returns an integer representing the flags.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function getFlags(){}

    /**
     * Get maximum line length
     *
     * Gets the maximum line length as set by SplFileObject::setMaxLineLen.
     *
     * @return int Returns the maximum line length if one has been set with
     *   SplFileObject::setMaxLineLen, default is 0.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function getMaxLineLen(){}

    /**
     * SplFileObject does not have children
     *
     * An SplFileObject does not have children so this method always return
     * FALSE.
     *
     * @return bool Returns FALSE
     * @since PHP 5 >= 5.1.2, PHP 7
     **/
    public function hasChildren(){}

    /**
     * Get line number
     *
     * Gets the current line number.
     *
     * @return int Returns the current line number.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function key(){}

    /**
     * Read next line
     *
     * Moves ahead to the next line in the file.
     *
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function next(){}

    /**
     * Rewind the file to the first line
     *
     * Rewinds the file back to the first line.
     *
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function rewind(){}

    /**
     * Seek to specified line
     *
     * Seek to specified line in the file.
     *
     * @param int $line_pos The zero-based line number to seek to.
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function seek($line_pos){}

    /**
     * Set the delimiter, enclosure and escape character for CSV
     *
     * Sets the delimiter, enclosure and escape character for parsing CSV
     * fields.
     *
     * @param string $delimiter The field delimiter (one character only).
     * @param string $enclosure The field enclosure character (one
     *   character only).
     * @param string $escape The field escape character (one character
     *   only).
     * @return void
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function setCsvControl($delimiter, $enclosure, $escape){}

    /**
     * Sets flags for the SplFileObject
     *
     * Sets the flags to be used by the SplFileObject.
     *
     * @param int $flags Bit mask of the flags to set. See SplFileObject
     *   constants for the available flags.
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function setFlags($flags){}

    /**
     * Set maximum line length
     *
     * Sets the maximum length of a line to be read.
     *
     * @param int $max_len The maximum length of a line.
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function setMaxLineLen($max_len){}

    /**
     * Not at EOF
     *
     * Check whether EOF has been reached.
     *
     * @return bool Returns TRUE if not reached EOF, FALSE otherwise.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function valid(){}

    /**
     * Alias of
     *
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function __toString(){}

}
/**
 * The SplFixedArray class provides the main functionalities of array.
 * The main differences between a SplFixedArray and a normal PHP array is
 * that the SplFixedArray is of fixed length and allows only integers
 * within the range as indexes. The advantage is that it allows a faster
 * array implementation. SplFixedArray usage example
 *
 * NULL int(2) string(3) "foo" RuntimeException: Index invalid or out of
 * range RuntimeException: Index invalid or out of range
 * RuntimeException: Index invalid or out of range
 **/
class SplFixedArray implements Iterator, ArrayAccess, Countable {
    /**
     * Returns the size of the array
     *
     * @return int Returns the size of the array.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function count(){}

    /**
     * Return current array entry
     *
     * Get the current array element.
     *
     * @return mixed The current element value.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function current(){}

    /**
     * Import a PHP array in a instance
     *
     * Import the PHP array {@link array} in a new SplFixedArray instance
     *
     * @param array $array The array to import.
     * @param bool $save_indexes Try to save the numeric indexes used in
     *   the original array.
     * @return SplFixedArray Returns an instance of SplFixedArray
     *   containing the array content.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public static function fromArray($array, $save_indexes){}

    /**
     * Gets the size of the array
     *
     * @return int Returns the size of the array, as an integer.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function getSize(){}

    /**
     * Return current array index
     *
     * Returns the current array index.
     *
     * @return int The current array index.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function key(){}

    /**
     * Move to next entry
     *
     * Move the iterator to the next array entry.
     *
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function next(){}

    /**
     * Returns whether the requested index exists
     *
     * Checks whether the requested index {@link index} exists.
     *
     * @param int $index The index being checked.
     * @return bool TRUE if the requested {@link index} exists, otherwise
     *   FALSE
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function offsetExists($index){}

    /**
     * Returns the value at the specified index
     *
     * Returns the value at the index {@link index}.
     *
     * @param int $index The index with the value.
     * @return mixed The value at the specified {@link index}.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function offsetGet($index){}

    /**
     * Sets a new value at a specified index
     *
     * Sets the value at the specified {@link index} to {@link newval}.
     *
     * @param int $index The index being set.
     * @param mixed $newval The new value for the {@link index}.
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function offsetSet($index, $newval){}

    /**
     * Unsets the value at the specified $index
     *
     * Unsets the value at the specified index.
     *
     * @param int $index The index being unset.
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function offsetUnset($index){}

    /**
     * Rewind iterator back to the start
     *
     * Rewinds the iterator to the beginning.
     *
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function rewind(){}

    /**
     * Change the size of an array
     *
     * Change the size of an array to the new size of {@link size}. If {@link
     * size} is less than the current array size, any values after the new
     * size will be discarded. If {@link size} is greater than the current
     * array size, the array will be padded with NULL values.
     *
     * @param int $size The new array size. This should be a value between
     *   0 and PHP_INT_MAX.
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function setSize($size){}

    /**
     * Returns a PHP array from the fixed array
     *
     * @return array Returns a PHP array, similar to the fixed array.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function toArray(){}

    /**
     * Check whether the array contains more elements
     *
     * Checks if the array contains any more elements.
     *
     * @return bool Returns TRUE if the array contains any more elements,
     *   FALSE otherwise.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function valid(){}

    /**
     * Reinitialises the array after being unserialised
     *
     * @return void
     * @since PHP 5 >= 5.5.0, PHP 7
     **/
    public function __wakeup(){}

}
/**
 * The SplFloat class is used to enforce strong typing of the float type.
 * SplFloat usage example
 *
 * Value not a float 3.154 3
 **/
class SplFloat extends SplType {
    /**
     * @var float
     **/
    const __default = 0.0;

}
/**
 * The SplHeap class provides the main functionalities of a Heap.
 **/
abstract class SplHeap implements Iterator, Countable {
    /**
     * Compare elements in order to place them correctly in the heap while
     * sifting up
     *
     * Compare {@link value1} with {@link value2}.
     *
     * @param mixed $value1 The value of the first node being compared.
     * @param mixed $value2 The value of the second node being compared.
     * @return int Result of the comparison, positive integer if {@link
     *   value1} is greater than {@link value2}, 0 if they are equal,
     *   negative integer otherwise.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    abstract protected function compare($value1, $value2);

    /**
     * Counts the number of elements in the heap
     *
     * @return int Returns the number of elements in the heap.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function count(){}

    /**
     * Return current node pointed by the iterator
     *
     * Get the current datastructure node.
     *
     * @return mixed The current node value.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function current(){}

    /**
     * Extracts a node from top of the heap and sift up
     *
     * @return mixed The value of the extracted node.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function extract(){}

    /**
     * Inserts an element in the heap by sifting it up
     *
     * Insert {@link value} in the heap.
     *
     * @param mixed $value The value to insert.
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function insert($value){}

    /**
     * Tells if the heap is in a corrupted state
     *
     * @return bool Returns TRUE if the heap is corrupted, FALSE otherwise.
     * @since PHP 7
     **/
    public function isCorrupted(){}

    /**
     * Checks whether the heap is empty
     *
     * @return bool Returns whether the heap is empty.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function isEmpty(){}

    /**
     * Return current node index
     *
     * This function returns the current node index
     *
     * @return mixed The current node index.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function key(){}

    /**
     * Move to the next node
     *
     * Move to the next node. This will delete the top node of the heap.
     *
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function next(){}

    /**
     * Recover from the corrupted state and allow further actions on the heap
     *
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function recoverFromCorruption(){}

    /**
     * Rewind iterator back to the start (no-op)
     *
     * This rewinds the iterator to the beginning. This is a no-op for heaps
     * as the iterator is virtual and in fact never moves from the top of the
     * heap.
     *
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function rewind(){}

    /**
     * Peeks at the node from the top of the heap
     *
     * @return mixed The value of the node on the top.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function top(){}

    /**
     * Check whether the heap contains more nodes
     *
     * Checks if the heap contains any more nodes.
     *
     * @return bool Returns TRUE if the heap contains any more nodes, FALSE
     *   otherwise.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function valid(){}

}
/**
 * The SplInt class is used to enforce strong typing of the integer type.
 * SplInt usage example
 *
 * Value not an integer 94
 **/
class SplInt extends SplType {
    /**
     * @var integer
     **/
    const __default = 0;

}
/**
 * The SplMaxHeap class provides the main functionalities of a heap,
 * keeping the maximum on the top.
 **/
class SplMaxHeap extends SplHeap implements Iterator, Countable {
    /**
     * Compare elements in order to place them correctly in the heap while
     * sifting up
     *
     * Compare {@link value1} with {@link value2}.
     *
     * @param mixed $value1 The value of the first node being compared.
     * @param mixed $value2 The value of the second node being compared.
     * @return int Result of the comparison, positive integer if {@link
     *   value1} is greater than {@link value2}, 0 if they are equal,
     *   negative integer otherwise.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    protected function compare($value1, $value2){}

}
/**
 * The SplMinHeap class provides the main functionalities of a heap,
 * keeping the minimum on the top.
 **/
class SplMinHeap extends SplHeap implements Iterator, Countable {
    /**
     * Compare elements in order to place them correctly in the heap while
     * sifting up
     *
     * Compare {@link value1} with {@link value2}.
     *
     * @param mixed $value1 The value of the first node being compared.
     * @param mixed $value2 The value of the second node being compared.
     * @return int Result of the comparison, positive integer if {@link
     *   value1} is lower than {@link value2}, 0 if they are equal, negative
     *   integer otherwise.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    protected function compare($value1, $value2){}

}
/**
 * The SplObjectStorage class provides a map from objects to data or, by
 * ignoring data, an object set. This dual purpose can be useful in many
 * cases involving the need to uniquely identify objects.
 * SplObjectStorage as a set
 *
 * bool(true) bool(true) bool(false) bool(true) bool(false) bool(false)
 *
 * SplObjectStorage as a map
 *
 * array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) }
 **/
class SplObjectStorage implements Countable, Iterator, Serializable, ArrayAccess {
    /**
     * Adds all objects from another storage
     *
     * Adds all objects-data pairs from a different storage in the current
     * storage.
     *
     * @param SplObjectStorage $storage The storage you want to import.
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function addAll($storage){}

    /**
     * Adds an object in the storage
     *
     * Adds an object inside the storage, and optionally associate it to some
     * data.
     *
     * @param object $object The object to add.
     * @param mixed $data The data to associate with the object.
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function attach($object, $data){}

    /**
     * Checks if the storage contains a specific object
     *
     * Checks if the storage contains the object provided.
     *
     * @param object $object The object to look for.
     * @return bool Returns TRUE if the object is in the storage, FALSE
     *   otherwise.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function contains($object){}

    /**
     * Returns the number of objects in the storage
     *
     * Counts the number of objects in the storage.
     *
     * @return int The number of objects in the storage.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function count(){}

    /**
     * Returns the current storage entry
     *
     * @return object The object at the current iterator position.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function current(){}

    /**
     * Removes an from the storage
     *
     * Removes the object from the storage.
     *
     * @param object $object The object to remove.
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function detach($object){}

    /**
     * Calculate a unique identifier for the contained objects
     *
     * This method calculates an identifier for the objects added to an
     * SplObjectStorage object.
     *
     * The implementation in SplObjectStorage returns the same value as
     * {@link spl_object_hash}.
     *
     * The storage object will never contain more than one object with the
     * same identifier. As such, it can be used to implement a set (a
     * collection of unique values) where the quality of an object being
     * unique is determined by the value returned by this function being
     * unique.
     *
     * @param object $object The object whose identifier is to be
     *   calculated.
     * @return string A string with the calculated identifier.
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function getHash($object){}

    /**
     * Returns the data associated with the current iterator entry
     *
     * Returns the data, or info, associated with the object pointed by the
     * current iterator position.
     *
     * @return mixed The data associated with the current iterator
     *   position.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function getInfo(){}

    /**
     * Returns the index at which the iterator currently is
     *
     * @return int The index corresponding to the position of the iterator.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function key(){}

    /**
     * Move to the next entry
     *
     * Moves the iterator to the next object in the storage.
     *
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function next(){}

    /**
     * Checks whether an object exists in the storage
     *
     * Checks whether an object exists in the storage.
     *
     * @param object $object The object to look for.
     * @return bool Returns TRUE if the object exists in the storage, and
     *   FALSE otherwise.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function offsetExists($object){}

    /**
     * Returns the data associated with an
     *
     * Returns the data associated with an object in the storage.
     *
     * @param object $object The object to look for.
     * @return mixed The data previously associated with the object in the
     *   storage.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function offsetGet($object){}

    /**
     * Associates data to an object in the storage
     *
     * Associate data to an object in the storage.
     *
     * @param object $object The object to associate data with.
     * @param mixed $data The data to associate with the object.
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function offsetSet($object, $data){}

    /**
     * Removes an object from the storage
     *
     * Removes an object from the storage.
     *
     * @param object $object The object to remove.
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function offsetUnset($object){}

    /**
     * Removes objects contained in another storage from the current storage
     *
     * @param SplObjectStorage $storage The storage containing the elements
     *   to remove.
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function removeAll($storage){}

    /**
     * Removes all objects except for those contained in another storage from
     * the current storage
     *
     * @param SplObjectStorage $storage The storage containing the elements
     *   to retain in the current storage.
     * @return void
     * @since PHP 5 >= 5.3.6, PHP 7
     **/
    public function removeAllExcept($storage){}

    /**
     * Rewind the iterator to the first storage element
     *
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function rewind(){}

    /**
     * Serializes the storage
     *
     * Returns a string representation of the storage.
     *
     * @return string A string representing the storage.
     * @since PHP 5 >= 5.2.2, PHP 7
     **/
    public function serialize(){}

    /**
     * Sets the data associated with the current iterator entry
     *
     * Associates data, or info, with the object currently pointed to by the
     * iterator.
     *
     * @param mixed $data The data to associate with the current iterator
     *   entry.
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function setInfo($data){}

    /**
     * Unserializes a storage from its string representation
     *
     * Unserializes storage entries and attach them to the current storage.
     *
     * @param string $serialized The serialized representation of a
     *   storage.
     * @return void
     * @since PHP 5 >= 5.2.2, PHP 7
     **/
    public function unserialize($serialized){}

    /**
     * Returns if the current iterator entry is valid
     *
     * @return bool Returns TRUE if the iterator entry is valid, FALSE
     *   otherwise.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function valid(){}

}
/**
 * The SplObserver interface is used alongside SplSubject to implement
 * the Observer Design Pattern.
 **/
interface SplObserver {
    /**
     * Receive update from subject
     *
     * This method is called when any SplSubject to which the observer is
     * attached calls SplSubject::notify.
     *
     * @param SplSubject $subject The SplSubject notifying the observer of
     *   an update.
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function update($subject);

}
/**
 * The SplPriorityQueue class provides the main functionalities of a
 * prioritized queue, implemented using a max heap.
 **/
class SplPriorityQueue implements Iterator, Countable {
    /**
     * Compare priorities in order to place elements correctly in the heap
     * while sifting up
     *
     * Compare {@link priority1} with {@link priority2}.
     *
     * @param mixed $priority1 The priority of the first node being
     *   compared.
     * @param mixed $priority2 The priority of the second node being
     *   compared.
     * @return int Result of the comparison, positive integer if {@link
     *   priority1} is greater than {@link priority2}, 0 if they are equal,
     *   negative integer otherwise.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function compare($priority1, $priority2){}

    /**
     * Counts the number of elements in the queue
     *
     * @return int Returns the number of elements in the queue.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function count(){}

    /**
     * Return current node pointed by the iterator
     *
     * Get the current datastructure node.
     *
     * @return mixed The value or priority (or both) of the current node,
     *   depending on the extract flag.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function current(){}

    /**
     * Extracts a node from top of the heap and sift up
     *
     * @return mixed The value or priority (or both) of the extracted node,
     *   depending on the extract flag.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function extract(){}

    /**
     * Get the flags of extraction
     *
     * @return int
     * @since PHP 7
     **/
    public function getExtractFlags(){}

    /**
     * Inserts an element in the queue by sifting it up
     *
     * Insert {@link value} with the priority {@link priority} in the queue.
     *
     * @param mixed $value The value to insert.
     * @param mixed $priority The associated priority.
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function insert($value, $priority){}

    /**
     * Tells if the priority queue is in a corrupted state
     *
     * @return bool Returns TRUE if the priority queue is corrupted, FALSE
     *   otherwise.
     **/
    public function isCorrupted(){}

    /**
     * Checks whether the queue is empty
     *
     * @return bool Returns whether the queue is empty.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function isEmpty(){}

    /**
     * Return current node index
     *
     * This function returns the current node index
     *
     * @return mixed The current node index.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function key(){}

    /**
     * Move to the next node
     *
     * Extracts the top node from the queue.
     *
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function next(){}

    /**
     * Recover from the corrupted state and allow further actions on the
     * queue
     *
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function recoverFromCorruption(){}

    /**
     * Rewind iterator back to the start (no-op)
     *
     * This rewinds the iterator to the beginning. This is a no-op for heaps
     * as the iterator is virtual and in fact never moves from the top of the
     * heap.
     *
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function rewind(){}

    /**
     * Sets the mode of extraction
     *
     * @param int $flags Defines what is extracted by
     *   SplPriorityQueue::current, SplPriorityQueue::top and
     *   SplPriorityQueue::extract. The default mode is
     *   SplPriorityQueue::EXTR_DATA.
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function setExtractFlags($flags){}

    /**
     * Peeks at the node from the top of the queue
     *
     * @return mixed The value or priority (or both) of the top node,
     *   depending on the extract flag.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function top(){}

    /**
     * Check whether the queue contains more nodes
     *
     * Checks if the queue contains any more nodes.
     *
     * @return bool Returns TRUE if the queue contains any more nodes,
     *   FALSE otherwise.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function valid(){}

}
/**
 * The SplQueue class provides the main functionalities of a queue
 * implemented using a doubly linked list.
 **/
class SplQueue extends SplDoublyLinkedList implements Iterator, ArrayAccess, Countable {
    /**
     * Dequeues a node from the queue
     *
     * Dequeues {@link value} from the top of the queue.
     *
     * @return mixed The value of the dequeued node.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    function dequeue(){}

    /**
     * Adds an element to the queue
     *
     * Enqueues {@link value} at the end of the queue.
     *
     * @param mixed $value The value to enqueue.
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    function enqueue($value){}

    /**
     * Sets the mode of iteration
     *
     * @param int $mode There is only one iteration parameter you can
     *   modify. The default mode is: SplDoublyLinkedList::IT_MODE_FIFO |
     *   SplDoublyLinkedList::IT_MODE_KEEP
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    function setIteratorMode($mode){}

}
/**
 * The SplStack class provides the main functionalities of a stack
 * implemented using a doubly linked list.
 **/
class SplStack extends SplDoublyLinkedList implements Iterator, ArrayAccess, Countable {
    /**
     * Sets the mode of iteration
     *
     * @param int $mode There is only one iteration parameter you can
     *   modify. The default mode is 0x2 : SplDoublyLinkedList::IT_MODE_LIFO
     *   | SplDoublyLinkedList::IT_MODE_KEEP
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    function setIteratorMode($mode){}

}
/**
 * The SplString class is used to enforce strong typing of the string
 * type. SplString usage example
 *
 * Value not a string object(SplString)#1 (1) { ["__default"]=> string(7)
 * "Testing" } Testing
 **/
class SplString extends SplType {
    /**
     * @var string
     **/
    const __default = '';

}
/**
 * The SplSubject interface is used alongside SplObserver to implement
 * the Observer Design Pattern.
 **/
interface SplSubject {
    /**
     * Attach an SplObserver
     *
     * Attaches an SplObserver so that it can be notified of updates.
     *
     * @param SplObserver $observer The SplObserver to attach.
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function attach($observer);

    /**
     * Detach an observer
     *
     * Detaches an observer from the subject to no longer notify it of
     * updates.
     *
     * @param SplObserver $observer The SplObserver to detach.
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function detach($observer);

    /**
     * Notify an observer
     *
     * Notifies all attached observers.
     *
     * @return void
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function notify();

}
/**
 * The SplTempFileObject class offers an object oriented interface for a
 * temporary file.
 **/
class SplTempFileObject extends SplFileObject implements SeekableIterator, RecursiveIterator {
}
/**
 * Parent class for all SPL types.
 **/
abstract class SplType {
    /**
     * @var NULL
     **/
    const __default = 0;

    /**
     * Creates a new value of some type
     *
     * @param mixed $initial_value Type and default value depends on the
     *   extension class.
     * @param bool $strict Whether to set the object's sctrictness.
     * @since PECL spl_types >= 0.1.0
     **/
    function __construct($initial_value, $strict){}

}
/**
 * This class is provided because Unicode contains large number of
 * characters and incorporates the varied writing systems of the world
 * and their incorrect usage can expose programs or systems to possible
 * security attacks using characters similarity. Provided methods allow
 * to check whether an individual string is likely an attempt at
 * confusing the reader (spoof detection), such as "pаypаl" spelled
 * with Cyrillic 'а' characters.
 **/
class Spoofchecker {
    /**
     * @var integer
     **/
    const ANY_CASE = 0;

    /**
     * @var integer
     **/
    const CHAR_LIMIT = 0;

    /**
     * @var integer
     **/
    const INVISIBLE = 0;

    /**
     * @var integer
     **/
    const MIXED_SCRIPT_CONFUSABLE = 0;

    /**
     * @var integer
     **/
    const SINGLE_SCRIPT = 0;

    /**
     * @var integer
     **/
    const SINGLE_SCRIPT_CONFUSABLE = 0;

    /**
     * @var integer
     **/
    const WHOLE_SCRIPT_CONFUSABLE = 0;

    /**
     * Checks if given strings can be confused
     *
     * Checks whether two given strings can easily be mistaken.
     *
     * @param string $str1 First string to check.
     * @param string $str2 Second string to check.
     * @param string $error This variable is set by-reference to string
     *   containing an error, if there were any.
     * @return bool Returns TRUE if two given strings can be confused,
     *   FALSE otherwise.
     **/
    public function areConfusable($str1, $str2, &$error){}

    /**
     * Checks if a given text contains any suspicious characters
     *
     * Checks if given string contains any suspicious characters like letters
     * which are almost identical visually, but are Unicode characters from
     * different sets.
     *
     * @param string $text String to test.
     * @param string $error This variable is set by-reference to string
     *   containing an error, if there were any.
     * @return bool Returns TRUE if there are suspicious characters, FALSE
     *   otherwise.
     **/
    public function isSuspicious($text, &$error){}

    /**
     * Locales to use when running checks
     *
     * @param string $locale_list
     * @return void
     **/
    public function setAllowedLocales($locale_list){}

    /**
     * Set the checks to run
     *
     * @param int $checks
     * @return void
     **/
    public function setChecks($checks){}

    /**
     * Constructor
     *
     * Creates new instance of Spoofchecker.
     **/
    public function __construct(){}

}
/**
 * A class that interfaces SQLite 3 databases.
 **/
class SQLite3 {
    /**
     * Sets the busy connection handler
     *
     * Sets a busy handler that will sleep until the database is not locked
     * or the timeout is reached.
     *
     * @param int $msecs The milliseconds to sleep. Setting this value to a
     *   value less than or equal to zero, will turn off an already set
     *   timeout handler.
     * @return bool Returns TRUE on success, FALSE on failure.
     * @since PHP 5 >= 5.3.3, PHP 7
     **/
    public function busyTimeout($msecs){}

    /**
     * Returns the number of database rows that were changed (or inserted or
     * deleted) by the most recent SQL statement
     *
     * Returns the number of database rows that were changed (or inserted or
     * deleted) by the most recent SQL statement.
     *
     * @return int Returns an integer value corresponding to the number of
     *   database rows changed (or inserted or deleted) by the most recent
     *   SQL statement.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function changes(){}

    /**
     * Closes the database connection
     *
     * @return bool Returns TRUE on success, FALSE on failure.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function close(){}

    /**
     * Registers a PHP function for use as an SQL aggregate function
     *
     * Registers a PHP function or user-defined function for use as an SQL
     * aggregate function for use within SQL statements.
     *
     * @param string $name Name of the SQL aggregate to be created or
     *   redefined.
     * @param mixed $step_callback The name of a PHP function or
     *   user-defined function to apply as a callback for every item in the
     *   aggregate.
     * @param mixed $final_callback The name of a PHP function or
     *   user-defined function to apply as a callback at the end of the
     *   aggregate data.
     * @param int $argument_count The number of arguments that the SQL
     *   aggregate takes. If this parameter is negative, then the SQL
     *   aggregate may take any number of arguments.
     * @return bool Returns TRUE upon successful creation of the aggregate,
     *   FALSE on failure.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function createAggregate($name, $step_callback, $final_callback, $argument_count){}

    /**
     * Registers a PHP function for use as an SQL collating function
     *
     * Registers a PHP function or user-defined function for use as a
     * collating function within SQL statements.
     *
     * @param string $name Name of the SQL collating function to be created
     *   or redefined
     * @param callable $callback The name of a PHP function or user-defined
     *   function to apply as a callback, defining the behavior of the
     *   collation. It should accept two strings and return as {@link strcmp}
     *   does, i.e. it should return -1, 1, or 0 if the first string sorts
     *   before, sorts after, or is equal to the second.
     * @return bool
     * @since PHP 5 >= 5.3.11, PHP 7
     **/
    public function createCollation($name, $callback){}

    /**
     * Registers a PHP function for use as an SQL scalar function
     *
     * Registers a PHP function or user-defined function for use as an SQL
     * scalar function for use within SQL statements.
     *
     * @param string $name Name of the SQL function to be created or
     *   redefined.
     * @param mixed $callback The name of a PHP function or user-defined
     *   function to apply as a callback, defining the behavior of the SQL
     *   function.
     * @param int $argument_count The number of arguments that the SQL
     *   function takes. If this parameter is -1, then the SQL function may
     *   take any number of arguments.
     * @param int $flags A bitwise conjunction of flags. Currently, only
     *   SQLITE3_DETERMINISTIC is supported, which specifies that the
     *   function always returns the same result given the same inputs within
     *   a single SQL statement.
     * @return bool Returns TRUE upon successful creation of the function,
     *   FALSE on failure.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function createFunction($name, $callback, $argument_count, $flags){}

    /**
     * Enable throwing exceptions
     *
     * Controls whether the SQLite3 instance will throw exceptions or
     * warnings on error.
     *
     * @param bool $enableExceptions When TRUE, the SQLite3 instance, and
     *   SQLite3Stmt and SQLite3Result instances derived from it, will throw
     *   exceptions on error. When FALSE, the SQLite3 instance, and
     *   SQLite3Stmt and SQLite3Result instances derived from it, will raise
     *   warnings on error. For either mode, the error code and message, if
     *   any, will be available via SQLite3::lastErrorCode and
     *   SQLite3::lastErrorMsg respectively.
     * @return bool Returns the old value; TRUE if exceptions were enabled,
     *   FALSE otherwise.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    function enableExceptions($enableExceptions){}

    /**
     * Returns a string that has been properly escaped
     *
     * Returns a string that has been properly escaped for safe inclusion in
     * an SQL statement.
     *
     * To properly handle BLOB fields which may contain NUL characters, use
     * {@link SQLite3Stmt::bindParam} instead.
     *
     * @param string $value The string to be escaped.
     * @return string Returns a properly escaped string that may be used
     *   safely in an SQL statement.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public static function escapeString($value){}

    /**
     * Executes a result-less query against a given database
     *
     * @param string $query The SQL query to execute (typically an INSERT,
     *   UPDATE, or DELETE query).
     * @return bool Returns TRUE if the query succeeded, FALSE on failure.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function exec($query){}

    /**
     * Returns the numeric result code of the most recent failed SQLite
     * request
     *
     * Returns the numeric result code of the most recent failed SQLite
     * request.
     *
     * @return int Returns an integer value representing the numeric result
     *   code of the most recent failed SQLite request.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function lastErrorCode(){}

    /**
     * Returns English text describing the most recent failed SQLite request
     *
     * Returns English text describing the most recent failed SQLite request.
     *
     * @return string Returns an English string describing the most recent
     *   failed SQLite request.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function lastErrorMsg(){}

    /**
     * Returns the row ID of the most recent INSERT into the database
     *
     * @return int Returns the row ID of the most recent INSERT into the
     *   database
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function lastInsertRowID(){}

    /**
     * Attempts to load an SQLite extension library
     *
     * @param string $shared_library The name of the library to load. The
     *   library must be located in the directory specified in the configure
     *   option sqlite3.extension_dir.
     * @return bool Returns TRUE if the extension is successfully loaded,
     *   FALSE on failure.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function loadExtension($shared_library){}

    /**
     * Opens an SQLite database
     *
     * Opens an SQLite 3 Database. If the build includes encryption, then it
     * will attempt to use the key.
     *
     * @param string $filename Path to the SQLite database, or :memory: to
     *   use in-memory database.
     * @param int $flags Optional flags used to determine how to open the
     *   SQLite database. By default, open uses SQLITE3_OPEN_READWRITE |
     *   SQLITE3_OPEN_CREATE. SQLITE3_OPEN_READONLY: Open the database for
     *   reading only. SQLITE3_OPEN_READWRITE: Open the database for reading
     *   and writing. SQLITE3_OPEN_CREATE: Create the database if it does not
     *   exist.
     * @param string $encryption_key An optional encryption key used when
     *   encrypting and decrypting an SQLite database. If the SQLite
     *   encryption module is not installed, this parameter will have no
     *   effect.
     * @return void
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function open($filename, $flags, $encryption_key){}

    /**
     * Opens a stream resource to read a BLOB
     *
     * Opens a stream resource to read or write a BLOB, which would be
     * selected by:
     *
     * SELECT {@link column} FROM {@link dbname}.{@link table} WHERE rowid =
     * {@link rowid}
     *
     * @param string $table The table name.
     * @param string $column The column name.
     * @param int $rowid The row ID.
     * @param string $dbname The symbolic name of the DB
     * @param int $flags Either SQLITE3_OPEN_READONLY or
     *   SQLITE3_OPEN_READWRITE to open the stream for reading only, or for
     *   reading and writing, respectively.
     * @return resource Returns a stream resource, .
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function openBlob($table, $column, $rowid, $dbname, $flags){}

    /**
     * Prepares an SQL statement for execution
     *
     * Prepares an SQL statement for execution and returns an SQLite3Stmt
     * object.
     *
     * @param string $query The SQL query to prepare.
     * @return SQLite3Stmt Returns an SQLite3Stmt object on success.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function prepare($query){}

    /**
     * Executes an SQL query
     *
     * Executes an SQL query, returning an SQLite3Result object. If the query
     * does not yield a result (such as DML statements) the returned
     * SQLite3Result object is not really usable. Use SQLite3::exec for such
     * queries instead.
     *
     * @param string $query The SQL query to execute.
     * @return SQLite3Result Returns an SQLite3Result object, .
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function query($query){}

    /**
     * Executes a query and returns a single result
     *
     * @param string $query The SQL query to execute.
     * @param bool $entire_row By default, {@link querySingle} returns the
     *   value of the first column returned by the query. If {@link
     *   entire_row} is TRUE, then it returns an array of the entire first
     *   row.
     * @return mixed Returns the value of the first column of results or an
     *   array of the entire first row (if {@link entire_row} is TRUE).
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function querySingle($query, $entire_row){}

    /**
     * Returns the SQLite3 library version as a string constant and as a
     * number
     *
     * Returns the SQLite3 library version as a string constant and as a
     * number.
     *
     * @return array Returns an associative array with the keys
     *   "versionString" and "versionNumber".
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public static function version(){}

    /**
     * Instantiates an SQLite3 object and opens an SQLite 3 database
     *
     * Instantiates an SQLite3 object and opens a connection to an SQLite 3
     * database. If the build includes encryption, then it will attempt to
     * use the key.
     *
     * @param string $filename Path to the SQLite database, or :memory: to
     *   use in-memory database. If {@link filename} is an empty string, then
     *   a private, temporary on-disk database will be created. This private
     *   database will be automatically deleted as soon as the database
     *   connection is closed.
     * @param int $flags Optional flags used to determine how to open the
     *   SQLite database. By default, open uses SQLITE3_OPEN_READWRITE |
     *   SQLITE3_OPEN_CREATE. SQLITE3_OPEN_READONLY: Open the database for
     *   reading only. SQLITE3_OPEN_READWRITE: Open the database for reading
     *   and writing. SQLITE3_OPEN_CREATE: Create the database if it does not
     *   exist.
     * @param string $encryption_key An optional encryption key used when
     *   encrypting and decrypting an SQLite database. If the SQLite
     *   encryption module is not installed, this parameter will have no
     *   effect.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function __construct($filename, $flags, $encryption_key){}

}
/**
 * A class that handles result sets for the SQLite 3 extension.
 **/
class SQLite3Result {
    /**
     * Returns the name of the nth column
     *
     * Returns the name of the column specified by the {@link column_number}.
     *
     * @param int $column_number The numeric zero-based index of the
     *   column.
     * @return string Returns the string name of the column identified by
     *   {@link column_number}.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function columnName($column_number){}

    /**
     * Returns the type of the nth column
     *
     * Returns the type of the column identified by {@link column_number}.
     *
     * @param int $column_number The numeric zero-based index of the
     *   column.
     * @return int Returns the data type index of the column identified by
     *   {@link column_number} (one of SQLITE3_INTEGER, SQLITE3_FLOAT,
     *   SQLITE3_TEXT, SQLITE3_BLOB, or SQLITE3_NULL).
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function columnType($column_number){}

    /**
     * Fetches a result row as an associative or numerically indexed array or
     * both
     *
     * Fetches a result row as an associative or numerically indexed array or
     * both. By default, fetches as both.
     *
     * @param int $mode Controls how the next row will be returned to the
     *   caller. This value must be one of either SQLITE3_ASSOC, SQLITE3_NUM,
     *   or SQLITE3_BOTH. SQLITE3_ASSOC: returns an array indexed by column
     *   name as returned in the corresponding result set SQLITE3_NUM:
     *   returns an array indexed by column number as returned in the
     *   corresponding result set, starting at column 0 SQLITE3_BOTH: returns
     *   an array indexed by both column name and number as returned in the
     *   corresponding result set, starting at column 0
     * @return array Returns a result row as an associatively or
     *   numerically indexed array or both. Alternately will return FALSE if
     *   there are no more rows.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function fetchArray($mode){}

    /**
     * Closes the result set
     *
     * @return bool Returns TRUE.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function finalize(){}

    /**
     * Returns the number of columns in the result set
     *
     * @return int Returns the number of columns in the result set.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function numColumns(){}

    /**
     * Resets the result set back to the first row
     *
     * @return bool Returns TRUE if the result set is successfully reset
     *   back to the first row, FALSE on failure.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function reset(){}

}
/**
 * A class that handles prepared statements for the SQLite 3 extension.
 **/
class SQLite3Stmt {
    /**
     * Binds a parameter to a statement variable
     *
     * @param mixed $sql_param Either a string or an int identifying the
     *   statement variable to which the parameter should be bound.
     * @param mixed $param The parameter to bind to a statement variable.
     * @param int $type The data type of the parameter to bind.
     *   SQLITE3_INTEGER: The value is a signed integer, stored in 1, 2, 3,
     *   4, 6, or 8 bytes depending on the magnitude of the value.
     *   SQLITE3_FLOAT: The value is a floating point value, stored as an
     *   8-byte IEEE floating point number. SQLITE3_TEXT: The value is a text
     *   string, stored using the database encoding (UTF-8, UTF-16BE or
     *   UTF-16-LE). SQLITE3_BLOB: The value is a blob of data, stored
     *   exactly as it was input. SQLITE3_NULL: The value is a NULL value. As
     *   of PHP 7.0.7, if {@link type} is omitted, it is automatically
     *   detected from the type of the {@link param}: boolean and integer are
     *   treated as SQLITE3_INTEGER, float as SQLITE3_FLOAT, null as
     *   SQLITE3_NULL and all others as SQLITE3_TEXT. Formerly, if {@link
     *   type} has been omitted, it has defaulted to SQLITE3_TEXT.
     * @return bool Returns TRUE if the parameter is bound to the statement
     *   variable, FALSE on failure.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function bindParam($sql_param, &$param, $type){}

    /**
     * Binds the value of a parameter to a statement variable
     *
     * @param mixed $sql_param Either a string or an int identifying the
     *   statement variable to which the value should be bound.
     * @param mixed $value The value to bind to a statement variable.
     * @param int $type The data type of the value to bind.
     *   SQLITE3_INTEGER: The value is a signed integer, stored in 1, 2, 3,
     *   4, 6, or 8 bytes depending on the magnitude of the value.
     *   SQLITE3_FLOAT: The value is a floating point value, stored as an
     *   8-byte IEEE floating point number. SQLITE3_TEXT: The value is a text
     *   string, stored using the database encoding (UTF-8, UTF-16BE or
     *   UTF-16-LE). SQLITE3_BLOB: The value is a blob of data, stored
     *   exactly as it was input. SQLITE3_NULL: The value is a NULL value. As
     *   of PHP 7.0.7, if {@link type} is omitted, it is automatically
     *   detected from the type of the {@link value}: boolean and integer are
     *   treated as SQLITE3_INTEGER, float as SQLITE3_FLOAT, null as
     *   SQLITE3_NULL and all others as SQLITE3_TEXT. Formerly, if {@link
     *   type} has been omitted, it has defaulted to SQLITE3_TEXT.
     * @return bool Returns TRUE if the value is bound to the statement
     *   variable, FALSE on failure.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function bindValue($sql_param, $value, $type){}

    /**
     * Clears all current bound parameters
     *
     * @return bool Returns TRUE on successful clearing of bound
     *   parameters, FALSE on failure.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function clear(){}

    /**
     * Closes the prepared statement
     *
     * @return bool Returns TRUE
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function close(){}

    /**
     * Executes a prepared statement and returns a result set object
     *
     * @return SQLite3Result Returns an SQLite3Result object on successful
     *   execution of the prepared statement, FALSE on failure.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function execute(){}

    /**
     * Returns the number of parameters within the prepared statement
     *
     * @return int Returns the number of parameters within the prepared
     *   statement.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function paramCount(){}

    /**
     * Returns whether a statement is definitely read only
     *
     * Returns whether a statement is definitely read only. A statement is
     * considered read only, if it makes no direct changes to the content of
     * the database file. Note that user defined SQL functions might change
     * the database indirectly as a side effect.
     *
     * @return bool Returns TRUE if a statement is definitely read only,
     *   FALSE otherwise.
     * @since PHP 5 >= 5.3.6, PHP 7
     **/
    public function readOnly(){}

    /**
     * Resets the prepared statement
     *
     * Resets the prepared statement to its state prior to execution. All
     * bindings remain intact after reset.
     *
     * @return bool Returns TRUE if the statement is successfully reset,
     *   FALSE on failure.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function reset(){}

}
class SQLiteDatabase {
    /**
     * Execute a query against a given database and returns an array
     *
     * {@link sqlite_array_query} executes the given query and returns an
     * array of the entire result set. It is similar to calling {@link
     * sqlite_query} and then {@link sqlite_fetch_array} for each row in the
     * result set. {@link sqlite_array_query} is significantly faster than
     * the aforementioned.
     *
     * @param string $query The query to be executed. Data inside the query
     *   should be properly escaped.
     * @param int $result_type The SQLite Database resource; returned from
     *   {@link sqlite_open} when used procedurally. This parameter is not
     *   required when using the object-oriented method.
     * @param bool $decode_binary
     * @return array Returns an array of the entire result set; FALSE
     *   otherwise.
     **/
    public function arrayQuery($query, $result_type, $decode_binary){}

    /**
     * Set busy timeout duration, or disable busy handlers
     *
     * Set the maximum time, in milliseconds, that SQLite will wait for a
     * {@link dbhandle} to become ready for use.
     *
     * @param int $milliseconds The SQLite Database resource; returned from
     *   {@link sqlite_open} when used procedurally. This parameter is not
     *   required when using the object-oriented method.
     * @return void
     **/
    public function busyTimeout($milliseconds){}

    /**
     * Returns the number of rows that were changed by the most recent SQL
     * statement
     *
     * Returns the numbers of rows that were changed by the most recent SQL
     * statement executed against the {@link dbhandle} database handle.
     *
     * @return int Returns the number of changed rows.
     **/
    public function changes(){}

    /**
     * Register an aggregating UDF for use in SQL statements
     *
     * {@link sqlite_create_aggregate} is similar to {@link
     * sqlite_create_function} except that it registers functions that can be
     * used to calculate a result aggregated across all the rows of a query.
     *
     * The key difference between this function and {@link
     * sqlite_create_function} is that two functions are required to manage
     * the aggregate; {@link step_func} is called for each row of the result
     * set. Your PHP function should accumulate the result and store it into
     * the aggregation context. Once all the rows have been processed, {@link
     * finalize_func} will be called and it should then take the data from
     * the aggregation context and return the result. Callback functions
     * should return a type understood by SQLite (i.e. scalar type).
     *
     * @param string $function_name The SQLite Database resource; returned
     *   from {@link sqlite_open} when used procedurally. This parameter is
     *   not required when using the object-oriented method.
     * @param callable $step_func The name of the function used in SQL
     *   statements.
     * @param callable $finalize_func Callback function called for each row
     *   of the result set. Function parameters are &$context, $value, ....
     * @param int $num_args Callback function to aggregate the "stepped"
     *   data from each row. Function parameter is &$context and the function
     *   should return the final result of aggregation.
     * @return void
     **/
    public function createAggregate($function_name, $step_func, $finalize_func, $num_args){}

    /**
     * Registers a "regular" User Defined Function for use in SQL statements
     *
     * {@link sqlite_create_function} allows you to register a PHP function
     * with SQLite as an UDF (User Defined Function), so that it can be
     * called from within your SQL statements.
     *
     * The UDF can be used in any SQL statement that can call functions, such
     * as SELECT and UPDATE statements and also in triggers.
     *
     * @param string $function_name The SQLite Database resource; returned
     *   from {@link sqlite_open} when used procedurally. This parameter is
     *   not required when using the object-oriented method.
     * @param callable $callback The name of the function used in SQL
     *   statements.
     * @param int $num_args Callback function to handle the defined SQL
     *   function.
     * @return void
     **/
    public function createFunction($function_name, $callback, $num_args){}

    /**
     * Return an array of column types from a particular table
     *
     * {@link sqlite_fetch_column_types} returns an array of column data
     * types from the specified {@link table_name} table.
     *
     * @param string $table_name The table name to query.
     * @param int $result_type The SQLite Database resource; returned from
     *   {@link sqlite_open} when used procedurally. This parameter is not
     *   required when using the object-oriented method.
     * @return array Returns an array of column data types; FALSE on error.
     **/
    public function fetchColumnTypes($table_name, $result_type){}

    /**
     * Returns the error code of the last error for a database
     *
     * Returns the error code from the last operation performed on {@link
     * dbhandle} (the database handle), or 0 when no error occurred. A human
     * readable description of the error code can be retrieved using {@link
     * sqlite_error_string}.
     *
     * @return int Returns an error code, or 0 if no error occurred.
     **/
    public function lastError(){}

    /**
     * Returns the rowid of the most recently inserted row
     *
     * Returns the rowid of the row that was most recently inserted into the
     * database {@link dbhandle}, if it was created as an auto-increment
     * field.
     *
     * @return int Returns the row id, as an integer.
     **/
    public function lastInsertRowid(){}

    /**
     * Executes a query against a given database and returns a result handle
     *
     * Executes an SQL statement given by the {@link query} against a given
     * database handle.
     *
     * @param string $query The SQLite Database resource; returned from
     *   {@link sqlite_open} when used procedurally. This parameter is not
     *   required when using the object-oriented method.
     * @param int $result_type The query to be executed. Data inside the
     *   query should be properly escaped.
     * @param string $error_msg
     * @return SQLiteResult This function will return a result handle. For
     *   queries that return rows, the result handle can then be used with
     *   functions such as {@link sqlite_fetch_array} and {@link
     *   sqlite_seek}.
     **/
    public function query($query, $result_type, &$error_msg){}

    /**
     * Executes a result-less query against a given database
     *
     * Executes an SQL statement given by the {@link query} against a given
     * database handle (specified by the {@link dbhandle} parameter).
     *
     * @param string $query The SQLite Database resource; returned from
     *   {@link sqlite_open} when used procedurally. This parameter is not
     *   required when using the object-oriented method.
     * @param string $error_msg The query to be executed. Data inside the
     *   query should be properly escaped.
     * @return bool This function will return a boolean result; TRUE for
     *   success or FALSE for failure. If you need to run a query that
     *   returns rows, see {@link sqlite_query}.
     **/
    public function queryExec($query, &$error_msg){}

    /**
     * Executes a query and returns either an array for one single column or
     * the value of the first row
     *
     * @param string $query
     * @param bool $first_row_only
     * @param bool $decode_binary
     * @return array
     **/
    public function singleQuery($query, $first_row_only, $decode_binary){}

    /**
     * Execute a query that does not prefetch and buffer all data
     *
     * {@link sqlite_unbuffered_query} is identical to {@link sqlite_query}
     * except that the result that is returned is a sequential forward-only
     * result set that can only be used to read each row, one after the
     * other.
     *
     * This function is ideal for generating things such as HTML tables where
     * you only need to process one row at a time and don't need to randomly
     * access the row data.
     *
     * @param string $query The SQLite Database resource; returned from
     *   {@link sqlite_open} when used procedurally. This parameter is not
     *   required when using the object-oriented method.
     * @param int $result_type The query to be executed. Data inside the
     *   query should be properly escaped.
     * @param string $error_msg
     * @return SQLiteUnbuffered Returns a result handle.
     **/
    public function unbufferedQuery($query, $result_type, &$error_msg){}

}
class SQLiteResult {
    /**
     * Fetches a column from the current row of a result set
     *
     * Fetches the value of a column named {@link index_or_name} (if it is a
     * string), or of the ordinal column numbered {@link index_or_name} (if
     * it is an integer) from the current row of the query result handle
     * {@link result}.
     *
     * @param mixed $index_or_name The SQLite result resource. This
     *   parameter is not required when using the object-oriented method.
     * @param bool $decode_binary The column index or name to fetch.
     * @return mixed Returns the column value.
     **/
    function column($index_or_name, $decode_binary){}

    /**
     * Fetches the current row from a result set as an array
     *
     * {@link sqlite_current} is identical to {@link sqlite_fetch_array}
     * except that it does not advance to the next row prior to returning the
     * data; it returns the data from the current position only.
     *
     * @param int $result_type The SQLite result resource. This parameter
     *   is not required when using the object-oriented method.
     * @param bool $decode_binary
     * @return array Returns an array of the current row from a result set;
     *   FALSE if the current position is beyond the final row.
     **/
    function current($result_type, $decode_binary){}

    /**
     * Fetches the next row from a result set as an array
     *
     * Fetches the next row from the given {@link result} handle. If there
     * are no more rows, returns FALSE, otherwise returns an associative
     * array representing the row data.
     *
     * @param int $result_type The SQLite result resource. This parameter
     *   is not required when using the object-oriented method.
     * @param bool $decode_binary
     * @return array Returns an array of the next row from a result set;
     *   FALSE if the next position is beyond the final row.
     **/
    function fetch($result_type, $decode_binary){}

    /**
     * Fetches all rows from a result set as an array of arrays
     *
     * {@link sqlite_fetch_all} returns an array of the entire result set
     * from the {@link result} resource. It is similar to calling {@link
     * sqlite_query} (or {@link sqlite_unbuffered_query}) and then {@link
     * sqlite_fetch_array} for each row in the result set.
     *
     * @param int $result_type The SQLite result resource. This parameter
     *   is not required when using the object-oriented method.
     * @param bool $decode_binary
     * @return array Returns an array of the remaining rows in a result
     *   set. If called right after {@link sqlite_query}, it returns all
     *   rows. If called after {@link sqlite_fetch_array}, it returns the
     *   rest. If there are no rows in a result set, it returns an empty
     *   array.
     **/
    function fetchAll($result_type, $decode_binary){}

    /**
     * Fetches the next row from a result set as an object
     *
     * @param string $class_name
     * @param array $ctor_params
     * @param bool $decode_binary
     * @return object
     **/
    function fetchObject($class_name, $ctor_params, $decode_binary){}

    /**
     * Fetches the first column of a result set as a string
     *
     * {@link sqlite_fetch_single} is identical to {@link sqlite_fetch_array}
     * except that it returns the value of the first column of the rowset.
     *
     * This is the most optimal way to retrieve data when you are only
     * interested in the values from a single column of data.
     *
     * @param bool $decode_binary The SQLite result resource. This
     *   parameter is not required when using the object-oriented method.
     * @return string Returns the first column value, as a string.
     **/
    function fetchSingle($decode_binary){}

    /**
     * Returns the name of a particular field
     *
     * Given the ordinal column number, {@link field_index}, {@link
     * sqlite_field_name} returns the name of that field in the result set
     * {@link result}.
     *
     * @param int $field_index The SQLite result resource. This parameter
     *   is not required when using the object-oriented method.
     * @return string Returns the name of a field in an SQLite result set,
     *   given the ordinal column number; FALSE on error.
     **/
    function fieldName($field_index){}

    /**
     * Returns whether or not a previous row is available
     *
     * Find whether there are more previous rows from the given result
     * handle.
     *
     * @return bool Returns TRUE if there are more previous rows available
     *   from the {@link result} handle, or FALSE otherwise.
     **/
    function hasPrev(){}

    /**
     * Returns the current row index
     *
     * SQLiteResult::key returns the current row index of the buffered result
     * set {@link result}.
     *
     * Unlike all other SQLite functions, this function does not have a
     * procedural version, and can only be called as a method on a
     * SQLiteResult object.
     *
     * @return int Returns the current row index of the buffered result set
     *   {@link result}.
     **/
    function key(){}

    /**
     * Seek to the next row number
     *
     * {@link sqlite_next} advances the result handle {@link result} to the
     * next row.
     *
     * @return bool Returns TRUE on success, or FALSE if there are no more
     *   rows.
     **/
    function next(){}

    /**
     * Returns the number of fields in a result set
     *
     * Returns the number of fields in the {@link result} set.
     *
     * @return int Returns the number of fields, as an integer.
     **/
    function numFields(){}

    /**
     * Returns the number of rows in a buffered result set
     *
     * Returns the number of rows in the buffered {@link result} set.
     *
     * @return int Returns the number of rows, as an integer.
     **/
    function numRows(){}

    /**
     * Seek to the previous row number of a result set
     *
     * {@link sqlite_prev} seeks back the {@link result} handle to the
     * previous row.
     *
     * @return bool Returns TRUE on success, or FALSE if there are no more
     *   previous rows.
     **/
    function prev(){}

    /**
     * Seek to the first row number
     *
     * {@link sqlite_rewind} seeks back to the first row in the given result
     * set.
     *
     * @return bool Returns FALSE if there are no rows in the result set,
     *   TRUE otherwise.
     **/
    function rewind(){}

    /**
     * Seek to a particular row number of a buffered result set
     *
     * {@link sqlite_seek} seeks to the row given by the parameter {@link
     * rownum}.
     *
     * @param int $rownum The SQLite result resource. This parameter is not
     *   required when using the object-oriented method.
     * @return bool Returns FALSE if the row does not exist, TRUE
     *   otherwise.
     **/
    function seek($rownum){}

    /**
     * Fetches the first column of a result set as a string
     *
     * {@link sqlite_fetch_single} is identical to {@link sqlite_fetch_array}
     * except that it returns the value of the first column of the rowset.
     *
     * This is the most optimal way to retrieve data when you are only
     * interested in the values from a single column of data.
     *
     * @param bool $decode_binary The SQLite result resource. This
     *   parameter is not required when using the object-oriented method.
     * @return string Returns the first column value, as a string.
     **/
    function sqlite_fetch_string($decode_binary){}

    /**
     * Returns whether more rows are available
     *
     * Finds whether more rows are available from the given result handle.
     *
     * @return bool Returns TRUE if there are more rows available from the
     *   {@link result} handle, or FALSE otherwise.
     **/
    function valid(){}

}
class SQLiteUnbuffered {
    /**
     * Fetches a column from the current row of a result set
     *
     * Fetches the value of a column named {@link index_or_name} (if it is a
     * string), or of the ordinal column numbered {@link index_or_name} (if
     * it is an integer) from the current row of the query result handle
     * {@link result}.
     *
     * @param mixed $index_or_name The SQLite result resource. This
     *   parameter is not required when using the object-oriented method.
     * @param bool $decode_binary The column index or name to fetch.
     * @return mixed Returns the column value.
     **/
    function column($index_or_name, $decode_binary){}

    /**
     * Fetches the current row from a result set as an array
     *
     * {@link sqlite_current} is identical to {@link sqlite_fetch_array}
     * except that it does not advance to the next row prior to returning the
     * data; it returns the data from the current position only.
     *
     * @param int $result_type The SQLite result resource. This parameter
     *   is not required when using the object-oriented method.
     * @param bool $decode_binary
     * @return array Returns an array of the current row from a result set;
     *   FALSE if the current position is beyond the final row.
     **/
    function current($result_type, $decode_binary){}

    /**
     * Fetches the next row from a result set as an array
     *
     * Fetches the next row from the given {@link result} handle. If there
     * are no more rows, returns FALSE, otherwise returns an associative
     * array representing the row data.
     *
     * @param int $result_type The SQLite result resource. This parameter
     *   is not required when using the object-oriented method.
     * @param bool $decode_binary
     * @return array Returns an array of the next row from a result set;
     *   FALSE if the next position is beyond the final row.
     **/
    function fetch($result_type, $decode_binary){}

    /**
     * Fetches all rows from a result set as an array of arrays
     *
     * {@link sqlite_fetch_all} returns an array of the entire result set
     * from the {@link result} resource. It is similar to calling {@link
     * sqlite_query} (or {@link sqlite_unbuffered_query}) and then {@link
     * sqlite_fetch_array} for each row in the result set.
     *
     * @param int $result_type The SQLite result resource. This parameter
     *   is not required when using the object-oriented method.
     * @param bool $decode_binary
     * @return array Returns an array of the remaining rows in a result
     *   set. If called right after {@link sqlite_query}, it returns all
     *   rows. If called after {@link sqlite_fetch_array}, it returns the
     *   rest. If there are no rows in a result set, it returns an empty
     *   array.
     **/
    function fetchAll($result_type, $decode_binary){}

    /**
     * Fetches the next row from a result set as an object
     *
     * @param string $class_name
     * @param array $ctor_params
     * @param bool $decode_binary
     * @return object
     **/
    function fetchObject($class_name, $ctor_params, $decode_binary){}

    /**
     * Fetches the first column of a result set as a string
     *
     * {@link sqlite_fetch_single} is identical to {@link sqlite_fetch_array}
     * except that it returns the value of the first column of the rowset.
     *
     * This is the most optimal way to retrieve data when you are only
     * interested in the values from a single column of data.
     *
     * @param bool $decode_binary The SQLite result resource. This
     *   parameter is not required when using the object-oriented method.
     * @return string Returns the first column value, as a string.
     **/
    function fetchSingle($decode_binary){}

    /**
     * Returns the name of a particular field
     *
     * Given the ordinal column number, {@link field_index}, {@link
     * sqlite_field_name} returns the name of that field in the result set
     * {@link result}.
     *
     * @param int $field_index The SQLite result resource. This parameter
     *   is not required when using the object-oriented method.
     * @return string Returns the name of a field in an SQLite result set,
     *   given the ordinal column number; FALSE on error.
     **/
    function fieldName($field_index){}

    /**
     * Seek to the next row number
     *
     * {@link sqlite_next} advances the result handle {@link result} to the
     * next row.
     *
     * @return bool Returns TRUE on success, or FALSE if there are no more
     *   rows.
     **/
    function next(){}

    /**
     * Returns the number of fields in a result set
     *
     * Returns the number of fields in the {@link result} set.
     *
     * @return int Returns the number of fields, as an integer.
     **/
    function numFields(){}

    /**
     * Fetches the first column of a result set as a string
     *
     * {@link sqlite_fetch_single} is identical to {@link sqlite_fetch_array}
     * except that it returns the value of the first column of the rowset.
     *
     * This is the most optimal way to retrieve data when you are only
     * interested in the values from a single column of data.
     *
     * @param bool $decode_binary The SQLite result resource. This
     *   parameter is not required when using the object-oriented method.
     * @return string Returns the first column value, as a string.
     **/
    function sqlite_fetch_string($decode_binary){}

    /**
     * Returns whether more rows are available
     *
     * Finds whether more rows are available from the given result handle.
     *
     * @return bool Returns TRUE if there are more rows available from the
     *   {@link result} handle, or FALSE otherwise.
     **/
    function valid(){}

}
/**
 * Created by typecasting to object.
 **/
class stdClass {
}
/**
 * Represents a connection between PHP and a Stomp compliant Message
 * Broker.
 **/
class Stomp {
    /**
     * Rolls back a transaction in progress
     *
     * @param string $transaction_id The transaction to abort.
     * @param array $headers
     * @return bool
     * @since PECL stomp >= 0.1.0
     **/
    public function abort($transaction_id, $headers){}

    /**
     * Acknowledges consumption of a message
     *
     * Acknowledges consumption of a message from a subscription using client
     * acknowledgment.
     *
     * @param mixed $msg The message/messageId to be acknowledged.
     * @param array $headers
     * @return bool
     * @since PECL stomp >= 0.1.0
     **/
    public function ack($msg, $headers){}

    /**
     * Starts a transaction
     *
     * @param string $transaction_id The transaction id.
     * @param array $headers
     * @return bool
     * @since PECL stomp >= 0.1.0
     **/
    public function begin($transaction_id, $headers){}

    /**
     * Commits a transaction in progress
     *
     * @param string $transaction_id The transaction id.
     * @param array $headers
     * @return bool
     * @since PECL stomp >= 0.1.0
     **/
    public function commit($transaction_id, $headers){}

    /**
     * Gets the last stomp error
     *
     * @return string Returns an error string or FALSE if no error
     *   occurred.
     * @since PECL stomp >= 0.1.0
     **/
    public function error(){}

    /**
     * Gets read timeout
     *
     * @return array Returns an array with 2 elements: sec and usec.
     * @since PECL stomp >= 0.3.0
     **/
    public function getReadTimeout(){}

    /**
     * Gets the current stomp session ID
     *
     * @return string session id on success.
     * @since PECL stomp >= 0.1.0
     **/
    public function getSessionId(){}

    /**
     * Indicates whether or not there is a frame ready to read
     *
     * @return bool Returns TRUE if a frame is ready to read, or FALSE
     *   otherwise.
     * @since PECL stomp >= 0.1.0
     **/
    public function hasFrame(){}

    /**
     * Reads the next frame
     *
     * Reads the next frame. It is possible to instantiate an object of a
     * specific class, and pass parameters to that class's constructor.
     *
     * @param string $class_name The name of the class to instantiate. If
     *   not specified, a stompFrame object is returned.
     * @return stompframe
     * @since PECL stomp >= 0.1.0
     **/
    public function readFrame($class_name){}

    /**
     * Sends a message
     *
     * Sends a message to the Message Broker.
     *
     * @param string $destination Where to send the message
     * @param mixed $msg Message to send.
     * @param array $headers
     * @return bool
     * @since PECL stomp >= 0.1.0
     **/
    public function send($destination, $msg, $headers){}

    /**
     * Sets read timeout
     *
     * @param int $seconds The seconds part of the timeout to be set.
     * @param int $microseconds The microseconds part of the timeout to be
     *   set.
     * @return void
     * @since PECL stomp >= 0.3.0
     **/
    public function setReadTimeout($seconds, $microseconds){}

    /**
     * Registers to listen to a given destination
     *
     * @param string $destination Destination to subscribe to.
     * @param array $headers
     * @return bool
     * @since PECL stomp >= 0.1.0
     **/
    public function subscribe($destination, $headers){}

    /**
     * Removes an existing subscription
     *
     * @param string $destination Subscription to remove.
     * @param array $headers
     * @return bool
     * @since PECL stomp >= 0.1.0
     **/
    public function unsubscribe($destination, $headers){}

    /**
     * Opens a connection
     *
     * (constructor):
     *
     * Opens a connection to a stomp compliant Message Broker.
     *
     * @param string $broker The broker URI
     * @param string $username The username.
     * @param string $password The password.
     * @param array $headers
     * @since PECL stomp >= 0.1.0
     **/
    public function __construct($broker, $username, $password, $headers){}

    /**
     * Closes stomp connection
     *
     * (destructor):
     *
     * Closes a previously opened connection.
     *
     * @return bool
     * @since PECL stomp >= 0.1.0
     **/
    public function __destruct(){}

}
/**
 * Represents an error raised by the stomp extension. See Exceptions for
 * more information about Exceptions in PHP.
 **/
class StompException extends Exception {
    /**
     * Get exception details
     *
     * @return string containing the error details.
     * @since PECL stomp >= 0.1.0
     **/
    public function getDetails(){}

}
/**
 * Represents a message which was sent or received from a Stomp compliant
 * Message Broker.
 **/
class StompFrame {
    /**
     * Frame body.
     *
     * @var mixed
     **/
    public $body;

    /**
     * Frame command.
     *
     * @var mixed
     **/
    public $command;

    /**
     * Frame headers ().
     *
     * @var mixed
     **/
    public $headers;

    /**
     * Constructor
     *
     * @param string $command Frame command
     * @param array $headers Frame headers ().
     * @param string $body Frame body.
     * @since PECL stomp >= 0.1.0
     **/
    function __construct($command, $headers, $body){}

}
class streamWrapper {
    /**
     * The current context, or NULL if no context was passed to the caller
     * function.
     *
     * Use the {@link stream_context_get_options} to parse the context.
     *
     * @var resource
     **/
    public $context;

    /**
     * Close directory handle
     *
     * This method is called in response to {@link closedir}.
     *
     * Any resources which were locked, or allocated, during opening and use
     * of the directory stream should be released.
     *
     * @return bool
     * @since PHP 4 >= 4.3.2, PHP 5, PHP 7
     **/
    public function dir_closedir(){}

    /**
     * Open directory handle
     *
     * This method is called in response to {@link opendir}.
     *
     * @param string $path Specifies the URL that was passed to {@link
     *   opendir}.
     * @param int $options Whether or not to enforce safe_mode (0x04).
     * @return bool
     * @since PHP 4 >= 4.3.2, PHP 5, PHP 7
     **/
    public function dir_opendir($path, $options){}

    /**
     * Read entry from directory handle
     *
     * This method is called in response to {@link readdir}.
     *
     * @return string Should return string representing the next filename,
     *   or FALSE if there is no next file.
     * @since PHP 4 >= 4.3.2, PHP 5, PHP 7
     **/
    public function dir_readdir(){}

    /**
     * Rewind directory handle
     *
     * This method is called in response to {@link rewinddir}.
     *
     * Should reset the output generated by streamWrapper::dir_readdir. i.e.:
     * The next call to streamWrapper::dir_readdir should return the first
     * entry in the location returned by streamWrapper::dir_opendir.
     *
     * @return bool
     * @since PHP 4 >= 4.3.2, PHP 5, PHP 7
     **/
    public function dir_rewinddir(){}

    /**
     * Create a directory
     *
     * This method is called in response to {@link mkdir}.
     *
     * @param string $path Directory which should be created.
     * @param int $mode The value passed to {@link mkdir}.
     * @param int $options A bitwise mask of values, such as
     *   STREAM_MKDIR_RECURSIVE.
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function mkdir($path, $mode, $options){}

    /**
     * Renames a file or directory
     *
     * This method is called in response to {@link rename}.
     *
     * Should attempt to rename {@link path_from} to {@link path_to}
     *
     * @param string $path_from The URL to the current file.
     * @param string $path_to The URL which the {@link path_from} should be
     *   renamed to.
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function rename($path_from, $path_to){}

    /**
     * Removes a directory
     *
     * This method is called in response to {@link rmdir}.
     *
     * @param string $path The directory URL which should be removed.
     * @param int $options A bitwise mask of values, such as
     *   STREAM_MKDIR_RECURSIVE.
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function rmdir($path, $options){}

    /**
     * Retrieve the underlaying resource
     *
     * This method is called in response to {@link stream_select}.
     *
     * @param int $cast_as Can be STREAM_CAST_FOR_SELECT when {@link
     *   stream_select} is calling {@link stream_cast} or
     *   STREAM_CAST_AS_STREAM when {@link stream_cast} is called for other
     *   uses.
     * @return resource Should return the underlying stream resource used
     *   by the wrapper, or FALSE.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function stream_cast($cast_as){}

    /**
     * Close a resource
     *
     * This method is called in response to {@link fclose}.
     *
     * All resources that were locked, or allocated, by the wrapper should be
     * released.
     *
     * @return void
     * @since PHP 4 >= 4.3.2, PHP 5, PHP 7
     **/
    public function stream_close(){}

    /**
     * Tests for end-of-file on a file pointer
     *
     * This method is called in response to {@link feof}.
     *
     * @return bool Should return TRUE if the read/write position is at the
     *   end of the stream and if no more data is available to be read, or
     *   FALSE otherwise.
     * @since PHP 4 >= 4.3.2, PHP 5, PHP 7
     **/
    public function stream_eof(){}

    /**
     * Flushes the output
     *
     * This method is called in response to {@link fflush} and when the
     * stream is being closed while any unflushed data has been written to it
     * before.
     *
     * If you have cached data in your stream but not yet stored it into the
     * underlying storage, you should do so now.
     *
     * @return bool Should return TRUE if the cached data was successfully
     *   stored (or if there was no data to store), or FALSE if the data
     *   could not be stored.
     * @since PHP 4 >= 4.3.2, PHP 5, PHP 7
     **/
    public function stream_flush(){}

    /**
     * Advisory file locking
     *
     * This method is called in response to {@link flock}, when {@link
     * file_put_contents} (when {@link flags} contains LOCK_EX), {@link
     * stream_set_blocking} and when closing the stream (LOCK_UN).
     *
     * @param int $operation {@link operation} is one of the following:
     *   LOCK_SH to acquire a shared lock (reader). LOCK_EX to acquire an
     *   exclusive lock (writer). LOCK_UN to release a lock (shared or
     *   exclusive). LOCK_NB if you don't want {@link flock} to block while
     *   locking. (not supported on Windows)
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function stream_lock($operation){}

    /**
     * Change stream metadata
     *
     * This method is called to set metadata on the stream. It is called when
     * one of the following functions is called on a stream URL: {@link
     * touch} {@link chmod} {@link chown} {@link chgrp} Please note that some
     * of these operations may not be available on your system.
     *
     * @param string $path The file path or URL to set metadata. Note that
     *   in the case of a URL, it must be a :// delimited URL. Other URL
     *   forms are not supported.
     * @param int $option One of: STREAM_META_TOUCH (The method was called
     *   in response to {@link touch}) STREAM_META_OWNER_NAME (The method was
     *   called in response to {@link chown} with string parameter)
     *   STREAM_META_OWNER (The method was called in response to {@link
     *   chown}) STREAM_META_GROUP_NAME (The method was called in response to
     *   {@link chgrp}) STREAM_META_GROUP (The method was called in response
     *   to {@link chgrp}) STREAM_META_ACCESS (The method was called in
     *   response to {@link chmod})
     * @param mixed $value If {@link option} is STREAM_META_TOUCH: Array
     *   consisting of two arguments of the {@link touch} function.
     *   STREAM_META_OWNER_NAME or STREAM_META_GROUP_NAME: The name of the
     *   owner user/group as string. STREAM_META_OWNER or STREAM_META_GROUP:
     *   The value owner user/group argument as integer. STREAM_META_ACCESS:
     *   The argument of the {@link chmod} as integer.
     * @return bool If {@link option} is not implemented, FALSE should be
     *   returned.
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function stream_metadata($path, $option, $value){}

    /**
     * Opens file or URL
     *
     * This method is called immediately after the wrapper is initialized
     * (f.e. by {@link fopen} and {@link file_get_contents}).
     *
     * @param string $path Specifies the URL that was passed to the
     *   original function.
     * @param string $mode The mode used to open the file, as detailed for
     *   {@link fopen}.
     * @param int $options Holds additional flags set by the streams API.
     *   It can hold one or more of the following values OR'd together. Flag
     *   Description STREAM_USE_PATH If {@link path} is relative, search for
     *   the resource using the include_path. STREAM_REPORT_ERRORS If this
     *   flag is set, you are responsible for raising errors using {@link
     *   trigger_error} during opening of the stream. If this flag is not
     *   set, you should not raise any errors.
     * @param string $opened_path If the {@link path} is opened
     *   successfully, and STREAM_USE_PATH is set in {@link options}, {@link
     *   opened_path} should be set to the full path of the file/resource
     *   that was actually opened.
     * @return bool
     * @since PHP 4 >= 4.3.2, PHP 5, PHP 7
     **/
    public function stream_open($path, $mode, $options, &$opened_path){}

    /**
     * Read from stream
     *
     * This method is called in response to {@link fread} and {@link fgets}.
     *
     * @param int $count How many bytes of data from the current position
     *   should be returned.
     * @return string If there are less than {@link count} bytes available,
     *   return as many as are available. If no more data is available,
     *   return either FALSE or an empty string.
     * @since PHP 4 >= 4.3.2, PHP 5, PHP 7
     **/
    public function stream_read($count){}

    /**
     * Seeks to specific location in a stream
     *
     * This method is called in response to {@link fseek}.
     *
     * The read/write position of the stream should be updated according to
     * the {@link offset} and {@link whence}.
     *
     * @param int $offset The stream offset to seek to.
     * @param int $whence Possible values: SEEK_SET - Set position equal to
     *   {@link offset} bytes. SEEK_CUR - Set position to current location
     *   plus {@link offset}. SEEK_END - Set position to end-of-file plus
     *   {@link offset}.
     * @return bool Return TRUE if the position was updated, FALSE
     *   otherwise.
     * @since PHP 4 >= 4.3.2, PHP 5, PHP 7
     **/
    public function stream_seek($offset, $whence){}

    /**
     * Change stream options
     *
     * This method is called to set options on the stream.
     *
     * @param int $option One of: STREAM_OPTION_BLOCKING (The method was
     *   called in response to {@link stream_set_blocking})
     *   STREAM_OPTION_READ_TIMEOUT (The method was called in response to
     *   {@link stream_set_timeout}) STREAM_OPTION_WRITE_BUFFER (The method
     *   was called in response to {@link stream_set_write_buffer})
     * @param int $arg1 If {@link option} is STREAM_OPTION_BLOCKING:
     *   requested blocking mode (1 meaning block 0 not blocking).
     *   STREAM_OPTION_READ_TIMEOUT: the timeout in seconds.
     *   STREAM_OPTION_WRITE_BUFFER: buffer mode (STREAM_BUFFER_NONE or
     *   STREAM_BUFFER_FULL).
     * @param int $arg2 If {@link option} is STREAM_OPTION_BLOCKING: This
     *   option is not set. STREAM_OPTION_READ_TIMEOUT: the timeout in
     *   microseconds. STREAM_OPTION_WRITE_BUFFER: the requested buffer size.
     * @return bool If {@link option} is not implemented, FALSE should be
     *   returned.
     * @since PHP 5 >= 5.3.0, PHP 7
     **/
    public function stream_set_option($option, $arg1, $arg2){}

    /**
     * Retrieve information about a file resource
     *
     * This method is called in response to {@link fstat}.
     *
     * @return array See {@link stat}.
     * @since PHP 4 >= 4.3.2, PHP 5, PHP 7
     **/
    public function stream_stat(){}

    /**
     * Retrieve the current position of a stream
     *
     * This method is called in response to {@link fseek} to determine the
     * current position.
     *
     * @return int Should return the current position of the stream.
     * @since PHP 4 >= 4.3.2, PHP 5, PHP 7
     **/
    public function stream_tell(){}

    /**
     * Truncate stream
     *
     * Will respond to truncation, e.g., through {@link ftruncate}.
     *
     * @param int $new_size The new size.
     * @return bool
     * @since PHP 5 >= 5.4.0, PHP 7
     **/
    public function stream_truncate($new_size){}

    /**
     * Write to stream
     *
     * This method is called in response to {@link fwrite}.
     *
     * @param string $data Should be stored into the underlying stream.
     * @return int Should return the number of bytes that were successfully
     *   stored, or 0 if none could be stored.
     * @since PHP 4 >= 4.3.2, PHP 5, PHP 7
     **/
    public function stream_write($data){}

    /**
     * Delete a file
     *
     * This method is called in response to {@link unlink}.
     *
     * @param string $path The file URL which should be deleted.
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function unlink($path){}

    /**
     * Retrieve information about a file
     *
     * This method is called in response to all {@link stat} related
     * functions, such as: {@link chmod} (only when safe_mode is enabled)
     * {@link copy} {@link fileperms} {@link fileinode} {@link filesize}
     * {@link fileowner} {@link filegroup} {@link fileatime} {@link
     * filemtime} {@link filectime} {@link filetype} {@link is_writable}
     * {@link is_readable} {@link is_executable} {@link is_file} {@link
     * is_dir} {@link is_link} {@link file_exists} {@link lstat} {@link stat}
     * SplFileInfo::getPerms SplFileInfo::getInode SplFileInfo::getSize
     * SplFileInfo::getOwner SplFileInfo::getGroup SplFileInfo::getATime
     * SplFileInfo::getMTime SplFileInfo::getCTime SplFileInfo::getType
     * SplFileInfo::isWritable SplFileInfo::isReadable
     * SplFileInfo::isExecutable SplFileInfo::isFile SplFileInfo::isDir
     * SplFileInfo::isLink RecursiveDirectoryIterator::hasChildren
     *
     * @param string $path The file path or URL to stat. Note that in the
     *   case of a URL, it must be a :// delimited URL. Other URL forms are
     *   not supported.
     * @param int $flags Holds additional flags set by the streams API. It
     *   can hold one or more of the following values OR'd together. Flag
     *   Description STREAM_URL_STAT_LINK For resources with the ability to
     *   link to other resource (such as an HTTP Location: forward, or a
     *   filesystem symlink). This flag specified that only information about
     *   the link itself should be returned, not the resource pointed to by
     *   the link. This flag is set in response to calls to {@link lstat},
     *   {@link is_link}, or {@link filetype}. STREAM_URL_STAT_QUIET If this
     *   flag is set, your wrapper should not raise any errors. If this flag
     *   is not set, you are responsible for reporting errors using the
     *   {@link trigger_error} function during stating of the path.
     * @return array Should return as many elements as {@link stat} does.
     *   Unknown or unavailable values should be set to a rational value
     *   (usually 0).
     * @since PHP 4 >= 4.3.2, PHP 5, PHP 7
     **/
    public function url_stat($path, $flags){}

    /**
     * Constructs a new stream wrapper
     *
     * Called when opening the stream wrapper, right before
     * streamWrapper::stream_open.
     *
     * @since PHP 4 >= 4.3.2, PHP 5, PHP 7
     **/
    function __construct(){}

    /**
     * Destructs an existing stream wrapper
     *
     * Called when closing the stream wrapper, right before
     * streamWrapper::stream_flush.
     *
     * @since PHP 4 >= 4.3.2, PHP 5, PHP 7
     **/
    function __destruct(){}

}
class SVM {
    /**
     * @var integer
     **/
    const C_SVC = 0;

    /**
     * @var integer
     **/
    const EPSILON_SVR = 0;

    /**
     * @var integer
     **/
    const KERNEL_LINEAR = 0;

    /**
     * @var integer
     **/
    const KERNEL_POLY = 0;

    /**
     * @var integer
     **/
    const KERNEL_PRECOMPUTED = 0;

    /**
     * @var integer
     **/
    const KERNEL_RBF = 0;

    /**
     * @var integer
     **/
    const KERNEL_SIGMOID = 0;

    /**
     * @var integer
     **/
    const NU_SVC = 0;

    /**
     * @var integer
     **/
    const NU_SVR = 0;

    /**
     * @var integer
     **/
    const ONE_CLASS = 0;

    /**
     * @var integer
     **/
    const OPT_C = 0;

    /**
     * @var integer
     **/
    const OPT_CACHE_SIZE = 0;

    /**
     * @var integer
     **/
    const OPT_COEF_ZERO = 0;

    /**
     * @var integer
     **/
    const OPT_DEGREE = 0;

    /**
     * @var integer
     **/
    const OPT_EPS = 0;

    /**
     * @var integer
     **/
    const OPT_GAMMA = 0;

    /**
     * @var integer
     **/
    const OPT_KERNEL_TYPE = 0;

    /**
     * @var integer
     **/
    const OPT_NU = 0;

    /**
     * @var integer
     **/
    const OPT_P = 0;

    /**
     * @var integer
     **/
    const OPT_PROPABILITY = 0;

    /**
     * @var integer
     **/
    const OPT_SHRINKING = 0;

    /**
     * @var integer
     **/
    const OPT_TYPE = 0;

    /**
     * Test training params on subsets of the training data
     *
     * Crossvalidate can be used to test the effectiveness of the current
     * parameter set on a subset of the training data. Given a problem set
     * and a n "folds", it separates the problem set into n subsets, and the
     * repeatedly trains on one subset and tests on another. While the
     * accuracy will generally be lower than a SVM trained on the enter data
     * set, the accuracy score returned should be relatively useful, so it
     * can be used to test different training parameters.
     *
     * @param array $problem The problem data. This can either be in the
     *   form of an array, the URL of an SVMLight formatted file, or a stream
     *   to an opened SVMLight formatted datasource.
     * @param int $number_of_folds The number of sets the data should be
     *   divided into and cross tested. A higher number means smaller
     *   training sets and less reliability. 5 is a good number to start
     *   with.
     * @return float The correct percentage, expressed as a floating point
     *   number from 0-1. In the case of NU_SVC or EPSILON_SVR kernels the
     *   mean squared error will returned instead.
     * @since PECL svm >= 0.1.0
     **/
    public function crossvalidate($problem, $number_of_folds){}

    /**
     * Return the current training parameters
     *
     * Retrieve an array containing the training parameters. The parameters
     * will be keyed on the predefined SVM constants.
     *
     * @return array Returns an array of configuration settings.
     * @since PECL svm >= 0.1.0
     **/
    public function getOptions(){}

    /**
     * Set training parameters
     *
     * Set one or more training parameters.
     *
     * @param array $params An array of training parameters, keyed on the
     *   SVM constants.
     * @return bool Return true on success, throws SVMException on error.
     * @since PECL svm >= 0.1.0
     **/
    public function setOptions($params){}

    /**
     * Create a SVMModel based on training data
     *
     * Train a support vector machine based on the supplied training data.
     *
     * @param array $problem The problem can be provided in three different
     *   ways. An array, where the data should start with the class label
     *   (usually 1 or -1) then followed by a sparse data set of dimension =>
     *   data pairs. A URL to a file containing a SVM Light formatted
     *   problem, with the each line being a new training example, the start
     *   of each line containing the class (1, -1) then a series of tab
     *   separated data values shows as key:value. A opened stream pointing
     *   to a data source formatted as in the file above.
     * @param array $weights Weights are an optional set of weighting
     *   parameters for the different classes, to help account for unbalanced
     *   training sets. For example, if the classes were 1 and -1, and -1 had
     *   significantly more example than one, the weight for -1 could be 0.5.
     *   Weights should be in the range 0-1.
     * @return SVMModel Returns an SVMModel that can be used to classify
     *   previously unseen data. Throws SVMException on error
     * @since PECL svm >= 0.1.0
     **/
    public function train($problem, $weights){}

    /**
     * Construct a new SVM object
     *
     * Constructs a new SVM object ready to accept training data.
     *
     * @since PECL svm >= 0.1.0
     **/
    public function __construct(){}

}
/**
 * The exception object thrown on errors from the SVM and SVMModel
 * classes.
 **/
class SVMException extends Exception {
}
/**
 * The SVMModel is the end result of the training process. It can be used
 * to classify previously unseen data.
 **/
class SVMModel {
    /**
     * Returns true if the model has probability information
     *
     * Returns true if the model contains probability information.
     *
     * @return bool Return a boolean value
     * @since PECL svm >= 0.1.5
     **/
    public function checkProbabilityModel(){}

    /**
     * Get the labels the model was trained on
     *
     * Return an array of labels that the model was trained on. For
     * regression and one class models an empty array is returned.
     *
     * @return array Return an array of labels
     * @since PECL svm >= 0.1.5
     **/
    public function getLabels(){}

    /**
     * Returns the number of classes the model was trained with
     *
     * Returns the number of classes the model was trained with, will return
     * 2 for one class and regression models.
     *
     * @return int Return an integer number of classes
     * @since PECL svm >= 0.1.5
     **/
    public function getNrClass(){}

    /**
     * Get the SVM type the model was trained with
     *
     * Returns an integer value representing the type of the SVM model used,
     * e.g SVM::C_SVC.
     *
     * @return int Return an integer SVM type
     * @since PECL svm >= 0.1.5
     **/
    public function getSvmType(){}

    /**
     * Get the sigma value for regression types
     *
     * For regression models, returns a sigma value. If there is no
     * probability information or the model is not SVR, 0 is returned.
     *
     * @return float Returns a sigma value
     * @since PECL svm >= 0.1.5
     **/
    public function getSvrProbability(){}

    /**
     * Load a saved SVM Model
     *
     * Load a model file ready for classification or regression.
     *
     * @param string $filename The filename of the model.
     * @return bool Throws SVMException on error. Returns true on success.
     * @since PECL svm >= 0.1.00.1.0
     **/
    public function load($filename){}

    /**
     * Predict a value for previously unseen data
     *
     * This function accepts an array of data and attempts to predict the
     * class or regression value based on the model extracted from previously
     * trained data.
     *
     * @param array $data The array to be classified. This should be a
     *   series of key => value pairs in increasing key order, but not
     *   necessarily continuous.
     * @return float Float the predicted value. This will be a class label
     *   in the case of classification, a real value in the case of
     *   regression. Throws SVMException on error
     * @since PECL svm >= 0.1.0
     **/
    public function predict($data){}

    /**
     * Return class probabilities for previous unseen data
     *
     * This function accepts an array of data and attempts to predict the
     * class, as with the predict function. Additionally, however, this
     * function returns an array of probabilities, one per class in the
     * model, which represent the estimated chance of the data supplied being
     * a member of that class. Requires that the model to be used has been
     * trained with the probability parameter set to true.
     *
     * @param array $data The array to be classified. This should be a
     *   series of key => value pairs in increasing key order, but not
     *   necessarily continuous.
     * @return float Float the predicted value. This will be a class label
     *   in the case of classification, a real value in the case of
     *   regression. Throws SVMException on error
     * @since PECL svm >= 0.1.4
     **/
    public function predict_probability($data){}

    /**
     * Save a model to a file
     *
     * Save the model data to a file, for later use.
     *
     * @param string $filename The file to save the model to.
     * @return bool Throws SVMException on error. Returns true on success.
     * @since PECL svm >= 0.1.0
     **/
    public function save($filename){}

    /**
     * Construct a new SVMModel
     *
     * Build a new SVMModel. Models will usually be created from the
     * SVM::train function, but then saved models may be restored directly.
     *
     * @param string $filename The filename for the saved model file this
     *   model should load.
     * @since PECL svm >= 0.1.0
     **/
    public function __construct($filename){}

}
/**
 * SWFAction.
 **/
class SWFAction {
    /**
     * Creates a new SWFAction
     *
     * Creates a new SWFAction and compiles the given {@link script} in it.
     *
     * @param string $script An ActionScript snippet to associate with the
     *   SWFAction. See for more details.
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function __construct($script){}

}
/**
 * SWFBitmap.
 **/
class SWFBitmap {
    /**
     * Returns the bitmap's height
     *
     * @return float Returns the bitmap height in pixels.
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function getHeight(){}

    /**
     * Returns the bitmap's width
     *
     * @return float Returns the bitmap width in pixels.
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function getWidth(){}

    /**
     * Loads Bitmap object
     *
     * Creates the new SWFBitmap object from the given {@link file}.
     *
     * @param mixed $file You can't import png images directly, though-
     *   have to use the png2dbl utility to make a dbl ("define bits
     *   lossless") file from the png. The reason for this is that I don't
     *   want a dependency on the png library in ming- autoconf should solve
     *   this, but that's not set up yet.
     * @param mixed $alphafile An MSK file to be used as an alpha mask for
     *   a JPEG image.
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function __construct($file, $alphafile){}

}
/**
 * SWFButton.
 **/
class SWFButton {
    /**
     * Adds an action
     *
     * Adds the given {@link action} to the button for the given conditions.
     *
     * @param SWFAction $action An SWFAction, returned by {@link
     *   SWFAction::__construct}.
     * @param int $flags The following {@link flags} are valid:
     *   SWFBUTTON_MOUSEOVER, SWFBUTTON_MOUSEOUT, SWFBUTTON_MOUSEUP,
     *   SWFBUTTON_MOUSEUPOUTSIDE, SWFBUTTON_MOUSEDOWN, SWFBUTTON_DRAGOUT and
     *   SWFBUTTON_DRAGOVER.
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function addAction($action, $flags){}

    /**
     * Associates a sound with a button transition
     *
     * @param SWFSound $sound
     * @param int $flags
     * @return SWFSoundInstance
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function addASound($sound, $flags){}

    /**
     * Adds a shape to a button
     *
     * Adds the given {@link shape} to the button.
     *
     * @param SWFShape $shape An SWFShape instance
     * @param int $flags The following {@link flags} are valid:
     *   SWFBUTTON_UP, SWFBUTTON_OVER, SWFBUTTON_DOWN and SWFBUTTON_HIT.
     *   SWFBUTTON_HIT isn't ever displayed, it defines the hit region for
     *   the button. That is, everywhere the hit shape would be drawn is
     *   considered a "touchable" part of the button.
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function addShape($shape, $flags){}

    /**
     * Sets the action
     *
     * Sets the action to be performed when the button is clicked.
     *
     * This is a shortcut for {@link SWFButton::addAction} called with the
     * SWFBUTTON_MOUSEUP flag.
     *
     * @param SWFAction $action An SWFAction, returned by {@link
     *   SWFAction::__construct}.
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setAction($action){}

    /**
     * Alias for addShape(shape, SWFBUTTON_DOWN)
     *
     * {@link swfbutton::setdown} alias for addShape(shape, SWFBUTTON_DOWN).
     *
     * @param SWFShape $shape
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setDown($shape){}

    /**
     * Alias for addShape(shape, SWFBUTTON_HIT)
     *
     * {@link swfbutton::sethit} alias for addShape(shape, SWFBUTTON_HIT).
     *
     * @param SWFShape $shape
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setHit($shape){}

    /**
     * Enable track as menu button behaviour
     *
     * @param int $flag This parameter can be used for a slight different
     *   behavior of buttons. You can set it to 0 (off) or 1 (on).
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setMenu($flag){}

    /**
     * Alias for addShape(shape, SWFBUTTON_OVER)
     *
     * {@link swfbutton::setover} alias for addShape(shape, SWFBUTTON_OVER).
     *
     * @param SWFShape $shape
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setOver($shape){}

    /**
     * Alias for addShape(shape, SWFBUTTON_UP)
     *
     * {@link swfbutton::setup} alias for addShape(shape, SWFBUTTON_UP).
     *
     * @param SWFShape $shape
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setUp($shape){}

    /**
     * Creates a new Button
     *
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function __construct(){}

}
/**
 * SWFDisplayItem.
 **/
class SWFDisplayItem {
    /**
     * Adds this SWFAction to the given SWFSprite instance
     *
     * @param SWFAction $action An SWFAction, returned by {@link
     *   SWFAction::__construct}.
     * @param int $flags
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function addAction($action, $flags){}

    /**
     * Adds the given color to this item's color transform
     *
     * {@link swfdisplayitem::addcolor} adds the color to this item's color
     * transform. The color is given in its RGB form.
     *
     * @param int $red
     * @param int $green
     * @param int $blue
     * @param int $a
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function addColor($red, $green, $blue, $a){}

    /**
     * Another way of defining a MASK layer
     *
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function endMask(){}

    /**
     * @return float
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function getRot(){}

    /**
     * @return float
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function getX(){}

    /**
     * @return float
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function getXScale(){}

    /**
     * @return float
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function getXSkew(){}

    /**
     * @return float
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function getY(){}

    /**
     * @return float
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function getYScale(){}

    /**
     * @return float
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function getYSkew(){}

    /**
     * Moves object in relative coordinates
     *
     * {@link swfdisplayitem::move} moves the current object by ({@link
     * dx},{@link dy}) from its current position.
     *
     * @param float $dx
     * @param float $dy
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function move($dx, $dy){}

    /**
     * Moves object in global coordinates
     *
     * {@link swfdisplayitem::moveto} moves the current object to ({@link
     * x},{@link y}) in global coordinates.
     *
     * @param float $x
     * @param float $y
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function moveTo($x, $y){}

    /**
     * Multiplies the item's color transform
     *
     * {@link swfdisplayitem::multcolor} multiplies the item's color
     * transform by the given values.
     *
     * @param float $red Value of red component
     * @param float $green Value of green component
     * @param float $blue Value of blue component
     * @param float $a Value of alpha component
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function multColor($red, $green, $blue, $a){}

    /**
     * Removes the object from the movie
     *
     * {@link swfdisplayitem::remove} removes this object from the movie's
     * display list.
     *
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function remove(){}

    /**
     * Rotates in relative coordinates
     *
     * {@link swfdisplayitem::rotate} rotates the current object by {@link
     * angle} degrees from its current rotation.
     *
     * @param float $angle
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function rotate($angle){}

    /**
     * Rotates the object in global coordinates
     *
     * {@link swfdisplayitem::rotateto} set the current object rotation to
     * {@link angle} degrees in global coordinates.
     *
     * @param float $angle
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function rotateTo($angle){}

    /**
     * Scales the object in relative coordinates
     *
     * {@link swfdisplayitem::scale} scales the current object by ({@link
     * dx},{@link dy}) from its current size.
     *
     * @param float $dx
     * @param float $dy
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function scale($dx, $dy){}

    /**
     * Scales the object in global coordinates
     *
     * {@link swfdisplayitem::scaleto} scales the current object to ({@link
     * x},{@link y}) in global coordinates.
     *
     * @param float $x
     * @param float $y
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function scaleTo($x, $y){}

    /**
     * Sets z-order
     *
     * {@link swfdisplayitem::setdepth} sets the object's z-order to {@link
     * depth}. Depth defaults to the order in which instances are created (by
     * adding a shape/text to a movie)- newer ones are on top of older ones.
     * If two objects are given the same depth, only the later-defined one
     * can be moved.
     *
     * @param int $depth
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setDepth($depth){}

    /**
     * Defines a MASK layer at level
     *
     * @param int $level
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setMaskLevel($level){}

    /**
     * Sets the item's transform matrix
     *
     * @param float $a
     * @param float $b
     * @param float $c
     * @param float $d
     * @param float $x
     * @param float $y
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setMatrix($a, $b, $c, $d, $x, $y){}

    /**
     * Sets the object's name
     *
     * {@link swfdisplayitem::setname} sets the object's name to {@link
     * name}, for targetting with action script. Only useful on sprites.
     *
     * @param string $name
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setName($name){}

    /**
     * Sets the object's ratio
     *
     * {@link swfdisplayitem::setratio} sets the object's ratio to {@link
     * ratio}. Obviously only useful for morphs.
     *
     * @param float $ratio
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setRatio($ratio){}

    /**
     * Sets the X-skew
     *
     * {@link swfdisplayitem::skewx} adds {@link ddegrees} to current x-skew.
     *
     * @param float $ddegrees
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function skewX($ddegrees){}

    /**
     * Sets the X-skew
     *
     * {@link swfdisplayitem::skewxto} sets the x-skew to {@link degrees}.
     * For {@link degrees} is 1.0, it means a 45-degree forward slant. More
     * is more forward, less is more backward.
     *
     * @param float $degrees
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function skewXTo($degrees){}

    /**
     * Sets the Y-skew
     *
     * {@link swfdisplayitem::skewy} adds {@link ddegrees} to current y-skew.
     *
     * @param float $ddegrees
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function skewY($ddegrees){}

    /**
     * Sets the Y-skew
     *
     * {@link swfdisplayitem::skewyto} sets the y-skew to {@link degrees}.
     * For {@link degrees} is 1.0, it means a 45-degree forward slant. More
     * is more upward, less is more downward.
     *
     * @param float $degrees
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function skewYTo($degrees){}

}
/**
 * The SWFFill object allows you to transform (scale, skew, rotate)
 * bitmap and gradient fills. swffill objects are created by the {@link
 * SWFShape::addFill} method.
 **/
class SWFFill {
    /**
     * Moves fill origin
     *
     * Moves the fill origin to the given global coordinates.
     *
     * @param float $x X-coordinate
     * @param float $y Y-coordinate
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function moveTo($x, $y){}

    /**
     * Sets fill's rotation
     *
     * Sets the fill rotation to the given {@link angle}.
     *
     * @param float $angle The rotation angle, in degrees.
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function rotateTo($angle){}

    /**
     * Sets fill's scale
     *
     * Sets the fill scale to the given coordinates.
     *
     * @param float $x X-coordinate
     * @param float $y Y-coordinate
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function scaleTo($x, $y){}

    /**
     * Sets fill x-skew
     *
     * Sets the fill x-skew to {@link x}.
     *
     * @param float $x When {@link x} is 1.0, it is a 45-degree forward
     *   slant. More is more forward, less is more backward.
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function skewXTo($x){}

    /**
     * Sets fill y-skew
     *
     * Sets the fill y-skew to {@link y}.
     *
     * @param float $y When {@link y} is 1.0, it is a 45-degree upward
     *   slant. More is more upward, less is more downward.
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function skewYTo($y){}

}
/**
 * The SWFFont object represent a reference to the font definition, for
 * us with {@link SWFText::setFont} and {@link SWFTextField::setFont}.
 **/
class SWFFont {
    /**
     * Returns the ascent of the font, or 0 if not available
     *
     * @return float
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function getAscent(){}

    /**
     * Returns the descent of the font, or 0 if not available
     *
     * @return float
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function getDescent(){}

    /**
     * Returns the leading of the font, or 0 if not available
     *
     * @return float
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function getLeading(){}

    /**
     * Returns the glyph shape of a char as a text string
     *
     * @param int $code
     * @return string
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function getShape($code){}

    /**
     * Calculates the width of the given string in this font at full height
     *
     * @param string $string
     * @return float
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function getUTF8Width($string){}

    /**
     * Returns the string's width
     *
     * {@link swffont::getwidth} returns the string {@link string}'s width,
     * using font's default scaling. You'll probably want to use the {@link
     * swftext} version of this method which uses the text object's scale.
     *
     * @param string $string
     * @return float
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function getWidth($string){}

    /**
     * Loads a font definition
     *
     * If {@link filename} is the name of an FDB file (i.e., it ends in
     * ".fdb"), load the font definition found in said file. Otherwise,
     * create a browser-defined font reference.
     *
     * FDB ("font definition block") is a very simple wrapper for the SWF
     * DefineFont2 block which contains a full description of a font. One may
     * create FDB files from SWT Generator template files with the included
     * makefdb utility- look in the util directory off the main ming
     * distribution directory.
     *
     * Browser-defined fonts don't contain any information about the font
     * other than its name. It is assumed that the font definition will be
     * provided by the movie player. The fonts _serif, _sans, and _typewriter
     * should always be available. For example:
     *
     * <?php $f = newSWFFont("_sans"); ?>
     *
     * will give you the standard sans-serif font, probably the same as what
     * you'd get with <font name="sans-serif"> in HTML.
     *
     * @param string $filename
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function __construct($filename){}

}
/**
 * SWFFontChar.
 **/
class SWFFontChar {
    /**
     * Adds characters to a font for exporting font
     *
     * @param string $char
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function addChars($char){}

    /**
     * Adds characters to a font for exporting font
     *
     * @param string $char
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function addUTF8Chars($char){}

}
/**
 * SWFGradient.
 **/
class SWFGradient {
    /**
     * Adds an entry to the gradient list
     *
     * {@link swfgradient::addentry} adds an entry to the gradient list.
     * {@link ratio} is a number between 0 and 1 indicating where in the
     * gradient this color appears. Thou shalt add entries in order of
     * increasing ratio.
     *
     * {@link red}, {@link green}, {@link blue} is a color (RGB mode).
     *
     * @param float $ratio
     * @param int $red
     * @param int $green
     * @param int $blue
     * @param int $alpha
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function addEntry($ratio, $red, $green, $blue, $alpha){}

    /**
     * Creates a gradient object
     *
     * {@link swfgradient} creates a new SWFGradient object.
     *
     * This simple example will draw a big black-to-white gradient as
     * background, and a reddish disc in its center. {@link swfgradient}
     * example
     *
     * <?php
     *
     * $m = new SWFMovie(); $m->setDimension(320, 240);
     *
     * $s = new SWFShape();
     *
     * // first gradient- black to white $g = new SWFGradient();
     * $g->addEntry(0.0, 0, 0, 0); $g->addEntry(1.0, 0xff, 0xff, 0xff);
     *
     * $f = $s->addFill($g, SWFFILL_LINEAR_GRADIENT); $f->scaleTo(0.01);
     * $f->moveTo(160, 120); $s->setRightFill($f); $s->drawLine(320, 0);
     * $s->drawLine(0, 240); $s->drawLine(-320, 0); $s->drawLine(0, -240);
     *
     * $m->add($s);
     *
     * $s = new SWFShape();
     *
     * // second gradient- radial gradient from red to transparent $g = new
     * SWFGradient(); $g->addEntry(0.0, 0xff, 0, 0, 0xff); $g->addEntry(1.0,
     * 0xff, 0, 0, 0);
     *
     * $f = $s->addFill($g, SWFFILL_RADIAL_GRADIENT); $f->scaleTo(0.005);
     * $f->moveTo(160, 120); $s->setRightFill($f); $s->drawLine(320, 0);
     * $s->drawLine(0, 240); $s->drawLine(-320, 0); $s->drawLine(0, -240);
     *
     * $m->add($s);
     *
     * header('Content-type: application/x-shockwave-flash'); $m->output();
     * ?>
     *
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function __construct(){}

}
/**
 * The methods here are sort of weird. It would make more sense to just
 * have newSWFMorph(shape1, shape2);, but as things are now, shape2 needs
 * to know that it's the second part of a morph. (This, because it starts
 * writing its output as soon as it gets drawing commands- if it kept its
 * own description of its shapes and wrote on completion this and some
 * other things would be much easier.)
 **/
class SWFMorph {
    /**
     * Gets a handle to the starting shape
     *
     * Gets the morph's starting shape.
     *
     * @return SWFShape Returns a object.
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function getShape1(){}

    /**
     * Gets a handle to the ending shape
     *
     * Gets the morph's ending shape.
     *
     * @return SWFShape Returns a object.
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function getShape2(){}

    /**
     * Creates a new SWFMorph object
     *
     * Creates a new SWFMorph object.
     *
     * Also called a "shape tween". This thing lets you make those tacky
     * twisting things that make your computer choke. Oh, joy!
     *
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function __construct(){}

}
/**
 * SWFMovie is a movie object representing an SWF movie.
 **/
class SWFMovie {
    /**
     * Adds any type of data to a movie
     *
     * Adds an SWF object {@link instance} to the current movie.
     *
     * @param object $instance Any type of object instance, like , , .
     * @return mixed For displayable types (shape, text, button, sprite),
     *   this returns an , a handle to the object in a display list. Thus,
     *   you can add the same shape to a movie multiple times and get
     *   separate handles back for each separate instance.
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function add($instance){}

    /**
     * @param SWFCharacter $char
     * @param string $name
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function addExport($char, $name){}

    /**
     * @param SWFFont $font
     * @return mixed
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function addFont($font){}

    /**
     * @param string $libswf
     * @param string $name
     * @return SWFSprite
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function importChar($libswf, $name){}

    /**
     * @param string $libswf
     * @param string $name
     * @return SWFFontChar
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function importFont($libswf, $name){}

    /**
     * Labels a frame
     *
     * @param string $label
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function labelFrame($label){}

    /**
     * Moves to the next frame of the animation
     *
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function nextFrame(){}

    /**
     * Dumps your lovingly prepared movie out
     *
     * Dumps the SWFMovie.
     *
     * Don't forget to send the Content-Type HTTP header file before using
     * this function, in order to display the movie in a browser.
     *
     * @param int $compression The compression level can be a value between
     *   0 and 9, defining the SWF compression similar to gzip compression.
     *   This parameter is only available as of Flash MX (6).
     * @return int Return the number of bytes written or FALSE on error.
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function output($compression){}

    /**
     * Removes the object instance from the display list
     *
     * Removes the given object {@link instance} from the display list.
     *
     * @param object $instance
     * @return void
     * @since PHP 5.2.1-5.3.0, PHP 7, PECL ming SVN
     **/
    function remove($instance){}

    /**
     * Saves the SWF movie in a file
     *
     * Saves the SWF movie to the specified {@link filename}.
     *
     * @param string $filename The path to the saved SWF document.
     * @param int $compression The compression level can be a value between
     *   0 and 9, defining the SWF compression similar to gzip compression.
     *   This parameter is only available as of Flash MX (6).
     * @return int Return the number of bytes written or FALSE on error.
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function save($filename, $compression){}

    /**
     * @param resource $x
     * @param int $compression The compression level can be a value between
     *   0 and 9, defining the SWF compression similar to gzip compression.
     *   This parameter is only available as of Flash MX (6).
     * @return int Return the number of bytes written or FALSE on error.
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function saveToFile($x, $compression){}

    /**
     * Sets the background color
     *
     * Why is there no rgba version? Think about it, you might want to let
     * the HTML background show through. There's a way to do that, but it
     * only works on IE4. Search the site for details.
     *
     * @param int $red Value of red component
     * @param int $green Value of green component
     * @param int $blue Value of blue component
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setbackground($red, $green, $blue){}

    /**
     * Sets the movie's width and height
     *
     * Sets the movie's dimension to the specified {@link width} and {@link
     * height}.
     *
     * @param float $width The movie width.
     * @param float $height The movie height.
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setDimension($width, $height){}

    /**
     * Sets the total number of frames in the animation
     *
     * Sets the total number of frames in the animation to the given {@link
     * number}.
     *
     * @param int $number The number of frames.
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setFrames($number){}

    /**
     * Sets the animation's frame rate
     *
     * Sets the frame rate to the specified {@link rate}.
     *
     * Animation will slow down if the player can't render frames fast
     * enough- unless there's a streaming sound, in which case display frames
     * are sacrificed to keep sound from skipping.
     *
     * @param float $rate The frame rate, in frame per seconds.
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setRate($rate){}

    /**
     * @param SWFSound $sound
     * @return SWFSoundInstance
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function startSound($sound){}

    /**
     * @param SWFSound $sound
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function stopSound($sound){}

    /**
     * Streams a MP3 file
     *
     * Streams the given MP3 file {@link mp3file}.
     *
     * This method is not very robust in dealing with oddities (can skip over
     * an initial ID3 tag, but that's about it).
     *
     * Note that the movie isn't smart enough to put enough frames in to
     * contain the entire mp3 stream- you'll have to add (length of song *
     * frames per second) frames to get the entire stream in.
     *
     * @param mixed $mp3file Can be a file pointer returned by {@link
     *   fopen} or the MP3 data, as a binary string.
     * @param float $skip Number of seconds to skip.
     * @return int Return number of frames.
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function streamMP3($mp3file, $skip){}

    /**
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function writeExports(){}

    /**
     * Creates a new movie object, representing an SWF version 4 movie
     *
     * Creates a new movie object, representing an SWF movie.
     *
     * @param int $version The desired SWF version. Default is 4.
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function __construct($version){}

}
/**
 * SWFPrebuiltClip.
 **/
class SWFPrebuiltClip {
    /**
     * Returns a SWFPrebuiltClip object
     *
     * @param mixed $file
     * @since PHP 5.0.5-5.3.0, PHP 7, PECL ming SVN
     **/
    function __construct($file){}

}
/**
 * SWFShape.
 **/
class SWFShape {
    /**
     * Adds a solid fill to the shape
     *
     * {@link SWFShape::addFill} adds a solid fill to the shape's list of
     * fill styles. {@link SWFShape::addFill} accepts three different types
     * of arguments.
     *
     * {@link red}, {@link green}, {@link blue} is a color (RGB mode).
     *
     * The {@link bitmap} argument is an {@link SWFBitmap} object. The {@link
     * flags} argument can be one of the following values:
     * SWFFILL_CLIPPED_BITMAP, SWFFILL_TILED_BITMAP, SWFFILL_LINEAR_GRADIENT
     * or SWFFILL_RADIAL_GRADIENT. Default is SWFFILL_TILED_BITMAP for
     * SWFBitmap and SWFFILL_LINEAR_GRADIENT for SWFGradient.
     *
     * The {@link gradient} argument is an {@link SWFGradient} object. The
     * flags argument can be one of the following values :
     * SWFFILL_RADIAL_GRADIENT or SWFFILL_LINEAR_GRADIENT. Default is
     * SWFFILL_LINEAR_GRADIENT. I'm sure about this one. Really.
     *
     * {@link SWFShape::addFill} returns an {@link SWFFill} object for use
     * with the {@link SWFShape::setLeftFill} and {@link
     * SWFShape::setRightFill} functions described below.
     *
     * @param int $red
     * @param int $green
     * @param int $blue
     * @param int $alpha
     * @return SWFFill
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function addFill($red, $green, $blue, $alpha){}

    /**
     * Draws an arc of radius r centered at the current location, from angle
     * startAngle to angle endAngle measured clockwise from 12 o'clock
     *
     * @param float $r
     * @param float $startAngle
     * @param float $endAngle
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function drawArc($r, $startAngle, $endAngle){}

    /**
     * Draws a circle of radius r centered at the current location, in a
     * counter-clockwise fashion
     *
     * @param float $r
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function drawCircle($r){}

    /**
     * Draws a cubic bezier curve using the current position and the three
     * given points as control points
     *
     * @param float $bx
     * @param float $by
     * @param float $cx
     * @param float $cy
     * @param float $dx
     * @param float $dy
     * @return int
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function drawCubic($bx, $by, $cx, $cy, $dx, $dy){}

    /**
     * Draws a cubic bezier curve using the current position and the three
     * given points as control points
     *
     * @param float $bx
     * @param float $by
     * @param float $cx
     * @param float $cy
     * @param float $dx
     * @param float $dy
     * @return int
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function drawCubicTo($bx, $by, $cx, $cy, $dx, $dy){}

    /**
     * Draws a curve (relative)
     *
     * @param float $controldx
     * @param float $controldy
     * @param float $anchordx
     * @param float $anchordy
     * @param float $targetdx
     * @param float $targetdy
     * @return int
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function drawCurve($controldx, $controldy, $anchordx, $anchordy, $targetdx, $targetdy){}

    /**
     * Draws a curve
     *
     * @param float $controlx
     * @param float $controly
     * @param float $anchorx
     * @param float $anchory
     * @param float $targetx
     * @param float $targety
     * @return int
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function drawCurveTo($controlx, $controly, $anchorx, $anchory, $targetx, $targety){}

    /**
     * Draws the first character in the given string into the shape using the
     * glyph definition from the given font
     *
     * @param SWFFont $font
     * @param string $character
     * @param int $size
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function drawGlyph($font, $character, $size){}

    /**
     * Draws a line (relative)
     *
     * @param float $dx
     * @param float $dy
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function drawLine($dx, $dy){}

    /**
     * Draws a line
     *
     * @param float $x
     * @param float $y
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function drawLineTo($x, $y){}

    /**
     * Moves the shape's pen (relative)
     *
     * @param float $dx
     * @param float $dy
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function movePen($dx, $dy){}

    /**
     * Moves the shape's pen
     *
     * @param float $x
     * @param float $y
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function movePenTo($x, $y){}

    /**
     * Sets left rasterizing color
     *
     * What this nonsense is about is, every edge segment borders at most two
     * fills. When rasterizing the object, it's pretty handy to know what
     * those fills are ahead of time, so the swf format requires these to be
     * specified.
     *
     * {@link swfshape::setleftfill} sets the fill on the left side of the
     * edge- that is, on the interior if you're defining the outline of the
     * shape in a counter-clockwise fashion. The fill object is an SWFFill
     * object returned from one of the addFill functions above.
     *
     * This seems to be reversed when you're defining a shape in a morph,
     * though. If your browser crashes, just try setting the fill on the
     * other side.
     *
     * @param SWFGradient $fill
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setLeftFill($fill){}

    /**
     * Sets the shape's line style
     *
     * {@link swfshape::setline} sets the shape's line style. {@link width}
     * is the line's width. If {@link width} is 0, the line's style is
     * removed (then, all other arguments are ignored). If {@link width} > 0,
     * then line's color is set to {@link red}, {@link green}, {@link blue}.
     * Last parameter {@link a} is optional.
     *
     * You must declare all line styles before you use them (see example).
     *
     * @param SWFShape $shape
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setLine($shape){}

    /**
     * Sets right rasterizing color
     *
     * @param SWFGradient $fill
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setRightFill($fill){}

    /**
     * Creates a new shape object
     *
     * Created a new SWFShape object.
     *
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function __construct(){}

}
/**
 * SWFSound.
 **/
class SWFSound {
    /**
     * Returns a new SWFSound object from given file
     *
     * @param string $filename
     * @param int $flags
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function __construct($filename, $flags){}

}
/**
 * SWFSoundInstance objects are returned by the {@link
 * SWFSprite::startSound} and {@link SWFMovie::startSound} methods.
 **/
class SWFSoundInstance {
    /**
     * @param int $point
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function loopCount($point){}

    /**
     * @param int $point
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function loopInPoint($point){}

    /**
     * @param int $point
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function loopOutPoint($point){}

    /**
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function noMultiple(){}

}
/**
 * An SWFSprite is also known as a "movie clip", this allows one to
 * create objects which are animated in their own timelines. Hence, the
 * sprite has most of the same methods as the movie.
 **/
class SWFSprite {
    /**
     * Adds an object to a sprite
     *
     * {@link swfsprite::add} adds a {@link swfshape}, a {@link swfbutton}, a
     * {@link swftext}, a {@link swfaction} or a {@link swfsprite} object.
     *
     * For displayable types ({@link swfshape}, {@link swfbutton}, {@link
     * swftext}, {@link swfaction} or {@link swfsprite}), this returns a
     * handle to the object in a display list.
     *
     * @param object $object
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function add($object){}

    /**
     * Labels frame
     *
     * @param string $label
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function labelFrame($label){}

    /**
     * Moves to the next frame of the animation
     *
     * {@link swfsprite::setframes} moves to the next frame of the animation.
     *
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function nextFrame(){}

    /**
     * Removes an object to a sprite
     *
     * {@link swfsprite::remove} remove a {@link swfshape}, a {@link
     * swfbutton}, a {@link swftext}, a {@link swfaction} or a {@link
     * swfsprite} object from the sprite.
     *
     * @param object $object
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function remove($object){}

    /**
     * Sets the total number of frames in the animation
     *
     * {@link swfsprite::setframes} sets the total number of frames in the
     * animation to {@link numberofframes}.
     *
     * @param int $number
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setFrames($number){}

    /**
     * @param SWFSound $sount
     * @return SWFSoundInstance
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function startSound($sount){}

    /**
     * @param SWFSound $sount
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function stopSound($sount){}

    /**
     * Creates a movie clip (a sprite)
     *
     * Creates a new SWFSprite object.
     *
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function __construct(){}

}
/**
 * SWFText.
 **/
class SWFText {
    /**
     * Draws a string
     *
     * {@link swftext::addstring} draws the string {@link string} at the
     * current pen (cursor) location. Pen is at the baseline of the text;
     * i.e., ascending text is in the -y direction.
     *
     * @param string $string
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function addString($string){}

    /**
     * Writes the given text into this SWFText object at the current pen
     * position, using the current font, height, spacing, and color
     *
     * @param string $text
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function addUTF8String($text){}

    /**
     * Returns the ascent of the current font at its current size, or 0 if
     * not available
     *
     * @return float
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function getAscent(){}

    /**
     * Returns the descent of the current font at its current size, or 0 if
     * not available
     *
     * @return float
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function getDescent(){}

    /**
     * Returns the leading of the current font at its current size, or 0 if
     * not available
     *
     * @return float
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function getLeading(){}

    /**
     * Calculates the width of the given string in this text objects current
     * font and size
     *
     * @param string $string
     * @return float
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function getUTF8Width($string){}

    /**
     * Computes string's width
     *
     * Returns the rendered width of the {@link string} at the text object's
     * current font, scale, and spacing settings.
     *
     * @param string $string
     * @return float
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function getWidth($string){}

    /**
     * Moves the pen
     *
     * {@link swftext::moveto} moves the pen (or cursor, if that makes more
     * sense) to ({@link x},{@link y}) in text object's coordinate space. If
     * either is zero, though, value in that dimension stays the same.
     * Annoying, should be fixed.
     *
     * @param float $x
     * @param float $y
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function moveTo($x, $y){}

    /**
     * Sets the current text color
     *
     * Changes the current text color.
     *
     * @param int $red Value of red component
     * @param int $green Value of green component
     * @param int $blue Value of blue component
     * @param int $a Value of alpha component
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setColor($red, $green, $blue, $a){}

    /**
     * Sets the current font
     *
     * {@link swftext::setfont} sets the current font to {@link font}.
     *
     * @param SWFFont $font
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setFont($font){}

    /**
     * Sets the current font height
     *
     * {@link swftext::setheight} sets the current font height to {@link
     * height}. Default is 240.
     *
     * @param float $height
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setHeight($height){}

    /**
     * Sets the current font spacing
     *
     * {@link swftext::setspacing} sets the current font spacing to {@link
     * spacing}. Default is 1.0. 0 is all of the letters written at the same
     * point. This doesn't really work that well because it inflates the
     * advance across the letter, doesn't add the same amount of spacing
     * between the letters. I should try and explain that better, prolly. Or
     * just fix the damn thing to do constant spacing. This was really just a
     * way to figure out how letter advances work, anyway.. So nyah.
     *
     * @param float $spacing
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setSpacing($spacing){}

    /**
     * Creates a new SWFText object
     *
     * Creates a new SWFText object, fresh for manipulating.
     *
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function __construct(){}

}
/**
 * SWFTextField.
 **/
class SWFTextField {
    /**
     * Adds characters to a font that will be available within a textfield
     *
     * @param string $chars
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function addChars($chars){}

    /**
     * Concatenates the given string to the text field
     *
     * {@link swftextfield::setname} concatenates the string {@link string}
     * to the text field.
     *
     * @param string $string
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function addString($string){}

    /**
     * Sets the text field alignment
     *
     * {@link swftextfield::align} sets the text field alignment to {@link
     * alignement}. Valid values for {@link alignement} are :
     * SWFTEXTFIELD_ALIGN_LEFT, SWFTEXTFIELD_ALIGN_RIGHT,
     * SWFTEXTFIELD_ALIGN_CENTER and SWFTEXTFIELD_ALIGN_JUSTIFY.
     *
     * @param int $alignement
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function align($alignement){}

    /**
     * Sets the text field width and height
     *
     * {@link swftextfield::setbounds} sets the text field width to {@link
     * width} and height to {@link height}. If you don't set the bounds
     * yourself, Ming makes a poor guess at what the bounds are.
     *
     * @param float $width
     * @param float $height
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setBounds($width, $height){}

    /**
     * Sets the color of the text field
     *
     * {@link swftextfield::setcolor} sets the color of the text field.
     * Default is fully opaque black. Color is represented using RGB system.
     *
     * @param int $red Value of red component
     * @param int $green Value of green component
     * @param int $blue Value of blue component
     * @param int $a Value of alpha component
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setColor($red, $green, $blue, $a){}

    /**
     * Sets the text field font
     *
     * {@link swftextfield::setfont} sets the text field font to the
     * [browser-defined?] {@link font} font.
     *
     * @param SWFFont $font
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setFont($font){}

    /**
     * Sets the font height of this text field font
     *
     * {@link swftextfield::setheight} sets the font height of this text
     * field font to the given height {@link height}. Default is 240.
     *
     * @param float $height
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setHeight($height){}

    /**
     * Sets the indentation of the first line
     *
     * {@link swftextfield::setindentation} sets the indentation of the first
     * line in the text field, to {@link width}.
     *
     * @param float $width
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setIndentation($width){}

    /**
     * Sets the left margin width of the text field
     *
     * {@link swftextfield::setleftmargin} sets the left margin width of the
     * text field to {@link width}. Default is 0.
     *
     * @param float $width
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setLeftMargin($width){}

    /**
     * Sets the line spacing of the text field
     *
     * {@link swftextfield::setlinespacing} sets the line spacing of the text
     * field to the height of {@link height}. Default is 40.
     *
     * @param float $height
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setLineSpacing($height){}

    /**
     * Sets the margins width of the text field
     *
     * {@link swftextfield::setmargins} set both margins at once, for the man
     * on the go.
     *
     * @param float $left
     * @param float $right
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setMargins($left, $right){}

    /**
     * Sets the variable name
     *
     * {@link swftextfield::setname} sets the variable name of this text
     * field to {@link name}, for form posting and action scripting purposes.
     *
     * @param string $name
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setName($name){}

    /**
     * Sets the padding of this textfield
     *
     * @param float $padding
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setPadding($padding){}

    /**
     * Sets the right margin width of the text field
     *
     * {@link swftextfield::setrightmargin} sets the right margin width of
     * the text field to {@link width}. Default is 0.
     *
     * @param float $width
     * @return void
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function setRightMargin($width){}

    /**
     * Creates a text field object
     *
     * {@link swftextfield} creates a new text field object. Text Fields are
     * less flexible than {@link swftext} objects- they can't be rotated,
     * scaled non-proportionally, or skewed, but they can be used as form
     * entries, and they can use browser-defined fonts.
     *
     * The optional flags change the text field's behavior. It has the
     * following possibles values : SWFTEXTFIELD_DRAWBOX draws the outline of
     * the textfield SWFTEXTFIELD_HASLENGTH SWFTEXTFIELD_HTML allows text
     * markup using HTML-tags SWFTEXTFIELD_MULTILINE allows multiple lines
     * SWFTEXTFIELD_NOEDIT indicates that the field shouldn't be
     * user-editable SWFTEXTFIELD_NOSELECT makes the field non-selectable
     * SWFTEXTFIELD_PASSWORD obscures the data entry SWFTEXTFIELD_WORDWRAP
     * allows text to wrap Flags are combined with the bitwise OR operation.
     * For example,
     *
     * <?php $t = newSWFTextField(SWFTEXTFIELD_PASSWORD |
     * SWFTEXTFIELD_NOEDIT); ?>
     *
     * creates a totally useless non-editable password field.
     *
     * @param int $flags
     * @since PHP 5 < 5.3.0, PECL ming SVN
     **/
    function __construct($flags){}

}
/**
 * SWFVideoStream.
 **/
class SWFVideoStream {
    /**
     * Returns the number of frames in the video
     *
     * This function returns the number of video-frames of a SWFVideoStream.
     *
     * @return int Returns the number of frames, as an integer
     * @since PHP 5.0.5-5.3.0, PHP 7, PECL ming SVN
     **/
    function getNumFrames(){}

    /**
     * Sets video dimension
     *
     * Sets the width and height for streamed videos.
     *
     * @param int $x Width in pixels.
     * @param int $y Height in pixels.
     * @return void
     * @since PHP 5.0.5-5.3.0, PHP 7, PECL ming SVN
     **/
    function setDimension($x, $y){}

    /**
     * Returns a SWFVideoStream object
     *
     * @param string $file
     * @since PHP 5.0.5-5.3.0, PHP 7, PECL ming SVN
     **/
    function __construct($file){}

}
class Swish {
    const IN_ALL = 0;

    const IN_BODY = 0;

    const IN_BODY_BIT = 0;

    const IN_COMMENTS = 0;

    const IN_COMMENTS_BIT = 0;

    const IN_EMPHASIZED = 0;

    const IN_EMPHASIZED_BIT = 0;

    const IN_FILE = 0;

    const IN_FILE_BIT = 0;

    const IN_HEAD = 0;

    const IN_HEADER = 0;

    const IN_HEADER_BIT = 0;

    const IN_HEAD_BIT = 0;

    const IN_META = 0;

    const IN_META_BIT = 0;

    const IN_TITLE = 0;

    const IN_TITLE_BIT = 0;

    const META_TYPE_DATE = 0;

    const META_TYPE_STRING = 0;

    const META_TYPE_ULONG = 0;

    const META_TYPE_UNDEF = 0;

    /**
     * Get the list of meta entries for the index
     *
     * @param string $index_name The name of the index file.
     * @return array Returns an array of meta entries for the given index.
     * @since PECL swish >= 0.1.0
     **/
    function getMetaList($index_name){}

    /**
     * Get the list of properties for the index
     *
     * @param string $index_name The name of the index file.
     * @return array Returns an array of properties for the given index.
     * @since PECL swish >= 0.1.0
     **/
    function getPropertyList($index_name){}

    /**
     * Prepare a search query
     *
     * Prepare and return a search object, which you can later use for
     * unlimited number of queries.
     *
     * @param string $query Optional query string. The query can be also
     *   set using {@link SwishSearch::execute} method.
     * @return object Returns SwishSearch object.
     * @since PECL swish >= 0.1.0
     **/
    function prepare($query){}

    /**
     * Execute a query and return results object
     *
     * A quick method to execute a search with default parameters.
     *
     * @param string $query Query string.
     * @return object Returns SwishResults object.
     * @since PECL swish >= 0.1.0
     **/
    function query($query){}

    /**
     * Construct a Swish object
     *
     * @param string $index_names The list of index files separated by
     *   spaces.
     * @return void
     * @since PECL swish >= 0.1.0
     **/
    function __construct($index_names){}

}
class SwishResult {
    /**
     * Get a list of meta entries
     *
     * @return array Returns the same array as {@link swish::getmetalist},
     *   but uses the index file from the result handle.
     * @since PECL swish >= 0.1.0
     **/
    function getMetaList(){}

    /**
     * Stems the given word
     *
     * Stems the word based on the fuzzy mode used during indexing. Each
     * result object is linked with its index, so the results are based on
     * this index.
     *
     * @param string $word The word to stem.
     * @return array Returns array containing the stemmed word variants
     *   (usually just one).
     * @since PECL swish >= 0.1.0
     **/
    function stem($word){}

}
class SwishResults {
    /**
     * Get an array of parsed words
     *
     * @param string $index_name The name of the index used to initialize
     *   Swish object.
     * @return array An array of parsed words with stopwords removed. The
     *   list of parsed words may be useful for highlighting search terms in
     *   the results.
     * @since PECL swish >= 0.1.0
     **/
    function getParsedWords($index_name){}

    /**
     * Get an array of stopwords removed from the query
     *
     * @param string $index_name The name of the index used to initialize
     *   Swish object.
     * @return array Returns array of stopwords removed from the query.
     * @since PECL swish >= 0.1.0
     **/
    function getRemovedStopwords($index_name){}

    /**
     * Get the next search result
     *
     * @return object Returns the next SwishResult object in the result set
     *   or FALSE if there are no more results available.
     * @since PECL swish >= 0.1.0
     **/
    function nextResult(){}

    /**
     * Set current seek pointer to the given position
     *
     * @param int $position Zero-based position number. Cannot be less than
     *   zero.
     * @return int Returns new position value on success.
     * @since PECL swish >= 0.1.0
     **/
    function seekResult($position){}

}
class SwishSearch {
    /**
     * Execute the search and get the results
     *
     * Searches the index file(s) based on the parameters set in the search
     * object.
     *
     * @param string $query The query string is an optional parameter, it
     *   can be also set using {@link Swish::prepare} method. The query
     *   string is preserved between executions, so you can set it once, but
     *   execute the search multiple times.
     * @return object Returns SwishResults object.
     * @since PECL swish >= 0.1.0
     **/
    function execute($query){}

    /**
     * Reset the search limits
     *
     * Reset the search limits previous set by .
     *
     * @return void
     * @since PECL swish >= 0.1.0
     **/
    function resetLimit(){}

    /**
     * Set the search limits
     *
     * @param string $property Search result property name.
     * @param string $low The lowest value of the property.
     * @param string $high The highest value of the property.
     * @return void
     * @since PECL swish >= 0.1.0
     **/
    function setLimit($property, $low, $high){}

    /**
     * Set the phrase delimiter
     *
     * @param string $delimiter Phrase delimiter character. The default
     *   delimiter is double-quotes.
     * @return void
     * @since PECL swish >= 0.1.0
     **/
    function setPhraseDelimiter($delimiter){}

    /**
     * Set the sort order
     *
     * @param string $sort Sort order of the results is a string containing
     *   name of a result property combined with sort direction ("asc" or
     *   "desc"). Examples: "swishrank desc", "swishdocpath asc", "swishtitle
     *   asc", "swishdocsize desc", "swishlastmodified desc" etc.
     * @return void
     * @since PECL swish >= 0.1.0
     **/
    function setSort($sort){}

    /**
     * Set the structure flag in the search object
     *
     * @param int $structure The structure flag a bitmask is used to limit
     *   search to certain parts of HTML documents (like title, meta, body
     *   etc.). Its possible values are listed below. To combine several
     *   values use bitwise OR operator, see example below.
     * @return void
     * @since PECL swish >= 0.1.0
     **/
    function setStructure($structure){}

}
namespace Swoole {
class Async {
    /**
     * Async and non-blocking hostname to IP lookup.
     *
     * @param string $hostname The host name.
     * @param callable $callback
     * @return void
     **/
    public static function dnsLookup($hostname, $callback){}

    /**
     * Read file stream asynchronously.
     *
     * @param string $filename The name of the file.
     * @param callable $callback
     * @param integer $chunk_size The name of the file.
     * @param integer $offset The content readed from the file stream.
     * @return bool Whether the read is succeed.
     **/
    public static function read($filename, $callback, $chunk_size, $offset){}

    /**
     * Read a file asynchronously.
     *
     * @param string $filename The filename of the file being read.
     * @param callable $callback
     * @return void
     **/
    public static function readFile($filename, $callback){}

    /**
     * Update the async I/O options.
     *
     * @param array $settings
     * @return void
     **/
    public static function set($settings){}

    /**
     * Write data to a file stream asynchronously.
     *
     * @param string $filename The filename being written.
     * @param string $content The content writing to the file.
     * @param integer $offset The offset.
     * @param callable $callback
     * @return void
     **/
    public static function write($filename, $content, $offset, $callback){}

    /**
     * @param string $filename The filename being written.
     * @param string $content The content writing to the file.
     * @param callable $callback
     * @param string $flags
     * @return void
     **/
    public static function writeFile($filename, $content, $callback, $flags){}

}
}
namespace Swoole {
class Atomic {
    /**
     * Add a number to the value to the atomic object.
     *
     * @param integer $add_value The value which will be added to the
     *   current value.
     * @return integer The new value of the atomic object.
     **/
    public function add($add_value){}

    /**
     * Compare and set the value of the atomic object.
     *
     * @param integer $cmp_value The value to compare with the current
     *   value of the atomic object.
     * @param integer $new_value The value to set to the atomic object if
     *   the cmp_value is the same as the current value of the atomic object.
     * @return integer The new value of the atomic object.
     **/
    public function cmpset($cmp_value, $new_value){}

    /**
     * Get the current value of the atomic object.
     *
     * @return integer The current value of the atomic object.
     **/
    public function get(){}

    /**
     * Set a new value to the atomic object.
     *
     * @param integer $value The value to set to the atomic object.
     * @return integer The current value of the atomic object.
     **/
    public function set($value){}

    /**
     * Subtract a number to the value of the atomic object.
     *
     * @param integer $sub_value The value which will be subtracted to the
     *   current value.
     * @return integer The current value of the atomic object.
     **/
    public function sub($sub_value){}

}
}
namespace Swoole {
class Buffer {
    /**
     * Append the string or binary data at the end of the memory buffer and
     * return the new size of memory allocated.
     *
     * @param string $data The string or binary data to append at the end
     *   of the memory buffer.
     * @return integer The new size of the memory buffer.
     **/
    public function append($data){}

    /**
     * Reset the memory buffer.
     *
     * @return void
     **/
    public function clear(){}

    /**
     * Expand the size of memory buffer.
     *
     * @param integer $size The new size of the memory buffer.
     * @return integer The new size of the memory buffer.
     **/
    public function expand($size){}

    /**
     * Read data from the memory buffer based on offset and length.
     *
     * @param integer $offset The offset.
     * @param integer $length The length.
     * @return string The data readed from the memory buffer.
     **/
    public function read($offset, $length){}

    /**
     * Release the memory to OS which is not used by the memory buffer.
     *
     * @return void
     **/
    public function recycle(){}

    /**
     * Read data from the memory buffer based on offset and length. Or remove
     * data from the memory buffer.
     *
     * If $remove is set to be true and $offset is set to be 0, the data will
     * be removed from the buffer. The memory for storing the data will be
     * released when the buffer object is deconstructed.
     *
     * @param integer $offset The offset.
     * @param integer $length The length.
     * @param bool $remove Whether to remove the data from the memory
     *   buffer.
     * @return string The data or string readed from the memory buffer.
     **/
    public function substr($offset, $length, $remove){}

    /**
     * Write data to the memory buffer. The memory allocated for the buffer
     * will not be changed.
     *
     * @param integer $offset The offset.
     * @param string $data The data to write to the memory buffer.
     * @return void
     **/
    public function write($offset, $data){}

    /**
     * Destruct the Swoole memory buffer.
     *
     * @return void
     **/
    public function __destruct(){}

    /**
     * Get the string value of the memory buffer.
     *
     * @return string The string value of the memory buffer.
     **/
    public function __toString(){}

}
}
namespace Swoole {
class Channel {
    /**
     * Read and pop data from swoole channel.
     *
     * @return mixed If the channel is empty, the function will return
     *   false, or return the unserialized data.
     **/
    public function pop(){}

    /**
     * Write and push data into Swoole channel.
     *
     * Data can be any non-empty PHP variable, the variable will be
     * serialized if it is not string type.
     *
     * If size of the data is more than 8KB, swoole channel will use temp
     * files storage.
     *
     * The function will return true if the write operation is succeeded, or
     * return false if there is not enough space.
     *
     * @param string $data The data to push into the Swoole channel.
     * @return bool Wheter the data is pushed into he Swoole channel.
     **/
    public function push($data){}

    /**
     * Get stats of swoole channel.
     *
     * Get the numbers of queued elements and total size of the memory used
     * by the queue.
     *
     * @return array The stats of the Swoole channel.
     **/
    public function stats(){}

    /**
     * Destruct a Swoole channel.
     *
     * @return void
     **/
    public function __destruct(){}

}
}
namespace Swoole {
class Client {
    /**
     * @var mixed
     **/
    public $errCode;

    /**
     * @var mixed
     **/
    public $reuse;

    /**
     * @var mixed
     **/
    public $reuseCount;

    /**
     * @var mixed
     **/
    public $sock;

    /**
     * Close the connection established.
     *
     * @param bool $force Whether force to close the connection.
     * @return bool Whether the connection is closed.
     **/
    public function close($force){}

    /**
     * Connect to the remote TCP or UDP port.
     *
     * @param string $host The host name of the remote address.
     * @param integer $port The port number of the remote address.
     * @param integer $timeout The timeout(second) of connect/send/recv,
     *   the dafault value is 0.1s
     * @param integer $flag If the type of client is UDP, the $flag means
     *   if to enable the configuration udp_connect. If the configuration
     *   udp_connect is enabled, the client will only receive the data from
     *   specified ip:port. If the type of client is TCP and the $flag is set
     *   to 1, it must use swoole_client_select to check the connection
     *   status before send/recv.
     * @return bool Whether the connection is established.
     **/
    public function connect($host, $port, $timeout, $flag){}

    /**
     * Get the remote socket name of the connection.
     *
     * @return array The host and port of the remote socket.
     **/
    public function getpeername(){}

    /**
     * Get the local socket name of the connection.
     *
     * @return array The host and port of the local socket.
     **/
    public function getsockname(){}

    /**
     * Check if the connection is established.
     *
     * This method returns the connection status of application layer.
     *
     * @return bool Whether the connection is established.
     **/
    public function isConnected(){}

    /**
     * Add callback functions triggered by events.
     *
     * @param string $event
     * @param callable $callback
     * @return void
     **/
    public function on($event, $callback){}

    /**
     * Pause receiving data.
     *
     * @return void
     **/
    public function pause(){}

    /**
     * Redirect the data to another file descriptor.
     *
     * @param string $socket
     * @return void
     **/
    public function pipe($socket){}

    /**
     * Receive data from the remote socket.
     *
     * @param string $size
     * @param string $flag
     * @return void
     **/
    public function recv($size, $flag){}

    /**
     * Resume receiving data.
     *
     * @return void
     **/
    public function resume(){}

    /**
     * Send data to the remote TCP socket.
     *
     * @param string $data The data to send which can be string or binary
     * @param string $flag
     * @return integer If the client sends data successfully, it returns
     *   the length of data sent. Or it returns false and sets
     *   $swoole_client->errCode. For sync client, there is no limit for the
     *   data to send. For async client, The limit for the data to send is
     *   socket_buffer_size.
     **/
    public function send($data, $flag){}

    /**
     * Send file to the remote TCP socket.
     *
     * This is a wrapper of the Linux sendfile system call.
     *
     * @param string $filename File path of the file to send.
     * @param int $offset Offset of the file to send
     * @return boolean
     **/
    public function sendfile($filename, $offset){}

    /**
     * Send data to the remote UDP address.
     *
     * The swoole client should be type of SWOOLE_SOCK_UDP or
     * SWOOLE_SOCK_UDP6.
     *
     * @param string $ip The IP address of remote host, IPv4 or IPv6.
     * @param integer $port The port number of remote host.
     * @param string $data The data to send which should be less-than 64K.
     * @return boolean
     **/
    public function sendto($ip, $port, $data){}

    /**
     * Set the Swoole client parameters before the connection is established.
     *
     * @param array $settings
     * @return void
     **/
    public function set($settings){}

    /**
     * Remove the TCP client from system event loop.
     *
     * @return void
     **/
    public function sleep(){}

    /**
     * Add the TCP client back into the system event loop.
     *
     * @return void
     **/
    public function wakeup(){}

    /**
     * Destruct the Swoole client.
     *
     * @return void
     **/
    public function __destruct(){}

}
}
namespace Swoole\Connection {
class Iterator implements Iterator, Countable, ArrayAccess {
    /**
     * Count connections.
     *
     * Gets the number of connections.
     *
     * @return int The number of connections.
     **/
    public function count(){}

    /**
     * Return current connection entry.
     *
     * Get current connection entry.
     *
     * @return Connection The current connection entry.
     * @since PHP 5, PHP 7
     **/
    public function current(){}

    /**
     * Return key of the current connection.
     *
     * This function returns key of the current connection.
     *
     * @return int Key of the current connection.
     * @since PHP 5, PHP 7
     **/
    public function key(){}

    /**
     * Move to the next connection.
     *
     * The iterator to the next connection.
     *
     * @return Connection
     * @since PHP 5, PHP 7
     **/
    public function next(){}

    /**
     * Check if offet exists.
     *
     * Check if offset exists.
     *
     * @param int $index The offset being checked.
     * @return boolean Returns TRUE if the offset exists, otherwise FALSE.
     **/
    public function offsetExists($index){}

    /**
     * Offset to retrieve.
     *
     * Return the connection at specified offset.
     *
     * @param string $index The offset to retrieve.
     * @return Connection
     **/
    public function offsetGet($index){}

    /**
     * Assign a Connection to the specified offset.
     *
     * @param int $offset The offset to assign the Connection to.
     * @param mixed $connection The connection to set.
     * @return void
     **/
    public function offsetSet($offset, $connection){}

    /**
     * Unset an offset.
     *
     * Unsets an offset.
     *
     * @param int $offset The offset to unset.
     * @return void
     **/
    public function offsetUnset($offset){}

    /**
     * Rewinds iterator
     *
     * @return void
     * @since PHP 5, PHP 7
     **/
    public function rewind(){}

    /**
     * Check if current position is valid.
     *
     * Checks if the current position is valid.
     *
     * @return boolean Returns TRUE if the current iterator position is
     *   valid, otherwise FALSE.
     * @since PHP 5, PHP 7
     **/
    public function valid(){}

}
}
namespace Swoole {
class Coroutine {
    /**
     * Call a callback given by the first parameter
     *
     * Calls the {@link callback} given by the first parameter and passes the
     * remaining parameters as arguments.
     *
     * @param callable $callback The callable to be called.
     * @param mixed $parameter Zero or more parameters to be passed to the
     *   callback.
     * @return mixed
     **/
    public static function call_user_func($callback, $parameter){}

    /**
     * Call a callback with an array of parameters
     *
     * Calls the callback given by the first parameter with the parameters in
     * param_array.
     *
     * @param callable $callback The callable to be called.
     * @param array $param_array Zero or more parameters in the array to be
     *   passed to the callback.
     * @return mixed
     **/
    public static function call_user_func_array($callback, $param_array){}

    /**
     * @return ReturnType
     **/
    public static function cli_wait(){}

    /**
     * @return ReturnType
     **/
    public static function create(){}

    /**
     * @return ReturnType
     **/
    public static function getuid(){}

    /**
     * @return ReturnType
     **/
    public static function resume(){}

    /**
     * @return ReturnType
     **/
    public static function suspend(){}

}
}
namespace Swoole\Coroutine {
class Client {
    /**
     * @var mixed
     **/
    public $errCode;

    /**
     * @var mixed
     **/
    public $sock;

    /**
     * @return ReturnType
     **/
    public function close(){}

    /**
     * @return ReturnType
     **/
    public function connect(){}

    /**
     * @return ReturnType
     **/
    public function getpeername(){}

    /**
     * @return ReturnType
     **/
    public function getsockname(){}

    /**
     * @return ReturnType
     **/
    public function isConnected(){}

    /**
     * @return ReturnType
     **/
    public function recv(){}

    /**
     * @return ReturnType
     **/
    public function send(){}

    /**
     * @return ReturnType
     **/
    public function sendfile(){}

    /**
     * @return ReturnType
     **/
    public function sendto(){}

    /**
     * @return ReturnType
     **/
    public function set(){}

    /**
     * @return ReturnType
     **/
    public function __destruct(){}

}
}
namespace Swoole\Coroutine\Http {
class Client {
    /**
     * @var mixed
     **/
    public $errCode;

    /**
     * @var mixed
     **/
    public $sock;

    /**
     * @return ReturnType
     **/
    public function addFile(){}

    /**
     * @return ReturnType
     **/
    public function close(){}

    /**
     * @return ReturnType
     **/
    public function execute(){}

    /**
     * @return ReturnType
     **/
    public function get(){}

    /**
     * @return ReturnType
     **/
    public function getDefer(){}

    /**
     * @return ReturnType
     **/
    public function isConnected(){}

    /**
     * @return ReturnType
     **/
    public function post(){}

    /**
     * @return ReturnType
     **/
    public function recv(){}

    /**
     * @return ReturnType
     **/
    public function set(){}

    /**
     * @return ReturnType
     **/
    public function setCookies(){}

    /**
     * @return ReturnType
     **/
    public function setData(){}

    /**
     * @return ReturnType
     **/
    public function setDefer(){}

    /**
     * @return ReturnType
     **/
    public function setHeaders(){}

    /**
     * @return ReturnType
     **/
    public function setMethod(){}

    /**
     * @return ReturnType
     **/
    public function __destruct(){}

}
}
namespace Swoole\Coroutine {
class MySQL {
    /**
     * @var mixed
     **/
    public $affected_rows;

    /**
     * @var mixed
     **/
    public $connected;

    /**
     * @var mixed
     **/
    public $connect_errno;

    /**
     * @var mixed
     **/
    public $connect_error;

    /**
     * @var mixed
     **/
    public $errno;

    /**
     * @var mixed
     **/
    public $error;

    /**
     * @var mixed
     **/
    public $insert_id;

    /**
     * @var mixed
     **/
    public $sock;

    /**
     * @return ReturnType
     **/
    public function close(){}

    /**
     * @return ReturnType
     **/
    public function connect(){}

    /**
     * @return ReturnType
     **/
    public function getDefer(){}

    /**
     * @return ReturnType
     **/
    public function query(){}

    /**
     * @return ReturnType
     **/
    public function recv(){}

    /**
     * @return ReturnType
     **/
    public function setDefer(){}

    /**
     * @return ReturnType
     **/
    public function __destruct(){}

}
}
namespace Swoole\Coroutine\MySQL {
class Exception extends Exception implements Throwable {
}
}
namespace Swoole {
class Event {
    /**
     * Add new callback functions of a socket into the EventLoop.
     *
     * @param int $fd
     * @param callable $read_callback
     * @param callable $write_callback
     * @param string $events
     * @return boolean
     * @since PECL event >= 1.2.6-beta
     **/
    public static function add($fd, $read_callback, $write_callback, $events){}

    /**
     * Add a callback function to the next event loop.
     *
     * @param mixed $callback
     * @return void
     **/
    public static function defer($callback){}

    /**
     * Remove all event callback functions of a socket.
     *
     * @param string $fd
     * @return boolean
     * @since PECL event >= 1.2.6-beta
     **/
    public static function del($fd){}

    /**
     * Exit the eventloop, only available at client side.
     *
     * @return void
     **/
    public static function exit(){}

    /**
     * Update the event callback functions of a socket.
     *
     * @param int $fd
     * @param string $read_callback
     * @param string $write_callback
     * @param string $events
     * @return boolean
     * @since PECL event >= 1.2.6-beta
     **/
    public static function set($fd, $read_callback, $write_callback, $events){}

    /**
     * @return void
     **/
    public static function wait(){}

    /**
     * Write data to the socket.
     *
     * @param string $fd
     * @param string $data
     * @return void
     **/
    public static function write($fd, $data){}

}
}
namespace Swoole {
class Exception extends Exception implements Throwable {
}
}
namespace Swoole\Http {
class Client {
    /**
     * @var mixed
     **/
    public $errCode;

    /**
     * @var mixed
     **/
    public $sock;

    /**
     * Add a file to the post form.
     *
     * @param string $path
     * @param string $name
     * @param string $type
     * @param string $filename
     * @param string $offset
     * @return void
     **/
    public function addFile($path, $name, $type, $filename, $offset){}

    /**
     * Close the http connection.
     *
     * @return void
     **/
    public function close(){}

    /**
     * Download a file from the remote server.
     *
     * @param string $path
     * @param string $file
     * @param callable $callback
     * @param integer $offset
     * @return void
     **/
    public function download($path, $file, $callback, $offset){}

    /**
     * Send the HTTP request after setting the parameters.
     *
     * @param string $path
     * @param string $callback
     * @return void
     **/
    public function execute($path, $callback){}

    /**
     * Send GET http request to the remote server.
     *
     * @param string $path
     * @param callable $callback
     * @return void
     **/
    public function get($path, $callback){}

    /**
     * Check if the HTTP connection is connected.
     *
     * @return boolean
     **/
    public function isConnected(){}

    /**
     * Register callback function by event name.
     *
     * @param string $event_name
     * @param callable $callback
     * @return void
     **/
    public function on($event_name, $callback){}

    /**
     * Send POST http request to the remote server.
     *
     * @param string $path
     * @param string $data
     * @param callable $callback
     * @return void
     **/
    public function post($path, $data, $callback){}

    /**
     * Push data to websocket client.
     *
     * @param string $data
     * @param string $opcode
     * @param string $finish
     * @return void
     **/
    public function push($data, $opcode, $finish){}

    /**
     * Update the HTTP client paramters.
     *
     * @param array $settings
     * @return void
     **/
    public function set($settings){}

    /**
     * Set the http request cookies.
     *
     * @param array $cookies
     * @return void
     **/
    public function setCookies($cookies){}

    /**
     * Set the HTTP request body data.
     *
     * The HTTP method will be changed to be POST.
     *
     * @param string $data
     * @return ReturnType
     **/
    public function setData($data){}

    /**
     * Set the HTTP request headers.
     *
     * @param array $headers
     * @return void
     **/
    public function setHeaders($headers){}

    /**
     * Set the HTTP request method.
     *
     * @param string $method
     * @return void
     **/
    public function setMethod($method){}

    /**
     * Upgrade to websocket protocol.
     *
     * @param string $path
     * @param string $callback
     * @return void
     **/
    public function upgrade($path, $callback){}

    /**
     * Destruct the HTTP client.
     *
     * @return void
     **/
    public function __destruct(){}

}
}
namespace Swoole\Http {
class Request {
    /**
     * Get the raw HTTP POST body.
     *
     * This method is used for the POST data which isn't in the form of
     * `application/x-www-form-urlencoded`.
     *
     * @return string
     **/
    public function rawcontent(){}

    /**
     * Destruct the HTTP request.
     *
     * @return void
     **/
    public function __destruct(){}

}
}
namespace Swoole\Http {
class Response {
    /**
     * Set the cookies of the HTTP response.
     *
     * @param string $name
     * @param string $value
     * @param string $expires
     * @param string $path
     * @param string $domain
     * @param string $secure
     * @param string $httponly
     * @return string
     **/
    public function cookie($name, $value, $expires, $path, $domain, $secure, $httponly){}

    /**
     * Send data for the HTTP request and finish the response.
     *
     * @param string $content
     * @return void
     **/
    public function end($content){}

    /**
     * Enable the gzip of response content.
     *
     * The header about Content-Encoding will be added automatically.
     *
     * @param string $compress_level
     * @return ReturnType
     **/
    public function gzip($compress_level){}

    /**
     * Set the HTTP response headers.
     *
     * @param string $key
     * @param string $value
     * @param string $ucwords
     * @return void
     **/
    public function header($key, $value, $ucwords){}

    /**
     * Init the HTTP response header.
     *
     * @return ReturnType
     **/
    public function initHeader(){}

    /**
     * Set the raw cookies to the HTTP response.
     *
     * @param string $name
     * @param string $value
     * @param string $expires
     * @param string $path
     * @param string $domain
     * @param string $secure
     * @param string $httponly
     * @return ReturnType
     **/
    public function rawcookie($name, $value, $expires, $path, $domain, $secure, $httponly){}

    /**
     * Send file through the HTTP response.
     *
     * @param string $filename
     * @param int $offset
     * @return ReturnType
     **/
    public function sendfile($filename, $offset){}

    /**
     * Set the status code of the HTTP response.
     *
     * @param string $http_code
     * @return ReturnType
     **/
    public function status($http_code){}

    /**
     * Append HTTP body content to the HTTP response.
     *
     * @param string $content
     * @return void
     **/
    public function write($content){}

    /**
     * Destruct the HTTP response.
     *
     * @return void
     **/
    public function __destruct(){}

}
}
namespace Swoole\Http {
class Server extends Swoole\Server {
    /**
     * Bind callback function to HTTP server by event name.
     *
     * @param string $event_name
     * @param callable $callback
     * @return void
     **/
    public function on($event_name, $callback){}

    /**
     * Start the swoole http server.
     *
     * @return void
     **/
    public function start(){}

}
}
namespace Swoole {
class Lock {
    /**
     * Try to acquire the lock. It will block if the lock is not available.
     *
     * @return void
     **/
    public function lock(){}

    /**
     * Lock a read-write lock for reading.
     *
     * @return void
     **/
    public function lock_read(){}

    /**
     * Try to acquire the lock and return straight away even the lock is not
     * available.
     *
     * @return void
     **/
    public function trylock(){}

    /**
     * Try to lock a read-write lock for reading and return straight away
     * even the lock is not available.
     *
     * @return void
     **/
    public function trylock_read(){}

    /**
     * Release the lock.
     *
     * @return void
     **/
    public function unlock(){}

    /**
     * Destory a Swoole memory lock.
     *
     * @return void
     **/
    public function __destruct(){}

}
}
namespace Swoole {
class Mmap {
    /**
     * Map a file into memory and return the stream resource which can be
     * used by PHP stream operations.
     *
     * @param string $filename
     * @param string $size
     * @param string $offset
     * @return ReturnType
     **/
    public static function open($filename, $size, $offset){}

}
}
namespace Swoole {
class Module {
}
}
namespace Swoole {
class MySQL {
    /**
     * Close the async MySQL connection.
     *
     * @return void
     **/
    public function close(){}

    /**
     * Connect to the remote MySQL server.
     *
     * @param array $server_config
     * @param callable $callback
     * @return void
     **/
    public function connect($server_config, $callback){}

    /**
     * @return ReturnType
     **/
    public function getBuffer(){}

    /**
     * Register callback function based on event name.
     *
     * Register callback function based on event name, current only 'close'
     * event is supported.
     *
     * @param string $event_name
     * @param callable $callback
     * @return void
     **/
    public function on($event_name, $callback){}

    /**
     * Run the SQL query.
     *
     * @param string $sql
     * @param callable $callback
     * @return ReturnType
     **/
    public function query($sql, $callback){}

    /**
     * Destory the async MySQL client.
     *
     * @return void
     **/
    public function __destruct(){}

}
}
namespace Swoole\MySQL {
class Exception extends Exception implements Throwable {
}
}
namespace Swoole {
class Process {
    /**
     * High precision timer which triggers signal with fixed interval.
     *
     * @param integer $interval_usec
     * @return void
     **/
    public static function alarm($interval_usec){}

    /**
     * Close the pipe to the child process.
     *
     * @return void
     **/
    public function close(){}

    /**
     * Change the process to be a daemon process.
     *
     * @param boolean $nochdir
     * @param boolean $noclose
     * @return void
     **/
    public static function daemon($nochdir, $noclose){}

    /**
     * Execute system commands.
     *
     * The process will be replaced to be the system command process, but the
     * pipe to the parent process will be kept.
     *
     * @param string $exec_file
     * @param string $args
     * @return ReturnType
     **/
    public function exec($exec_file, $args){}

    /**
     * Stop the child processes.
     *
     * @param string $exit_code
     * @return void
     **/
    public function exit($exit_code){}

    /**
     * Destory the message queue created by swoole_process::useQueue.
     *
     * @return void
     **/
    public function freeQueue(){}

    /**
     * Send signal to the child process.
     *
     * @param integer $pid
     * @param string $signal_no
     * @return void
     **/
    public static function kill($pid, $signal_no){}

    /**
     * Set name of the process.
     *
     * @param string $process_name
     * @return void
     **/
    public function name($process_name){}

    /**
     * Read and pop data from the message queue.
     *
     * @param integer $maxsize
     * @return mixed
     **/
    public function pop($maxsize){}

    /**
     * Write and push data into the message queue.
     *
     * @param string $data
     * @return boolean
     **/
    public function push($data){}

    /**
     * Read data sending to the process.
     *
     * @param integer $maxsize
     * @return string
     **/
    public function read($maxsize){}

    /**
     * Send signal to the child processes.
     *
     * @param string $signal_no
     * @param callable $callback
     * @return void If signal sent successfully, it returns TRUE, otherwise
     *   it returns FALSE.
     **/
    public static function signal($signal_no, $callback){}

    /**
     * Start the process.
     *
     * @return void
     **/
    public function start(){}

    /**
     * Get the stats of the message queue used as the communication method
     * between processes.
     *
     * @return array The array of status of the message queue.
     **/
    public function statQueue(){}

    /**
     * Create a message queue as the communication method between the parent
     * process and child processes.
     *
     * @param integer $key
     * @param integer $mode
     * @return boolean
     **/
    public function useQueue($key, $mode){}

    /**
     * Wait for the events of child processes.
     *
     * @param boolean $blocking
     * @return array
     **/
    public static function wait($blocking){}

    /**
     * Write data into the pipe and communicate with the parent process or
     * child processes.
     *
     * @param string $data
     * @return integer
     **/
    public function write($data){}

    /**
     * Destory the process.
     *
     * @return void
     **/
    public function __destruct(){}

}
}
namespace Swoole\Redis {
class Server extends Swoole\Server {
    /**
     * @param string $type
     * @param string $value
     * @return ReturnType
     **/
    public static function format($type, $value){}

    /**
     * @param string $command
     * @param string $callback
     * @param string $number_of_string_param
     * @param string $type_of_array_param
     * @return ReturnType
     **/
    public function setHandler($command, $callback, $number_of_string_param, $type_of_array_param){}

    /**
     * @return ReturnType
     **/
    public function start(){}

}
}
namespace Swoole {
class Serialize {
    /**
     * Serialize the data.
     *
     * Swoole provides a fast and high performance serialization module.
     *
     * @param string $data
     * @param int $is_fast
     * @return ReturnType
     **/
    public static function pack($data, $is_fast){}

    /**
     * Unserialize the data.
     *
     * @param string $data
     * @param string $args
     * @return ReturnType
     **/
    public static function unpack($data, $args){}

}
}
namespace Swoole {
class Server {
    /**
     * Add a new listener to the server.
     *
     * @param string $host
     * @param integer $port
     * @param string $socket_type
     * @return void
     **/
    public function addlistener($host, $port, $socket_type){}

    /**
     * Add a user defined swoole_process to the server.
     *
     * @param swoole_process $process
     * @return boolean
     **/
    public function addProcess($process){}

    /**
     * Trigger a callback function after a period of time.
     *
     * @param integer $after_time_ms
     * @param callable $callback
     * @param string $param
     * @return ReturnType
     **/
    public function after($after_time_ms, $callback, $param){}

    /**
     * Bind the connection to a user defined user ID.
     *
     * @param integer $fd
     * @param integer $uid
     * @return boolean
     **/
    public function bind($fd, $uid){}

    /**
     * Stop and destory a timer.
     *
     * Stop and destory a timer
     *
     * @param integer $timer_id
     * @return void
     **/
    public function clearTimer($timer_id){}

    /**
     * Close a connection to the client.
     *
     * @param integer $fd
     * @param boolean $reset
     * @return boolean
     **/
    public function close($fd, $reset){}

    /**
     * Check status of the connection.
     *
     * @param integer $fd
     * @return boolean
     **/
    public function confirm($fd){}

    /**
     * Get the connection info by file description.
     *
     * @param integer $fd
     * @param integer $reactor_id
     * @return array
     **/
    public function connection_info($fd, $reactor_id){}

    /**
     * Get all of the established connections.
     *
     * @param integer $start_fd
     * @param integer $pagesize
     * @return array
     **/
    public function connection_list($start_fd, $pagesize){}

    /**
     * Delay execution of the callback function at the end of current
     * EventLoop.
     *
     * @param callable $callback
     * @return void
     **/
    public function defer($callback){}

    /**
     * Check if the connection is existed.
     *
     * @param integer $fd
     * @return boolean
     **/
    public function exist($fd){}

    /**
     * Used in task process for sending result to the worker process when the
     * task is finished.
     *
     * @param string $data
     * @return void
     **/
    public function finish($data){}

    /**
     * Get the connection info by file description.
     *
     * @param integer $fd
     * @param integer $reactor_id
     * @return ReturnType
     **/
    public function getClientInfo($fd, $reactor_id){}

    /**
     * Get all of the established connections.
     *
     * @param integer $start_fd
     * @param integer $pagesize
     * @return array
     **/
    public function getClientList($start_fd, $pagesize){}

    /**
     * Get the error code of the most recent error.
     *
     * @return integer
     **/
    public function getLastError(){}

    /**
     * Check all the connections on the server.
     *
     * @param boolean $if_close_connection
     * @return mixed
     **/
    public function heartbeat($if_close_connection){}

    /**
     * Listen on the given IP and port, socket type.
     *
     * @param string $host
     * @param integer $port
     * @param string $socket_type
     * @return boolean
     **/
    public function listen($host, $port, $socket_type){}

    /**
     * Register a callback function by event name.
     *
     * @param string $event_name
     * @param callable $callback
     * @return void
     **/
    public function on($event_name, $callback){}

    /**
     * Stop receiving data from the connection.
     *
     * @param integer $fd
     * @return void
     **/
    public function pause($fd){}

    /**
     * Set the connection to be protected mode.
     *
     * @param integer $fd
     * @param boolean $is_protected
     * @return void
     **/
    public function protect($fd, $is_protected){}

    /**
     * Restart all the worker process.
     *
     * @return boolean
     **/
    public function reload(){}

    /**
     * Start receving data from the connection.
     *
     * @param integer $fd
     * @return void
     **/
    public function resume($fd){}

    /**
     * Send data to the client.
     *
     * @param integer $fd
     * @param string $data
     * @param integer $reactor_id
     * @return boolean
     **/
    public function send($fd, $data, $reactor_id){}

    /**
     * Send file to the connection.
     *
     * @param integer $fd
     * @param string $filename
     * @param integer $offset
     * @return boolean
     **/
    public function sendfile($fd, $filename, $offset){}

    /**
     * Send message to worker processes by ID.
     *
     * @param integer $worker_id
     * @param string $data
     * @return boolean
     **/
    public function sendMessage($worker_id, $data){}

    /**
     * Send data to the remote UDP address.
     *
     * @param string $ip
     * @param integer $port
     * @param string $data
     * @param string $server_socket
     * @return boolean
     **/
    public function sendto($ip, $port, $data, $server_socket){}

    /**
     * Send data to the remote socket in the blocking way.
     *
     * @param integer $fd
     * @param string $data
     * @return boolean
     **/
    public function sendwait($fd, $data){}

    /**
     * Set the runtime settings of the swoole server.
     *
     * Set the runtime settings of the swoole server. The settings can be
     * accessed by $server->setting when the swoole server has started.
     *
     * @param array $settings
     * @return ReturnType
     **/
    public function set($settings){}

    /**
     * Shutdown the master server process, this function can be called in
     * worker processes.
     *
     * @return void
     **/
    public function shutdown(){}

    /**
     * Start the Swoole server.
     *
     * @return void
     **/
    public function start(){}

    /**
     * Get the stats of the Swoole server.
     *
     * @return array
     **/
    public function stats(){}

    /**
     * Stop the Swoole server.
     *
     * @param integer $worker_id
     * @return boolean
     **/
    public function stop($worker_id){}

    /**
     * Send data to the task worker processes.
     *
     * @param string $data
     * @param integer $dst_worker_id
     * @param callable $callback
     * @return mixed
     **/
    public function task($data, $dst_worker_id, $callback){}

    /**
     * Send data to the task worker processes in blocking way.
     *
     * @param string $data
     * @param float $timeout
     * @param integer $worker_id
     * @return void
     **/
    public function taskwait($data, $timeout, $worker_id){}

    /**
     * Execute multiple tasks concurrently.
     *
     * @param array $tasks
     * @param double $timeout_ms
     * @return void
     **/
    public function taskWaitMulti($tasks, $timeout_ms){}

    /**
     * Repeats a given function at every given time-interval.
     *
     * @param integer $interval_ms
     * @param callable $callback
     * @return void
     **/
    public function tick($interval_ms, $callback){}

}
}
namespace Swoole\Server {
class Port {
    /**
     * Register callback functions by event.
     *
     * @param string $event_name
     * @param callable $callback
     * @return ReturnType
     **/
    public function on($event_name, $callback){}

    /**
     * Set protocol of the server port.
     *
     * @param array $settings
     * @return void
     **/
    public function set($settings){}

    /**
     * Destory server port
     *
     * @return void
     **/
    public function __destruct(){}

}
}
namespace Swoole {
class Table implements Iterator, Countable {
    /**
     * Set the data type and size of the columns.
     *
     * @param string $name
     * @param string $type
     * @param integer $size
     * @return ReturnType
     **/
    public function column($name, $type, $size){}

    /**
     * Count the rows in the table, or count all the elements in the table if
     * $mode = 1.
     *
     * @return integer
     **/
    public function count(){}

    /**
     * Create the swoole memory table.
     *
     * @return void
     **/
    public function create(){}

    /**
     * Get the current row.
     *
     * @return array
     **/
    public function current(){}

    /**
     * Decrement the value in the Swoole table by $row_key and $column_key.
     *
     * @param string $key
     * @param string $column
     * @param integer $decrby
     * @return ReturnType
     **/
    public function decr($key, $column, $decrby){}

    /**
     * Delete a row in the Swoole table by $row_key.
     *
     * @param string $key
     * @return void
     **/
    public function del($key){}

    /**
     * Destroy the Swoole table.
     *
     * @return void
     **/
    public function destroy(){}

    /**
     * Check if a row is existed by $row_key.
     *
     * @param string $key
     * @return boolean
     **/
    public function exist($key){}

    /**
     * Get the value in the Swoole table by $row_key and $column_key.
     *
     * @param string $row_key
     * @param string $column_key
     * @return integer
     **/
    public function get($row_key, $column_key){}

    /**
     * Increment the value by $row_key and $column_key.
     *
     * @param string $key
     * @param string $column
     * @param integer $incrby
     * @return void
     **/
    public function incr($key, $column, $incrby){}

    /**
     * Get the key of current row.
     *
     * @return string
     **/
    public function key(){}

    /**
     * Iterator the next row.
     *
     * @return ReturnType
     **/
    public function next(){}

    /**
     * Rewind the iterator.
     *
     * @return void
     **/
    public function rewind(){}

    /**
     * Update a row of the table by $row_key.
     *
     * @param string $key
     * @param array $value
     * @return VOID
     **/
    public function set($key, $value){}

    /**
     * Check current if the current row is valid.
     *
     * @return boolean
     **/
    public function valid(){}

}
}
namespace Swoole {
class Timer {
    /**
     * Trigger a callback function after a period of time.
     *
     * @param int $after_time_ms
     * @param callable $callback
     * @return void
     **/
    public static function after($after_time_ms, $callback){}

    /**
     * Delete a timer by timer ID.
     *
     * @param integer $timer_id
     * @return void
     **/
    public static function clear($timer_id){}

    /**
     * Check if a timer is existed.
     *
     * @param integer $timer_id
     * @return boolean
     **/
    public static function exists($timer_id){}

    /**
     * Repeats a given function at every given time-interval.
     *
     * @param integer $interval_ms
     * @param callable $callback
     * @param string $param
     * @return void
     **/
    public static function tick($interval_ms, $callback, $param){}

}
}
namespace Swoole\WebSocket {
class Frame {
}
}
namespace Swoole\WebSocket {
class Server extends Swoole\Http\Server {
    /**
     * Check if the the file description is existed.
     *
     * @param integer $fd
     * @return boolean
     **/
    public function exist($fd){}

    /**
     * Register event callback function
     *
     * @param string $event_name
     * @param callable $callback
     * @return ReturnType
     **/
    public function on($event_name, $callback){}

    /**
     * Get a pack of binary data to send in a single frame.
     *
     * @param string $data
     * @param string $opcode
     * @param string $finish
     * @param string $mask
     * @return binary
     **/
    public static function pack($data, $opcode, $finish, $mask){}

    /**
     * Push data to the remote client.
     *
     * @param string $fd
     * @param string $data
     * @param string $opcode
     * @param string $finish
     * @return void
     **/
    public function push($fd, $data, $opcode, $finish){}

    /**
     * Unpack the binary data received from the client.
     *
     * @param binary $data
     * @return string
     **/
    public static function unpack($data){}

}
}
/**
 * A cross-platform, native implementation of named and unnamed event
 * objects. Both automatic and manual event objects are supported. An
 * event object waits, without polling, for the object to be fired/set.
 * One instance waits on the event object while another instance
 * fires/sets the event. Event objects are useful wherever a long-running
 * process would otherwise poll a resource (e.g. checking to see if
 * uploaded data needs to be processed).
 **/
class SyncEvent {
    /**
     * Fires/sets the event
     *
     * Fires/sets a SyncEvent object. Lets multiple threads through that are
     * waiting if the event object was created with a manual value of TRUE.
     *
     * @return bool A boolean of TRUE if the event was fired, FALSE
     *   otherwise.
     * @since PECL sync >= 1.0.0
     **/
    public function fire(){}

    /**
     * Resets a manual event
     *
     * Resets a SyncEvent object that has been fired/set. Only valid for
     * manual event objects.
     *
     * @return bool A boolean value of TRUE if the object was successfully
     *   reset, FALSE otherwise.
     * @since PECL sync >= 1.0.0
     **/
    public function reset(){}

    /**
     * Waits for the event to be fired/set
     *
     * Waits for the SyncEvent object to be fired.
     *
     * @param int $wait The number of milliseconds to wait for the event to
     *   be fired. A value of -1 is infinite.
     * @return bool A boolean of TRUE if the event was fired, FALSE
     *   otherwise.
     * @since PECL sync >= 1.0.0
     **/
    public function wait($wait){}

    /**
     * Constructs a new SyncEvent object
     *
     * Constructs a named or unnamed event object.
     *
     * @param string $name The name of the event if this is a named event
     *   object.
     * @param bool $manual Specifies whether or not the event object must
     *   be reset manually.
     * @param bool $prefire Specifies whether or not to prefire (signal)
     *   the event object.
     * @since PECL sync >= 1.0.0
     **/
    public function __construct($name, $manual, $prefire){}

}
/**
 * A cross-platform, native implementation of named and unnamed countable
 * mutex objects. A mutex is a mutual exclusion object that restricts
 * access to a shared resource (e.g. a file) to a single instance.
 * Countable mutexes acquire the mutex a single time and internally track
 * the number of times the mutex is locked. The mutex is unlocked as soon
 * as it goes out of scope or is unlocked the same number of times that
 * it was locked.
 **/
class SyncMutex {
    /**
     * Waits for an exclusive lock
     *
     * Obtains an exclusive lock on a SyncMutex object. If the lock is
     * already acquired, then this increments an internal counter.
     *
     * @param int $wait The number of milliseconds to wait for the
     *   exclusive lock. A value of -1 is infinite.
     * @return bool A boolean of TRUE if the lock was obtained, FALSE
     *   otherwise.
     * @since PECL sync >= 1.0.0
     **/
    public function lock($wait){}

    /**
     * Unlocks the mutex
     *
     * Decreases the internal counter of a SyncMutex object. When the
     * internal counter reaches zero, the actual lock on the object is
     * released.
     *
     * @param bool $all Specifies whether or not to set the internal
     *   counter to zero and therefore release the lock.
     * @return bool A boolean of TRUE if the unlock operation was
     *   successful, FALSE otherwise.
     * @since PECL sync >= 1.0.0
     **/
    public function unlock($all){}

    /**
     * Constructs a new SyncMutex object
     *
     * Constructs a named or unnamed countable mutex.
     *
     * @param string $name The name of the mutex if this is a named mutex
     *   object.
     * @since PECL sync >= 1.0.0
     **/
    public function __construct($name){}

}
/**
 * A cross-platform, native implementation of named and unnamed
 * reader-writer objects. A reader-writer object allows many readers or
 * one writer to access a resource. This is an efficient solution for
 * managing resources where access will primarily be read-only but
 * exclusive write access is occasionally necessary.
 **/
class SyncReaderWriter {
    /**
     * Waits for a read lock
     *
     * Obtains a read lock on a SyncReaderWriter object.
     *
     * @param int $wait The number of milliseconds to wait for a lock. A
     *   value of -1 is infinite.
     * @return bool A boolean of TRUE if the lock was obtained, FALSE
     *   otherwise.
     * @since PECL sync >= 1.0.0
     **/
    public function readlock($wait){}

    /**
     * Releases a read lock
     *
     * Releases a read lock on a SyncReaderWriter object.
     *
     * @return bool A boolean of TRUE if the unlock operation was
     *   successful, FALSE otherwise.
     * @since PECL sync >= 1.0.0
     **/
    public function readunlock(){}

    /**
     * Waits for an exclusive write lock
     *
     * Obtains an exclusive write lock on a SyncReaderWriter object.
     *
     * @param int $wait The number of milliseconds to wait for a lock. A
     *   value of -1 is infinite.
     * @return bool A boolean of TRUE if the lock was obtained, FALSE
     *   otherwise.
     * @since PECL sync >= 1.0.0
     **/
    public function writelock($wait){}

    /**
     * Releases a write lock
     *
     * Releases a write lock on a SyncReaderWriter object.
     *
     * @return bool A boolean of TRUE if the unlock operation was
     *   successful, FALSE otherwise.
     * @since PECL sync >= 1.0.0
     **/
    public function writeunlock(){}

    /**
     * Constructs a new SyncReaderWriter object
     *
     * Constructs a named or unnamed reader-writer object.
     *
     * @param string $name The name of the reader-writer if this is a named
     *   reader-writer object.
     * @param bool $autounlock Specifies whether or not to automatically
     *   unlock the reader-writer at the conclusion of the PHP script.
     * @since PECL sync >= 1.0.0
     **/
    public function __construct($name, $autounlock){}

}
/**
 * A cross-platform, native implementation of named and unnamed sempahore
 * objects. A semaphore restricts access to a limited resource to a
 * limited number of instances. Semaphores differ from mutexes in that
 * they can allow more than one instance to access a resource at one time
 * while a mutex only allows one instance at a time.
 **/
class SyncSemaphore {
    /**
     * Decreases the count of the semaphore or waits
     *
     * Decreases the count of a SyncSemaphore object or waits until the
     * semaphore becomes non-zero.
     *
     * @param int $wait The number of milliseconds to wait for the
     *   semaphore. A value of -1 is infinite.
     * @return bool A boolean of TRUE if the lock operation was successful,
     *   FALSE otherwise.
     * @since PECL sync >= 1.0.0
     **/
    public function lock($wait){}

    /**
     * Increases the count of the semaphore
     *
     * Increases the count of a SyncSemaphore object.
     *
     * @param int $prevcount Returns the previous count of the semaphore.
     * @return bool A boolean of TRUE if the unlock operation was
     *   successful, FALSE otherwise.
     * @since PECL sync >= 1.0.0
     **/
    public function unlock(&$prevcount){}

    /**
     * Constructs a new SyncSemaphore object
     *
     * Constructs a named or unnamed semaphore.
     *
     * @param string $name The name of the semaphore if this is a named
     *   semaphore object.
     * @param int $initialval The initial value of the semaphore. This is
     *   the number of locks that may be obtained.
     * @param bool $autounlock Specifies whether or not to automatically
     *   unlock the semaphore at the conclusion of the PHP script.
     * @since PECL sync >= 1.0.0
     **/
    public function __construct($name, $initialval, $autounlock){}

}
/**
 * A cross-platform, native, consistent implementation of named shared
 * memory objects. Shared memory lets two separate processes communicate
 * without the need for complex pipes or sockets. There are several
 * integer-based shared memory implementations for PHP. Named shared
 * memory is an alternative. Synchronization objects (e.g. SyncMutex) are
 * still required to protect most uses of shared memory.
 **/
class SyncSharedMemory {
    /**
     * Check to see if the object is the first instance system-wide of named
     * shared memory
     *
     * Retrieves the system-wide first instance status of a SyncSharedMemory
     * object.
     *
     * @return bool A boolean of TRUE if the object is the first instance
     *   system-wide, FALSE otherwise.
     * @since PECL sync >= 1.1.0
     **/
    public function first(){}

    /**
     * Copy data from named shared memory
     *
     * Copies data from named shared memory.
     *
     * @param int $start The start/offset, in bytes, to begin reading.
     * @param int $length The number of bytes to read.
     * @since PECL sync >= 1.1.0
     **/
    public function read($start, $length){}

    /**
     * Returns the size of the named shared memory
     *
     * Retrieves the shared memory size of a SyncSharedMemory object.
     *
     * @return bool An integer containing the size of the shared memory.
     *   This will be the same size that was passed to the constructor.
     * @since PECL sync >= 1.1.0
     **/
    public function size(){}

    /**
     * Copy data to named shared memory
     *
     * Copies data to named shared memory.
     *
     * @param string $string The data to write to shared memoy.
     * @param int $start The start/offset, in bytes, to begin writing.
     * @since PECL sync >= 1.1.0
     **/
    public function write($string, $start){}

    /**
     * Constructs a new SyncSharedMemory object
     *
     * Constructs a named shared memory object.
     *
     * @param string $name The name of the shared memory object.
     * @param int $size The size, in bytes, of shared memory to reserve.
     * @since PECL sync >= 1.1.0
     **/
    public function __construct($name, $size){}

}
/**
 * When the start method of a Thread is invoked, the run method code will
 * be executed in separate Thread, in parallel. After the run method is
 * executed the Thread will exit immediately, it will be joined with the
 * creating Thread at the appropriate time.
 **/
class Thread extends Threaded implements Countable, Traversable, ArrayAccess {
    /**
     * Execution
     *
     * Detaches the referenced Thread from the calling context, dangerous!
     *
     * @return void
     * @since PECL pthreads < 3.0.0
     **/
    public function detach(){}

    /**
     * Identification
     *
     * Will return the identity of the Thread that created the referenced
     * Thread
     *
     * @return int A numeric identity
     * @since PECL pthreads >= 2.0.0
     **/
    public function getCreatorId(){}

    /**
     * Identification
     *
     * Return a reference to the currently executing Thread
     *
     * @return Thread An object representing the currently executing Thread
     * @since PECL pthreads >= 2.0.0
     **/
    public static function getCurrentThread(){}

    /**
     * Identification
     *
     * Will return the identity of the currently executing Thread
     *
     * @return int A numeric identity
     * @since PECL pthreads >= 2.0.0
     **/
    public static function getCurrentThreadId(){}

    /**
     * Identification
     *
     * Will return the identity of the referenced Thread
     *
     * @return int A numeric identity
     * @since PECL pthreads >= 2.0.0
     **/
    public function getThreadId(){}

    /**
     * Execution
     *
     * Will execute a Callable in the global scope
     *
     * @return mixed The return value of the Callable
     * @since PECL pthreads < 3.0.0
     **/
    public static function globally(){}

    /**
     * State Detection
     *
     * Tell if the referenced Thread has been joined
     *
     * @return bool A boolean indication of state
     * @since PECL pthreads >= 2.0.0
     **/
    public function isJoined(){}

    /**
     * State Detection
     *
     * Tell if the referenced Thread was started
     *
     * @return bool boolean indication of state
     * @since PECL pthreads >= 2.0.0
     **/
    public function isStarted(){}

    /**
     * Synchronization
     *
     * Causes the calling context to wait for the referenced Thread to finish
     * executing
     *
     * @return bool A boolean indication of success
     * @since PECL pthreads >= 2.0.0
     **/
    public function join(){}

    /**
     * Execution
     *
     * Forces the referenced Thread to terminate
     *
     * @return void A boolean indication of success
     * @since PECL pthreads < 3.0.0
     **/
    public function kill(){}

    /**
     * Execution
     *
     * Will start a new Thread to execute the implemented run method
     *
     * @param int $options An optional mask of inheritance constants, by
     *   default PTHREADS_INHERIT_ALL
     * @return bool A boolean indication of success
     * @since PECL pthreads >= 2.0.0
     **/
    public function start($options){}

}
/**
 * Threaded objects form the basis of pthreads ability to execute user
 * code in parallel; they expose synchronization methods and various
 * useful interfaces. Threaded objects, most importantly, provide
 * implicit safety for the programmer; all operations on the object scope
 * are safe.
 **/
class Threaded implements Collectable, Traversable, Countable, ArrayAccess {
    /**
     * Manipulation
     *
     * Fetches a chunk of the objects property table of the given size,
     * optionally preserving keys
     *
     * @param int $size The number of items to fetch
     * @param bool $preserve Preserve the keys of members, by default false
     * @return array An array of items from the objects property table
     * @since PECL pthreads >= 2.0.0
     **/
    public function chunk($size, $preserve){}

    /**
     * Manipulation
     *
     * Returns the number of properties for this object
     *
     * @return int
     * @since PECL pthreads >= 2.0.0
     **/
    public function count(){}

    /**
     * Runtime Manipulation
     *
     * Makes thread safe standard class at runtime
     *
     * @param string $class The class to extend
     * @return bool A boolean indication of success
     * @since PECL pthreads >= 2.0.8
     **/
    public function extend($class){}

    /**
     * Creation
     *
     * Creates an anonymous Threaded object from closures
     *
     * @param Closure $run The closure to use for ::run
     * @param Closure $construct The constructor to use for anonymous
     *   object
     * @param array $args The arguments to pass to constructor
     * @return Threaded A new anonymous Threaded object
     * @since PECL pthreads >= 2.0.9
     **/
    public function from($run, $construct, $args){}

    /**
     * Error Detection
     *
     * Retrieves terminal error information from the referenced object
     *
     * @return array array containing the termination conditions of the
     *   referenced object
     * @since PECL pthreads < 3.0.0
     **/
    public function getTerminationInfo(){}

    /**
     * State Detection
     *
     * Tell if the referenced object is executing
     *
     * @return bool A boolean indication of state A object is considered
     *   running while executing the run method
     * @since PECL pthreads >= 2.0.0
     **/
    public function isRunning(){}

    /**
     * State Detection
     *
     * Tell if the referenced object was terminated during execution;
     * suffered fatal errors, or threw uncaught exceptions
     *
     * @return bool A boolean indication of state
     * @since PECL pthreads >= 2.0.0
     **/
    public function isTerminated(){}

    /**
     * State Detection
     *
     * Tell if the referenced object is waiting for notification
     *
     * @return bool A boolean indication of state
     * @since PECL pthreads < 3.0.0
     **/
    public function isWaiting(){}

    /**
     * Synchronization
     *
     * Lock the referenced objects property table
     *
     * @return bool A boolean indication of success
     * @since PECL pthreads < 3.0.0
     **/
    public function lock(){}

    /**
     * Manipulation
     *
     * Merges data into the current object
     *
     * @param mixed $from The data to merge
     * @param bool $overwrite Overwrite existing keys, by default true
     * @return bool A boolean indication of success
     * @since PECL pthreads >= 2.0.0
     **/
    public function merge($from, $overwrite){}

    /**
     * Synchronization
     *
     * Send notification to the referenced object
     *
     * @return bool A boolean indication of success
     * @since PECL pthreads >= 2.0.0
     **/
    public function notify(){}

    /**
     * Synchronization
     *
     * Send notification to the referenced object. This unblocks at least one
     * of the blocked threads (as opposed to unblocking all of them, as seen
     * with Threaded::notify).
     *
     * @return bool A boolean indication of success
     * @since PECL pthreads >= 3.0.0
     **/
    public function notifyOne(){}

    /**
     * Manipulation
     *
     * Pops an item from the objects property table
     *
     * @return bool The last item from the objects property table
     * @since PECL pthreads >= 2.0.0
     **/
    public function pop(){}

    /**
     * Execution
     *
     * The programmer should always implement the run method for objects that
     * are intended for execution.
     *
     * @return void The methods return value, if used, will be ignored
     * @since PECL pthreads >= 2.0.0
     **/
    public function run(){}

    /**
     * Manipulation
     *
     * Shifts an item from the objects property table
     *
     * @return mixed The first item from the objects property table
     * @since PECL pthreads >= 2.0.0
     **/
    public function shift(){}

    /**
     * Synchronization
     *
     * Executes the block while retaining the referenced objects
     * synchronization lock for the calling context
     *
     * @param Closure $block The block of code to execute
     * @return mixed The return value from the block
     * @since PECL pthreads >= 2.0.0
     **/
    public function synchronized($block){}

    /**
     * Synchronization
     *
     * Unlock the referenced objects storage for the calling context
     *
     * @return bool A boolean indication of success
     * @since PECL pthreads < 3.0.0
     **/
    public function unlock(){}

    /**
     * Synchronization
     *
     * Will cause the calling context to wait for notification from the
     * referenced object
     *
     * @param int $timeout An optional timeout in microseconds
     * @return bool A boolean indication of success
     * @since PECL pthreads >= 2.0.0
     **/
    public function wait($timeout){}

}
/**
 * An HTML node in an HTML file, as detected by tidy.
 **/
class tidy {
    /**
     * Return warnings and errors which occurred parsing the specified
     * document
     *
     * (property):
     *
     * Returns warnings and errors which occurred parsing the specified
     * document.
     *
     * @var string
     **/
    public $errorBuffer;

    /**
     * Returns a object starting from the tag of the tidy parse tree
     *
     * Returns a tidyNode object starting from the <body> tag of the tidy
     * parse tree.
     *
     * @return tidyNode Returns a tidyNode object starting from the <body>
     *   tag of the tidy parse tree.
     **/
    function body(){}

    /**
     * Execute configured cleanup and repair operations on parsed markup
     *
     * This function cleans and repairs the given tidy {@link object}.
     *
     * @return bool
     **/
    function cleanRepair(){}

    /**
     * Run configured diagnostics on parsed and repaired markup
     *
     * Runs diagnostic tests on the given tidy {@link object}, adding some
     * more information about the document in the error buffer.
     *
     * @return bool
     **/
    function diagnose(){}

    /**
     * Get current Tidy configuration
     *
     * Gets the list of the configuration options in use by the given tidy
     * {@link object}.
     *
     * @return array Returns an array of configuration options.
     **/
    function getConfig(){}

    /**
     * Get the Detected HTML version for the specified document
     *
     * Returns the detected HTML version for the specified tidy {@link
     * object}.
     *
     * @return int Returns the detected HTML version.
     **/
    function getHtmlVer(){}

    /**
     * Returns the value of the specified configuration option for the tidy
     * document
     *
     * Returns the value of the specified {@link option} for the specified
     * tidy {@link object}.
     *
     * @param string $option
     * @return mixed Returns the value of the specified {@link option}. The
     *   return type depends on the type of the specified one.
     **/
    function getOpt($option){}

    /**
     * Returns the documentation for the given option name
     *
     * {@link tidy_get_opt_doc} returns the documentation for the given
     * option name.
     *
     * @param string $optname
     * @return string Returns a string if the option exists and has
     *   documentation available, or FALSE otherwise.
     **/
    function getOptDoc($optname){}

    /**
     * Get release date (version) for Tidy library
     *
     * Gets the release date of the Tidy library.
     *
     * @return string Returns a string with the release date of the Tidy
     *   library.
     **/
    function getRelease(){}

    /**
     * Get status of specified document
     *
     * Returns the status for the specified tidy {@link object}.
     *
     * @return int Returns 0 if no error/warning was raised, 1 for warnings
     *   or accessibility errors, or 2 for errors.
     **/
    function getStatus(){}

    /**
     * Returns a object starting from the tag of the tidy parse tree
     *
     * Returns a tidyNode object starting from the <head> tag of the tidy
     * parse tree.
     *
     * @return tidyNode Returns the tidyNode object.
     **/
    function head(){}

    /**
     * Returns a object starting from the tag of the tidy parse tree
     *
     * Returns a tidyNode object starting from the <html> tag of the tidy
     * parse tree.
     *
     * @return tidyNode Returns the tidyNode object.
     **/
    function html(){}

    /**
     * Indicates if the document is a XHTML document
     *
     * Tells if the document is a XHTML document.
     *
     * @return bool This function returns TRUE if the specified tidy {@link
     *   object} is a XHTML document, or FALSE otherwise.
     **/
    function isXhtml(){}

    /**
     * Indicates if the document is a generic (non HTML/XHTML) XML document
     *
     * Tells if the document is a generic (non HTML/XHTML) XML document.
     *
     * @return bool This function returns TRUE if the specified tidy {@link
     *   object} is a generic XML document (non HTML/XHTML), or FALSE
     *   otherwise.
     **/
    function isXml(){}

    /**
     * Parse markup in file or URI
     *
     * Parses the given file.
     *
     * @param string $filename If the {@link filename} parameter is given,
     *   this function will also read that file and initialize the object
     *   with the file, acting like {@link tidy_parse_file}.
     * @param mixed $config The config {@link config} can be passed either
     *   as an array or as a string. If a string is passed, it is interpreted
     *   as the name of the configuration file, otherwise, it is interpreted
     *   as the options themselves. For an explanation about each option, see
     *   .
     * @param string $encoding The {@link encoding} parameter sets the
     *   encoding for input/output documents. The possible values for
     *   encoding are: ascii, latin0, latin1, raw, utf8, iso2022, mac,
     *   win1252, ibm858, utf16, utf16le, utf16be, big5, and shiftjis.
     * @param bool $use_include_path Search for the file in the
     *   include_path.
     * @return bool
     **/
    function parseFile($filename, $config, $encoding, $use_include_path){}

    /**
     * Parse a document stored in a string
     *
     * Parses a document stored in a string.
     *
     * @param string $input The data to be parsed.
     * @param mixed $config The config {@link config} can be passed either
     *   as an array or as a string. If a string is passed, it is interpreted
     *   as the name of the configuration file, otherwise, it is interpreted
     *   as the options themselves. For an explanation about each option,
     *   visit .
     * @param string $encoding The {@link encoding} parameter sets the
     *   encoding for input/output documents. The possible values for
     *   encoding are: ascii, latin0, latin1, raw, utf8, iso2022, mac,
     *   win1252, ibm858, utf16, utf16le, utf16be, big5, and shiftjis.
     * @return bool Returns a new tidy instance.
     **/
    function parseString($input, $config, $encoding){}

    /**
     * Repair a file and return it as a string
     *
     * Repairs the given file and returns it as a string.
     *
     * @param string $filename The file to be repaired.
     * @param mixed $config The config {@link config} can be passed either
     *   as an array or as a string. If a string is passed, it is interpreted
     *   as the name of the configuration file, otherwise, it is interpreted
     *   as the options themselves. Check
     *   http://tidy.sourceforge.net/docs/quickref.html for an explanation
     *   about each option.
     * @param string $encoding The {@link encoding} parameter sets the
     *   encoding for input/output documents. The possible values for
     *   encoding are: ascii, latin0, latin1, raw, utf8, iso2022, mac,
     *   win1252, ibm858, utf16, utf16le, utf16be, big5, and shiftjis.
     * @param bool $use_include_path Search for the file in the
     *   include_path.
     * @return string Returns the repaired contents as a string.
     **/
    function repairFile($filename, $config, $encoding, $use_include_path){}

    /**
     * Repair a string using an optionally provided configuration file
     *
     * Repairs the given string.
     *
     * @param string $data The data to be repaired.
     * @param mixed $config The config {@link config} can be passed either
     *   as an array or as a string. If a string is passed, it is interpreted
     *   as the name of the configuration file, otherwise, it is interpreted
     *   as the options themselves. Check for an explanation about each
     *   option.
     * @param string $encoding The {@link encoding} parameter sets the
     *   encoding for input/output documents. The possible values for
     *   encoding are: ascii, latin0, latin1, raw, utf8, iso2022, mac,
     *   win1252, ibm858, utf16, utf16le, utf16be, big5, and shiftjis.
     * @return string Returns the repaired string.
     **/
    function repairString($data, $config, $encoding){}

    /**
     * Returns a object representing the root of the tidy parse tree
     *
     * Returns a tidyNode object representing the root of the tidy parse
     * tree.
     *
     * @return tidyNode Returns the tidyNode object.
     **/
    function root(){}

    /**
     * Constructs a new object
     *
     * Constructs a new tidy object.
     *
     * @param string $filename If the {@link filename} parameter is given,
     *   this function will also read that file and initialize the object
     *   with the file, acting like {@link tidy_parse_file}.
     * @param mixed $config The config {@link config} can be passed either
     *   as an array or as a string. If a string is passed, it is interpreted
     *   as the name of the configuration file, otherwise, it is interpreted
     *   as the options themselves. For an explanation about each option,
     *   visit .
     * @param string $encoding The {@link encoding} parameter sets the
     *   encoding for input/output documents. The possible values for
     *   encoding are: ascii, latin0, latin1, raw, utf8, iso2022, mac,
     *   win1252, ibm858, utf16, utf16le, utf16be, big5, and shiftjis.
     * @param bool $use_include_path Search for the file in the
     *   include_path.
     * @since PHP 5, PHP 7, PECL tidy >= 0.5.2
     **/
    function __construct($filename, $config, $encoding, $use_include_path){}

}
/**
 * An HTML node in an HTML file, as detected by tidy. 5.1.0 line, column
 * and proprietary were added
 **/
class tidyNode {
    /**
     * An array of string, representing the attributes names (as keys) of the
     * current node.
     *
     * @var array
     **/
    public $attribute;

    /**
     * An array of tidyNode, representing the children of the current node.
     *
     * @var array
     **/
    public $child;

    /**
     * The column number at which the tags is located in the file
     *
     * @var int
     **/
    public $column;

    /**
     * The ID of the tag (one of the constants above, e.g. TIDY_TAG_FRAME)
     *
     * @var int
     **/
    public $id;

    /**
     * The line number at which the tags is located in the file
     *
     * @var int
     **/
    public $line;

    /**
     * The name of the HTML node
     *
     * @var string
     **/
    public $name;

    /**
     * Indicates if the node is a proprietary tag
     *
     * @var bool
     **/
    public $proprietary;

    /**
     * The type of the tag (one of the constants above, e.g.
     * TIDY_NODETYPE_PHP)
     *
     * @var int
     **/
    public $type;

    /**
     * The HTML representation of the node, including the surrounding tags.
     *
     * @var string
     **/
    public $value;

    /**
     * Returns the parent node of the current node
     *
     * @return tidyNode Returns a tidyNode if the node has a parent, or
     *   NULL otherwise.
     * @since PHP 5 >= 5.2.2, PHP 7
     **/
    function getParent(){}

    /**
     * Checks if a node has children
     *
     * Tells if the node has children.
     *
     * @return bool Returns TRUE if the node has children, FALSE otherwise.
     * @since PHP 5, PHP 7
     **/
    function hasChildren(){}

    /**
     * Checks if a node has siblings
     *
     * Tells if the node has siblings.
     *
     * @return bool Returns TRUE if the node has siblings, FALSE otherwise.
     * @since PHP 5, PHP 7
     **/
    function hasSiblings(){}

    /**
     * Checks if this node is ASP
     *
     * Tells whether the current node is ASP.
     *
     * @return bool Returns TRUE if the node is ASP, FALSE otherwise.
     * @since PHP 5, PHP 7
     **/
    function isAsp(){}

    /**
     * Checks if a node represents a comment
     *
     * Tells if the node is a comment.
     *
     * @return bool Returns TRUE if the node is a comment, FALSE otherwise.
     * @since PHP 5, PHP 7
     **/
    function isComment(){}

    /**
     * Checks if a node is part of a HTML document
     *
     * Tells if the node is part of HTML document.
     *
     * @return bool Returns TRUE if the node is part of a HTML document,
     *   FALSE otherwise.
     * @since PHP 5, PHP 7
     **/
    function isHtml(){}

    /**
     * Checks if this node is JSTE
     *
     * Tells if the node is JSTE.
     *
     * @return bool Returns TRUE if the node is JSTE, FALSE otherwise.
     * @since PHP 5, PHP 7
     **/
    function isJste(){}

    /**
     * Checks if a node is PHP
     *
     * Tells if the node is PHP.
     *
     * @return bool Returns TRUE if the current node is PHP code, FALSE
     *   otherwise.
     * @since PHP 5, PHP 7
     **/
    function isPhp(){}

    /**
     * Checks if a node represents text (no markup)
     *
     * Tells if the node represents a text (without any markup).
     *
     * @return bool Returns TRUE if the node represent a text, FALSE
     *   otherwise.
     * @since PHP 5, PHP 7
     **/
    function isText(){}

}
/**
 * The main Tokyo Tyrant class
 **/
class TokyoTyrant {
    /**
     * @var integer
     **/
    const RDBDEF_PORT = 0;

    /**
     * @var integer
     **/
    const RDBIT_DECIMAL = 0;

    /**
     * @var integer
     **/
    const RDBIT_KEEP = 0;

    /**
     * @var integer
     **/
    const RDBIT_LEXICAL = 0;

    /**
     * @var integer
     **/
    const RDBIT_OPT = 0;

    /**
     * @var integer
     **/
    const RDBIT_QGRAM = 0;

    /**
     * @var integer
     **/
    const RDBIT_TOKEN = 0;

    /**
     * @var integer
     **/
    const RDBIT_VOID = 0;

    /**
     * @var integer
     **/
    const RDBMS_DIFF = 0;

    /**
     * @var integer
     **/
    const RDBMS_ISECT = 0;

    /**
     * @var integer
     **/
    const RDBMS_UNION = 0;

    /**
     * @var integer
     **/
    const RDBQCFTS_AND = 0;

    /**
     * @var integer
     **/
    const RDBQCFTS_EX = 0;

    /**
     * @var integer
     **/
    const RDBQCFTS_OR = 0;

    /**
     * @var integer
     **/
    const RDBQCFTS_PH = 0;

    /**
     * @var integer
     **/
    const RDBQC_NEGATE = 0;

    /**
     * @var integer
     **/
    const RDBQC_NOIDX = 0;

    /**
     * @var integer
     **/
    const RDBQC_NUMBT = 0;

    /**
     * @var integer
     **/
    const RDBQC_NUMEQ = 0;

    /**
     * @var integer
     **/
    const RDBQC_NUMGE = 0;

    /**
     * @var integer
     **/
    const RDBQC_NUMGT = 0;

    /**
     * @var integer
     **/
    const RDBQC_NUMLE = 0;

    /**
     * @var integer
     **/
    const RDBQC_NUMLT = 0;

    /**
     * @var integer
     **/
    const RDBQC_NUMOREQ = 0;

    /**
     * @var integer
     **/
    const RDBQC_STRAND = 0;

    /**
     * @var integer
     **/
    const RDBQC_STRBW = 0;

    /**
     * @var integer
     **/
    const RDBQC_STREQ = 0;

    /**
     * @var integer
     **/
    const RDBQC_STREW = 0;

    /**
     * @var integer
     **/
    const RDBQC_STRINC = 0;

    /**
     * @var integer
     **/
    const RDBQC_STROR = 0;

    /**
     * @var integer
     **/
    const RDBQC_STROREQ = 0;

    /**
     * @var integer
     **/
    const RDBQC_STRRX = 0;

    /**
     * @var integer
     **/
    const RDBQO_NUMASC = 0;

    /**
     * @var integer
     **/
    const RDBQO_NUMDESC = 0;

    /**
     * @var integer
     **/
    const RDBQO_STRASC = 0;

    /**
     * @var integer
     **/
    const RDBQO_STRDESC = 0;

    /**
     * @var integer
     **/
    const RDBREC_DBL = 0;

    /**
     * @var integer
     **/
    const RDBREC_INT = 0;

    /**
     * @var integer
     **/
    const RDBT_RECON = 0;

    /**
     * @var integer
     **/
    const RDBXOLCK_GLB = 0;

    /**
     * @var integer
     **/
    const RDBXO_LCKREC = 0;

    /**
     * Adds to a numeric key
     *
     * Adds to an int or double value. This increments the value by the given
     * amount and returns the new value. If the key does not exist a new key
     * is created with initial value of the increment parameter.
     *
     * @param string $key The string key
     * @param number $increment The amount to increment
     * @param int $type TokyoTyrant::RDBREC_INT or TokyoTyrant::RDBREC_DBL
     *   constant. If this parameter is omitted the type is guessed from the
     *   {@link increment} parameters type.
     * @return number Returns the new value on success
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function add($key, $increment, $type){}

    /**
     * Connect to a database
     *
     * Connects to a remote database
     *
     * @param string $host The hostname
     * @param int $port The port. Default: 1978
     * @param array $options Connection options: timeout (default: 5.0),
     *   reconnect (default: TRUE) and persistent (default: TRUE)
     * @return TokyoTyrant This method returns the current object and
     *   throws TokyoTyrantException on failure.
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function connect($host, $port, $options){}

    /**
     * Connects to a database
     *
     * Connects to a database using an uri
     *
     * @param string $uri An URI to the database. For example
     *   tcp://localhost:1979/
     * @return TokyoTyrant This method returns the current object and
     *   throws TokyoTyrantException on failure.
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function connectUri($uri){}

    /**
     * Copies the database
     *
     * Makes a copy of the current database
     *
     * @param string $path Path to where to copy the database. The user
     *   running the remote database must have a write access to the
     *   directory.
     * @return TokyoTyrant This method returns the current object and
     *   throws TokyoTyrantException on failure.
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function copy($path){}

    /**
     * Execute a remote script
     *
     * Executes a remote script extension.
     *
     * @param string $name Name of the function to execute
     * @param int $options Either TokyoTyrant::RDBXO_LCKREC for record
     *   locking and TokyoTyrant::RDBXO_LCKGLB for global locking.
     * @param string $key The key to pass to the function
     * @param string $value The value to pass to the function
     * @return string Returns the result of the script function
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function ext($name, $options, $key, $value){}

    /**
     * Returns the forward matching keys
     *
     * Returns the forward matching keys from the database
     *
     * @param string $prefix Prefix of the keys
     * @param int $max_recs Maximum records to return
     * @return array Returns an array of matching keys. The values are not
     *   returned
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function fwmKeys($prefix, $max_recs){}

    /**
     * The get purpose
     *
     * This method is used to return a value or multiple values. This method
     * accepts a string or an array as a value.
     *
     * @param mixed $keys A string key or an array of string keys
     * @return mixed Returns a string or an array based on the given
     *   parameters. Throws a TokyoTyrantException on error. If string is
     *   passed null is returned if the key is not found. In case an array is
     *   given as an parameter only existing keys will be returned. It is not
     *   an error to pass a key that does not exist.
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function get($keys){}

    /**
     * Get an iterator
     *
     * Gets an iterator for iterating all keys / values in the database.
     *
     * @return TokyoTyrantIterator This method returns TokyoTyrantIterator
     *   object and throws TokyoTyrantException on failure.
     **/
    public function getIterator(){}

    /**
     * Number of records in the database
     *
     * Returns the number of records in the database
     *
     * @return int Returns number of records in the database
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function num(){}

    /**
     * Removes records
     *
     * Removes a record or multiple records. This method accepts a string for
     * a single key or an array of keys for multiple records.
     *
     * @param mixed $keys A string key or an array of string keys
     * @return TokyoTyrant This method returns the current object and
     *   throws TokyoTyrantException on failure.
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function out($keys){}

    /**
     * Puts values
     *
     * Puts a key-value pair into the database or multiple key-value pairs.
     * If {@link keys} is string then the second parameter value defines the
     * value. The second parameter is mandatory if {@link keys} is a string.
     * If the key exists the value will be replaced with new value.
     *
     * @param mixed $keys A string key or an array of key-value pairs
     * @param string $value The value in case a string key is used
     * @return TokyoTyrant This method returns a reference to the current
     *   object and throws TokyoTyrantException on failure.
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function put($keys, $value){}

    /**
     * Concatenates to a record
     *
     * Appends a value into existing key or multiple values if {@link keys}
     * is an array. The second parameter is mandatory if {@link keys} is a
     * string. If the record does not exist a new record is created.
     *
     * @param mixed $keys A string key or an array of key-value pairs
     * @param string $value The value in case a string key is used
     * @return TokyoTyrant This method returns a reference to the current
     *   object and throws TokyoTyrantException on failure.
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function putCat($keys, $value){}

    /**
     * Puts a record
     *
     * Puts a key-value pair into the database or multiple key-value pairs.
     * If {@link keys} is string then the second parameter value defines the
     * value. The second parameter is mandatory if {@link keys} is a string.
     * If the key already exists this method throws an exception indicating
     * that the records exists.
     *
     * @param mixed $keys A string key or an array of key-value pairs
     * @param string $value The string value
     * @return TokyoTyrant This method returns a reference to the current
     *   object and throws TokyoTyrantException on failure.
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function putKeep($keys, $value){}

    /**
     * Puts value
     *
     * Puts a key-value pair into the database or multiple key-value pairs.
     * If {@link keys} is string then the second parameter value defines the
     * value. The second parameter is mandatory if {@link keys} is a string.
     * This method does not wait for the response from the server.
     *
     * @param mixed $keys A string key or an array of key-value pairs
     * @param string $value The value in case a string key is used
     * @return TokyoTyrant This method returns a reference to the current
     *   object and throws TokyoTyrantException on failure.
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function putNr($keys, $value){}

    /**
     * Concatenates to a record
     *
     * Concatenate to a record and shift to left.
     *
     * @param string $key A string key
     * @param string $value The value to concatenate
     * @param int $width The width of the record
     * @return mixed This method returns a reference to the current object
     *   and throws TokyoTyrantException on failure.
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function putShl($key, $value, $width){}

    /**
     * Restore the database
     *
     * Restore the database from the update log.
     *
     * @param string $log_dir Directory where the log is
     * @param int $timestamp Beginning timestamp with microseconds
     * @param bool $check_consistency Whether to check consistency:
     *   Default: TRUE
     * @return mixed This method returns the current object and throws
     *   TokyoTyrantException on failure.
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function restore($log_dir, $timestamp, $check_consistency){}

    /**
     * Set the replication master
     *
     * Sets the replication master of the database
     *
     * @param string $host Hostname of the replication master. If NULL the
     *   replication is disabled.
     * @param int $port Port of the replication master
     * @param int $timestamp Beginning timestamp with microseconds
     * @param bool $check_consistency Whether to check consistency.
     * @return mixed This method returns the current object and throws
     *   TokyoTyrantException on failure.
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function setMaster($host, $port, $timestamp, $check_consistency){}

    /**
     * Returns the size of the value
     *
     * Returns the size of a value by key
     *
     * @param string $key The key of which size to fetch
     * @return int Returns the size of the key or throw
     *   TokyoTyrantException on error
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function size($key){}

    /**
     * Get statistics
     *
     * Returns statistics of the remote database
     *
     * @return array Returns an array of key value pairs describing the
     *   statistics
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function stat(){}

    /**
     * Synchronize the database
     *
     * Synchronizes the database on to the physical device
     *
     * @return mixed This method returns the current object and throws
     *   TokyoTyrantException on failure.
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function sync(){}

    /**
     * Tunes connection values
     *
     * Tunes database connection options.
     *
     * @param float $timeout The objects timeout value (default: 5.0)
     * @param int $options Bitmask of options to tune. This can be either 0
     *   or TokyoTyrant::RDBT_RECON. It is recommended not to change the
     *   second parameter.
     * @return TokyoTyrant This method returns a reference to the current
     *   object and throws TokyoTyrantException on failure.
     * @since PECL tokyo_tyrant >= 0.2.0
     **/
    public function tune($timeout, $options){}

    /**
     * Empties the database
     *
     * Empties a remote database
     *
     * @return mixed This method returns the current object and throws
     *   TokyoTyrantException on failure.
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function vanish(){}

    /**
     * Construct a new TokyoTyrant object
     *
     * Constructs a new TokyoTyrant object and optionally connects to the
     * database
     *
     * @param string $host The hostname. Default: NULL
     * @param int $port port number. Default: 1978
     * @param array $options Connection options: timeout (default: 5.0),
     *   reconnect (default: TRUE) and persistent (default: TRUE)
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function __construct($host, $port, $options){}

}
/**
 * TokyoTyrantException
 **/
class tokyotyrantexception extends Exception {
    /**
     * The exception code. This can be compared to TokyoTyrant::TTE_*
     * constants
     *
     * @var int
     **/
    protected $code;

}
/**
 * Provides an iterator for TokyoTyrant and TokyoTyrantTable objects. The
 * iterator iterates over all keys and values in the database.
 * TokyoTyrantIterator was added in version 0.2.0.
 **/
class TokyoTyrantIterator implements Iterator {
    /**
     * Get the current value
     *
     * Returns the current value during iteration.
     *
     * @return mixed Returns the current value on success and false on
     *   failure.
     * @since PECL tokyo_tyrant >= 0.2.0
     **/
    public function current(){}

    /**
     * Returns the current key
     *
     * @return mixed Returns the current key on success and false on
     *   failure.
     * @since PECL tokyo_tyrant >= 0.2.0
     **/
    public function key(){}

    /**
     * Move to next key
     *
     * Move to next key during iteration and return it's value.
     *
     * @return mixed Returns the next value on success and false on
     *   failure.
     * @since PECL tokyo_tyrant >= 0.2.0
     **/
    public function next(){}

    /**
     * Rewinds the iterator
     *
     * Rewinds the iterator for new iteration. Called automatically at the
     * beginning of foreach.
     *
     * @return void Throws TokyoTyrantException if iterator initialization
     *   fails.
     * @since PECL tokyo_tyrant >= 0.2.0
     **/
    public function rewind(){}

    /**
     * Rewinds the iterator
     *
     * Checks whether the internal pointer points to valid element.
     *
     * @return bool Returns TRUE if the current item is valid and FALSE if
     *   not.
     * @since PECL tokyo_tyrant >= 0.2.0
     **/
    public function valid(){}

    /**
     * Construct an iterator
     *
     * Construct a new TokyoTyrantIterator object. One connection can have
     * multiple iterators but it is not quaranteed that all items are
     * traversed in that case. {@link object} parameter can be either an of
     * instance TokyoTyrant or TokyoTyrantTable.
     *
     * @param mixed $object
     * @since PECL tokyo_tyrant >= 0.2.0
     **/
    public function __construct($object){}

}
/**
 * This class is used to query the table databases
 **/
class TokyoTyrantQuery implements Iterator {
    /**
     * Adds a condition to the query
     *
     * Adds a condition to the query. Condition can be something like: get
     * all keys which value matches expr.
     *
     * @param string $name Name of the column in the condition
     * @param int $op The operator. One of the TokyoTyrant::RDBQC_*
     *   constants
     * @param string $expr The expression
     * @return mixed This method returns the current object and throws
     *   TokyoTyrantException on failure.
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function addCond($name, $op, $expr){}

    /**
     * Counts records
     *
     * Returns a count of how many records a query returns.
     *
     * @return int Returns a count of matching rows and throws
     *   TokyoTyrantException on error
     **/
    public function count(){}

    /**
     * Returns the current element
     *
     * Returns the current element. Part of Iterator interface
     *
     * @return array Returns the current row
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function current(){}

    /**
     * Get the hint string of the query
     *
     * Get the hint string of the query. The hint string contains information
     * about an executed query and it could be compared to for example MySQL
     * EXPLAIN statement.
     *
     * @return string This method always returns a string
     **/
    public function hint(){}

    /**
     * Returns the current key
     *
     * Returns the current key. Part of the Iterator interface
     *
     * @return string Returns the current key and throws
     *   TokyoTyrantException on error
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function key(){}

    /**
     * Retrieve records with multiple queries
     *
     * Executes multiple queries on a database and returns matching records.
     * The current object is always the left most object in the search.
     *
     * @param array $queries Array of TokyoTyrantQuery objects
     * @param int $type One of the TokyoTyrant::RDBMS_* constants
     * @return array Returns the matching rows and throws
     *   TokyoTyrantException on error
     **/
    public function metaSearch($queries, $type){}

    /**
     * Moves the iterator to next entry
     *
     * Returns the next result in the resultset. Part of the Iterator
     * interface.
     *
     * @return array Returns the next row and throws TokyoTyrantException
     *   on error.
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function next(){}

    /**
     * Removes records based on query
     *
     * Removes all records that match the query. Works exactly like search
     * but removes the records instead of returning them.
     *
     * @return TokyoTyrantQuery This method returns the current object and
     *   throws TokyoTyrantException on failure.
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function out(){}

    /**
     * Rewinds the iterator
     *
     * Rewind the resultset and executes the query if it has not been
     * executed. Part of the Iterator interface.
     *
     * @return bool Returns TRUE
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function rewind(){}

    /**
     * Searches records
     *
     * Executes a search on the table database. Returns an array of arrays
     * containing the matching records. In the returned array the first level
     * is the primary key of the data and the second level is the row data.
     *
     * @return array Returns the matching rows and throws
     *   TokyoTyrantException on error
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function search(){}

    /**
     * Limit results
     *
     * Set the maximum amount of records to return on a query.
     *
     * @param int $max Maximum amount of records. Default: -1
     * @param int $skip How many records to skip from the start. Default:
     *   -1
     * @return mixed This method returns the current object and throws
     *   TokyoTyrantException on failure.
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function setLimit($max, $skip){}

    /**
     * Orders results
     *
     * Sets the order of a query
     *
     * @param string $name The column name to apply the ordering on.
     * @param int $type The {@link type} can be one of the following
     *   constants:
     * @return mixed This method returns the current object.
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function setOrder($name, $type){}

    /**
     * Checks the validity of current item
     *
     * Checks if the current item is valid. Part of the Iterator interface
     *
     * @return bool Returns TRUE if the current item is valid and FALSE if
     *   not.
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function valid(){}

    /**
     * Construct a new query
     *
     * Construct a new query object
     *
     * @param TokyoTyrantTable $table TokyoTyrantTable object with active
     *   database connection
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function __construct($table){}

}
/**
 * Provides an API to the table databases. A table database can be create
 * using the following command: ttserver -port 1979 /tmp/tt_table.tct. In
 * Tokyo Tyrant the table API is a schemaless database which can store
 * arbitrary amount of key-value pairs under a single primary key.
 **/
class TokyoTyrantTable extends TokyoTyrant {
    /**
     * Adds a record
     *
     * This method is not supported with table databases.
     *
     * @param string $key The string key
     * @param mixed $increment The amount to increment
     * @param string $type TokyoTyrant::RDB_RECINT or
     *   TokyoTyrant::RDB_RECDBL constant. If this parameter is omitted the
     *   type is guessed from the {@link increment} parameters type.
     * @return void This method throws an TokyoTyrantException if used
     *   through this class.
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function add($key, $increment, $type){}

    /**
     * Generate unique id
     *
     * Generates an unique id inside the table database. In table databases
     * rows are referenced using a numeric primary key.
     *
     * @return int Returns an unique id or throws TokyoTyrantException on
     *   error
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function genUid(){}

    /**
     * Get a row
     *
     * Gets a row from table database. {@link keys} is a single integer for
     * the primary key of the row or an array of integers for multiple rows.
     *
     * @param mixed $keys The primary key, can be a string or an integer
     * @return array Returns the row as an array
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function get($keys){}

    /**
     * Get an iterator
     *
     * Gets an iterator for iterating all keys / values in the database.
     *
     * @return TokyoTyrantIterator This method returns TokyoTyrantIterator
     *   object and throws TokyoTyrantException on failure.
     **/
    public function getIterator(){}

    /**
     * Get a query object
     *
     * Get a query object to execute searches on the database
     *
     * @return TokyoTyrantQuery Returns TokyoTyrantQuery on success and
     *   throws TokyoTyrantException on error
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function getQuery(){}

    /**
     * Remove records
     *
     * Removes records from a table database.
     *
     * @param mixed $keys A single integer key or an array of integers
     * @return void This method returns the current object and throws
     *   TokyoTyrantException on failure.
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function out($keys){}

    /**
     * Store a row
     *
     * Puts a new row into the database. This method parameters are {@link
     * key} which is the primary key of the row, passing NULL will generate a
     * new unique id. {@link value} is an array containing the row contents
     * which is usually key value pairs.
     *
     * @param string $key The primary key of the row
     * @param array $columns The row contents
     * @return int Returns the primary key on success and throws
     *   TokyoTyrantException on error
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function put($key, $columns){}

    /**
     * Concatenates to a row
     *
     * This method can be used to add new columns to existing records.
     * Existing keys will be left unmodified but any new columns will be
     * appended to the row. Passing null as key will generate a new row.
     *
     * @param string $key The primary key of the row or NULL
     * @param array $columns Array of row contents
     * @return void Returns the primary key and throws TokyoTyrantException
     *   on error.
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function putCat($key, $columns){}

    /**
     * Put a new record
     *
     * Puts a new record into the database. If the key already exists this
     * method throws an exception indicating that the records exists.
     *
     * @param string $key The primary key of the row or NULL
     * @param array $columns Array of the row contents
     * @return void Returns the primary key and throws TokyoTyrantException
     *   on error.
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function putKeep($key, $columns){}

    /**
     * Puts value
     *
     * This method is not supported on table databases. Calling this method
     * through TokyoTyrantTable is considered an error and an
     * TokyoTyrantException will be thrown.
     *
     * @param mixed $keys A string key or an array of key-value pairs
     * @param string $value The value in case a string key is used
     * @return void This method is not supported on table databases.
     *   Calling this method through TokyoTyrantTable is considered an error
     *   and an TokyoTyrantException will be thrown.
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function putNr($keys, $value){}

    /**
     * Concatenates to a record
     *
     * This method is not supported on table databases. Calling this method
     * through TokyoTyrantTable is considered an error and an
     * TokyoTyrantException will be thrown.
     *
     * @param string $key A string key
     * @param string $value The value to concatenate
     * @param int $width The width of the record
     * @return void This method is not supported on table databases.
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function putShl($key, $value, $width){}

    /**
     * Sets index
     *
     * Sets an index on a specified column. The index type is one of the
     * TokyoTyrant::RDBIT_* constants. Passing TokyoTyrant::RDBIT_VOID
     * removes the index.
     *
     * @param string $column The name of the column
     * @param int $type The index type
     * @return mixed This method returns the current object and throws
     *   TokyoTyrantException on failure.
     * @since PECL tokyo_tyrant >= 0.1.0
     **/
    public function setIndex($column, $type){}

}
class Transliterator {
    /**
     * @var integer
     **/
    const FORWARD = 0;

    /**
     * @var integer
     **/
    const REVERSE = 0;

    /**
     * @var mixed
     **/
    public $id;

    /**
     * Create a transliterator
     *
     * Opens a Transliterator by id.
     *
     * @param string $id The id.
     * @param int $direction The direction, defaults to
     *   >Transliterator::FORWARD. May also be set to
     *   Transliterator::REVERSE.
     * @return Transliterator Returns a Transliterator object on success,
     *   or NULL on failure.
     **/
    public static function create($id, $direction){}

    /**
     * Create transliterator from rules
     *
     * Creates a Transliterator from rules.
     *
     * @param string $rules The rules.
     * @param string $direction The direction, defaults to
     *   >Transliterator::FORWARD. May also be set to
     *   Transliterator::REVERSE.
     * @return Transliterator Returns a Transliterator object on success,
     *   or NULL on failure.
     **/
    public static function createFromRules($rules, $direction){}

    /**
     * Create an inverse transliterator
     *
     * Opens the inverse transliterator.
     *
     * @return Transliterator Returns a Transliterator object on success,
     *   or NULL on failure
     **/
    public function createInverse(){}

    /**
     * Get last error code
     *
     * Gets the last error code for this transliterator.
     *
     * @return int The error code on success, or FALSE if none exists, or
     *   on failure.
     **/
    public function getErrorCode(){}

    /**
     * Get last error message
     *
     * Gets the last error message for this transliterator.
     *
     * @return string The error message on success, or FALSE if none
     *   exists, or on failure.
     **/
    public function getErrorMessage(){}

    /**
     * Get transliterator IDs
     *
     * Returns an array with the registered transliterator IDs.
     *
     * @return array An array of registered transliterator IDs on success,
     *   .
     **/
    public static function listIDs(){}

    /**
     * Transliterate a string
     *
     * Transforms a string or part thereof using an ICU transliterator.
     *
     * @param string $subject In the procedural version, either a
     *   Transliterator or a string from which a Transliterator can be built.
     * @param int $start The string to be transformed.
     * @param int $end The start index (in UTF-16 code units) from which
     *   the string will start to be transformed, inclusive. Indexing starts
     *   at 0. The text before will be left as is.
     * @return string The transfomed string on success, .
     **/
    public function transliterate($subject, $start, $end){}

}
/**
 * There are three scenarios where a TypeError may be thrown. The first
 * is where the argument type being passed to a function does not match
 * its corresponding declared parameter type. The second is where a value
 * being returned from a function does not match the declared function
 * return type. The third is where an invalid number of arguments are
 * passed to a built-in PHP function (strict mode only).
 **/
class TypeError extends Error {
}
class UConverter {
    /**
     * @var integer
     **/
    const BOCU1 = 0;

    /**
     * @var integer
     **/
    const CESU8 = 0;

    /**
     * @var integer
     **/
    const DBCS = 0;

    /**
     * @var integer
     **/
    const EBCDIC_STATEFUL = 0;

    /**
     * @var integer
     **/
    const HZ = 0;

    /**
     * @var integer
     **/
    const IMAP_MAILBOX = 0;

    /**
     * @var integer
     **/
    const ISCII = 0;

    /**
     * @var integer
     **/
    const ISO_2022 = 0;

    /**
     * @var integer
     **/
    const LATIN_1 = 0;

    /**
     * @var integer
     **/
    const LMBCS_1 = 0;

    /**
     * @var integer
     **/
    const LMBCS_2 = 0;

    /**
     * @var integer
     **/
    const LMBCS_3 = 0;

    /**
     * @var integer
     **/
    const LMBCS_4 = 0;

    /**
     * @var integer
     **/
    const LMBCS_5 = 0;

    /**
     * @var integer
     **/
    const LMBCS_6 = 0;

    /**
     * @var integer
     **/
    const LMBCS_8 = 0;

    /**
     * @var integer
     **/
    const LMBCS_11 = 0;

    /**
     * @var integer
     **/
    const LMBCS_16 = 0;

    /**
     * @var integer
     **/
    const LMBCS_17 = 0;

    /**
     * @var integer
     **/
    const LMBCS_18 = 0;

    /**
     * @var integer
     **/
    const LMBCS_19 = 0;

    /**
     * @var integer
     **/
    const LMBCS_LAST = 0;

    /**
     * @var integer
     **/
    const MBCS = 0;

    /**
     * @var integer
     **/
    const REASON_CLONE = 0;

    /**
     * @var integer
     **/
    const REASON_CLOSE = 0;

    /**
     * @var integer
     **/
    const REASON_ILLEGAL = 0;

    /**
     * @var integer
     **/
    const REASON_IRREGULAR = 0;

    /**
     * @var integer
     **/
    const REASON_RESET = 0;

    /**
     * @var integer
     **/
    const REASON_UNASSIGNED = 0;

    /**
     * @var integer
     **/
    const SBCS = 0;

    /**
     * @var integer
     **/
    const SCSU = 0;

    /**
     * @var integer
     **/
    const UNSUPPORTED_CONVERTER = 0;

    /**
     * @var integer
     **/
    const US_ASCII = 0;

    /**
     * @var integer
     **/
    const UTF7 = 0;

    /**
     * @var integer
     **/
    const UTF8 = 0;

    /**
     * @var integer
     **/
    const UTF16 = 0;

    /**
     * @var integer
     **/
    const UTF16_BigEndian = 0;

    /**
     * @var integer
     **/
    const UTF16_LittleEndian = 0;

    /**
     * @var integer
     **/
    const UTF32 = 0;

    /**
     * @var integer
     **/
    const UTF32_BigEndian = 0;

    /**
     * @var integer
     **/
    const UTF32_LittleEndian = 0;

    /**
     * Convert string from one charset to another
     *
     * @param string $str
     * @param bool $reverse
     * @return string
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function convert($str, $reverse){}

    /**
     * Default "from" callback function
     *
     * @param int $reason
     * @param string $source
     * @param string $codePoint
     * @param int $error
     * @return mixed
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function fromUCallback($reason, $source, $codePoint, &$error){}

    /**
     * Get the aliases of the given name
     *
     * @param string $name
     * @return array
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public static function getAliases($name){}

    /**
     * Get the available canonical converter names
     *
     * @return array
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public static function getAvailable(){}

    /**
     * Get the destination encoding
     *
     * @return string
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getDestinationEncoding(){}

    /**
     * Get the destination converter type
     *
     * @return int
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getDestinationType(){}

    /**
     * Get last error code on the object
     *
     * @return int
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getErrorCode(){}

    /**
     * Get last error message on the object
     *
     * @return string
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getErrorMessage(){}

    /**
     * Get the source encoding
     *
     * @return string
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getSourceEncoding(){}

    /**
     * Get the source convertor type
     *
     * @return int
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getSourceType(){}

    /**
     * Get standards associated to converter names
     *
     * @return array
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public static function getStandards(){}

    /**
     * Get substitution chars
     *
     * @return string
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function getSubstChars(){}

    /**
     * Get string representation of the callback reason
     *
     * @param int $reason
     * @return string
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public static function reasonText($reason){}

    /**
     * Set the destination encoding
     *
     * @param string $encoding
     * @return void
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function setDestinationEncoding($encoding){}

    /**
     * Set the source encoding
     *
     * @param string $encoding
     * @return void
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function setSourceEncoding($encoding){}

    /**
     * Set the substitution chars
     *
     * @param string $chars
     * @return void
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function setSubstChars($chars){}

    /**
     * Default "to" callback function
     *
     * @param int $reason
     * @param string $source
     * @param string $codeUnits
     * @param int $error
     * @return mixed
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function toUCallback($reason, $source, $codeUnits, &$error){}

    /**
     * Convert string from one charset to another
     *
     * @param string $str
     * @param string $toEncoding
     * @param string $fromEncoding
     * @param array $options
     * @return string
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public static function transcode($str, $toEncoding, $fromEncoding, $options){}

    /**
     * Create UConverter object
     *
     * @param string $destination_encoding
     * @param string $source_encoding
     * @since PHP 5 >= 5.5.0, PHP 7, PECL >= 3.0.0a1
     **/
    public function __construct($destination_encoding, $source_encoding){}

}
namespace UI {
class Area extends UI\Control {
    /**
     * Draw Callback
     *
     * Shall be invoked when this Area requires redrawing
     *
     * @param UI\Draw\Pen $pen A Pen suitable for drawing in this Area
     * @param UI\Size $areaSize The size of the Area
     * @param UI\Point $clipPoint The clip point of the Area
     * @param UI\Size $clipSize The clip size of the Area
     **/
    protected function onDraw($pen, $areaSize, $clipPoint, $clipSize){}

    /**
     * Key Callback
     *
     * Shall be executed on key events
     *
     * @param string $key The key pressed
     * @param int $ext The extended key pressed
     * @param int $flags Event modifiers
     **/
    protected function onKey($key, $ext, $flags){}

    /**
     * Mouse Callback
     *
     * Shall be executed on mouse events
     *
     * @param UI\Point $areaPoint The co-ordinates of the event
     * @param UI\Size $areaSize The size of the area of the event
     * @param int $flags Event modifiers
     **/
    protected function onMouse($areaPoint, $areaSize, $flags){}

    /**
     * Redraw Area
     *
     * Requests that this Area is redrawn
     **/
    public function redraw(){}

    /**
     * Area Scroll
     *
     * Scroll this Area
     *
     * @param UI\Point $point The point to scroll to
     * @param UI\Size $size The size of the scroll pane
     **/
    public function scrollTo($point, $size){}

    /**
     * Set Size
     *
     * Sets the size of this Area
     *
     * @param UI\Size $size The new size
     **/
    public function setSize($size){}

}
}
namespace UI {
final class Control {
    /**
     * Destroy Control
     *
     * Shall destroy this Control
     **/
    public function destroy(){}

    /**
     * Disable Control
     *
     * Shall disable this Control
     **/
    public function disable(){}

    /**
     * Enable Control
     *
     * Shall enable this Control
     **/
    public function enable(){}

    /**
     * Get Parent Control
     *
     * Shall return the parent Control
     *
     * @return UI\Control
     **/
    public function getParent(){}

    /**
     * Get Top Level
     *
     * @return int
     **/
    public function getTopLevel(){}

    /**
     * Hide Control
     *
     * Shall hide this Control
     **/
    public function hide(){}

    /**
     * Determine if Control is enabled
     *
     * Shall detect if this Control is enabled
     *
     * @return bool
     **/
    public function isEnabled(){}

    /**
     * Determine if Control is visible
     *
     * Shall detect if this Control is visible
     *
     * @return bool
     **/
    public function isVisible(){}

    /**
     * Set Parent Control
     *
     * Shall set the parent Control of this Control
     *
     * @param UI\Control $parent The parent Control
     **/
    public function setParent($parent){}

    /**
     * Control Show
     *
     * Shall show this Control
     **/
    public function show(){}

}
}
namespace UI\Controls {
class Box extends UI\Control {
    /**
     * @var mixed
     **/
    protected $controls;

    /**
     * Append Control
     *
     * Shall append the given control to this Box
     *
     * @param Control $control The control to append
     * @param bool $stretchy Set true to stretch the control
     * @return int Shall return the index of the appended control, may be 0
     **/
    public function append($control, $stretchy){}

    /**
     * Delete Control
     *
     * Shall delete the control at the given index from this Box
     *
     * @param int $index The index of the control to delete
     * @return bool Indication of success
     **/
    public function delete($index){}

    /**
     * Get Orientation
     *
     * Shall retrieve the orientation of this Box
     *
     * @return int
     **/
    public function getOrientation(){}

    /**
     * Padding Detection
     *
     * Shall detect if padding is enabled on this Box
     *
     * @return bool
     **/
    public function isPadded(){}

    /**
     * Set Padding
     *
     * Shall enable or disable padding on this Box
     *
     * @param bool $padded
     **/
    public function setPadded($padded){}

}
}
namespace UI\Controls {
class Button extends UI\Control {
    /**
     * Get Text
     *
     * Shall retrieve the text (label) for this Button
     *
     * @return string The current text (label)
     **/
    public function getText(){}

    /**
     * Click Handler
     *
     * Shall be executed when this Button is clicked
     **/
    protected function onClick(){}

    /**
     * Set Text
     *
     * Shall set the text (label) for this Button
     *
     * @param string $text The new text (label)
     **/
    public function setText($text){}

}
}
namespace UI\Controls {
class Check extends UI\Control {
    /**
     * Get Text
     *
     * Shall return the text (label) for this Check
     *
     * @return string The current text (label)
     **/
    public function getText(){}

    /**
     * Checked Detection
     *
     * Shall detect the status of this Check
     *
     * @return bool
     **/
    public function isChecked(){}

    /**
     * Toggle Callback
     *
     * Shall be executed when the status of this Check is changed
     **/
    protected function onToggle(){}

    /**
     * Set Checked
     *
     * Shall change the status of this Check
     *
     * @param bool $checked The new status
     **/
    public function setChecked($checked){}

    /**
     * Set Text
     *
     * Shall set the text (label) for this Check
     *
     * @param string $text The new text (label)
     **/
    public function setText($text){}

}
}
namespace UI\Controls {
class ColorButton extends UI\Control {
    /**
     * Get Color
     *
     * Shall retrieve the currently selected Color
     *
     * @return UI\Color
     **/
    public function getColor(){}

    /**
     * Change Handler
     *
     * Shall be executed when the selected Color is changed
     **/
    protected function onChange(){}

    /**
     * Set Color
     *
     * Shall set the currently selected Color
     *
     * @param UI\Draw\Color $color The new color
     **/
    public function setColor($color){}

}
}
namespace UI\Controls {
class Combo extends UI\Control {
    /**
     * Append Option
     *
     * Append an option to this Combo
     *
     * @param string $text The text for the new option
     **/
    public function append($text){}

    /**
     * Get Selected Option
     *
     * Shall retrieve the index of the option selected in this Combo
     *
     * @return int
     **/
    public function getSelected(){}

    /**
     * Selected Handler
     *
     * Shall be executed when an option is selected in this Combo
     **/
    protected function onSelected(){}

    /**
     * Set Selected Option
     *
     * Shall set the currently selected option in this Combo
     *
     * @param int $index The index of the option to select
     **/
    public function setSelected($index){}

}
}
namespace UI\Controls {
class EditableCombo extends UI\Control {
    /**
     * Append Option
     *
     * Shall append a new option to this Editable Combo
     *
     * @param string $text The text for the new option
     **/
    public function append($text){}

    /**
     * Get Text
     *
     * Get the value of the currently selected option in this Editable Combo
     *
     * @return string
     **/
    public function getText(){}

    /**
     * Change Handler
     *
     * Shall be executed when the value of this Editable Combobox changes
     **/
    protected function onChange(){}

    /**
     * Set Text
     *
     * Shall set the text of the currently selected option in this Editable
     * Combo
     *
     * @param string $text The new text
     **/
    public function setText($text){}

}
}
namespace UI\Controls {
class Entry extends UI\Control {
    /**
     * Get Text
     *
     * Shall return the current text from this Entry
     *
     * @return string The current text
     **/
    public function getText(){}

    /**
     * Detect Read Only
     *
     * Shall detect if this Entry is read only
     *
     * @return bool
     **/
    public function isReadOnly(){}

    /**
     * Change Handler
     *
     * Shall be executed when the text in this Entry changes
     **/
    protected function onChange(){}

    /**
     * Set Read Only
     *
     * Shall enable or disable read only for this Entry
     *
     * @param bool $readOnly
     **/
    public function setReadOnly($readOnly){}

    /**
     * Set Text
     *
     * Shall set the text for this Entry
     *
     * @param string $text The new text
     **/
    public function setText($text){}

}
}
namespace UI\Controls {
class Form extends UI\Control {
    /**
     * @var mixed
     **/
    protected $controls;

    /**
     * Append Control
     *
     * Shall append the control to the form, and set the label
     *
     * @param string $label The text for the label
     * @param UI\Control $control A control
     * @param bool $stretchy Should be set true to stretch the control
     * @return int Shall return the index of the appended control, may be 0
     **/
    public function append($label, $control, $stretchy){}

    /**
     * Delete Control
     *
     * Shall delete the control at the given index in this Form
     *
     * @param int $index The index of the control to remove
     * @return bool Indication of succcess
     **/
    public function delete($index){}

    /**
     * Padding Detection
     *
     * Shall detect if padding is enabled on this Form
     *
     * @return bool
     **/
    public function isPadded(){}

    /**
     * Set Padding
     *
     * Shall enable or disable padding on this Form
     *
     * @param bool $padded
     **/
    public function setPadded($padded){}

}
}
namespace UI\Controls {
class Grid extends UI\Control {
    /**
     * @var mixed
     **/
    protected $controls;

    /**
     * Append Control
     *
     * @param UI\Control $control The Control to append
     * @param int $left
     * @param int $top
     * @param int $xspan
     * @param int $yspan
     * @param bool $hexpand
     * @param int $halign
     * @param bool $vexpand
     * @param int $valign
     **/
    public function append($control, $left, $top, $xspan, $yspan, $hexpand, $halign, $vexpand, $valign){}

    /**
     * Padding Detection
     *
     * Shall detect if padding is enabled on this Grid
     *
     * @return bool
     **/
    public function isPadded(){}

    /**
     * Set Padding
     *
     * Shall enable or disable padding for this Grid
     *
     * @param bool $padding
     **/
    public function setPadded($padding){}

}
}
namespace UI\Controls {
class Group extends UI\Control {
    /**
     * @var mixed
     **/
    protected $controls;

    /**
     * Append Control
     *
     * Shall append a control to this Group
     *
     * @param UI\Control $control The control to append
     **/
    public function append($control){}

    /**
     * Get Title
     *
     * Shall return the current title for this Group
     *
     * @return string The current title
     **/
    public function getTitle(){}

    /**
     * Margin Detection
     *
     * Shall detect if this Group has a margin
     *
     * @return bool
     **/
    public function hasMargin(){}

    /**
     * Set Margin
     *
     * Shall enable or disable margins for this Group
     *
     * @param bool $margin
     **/
    public function setMargin($margin){}

    /**
     * Set Title
     *
     * Shall set the title for this Group
     *
     * @param string $title The text for the new title
     **/
    public function setTitle($title){}

}
}
namespace UI\Controls {
class Label extends UI\Control {
    /**
     * Get Text
     *
     * Shall return the current text for this Label
     *
     * @return string
     **/
    public function getText(){}

    /**
     * Set Text
     *
     * Shall set the text for this Label
     *
     * @param string $text The new text
     **/
    public function setText($text){}

}
}
namespace UI\Controls {
class MultilineEntry extends UI\Control {
    /**
     * Append Text
     *
     * Shall append the given text to the text in this Multiline Entry
     *
     * @param string $text The text to append
     **/
    public function append($text){}

    /**
     * Get Text
     *
     * Shall return the text in this Multiline Entry
     *
     * @return string
     **/
    public function getText(){}

    /**
     * Read Only Detection
     *
     * Shall detect if this Multiline Entry is read only
     *
     * @return bool
     **/
    public function isReadOnly(){}

    /**
     * Change Handler
     *
     * Shall be executed when the text in this Multiline Entry is changed
     **/
    protected function onChange(){}

    /**
     * Set Read Only
     *
     * Shall enable or disable read only on this Multiline Entry
     *
     * @param bool $readOnly
     **/
    public function setReadOnly($readOnly){}

    /**
     * Set Text
     *
     * Shall set the text in this Multiline Entry
     *
     * @param string $text The new text
     **/
    public function setText($text){}

}
}
namespace UI\Controls {
class Picker extends UI\Control {
}
}
namespace UI\Controls {
class Progress extends UI\Control {
    /**
     * Get Value
     *
     * Shall retrieve the current value of this Progress bar
     *
     * @return int
     **/
    public function getValue(){}

    /**
     * Set Value
     *
     * Shall set the value for this Progress bar
     *
     * @param int $value An integer between 0 and 100 (inclusive)
     **/
    public function setValue($value){}

}
}
namespace UI\Controls {
class Radio extends UI\Control {
    /**
     * Append Option
     *
     * Shall append a new option to this Radio
     *
     * @param string $text The text (label) for the option
     **/
    public function append($text){}

    /**
     * Get Selected Option
     *
     * Shall retrieve the index of the currently selected option in this
     * Radio
     *
     * @return int
     **/
    public function getSelected(){}

    /**
     * Selected Handler
     *
     * Shall be executed when the option selected in this Radio changes
     **/
    protected function onSelected(){}

    /**
     * Set Selected Option
     *
     * Shall set the currently selected option in this Radio
     *
     * @param int $index The index of the option to select
     **/
    public function setSelected($index){}

}
}
namespace UI\Controls {
class Separator extends UI\Control {
}
}
namespace UI\Controls {
class Slider extends UI\Control {
    /**
     * Get Value
     *
     * Get the value from this Slider
     *
     * @return int
     **/
    public function getValue(){}

    /**
     * Change Handler
     *
     * Shall be executed when the value of this Slider changes
     **/
    protected function onChange(){}

    /**
     * Set Value
     *
     * Shall set the value for this Slider
     *
     * @param int $value The new value
     **/
    public function setValue($value){}

}
}
namespace UI\Controls {
class Spin extends UI\Control {
    /**
     * Get Value
     *
     * Get the value in this Spin
     *
     * @return int
     **/
    public function getValue(){}

    /**
     * Change Handler
     *
     * Shall be executed when the value in this Spin changes
     **/
    protected function onChange(){}

    /**
     * Set Value
     *
     * Set the value in this Spin
     *
     * @param int $value The new value
     **/
    public function setValue($value){}

}
}
namespace UI\Controls {
class Tab extends UI\Control {
    /**
     * @var mixed
     **/
    protected $controls;

    /**
     * Append Page
     *
     * Append a new page to this Tab
     *
     * @param string $name The name for the new page
     * @param UI\Control $control The control for the new page
     * @return int Shall return the index of the appended control, may be 0
     **/
    public function append($name, $control){}

    /**
     * Delete Page
     *
     * Shall remove the selected page from this Tab
     *
     * @param int $index The index of the page to remove
     * @return bool Indication of success
     **/
    public function delete($index){}

    /**
     * Margin Detection
     *
     * Shall detect if the given page has a margin.
     *
     * @param int $page The index of the page
     * @return bool
     **/
    public function hasMargin($page){}

    /**
     * Insert Page
     *
     * Shall insert a new page into this Tab
     *
     * @param string $name The name for the new page
     * @param int $page The index to perform the insertion before
     * @param UI\Control $control The control for the new page
     **/
    public function insertAt($name, $page, $control){}

    /**
     * Page Count
     *
     * Shall return the number of pages in this Tab
     *
     * @return int The number of pages in this Tab
     **/
    public function pages(){}

    /**
     * Set Margin
     *
     * Shall enable or disable margins on the selected page
     *
     * @param int $page The page to select
     * @param bool $margin Margin switch
     **/
    public function setMargin($page, $margin){}

}
}
namespace UI\Draw {
class Brush {
    /**
     * Get Color
     *
     * Shall return a UI\Draw\Color for this brush
     *
     * @return UI\Draw\Color The current color of the brush
     **/
    public function getColor(){}

    /**
     * Set Color
     *
     * Shall set the color of this brush to the color provided
     *
     * @param UI\Draw\Color $color Can be a UI\Draw\Color or RRGGBBAA
     * @return void
     **/
    public function setColor($color){}

}
}
namespace UI\Draw\Brush {
abstract class Gradient extends UI\Draw\Brush {
    /**
     * Stop Manipulation
     *
     * Shall at a stop of the given color at the given position
     *
     * @param float $position The position for the new stop
     * @param UI\Draw\Color $color The color for the new stop, may be
     *   UI\Draw\Color or RRGGBBAA
     * @return int Total number of stops
     **/
    public function addStop($position, $color){}

    /**
     * Stop Manipulation
     *
     * @param int $index
     * @return int Total number of stops
     **/
    public function delStop($index){}

    /**
     * Stop Manipulation
     *
     * @param int $index The index of the stop to set
     * @param float $position The position for the stop
     * @param UI\Draw\Color $color The color for the stop, may be
     *   UI\Draw\Color or RRGGBBAA
     * @return bool Indication of success
     **/
    public function setStop($index, $position, $color){}

}
}
namespace UI\Draw\Brush {
class LinearGradient extends UI\Draw\Brush\Gradient {
}
}
namespace UI\Draw\Brush {
class RadialGradient extends UI\Draw\Brush\Gradient {
}
}
namespace UI\Draw {
class Color {
    /**
     * @var mixed
     **/
    public $a;

    /**
     * @var mixed
     **/
    public $b;

    /**
     * @var mixed
     **/
    public $g;

    /**
     * @var mixed
     **/
    public $r;

    /**
     * Color Manipulation
     *
     * Shall retrieve the value for a channel
     *
     * @param int $channel Constant channel identity
     * @return float The current value of the requested channel
     **/
    public function getChannel($channel){}

    /**
     * Color Manipulation
     *
     * Shall set the selected channel to the given value
     *
     * @param int $channel Constant channel identity
     * @param float $value The new value for the selected channel
     * @return void
     **/
    public function setChannel($channel, $value){}

}
}
namespace UI\Draw\Line {
final class Cap {
}
}
namespace UI\Draw\Line {
final class Join {
}
}
namespace UI\Draw {
class Matrix {
    /**
     * Invert Matrix
     *
     * Shall invert this matrix
     **/
    public function invert(){}

    /**
     * Invertible Detection
     *
     * Shall detect if this Matrix may be inverted
     *
     * @return bool
     **/
    public function isInvertible(){}

    /**
     * Multiply Matrix
     *
     * Shall multiply this matrix with the given matrix
     *
     * @param UI\Draw\Matrix $matrix
     * @return UI\Draw\Matrix The new Matrix
     **/
    public function multiply($matrix){}

    /**
     * Rotate Matrix
     *
     * Shall rotate this Matrix
     *
     * @param UI\Point $point
     * @param float $amount
     **/
    public function rotate($point, $amount){}

    /**
     * Scale Matrix
     *
     * Shall scale this Matrix
     *
     * @param UI\Point $center
     * @param UI\Point $point
     **/
    public function scale($center, $point){}

    /**
     * Skew Matrix
     *
     * Shall skew this Matrix
     *
     * @param UI\Point $point
     * @param UI\Point $amount
     **/
    public function skew($point, $amount){}

    /**
     * Translate Matrix
     *
     * Shall translate this Matrix
     *
     * @param UI\Point $point
     **/
    public function translate($point){}

}
}
namespace UI\Draw {
class Path {
    /**
     * Draw a Rectangle
     *
     * Shall map the path of a rectangle of the given size, at the given
     * point
     *
     * @param UI\Point $point The point to begin the shape
     * @param UI\Size $size The size of the rectangle
     **/
    public function addRectangle($point, $size){}

    /**
     * Draw an Arc
     *
     * Shall map the path for an arc
     *
     * @param UI\Point $point The point to begin mapping
     * @param float $radius The radius of the arc
     * @param float $angle The angle of the arc
     * @param float $sweep The sweep of the arc
     * @param float $negative
     **/
    public function arcTo($point, $radius, $angle, $sweep, $negative){}

    /**
     * Draw Bezier Curve
     *
     * Shall draw a bezier curve
     *
     * @param UI\Point $point The point at which to begin mapping
     * @param float $radius The radius of the curve
     * @param float $angle The angle of the curve
     * @param float $sweep The sweep of the curve
     * @param float $negative
     **/
    public function bezierTo($point, $radius, $angle, $sweep, $negative){}

    /**
     * Close Figure
     *
     * Shall close the current figure
     **/
    public function closeFigure(){}

    /**
     * Finalize Path
     *
     * Shall finalize this Path
     **/
    public function end(){}

    /**
     * Draw a Line
     *
     * Shall map the path for a line
     *
     * @param UI\Point $point The point to begin mapping
     * @param float $radius
     * @param float $angle
     * @param float $sweep
     * @param float $negative
     **/
    public function lineTo($point, $radius, $angle, $sweep, $negative){}

    /**
     * Draw Figure
     *
     * Shall map a new figure at the given point
     *
     * @param UI\Point $point The point to begin mapping
     **/
    public function newFigure($point){}

    /**
     * Draw Figure with Arc
     *
     * @param UI\Point $point
     * @param float $radius
     * @param float $angle
     * @param float $sweep
     * @param float $negative
     **/
    public function newFigureWithArc($point, $radius, $angle, $sweep, $negative){}

}
}
namespace UI\Draw {
final class Pen {
    /**
     * Clip a Path
     *
     * Shall clip the given Path
     *
     * @param UI\Draw\Path $path The path to clip
     **/
    public function clip($path){}

    /**
     * Fill a Path
     *
     * Shall fill the given path
     *
     * @param UI\Draw\Path $path The path to fill
     * @param UI\Draw\Brush $with The color or brush to fill with
     **/
    public function fill($path, $with){}

    /**
     * Restore
     *
     * Shall restore a previously saved Pen
     **/
    public function restore(){}

    /**
     * Save
     *
     * Shall save the Pen
     **/
    public function save(){}

    /**
     * Stroke a Path
     *
     * Shall stroke the given path
     *
     * @param UI\Draw\Path $path The path to stroke
     * @param UI\Draw\Brush $with The color or brush to stroke with
     * @param UI\Draw\Stroke $stroke The configuration of the stroke
     **/
    public function stroke($path, $with, $stroke){}

    /**
     * Matrix Transform
     *
     * Shall perform matrix transformation
     *
     * @param UI\Draw\Matrix $matrix The matrix to use
     **/
    public function transform($matrix){}

    /**
     * Draw Text at Point
     *
     * Shall draw the given text layout at the given point
     *
     * @param UI\Point $point The point to perform the drawing
     * @param UI\Draw\Text\Layout $layout The layout of the text to draw
     **/
    public function write($point, $layout){}

}
}
namespace UI\Draw {
class Stroke {
    /**
     * Get Line Cap
     *
     * Shall retrieve the line cap setting of this Stroke
     *
     * @return int UI\Draw\Line\Cap::Flat, UI\Draw\Line\Cap::Round, or
     *   UI\Draw\Line\Cap::Square
     **/
    public function getCap(){}

    /**
     * Get Line Join
     *
     * Shall retrieve the line join setting of this Stroke
     *
     * @return int UI\Draw\Line\Join::Miter, UI\Draw\Line\Join::Round, or
     *   UI\Draw\Line\Join::Bevel
     **/
    public function getJoin(){}

    /**
     * Get Miter Limit
     *
     * Shall retrieve the miter limit of this Stroke
     *
     * @return float The current miter limit
     **/
    public function getMiterLimit(){}

    /**
     * Get Thickness
     *
     * Shall retrieve the thickness of this Stroke
     *
     * @return float The current thickness
     **/
    public function getThickness(){}

    /**
     * Set Line Cap
     *
     * Shall set the line cap setting for this Stroke
     *
     * @param int $cap UI\Draw\Line\Cap::Flat, UI\Draw\Line\Cap::Round, or
     *   UI\Draw\Line\Cap::Square
     **/
    public function setCap($cap){}

    /**
     * Set Line Join
     *
     * Shall set the line join setting for this Stroke
     *
     * @param int $join UI\Draw\Line\Join::Miter, UI\Draw\Line\Join::Round,
     *   or UI\Draw\Line\Join::Bevel
     **/
    public function setJoin($join){}

    /**
     * Set Miter Limit
     *
     * Set the miter limit for this Stroke
     *
     * @param float $limit The new limit
     **/
    public function setMiterLimit($limit){}

    /**
     * Set Thickness
     *
     * Shall set the thickness for this Stroke
     *
     * @param float $thickness The new thickness
     **/
    public function setThickness($thickness){}

}
}
namespace UI\Draw\Text {
class Font {
    /**
     * Font Metrics
     *
     * @return float
     **/
    public function getAscent(){}

    /**
     * Font Metrics
     *
     * @return float
     **/
    public function getDescent(){}

    /**
     * Font Metrics
     *
     * @return float
     **/
    public function getLeading(){}

    /**
     * Font Metrics
     *
     * @return float
     **/
    public function getUnderlinePosition(){}

    /**
     * Font Metrics
     *
     * @return float
     **/
    public function getUnderlineThickness(){}

}
}
namespace UI\Draw\Text\Font {
class Descriptor {
    /**
     * Get Font Family
     *
     * Shall return the requested font family
     *
     * @return string
     **/
    public function getFamily(){}

    /**
     * Style Detection
     *
     * Shall return constant setting
     *
     * @return int
     **/
    public function getItalic(){}

    /**
     * Size Detection
     *
     * Shall return the requested size
     *
     * @return float
     **/
    public function getSize(){}

    /**
     * Style Detection
     *
     * Shall return requested stretch
     *
     * @return int
     **/
    public function getStretch(){}

    /**
     * Weight Detection
     *
     * Shall return requested weight
     *
     * @return int
     **/
    public function getWeight(){}

}
}
namespace UI\Draw\Text\Font {
final class Italic {
}
}
namespace UI\Draw\Text\Font {
final class Stretch {
}
}
namespace UI\Draw\Text\Font {
final class Weight {
}
}
namespace UI\Draw\Text {
class Layout {
    /**
     * Set Color
     *
     * Shall set the Color for all of, or a range of the text in the Layout
     *
     * @param UI\Draw\Color $color The color to use
     * @param int $start The starting character
     * @param int $end The ending character, by default the end of the
     *   string
     **/
    public function setColor($color, $start, $end){}

    /**
     * Set Width
     *
     * Shall set the width of this Text Layout
     *
     * @param float $width The new width
     **/
    public function setWidth($width){}

}
}
namespace UI\Exception {
class InvalidArgumentException extends InvalidArgumentException implements Throwable {
}
}
namespace UI\Exception {
class RuntimeException extends RuntimeException implements Throwable {
}
}
namespace UI {
abstract class Executor {
    /**
     * Stop Executor
     *
     * Shall stop an executor, the executor cannot be restarted
     *
     * @return void
     **/
    public function kill(){}

    /**
     * Execution Callback
     *
     * Shall be repetitively queued for execution in the main thread
     *
     * @return void
     **/
    abstract protected function onExecute();

    /**
     * Interval Manipulation
     *
     * Shall set the new interval. An interval of 0 will pause the executor
     * until a new interval has been set
     *
     * @param int $microseconds
     * @return bool Indication of success
     **/
    public function setInterval($microseconds){}

}
}
namespace UI {
final class Key {
}
}
namespace UI {
class Menu {
    /**
     * Append Menu Item
     *
     * Shall append a new Menu Item
     *
     * @param string $name The name (text) for the new item
     * @param string $type The type for the new item
     * @return UI\MenuItem A constructed object of the given type
     **/
    public function append($name, $type){}

    /**
     * Append About Menu Item
     *
     * Shall append an About menu item
     *
     * @param string $type The type for the new item
     * @return UI\MenuItem A constructed About menu item of the given type
     **/
    public function appendAbout($type){}

    /**
     * Append Checkable Menu Item
     *
     * Shall append a checkable menu item
     *
     * @param string $name The name (text) for the new item
     * @param string $type The type for the new item
     * @return UI\MenuItem A constructed checkable menu item of the given
     *   type
     **/
    public function appendCheck($name, $type){}

    /**
     * Append Preferences Menu Item
     *
     * Shall append a Preferences menu item
     *
     * @param string $type The type for the new item
     * @return UI\MenuItem A constructed Preferences menu item of the given
     *   type
     **/
    public function appendPreferences($type){}

    /**
     * Append Quit Menu Item
     *
     * Shall append a Quit menu item
     *
     * @param string $type The type for the new item
     * @return UI\MenuItem A constructed Quit menu item of the given type
     **/
    public function appendQuit($type){}

    /**
     * Append Menu Item Separator
     *
     * Shall append a separator
     **/
    public function appendSeparator(){}

}
}
namespace UI {
class MenuItem {
    /**
     * Disable Menu Item
     *
     * Shall disable this Menu Item
     **/
    public function disable(){}

    /**
     * Enable Menu Item
     *
     * Shall enable this Menu Item
     **/
    public function enable(){}

    /**
     * Detect Checked
     *
     * Shall detect if this Menu Item is checked
     *
     * @return bool
     **/
    public function isChecked(){}

    /**
     * On Click Callback
     *
     * Shall be executed when this Menu Item is clicked
     **/
    protected function onClick(){}

    /**
     * Set Checked
     *
     * Shall set the checked status of this Menu Item
     *
     * @param bool $checked The new status
     **/
    public function setChecked($checked){}

}
}
namespace UI {
final class Point {
    /**
     * @var mixed
     **/
    public $x;

    /**
     * @var mixed
     **/
    public $y;

    /**
     * Size Coercion
     *
     * Shall return a UI\Point object where x and y are equal to those
     * supplied, either in float or UI\Size form
     *
     * @param float $point The value for x and y
     * @return UI\Point The resulting Point
     **/
    public static function at($point){}

    /**
     * Retrieves X
     *
     * Retrieves the X co-ordinate
     *
     * @return float The current X co-ordinate
     **/
    public function getX(){}

    /**
     * Retrieves Y
     *
     * Retrieves the Y co-ordinate
     *
     * @return float The current Y co-ordinate
     **/
    public function getY(){}

    /**
     * Set X
     *
     * Set the X co-ordinate
     *
     * @param float $point The new X co-ordinate
     **/
    public function setX($point){}

    /**
     * Set Y
     *
     * Set the Y co-ordinate
     *
     * @param float $point The new Y co-ordinate
     **/
    public function setY($point){}

}
}
namespace UI {
final class Size {
    /**
     * @var mixed
     **/
    public $height;

    /**
     * @var mixed
     **/
    public $width;

    /**
     * Retrieves Height
     *
     * Retrieves the Height
     *
     * @return float The current Height
     **/
    public function getHeight(){}

    /**
     * Retrives Width
     *
     * Retrieves the Width
     *
     * @return float The current Width
     **/
    public function getWidth(){}

    /**
     * Point Coercion
     *
     * Shall return a UI\Size object where width and height are equal to
     * those supplied, either in float or UI\Point form
     *
     * @param float $size The value for width and height
     * @return UI\Size The resulting Size
     **/
    public static function of($size){}

    /**
     * Set Height
     *
     * Set new Height
     *
     * @param float $size The new Height
     **/
    public function setHeight($size){}

    /**
     * Set Width
     *
     * Set new Width
     *
     * @param float $size The new Width
     **/
    public function setWidth($size){}

}
}
namespace UI {
class Window extends UI\Control {
    /**
     * @var mixed
     **/
    protected $controls;

    /**
     * Add a Control
     *
     * Shall add a Control to this Window
     *
     * @param UI\Control $control The Control to add
     **/
    public function add($control){}

    /**
     * Show Error Box
     *
     * Shall show an error box
     *
     * @param string $title The title of the error box
     * @param string $msg The message for the error box
     **/
    public function error($title, $msg){}

    /**
     * Get Window Size
     *
     * Shall return the size of this Window
     *
     * @return UI\Size
     **/
    public function getSize(){}

    /**
     * Get Title
     *
     * Shall retrieve the title of this Window
     *
     * @return string
     **/
    public function getTitle(){}

    /**
     * Border Detection
     *
     * Shall detect if borders are used on this Window
     *
     * @return bool
     **/
    public function hasBorders(){}

    /**
     * Margin Detection
     *
     * Shall detect if margins are used on this Window
     *
     * @return bool
     **/
    public function hasMargin(){}

    /**
     * Full Screen Detection
     *
     * Shall detect if this Window us using the whole screen
     *
     * @return bool
     **/
    public function isFullScreen(){}

    /**
     * Show Message Box
     *
     * Shall show a message box
     *
     * @param string $title The title of the message box
     * @param string $msg The message
     **/
    public function msg($title, $msg){}

    /**
     * Closing Callback
     *
     * Should gracefully destroy this Window
     *
     * @return int
     **/
    protected function onClosing(){}

    /**
     * Open Dialog
     *
     * Shall show an open file dialog
     *
     * @return string Returns the name of the file selected for opening
     **/
    public function open(){}

    /**
     * Save Dialog
     *
     * Shall show a save dialog
     *
     * @return string Returns the file name selecting for saving
     **/
    public function save(){}

    /**
     * Border Use
     *
     * Shall enable or disable the use of borders on this Window
     *
     * @param bool $borders
     **/
    public function setBorders($borders){}

    /**
     * Full Screen Use
     *
     * Shall enable or disable the use of the full screen for this Window
     *
     * @param bool $full
     **/
    public function setFullScreen($full){}

    /**
     * Margin Use
     *
     * Shall enable or disable the use of margins for this Window
     *
     * @param bool $margin
     **/
    public function setMargin($margin){}

    /**
     * Set Size
     *
     * Shall set the size of this Window
     *
     * @param UI\Size $size
     **/
    public function setSize($size){}

    /**
     * Window Title
     *
     * Shall set the title for this Window
     *
     * @param string $title The new title
     **/
    public function setTitle($title){}

}
}
/**
 * Exception thrown when performing an invalid operation on an empty
 * container, such as removing an element.
 **/
class UnderflowException extends RuntimeException {
}
/**
 * Exception thrown if a value does not match with a set of values.
 * Typically this happens when a function calls another function and
 * expects the return value to be of a certain type or value not
 * including arithmetic or buffer related errors.
 **/
class UnexpectedValueException extends RuntimeException {
}
/**
 * This is the core class for V8Js extension. Each instance created from
 * this class has own context in which all JavaScript is compiled and
 * executed. See {@link V8Js::__construct} for more information.
 **/
class V8Js {
    /**
     * @var integer
     **/
    const FLAG_FORCE_ARRAY = 0;

    /**
     * @var integer
     **/
    const FLAG_NONE = 0;

    /**
     * @var string
     **/
    const V8_VERSION = '';

    /**
     * Execute a string as Javascript code
     *
     * Compiles and executes the string passed with {@link script} as
     * Javascript code.
     *
     * @param string $script The code string to be executed.
     * @param string $identifier Identifier string for the executed code.
     *   Used for debugging.
     * @param int $flags Execution flags. This value must be one of the
     *   V8Js::FLAG_* constants, defaulting to V8Js::FLAG_NONE.
     *   V8Js::FLAG_NONE: no flags V8Js::FLAG_FORCE_ARRAY: forces all
     *   Javascript objects passed to PHP to be associative arrays
     * @return mixed Returns the last variable instantiated in the
     *   Javascript code converted to matching PHP variable type.
     * @since PECL v8js >= 0.1.0
     **/
    public function executeString($script, $identifier, $flags){}

    /**
     * Return an array of registered extensions
     *
     * This function returns array of Javascript extensions registered using
     * {@link V8Js::registerExtension}.
     *
     * @return array Returns an array of registered extensions or an empty
     *   array if there are none.
     * @since PECL v8js >= 0.1.0
     **/
    public static function getExtensions(){}

    /**
     * Return pending uncaught Javascript exception
     *
     * Returns any pending uncaught Javascript exception as V8JsException
     * left from earlier {@link V8Js::executeString} call(s).
     *
     * @return V8JsException Either V8JsException or NULL.
     * @since PECL v8js >= 0.1.0
     **/
    public function getPendingException(){}

    /**
     * Register Javascript extensions for V8Js
     *
     * Registers passed Javascript {@link script} as extension to be used in
     * V8Js contexts.
     *
     * @param string $extension_name Name of the extension to be
     *   registered.
     * @param string $script The Javascript code to be registered.
     * @param array $dependencies Array of extension names the extension to
     *   be registered depends on. Any such extension is enabled
     *   automatically when this extension is loaded. All extensions,
     *   including the dependencies, must be registered before any V8Js are
     *   created which use them.
     * @param bool $auto_enable If set to TRUE, the extension will be
     *   enabled automatically in all V8Js contexts.
     * @return bool Returns TRUE if extension was registered successfully,
     *   FALSE otherwise.
     * @since PECL v8js >= 0.1.0
     **/
    public static function registerExtension($extension_name, $script, $dependencies, $auto_enable){}

    /**
     * Construct a new object
     *
     * Constructs a new V8Js object.
     *
     * @param string $object_name The name of the object passed to
     *   Javascript.
     * @param array $variables Map of PHP variables that will be available
     *   in Javascript. Must be an associative array in format
     *   array("name-for-js" => "name-of-php-variable"). Defaults to empty
     *   array.
     * @param array $extensions List of extensions registered using {@link
     *   V8Js::registerExtension} which should be available in the Javascript
     *   context of the created V8Js object. Extensions registered to be
     *   enabled automatically do not need to be listed in this array. Also
     *   if an extension has dependencies, those dependencies can be omitted
     *   as well. Defaults to empty array.
     * @param bool $report_uncaught_exceptions Controls whether uncaught
     *   Javascript exceptions are reported immediately or not. Defaults to
     *   TRUE. If set to FALSE the uncaught exception can be accessed using
     *   {@link V8Js::getPendingException}.
     * @since PECL v8js >= 0.1.0
     **/
    public function __construct($object_name, $variables, $extensions, $report_uncaught_exceptions){}

}
class V8JsException extends Exception {
    /**
     * @var mixed
     **/
    protected $JsFileName;

    /**
     * @var mixed
     **/
    protected $JsLineNumber;

    /**
     * @var mixed
     **/
    protected $JsSourceLine;

    /**
     * @var mixed
     **/
    protected $JsTrace;

    /**
     * The getJsFileName purpose
     *
     * @return string
     * @since PECL v8js >= 0.1.0
     **/
    final public function getJsFileName(){}

    /**
     * The getJsLineNumber purpose
     *
     * @return int
     * @since PECL v8js >= 0.1.0
     **/
    final public function getJsLineNumber(){}

    /**
     * The getJsSourceLine purpose
     *
     * @return string
     * @since PECL v8js >= 0.1.0
     **/
    final public function getJsSourceLine(){}

    /**
     * The getJsTrace purpose
     *
     * @return string
     * @since PECL v8js >= 0.1.0
     **/
    final public function getJsTrace(){}

}
class VarnishAdmin {
    /**
     * Authenticate on a varnish instance
     *
     * @return bool
     * @since PECL varnish >= 0.3
     **/
    public function auth(){}

    /**
     * Ban URLs using a VCL expression
     *
     * @param string $vcl_regex Varnish VCL expression. It's based on the
     *   varnish ban command.
     * @return int Returns the varnish command status.
     * @since PECL varnish >= 0.3
     **/
    public function ban($vcl_regex){}

    /**
     * Ban an URL using a VCL expression
     *
     * @param string $vcl_regex URL regular expression in PCRE compatible
     *   syntax. It's based on the ban.url varnish command.
     * @return int Returns the varnish command status.
     * @since PECL varnish >= 0.3
     **/
    public function banUrl($vcl_regex){}

    /**
     * Clear varnish instance panic messages
     *
     * @return int Returns the varnish command status.
     * @since PECL varnish >= 0.4
     **/
    public function clearPanic(){}

    /**
     * Connect to a varnish instance administration interface
     *
     * @return bool
     * @since PECL varnish >= 0.3
     **/
    public function connect(){}

    /**
     * Disconnect from a varnish instance administration interface
     *
     * @return bool
     * @since PECL varnish >= 1.0.0
     **/
    public function disconnect(){}

    /**
     * Get the last panic message on a varnish instance
     *
     * @return string Returns the last panic message on the current varnish
     *   instance.
     * @since PECL varnish >= 0.4
     **/
    public function getPanic(){}

    /**
     * Fetch current varnish instance configuration parameters
     *
     * @return array Returns an array with the varnish configuration
     *   parameters.
     * @since PECL varnish >= 0.4
     **/
    public function getParams(){}

    /**
     * Check if the varnish slave process is currently running
     *
     * @return bool
     * @since PECL varnish >= 0.3
     **/
    public function isRunning(){}

    /**
     * Set the class compat configuration param
     *
     * @param int $compat Varnish compatibility option.
     * @return void
     * @since PECL varnish >= 0.9.2
     **/
    public function setCompat($compat){}

    /**
     * Set the class host configuration param
     *
     * @param string $host Connection host configuration parameter.
     * @return void
     * @since PECL varnish >= 0.8
     **/
    public function setHost($host){}

    /**
     * Set the class ident configuration param
     *
     * @param string $ident Connection ident configuration parameter.
     * @return void
     * @since PECL varnish >= 0.8
     **/
    public function setIdent($ident){}

    /**
     * Set configuration param on the current varnish instance
     *
     * @param string $name Varnish configuration param name.
     * @param string|integer $value Varnish configuration param value.
     * @return int Returns the varnish command status.
     * @since PECL varnish >= 0.4
     **/
    public function setParam($name, $value){}

    /**
     * Set the class port configuration param
     *
     * @param int $port Connection port configuration parameter.
     * @return void
     * @since PECL varnish >= 0.8
     **/
    public function setPort($port){}

    /**
     * Set the class secret configuration param
     *
     * @param string $secret Connection secret configuration parameter.
     * @return void
     * @since PECL varnish >= 0.8
     **/
    public function setSecret($secret){}

    /**
     * Set the class timeout configuration param
     *
     * @param int $timeout Connection timeout configuration parameter.
     * @return void
     * @since PECL varnish >= 0.8
     **/
    public function setTimeout($timeout){}

    /**
     * Start varnish worker process
     *
     * @return int Returns the varnish command status.
     * @since PECL varnish >= 0.3
     **/
    public function start(){}

    /**
     * Stop varnish worker process
     *
     * @return int Returns the varnish command status.
     * @since PECL varnish >= 0.3
     **/
    public function stop(){}

    /**
     * VarnishAdmin constructor
     *
     * @param array $args Configuration arguments. The possible keys are:
     *   
     *   VARNISH_CONFIG_IDENT - local varnish instance ident
     *   VARNISH_CONFIG_HOST - varnish instance ip VARNISH_CONFIG_PORT -
     *   varnish instance port VARNISH_CONFIG_SECRET - varnish instance
     *   secret VARNISH_CONFIG_TIMEOUT - connection read timeout
     *   VARNISH_CONFIG_COMPAT - varnish major version compatibility
     * @since PECL varnish >= 0.3
     **/
    public function __construct($args){}

}
class VarnishException extends Exception {
}
class VarnishLog {
    /**
     * @var integer
     **/
    const TAG_Backend = 0;

    /**
     * @var integer
     **/
    const TAG_BackendClose = 0;

    /**
     * @var integer
     **/
    const TAG_BackendOpen = 0;

    /**
     * @var integer
     **/
    const TAG_BackendReuse = 0;

    /**
     * @var integer
     **/
    const TAG_BackendXID = 0;

    /**
     * @var integer
     **/
    const TAG_Backend_health = 0;

    /**
     * @var integer
     **/
    const TAG_CLI = 0;

    /**
     * @var integer
     **/
    const TAG_Debug = 0;

    /**
     * @var integer
     **/
    const TAG_Error = 0;

    /**
     * @var integer
     **/
    const TAG_ESI_xmlerror = 0;

    /**
     * @var integer
     **/
    const TAG_ExpBan = 0;

    /**
     * @var integer
     **/
    const TAG_ExpKill = 0;

    /**
     * @var integer
     **/
    const TAG_FetchError = 0;

    /**
     * @var integer
     **/
    const TAG_Fetch_Body = 0;

    /**
     * @var integer
     **/
    const TAG_Gzip = 0;

    /**
     * @var integer
     **/
    const TAG_Hash = 0;

    /**
     * @var integer
     **/
    const TAG_Hit = 0;

    /**
     * @var integer
     **/
    const TAG_HitPass = 0;

    /**
     * @var integer
     **/
    const TAG_HttpGarbage = 0;

    /**
     * @var integer
     **/
    const TAG_Length = 0;

    /**
     * @var integer
     **/
    const TAG_LostHeader = 0;

    /**
     * @var integer
     **/
    const TAG_ObjHeader = 0;

    /**
     * @var integer
     **/
    const TAG_ObjProtocol = 0;

    /**
     * @var integer
     **/
    const TAG_ObjRequest = 0;

    /**
     * @var integer
     **/
    const TAG_ObjResponse = 0;

    /**
     * @var integer
     **/
    const TAG_ObjStatus = 0;

    /**
     * @var integer
     **/
    const TAG_ObjURL = 0;

    /**
     * @var integer
     **/
    const TAG_ReqEnd = 0;

    /**
     * @var integer
     **/
    const TAG_ReqStart = 0;

    /**
     * @var integer
     **/
    const TAG_RxHeader = 0;

    /**
     * @var integer
     **/
    const TAG_RxProtocol = 0;

    /**
     * @var integer
     **/
    const TAG_RxRequest = 0;

    /**
     * @var integer
     **/
    const TAG_RxResponse = 0;

    /**
     * @var integer
     **/
    const TAG_RxStatus = 0;

    /**
     * @var integer
     **/
    const TAG_RxURL = 0;

    /**
     * @var integer
     **/
    const TAG_SessionClose = 0;

    /**
     * @var integer
     **/
    const TAG_SessionOpen = 0;

    /**
     * @var integer
     **/
    const TAG_StatSess = 0;

    /**
     * @var integer
     **/
    const TAG_TTL = 0;

    /**
     * @var integer
     **/
    const TAG_TxHeader = 0;

    /**
     * @var integer
     **/
    const TAG_TxProtocol = 0;

    /**
     * @var integer
     **/
    const TAG_TxRequest = 0;

    /**
     * @var integer
     **/
    const TAG_TxResponse = 0;

    /**
     * @var integer
     **/
    const TAG_TxStatus = 0;

    /**
     * @var integer
     **/
    const TAG_TxURL = 0;

    /**
     * @var integer
     **/
    const TAG_VCL_acl = 0;

    /**
     * @var integer
     **/
    const TAG_VCL_call = 0;

    /**
     * @var integer
     **/
    const TAG_VCL_error = 0;

    /**
     * @var integer
     **/
    const TAG_VCL_Log = 0;

    /**
     * @var integer
     **/
    const TAG_VCL_return = 0;

    /**
     * @var integer
     **/
    const TAG_VCL_trace = 0;

    /**
     * @var integer
     **/
    const TAG_WorkThread = 0;

    /**
     * Get next log line
     *
     * @return array Returns an array with the log line data.
     * @since PECL varnish >= 0.6
     **/
    public function getLine(){}

    /**
     * Get the log tag string representation by its index
     *
     * @param int $index Log tag index.
     * @return string Returns the log tag name as .
     * @since PECL varnish >= 0.6
     **/
    public static function getTagName($index){}

    /**
     * Varnishlog constructor
     *
     * @param array $args Configuration arguments. The possible keys are:
     *   
     *   VARNISH_CONFIG_IDENT - local varnish instance ident path
     * @since PECL varnish >= 0.6
     **/
    public function __construct($args){}

}
class VarnishStat {
    /**
     * Get the current varnish instance statistics snapshot
     *
     * @return array Array with the varnish statistic snapshot. The array
     *   keys are identical to that in the varnishstat tool.
     * @since PECL varnish >= 0.3
     **/
    public function getSnapshot(){}

    /**
     * VarnishStat constructor
     *
     * @param array $args Configuration arguments. The possible keys are:
     *   
     *   VARNISH_CONFIG_IDENT - local varnish instance ident path
     * @since PECL varnish >= 0.3
     **/
    public function __construct($args){}

}
/**
 * The Volatile class is new to pthreads v3. Its introduction is a
 * consequence of the new immutability semantics of Threaded members of
 * Threaded classes. The Volatile class enables for mutability of its
 * Threaded members, and is also used to store PHP arrays in Threaded
 * contexts.
 **/
class Volatile extends Threaded implements Collectable, Traversable {
}
namespace Vtiful\Kernel {
class Excel {
    /**
     * Vtiful\Kernel\Excel addSheet
     *
     * Create a new worksheet in the xlsx file.
     *
     * @param string $sheetName Worksheet name
     **/
    public function addSheet($sheetName){}

    /**
     * Vtiful\Kernel\Excel autoFilter
     *
     * Add autofilter to a worksheet.
     *
     * @param string $scope Cell start and end coordinate string.
     **/
    public function autoFilter($scope){}

    /**
     * Vtiful\Kernel\Excel constMemory
     *
     * Write a large file with constant memory usage.
     *
     * @param string $fileName XLSX file name
     * @param string $sheetName Worksheet name
     **/
    public function constMemory($fileName, $sheetName){}

    /**
     * Vtiful\Kernel\Excel data
     *
     * Write a data in the worksheet.
     *
     * @param array $data worksheet data
     **/
    public function data($data){}

    /**
     * Vtiful\Kernel\Excel fileName
     *
     * Create a brand new xlsx file and create a worksheet.
     *
     * @param string $fileName XLSX file name
     * @param string $sheetName Worksheet name
     **/
    public function fileName($fileName, $sheetName){}

    /**
     * Vtiful\Kernel\Excel getHandle
     *
     * Get the xlsx text resource handle.
     **/
    public function getHandle(){}

    /**
     * Vtiful\Kernel\Excel header
     *
     * Write a header in the worksheet.
     *
     * @param array $headerData worksheet header data
     **/
    public function header($headerData){}

    /**
     * Vtiful\Kernel\Excel insertFormula
     *
     * Insert calculation formula.
     *
     * @param int $row cell row
     * @param int $column cell column
     * @param string $formula formula string
     **/
    public function insertFormula($row, $column, $formula){}

    /**
     * Vtiful\Kernel\Excel insertImage
     *
     * Insert a local image into the cell.
     *
     * @param int $row cell row
     * @param int $column cell column
     * @param string $localImagePath local image path
     **/
    public function insertImage($row, $column, $localImagePath){}

    /**
     * Vtiful\Kernel\Excel insertText
     *
     * Write text in a cell.
     *
     * @param int $row cell row
     * @param int $column cell column
     * @param string $data data to be written
     * @param string $format String format
     **/
    public function insertText($row, $column, $data, $format){}

    /**
     * Vtiful\Kernel\Excel mergeCells
     *
     * Merge Cells.
     *
     * @param string $scope cell start and end coordinate strings
     * @param string $data string data
     **/
    public function mergeCells($scope, $data){}

    /**
     * Vtiful\Kernel\Excel output
     *
     * Output xlsx file to disk.
     **/
    public function output(){}

    /**
     * Vtiful\Kernel\Excel setColumn
     *
     * Set the format of the column.
     *
     * @param string $range cell start and end coordinate strings
     * @param float $width column width
     * @param resource $format cell format resource
     **/
    public function setColumn($range, $width, $format){}

    /**
     * Vtiful\Kernel\Excel setRow
     *
     * Set the format of the column.
     *
     * @param string $range cell start and end coordinate strings
     * @param float $height row height
     * @param resource $format cell format resource
     **/
    public function setRow($range, $height, $format){}

    /**
     * Vtiful\Kernel\Excel constructor
     *
     * Vtiful\Kernel\Excel constructor, create a class object.
     *
     * @param array $config XLSX file export configuration
     **/
    public function __construct($config){}

}
}
namespace Vtiful\Kernel {
class Format {
    /**
     * Vtiful\Kernel\Format align
     *
     * set cell align
     *
     * @param resource $handle xlsx file handle
     * @param int $style Vtiful\Kernel\Format constant
     **/
    public function align($handle, $style){}

    /**
     * Vtiful\Kernel\Format bold
     *
     * Vtiful\Kernel\Format bold format
     *
     * @param resource $handle xlsx file handle
     **/
    public function bold($handle){}

    /**
     * Vtiful\Kernel\Format italic
     *
     * Vtiful\Kernel\Format italic format
     *
     * @param resource $handle xlsx file handle
     **/
    public function italic($handle){}

    /**
     * Vtiful\Kernel\Format underline
     *
     * Vtiful\Kernel\Format underline format
     *
     * @param resource $handle xlsx file handle
     * @param int $style Vtiful\Kernel\Format constant
     **/
    public function underline($handle, $style){}

}
}
/**
 * Weakmap usage example
 **/
class WeakMap implements Countable, ArrayAccess, Iterator {
    /**
     * Counts the number of live entries in the map
     *
     * @return int Returns the number of live entries in the map.
     * @since PECL weakref >= 0.2.0
     **/
    public function count(){}

    /**
     * Returns the current value under iteration
     *
     * Returns the current value being iterated on in the map.
     *
     * @return mixed The value currently being iterated on.
     * @since PECL weakref >= 0.2.0
     **/
    public function current(){}

    /**
     * Returns the current key under iteration
     *
     * Returns the object serving as key in the map, at the current iterating
     * position.
     *
     * @return object The object key currently being iterated.
     * @since PECL weakref >= 0.2.0
     **/
    public function key(){}

    /**
     * Advances to the next map element
     *
     * @return void
     * @since PECL weakref >= 0.2.0
     **/
    public function next(){}

    /**
     * Checks whether a certain object is in the map
     *
     * Checks whether the passed object is referenced in the map.
     *
     * @param object $object Object to check for.
     * @return bool Returns TRUE if the object is contained in the map,
     *   FALSE otherwise.
     * @since PECL weakref >= 0.2.0
     **/
    public function offsetExists($object){}

    /**
     * Returns the value pointed to by a certain object
     *
     * @param object $object Some object contained as key in the map.
     * @return mixed Returns the value associated to the object passed as
     *   argument, NULL otherwise.
     * @since PECL weakref >= 0.2.0
     **/
    public function offsetGet($object){}

    /**
     * Updates the map with a new key-value pair
     *
     * Updates the map with a new key-value pair. If the key already existed
     * in the map, the old value is replaced with the new.
     *
     * @param object $object The object serving as key of the key-value
     *   pair.
     * @param mixed $value The arbitrary data serving as value of the
     *   key-value pair.
     * @return void
     * @since PECL weakref >= 0.2.0
     **/
    public function offsetSet($object, $value){}

    /**
     * Removes an entry from the map
     *
     * @param object $object The key object to remove from the map.
     * @return void
     * @since PECL weakref >= 0.2.0
     **/
    public function offsetUnset($object){}

    /**
     * Rewinds the iterator to the beginning of the map
     *
     * @return void
     * @since PECL weakref >= 0.2.0
     **/
    public function rewind(){}

    /**
     * Returns whether the iterator is still on a valid map element
     *
     * @return bool Returns TRUE if the iterator is on a valid element that
     *   can be accessed, FALSE otherwise.
     * @since PECL weakref >= 0.2.0
     **/
    public function valid(){}

    /**
     * Constructs a new map
     *
     * @since PECL weakref >= 0.2.0
     **/
    public function __construct(){}

}
/**
 * The WeakRef class provides a gateway to objects without preventing the
 * garbage collector from freeing those objects. It also provides a way
 * to turn a weak reference into a strong one. WeakRef usage example
 *
 * Object still exists! object(MyClass)#1 (0) { } Destroying object!
 * Object is dead!
 **/
class WeakRef {
    /**
     * Acquires a strong reference on that object
     *
     * Acquires a strong reference on that object, virtually turning the weak
     * reference into a strong one.
     *
     * The Weakref instance maintains an internal acquired counter to track
     * outstanding strong references. If the call to Weakref::acquire is
     * successful, this counter will be incremented by one.
     *
     * @return bool Returns TRUE if the reference was valid and could be
     *   turned into a strong reference, FALSE otherwise.
     * @since PECL weakref >= 0.1.0
     **/
    public function acquire(){}

    /**
     * Returns the object pointed to by the weak reference
     *
     * @return object Returns the object if the reference is still valid,
     *   NULL otherwise.
     * @since PECL weakref >= 0.1.0
     **/
    public function get(){}

    /**
     * Releases a previously acquired reference
     *
     * Releases a previously acquired reference, potentially turning a strong
     * reference back into a weak reference.
     *
     * The Weakref instance maintains an internal acquired counter to track
     * outstanding strong references. If the call to Weakref::release is
     * successful, this counter will be decremented by one. Once this counter
     * reaches zero, the strong reference is turned back into a weak
     * reference.
     *
     * @return bool Returns TRUE if the reference was previously acquired
     *   and thus could be released, FALSE otherwise.
     * @since PECL weakref >= 0.1.0
     **/
    public function release(){}

    /**
     * Checks whether the object referenced still exists
     *
     * @return bool Returns TRUE if the object still exists and is thus
     *   still accessible via Weakref::get, FALSE otherwise.
     * @since PECL weakref >= 0.1.0
     **/
    public function valid(){}

}
namespace wkhtmltox\Image {
class Converter {
    /**
     * Perform Image conversion
     *
     * Performs conversion of the input buffer
     *
     * @return ?string Where the return value is used, it will be populated
     *   with the contents of the conversion buffer
     **/
    public function convert(){}

    /**
     * Determine version of Converter
     *
     * Determines the version of Converter as reported by libwkhtmltox
     *
     * @return string Returns a version string
     **/
    public function getVersion(){}

}
}
namespace wkhtmltox\PDF {
class Converter {
    /**
     * Add an object for conversion
     *
     * Adds the given object to conversion
     *
     * @param wkhtmltox\PDF\Object $object The object to add
     * @return void
     **/
    public function add($object){}

    /**
     * Perform PDF conversion
     *
     * Performs conversion of all previously added Objects
     *
     * @return ?string Where the return value is used, it will be populated
     *   with the contents of the conversion buffer
     **/
    public function convert(){}

    /**
     * Determine version of Converter
     *
     * Determines the version of Converter as reported by libwkhtmltox
     *
     * @return string Returns a version string
     **/
    public function getVersion(){}

}
}
namespace wkhtmltox\PDF {
class Object {
}
}
/**
 * Worker Threads have a persistent context, as such should be used over
 * Threads in most cases. When a Worker is started, the run method will
 * be executed, but the Thread will not leave until one of the following
 * conditions are met: This means the programmer can reuse the context
 * throughout execution; placing objects on the stack of the Worker will
 * cause the Worker to execute the stacked objects run method.
 **/
class Worker extends Thread implements Traversable, Countable, ArrayAccess {
    /**
     * Collect references to completed tasks
     *
     * Allows the worker to collect references determined to be garbage by
     * the optionally given collector.
     *
     * @param Callable $collector A Callable collector that returns a
     *   boolean on whether the task can be collected or not. Only in rare
     *   cases should a custom collector need to be used.
     * @return int The number of remaining tasks on the worker's stack to
     *   be collected.
     * @since PECL pthreads >= 3.0.0
     **/
    public function collect($collector){}

    /**
     * Gets the remaining stack size
     *
     * Returns the number of tasks left on the stack
     *
     * @return int Returns the number of tasks currently waiting to be
     *   executed by the worker
     * @since PECL pthreads >= 2.0.0
     **/
    public function getStacked(){}

    /**
     * State Detection
     *
     * Whether the worker has been shutdown or not.
     *
     * @return bool Returns whether the worker has been shutdown or not.
     * @since PECL pthreads >= 2.0.0
     **/
    public function isShutdown(){}

    /**
     * State Detection
     *
     * Tell if a Worker is executing Stackables
     *
     * @return bool A boolean indication of state
     * @since PECL pthreads >= 2.0.0
     **/
    public function isWorking(){}

    /**
     * Shutdown the worker
     *
     * Shuts down the worker after executing all of the stacked tasks.
     *
     * @return bool Whether the worker was successfully shutdown or not.
     * @since PECL pthreads >= 2.0.0
     **/
    public function shutdown(){}

    /**
     * Stacking work
     *
     * Appends the new work to the stack of the referenced worker.
     *
     * @param Threaded $work A Threaded object to be executed by the
     *   worker.
     * @return int The new size of the stack.
     * @since PECL pthreads >= 2.0.0
     **/
    public function stack(&$work){}

    /**
     * Unstacking work
     *
     * Removes the first task (the oldest one) in the stack.
     *
     * @return int The new size of the stack.
     * @since PECL pthreads >= 2.0.0
     **/
    public function unstack(){}

}
namespace XMLDiff {
abstract class Base {
    /**
     * Produce diff of two XML documents
     *
     * Abstract diff method to be implemented by inheriting classes.
     *
     * The basic purpose of this method is to produce diff of the two
     * documents. The param order matters and will produce different output.
     *
     * @param mixed $from Source XML document.
     * @param mixed $to Target XML document.
     * @return mixed Implementation dependent.
     **/
    abstract public function diff($from, $to);

    /**
     * Produce new XML document based on diff
     *
     * Abstract merge method to be implemented by inheriting classes.
     *
     * Basically the method purpose is to produce a new XML document based on
     * the diff information.
     *
     * @param mixed $src Source XML document.
     * @param mixed $diff Document produced by the diff method.
     * @return mixed Implementation dependent.
     **/
    abstract public function merge($src, $diff);

    /**
     * Constructor
     *
     * Base constructor for all the worker classes in the xmldiff extension.
     *
     * @param string $nsname Custom namespace name for the diff document.
     *   The default namespace is http://www.locus.cz/diffmark and that's
     *   enough to avoid namespace conflicts. Use this parameter if you want
     *   to change it for some reason.
     **/
    public function __construct($nsname){}

}
}
namespace XMLDiff {
class DOM extends XMLDiff\Base {
    /**
     * Diff two DOMDocument objects
     *
     * Diff two DOMDocument instances and produce the new one containing the
     * diff information.
     *
     * @param DOMDocument $from Source DOMDocument object.
     * @param DOMDocument $to Target DOMDocument object.
     * @return DOMDocument DOMDocument with the diff information or NULL.
     **/
    public function diff($from, $to){}

    /**
     * Produce merged DOMDocument
     *
     * Create new DOMDocument based on the diff.
     *
     * @param DOMDocument $src Source DOMDocument object.
     * @param DOMDocument $diff DOMDocument object containing the diff
     *   information.
     * @return DOMDocument Merged DOMDocument or NULL.
     **/
    public function merge($src, $diff){}

}
}
namespace XMLDiff {
class Exception extends Exception {
}
}
namespace XMLDiff {
class File extends XMLDiff\Base {
    /**
     * Diff two XML files
     *
     * Diff two local XML files and produce string with the diff information.
     *
     * @param string $from Path to the source document.
     * @param string $to Path to the target document.
     * @return string String with the XML document containing the diff
     *   information or NULL.
     **/
    public function diff($from, $to){}

    /**
     * Produce merged XML document
     *
     * Create new XML document based on diffs and source document.
     *
     * @param string $src Path to the source XML document.
     * @param string $diff Path to the XML document with the diff
     *   information.
     * @return string String with the new XML document or NULL.
     **/
    public function merge($src, $diff){}

}
}
namespace XMLDiff {
class Memory extends XMLDiff\Base {
    /**
     * Diff two XML documents
     *
     * Diff two strings containing XML documents and produce the diff
     * information.
     *
     * @param string $from Source XML document.
     * @param string $to Target XML document.
     * @return string String with the XML document containing the diff
     *   information or NULL.
     **/
    public function diff($from, $to){}

    /**
     * Produce merged XML document
     *
     * Create new XML document based on diffs and source document.
     *
     * @param string $src Source XML document.
     * @param string $diff XML document containing diff information.
     * @return string String with the new XML document or NULL.
     **/
    public function merge($src, $diff){}

}
}
/**
 * The XMLReader extension is an XML Pull parser. The reader acts as a
 * cursor going forward on the document stream and stopping at each node
 * on the way.
 **/
class XMLReader {
    /**
     * Attribute node
     *
     * @var int
     **/
    const ATTRIBUTE = 0;

    /**
     * CDATA node
     *
     * @var int
     **/
    const CDATA = 0;

    /**
     * Comment node
     *
     * @var int
     **/
    const COMMENT = 0;

    /**
     * Load DTD and default attributes but do not validate
     *
     * @var int
     **/
    const DEFAULTATTRS = 0;

    /**
     * Document node
     *
     * @var int
     **/
    const DOC = 0;

    /**
     * @var int
     **/
    const DOC_FRAGMENT = 0;

    /**
     * @var int
     **/
    const DOC_TYPE = 0;

    /**
     * Start element
     *
     * @var int
     **/
    const ELEMENT = 0;

    /**
     * @var int
     **/
    const END_ELEMENT = 0;

    /**
     * @var int
     **/
    const END_ENTITY = 0;

    /**
     * Entity Declaration node
     *
     * @var int
     **/
    const ENTITY = 0;

    /**
     * @var int
     **/
    const ENTITY_REF = 0;

    /**
     * Load DTD but do not validate
     *
     * @var int
     **/
    const LOADDTD = 0;

    /**
     * No node type
     *
     * @var int
     **/
    const NONE = 0;

    /**
     * Notation node
     *
     * @var int
     **/
    const NOTATION = 0;

    /**
     * Processing Instruction node
     *
     * @var int
     **/
    const PI = 0;

    /**
     * @var int
     **/
    const SIGNIFICANT_WHITESPACE = 0;

    /**
     * @var int
     **/
    const SUBST_ENTITIES = 0;

    /**
     * Text node
     *
     * @var int
     **/
    const TEXT = 0;

    /**
     * Load DTD and validate while parsing
     *
     * @var int
     **/
    const VALIDATE = 0;

    /**
     * Whitespace node
     *
     * @var int
     **/
    const WHITESPACE = 0;

    /**
     * @var int
     **/
    const XML_DECLARATION = 0;

    /**
     * @var int
     **/
    public $attributeCount;

    /**
     * @var string
     **/
    public $baseURI;

    /**
     * Depth of the node in the tree, starting at 0
     *
     * @var int
     **/
    public $depth;

    /**
     * @var bool
     **/
    public $hasAttributes;

    /**
     * @var bool
     **/
    public $hasValue;

    /**
     * @var bool
     **/
    public $isDefault;

    /**
     * @var bool
     **/
    public $isEmptyElement;

    /**
     * @var string
     **/
    public $localName;

    /**
     * The qualified name of the node
     *
     * @var string
     **/
    public $name;

    /**
     * @var string
     **/
    public $namespaceURI;

    /**
     * @var int
     **/
    public $nodeType;

    /**
     * The prefix of the namespace associated with the node
     *
     * @var string
     **/
    public $prefix;

    /**
     * The text value of the node
     *
     * @var string
     **/
    public $value;

    /**
     * @var string
     **/
    public $xmlLang;

    /**
     * Close the XMLReader input
     *
     * Closes the input the XMLReader object is currently parsing.
     *
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function close(){}

    /**
     * Returns a copy of the current node as a DOM object
     *
     * This method copies the current node and returns the appropriate DOM
     * object.
     *
     * @param DOMNode $basenode A DOMNode defining the target DOMDocument
     *   for the created DOM object.
     * @return DOMNode The resulting DOMNode or FALSE on error.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function expand($basenode){}

    /**
     * Get the value of a named attribute
     *
     * Returns the value of a named attribute or NULL if the attribute does
     * not exist or not positioned on an element node.
     *
     * @param string $name The name of the attribute.
     * @return string The value of the attribute, or NULL if no attribute
     *   with the given {@link name} is found or not positioned on an element
     *   node.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function getAttribute($name){}

    /**
     * Get the value of an attribute by index
     *
     * Returns the value of an attribute based on its position or an empty
     * string if attribute does not exist or not positioned on an element
     * node.
     *
     * @param int $index The position of the attribute.
     * @return string The value of the attribute, or an empty string
     *   (before PHP 5.6) or NULL (from PHP 5.6 onwards) if no attribute
     *   exists at {@link index} or is not positioned on the element.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function getAttributeNo($index){}

    /**
     * Get the value of an attribute by localname and URI
     *
     * Returns the value of an attribute by name and namespace URI or an
     * empty string if attribute does not exist or not positioned on an
     * element node.
     *
     * @param string $localName The local name.
     * @param string $namespaceURI The namespace URI.
     * @return string The value of the attribute, or an empty string
     *   (before PHP 5.6) or NULL (from PHP 5.6 onwards) if no attribute with
     *   the given {@link localName} and {@link namespaceURI} is found or not
     *   positioned of element.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function getAttributeNs($localName, $namespaceURI){}

    /**
     * Indicates if specified property has been set
     *
     * Indicates if specified property has been set.
     *
     * @param int $property One of the parser option constants.
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function getParserProperty($property){}

    /**
     * Indicates if the parsed document is valid
     *
     * Returns a boolean indicating if the document being parsed is currently
     * valid.
     *
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function isValid(){}

    /**
     * Lookup namespace for a prefix
     *
     * Lookup in scope namespace for a given prefix.
     *
     * @param string $prefix String containing the prefix.
     * @return string
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function lookupNamespace($prefix){}

    /**
     * Move cursor to a named attribute
     *
     * Positions cursor on the named attribute.
     *
     * @param string $name The name of the attribute.
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function moveToAttribute($name){}

    /**
     * Move cursor to an attribute by index
     *
     * Positions cursor on attribute based on its position.
     *
     * @param int $index The position of the attribute.
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function moveToAttributeNo($index){}

    /**
     * Move cursor to a named attribute
     *
     * Positions cursor on the named attribute in specified namespace.
     *
     * @param string $localName The local name.
     * @param string $namespaceURI The namespace URI.
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function moveToAttributeNs($localName, $namespaceURI){}

    /**
     * Position cursor on the parent Element of current Attribute
     *
     * Moves cursor to the parent Element of current Attribute.
     *
     * @return bool Returns TRUE if successful and FALSE if it fails or not
     *   positioned on Attribute when this method is called.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function moveToElement(){}

    /**
     * Position cursor on the first Attribute
     *
     * Moves cursor to the first Attribute.
     *
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function moveToFirstAttribute(){}

    /**
     * Position cursor on the next Attribute
     *
     * Moves cursor to the next Attribute if positioned on an Attribute or
     * moves to first attribute if positioned on an Element.
     *
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function moveToNextAttribute(){}

    /**
     * Move cursor to next node skipping all subtrees
     *
     * Positions cursor on the next node skipping all subtrees.
     *
     * @param string $localname The name of the next node to move to.
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function next($localname){}

    /**
     * Set the URI containing the XML to parse
     *
     * Set the URI containing the XML document to be parsed.
     *
     * @param string $URI URI pointing to the document.
     * @param string $encoding The document encoding or NULL.
     * @param int $options A bitmask of the LIBXML_* constants.
     * @return bool If called statically, returns an XMLReader.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function open($URI, $encoding, $options){}

    /**
     * Move to next node in document
     *
     * Moves cursor to the next node in the document.
     *
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function read(){}

    /**
     * Retrieve XML from current node
     *
     * Reads the contents of the current node, including child nodes and
     * markup.
     *
     * @return string Returns the contents of the current node as a string.
     *   Empty string on failure.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function readInnerXml(){}

    /**
     * Retrieve XML from current node, including itself
     *
     * Reads the contents of the current node, including the node itself.
     *
     * @return string Returns the contents of current node, including
     *   itself, as a string. Empty string on failure.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function readOuterXml(){}

    /**
     * Reads the contents of the current node as a string
     *
     * @return string Returns the content of the current node as a string.
     *   Empty string on failure.
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function readString(){}

    /**
     * Set parser options
     *
     * Set parser options. The options must be set after XMLReader::open or
     * XMLReader::xml are called and before the first XMLReader::read call.
     *
     * @param int $property One of the parser option constants.
     * @param bool $value If set to TRUE the option will be enabled
     *   otherwise will be disabled.
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function setParserProperty($property, $value){}

    /**
     * Set the filename or URI for a RelaxNG Schema
     *
     * Set the filename or URI for the RelaxNG Schema to use for validation.
     *
     * @param string $filename filename or URI pointing to a RelaxNG
     *   Schema.
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function setRelaxNGSchema($filename){}

    /**
     * Set the data containing a RelaxNG Schema
     *
     * Set the data containing a RelaxNG Schema to use for validation.
     *
     * @param string $source String containing the RelaxNG Schema.
     * @return bool
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function setRelaxNGSchemaSource($source){}

    /**
     * Validate document against XSD
     *
     * Use W3C XSD schema to validate the document as it is processed.
     * Activation is only possible before the first Read().
     *
     * @param string $filename The filename of the XSD schema.
     * @return bool
     * @since PHP 5 >= 5.2.0, PHP 7
     **/
    public function setSchema($filename){}

    /**
     * Set the data containing the XML to parse
     *
     * @param string $source String containing the XML to be parsed.
     * @param string $encoding The document encoding or NULL.
     * @param int $options A bitmask of the LIBXML_* constants.
     * @return bool If called statically, returns an XMLReader.
     * @since PHP 5 >= 5.1.0, PHP 7
     **/
    public function xml($source, $encoding, $options){}

}
class XMLWriter {
    /**
     * End attribute
     *
     * Ends the current attribute.
     *
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function endAttribute(){}

    /**
     * End current CDATA
     *
     * Ends the current CDATA section.
     *
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function endCdata(){}

    /**
     * Create end comment
     *
     * Ends the current comment.
     *
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 1.0.0
     **/
    function endComment(){}

    /**
     * End current document
     *
     * Ends the current document.
     *
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function endDocument(){}

    /**
     * End current DTD
     *
     * Ends the DTD of the document.
     *
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function endDtd(){}

    /**
     * End current DTD AttList
     *
     * Ends the current DTD attribute list.
     *
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function endDtdAttlist(){}

    /**
     * End current DTD element
     *
     * Ends the current DTD element.
     *
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function endDtdElement(){}

    /**
     * End current DTD Entity
     *
     * Ends the current DTD entity.
     *
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function endDtdEntity(){}

    /**
     * End current element
     *
     * Ends the current element.
     *
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function endElement(){}

    /**
     * End current PI
     *
     * Ends the current processing instruction.
     *
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function endPi(){}

    /**
     * Flush current buffer
     *
     * Flushes the current buffer.
     *
     * @param bool $empty Whether to empty the buffer or not. Default is
     *   TRUE.
     * @return mixed If you opened the writer in memory, this function
     *   returns the generated XML buffer, Else, if using URI, this function
     *   will write the buffer and return the number of written bytes.
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 1.0.0
     **/
    function flush($empty){}

    /**
     * End current element
     *
     * End the current xml element. Writes an end tag even if the element is
     * empty.
     *
     * @return bool
     * @since PHP 5 >= 5.2.0, PHP 7, PECL xmlwriter >= 2.0.4
     **/
    function fullEndElement(){}

    /**
     * Create new xmlwriter using memory for string output
     *
     * Creates a new XMLWriter using memory for string output.
     *
     * @return bool :
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function openMemory(){}

    /**
     * Create new xmlwriter using source uri for output
     *
     * Creates a new XMLWriter using {@link uri} for the output.
     *
     * @param string $uri The URI of the resource for the output.
     * @return bool :
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function openUri($uri){}

    /**
     * Returns current buffer
     *
     * Returns the current buffer.
     *
     * @param bool $flush Whether to flush the output buffer or not.
     *   Default is TRUE.
     * @return string Returns the current buffer as a string.
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function outputMemory($flush){}

    /**
     * Toggle indentation on/off
     *
     * Toggles indentation on or off.
     *
     * @param bool $indent Whether indentation is enabled.
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function setIndent($indent){}

    /**
     * Set string used for indenting
     *
     * Sets the string which will be used to indent each element/attribute of
     * the resulting xml.
     *
     * @param string $indentString The indentation string.
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function setIndentString($indentString){}

    /**
     * Create start attribute
     *
     * Starts an attribute.
     *
     * @param string $name The attribute name.
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function startAttribute($name){}

    /**
     * Create start namespaced attribute
     *
     * Starts a namespaced attribute.
     *
     * @param string $prefix The namespace prefix.
     * @param string $name The attribute name.
     * @param string $uri The namespace URI.
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function startAttributeNs($prefix, $name, $uri){}

    /**
     * Create start CDATA tag
     *
     * Starts a CDATA.
     *
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function startCdata(){}

    /**
     * Create start comment
     *
     * Starts a comment.
     *
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 1.0.0
     **/
    function startComment(){}

    /**
     * Create document tag
     *
     * Starts a document.
     *
     * @param string $version The version number of the document as part of
     *   the XML declaration.
     * @param string $encoding The encoding of the document as part of the
     *   XML declaration.
     * @param string $standalone yes or no.
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function startDocument($version, $encoding, $standalone){}

    /**
     * Create start DTD tag
     *
     * Starts a DTD.
     *
     * @param string $qualifiedName The qualified name of the document type
     *   to create.
     * @param string $publicId The external subset public identifier.
     * @param string $systemId The external subset system identifier.
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function startDtd($qualifiedName, $publicId, $systemId){}

    /**
     * Create start DTD AttList
     *
     * Starts a DTD attribute list.
     *
     * @param string $name The attribute list name.
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function startDtdAttlist($name){}

    /**
     * Create start DTD element
     *
     * Starts a DTD element.
     *
     * @param string $qualifiedName The qualified name of the document type
     *   to create.
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function startDtdElement($qualifiedName){}

    /**
     * Create start DTD Entity
     *
     * Starts a DTD entity.
     *
     * @param string $name The name of the entity.
     * @param bool $isparam
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function startDtdEntity($name, $isparam){}

    /**
     * Create start element tag
     *
     * Starts an element.
     *
     * @param string $name The element name.
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function startElement($name){}

    /**
     * Create start namespaced element tag
     *
     * Starts a namespaced element.
     *
     * @param string $prefix The namespace prefix.
     * @param string $name The element name.
     * @param string $uri The namespace URI.
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function startElementNs($prefix, $name, $uri){}

    /**
     * Create start PI tag
     *
     * Starts a processing instruction tag.
     *
     * @param string $target The target of the processing instruction.
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function startPi($target){}

    /**
     * Write text
     *
     * Writes a text.
     *
     * @param string $content The contents of the text.
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function text($content){}

    /**
     * Write full attribute
     *
     * Writes a full attribute.
     *
     * @param string $name The name of the attribute.
     * @param string $value The value of the attribute.
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function writeAttribute($name, $value){}

    /**
     * Write full namespaced attribute
     *
     * Writes a full namespaced attribute.
     *
     * @param string $prefix The namespace prefix.
     * @param string $name The attribute name.
     * @param string $uri The namespace URI.
     * @param string $content The attribute value.
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function writeAttributeNs($prefix, $name, $uri, $content){}

    /**
     * Write full CDATA tag
     *
     * Writes a full CDATA.
     *
     * @param string $content The contents of the CDATA.
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function writeCdata($content){}

    /**
     * Write full comment tag
     *
     * Writes a full comment.
     *
     * @param string $content The contents of the comment.
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function writeComment($content){}

    /**
     * Write full DTD tag
     *
     * Writes a full DTD.
     *
     * @param string $name The DTD name.
     * @param string $publicId The external subset public identifier.
     * @param string $systemId The external subset system identifier.
     * @param string $subset The content of the DTD.
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function writeDtd($name, $publicId, $systemId, $subset){}

    /**
     * Write full DTD AttList tag
     *
     * Writes a DTD attribute list.
     *
     * @param string $name The name of the DTD attribute list.
     * @param string $content The content of the DTD attribute list.
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function writeDtdAttlist($name, $content){}

    /**
     * Write full DTD element tag
     *
     * Writes a full DTD element.
     *
     * @param string $name The name of the DTD element.
     * @param string $content The content of the element.
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function writeDtdElement($name, $content){}

    /**
     * Write full DTD Entity tag
     *
     * Writes a full DTD entity.
     *
     * @param string $name The name of the entity.
     * @param string $content The content of the entity.
     * @param bool $pe
     * @param string $pubid
     * @param string $sysid
     * @param string $ndataid
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function writeDtdEntity($name, $content, $pe, $pubid, $sysid, $ndataid){}

    /**
     * Write full element tag
     *
     * Writes a full element tag.
     *
     * @param string $name The element name.
     * @param string $content The element contents.
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function writeElement($name, $content){}

    /**
     * Write full namespaced element tag
     *
     * Writes a full namespaced element tag.
     *
     * @param string $prefix The namespace prefix.
     * @param string $name The element name.
     * @param string $uri The namespace URI.
     * @param string $content The element contents.
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function writeElementNs($prefix, $name, $uri, $content){}

    /**
     * Writes a PI
     *
     * Writes a processing instruction.
     *
     * @param string $target The target of the processing instruction.
     * @param string $content The content of the processing instruction.
     * @return bool
     * @since PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0
     **/
    function writePi($target, $content){}

    /**
     * Write a raw XML text
     *
     * Writes a raw xml text.
     *
     * @param string $content The text string to write.
     * @return bool
     * @since PHP 5 >= 5.2.0, PHP 7, PECL xmlwriter >= 2.0.4
     **/
    function writeRaw($content){}

}
class XSLTProcessor {
    /**
     * Get value of a parameter
     *
     * Gets a parameter if previously set by {@link
     * XSLTProcessor::setParameter}.
     *
     * @param string $namespaceURI The namespace URI of the XSLT parameter.
     * @param string $localName The local name of the XSLT parameter.
     * @return string The value of the parameter (as a string), or FALSE if
     *   it's not set.
     * @since PHP 5, PHP 7
     **/
    function getParameter($namespaceURI, $localName){}

    /**
     * Get security preferences
     *
     * Gets the security preferences.
     *
     * @return int A bitmask consisting of XSL_SECPREF_READ_FILE,
     *   XSL_SECPREF_WRITE_FILE, XSL_SECPREF_CREATE_DIRECTORY,
     *   XSL_SECPREF_READ_NETWORK, XSL_SECPREF_WRITE_NETWORK.
     * @since PHP >= 5.4.0
     **/
    public function getSecurityPrefs(){}

    /**
     * Determine if PHP has EXSLT support
     *
     * This method determines if PHP was built with the EXSLT library.
     *
     * @return bool
     * @since PHP 5 >= 5.0.4, PHP 7
     **/
    function hasExsltSupport(){}

    /**
     * Import stylesheet
     *
     * This method imports the stylesheet into the XSLTProcessor for
     * transformations.
     *
     * @param object $stylesheet The imported style sheet as a DOMDocument
     *   or SimpleXMLElement object.
     * @return bool
     * @since PHP 5, PHP 7
     **/
    public function importStylesheet($stylesheet){}

    /**
     * Enables the ability to use PHP functions as XSLT functions
     *
     * This method enables the ability to use PHP functions as XSLT functions
     * within XSL stylesheets.
     *
     * @param mixed $restrict Use this parameter to only allow certain
     *   functions to be called from XSLT. This parameter can be either a
     *   string (a function name) or an array of functions.
     * @return void
     * @since PHP 5 >= 5.0.4, PHP 7
     **/
    function registerPHPFunctions($restrict){}

    /**
     * Remove parameter
     *
     * Removes a parameter, if set. This will make the processor use the
     * default value for the parameter as specified in the stylesheet.
     *
     * @param string $namespaceURI The namespace URI of the XSLT parameter.
     * @param string $localName The local name of the XSLT parameter.
     * @return bool
     * @since PHP 5, PHP 7
     **/
    function removeParameter($namespaceURI, $localName){}

    /**
     * Set value for a parameter
     *
     * Sets the value of one or more parameters to be used in subsequent
     * transformations with XSLTProcessor. If the parameter doesn't exist in
     * the stylesheet it will be ignored.
     *
     * @param string $namespace The namespace URI of the XSLT parameter.
     * @param string $name The local name of the XSLT parameter.
     * @param string $value The new value of the XSLT parameter.
     * @return bool
     * @since PHP 5, PHP 7
     **/
    function setParameter($namespace, $name, $value){}

    /**
     * Sets profiling output file
     *
     * Sets the file to output profiling information when processing a
     * stylesheet.
     *
     * @param string $filename Path to the file to dump profiling
     *   information.
     * @return bool
     * @since PHP >= 5.3.0
     **/
    function setProfiling($filename){}

    /**
     * Set security preferences
     *
     * Sets the security preferences.
     *
     * @param int $securityPrefs The new security preferences. The
     *   following constants can be ORed: XSL_SECPREF_READ_FILE,
     *   XSL_SECPREF_WRITE_FILE, XSL_SECPREF_CREATE_DIRECTORY,
     *   XSL_SECPREF_READ_NETWORK, XSL_SECPREF_WRITE_NETWORK. Alternatively,
     *   XSL_SECPREF_NONE or XSL_SECPREF_DEFAULT can be passed.
     * @return int Returns the old security preferences.
     * @since PHP >= 5.4.0
     **/
    public function setSecurityPrefs($securityPrefs){}

    /**
     * Transform to a DOMDocument
     *
     * Transforms the source node to a DOMDocument applying the stylesheet
     * given by the {@link XSLTProcessor::importStylesheet} method.
     *
     * @param DOMNode $doc The node to be transformed.
     * @return DOMDocument The resulting DOMDocument or FALSE on error.
     * @since PHP 5, PHP 7
     **/
    function transformToDoc($doc){}

    /**
     * Transform to URI
     *
     * Transforms the source node to an URI applying the stylesheet given by
     * the {@link XSLTProcessor::importStylesheet} method.
     *
     * @param DOMDocument $doc The document to transform.
     * @param string $uri The target URI for the transformation.
     * @return int Returns the number of bytes written or FALSE if an error
     *   occurred.
     * @since PHP 5, PHP 7
     **/
    function transformToURI($doc, $uri){}

    /**
     * Transform to XML
     *
     * Transforms the source node to a string applying the stylesheet given
     * by the {@link xsltprocessor::importStylesheet} method.
     *
     * @param object $doc The DOMDocument or SimpleXMLElement object to be
     *   transformed.
     * @return string The result of the transformation as a string or FALSE
     *   on error.
     * @since PHP 5, PHP 7
     **/
    function transformToXml($doc){}

}
/**
 * Yaconf is a configurations container, it parses INIT files, stores the
 * result in PHP when PHP is started, the result lives with the whole PHP
 * lifecycle.
 **/
class Yaconf {
    /**
     * Retrieve a item
     *
     * @param string $name Configuration key, the key looks like
     *   "filename.key", or "filename.sectionName,key".
     * @param mixed $default_value if the key doesn't exists, Yaconf::get
     *   will return this as result.
     * @return mixed Returns configuration result(string or array) if the
     *   key exists, return default_value if not.
     * @since PECL yaconf >= 1.0.0
     **/
    public static function get($name, $default_value){}

    /**
     * Determine if a item exists
     *
     * @param string $name
     * @return bool
     * @since PECL yaconf >= 1.0.0
     **/
    public static function has($name){}

}
/**
 * A action can be defined in a separate file in Yaf(see
 * Yaf_Controller_Abstract). that is a action method can also be a
 * Yaf_Action_Abstract class. Since there should be a entry point which
 * can be called by Yaf (as of PHP 5.3, there is a new magic method
 * __invoke, but Yaf is not only works with PHP 5.3+, Yaf choose another
 * magic method execute), you must implement the abstract method
 * Yaf_Action_Abstract::execute in your custom action class.
 **/
abstract class Yaf_Action_Abstract extends Yaf_Controller_Abstract {
    /**
     * @var mixed
     **/
    protected $_controller;

    /**
     * Action entry point
     *
     * user should always define this method for a action, this is the entry
     * point of an action. Yaf_Action_Abstract::execute may have agruments.
     * The value retrived from the request is not safe. you should do some
     * filtering work before you use it.
     *
     * @param mixed $arg
     * @return mixed
     * @since Yaf >=1.0.0
     **/
    abstract public function execute($arg);

    /**
     * Retrieve controller object
     *
     * retrieve current controller object.
     *
     * @return Yaf_Controller_Abstract Yaf_Controller_Abstract instance
     * @since Yaf >=1.0.0
     **/
    public function getController(){}

}
/**
 * Yaf_Application provides a bootstrapping facility for applications
 * which provides reusable resources, common- and module-based bootstrap
 * classes and dependency checking. Yaf_Application implements the
 * singleton pattern, and Yaf_Application can not be serialized or
 * unserialized which will cause problem when you try to use PHPUnit to
 * write some test case for Yaf. You may use @backupGlobals annotation of
 * PHPUnit to control the backup and restore operations for global
 * variables. thus can solve this problem.
 **/
final class Yaf_Application {
    /**
     * @var mixed
     **/
    protected $config;

    /**
     * @var mixed
     **/
    protected $dispatcher;

    /**
     * @var mixed
     **/
    protected static $_app;

    /**
     * @var mixed
     **/
    protected $_environ;

    /**
     * @var mixed
     **/
    protected $_modules;

    /**
     * @var mixed
     **/
    protected $_running;

    /**
     * Retrieve an Application instance
     *
     * Retrieve the Yaf_Application instance. Alternatively, we also could
     * use Yaf_Dispatcher::getApplication.
     *
     * @return mixed A Yaf_Application instance, if no Yaf_Application was
     *   initialized before, NULL will be returned.
     * @since Yaf >=1.0.0
     **/
    public static function app(){}

    /**
     * Call bootstrap
     *
     * Run a Bootstrap, all the methods defined in the Bootstrap and named
     * with prefix "_init" will be called according to their declaration
     * order, if the parameter bootstrap is not supplied, Yaf will look for a
     * Bootstrap under application.directory.
     *
     * @param Yaf_Bootstrap_Abstract $bootstrap A Yaf_Bootstrap_Abstract
     *   instance
     * @return void Yaf_Application instance
     * @since Yaf >=1.0.0
     **/
    public function bootstrap($bootstrap){}

    /**
     * Clear the last error info
     *
     * @return Yaf_Application
     * @since Yaf >=2.1.2
     **/
    public function clearLastError(){}

    /**
     * Retrive environ
     *
     * Retrive environ which was defined in yaf.environ which has a default
     * value "product".
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function environ(){}

    /**
     * Execute a callback
     *
     * This method is typically used to run Yaf_Application in a crontab
     * work. Make the crontab work can also use the autoloader and Bootstrap
     * mechanism.
     *
     * @param callable $entry a valid callback
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function execute($entry){}

    /**
     * Get the application directory
     *
     * @return Yaf_Application
     * @since Yaf >=2.1.4
     **/
    public function getAppDirectory(){}

    /**
     * Retrive the config instance
     *
     * @return Yaf_Config_Abstract A Yaf_Config_Abstract instance
     * @since Yaf >=1.0.0
     **/
    public function getConfig(){}

    /**
     * Get Yaf_Dispatcher instance
     *
     * @return Yaf_Dispatcher
     * @since Yaf >=1.0.0
     **/
    public function getDispatcher(){}

    /**
     * Get message of the last occurred error
     *
     * @return string
     * @since Yaf >=2.1.2
     **/
    public function getLastErrorMsg(){}

    /**
     * Get code of last occurred error
     *
     * @return int
     * @since Yaf >=2.1.2
     **/
    public function getLastErrorNo(){}

    /**
     * Get defined module names
     *
     * Get the modules list defined in config, if no one defined, there will
     * always be a module named "Index".
     *
     * @return array
     * @since Yaf >=1.0.0
     **/
    public function getModules(){}

    /**
     * Start Yaf_Application
     *
     * Run a Yaf_Application, let the Yaf_Application accept a request and
     * route this request, dispatch to controller/action and render response.
     * Finally, return the response to the client.
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function run(){}

    /**
     * Change the application directory
     *
     * @param string $directory
     * @return Yaf_Application
     * @since Yaf >=2.1.4
     **/
    public function setAppDirectory($directory){}

    /**
     * Yaf_Application can not be cloned
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    private function __clone(){}

    /**
     * Yaf_Application constructor
     *
     * Instance a Yaf_Application.
     *
     * @param mixed $config A ini config file path, or a config array If is
     *   a ini config file, there should be a section named as the one
     *   defined by yaf.environ, which is "product" by default. If you use a
     *   ini configuration file as your applicatioin's config container. you
     *   would open the yaf.cache_config to improve performance. And the
     *   config entry(and there default value) list blow: A ini config file
     *   example
     *   
     *   [product] ;this one should alway be defined, and have no default
     *   value application.directory=APPLICATION_PATH
     *   
     *   ;following configs have default value, you may no need to define
     *   them application.library = APPLICATION_PATH . "/library"
     *   application.dispatcher.throwException=1
     *   application.dispatcher.catchException=1
     *   
     *   application.baseUri=""
     *   
     *   ;the php script ext name ap.ext=php
     *   
     *   ;the view template ext name ap.view.ext=phtml
     *   
     *   ap.dispatcher.defaultModuel=Index
     *   ap.dispatcher.defaultController=Index
     *   ap.dispatcher.defaultAction=index
     *   
     *   ;defined modules ap.modules=Index
     * @param string $envrion Which section will be loaded as the final
     *   config
     * @since Yaf >=1.0.0
     **/
    public function __construct($config, $envrion){}

    /**
     * The __destruct purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function __destruct(){}

    /**
     * Yaf_Application can not be serialized
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    private function __sleep(){}

    /**
     * Yaf_Application can not be unserialized
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    private function __wakeup(){}

}
/**
 * Bootstrap is a mechanism used to do some intial config before a
 * Application run. User may define their own Bootstrap class by
 * inheriting Yaf_Bootstrap_Abstract Any method declared in Bootstrap
 * class with leading "_init", will be called by
 * Yaf_Application::bootstrap one by one according to their defined
 * order.
 **/
abstract class Yaf_Bootstrap_Abstract {
}
abstract class Yaf_Config_Abstract {
    /**
     * @var mixed
     **/
    protected $_config;

    /**
     * @var mixed
     **/
    protected $_readonly;

    /**
     * Getter
     *
     * @param string $name
     * @param mixed $value
     * @return mixed
     * @since Yaf >=1.0.0
     **/
    abstract public function get($name, $value);

    /**
     * Find a config whether readonly
     *
     * @return bool
     * @since Yaf >=1.0.0
     **/
    abstract public function readonly();

    /**
     * Setter
     *
     * @return Yaf_Config_Abstract
     * @since Yaf >=1.0.0
     **/
    abstract public function set();

    /**
     * Cast to array
     *
     * @return array
     * @since Yaf >=1.0.0
     **/
    abstract public function toArray();

}
/**
 * Yaf_Config_Ini enables developers to store configuration data in a
 * familiar INI format and read them in the application by using nested
 * object property syntax. The INI format is specialized to provide both
 * the ability to have a hierarchy of configuration data keys and
 * inheritance between configuration data sections. Configuration data
 * hierarchies are supported by separating the keys with the dot or
 * period character ("."). A section may extend or inherit from another
 * section by following the section name with a colon character (":") and
 * the name of the section from which data are to be inherited.
 * Yaf_Config_Ini utilizes the » parse_ini_file() PHP function. Please
 * review this documentation to be aware of its specific behaviors, which
 * propagate to Yaf_Config_Ini, such as how the special values of "TRUE",
 * "FALSE", "yes", "no", and "NULL" are handled.
 **/
class Yaf_Config_Ini extends Yaf_Config_Abstract implements Iterator, ArrayAccess, Countable {
    /**
     * Count all elements in Yaf_Config.ini
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function count(){}

    /**
     * Retrieve the current value
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function current(){}

    /**
     * Fetch current element's key
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function key(){}

    /**
     * Advance the internal pointer
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function next(){}

    /**
     * The offsetExists purpose
     *
     * @param string $name
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function offsetExists($name){}

    /**
     * The offsetGet purpose
     *
     * @param string $name
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function offsetGet($name){}

    /**
     * The offsetSet purpose
     *
     * @param string $name
     * @param string $value
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function offsetSet($name, $value){}

    /**
     * The offsetUnset purpose
     *
     * @param string $name
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function offsetUnset($name){}

    /**
     * The readonly purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function readonly(){}

    /**
     * The rewind purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function rewind(){}

    /**
     * Return config as a PHP array
     *
     * Returns a PHP array from the Yaf_Config_Ini
     *
     * @return array
     * @since Yaf >=1.0.0
     **/
    public function toArray(){}

    /**
     * The valid purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function valid(){}

    /**
     * Yaf_Config_Ini constructor
     *
     * Yaf_Config_Ini constructor
     *
     * @param string $config_file path to an INI configure file
     * @param string $section which section in that INI file you want to be
     *   parsed
     * @since Yaf >=1.0.0
     **/
    public function __construct($config_file, $section){}

    /**
     * Retrieve a element
     *
     * @param string $name
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function __get($name){}

    /**
     * Determine if a key is exists
     *
     * @param string $name
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function __isset($name){}

    /**
     * The __set purpose
     *
     * @param string $name
     * @param mixed $value
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function __set($name, $value){}

}
class Yaf_Config_Simple extends Yaf_Config_Abstract implements Iterator, ArrayAccess, Countable {
    /**
     * @var mixed
     **/
    protected $_readonly;

    /**
     * The count purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function count(){}

    /**
     * The current purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function current(){}

    /**
     * The key purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function key(){}

    /**
     * The next purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function next(){}

    /**
     * The offsetExists purpose
     *
     * @param string $name
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function offsetExists($name){}

    /**
     * The offsetGet purpose
     *
     * @param string $name
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function offsetGet($name){}

    /**
     * The offsetSet purpose
     *
     * @param string $name
     * @param string $value
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function offsetSet($name, $value){}

    /**
     * The offsetUnset purpose
     *
     * @param string $name
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function offsetUnset($name){}

    /**
     * The readonly purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function readonly(){}

    /**
     * The rewind purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function rewind(){}

    /**
     * Returns a PHP array
     *
     * Returns a PHP array from the Yaf_Config_Simple
     *
     * @return array
     * @since Yaf >=1.0.0
     **/
    public function toArray(){}

    /**
     * The valid purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function valid(){}

    /**
     * The __construct purpose
     *
     * @param string $config_file
     * @param string $section
     * @since Yaf >=1.0.0
     **/
    public function __construct($config_file, $section){}

    /**
     * The __get purpose
     *
     * @param string $name
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function __get($name){}

    /**
     * The __isset purpose
     *
     * @param string $name
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function __isset($name){}

    /**
     * The __set purpose
     *
     * @param string $name
     * @param string $value
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function __set($name, $value){}

}
/**
 * Yaf_Controller_Abstract is the heart of Yaf's system. MVC stands for
 * Model-View-Controller and is a design pattern targeted at separating
 * application logic from display logic. Every custom controller shall
 * inherit Yaf_Controller_Abstract. You will find that you can not define
 * __construct function for your custom controller, thus,
 * Yaf_Controller_Abstract provides a magic method:
 * Yaf_Controller_Abstract::init. If you have defined a init() method in
 * your custom controller, it will be called as long as the controller
 * was instantiated. Action may have arguments, when a request coming, if
 * there are the same name variable in the request parameters(see
 * Yaf_Request_Abstract::getParam) after routed, Yaf will pass them to
 * the action method (see Yaf_Action_Abstract::execute). These arguments
 * are directly fetched without filtering, it should be carefully
 * processed before use them.
 **/
abstract class Yaf_Controller_Abstract {
    /**
     * @var mixed
     **/
    public $actions;

    /**
     * @var mixed
     **/
    protected $_invoke_args;

    /**
     * @var mixed
     **/
    protected $_module;

    /**
     * @var mixed
     **/
    protected $_name;

    /**
     * @var mixed
     **/
    protected $_request;

    /**
     * @var mixed
     **/
    protected $_response;

    /**
     * @var mixed
     **/
    protected $_view;

    /**
     * The display purpose
     *
     * @param string $tpl
     * @param array $parameters
     * @return bool
     * @since Yaf >=1.0.0
     **/
    protected function display($tpl, $parameters){}

    /**
     * Foward to another action
     *
     * forward current execution process to other action. this method doesn't
     * switch to the destination action immediately, it will take place after
     * current flow finish.
     *
     * @param string $action destination module name, if NULL was given,
     *   then default module name is assumed
     * @param array $paramters destination controller name
     * @return void return FALSE on failure
     * @since Yaf >=1.0.0
     **/
    public function forward($action, $paramters){}

    /**
     * The getInvokeArg purpose
     *
     * @param string $name
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function getInvokeArg($name){}

    /**
     * The getInvokeArgs purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function getInvokeArgs(){}

    /**
     * Get module name
     *
     * get the controller's module name
     *
     * @return string
     * @since Yaf >=1.0.0
     **/
    public function getModuleName(){}

    /**
     * Retrieve current request object
     *
     * retrieve current request object
     *
     * @return Yaf_Request_Abstract Yaf_Request_Abstract instance
     * @since Yaf >=1.0.0
     **/
    public function getRequest(){}

    /**
     * Retrieve current response object
     *
     * retrieve current response object
     *
     * @return Yaf_Response_Abstract Yaf_Response_Abstract instance
     * @since Yaf >=1.0.0
     **/
    public function getResponse(){}

    /**
     * Retrieve the view engine
     *
     * retrieve view engine
     *
     * @return Yaf_View_Interface
     * @since Yaf >=1.0.0
     **/
    public function getView(){}

    /**
     * The getViewpath purpose
     *
     * @return string
     * @since Yaf >=1.0.0
     **/
    public function getViewpath(){}

    /**
     * Controller initializer
     *
     * Yaf_Controller_Abstract::__construct is final, which means users can
     * not override it. but users can define Yaf_Controller_Abstract::init,
     * which will be called after controller object is instantiated.
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function init(){}

    /**
     * The initView purpose
     *
     * @param array $options
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function initView($options){}

    /**
     * Redirect to a URL
     *
     * redirect to a URL by sending a 302 header
     *
     * @param string $url a location URL
     * @return bool bool
     * @since Yaf >=1.0.0
     **/
    public function redirect($url){}

    /**
     * Render view template
     *
     * @param string $tpl
     * @param array $parameters
     * @return string
     * @since Yaf >=1.0.0
     **/
    protected function render($tpl, $parameters){}

    /**
     * The setViewpath purpose
     *
     * @param string $view_directory
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function setViewpath($view_directory){}

    /**
     * Yaf_Controller_Abstract can not be cloned
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    final private function __clone(){}

    /**
     * Yaf_Controller_Abstract constructor
     *
     * Yaf_Controller_Abstract::__construct is final, which means it can not
     * be overridden. You may want to see Yaf_Controller_Abstract::init
     * instead.
     *
     * @since Yaf >=1.0.0
     **/
    final private function __construct(){}

}
/**
 * Yaf_Dispatcher purpose is to initialize the request environment, route
 * the incoming request, and then dispatch any discovered actions; it
 * aggregates any responses and returns them when the process is
 * complete. Yaf_Dispatcher also implements the Singleton pattern,
 * meaning only a single instance of it may be available at any given
 * time. This allows it to also act as a registry on which the other
 * objects in the dispatch process may draw.
 **/
final class Yaf_Dispatcher {
    /**
     * @var mixed
     **/
    protected $_auto_render;

    /**
     * @var mixed
     **/
    protected $_default_action;

    /**
     * @var mixed
     **/
    protected $_default_controller;

    /**
     * @var mixed
     **/
    protected $_default_module;

    /**
     * @var mixed
     **/
    protected static $_instance;

    /**
     * @var mixed
     **/
    protected $_instantly_flush;

    /**
     * @var mixed
     **/
    protected $_plugins;

    /**
     * @var mixed
     **/
    protected $_request;

    /**
     * @var mixed
     **/
    protected $_return_response;

    /**
     * @var mixed
     **/
    protected $_router;

    /**
     * @var mixed
     **/
    protected $_view;

    /**
     * Switch on/off autorendering
     *
     * Yaf_Dispatcher will render automatically after dispatches a incoming
     * request, you can prevent the rendering by calling this method with
     * {@link flag} TRUE you can simply return FALSE in a action to prevent
     * the auto-rendering of that action
     *
     * @param bool $flag bool since 2.2.0, if this parameter is not given,
     *   then the current state will be renturned
     * @return Yaf_Dispatcher
     * @since Yaf >=1.0.0
     **/
    public function autoRender($flag){}

    /**
     * Switch on/off exception catching
     *
     * While the application.dispatcher.throwException is On(you can also
     * calling to Yaf_Dispatcher::throwException(TRUE) to enable it), Yaf
     * will throw Exception whe error occurrs instead of trigger error.
     *
     * then if you enable Yaf_Dispatcher::catchException(also can enabled by
     * set application.dispatcher.catchException), all uncaught Exceptions
     * will be caught by ErrorController::error if you have defined one.
     *
     * @param bool $flag bool
     * @return Yaf_Dispatcher
     * @since Yaf >=1.0.0
     **/
    public function catchException($flag){}

    /**
     * Disable view rendering
     *
     * disable view engine, used in some app that user will output by
     * theirself you can simply return FALSE in a action to prevent the
     * auto-rendering of that action
     *
     * @return bool
     * @since Yaf >=1.0.0
     **/
    public function disableView(){}

    /**
     * Dispatch a request
     *
     * This method does the heavy work of the Yaf_Dispatcher. It take a
     * request object.
     *
     * The dispatch process has three distinct events: Routing Dispatching
     * Response Routing takes place exactly once, using the values in the
     * request object when dispatch() is called. Dispatching takes place in a
     * loop; a request may either indicate multiple actions to dispatch, or
     * the controller or a plugin may reset the request object to force
     * additional actions to dispatch(see Yaf_Plugin_Abstract. When all is
     * done, the Yaf_Dispatcher returns a response.
     *
     * @param Yaf_Request_Abstract $request
     * @return Yaf_Response_Abstract
     * @since Yaf >=1.0.0
     **/
    public function dispatch($request){}

    /**
     * Enable view rendering
     *
     * @return Yaf_Dispatcher
     * @since Yaf >=1.0.0
     **/
    public function enableView(){}

    /**
     * Switch on/off the instant flushing
     *
     * @param bool $flag bool since 2.2.0, if this parameter is not given,
     *   then the current state will be renturned
     * @return Yaf_Dispatcher
     * @since Yaf >=1.0.0
     **/
    public function flushInstantly($flag){}

    /**
     * Retrive the application
     *
     * Retrive the Yaf_Application instance. same as Yaf_Application::app.
     *
     * @return Yaf_Application
     * @since Yaf >=1.0.0
     **/
    public function getApplication(){}

    /**
     * Retrive the dispatcher instance
     *
     * @return Yaf_Dispatcher
     * @since Yaf >=1.0.0
     **/
    public static function getInstance(){}

    /**
     * Retrive the request instance
     *
     * @return Yaf_Request_Abstract
     * @since Yaf >=1.0.0
     **/
    public function getRequest(){}

    /**
     * Retrive router instance
     *
     * @return Yaf_Router
     * @since Yaf >=1.0.0
     **/
    public function getRouter(){}

    /**
     * Initialize view and return it
     *
     * @param string $templates_dir
     * @param array $options
     * @return Yaf_View_Interface
     * @since Yaf >=1.0.0
     **/
    public function initView($templates_dir, $options){}

    /**
     * Register a plugin
     *
     * Register a plugin(see Yaf_Plugin_Abstract). Generally, we register
     * plugins in Bootstrap(see Yaf_Bootstrap_Abstract).
     *
     * @param Yaf_Plugin_Abstract $plugin
     * @return Yaf_Dispatcher
     * @since Yaf >=1.0.0
     **/
    public function registerPlugin($plugin){}

    /**
     * The returnResponse purpose
     *
     * @param bool $flag
     * @return Yaf_Dispatcher
     * @since Yaf >=1.0.0
     **/
    public function returnResponse($flag){}

    /**
     * Change default action name
     *
     * @param string $action
     * @return Yaf_Dispatcher
     * @since Yaf >=1.0.0
     **/
    public function setDefaultAction($action){}

    /**
     * Change default controller name
     *
     * @param string $controller
     * @return Yaf_Dispatcher
     * @since Yaf >=1.0.0
     **/
    public function setDefaultController($controller){}

    /**
     * Change default module name
     *
     * @param string $module
     * @return Yaf_Dispatcher
     * @since Yaf >=1.0.0
     **/
    public function setDefaultModule($module){}

    /**
     * Set error handler
     *
     * Set error handler for Yaf. when application.dispatcher.throwException
     * is off, Yaf will trigger catchable error while unexpected errors
     * occrred.
     *
     * Thus, this error handler will be called while the error raise.
     *
     * @param call $callback A callable callback
     * @param int $error_types
     * @return Yaf_Dispatcher
     * @since Yaf >=1.0.0
     **/
    public function setErrorHandler($callback, $error_types){}

    /**
     * The setRequest purpose
     *
     * @param Yaf_Request_Abstract $request
     * @return Yaf_Dispatcher
     * @since Yaf >=1.0.0
     **/
    public function setRequest($request){}

    /**
     * Set a custom view engine
     *
     * This method proviods a solution for that if you want use a custom view
     * engine instead of Yaf_View_Simple
     *
     * @param Yaf_View_Interface $view A Yaf_View_Interface instance
     * @return Yaf_Dispatcher
     * @since Yaf >=1.0.0
     **/
    public function setView($view){}

    /**
     * Switch on/off exception throwing
     *
     * Siwtch on/off exception throwing while unexpected error occurring.
     * When this is on, Yaf will throwing exceptions instead of triggering
     * catchable errors.
     *
     * You can also use application.dispatcher.throwException to achieve the
     * same purpose.
     *
     * @param bool $flag bool
     * @return Yaf_Dispatcher
     * @since Yaf >=1.0.0
     **/
    public function throwException($flag){}

    /**
     * Yaf_Dispatcher can not be cloned
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    private function __clone(){}

    /**
     * Yaf_Dispatcher constructor
     *
     * @since Yaf >=1.0.0
     **/
    public function __construct(){}

    /**
     * Yaf_Dispatcher can not be serialized
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    private function __sleep(){}

    /**
     * Yaf_Dispatcher can not be unserialized
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    private function __wakeup(){}

}
class Yaf_Exception extends Exception {
    /**
     * The getPrevious purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function getPrevious(){}

    /**
     * The __construct purpose
     *
     * @since Yaf >=1.0.0
     **/
    public function __construct(){}

}
class Yaf_Exception_DispatchFailed extends Yaf_Exception {
}
class Yaf_Exception_LoadFailed extends Yaf_Exception {
}
class Yaf_Exception_LoadFailed_Action extends Yaf_Exception_LoadFailed {
}
class Yaf_Exception_LoadFailed_Controller extends Yaf_Exception_LoadFailed {
}
class Yaf_Exception_LoadFailed_Module extends Yaf_Exception_LoadFailed {
}
class Yaf_Exception_LoadFailed_View extends Yaf_Exception_LoadFailed {
}
class Yaf_Exception_RouterFailed extends Yaf_Exception {
}
class Yaf_Exception_StartupError extends Yaf_Exception {
}
class Yaf_Exception_TypeError extends Yaf_Exception {
}
/**
 * Yaf_Loader introduces a comprehensive autoloading solution for Yaf.
 * The first time an instance of Yaf_Application is retrieved, Yaf_Loader
 * will instance a singleton, and registers itself with spl_autoload. You
 * retrieve an instance using the Yaf_Loader::getInstance Yaf_Loader
 * attempt to load a class only one shot, if failed, depend on
 * yaf.use_spl_auload, if this config is On Yaf_Loader::autoload will
 * return FALSE, thus give the chance to other autoload function. if it
 * is Off (by default), Yaf_Loader::autoload will return TRUE, and more
 * important is that a very usefull warning will be triggerd (very
 * usefull to find out why a class could not be loaded). Please keep
 * yaf.use_spl_autoload Off unless there is some library have their own
 * autoload mechanism and impossible to rewrite it. By default,
 * Yaf_Loader assume all library (class defined script) store in the
 * global library directory, which is defined in the
 * php.ini(yaf.library). If you want Yaf_Loader search some
 * classes(libraries) in the local class directory(which is defined in
 * application.ini, and by default, it is application.directory .
 * "/library"), you should register the class prefix using the
 * Yaf_Loader::registerLocalNameSpace Let's see some examples(assuming
 * APPLICATION_PATH is application.directory): Config example
 *
 * // Assuming the following configure in php.ini: yaf.library =
 * "/global_dir"
 *
 * //Assuming the following configure in application.ini
 * application.library = APPLICATION_PATH "/library"
 *
 * Assuming the following local name space registerd: Register
 * localnamespace
 *
 * Then the autoload examples: Load class example
 *
 * class Foo_Bar_Test => // APPLICATION_PATH/library/Foo/Bar/Test.php
 * class GLO_Name => // /global_dir/Glo/Name.php class BarNon_Test //
 * /global_dir/Barnon/Test.php
 *
 * As of PHP 5.3, you can use namespace: Load namespace class example
 *
 * class \Foo\Bar\Dummy => // APPLICATION_PATH/library/Foo/Bar/Dummy.php
 *
 * class \FooBar\Bar\Dummy => // /global_dir/FooBar/Bar/Dummy.php You may
 * noticed that all the folder wth the first letter capitalized, you can
 * make them lowercase by set yaf.lowcase_path = On in php.ini Yaf_Loader
 * is also designed to load the MVC classes, and the rule is: MVC class
 * loading example
 *
 * Controller Classes => // APPLICATION_PATH/controllers/
 *
 * Model Classes => // APPLICATION_PATH/models/
 *
 * Plugin Classes => // APPLICATION_PATH/plugins/
 *
 * Yaf identify a class's suffix(this is by default, you can also change
 * to the prefix by change the configure yaf.name_suffix) to decide
 * whether it is a MVC class: MVC class distinctions
 *
 * Controller Classes => // ***Controller
 *
 * Model Classes => // ***Model
 *
 * Plugin Classes => // ***Plugin
 *
 * some examples: MVC loading example
 *
 * class IndexController // APPLICATION_PATH/controllers/Index.php
 *
 * class DataModel => // APPLICATION_PATH/models/Data.php
 *
 * class DummyPlugin => // APPLICATION_PATH/plugins/Dummy.php
 *
 * class A_B_TestModel => // APPLICATION_PATH/models/A/B/Test.php
 *
 * As of 2.1.18, Yaf supports Controllers autoloading for user script
 * side, (which means the autoloading triggered by user php script, eg:
 * access a controller static property in Bootstrap or Plugins), but
 * autoloader only try to locate controller class script under the
 * default module folder, which is "APPLICATION_PATH/controllers/". also,
 * the directory will be affected by yaf.lowcase_path.
 **/
class Yaf_Loader {
    /**
     * @var mixed
     **/
    protected $_global_library;

    /**
     * @var mixed
     **/
    static $_instance;

    /**
     * @var mixed
     **/
    protected $_library;

    /**
     * @var mixed
     **/
    protected $_local_ns;

    /**
     * The autoload purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function autoload(){}

    /**
     * The clearLocalNamespace purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function clearLocalNamespace(){}

    /**
     * The getInstance purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public static function getInstance(){}

    /**
     * Get the library path
     *
     * @param bool $is_global
     * @return Yaf_Loader
     * @since Yaf >=2.1.4
     **/
    public function getLibraryPath($is_global){}

    /**
     * The getLocalNamespace purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function getLocalNamespace(){}

    /**
     * The import purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public static function import(){}

    /**
     * The isLocalName purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function isLocalName(){}

    /**
     * Register local class prefix
     *
     * Register local class prefix name, Yaf_Loader search classes in two
     * library directories, the one is configured via
     * application.library.directory(in application.ini) which is called
     * local libraray directory; the other is configured via yaf.library (in
     * php.ini) which is callled global library directory, since it can be
     * shared by many applications in the same server.
     *
     * When an autloading is trigger, Yaf_Loader will determine which library
     * directory should be searched in by exame the prefix name of the missed
     * classname.
     *
     * If the prefix name is registered as a localnamespack then look for it
     * in local library directory, otherwise look for it in global library
     * directory. If yaf.library is not configured, then the global library
     * directory is assumed to be the local library directory. in that case,
     * all autoloading will look for local library directory.
     *
     * But if you want your Yaf application be strong, then always register
     * your own classes as local classes.
     *
     * @param mixed $prefix a string or a array of class name prefix. all
     *   class prefix with these prefix will be loaded in local library path.
     * @return void bool
     * @since Yaf >=1.0.0
     **/
    public function registerLocalNamespace($prefix){}

    /**
     * Change the library path
     *
     * @param string $directory
     * @param bool $is_global
     * @return Yaf_Loader
     * @since Yaf >=2.1.4
     **/
    public function setLibraryPath($directory, $is_global){}

    /**
     * The __clone purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    private function __clone(){}

    /**
     * The __construct purpose
     *
     * @since Yaf >=1.0.0
     **/
    private function __construct(){}

    /**
     * The __sleep purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    private function __sleep(){}

    /**
     * The __wakeup purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    private function __wakeup(){}

}
/**
 * Plugins allow for easy extensibility and customization of the
 * framework. Plugins are classes. The actual class definition will vary
 * based on the component -- you may need to implement this interface,
 * but the fact remains that the plugin is itself a class. A plugin could
 * be loaded into Yaf by using Yaf_Dispatcher::registerPlugin, after
 * registerd, All the methods which the plugin implemented according to
 * this interface, will be called at the proper time.
 **/
class Yaf_Plugin_Abstract {
    /**
     * The dispatchLoopShutdown purpose
     *
     * This is the latest hook in Yaf plugin hook system, if a custom plugin
     * implement this method, then it will be called after the dispatch loop
     * finished.
     *
     * @param Yaf_Request_Abstract $request
     * @param Yaf_Response_Abstract $response
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function dispatchLoopShutdown($request, $response){}

    /**
     * Hook before dispatch loop
     *
     * @param Yaf_Request_Abstract $request
     * @param Yaf_Response_Abstract $response
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function dispatchLoopStartup($request, $response){}

    /**
     * The postDispatch purpose
     *
     * @param Yaf_Request_Abstract $request
     * @param Yaf_Response_Abstract $response
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function postDispatch($request, $response){}

    /**
     * The preDispatch purpose
     *
     * @param Yaf_Request_Abstract $request
     * @param Yaf_Response_Abstract $response
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function preDispatch($request, $response){}

    /**
     * The preResponse purpose
     *
     * @param Yaf_Request_Abstract $request
     * @param Yaf_Response_Abstract $response
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function preResponse($request, $response){}

    /**
     * The routerShutdown purpose
     *
     * This hook will be trigged after the route process finished, this hook
     * is usually used for login check.
     *
     * @param Yaf_Request_Abstract $request
     * @param Yaf_Response_Abstract $response
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function routerShutdown($request, $response){}

    /**
     * RouterStartup hook
     *
     * This is the earliest hook in Yaf plugin hook system, if a custom
     * plugin implement this method, then it will be called before routing a
     * request.
     *
     * @param Yaf_Request_Abstract $request
     * @param Yaf_Response_Abstract $response
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function routerStartup($request, $response){}

}
/**
 * All methods of Yaf_Registry declared as static, making it unversally
 * accessible. This provides the ability to get or set any custom data
 * from anyway in your code as necessary.
 **/
class Yaf_Registry {
    /**
     * @var mixed
     **/
    protected $_entries;

    /**
     * @var mixed
     **/
    static $_instance;

    /**
     * Remove an item from registry
     *
     * @param string $name
     * @return void
     * @since Yaf >=1.0.0
     **/
    public static function del($name){}

    /**
     * Retrieve an item from registry
     *
     * @param string $name
     * @return mixed
     * @since Yaf >=1.0.0
     **/
    public static function get($name){}

    /**
     * Check whether an item exists
     *
     * @param string $name
     * @return bool
     * @since Yaf >=1.0.0
     **/
    public static function has($name){}

    /**
     * Add an item into registry
     *
     * @param string $name
     * @param string $value
     * @return bool
     * @since Yaf >=1.0.0
     **/
    public static function set($name, $value){}

    /**
     * The __clone purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    private function __clone(){}

    /**
     * Yaf_Registry implements singleton
     *
     * @since Yaf >=1.0.0
     **/
    private function __construct(){}

}
class Yaf_Request_Abstract {
    /**
     * @var string
     **/
    const SCHEME_HTTP = '';

    /**
     * @var string
     **/
    const SCHEME_HTTPS = '';

    /**
     * @var mixed
     **/
    public $action;

    /**
     * @var mixed
     **/
    public $controller;

    /**
     * @var mixed
     **/
    protected $dispatched;

    /**
     * @var mixed
     **/
    protected $language;

    /**
     * @var mixed
     **/
    public $method;

    /**
     * @var mixed
     **/
    public $module;

    /**
     * @var mixed
     **/
    protected $params;

    /**
     * @var mixed
     **/
    protected $routed;

    /**
     * @var mixed
     **/
    protected $uri;

    /**
     * @var mixed
     **/
    protected $_base_uri;

    /**
     * @var mixed
     **/
    protected $_exception;

    /**
     * The getActionName purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function getActionName(){}

    /**
     * The getBaseUri purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function getBaseUri(){}

    /**
     * The getControllerName purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function getControllerName(){}

    /**
     * Retrieve ENV varialbe
     *
     * Retrieve ENV variable
     *
     * @param string $name the variable name
     * @param string $default if this parameter is provide, this will be
     *   returned if the varialbe can not be found
     * @return void Returns string
     * @since Yaf >=1.0.0
     **/
    public function getEnv($name, $default){}

    /**
     * The getException purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function getException(){}

    /**
     * Retrieve client's prefered language
     *
     * @return void Returns a string
     * @since Yaf >=1.0.0
     **/
    public function getLanguage(){}

    /**
     * Retrieve the request method
     *
     * @return string Return a string, like "POST", "GET" etc.
     * @since Yaf >=1.0.0
     **/
    public function getMethod(){}

    /**
     * The getModuleName purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function getModuleName(){}

    /**
     * Retrieve calling parameter
     *
     * @param string $name
     * @param string $default
     * @return mixed
     * @since Yaf >=1.0.0
     **/
    public function getParam($name, $default){}

    /**
     * Retrieve all calling parameters
     *
     * @return array
     * @since Yaf >=1.0.0
     **/
    public function getParams(){}

    /**
     * The getRequestUri purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function getRequestUri(){}

    /**
     * Retrieve SERVER variable
     *
     * @param string $name the variable name
     * @param string $default if this parameter is provide, this will be
     *   returned if the variable can not be found
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function getServer($name, $default){}

    /**
     * Determine if request is CLI reques
     *
     * @return bool bolean
     * @since Yaf >=1.0.0
     **/
    public function isCli(){}

    /**
     * Determin if the request is dispatched
     *
     * @return bool boolean
     * @since Yaf >=1.0.0
     **/
    public function isDispatched(){}

    /**
     * Determine if request is GET reques
     *
     * @return bool boolean
     * @since Yaf >=1.0.0
     **/
    public function isGet(){}

    /**
     * Determine if request is HEAD reques
     *
     * @return bool boolean
     * @since Yaf >=1.0.0
     **/
    public function isHead(){}

    /**
     * Determine if request is OPTIONS reques
     *
     * @return bool boolean
     * @since Yaf >=1.0.0
     **/
    public function isOptions(){}

    /**
     * Determine if request is POST request
     *
     * @return bool boolean
     * @since Yaf >=1.0.0
     **/
    public function isPost(){}

    /**
     * Determine if request is PUT reques
     *
     * @return bool boolean
     * @since Yaf >=1.0.0
     **/
    public function isPut(){}

    /**
     * Determin if request has been routed
     *
     * @return bool boolean
     * @since Yaf >=1.0.0
     **/
    public function isRouted(){}

    /**
     * Determine if request is AJAX reques
     *
     * @return bool boolean
     * @since Yaf >=1.0.0
     **/
    public function isXmlHttpRequest(){}

    /**
     * The setActionName purpose
     *
     * @param string $action
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function setActionName($action){}

    /**
     * Set base URI
     *
     * Set base URI, base URI is used when doing routing, in routing phase
     * request URI is used to route a request, while base URI is used to skip
     * the leadding part(base URI) of request URI.
     *
     * That is, if comes a request with request URI a/b/c, then if you set
     * base URI to "a/b", only "/c" will be used in routing phase. generally,
     * you don't need to set this, Yaf will determine it automatically.
     *
     * @param string $uir base URI
     * @return bool bool
     * @since Yaf >=1.0.0
     **/
    public function setBaseUri($uir){}

    /**
     * The setControllerName purpose
     *
     * @param string $controller
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function setControllerName($controller){}

    /**
     * The setDispatched purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function setDispatched(){}

    /**
     * The setModuleName purpose
     *
     * @param string $module
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function setModuleName($module){}

    /**
     * Set a calling parameter to a request
     *
     * Set a parameter to request, which can be retrieved by
     * Yaf_Request_Abstract::getParam
     *
     * @param string $name
     * @param string $value
     * @return bool
     * @since Yaf >=1.0.0
     **/
    public function setParam($name, $value){}

    /**
     * The setRequestUri purpose
     *
     * @param string $uir
     * @return void
     * @since Yaf >=2.1.0
     **/
    public function setRequestUri($uir){}

    /**
     * The setRouted purpose
     *
     * @param string $flag
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function setRouted($flag){}

}
/**
 * Any request from client is initialized as a Yaf_Request_Http. you can
 * get the rquest information like, uri query and post parameters via
 * methods of this class. For security, $_GET/$_POST are readonly in Yaf,
 * which means if you set a value to these global variables, you can not
 * get it from Yaf_Request_Http::getQuery or Yaf_Request_Http::getPost.
 * But there do is some usage need such feature, like unit testing. thus
 * Yaf can be built with --enable-yaf-debug, which will allow Yaf read
 * the value user set via script. in such case, Yaf will throw a E_STRICT
 * warning to remind you about that: Strict Standards: you are running
 * yaf in debug mode
 **/
class Yaf_Request_Http extends Yaf_Request_Abstract {
    /**
     * Retrieve variable from client
     *
     * Retrieve variable from client, this method will search the {@link
     * name} in request pramas, if the name is not found, then will search in
     * POST, GET, Cookie, Server
     *
     * @param string $name the variable name
     * @param string $default if this parameter is provide, this will be
     *   returned if the varialbe can not be found
     * @return mixed
     * @since Yaf >=1.0.0
     **/
    public function get($name, $default){}

    /**
     * Retrieve Cookie variable
     *
     * @param string $name the cookie name
     * @param string $default if this parameter is provide, this will be
     *   returned if the cookie can not be found
     * @return mixed
     * @since Yaf >=1.0.0
     **/
    public function getCookie($name, $default){}

    /**
     * The getFiles purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function getFiles(){}

    /**
     * Retrieve POST variable
     *
     * @param string $name the variable name
     * @param string $default if this parameter is provide, this will be
     *   returned if the varialbe can not be found
     * @return mixed
     * @since Yaf >=1.0.0
     **/
    public function getPost($name, $default){}

    /**
     * Fetch a query parameter
     *
     * Retrieve GET variable
     *
     * @param string $name the variable name
     * @param string $default if this parameter is provide, this will be
     *   returned if the variable can not be found
     * @return mixed
     * @since Yaf >=1.0.0
     **/
    public function getQuery($name, $default){}

    /**
     * Retrieve Raw request body
     *
     * @return mixed Return string on success, FALSE on failure.
     * @since Yaf >=3.0.7
     **/
    public function getRaw(){}

    /**
     * The getRequest purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function getRequest(){}

    /**
     * Determin if request is Ajax Request
     *
     * Check the request whether it is a Ajax Request. This method depends on
     * the request header: HTTP_X_REQUESTED_WITH, some Javascript library
     * doesn't set this header while doing Ajax request
     *
     * @return bool boolean
     * @since Yaf >=1.0.0
     **/
    public function isXmlHttpRequest(){}

    /**
     * Yaf_Request_Http can not be cloned
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    private function __clone(){}

    /**
     * Constructor of Yaf_Request_Http
     *
     * @param string $request_uri
     * @param string $base_uri
     * @since Yaf >=1.0.0
     **/
    public function __construct($request_uri, $base_uri){}

}
/**
 * Yaf_Request_Simple is particularlly used for test puporse. ie.
 * simulate some espacial request under CLI mode.
 **/
class Yaf_Request_Simple extends Yaf_Request_Abstract {
    /**
     * @var string
     **/
    const SCHEME_HTTP = '';

    /**
     * @var string
     **/
    const SCHEME_HTTPS = '';

    /**
     * The get purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function get(){}

    /**
     * The getCookie purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function getCookie(){}

    /**
     * The getFiles purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function getFiles(){}

    /**
     * The getPost purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function getPost(){}

    /**
     * The getQuery purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function getQuery(){}

    /**
     * The getRequest purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function getRequest(){}

    /**
     * Determin if request is AJAX request
     *
     * @return void Always returns false for Yaf_Request_Simple
     * @since Yaf >=1.0.0
     **/
    public function isXmlHttpRequest(){}

    /**
     * The __clone purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    private function __clone(){}

    /**
     * Constructor of Yaf_Request_Simple
     *
     * @param string $method
     * @param string $module
     * @param string $controller
     * @param string $action
     * @param array $params
     * @since Yaf >=1.0.0
     **/
    public function __construct($method, $module, $controller, $action, $params){}

}
class Yaf_Response_Abstract {
    /**
     * @var string
     **/
    const DEFAULT_BODY = '';

    /**
     * @var mixed
     **/
    protected $_body;

    /**
     * @var mixed
     **/
    protected $_header;

    /**
     * @var mixed
     **/
    protected $_sendheader;

    /**
     * Append to response body
     *
     * Append a content to a exists content block
     *
     * @param string $content content string
     * @param string $key the content key, you can set a content with a
     *   key, if you don't specific, then Yaf_Response_Abstract::DEFAULT_BODY
     *   will be used this parameter is introduced as of 2.2.0
     * @return bool bool
     * @since Yaf >=1.0.0
     **/
    public function appendBody($content, $key){}

    /**
     * Discard all exists response body
     *
     * Clear existsed content
     *
     * @param string $key the content key, if you don't specific, then all
     *   contents will be cleared. this parameter is introduced as of 2.2.0
     * @return bool
     * @since Yaf >=1.0.0
     **/
    public function clearBody($key){}

    /**
     * Discard all set headers
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function clearHeaders(){}

    /**
     * Retrieve a exists content
     *
     * @param string $key the content key, if you don't specific, then
     *   Yaf_Response_Abstract::DEFAULT_BODY will be used. if you pass in a
     *   NULL, then all contents will be returned as a array this parameter
     *   is introduced as of 2.2.0
     * @return mixed
     * @since Yaf >=1.0.0
     **/
    public function getBody($key){}

    /**
     * The getHeader purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function getHeader(){}

    /**
     * The prependBody purpose
     *
     * prepend a content to a exists content block
     *
     * @param string $content content string
     * @param string $key the content key, you can set a content with a
     *   key, if you don't specific, then Yaf_Response_Abstract::DEFAULT_BODY
     *   will be used this parameter is introduced as of 2.2.0
     * @return bool bool
     * @since Yaf >=1.0.0
     **/
    public function prependBody($content, $key){}

    /**
     * Send response
     *
     * send response
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function response(){}

    /**
     * The setAllHeaders purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    protected function setAllHeaders(){}

    /**
     * Set content to response
     *
     * @param string $content content string
     * @param string $key the content key, you can set a content with a
     *   key, if you don't specific, then Yaf_Response_Abstract::DEFAULT_BODY
     *   will be used this parameter is introduced as of 2.2.0
     * @return bool
     * @since Yaf >=1.0.0
     **/
    public function setBody($content, $key){}

    /**
     * Set reponse header
     *
     * Used to send a HTTP header
     *
     * @param string $name
     * @param string $value
     * @param bool $replace
     * @return bool
     * @since Yaf >=1.0.0
     **/
    public function setHeader($name, $value, $replace){}

    /**
     * The setRedirect purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function setRedirect(){}

    /**
     * The __clone purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    private function __clone(){}

    /**
     * The __construct purpose
     *
     * @since Yaf >=1.0.0
     **/
    public function __construct(){}

    /**
     * The __destruct purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function __destruct(){}

    /**
     * Retrieve all bodys as string
     *
     * @return string
     * @since Yaf >=1.0.0
     **/
    private function __toString(){}

}
class Yaf_Response_Cli extends Yaf_Response_Abstract {
}
class Yaf_Response_Http extends Yaf_Response_Abstract {
    /**
     * @var mixed
     **/
    protected $_response_code;

    /**
     * @var mixed
     **/
    protected $_sendheader;

}
/**
 * Yaf_Router is the standard framework router. Routing is the process of
 * taking a URI endpoint (that part of the URI which comes after the base
 * URI: see Yaf_Request_Abstract::setBaseUri) and decomposing it into
 * parameters to determine which module, controller, and action of that
 * controller should receive the request. This values of the module,
 * controller, action and other parameters are packaged into a
 * Yaf_Request_Abstract object which is then processed by Yaf_Dispatcher.
 * Routing occurs only once: when the request is initially received and
 * before the first controller is dispatched.
 *
 * Yaf_Router is designed to allow for mod_rewrite-like functionality
 * using pure PHP structures. It is very loosely based on Ruby on Rails
 * routing and does not require any prior knowledge of webserver URL
 * rewriting. It is designed to work with a single Apache mod_rewrite
 * rule (one of): Rewrite rule for Apache
 *
 * RewriteEngine on RewriteRule !\.(js|ico|gif|jpg|png|css|html)$
 * index.php
 *
 * or (preferred): Rewrite rule for Apache
 *
 * RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond
 * %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d
 * RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.php [NC,L]
 *
 * If using Lighttpd, the following rewrite rule is valid: Rewrite rule
 * for Lighttpd
 *
 * url.rewrite-once = ( ".*\?(.*)$" => "/index.php?$1",
 * ".*\.(js|ico|gif|jpg|png|css|html)$" => "$0", "" => "/index.php" )
 *
 * If using Nginx, use the following rewrite rule: Rewrite rule for Nginx
 *
 * server { listen ****; server_name yourdomain.com; root document_root;
 * index index.php index.html;
 *
 * if (!-e $request_filename) { rewrite ^/(.*) /index.php/$1 last; } }
 * Yaf_Router comes preconfigured with a default route Yaf_Route_Static,
 * which will match URIs in the shape of controller/action. Additionally,
 * a module name may be specified as the first path element, allowing
 * URIs of the form module/controller/action. Finally, it will also match
 * any additional parameters appended to the URI by default -
 * controller/action/var1/value1/var2/value2. Module name must be defined
 * in config, considering application.module="Index,Foo,Bar", in this
 * case, only index, foo and bar can be considerd as a module name. if
 * doesn't config, there is only one module named "Index". Some examples
 * of how such routes are matched: Yaf_Route_Static(default route)example
 *
 * // Assuming the following configure: $conf = array( "application" =>
 * array( "modules" => "Index,Blog", ), );
 *
 * Controller only: http://example/news controller == news Action
 * only(when defined yaf.action_prefer=1 in php.ini) action == news
 * Invalid module maps to controller name: http://example/foo controller
 * == foo Module + controller: http://example/blog/archive module == blog
 * controller == archive Module + controller + action:
 * http://example/blog/archive/list module == blog controller == archive
 * action == list Module + controller + action + params:
 * http://example/blog/archive/list/sort/alpha/date/desc module == blog
 * controller == archive action == list sort == alpha date == desc
 **/
class Yaf_Router {
    /**
     * Add config-defined routes into Router
     *
     * Add routes defined by configs into Yaf_Router's route stack
     *
     * @param Yaf_Config_Abstract $config
     * @return bool An Yaf_Config_Abstract instance, which should contains
     *   one or more valid route configs
     * @since Yaf >=1.0.0
     **/
    public function addConfig($config){}

    /**
     * Add new Route into Router
     *
     * defaultly, Yaf_Router using a Yaf_Route_Static as its defualt route.
     * you can add new routes into router's route stack by calling this
     * method.
     *
     * the newer route will be called before the older(route stack), and if
     * the newer router return TRUE, the router process will be end.
     * otherwise, the older one will be called.
     *
     * @param string $name
     * @param Yaf_Route_Abstract $route
     * @return bool
     * @since Yaf >=1.0.0
     **/
    public function addRoute($name, $route){}

    /**
     * Get the effective route name
     *
     * Get the name of the route which is effective in the route process. You
     * should call this method after the route process finished, since before
     * that, this method will always return NULL.
     *
     * @return string String, the name of the effective route.
     * @since Yaf >=1.0.0
     **/
    public function getCurrentRoute(){}

    /**
     * Retrieve a route by name
     *
     * Retrieve a route by name, see also Yaf_Router::getCurrentRoute
     *
     * @param string $name
     * @return Yaf_Route_Interface
     * @since Yaf >=1.0.0
     **/
    public function getRoute($name){}

    /**
     * Retrieve registered routes
     *
     * @return mixed
     * @since Yaf >=1.0.0
     **/
    public function getRoutes(){}

    /**
     * The route purpose
     *
     * @param Yaf_Request_Abstract $request
     * @return bool
     * @since Yaf >=1.0.0
     **/
    public function route($request){}

    /**
     * Yaf_Router constructor
     *
     * @since Yaf >=1.0.0
     **/
    public function __construct(){}

}
/**
 * Yaf_Route_Interface used for developer defined their custom route.
 **/
interface Yaf_Route_Interface {
    /**
     * Assemble a request
     *
     * this method returns a url according to the argument info, and append
     * query strings to the url according to the argument query.
     *
     * a route should implement this method according to its own route rules,
     * and do a reverse progress.
     *
     * @param array $info
     * @param array $query
     * @return string
     * @since Yaf >=2.3.0
     **/
    public function assemble($info, $query);

    /**
     * Route a request
     *
     * Yaf_Route_Interface::route is the only method that a custom route
     * should implement. since of 2.3.0, there is another method should also
     * be implemented, see Yaf_Route_Interface::assemble.
     *
     * if this method return TRUE, then the route process will be end.
     * otherwise, Yaf_Router will call next route in the route stack to route
     * request.
     *
     * This method would set the route result to the parameter request, by
     * calling Yaf_Request_Abstract::setControllerName,
     * Yaf_Request_Abstract::setActionName and
     * Yaf_Request_Abstract::setModuleName.
     *
     * This method should also call Yaf_Request_Abstract::setRouted to make
     * the request routed at last.
     *
     * @param Yaf_Request_Abstract $request A Yaf_Request_Abstract
     *   instance.
     * @return bool
     * @since Yaf >=1.0.0
     **/
    public function route($request);

}
/**
 * Yaf_Route_Map is a built-in route, it simply convert a URI endpoint
 * (that part of the URI which comes after the base URI: see
 * Yaf_Request_Abstract::setBaseUri) to a controller name or action
 * name(depends on the paramter passed to Yaf_Route_Map::__construct) in
 * following rule: A => controller A. A/B/C => controller A_B_C.
 * A/B/C/D/E => controller A_B_C_D_E. If the second parameter of
 * Yaf_Route_Map::__construct is specificed, then only the part before
 * delimeter of URI will used to routing, the part after it is used to
 * routing request parameters (see the example section of
 * Yaf_Route_Map::__construct).
 **/
class Yaf_Route_Map implements Yaf_Route_Interface {
    /**
     * @var mixed
     **/
    protected $_ctl_router;

    /**
     * @var mixed
     **/
    protected $_delimeter;

    /**
     * Assemble a url
     *
     * @param array $info
     * @param array $query
     * @return string
     * @since Yaf >=2.3.0
     **/
    public function assemble($info, $query){}

    /**
     * The route purpose
     *
     * @param Yaf_Request_Abstract $request
     * @return bool
     * @since Yaf >=1.0.0
     **/
    public function route($request){}

    /**
     * The __construct purpose
     *
     * @param string $controller_prefer Whether the result should
     *   considering as controller or action
     * @param string $delimiter
     * @since Yaf >=1.0.0
     **/
    public function __construct($controller_prefer, $delimiter){}

}
/**
 * Yaf_Route_Regex is the most flexible route among the Yaf built-in
 * routes.
 **/
class Yaf_Route_Regex extends Yaf_Route_Interface implements Yaf_Route_Interface {
    /**
     * @var mixed
     **/
    protected $_default;

    /**
     * @var mixed
     **/
    protected $_maps;

    /**
     * @var mixed
     **/
    protected $_route;

    /**
     * @var mixed
     **/
    protected $_verify;

    /**
     * Assemble a url
     *
     * @param array $info
     * @param array $query
     * @return string
     * @since Yaf >=2.3.0
     **/
    public function assemble($info, $query){}

    /**
     * The route purpose
     *
     * Route a incoming request.
     *
     * @param Yaf_Request_Abstract $request
     * @return bool If the pattern given by the first parameter of
     *   Yaf_Route_Regex::_construct matche the request uri, return TRUE,
     *   otherwise return FALSE.
     * @since Yaf >=1.0.0
     **/
    public function route($request){}

    /**
     * Yaf_Route_Regex constructor
     *
     * @param string $match A complete Regex pattern, will be used to match
     *   a request uri, if doesn't matched, Yaf_Route_Regex will return
     *   FALSE.
     * @param array $route When the match pattern matches the request uri,
     *   Yaf_Route_Regex will use this to decide which m/c/a to routed.
     *   either of m/c/a in this array is optianl, if you don't assgian a
     *   specific value, it will be routed to default.
     * @param array $map A array to assign name to the captrues in the
     *   match result.
     * @param array $verify
     * @param string $reverse a string, used to assemble url, see
     *   Yaf_Route_Regex::assemble. this parameter is introduced in 2.3.0
     * @since Yaf >=1.0.0
     **/
    public function __construct($match, $route, $map, $verify, $reverse){}

}
/**
 * For usage, please see the example section of
 * Yaf_Route_Rewrite::__construct
 **/
class Yaf_Route_Rewrite extends Yaf_Route_Interface implements Yaf_Route_Interface {
    /**
     * @var mixed
     **/
    protected $_default;

    /**
     * @var mixed
     **/
    protected $_route;

    /**
     * @var mixed
     **/
    protected $_verify;

    /**
     * Assemble a url
     *
     * @param array $info
     * @param array $query
     * @return string
     * @since Yaf >=2.3.0
     **/
    public function assemble($info, $query){}

    /**
     * The route purpose
     *
     * @param Yaf_Request_Abstract $request
     * @return bool
     * @since Yaf >=1.0.0
     **/
    public function route($request){}

    /**
     * Yaf_Route_Rewrite constructor
     *
     * @param string $match A pattern, will be used to match a request uri,
     *   if it doesn't match, Yaf_Route_Rewrite will return FALSE. You can
     *   use :name style to name segments matched, and use * to match the
     *   rest of the URL segments.
     * @param array $route When the match pattern matches the request uri,
     *   Yaf_Route_Rewrite will use this to decide which
     *   module/controller/action is the destination. Either of
     *   module/controller/action in this array is optional, if you don't
     *   assign a specific value, it will be routed to default.
     * @param array $verify
     * @since Yaf >=1.0.0
     **/
    public function __construct($match, $route, $verify){}

}
/**
 * Yaf_Route_Simple will match the query string, and find the route info.
 * all you need to do is tell Yaf_Route_Simple what key in the $_GET is
 * module, what key is controller, and what key is action.
 * Yaf_Route_Simple::route will always return TRUE, so it is important
 * put Yaf_Route_Simple in the front of the Route stack, otherwise all
 * the other routes will not be called.
 **/
class Yaf_Route_Simple implements Yaf_Route_Interface {
    /**
     * @var mixed
     **/
    protected $action;

    /**
     * @var mixed
     **/
    protected $controller;

    /**
     * @var mixed
     **/
    protected $module;

    /**
     * Assemble a url
     *
     * @param array $info
     * @param array $query
     * @return string
     * @since Yaf >=2.3.0
     **/
    public function assemble($info, $query){}

    /**
     * Route a request
     *
     * see Yaf_Route_Simple::__construct
     *
     * @param Yaf_Request_Abstract $request
     * @return bool always be TRUE
     * @since Yaf >=1.0.0
     **/
    public function route($request){}

    /**
     * Yaf_Route_Simple constructor
     *
     * Yaf_Route_Simple will get route info from query string. and the
     * parameters of this constructor will used as keys while searching for
     * the route info in $_GET.
     *
     * @param string $module_name The key name of the module info.
     * @param string $controller_name the key name of the controller info.
     * @param string $action_name the key name of the action info.
     * @since Yaf >=1.0.0
     **/
    public function __construct($module_name, $controller_name, $action_name){}

}
/**
 * Defaultly, Yaf_Router only have a Yaf_Route_Static as its default
 * route. And Yaf_Route_Static is designed to handle the 80% requirement.
 * please *NOTE* that it is unecessary to instance a Yaf_Route_Static,
 * also unecesary to add it into Yaf_Router's routes stack, since there
 * is always be one in Yaf_Router's routes stack, and always be called at
 * the last time.
 **/
class Yaf_Route_Static implements Yaf_Router {
    /**
     * Assemble a url
     *
     * @param array $info
     * @param array $query
     * @return string
     * @since Yaf >=2.3.0
     **/
    public function assemble($info, $query){}

    /**
     * The match purpose
     *
     * @param string $uri
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function match($uri){}

    /**
     * Route a request
     *
     * @param Yaf_Request_Abstract $request
     * @return bool always be TRUE
     * @since Yaf >=1.0.0
     **/
    public function route($request){}

}
class Yaf_Route_Supervar implements Yaf_Route_Interface {
    /**
     * @var mixed
     **/
    protected $_var_name;

    /**
     * Assemble a url
     *
     * @param array $info
     * @param array $query
     * @return string
     * @since Yaf >=2.3.0
     **/
    public function assemble($info, $query){}

    /**
     * The route purpose
     *
     * @param Yaf_Request_Abstract $request
     * @return bool If there is a key(which was defined in
     *   Yaf_Route_Supervar::__construct) in $_GET, return TRUE. otherwise
     *   return FALSE.
     * @since Yaf >=1.0.0
     **/
    public function route($request){}

    /**
     * The __construct purpose
     *
     * Yaf_Route_Supervar is similar with Yaf_Route_Static, the difference is
     * Yaf_Route_Supervar will look for path info in query string, and the
     * parameter supervar_name is the key.
     *
     * @param string $supervar_name The name of key.
     * @since Yaf >=1.0.0
     **/
    public function __construct($supervar_name){}

}
class Yaf_Session implements Iterator, ArrayAccess, Countable {
    /**
     * @var mixed
     **/
    protected static $_instance;

    /**
     * @var mixed
     **/
    protected $_session;

    /**
     * @var mixed
     **/
    protected $_started;

    /**
     * The count purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function count(){}

    /**
     * The current purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function current(){}

    /**
     * The del purpose
     *
     * @param string $name
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function del($name){}

    /**
     * The getInstance purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public static function getInstance(){}

    /**
     * The has purpose
     *
     * @param string $name
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function has($name){}

    /**
     * The key purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function key(){}

    /**
     * The next purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function next(){}

    /**
     * The offsetExists purpose
     *
     * @param string $name
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function offsetExists($name){}

    /**
     * The offsetGet purpose
     *
     * @param string $name
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function offsetGet($name){}

    /**
     * The offsetSet purpose
     *
     * @param string $name
     * @param string $value
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function offsetSet($name, $value){}

    /**
     * The offsetUnset purpose
     *
     * @param string $name
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function offsetUnset($name){}

    /**
     * The rewind purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function rewind(){}

    /**
     * The start purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function start(){}

    /**
     * The valid purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function valid(){}

    /**
     * The __clone purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    private function __clone(){}

    /**
     * Constructor of Yaf_Session
     *
     * @since Yaf >=1.0.0
     **/
    private function __construct(){}

    /**
     * The __get purpose
     *
     * @param string $name
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function __get($name){}

    /**
     * The __isset purpose
     *
     * @param string $name
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function __isset($name){}

    /**
     * The __set purpose
     *
     * @param string $name
     * @param string $value
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function __set($name, $value){}

    /**
     * The __sleep purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    private function __sleep(){}

    /**
     * The __unset purpose
     *
     * @param string $name
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function __unset($name){}

    /**
     * The __wakeup purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    private function __wakeup(){}

}
/**
 * Yaf provides a ability for developers to use coustom view engine
 * instead of build-in engine which is Yaf_View_Simple. There is a
 * example to explain how to do this, please see Yaf_Dispatcher::setView.
 **/
interface Yaf_View_Interface {
    /**
     * Assign value to View engine
     *
     * Assigan values to View engine, then the value can access directly by
     * name in template.
     *
     * @param string $name
     * @param string $value
     * @return bool
     * @since Yaf >=1.0.0
     **/
    public function assign($name, $value);

    /**
     * Render and output a template
     *
     * Render a template and output the result immediatly.
     *
     * @param string $tpl
     * @param array $tpl_vars
     * @return bool
     * @since Yaf >=1.0.0
     **/
    public function display($tpl, $tpl_vars);

    /**
     * The getScriptPath purpose
     *
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function getScriptPath();

    /**
     * Render a template
     *
     * Render a template and return the result.
     *
     * @param string $tpl
     * @param array $tpl_vars
     * @return string
     * @since Yaf >=1.0.0
     **/
    public function render($tpl, $tpl_vars);

    /**
     * The setScriptPath purpose
     *
     * Set the templates base directory, this is usually called by
     * Yaf_Dispatcher
     *
     * @param string $template_dir A absolute path to the template
     *   directory, by default, Yaf_Dispatcher use application.directory .
     *   "/views" as this paramter.
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function setScriptPath($template_dir);

}
/**
 * Yaf_View_Simple is the built-in template engine in Yaf, it is a simple
 * but fast template engine, and only support PHP script template.
 **/
class Yaf_View_Simple implements Yaf_View_Interface {
    /**
     * @var mixed
     **/
    protected $_tpl_dir;

    /**
     * @var mixed
     **/
    protected $_tpl_vars;

    /**
     * Assign values
     *
     * assign variable to view engine
     *
     * @param string $name A string or an array. if is string, then the
     *   next argument $value is required.
     * @param mixed $value mixed value
     * @return bool
     * @since Yaf >=1.0.0
     **/
    public function assign($name, $value){}

    /**
     * The assignRef purpose
     *
     * unlike Yaf_View_Simple::assign, this method assign a ref value to
     * engine.
     *
     * @param string $name A string name which will be used to access the
     *   value in the tempalte.
     * @param mixed $value mixed value
     * @return bool
     * @since Yaf >=1.0.0
     **/
    public function assignRef($name, &$value){}

    /**
     * Clear Assigned values
     *
     * clear assigned variable
     *
     * @param string $name assigned variable name if empty, will clear all
     *   assigned variables
     * @return bool
     * @since Yaf >=2.2.0
     **/
    public function clear($name){}

    /**
     * Render and display
     *
     * Render a template and display the result instantly.
     *
     * @param string $tpl
     * @param array $tpl_vars
     * @return bool
     * @since Yaf >=1.0.0
     **/
    public function display($tpl, $tpl_vars){}

    /**
     * Render template
     *
     * Render a string tempalte and return the result.
     *
     * @param string $tpl_content string template
     * @param array $tpl_vars
     * @return string
     * @since Yaf >=2.2.0
     **/
    public function eval($tpl_content, $tpl_vars){}

    /**
     * Get templates directory
     *
     * @return string
     * @since Yaf >=1.0.0
     **/
    public function getScriptPath(){}

    /**
     * Render template
     *
     * Render a template and return the result.
     *
     * @param string $tpl
     * @param array $tpl_vars
     * @return string
     * @since Yaf >=1.0.0
     **/
    public function render($tpl, $tpl_vars){}

    /**
     * Set tempaltes directory
     *
     * @param string $template_dir
     * @return bool
     * @since Yaf >=1.0.0
     **/
    public function setScriptPath($template_dir){}

    /**
     * Constructor of Yaf_View_Simple
     *
     * @param string $template_dir The base directory of the templates, by
     *   default, it is APPLICATOIN . "/views" for Yaf.
     * @param array $options Options for the engine, as of Yaf 2.1.13, you
     *   can use short tag "<?=$var?>" in your template(regardless of
     *   "short_open_tag"), so comes a option named "short_tag", you can
     *   switch this off to prevent use short_tag in template.
     * @since Yaf >=1.0.0
     **/
    final public function __construct($template_dir, $options){}

    /**
     * Retrieve assigned variable
     *
     * Retrieve assigned varaiable parameter can be empty since 2.1.11
     *
     * @param string $name the assigned variable name if this is empty, all
     *   assigned variables will be returned
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function __get($name){}

    /**
     * The __isset purpose
     *
     * @param string $name
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function __isset($name){}

    /**
     * Set value to engine
     *
     * This is a alternative and easier way to Yaf_View_Simple::assign.
     *
     * @param string $name A string value name.
     * @param mixed $value Mixed value.
     * @return void
     * @since Yaf >=1.0.0
     **/
    public function __set($name, $value){}

}
class Yar_Client {
    /**
     * @var mixed
     **/
    protected $_options;

    /**
     * @var mixed
     **/
    protected $_protocol;

    /**
     * @var mixed
     **/
    protected $_running;

    /**
     * @var mixed
     **/
    protected $_uri;

    /**
     * Set calling contexts
     *
     * @param int $name it can be: YAR_OPT_PACKAGER, YAR_OPT_PERSISTENT
     *   (Need server support), YAR_OPT_TIMEOUT, YAR_OPT_CONNECT_TIMEOUT
     *   YAR_OPT_HEADER (Since 2.0.4)
     * @param mixed $value
     * @return Yar_Client Returns $this on success.
     * @since PECL yar >= 1.0.0
     **/
    public function setOpt($name, $value){}

    /**
     * Call service
     *
     * Issue a call to remote RPC method.
     *
     * @param string $method Remote RPC method name.
     * @param array $parameters Parameters.
     * @return void
     * @since PECL yar >= 1.0.0
     **/
    public function __call($method, $parameters){}

    /**
     * Create a client
     *
     * Create a Yar_Client to a Yar_Server.
     *
     * @param string $url Yar Server URL.
     * @param array $options
     * @since PECL yar >= 1.0.0
     **/
    final public function __construct($url, $options){}

}
class Yar_Client_Exception extends Exception {
    /**
     * Retrieve exception's type
     *
     * @return string Returns "Yar_Exception_Client".
     * @since PECL yar >= 1.0.0
     **/
    public function getType(){}

}
class Yar_Client_Packager_Exception extends Yar_Client_Exception {
}
class Yar_Client_Protocol_Exception extends Yar_Client_Exception {
}
class Yar_Client_Transport_Exception extends Yar_Client_Exception {
}
class Yar_Concurrent_Client {
    /**
     * @var mixed
     **/
    static $_callback;

    /**
     * @var mixed
     **/
    static $_callstack;

    /**
     * @var mixed
     **/
    static $_error_callback;

    /**
     * Register a concurrent call
     *
     * Register a RPC call, but won't sent it immediately, it will be send
     * while further call to Yar_Concurrent_Client::loop
     *
     * @param string $uri The RPC server URI(http, tcp)
     * @param string $method Service name(aka the method name)
     * @param array $parameters Parameters
     * @param callable $callback A function callback, which will be called
     *   while the response return.
     * @param callable $error_callback
     * @param array $options
     * @return int An unique id, can be used to identified which call it
     *   is.
     * @since PECL yar >= 1.0.0
     **/
    public static function call($uri, $method, $parameters, $callback, $error_callback, $options){}

    /**
     * Send all calls
     *
     * Send all registed remote RPC calls.
     *
     * @param callable $callback If this callback is set, then Yar will
     *   call this callback after all calls are sent and before any response
     *   return, with a $callinfo NULL. Then, if user didn't specify callback
     *   when registering concurrent call, this callback will be used to
     *   handle response, otherwise, the callback specified while registering
     *   will be used.
     * @param callable $error_callback If this callback is set, then Yar
     *   will call this callback while error occurred.
     * @return bool
     * @since PECL yar >= 1.0.0
     **/
    public static function loop($callback, $error_callback){}

    /**
     * Clean all registered calls
     *
     * @return bool
     * @since PECL yar >= 1.2.4
     **/
    public static function reset(){}

}
class Yar_Server {
    /**
     * @var mixed
     **/
    protected $_executor;

    /**
     * Start RPC Server
     *
     * Start a RPC HTTP server, and ready for accpet RPC requests. Usual RPC
     * calls will be issued as HTTP POST requests. If a HTTP GET request is
     * issued to the uri, the service information (commented section above)
     * will be printed on the page
     *
     * @return bool boolean
     * @since PECL yar >= 1.0.0
     **/
    public function handle(){}

    /**
     * Register a server
     *
     * Set up a Yar HTTP RPC Server, All the public methods of $obj will be
     * register as a RPC service.
     *
     * @param Object $obj An Object, all public methods of its will be
     *   registered as RPC services.
     * @since PECL yar >= 1.0.0
     **/
    final public function __construct($obj){}

}
/**
 * If service threw exceptions, A Yar_Server_Exception will be threw in
 * client side.
 **/
class Yar_Server_Exception extends Exception {
    /**
     * @var mixed
     **/
    protected $_type;

    /**
     * Retrieve exception's type
     *
     * Get the exception original type threw by server
     *
     * @return string string
     * @since PECL yar >= 1.0.0
     **/
    public function getType(){}

}
class Yar_Server_Output_Exception extends Yar_Server_Exception {
}
class Yar_Server_Packager_Exception extends Yar_Server_Exception {
}
class Yar_Server_Protocol_Exception extends Yar_Server_Exception {
}
class Yar_Server_Request_Exception extends Yar_Server_Exception {
}
/**
 * A file archive, compressed with Zip.
 **/
class ZipArchive implements Countable {
    const CHECKCONS = 0;

    const CM_BZIP2 = 0;

    const CM_DEFAULT = 0;

    const CM_DEFLATE = 0;

    const CM_DEFLATE64 = 0;

    const CM_IMPLODE = 0;

    const CM_PKWARE_IMPLODE = 0;

    const CM_REDUCE_1 = 0;

    const CM_REDUCE_2 = 0;

    const CM_REDUCE_3 = 0;

    const CM_REDUCE_4 = 0;

    const CM_SHRINK = 0;

    const CM_STORE = 0;

    const CREATE = 0;

    const EM_AES_128 = 0;

    const EM_AES_192 = 0;

    const EM_AES_256 = 0;

    const EM_NONE = 0;

    const ER_CHANGED = '';

    const ER_CLOSE = 0;

    const ER_COMPNOTSUPP = 0;

    const ER_CRC = 0;

    const ER_DELETED = 0;

    const ER_EOF = 0;

    const ER_EXISTS = 0;

    const ER_INCONS = 0;

    const ER_INTERNAL = 0;

    const ER_INVAL = 0;

    const ER_MEMORY = 0;

    const ER_MULTIDISK = 0;

    const ER_NOENT = 0;

    const ER_NOZIP = 0;

    const ER_OK = 0;

    const ER_OPEN = 0;

    const ER_READ = 0;

    const ER_REMOVE = 0;

    const ER_RENAME = 0;

    const ER_SEEK = 0;

    const ER_TMPOPEN = 0;

    const ER_WRITE = 0;

    const ER_ZIPCLOSED = 0;

    const ER_ZLIB = 0;

    const EXCL = 0;

    const FL_COMPRESSED = 0;

    const FL_ENC_CP437 = 0;

    const FL_ENC_GUESS = 0;

    const FL_ENC_RAW = 0;

    const FL_ENC_STRICT = 0;

    const FL_ENC_UTF_8 = 0;

    const FL_NOCASE = 0;

    const FL_NODIR = 0;

    const FL_UNCHANGED = 0;

    const OVERWRITE = 0;

    /**
     * Comment for the archive
     *
     * @var string
     **/
    public $comment;

    /**
     * File name in the file system
     *
     * @var string
     **/
    public $filename;

    /**
     * @var int
     **/
    public $numFiles;

    /**
     * Status of the Zip Archive
     *
     * @var int
     **/
    public $status;

    /**
     * @var int
     **/
    public $statusSys;

    /**
     * Add a new directory
     *
     * Adds an empty directory in the archive.
     *
     * @param string $dirname The directory to add.
     * @return bool
     * @since PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.8.0
     **/
    function addEmptyDir($dirname){}

    /**
     * Adds a file to a ZIP archive from the given path
     *
     * Adds a file to a ZIP archive from a given path.
     *
     * @param string $filename The path to the file to add.
     * @param string $localname If supplied, this is the local name inside
     *   the ZIP archive that will override the {@link filename}.
     * @param int $start This parameter is not used but is required to
     *   extend ZipArchive.
     * @param int $length This parameter is not used but is required to
     *   extend ZipArchive.
     * @return bool
     * @since PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0
     **/
    function addFile($filename, $localname, $start, $length){}

    /**
     * Add a file to a ZIP archive using its contents
     *
     * @param string $localname The name of the entry to create.
     * @param string $contents The contents to use to create the entry. It
     *   is used in a binary safe mode.
     * @return bool
     * @since PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0
     **/
    function addFromString($localname, $contents){}

    /**
     * Add files from a directory by glob pattern
     *
     * Add files from a directory which match the glob {@link pattern}.
     *
     * @param string $pattern A {@link glob} pattern against which files
     *   will be matched.
     * @param int $flags A bit mask of glob() flags.
     * @param array $options An associative array of options. Available
     *   options are: "add_path" Prefix to prepend when translating to the
     *   local path of the file within the archive. This is applied after any
     *   remove operations defined by the "remove_path" or "remove_all_path"
     *   options. "remove_path" Prefix to remove from matching file paths
     *   before adding to the archive. "remove_all_path" TRUE to use the file
     *   name only and add to the root of the archive.
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL zip >= 1.9.0
     **/
    function addGlob($pattern, $flags, $options){}

    /**
     * Add files from a directory by PCRE pattern
     *
     * Add files from a directory which match the regular expression {@link
     * pattern}. The operation is not recursive. The pattern will be matched
     * against the file name only.
     *
     * @param string $pattern A PCRE pattern against which files will be
     *   matched.
     * @param string $path The directory that will be scanned. Defaults to
     *   the current working directory.
     * @param array $options An associative array of options accepted by
     *   ZipArchive::addGlob.
     * @return bool
     * @since PHP 5 >= 5.3.0, PHP 7, PECL zip >= 1.9.0
     **/
    function addPattern($pattern, $path, $options){}

    /**
     * Close the active archive (opened or newly created)
     *
     * Close opened or created archive and save changes. This method is
     * automatically called at the end of the script.
     *
     * @return bool
     * @since PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0
     **/
    function close(){}

    /**
     * Counts the number of files in the achive
     *
     * @return int Returns the number of files in the achive.
     **/
    public function count(){}

    /**
     * Delete an entry in the archive using its index
     *
     * @param int $index Index of the entry to delete.
     * @return bool
     * @since PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.5.0
     **/
    function deleteIndex($index){}

    /**
     * Delete an entry in the archive using its name
     *
     * @param string $name Name of the entry to delete.
     * @return bool
     * @since PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.5.0
     **/
    function deleteName($name){}

    /**
     * Extract the archive contents
     *
     * Extract the complete archive or the given files to the specified
     * destination.
     *
     * @param string $destination Location where to extract the files.
     * @param mixed $entries The entries to extract. It accepts either a
     *   single entry name or an array of names.
     * @return bool
     * @since PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0
     **/
    function extractTo($destination, $entries){}

    /**
     * Returns the Zip archive comment
     *
     * @param int $flags If flags is set to ZipArchive::FL_UNCHANGED, the
     *   original unchanged comment is returned.
     * @return string Returns the Zip archive comment.
     * @since PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0
     **/
    function getArchiveComment($flags){}

    /**
     * Returns the comment of an entry using the entry index
     *
     * @param int $index Index of the entry
     * @param int $flags If flags is set to ZipArchive::FL_UNCHANGED, the
     *   original unchanged comment is returned.
     * @return string Returns the comment on success.
     * @since PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.4.0
     **/
    function getCommentIndex($index, $flags){}

    /**
     * Returns the comment of an entry using the entry name
     *
     * @param string $name Name of the entry
     * @param int $flags If flags is set to ZipArchive::FL_UNCHANGED, the
     *   original unchanged comment is returned.
     * @return string Returns the comment on success.
     * @since PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.4.0
     **/
    function getCommentName($name, $flags){}

    /**
     * Retrieve the external attributes of an entry defined by its index
     *
     * @param int $index Index of the entry.
     * @param int $opsys On success, receive the operating system code
     *   defined by one of the ZipArchive::OPSYS_ constants.
     * @param int $attr On success, receive the external attributes. Value
     *   depends on operating system.
     * @param int $flags If flags is set to ZipArchive::FL_UNCHANGED, the
     *   original unchanged attributes are returned.
     * @return bool
     * @since PHP 5 >= 5.6.0, PHP 7, PECL zip >= 1.12.4
     **/
    function GetExternalAttributesIndex($index, &$opsys, &$attr, $flags){}

    /**
     * Retrieve the external attributes of an entry defined by its name
     *
     * @param string $name Name of the entry.
     * @param int $opsys On success, receive the operating system code
     *   defined by one of the ZipArchive::OPSYS_ constants.
     * @param int $attr On success, receive the external attributes. Value
     *   depends on operating system.
     * @param int $flags If flags is set to ZipArchive::FL_UNCHANGED, the
     *   original unchanged attributes are returned.
     * @return bool
     * @since PHP 5 >= 5.6.0, PHP 7, PECL zip >= 1.12.4
     **/
    function getExternalAttributesName($name, &$opsys, &$attr, $flags){}

    /**
     * Returns the entry contents using its index
     *
     * @param int $index Index of the entry
     * @param int $length The length to be read from the entry. If 0, then
     *   the entire entry is read.
     * @param int $flags The flags to use to open the archive. the
     *   following values may be ORed to it. ZipArchive::FL_UNCHANGED
     *   ZipArchive::FL_COMPRESSED
     * @return string Returns the contents of the entry on success.
     **/
    function getFromIndex($index, $length, $flags){}

    /**
     * Returns the entry contents using its name
     *
     * @param string $name Name of the entry
     * @param int $length The length to be read from the entry. If 0, then
     *   the entire entry is read.
     * @param int $flags The flags to use to find the entry. The following
     *   values may be ORed. ZipArchive::FL_UNCHANGED
     *   ZipArchive::FL_COMPRESSED ZipArchive::FL_NOCASE
     * @return string Returns the contents of the entry on success.
     * @since PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0
     **/
    function getFromName($name, $length, $flags){}

    /**
     * Returns the name of an entry using its index
     *
     * @param int $index Index of the entry.
     * @param int $flags If flags is set to ZipArchive::FL_UNCHANGED, the
     *   original unchanged name is returned.
     * @return string Returns the name on success.
     * @since PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.5.0
     **/
    function getNameIndex($index, $flags){}

    /**
     * Returns the status error message, system and/or zip messages
     *
     * @return string Returns a string with the status message on success.
     * @since PHP 5 >= 5.2.7, PHP 7
     **/
    function getStatusString(){}

    /**
     * Get a file handler to the entry defined by its name (read only)
     *
     * Get a file handler to the entry defined by its name. For now it only
     * supports read operations.
     *
     * @param string $name The name of the entry to use.
     * @return resource Returns a file pointer (resource) on success.
     * @since PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0
     **/
    function getStream($name){}

    /**
     * Returns the index of the entry in the archive
     *
     * Locates an entry using its name.
     *
     * @param string $name The name of the entry to look up
     * @param int $flags The flags are specified by ORing the following
     *   values, or 0 for none of them. ZipArchive::FL_NOCASE
     *   ZipArchive::FL_NODIR
     * @return int Returns the index of the entry on success.
     * @since PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.5.0
     **/
    function locateName($name, $flags){}

    /**
     * Open a ZIP file archive
     *
     * Opens a new zip archive for reading, writing or modifying.
     *
     * @param string $filename The file name of the ZIP archive to open.
     * @param int $flags The mode to use to open the archive.
     *   ZipArchive::OVERWRITE ZipArchive::CREATE ZipArchive::EXCL
     *   ZipArchive::CHECKCONS
     * @return mixed {@link Error codes} Returns TRUE on success or the
     *   error code. ZipArchive::ER_EXISTS File already exists.
     *   ZipArchive::ER_INCONS Zip archive inconsistent. ZipArchive::ER_INVAL
     *   Invalid argument. ZipArchive::ER_MEMORY Malloc failure.
     *   ZipArchive::ER_NOENT No such file. ZipArchive::ER_NOZIP Not a zip
     *   archive. ZipArchive::ER_OPEN Can't open file. ZipArchive::ER_READ
     *   Read error. ZipArchive::ER_SEEK Seek error.
     * @since PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0
     **/
    function open($filename, $flags){}

    /**
     * Renames an entry defined by its index
     *
     * @param int $index Index of the entry to rename.
     * @param string $newname New name.
     * @return bool
     * @since PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.5.0
     **/
    function renameIndex($index, $newname){}

    /**
     * Renames an entry defined by its name
     *
     * @param string $name Name of the entry to rename.
     * @param string $newname New name.
     * @return bool
     * @since PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.5.0
     **/
    function renameName($name, $newname){}

    /**
     * Set the comment of a ZIP archive
     *
     * @param string $comment The contents of the comment.
     * @return bool
     * @since PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.4.0
     **/
    function setArchiveComment($comment){}

    /**
     * Set the comment of an entry defined by its index
     *
     * @param int $index Index of the entry.
     * @param string $comment The contents of the comment.
     * @return bool
     * @since PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.4.0
     **/
    function setCommentIndex($index, $comment){}

    /**
     * Set the comment of an entry defined by its name
     *
     * @param string $name Name of the entry.
     * @param string $comment The contents of the comment.
     * @return bool
     * @since PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.4.0
     **/
    function setCommentName($name, $comment){}

    /**
     * Set the compression method of an entry defined by its index
     *
     * @param int $index Index of the entry.
     * @param int $comp_method The compression method. Either
     *   ZipArchive::CM_DEFAULT, ZipArchive::CM_STORE or
     *   ZipArchive::CM_DEFLATE.
     * @param int $comp_flags Compression flags. Currently unused.
     * @return bool
     * @since PHP 7, PECL zip >= 1.13.0
     **/
    function setCompressionIndex($index, $comp_method, $comp_flags){}

    /**
     * Set the compression method of an entry defined by its name
     *
     * @param string $name Name of the entry.
     * @param int $comp_method The compression method. Either
     *   ZipArchive::CM_DEFAULT, ZipArchive::CM_STORE or
     *   ZipArchive::CM_DEFLATE.
     * @param int $comp_flags Compression flags. Currently unused.
     * @return bool
     * @since PHP 7, PECL zip >= 1.13.0
     **/
    function setCompressionName($name, $comp_method, $comp_flags){}

    /**
     * Set the encryption method of an entry defined by its index
     *
     * @param int $index Index of the entry.
     * @param string $method The encryption method defined by one of the
     *   ZipArchive::EM_ constants.
     * @param string $password Optional password, default used when
     *   missing.
     * @return bool
     * @since PHP >= 7.2.0, PECL zip >= 1.14.0
     **/
    function setEncryptionIndex($index, $method, $password){}

    /**
     * Set the encryption method of an entry defined by its name
     *
     * @param string $name Name of the entry.
     * @param int $method The encryption method defined by one of the
     *   ZipArchive::EM_ constants.
     * @param string $password Optional password, default used when
     *   missing.
     * @return bool
     * @since PHP >= 7.2.0, PECL zip >= 1.14.0
     **/
    function setEncryptionName($name, $method, $password){}

    /**
     * Set the external attributes of an entry defined by its index
     *
     * @param int $index Index of the entry.
     * @param int $opsys The operating system code defined by one of the
     *   ZipArchive::OPSYS_ constants.
     * @param int $attr The external attributes. Value depends on operating
     *   system.
     * @param int $flags Optional flags. Currently unused.
     * @return bool
     * @since PHP 5 >= 5.6.0, PHP 7, PECL zip >= 1.12.4
     **/
    function setExternalAttributesIndex($index, $opsys, $attr, $flags){}

    /**
     * Set the external attributes of an entry defined by its name
     *
     * @param string $name Name of the entry.
     * @param int $opsys The operating system code defined by one of the
     *   ZipArchive::OPSYS_ constants.
     * @param int $attr The external attributes. Value depends on operating
     *   system.
     * @param int $flags Optional flags. Currently unused.
     * @return bool
     * @since PHP 5 >= 5.6.0, PHP 7, PECL zip >= 1.12.4
     **/
    function setExternalAttributesName($name, $opsys, $attr, $flags){}

    /**
     * Set the password for the active archive
     *
     * Sets the password for the active archive.
     *
     * @param string $password The password to be used for the archive.
     * @return bool
     * @since PHP 5 >= 5.6.0, PHP 7, PECL zip >= 1.12.4
     **/
    public function setPassword($password){}

    /**
     * Get the details of an entry defined by its index
     *
     * The function obtains information about the entry defined by its index.
     *
     * @param int $index Index of the entry
     * @param int $flags ZipArchive::FL_UNCHANGED may be ORed to it to
     *   request information about the original file in the archive, ignoring
     *   any changes made.
     * @return array Returns an array containing the entry details.
     * @since PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0
     **/
    function statIndex($index, $flags){}

    /**
     * Get the details of an entry defined by its name
     *
     * The function obtains information about the entry defined by its name.
     *
     * @param string $name Name of the entry
     * @param int $flags The flags argument specifies how the name lookup
     *   should be done. Also, ZipArchive::FL_UNCHANGED may be ORed to it to
     *   request information about the original file in the archive, ignoring
     *   any changes made. ZipArchive::FL_NOCASE ZipArchive::FL_NODIR
     *   ZipArchive::FL_UNCHANGED
     * @return array Returns an array containing the entry details .
     * @since PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.5.0
     **/
    function statName($name, $flags){}

    /**
     * Undo all changes done in the archive
     *
     * @return bool
     * @since PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0
     **/
    function unchangeAll(){}

    /**
     * Revert all global changes done in the archive
     *
     * Revert all global changes to the archive. For now, this only reverts
     * archive comment changes.
     *
     * @return bool
     * @since PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0
     **/
    function unchangeArchive(){}

    /**
     * Revert all changes done to an entry at the given index
     *
     * @param int $index Index of the entry.
     * @return bool
     * @since PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0
     **/
    function unchangeIndex($index){}

    /**
     * Revert all changes done to an entry with the given name
     *
     * Revert all changes done to an entry.
     *
     * @param string $name Name of the entry.
     * @return bool
     * @since PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.5.0
     **/
    function unchangeName($name){}

}
class ZMQ {
    /**
     * @var integer
     **/
    const CTXOPT_MAX_SOCKETS = 0;

    /**
     * @var integer
     **/
    const ERR_EAGAIN = 0;

    /**
     * @var integer
     **/
    const ERR_EFSM = 0;

    /**
     * @var integer
     **/
    const ERR_ENOTSUP = 0;

    /**
     * @var integer
     **/
    const ERR_ETERM = 0;

    /**
     * @var integer
     **/
    const ERR_INTERNAL = 0;

    /**
     * @var integer
     **/
    const MODE_DONTWAIT = 0;

    /**
     * @var integer
     **/
    const MODE_NOBLOCK = 0;

    /**
     * @var integer
     **/
    const MODE_SNDMORE = 0;

    /**
     * @var integer
     **/
    const POLL_IN = 0;

    /**
     * @var integer
     **/
    const POLL_OUT = 0;

    /**
     * @var integer
     **/
    const SOCKET_DEALER = 0;

    /**
     * @var integer
     **/
    const SOCKET_PAIR = 0;

    /**
     * @var integer
     **/
    const SOCKET_PUB = 0;

    /**
     * @var integer
     **/
    const SOCKET_PULL = 0;

    /**
     * @var integer
     **/
    const SOCKET_PUSH = 0;

    /**
     * @var integer
     **/
    const SOCKET_REP = 0;

    /**
     * @var integer
     **/
    const SOCKET_REQ = 0;

    /**
     * @var integer
     **/
    const SOCKET_ROUTER = 0;

    /**
     * @var integer
     **/
    const SOCKET_STREAM = 0;

    /**
     * @var integer
     **/
    const SOCKET_SUB = 0;

    /**
     * @var integer
     **/
    const SOCKET_XPUB = 0;

    /**
     * @var integer
     **/
    const SOCKET_XREP = 0;

    /**
     * @var integer
     **/
    const SOCKET_XREQ = 0;

    /**
     * @var integer
     **/
    const SOCKET_XSUB = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_AFFINITY = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_BACKLOG = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_DELAY_ATTACH_ON_CONNECT = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_HWM = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_IDENTITY = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_IPV4ONLY = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_IPV6 = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_LAST_ENDPOINT = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_LINGER = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_MAXMSGSIZE = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_MCAST_LOOP = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_RATE = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_RCVBUF = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_RCVHWM = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_RCVMORE = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_RCVTIMEO = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_RECONNECT_IVL = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_RECONNECT_IVL_MAX = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_RECOVERY_IVL = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_ROUTER_RAW = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_SNDBUF = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_SNDHWM = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_SNDTIMEO = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_SUBSCRIBE = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_TCP_ACCEPT_FILTER = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_TCP_KEEPALIVE_CNT = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_TCP_KEEPALIVE_IDLE = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_TCP_KEEPALIVE_INTVL = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_TYPE = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_UNSUBSCRIBE = 0;

    /**
     * @var integer
     **/
    const SOCKOPT_XPUB_VERBOSE = 0;

    /**
     * ZMQ constructor
     *
     * Private constructor to prevent direct initialization. This class holds
     * the constants for ZMQ extension.
     *
     * @since PECL zmq >= 0.5.0
     **/
    private function __construct(){}

}
class ZMQContext {
    /**
     * Get context option
     *
     * Returns the value of a context option.
     *
     * @param string $key An integer representing the option. See the
     *   ZMQ::CTXOPT_* constants.
     * @return mixed Returns either a or an depending on {@link key}.
     *   Throws ZMQContextException on error.
     * @since PECL zmq >= 1.0.4
     **/
    public function getOpt($key){}

    /**
     * Create a new socket
     *
     * Shortcut for creating new sockets from the context. If the context is
     * not persistent the {@link persistent_id} parameter is ignored and the
     * socket falls back to being non-persistent. The {@link on_new_socket}
     * is called only when a new underlying socket structure is created.
     *
     * @param int $type ZMQ::SOCKET_* constant to specify socket type.
     * @param string $persistent_id If {@link persistent_id} is specified
     *   the socket will be persisted over multiple requests.
     * @param callback $on_new_socket Callback function, which is executed
     *   when a new socket structure is created. This function does not get
     *   invoked if the underlying persistent connection is re-used. The
     *   callback takes ZMQSocket and persistent_id as two arguments.
     * @return ZMQSocket Returns a ZMQSocket object on success. Throws
     *   ZMQSocketException on error.
     * @since PECL zmq >= 0.5.0
     **/
    public function getSocket($type, $persistent_id, $on_new_socket){}

    /**
     * Whether the context is persistent
     *
     * Whether the context is persistent. Persistent context is needed for
     * persistent connections as each socket is allocated from a context.
     *
     * @return bool Returns TRUE if the context is persistent and FALSE if
     *   the context is non-persistent.
     * @since PECL zmq >= 0.5.0
     **/
    public function isPersistent(){}

    /**
     * Set a socket option
     *
     * Sets a ZMQ context option. The type of the {@link value} depends on
     * the {@link key}. See ZMQ Constant Types for more information.
     *
     * @param int $key One of the ZMQ::CTXOPT_* constants.
     * @param mixed $value The value of the parameter.
     * @return ZMQContext Returns the current object. Throws
     *   ZMQContextException on error.
     * @since PECL zmq >= 1.0.4
     **/
    public function setOpt($key, $value){}

    /**
     * Construct a new ZMQContext object
     *
     * Constructs a new ZMQ context. The context is used to initialize
     * sockets. A persistent context is required to initialize persistent
     * sockets.
     *
     * @param int $io_threads Number of io-threads in the context.
     * @param bool $is_persistent Whether the context is persistent.
     *   Persistent context is stored over multiple requests and is a
     *   requirement for persistent sockets.
     * @since PECL zmq >= 0.5.0
     **/
    function __construct($io_threads, $is_persistent){}

}
class ZMQContextException extends ZMQException {
}
class ZMQDevice {
    /**
     * Get the idle timeout
     *
     * Gets the idle callback timeout value. Added in ZMQ extension version
     * 1.1.0.
     *
     * @return ZMQDevice This method returns the idle callback timeout
     *   value.
     **/
    public function getIdleTimeout(){}

    /**
     * Get the timer timeout
     *
     * Gets the timer callback timeout value. Added in ZMQ extension version
     * 1.1.0.
     *
     * @return ZMQDevice This method returns the timer timeout value.
     **/
    public function getTimerTimeout(){}

    /**
     * Run the new device
     *
     * Runs the device.
     *
     * @return void Call to this method will block until the device is
     *   running. It is not recommended that devices are used from
     *   interactive scripts. On failure this method will throw
     *   ZMQDeviceException.
     **/
    public function run(){}

    /**
     * Set the idle callback function
     *
     * Sets the idle callback function. If idle timeout is defined the idle
     * callback function shall be called if the internal poll loop times out
     * without events. If the callback function returns false or a value that
     * evaluates to false the device is stopped.
     *
     * The callback function signature is callback (mixed $user_data).
     *
     * @param callable $cb_func Callback function to invoke when the device
     *   is idle. Returning false or a value that evaluates to false from
     *   this function will cause the device to stop.
     * @param int $timeout How often to invoke the idle callback in
     *   milliseconds. The idle callback is invoked periodically when there
     *   is no activity on the device. The timeout value guarantees that
     *   there is at least this amount of milliseconds between invocations of
     *   the callback function.
     * @param mixed $user_data Additional data to pass to the callback
     *   function.
     * @return ZMQDevice On success this method returns the current object.
     **/
    public function setIdleCallback($cb_func, $timeout, $user_data){}

    /**
     * Set the idle timeout
     *
     * Sets the idle callback timeout value. The idle callback is invoked
     * periodically when the device is idle.
     *
     * @param int $timeout The idle callback timeout value.
     * @return ZMQDevice On success this method returns the current object.
     **/
    public function setIdleTimeout($timeout){}

    /**
     * Set the timer callback function
     *
     * Sets the timer callback function. The timer callback will be invoked
     * after timeout has passed. The difference between idle and timer
     * callbacks are that idle callback is invoked only when the device is
     * idle.
     *
     * The callback function signature is callback (mixed $user_data). Added
     * in ZMQ extension version 1.1.0.
     *
     * @param callable $cb_func Callback function to invoke when the device
     *   is idle. Returning false or a value that evaluates to false from
     *   this function will cause the device to stop.
     * @param int $timeout How often to invoke the idle callback in
     *   milliseconds. The idle callback is invoked periodically when there
     *   is no activity on the device. The timeout value guarantees that
     *   there is at least this amount of milliseconds between invocations of
     *   the callback function.
     * @param mixed $user_data Additional data to pass to the callback
     *   function.
     * @return ZMQDevice On success this method returns the current object.
     **/
    public function setTimerCallback($cb_func, $timeout, $user_data){}

    /**
     * Set the timer timeout
     *
     * Sets the timer callback timeout value. The timer callback is invoked
     * periodically if it's set. Added in ZMQ extension version 1.1.0.
     *
     * @param int $timeout The timer callback timeout value.
     * @return ZMQDevice On success this method returns the current object.
     **/
    public function setTimerTimeout($timeout){}

    /**
     * Construct a new device
     *
     * "ØMQ devices can do intermediation of addresses, services, queues, or
     * any other abstraction you care to define above the message and socket
     * layers." -- zguide
     *
     * @param ZMQSocket $frontend Frontend parameter for the devices.
     *   Usually where there messages are coming.
     * @param ZMQSocket $backend Backend parameter for the devices. Usually
     *   where there messages going to.
     * @param ZMQSocket $listener Listener socket, which receives a copy of
     *   all messages going both directions. The type of this socket should
     *   be SUB, PULL or DEALER.
     * @since PECL zmq >= 0.5.0
     **/
    function __construct($frontend, $backend, $listener){}

}
class ZMQDeviceException extends ZMQException {
}
class ZMQException extends Exception {
}
class ZMQPoll {
    /**
     * Add item to the poll set
     *
     * Adds a new item to the poll set and returns the internal id of the
     * added item. The item can be removed from the poll set using the
     * returned string id.
     *
     * @param mixed $entry ZMQSocket object or a PHP stream resource
     * @param int $type Defines what activity the socket is polled for. See
     *   ZMQ::POLL_IN and ZMQ::POLL_OUT constants.
     * @return string Returns a string id of the added item which can be
     *   later used to remove the item. Throws ZMQPollException on error.
     * @since PECL zmq >= 0.5.0
     **/
    public function add($entry, $type){}

    /**
     * Clear the poll set
     *
     * Clears all elements from the poll set.
     *
     * @return ZMQPoll Returns the current object.
     * @since PECL zmq >= 0.5.0
     **/
    public function clear(){}

    /**
     * Count items in the poll set
     *
     * Count the items in the poll set.
     *
     * @return int Returns an representing the amount of items in the poll
     *   set.
     * @since PECL zmq >= 0.5.0
     **/
    public function count(){}

    /**
     * Get poll errors
     *
     * Returns the ids of the objects that had errors in the last poll.
     *
     * @return array Returns an array containing ids for the items that had
     *   errors in the last poll. Empty array is returned if there were no
     *   errors.
     * @since PECL zmq >= 0.5.0
     **/
    public function getLastErrors(){}

    /**
     * Poll the items
     *
     * Polls the items in the current poll set. The readable and writable
     * items are returned in the {@link readable} and {@link writable}
     * parameters. {@link ZMQPoll::getLastErrors} can be used to check if
     * there were errors.
     *
     * @param array $readable Array where readable ZMQSockets/PHP streams
     *   are returned. The array will be cleared at the beginning of the
     *   operation.
     * @param array $writable Array where writable ZMQSockets/PHP streams
     *   are returned. The array will be cleared at the beginning of the
     *   operation.
     * @param int $timeout Timeout for the operation. -1 means that poll
     *   waits until at least one item has activity. Please note that
     *   starting from version 1.0.0 the poll timeout is defined in
     *   milliseconds, rather than microseconds.
     * @return int Returns an integer representing amount of items with
     *   activity. Throws ZMQPollException on error.
     * @since PECL zmq >= 0.5.0
     **/
    public function poll(&$readable, &$writable, $timeout){}

    /**
     * Remove item from poll set
     *
     * Remove item from the poll set. The {@link item} parameter can be
     * ZMQSocket object, a stream resource or the id returned from {@link
     * ZMQPoll::add} method.
     *
     * @param mixed $item The ZMQSocket object, PHP stream or id of the
     *   item.
     * @return bool Returns true if the item was removed and false if the
     *   object with given id does not exist in the poll set.
     * @since PECL zmq >= 0.5.0
     **/
    public function remove($item){}

}
class ZMQPollException extends ZMQException {
}
class ZMQSocket {
    /**
     * Bind the socket
     *
     * Bind the socket to an endpoint. The endpoint is defined in format
     * transport://address where transport is one of the following: inproc,
     * ipc, tcp, pgm or epgm.
     *
     * @param string $dsn The bind dsn, for example transport://address.
     * @param bool $force Tries to bind even if the socket has already been
     *   bound to the given endpoint.
     * @return ZMQSocket Returns the current object. Throws
     *   ZMQSocketException on error.
     * @since PECL zmq >= 0.5.0
     **/
    public function bind($dsn, $force){}

    /**
     * Connect the socket
     *
     * Connect the socket to a remote endpoint. The endpoint is defined in
     * format transport://address where transport is one of the following:
     * inproc, ipc, tcp, pgm or epgm.
     *
     * @param string $dsn The connect dsn, for example transport://address.
     * @param bool $force Tries to connect even if the socket has already
     *   been connected to given endpoint.
     * @return ZMQSocket Returns the current object. Throws
     *   ZMQSocketException on error.
     * @since PECL zmq >= 0.5.0
     **/
    public function connect($dsn, $force){}

    /**
     * Disconnect a socket
     *
     * Disconnect the socket from a previously connected remote endpoint. The
     * endpoint is defined in format transport://address where transport is
     * one of the following: inproc, ipc, tcp, pgm or epgm.
     *
     * @param string $dsn The connect dsn, for example transport://address.
     * @return ZMQSocket Returns the current object. Throws
     *   ZMQSocketException on error.
     * @since PECL zmq >= 1.0.4
     **/
    public function disconnect($dsn){}

    /**
     * Get list of endpoints
     *
     * Returns a list of endpoints where the socket is connected or bound to.
     *
     * @return array Returns an array containing elements 'bind' and
     *   'connect'.
     * @since PECL zmq >= 0.5.0
     **/
    public function getEndpoints(){}

    /**
     * Get the persistent id
     *
     * Returns the persistent id of the socket.
     *
     * @return string Returns the persistent id string assigned of the
     *   object and NULL if socket is not persistent.
     * @since PECL zmq >= 0.5.0
     **/
    public function getPersistentId(){}

    /**
     * Get the socket type
     *
     * Gets the socket type.
     *
     * @return int Returns an integer representing the socket type. The
     *   integer can be compared against ZMQ::SOCKET_* constants.
     * @since PECL zmq >= 0.5.0
     **/
    public function getSocketType(){}

    /**
     * Get socket option
     *
     * Returns the value of a socket option.
     *
     * @param string $key An integer representing the option. See the
     *   ZMQ::SOCKOPT_* constants.
     * @return mixed Returns either a or an depending on {@link key}.
     *   Throws ZMQSocketException on error.
     * @since PECL zmq >= 0.5.0
     **/
    public function getSockOpt($key){}

    /**
     * Whether the socket is persistent
     *
     * Check whether the socket is persistent.
     *
     * @return bool Returns a based on whether the socket is persistent or
     *   not.
     * @since PECL zmq >= 0.5.0
     **/
    public function isPersistent(){}

    /**
     * Receives a message
     *
     * Receive a message from a socket. By default receiving will block until
     * a message is available unless ZMQ::MODE_NOBLOCK flag is used.
     * ZMQ::SOCKOPT_RCVMORE socket option can be used for receiving
     * multi-part messages. See {@link ZMQSocket::setSockOpt} for more
     * information.
     *
     * @param int $mode Pass mode flags to receive multipart messages or
     *   non-blocking operation. See ZMQ::MODE_* constants.
     * @return string Returns the message. Throws ZMQSocketException in
     *   error. If ZMQ::MODE_NOBLOCK is used and the operation would block
     *   false shall be returned.
     * @since PECL zmq >= 0.5.0
     **/
    public function recv($mode){}

    /**
     * Receives a multipart message
     *
     * Receive an array multipart message from a socket. By default receiving
     * will block until a message is available unless ZMQ::MODE_NOBLOCK flag
     * is used.
     *
     * @param int $mode Pass mode flags to receive multipart messages or
     *   non-blocking operation. See ZMQ::MODE_* constants.
     * @return string Returns the array of message parts. Throws
     *   ZMQSocketException in error. If ZMQ::MODE_NOBLOCK is used and the
     *   operation would block false shall be returned.
     * @since PECL zmq >= 0.8.0
     **/
    public function recvMulti($mode){}

    /**
     * Sends a message
     *
     * Send a message using the socket. The operation can block unless
     * ZMQ::MODE_NOBLOCK is used.
     *
     * @param string $message The message to send.
     * @param int $mode Pass mode flags to receive multipart messages or
     *   non-blocking operation. See ZMQ::MODE_* constants.
     * @return ZMQSocket Returns the current object. Throws
     *   ZMQSocketException on error. If ZMQ::MODE_NOBLOCK is used and the
     *   operation would block false shall be returned.
     * @since PECL zmq >= 0.5.0
     **/
    public function send($message, $mode){}

    /**
     * Set a socket option
     *
     * Sets a ZMQ socket option. The type of the {@link value} depends on the
     * {@link key}. See ZMQ Constant Types for more information.
     *
     * @param int $key One of the ZMQ::SOCKOPT_* constants.
     * @param mixed $value The value of the parameter.
     * @return ZMQSocket Returns the current object. Throws
     *   ZMQSocketException on error.
     * @since PECL zmq >= 0.5.0
     **/
    public function setSockOpt($key, $value){}

    /**
     * Unbind the socket
     *
     * Unbind the socket from an endpoint. The endpoint is defined in format
     * transport://address where transport is one of the following: inproc,
     * ipc, tcp, pgm or epgm.
     *
     * @param string $dsn The previously bound dsn, for example
     *   transport://address.
     * @return ZMQSocket Returns the current object. Throws
     *   ZMQSocketException on error.
     * @since PECL zmq >= 1.0.4
     **/
    public function unbind($dsn){}

    /**
     * Construct a new ZMQSocket
     *
     * Constructs a ZMQSocket object. {@link persistent_id} parameter can be
     * used to allocated a persistent socket. A persistent socket has to be
     * allocated from a persistent context and it stays connected over
     * multiple requests. The {@link persistent_id} parameter can be used to
     * recall the same socket over multiple requests. The {@link
     * on_new_socket} is called only when a new underlying socket structure
     * is created.
     *
     * @param ZMQContext $context ZMQContext object.
     * @param int $type The socket type. See ZMQ::SOCKET_* constants.
     * @param string $persistent_id If {@link persistent_id} is specified
     *   the socket will be persisted over multiple requests. If {@link
     *   context} is not persistent the socket falls back to non-persistent
     *   mode.
     * @param callback $on_new_socket Callback function, which is executed
     *   when a new socket structure is created. This function does not get
     *   invoked if the underlying persistent connection is re-used.
     * @since PECL zmq >= 0.5.0
     **/
    function __construct($context, $type, $persistent_id, $on_new_socket){}

}
class ZMQSocketException extends ZMQException {
}
/**
 * Represents ZooKeeper session.
 **/
class Zookeeper {
    /**
     * Specify application credentials
     *
     * The application calls this function to specify its credentials for
     * purposes of authentication. The server will use the security provider
     * specified by the scheme parameter to authenticate the client
     * connection. If the authentication request has failed: - the server
     * connection is dropped. - the watcher is called with the
     * ZOO_AUTH_FAILED_STATE value as the state parameter.
     *
     * @param string $scheme The id of authentication scheme. Natively
     *   supported: "digest" password-based authentication
     * @param string $cert Application credentials. The actual value
     *   depends on the scheme.
     * @param callable $completion_cb The routine to invoke when the
     *   request completes. One of the following result codes may be passed
     *   into the completion callback: - ZOK operation completed successfully
     *   - ZAUTHFAILED authentication failed
     * @return bool
     * @since PECL zookeeper >= 0.1.0
     **/
    public function addAuth($scheme, $cert, $completion_cb){}

    /**
     * Close the zookeeper handle and free up any resources
     *
     * @return void
     * @since PECL zookeeper >= 0.5.0
     **/
    public function close(){}

    /**
     * Create a handle to used communicate with zookeeper
     *
     * This method creates a new handle and a zookeeper session that
     * corresponds to that handle. Session establishment is asynchronous,
     * meaning that the session should not be considered established until
     * (and unless) an event of state ZOO_CONNECTED_STATE is received.
     *
     * @param string $host Comma separated host:port pairs, each
     *   corresponding to a zk server. e.g.
     *   "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002"
     * @param callable $watcher_cb The global watcher callback function.
     *   When notifications are triggered this function will be invoked.
     * @param int $recv_timeout The timeout for this session, only valid if
     *   the connections is currently connected (ie. last watcher state is
     *   ZOO_CONNECTED_STATE).
     * @return void
     * @since PECL zookeeper >= 0.2.0
     **/
    public function connect($host, $watcher_cb, $recv_timeout){}

    /**
     * Create a node synchronously
     *
     * This method will create a node in ZooKeeper. A node can only be
     * created if it does not already exists. The Create Flags affect the
     * creation of nodes. If ZOO_EPHEMERAL flag is set, the node will
     * automatically get removed if the client session goes away. If the
     * ZOO_SEQUENCE flag is set, a unique monotonically increasing sequence
     * number is appended to the path name.
     *
     * @param string $path The name of the node. Expressed as a file name
     *   with slashes separating ancestors of the node.
     * @param string $value The data to be stored in the node.
     * @param array $acls The initial ACL of the node. The ACL must not be
     *   null or empty.
     * @param int $flags this parameter can be set to 0 for normal create
     *   or an OR of the Create Flags
     * @return string Returns the path of the new node (this might be
     *   different than the supplied path because of the ZOO_SEQUENCE flag)
     *   on success, and false on failure.
     * @since PECL zookeeper >= 0.1.0
     **/
    public function create($path, $value, $acls, $flags){}

    /**
     * Delete a node in zookeeper synchronously
     *
     * @param string $path The name of the node. Expressed as a file name
     *   with slashes separating ancestors of the node.
     * @param int $version The expected version of the node. The function
     *   will fail if the actual version of the node does not match the
     *   expected version. If -1 is used the version check will not take
     *   place.
     * @return bool
     * @since PECL zookeeper >= 0.2.0
     **/
    public function delete($path, $version){}

    /**
     * Checks the existence of a node in zookeeper synchronously
     *
     * @param string $path The name of the node. Expressed as a file name
     *   with slashes separating ancestors of the node.
     * @param callable $watcher_cb if nonzero, a watch will be set at the
     *   server to notify the client if the node changes. The watch will be
     *   set even if the node does not
     * @return bool Returns true/false on success, and false on failure.
     * @since PECL zookeeper >= 0.1.0
     **/
    public function exists($path, $watcher_cb){}

    /**
     * Gets the data associated with a node synchronously
     *
     * @param string $path The name of the node. Expressed as a file name
     *   with slashes separating ancestors of the node.
     * @param callable $watcher_cb If nonzero, a watch will be set at the
     *   server to notify the client if the node changes.
     * @param array $stat If not NULL, will hold the value of stat for the
     *   path on return.
     * @param int $max_size Max size of the data. If 0 is used, this method
     *   will return the whole data.
     * @return string Returns the data on success, and false on failure.
     * @since PECL zookeeper >= 0.1.0
     **/
    public function get($path, $watcher_cb, &$stat, $max_size){}

    /**
     * Gets the acl associated with a node synchronously
     *
     * @param string $path The name of the node. Expressed as a file name
     *   with slashes separating ancestors of the node.
     * @return array Return acl array on success and false on failure.
     * @since PECL zookeeper >= 0.1.0
     **/
    public function getAcl($path){}

    /**
     * Lists the children of a node synchronously
     *
     * @param string $path The name of the node. Expressed as a file name
     *   with slashes separating ancestors of the node.
     * @param callable $watcher_cb If nonzero, a watch will be set at the
     *   server to notify the client if the node changes.
     * @return array Returns an array with children paths on success, and
     *   false on failure.
     * @since PECL zookeeper >= 0.1.0
     **/
    public function getChildren($path, $watcher_cb){}

    /**
     * Return the client session id, only valid if the connections is
     * currently connected (ie. last watcher state is ZOO_CONNECTED_STATE)
     *
     * @return int Returns the client session id on success, and false on
     *   failure.
     * @since PECL zookeeper >= 0.1.0
     **/
    public function getClientId(){}

    /**
     * Get instance of ZookeeperConfig
     *
     * @return ZookeeperConfig Returns instance of ZookeeperConfig.
     * @since PECL zookeeper >= 0.6.0, ZooKeeper >= 3.5.0
     **/
    public function getConfig(){}

    /**
     * Return the timeout for this session, only valid if the connections is
     * currently connected (ie. last watcher state is ZOO_CONNECTED_STATE).
     * This value may change after a server re-connect
     *
     * @return int Returns the timeout for this session on success, and
     *   false on failure.
     * @since PECL zookeeper >= 0.1.0
     **/
    public function getRecvTimeout(){}

    /**
     * Get the state of the zookeeper connection
     *
     * @return int Returns the state of zookeeper connection on success,
     *   and false on failure.
     * @since PECL zookeeper >= 0.1.0
     **/
    public function getState(){}

    /**
     * Checks if the current zookeeper connection state can be recovered
     *
     * The application must close the handle and try to reconnect.
     *
     * @return bool Returns true/false on success, and false on failure.
     * @since PECL zookeeper >= 0.1.0
     **/
    public function isRecoverable(){}

    /**
     * Sets the data associated with a node
     *
     * @param string $path The name of the node. Expressed as a file name
     *   with slashes separating ancestors of the node.
     * @param string $value The data to be stored in the node.
     * @param int $version The expected version of the node. The function
     *   will fail if the actual version of the node does not match the
     *   expected version. If -1 is used the version check will not take
     *   place.
     * @param array $stat If not NULL, will hold the value of stat for the
     *   path on return.
     * @return bool
     * @since PECL zookeeper >= 0.1.0
     **/
    public function set($path, $value, $version, &$stat){}

    /**
     * Sets the acl associated with a node synchronously
     *
     * @param string $path The name of the node. Expressed as a file name
     *   with slashes separating ancestors of the node.
     * @param int $version The expected version of the path.
     * @param array $acl The acl to be set on the path.
     * @return bool
     * @since PECL zookeeper >= 0.1.0
     **/
    public function setAcl($path, $version, $acl){}

    /**
     * Sets the debugging level for the library
     *
     * @param int $logLevel ZooKeeper log level constants.
     * @return bool
     * @since PECL zookeeper >= 0.1.0
     **/
    public static function setDebugLevel($logLevel){}

    /**
     * Enable/disable quorum endpoint order randomization
     *
     * If passed a non-zero value, will make the client connect to quorum
     * peers in the order as specified in the zookeeper_init() call. A zero
     * value causes zookeeper_init() to permute the peer endpoints which is
     * good for more even client connection distribution among the quorum
     * peers.
     *
     * @param bool $yesOrNo Enable/disable quorum endpoint order
     *   randomization.
     * @return bool
     * @since PECL zookeeper >= 0.1.0
     **/
    public static function setDeterministicConnOrder($yesOrNo){}

    /**
     * Sets the stream to be used by the library for logging
     *
     * The zookeeper library uses stderr as its default log stream.
     * Application must make sure the stream is writable. Passing in NULL
     * resets the stream to its default value (stderr).
     *
     * @param resource $stream The stream to be used by the library for
     *   logging.
     * @return bool
     * @since PECL zookeeper >= 0.1.0
     **/
    public function setLogStream($stream){}

    /**
     * Set a watcher function
     *
     * @param callable $watcher_cb A watch will be set at the server to
     *   notify the client if the node changes.
     * @return bool
     * @since PECL zookeeper >= 0.1.0
     **/
    public function setWatcher($watcher_cb){}

}
/**
 * The ZooKeeper authentication exception handling class.
 **/
class ZookeeperAuthenticationException extends ZookeeperException {
}
/**
 * The ZooKeeper Config handling class.
 **/
class ZookeeperConfig {
    /**
     * Add servers to the ensemble
     *
     * @param string $members Comma separated list of servers to be added
     *   to the ensemble. Each has a configuration line for a server to be
     *   added (as would appear in a configuration file), only for maj.
     *   quorums.
     * @param int $version The expected version of the node. The function
     *   will fail if the actual version of the node does not match the
     *   expected version. If -1 is used the version check will not take
     *   place.
     * @param array $stat If not NULL, will hold the value of stat for the
     *   path on return.
     * @return void
     * @since PECL zookeeper >= 0.6.0, ZooKeeper >= 3.5.0
     **/
    public function add($members, $version, &$stat){}

    /**
     * Gets the last committed configuration of the ZooKeeper cluster as it
     * is known to the server to which the client is connected, synchronously
     *
     * @param callable $watcher_cb If nonzero, a watch will be set at the
     *   server to notify the client if the node changes.
     * @param array $stat If not NULL, will hold the value of stat for the
     *   path on return.
     * @return string Returns the configuration string on success, and
     *   false on failure.
     * @since PECL zookeeper >= 0.6.0, ZooKeeper >= 3.5.0
     **/
    public function get($watcher_cb, &$stat){}

    /**
     * Remove servers from the ensemble
     *
     * @param string $id_list Comma separated list of server IDs to be
     *   removed from the ensemble. Each has an id of a server to be removed,
     *   only for maj. quorums.
     * @param int $version The expected version of the node. The function
     *   will fail if the actual version of the node does not match the
     *   expected version. If -1 is used the version check will not take
     *   place.
     * @param array $stat If not NULL, will hold the value of stat for the
     *   path on return.
     * @return void
     * @since PECL zookeeper >= 0.6.0, ZooKeeper >= 3.5.0
     **/
    public function remove($id_list, $version, &$stat){}

    /**
     * Change ZK cluster ensemble membership and roles of ensemble peers
     *
     * @param string $members Comma separated list of new membership (e.g.,
     *   contents of a membership configuration file) - for use only with a
     *   non-incremental reconfiguration.
     * @param int $version The expected version of the node. The function
     *   will fail if the actual version of the node does not match the
     *   expected version. If -1 is used the version check will not take
     *   place.
     * @param array $stat If not NULL, will hold the value of stat for the
     *   path on return.
     * @return void
     * @since PECL zookeeper >= 0.6.0, ZooKeeper >= 3.5.0
     **/
    public function set($members, $version, &$stat){}

}
/**
 * The ZooKeeper connection exception handling class.
 **/
class ZookeeperConnectionException extends ZookeeperException {
}
/**
 * The ZooKeeper exception handling class.
 **/
class ZookeeperException extends Exception {
}
/**
 * The ZooKeeper exception (while marshalling or unmarshalling data)
 * handling class.
 **/
class ZookeeperMarshallingException extends ZookeeperException {
}
/**
 * The ZooKeeper exception (when node does not exist) handling class.
 **/
class ZookeeperNoNodeException extends ZookeeperException {
}
/**
 * The ZooKeeper operation timeout exception handling class.
 **/
class ZookeeperOperationTimeoutException extends ZookeeperException {
}
/**
 * The ZooKeeper session exception handling class.
 **/
class ZookeeperSessionException extends ZookeeperException {
}
define('AF_INET', 0);
define('AF_INET6', 0);
define('AF_UNIX', 0);
define('ALC_FREQUENCY', 0);
define('ALC_REFRESH', 0);
define('ALC_SYNC', 0);
define('ALL_MATCHES', 0);
define('AL_BITS', 0);
define('AL_BUFFER', 0);
define('AL_CHANNELS', 0);
define('AL_CONE_INNER_ANGLE', 0);
define('AL_CONE_OUTER_ANGLE', 0);
define('AL_CONE_OUTER_GAIN', 0);
define('AL_DIRECTION', 0);
define('AL_FALSE', 0);
define('AL_FORMAT_MONO8', 0);
define('AL_FORMAT_MONO16', 0);
define('AL_FORMAT_STEREO8', 0);
define('AL_FORMAT_STEREO16', 0);
define('AL_FREQUENCY', 0);
define('AL_GAIN', 0);
define('AL_INITIAL', 0);
define('AL_LOOPING', 0);
define('AL_MAX_DISTANCE', 0);
define('AL_MAX_GAIN', 0);
define('AL_MIN_GAIN', 0);
define('AL_ORIENTATION', 0);
define('AL_PAUSED', 0);
define('AL_PITCH', 0);
define('AL_PLAYING', 0);
define('AL_POSITION', 0);
define('AL_REFERENCE_DISTANCE', 0);
define('AL_ROLLOFF_FACTOR', 0);
define('AL_SIZE', 0);
define('AL_SOURCE_RELATIVE', 0);
define('AL_SOURCE_STATE', 0);
define('AL_STOPPED', 0);
define('AL_TRUE', 0);
define('AL_VELOCITY', 0);
define('APACHE_MAP', 0);
define('APD_VERSION', '');
define('ARGS_TRACE', 0);
define('ARRAY_AS_PROPS', 0);
define('ASSERT_ACTIVE', 0);
define('ASSERT_BAIL', 0);
define('ASSERT_CALLBACK', 0);
define('ASSERT_QUIET_EVAL', 0);
define('ASSERT_WARNING', 0);
define('ASSIGNMENT_TRACE', 0);
define('ASSOCIATING_STATE', 0);
define('AUTH_FAILED_STATE', 0);
define('BBCODE_ARG_DOUBLE_QUOTE', 0);
define('BBCODE_ARG_HTML_QUOTE', 0);
define('BBCODE_ARG_QUOTE_ESCAPING', 0);
define('BBCODE_ARG_SINGLE_QUOTE', 0);
define('BBCODE_AUTO_CORRECT', 0);
define('BBCODE_CORRECT_REOPEN_TAGS', 0);
define('BBCODE_DEFAULT_SMILEYS_OFF', 0);
define('BBCODE_DEFAULT_SMILEYS_ON', 0);
define('BBCODE_DISABLE_TREE_BUILD', 0);
define('BBCODE_FLAGS_ARG_PARSING', 0);
define('BBCODE_FLAGS_CDATA_NOT_ALLOWED', 0);
define('BBCODE_FLAGS_DENY_REOPEN_CHILD', 0);
define('BBCODE_FLAGS_ONE_OPEN_PER_LEVEL', 0);
define('BBCODE_FLAGS_REMOVE_IF_EMPTY', 0);
define('BBCODE_FLAGS_SMILEYS_OFF', 0);
define('BBCODE_FLAGS_SMILEYS_ON', 0);
define('BBCODE_FORCE_SMILEYS_OFF', 0);
define('BBCODE_SET_FLAGS_ADD', 0);
define('BBCODE_SET_FLAGS_REMOVE', 0);
define('BBCODE_SET_FLAGS_SET', 0);
define('BBCODE_SMILEYS_CASE_INSENSITIVE', 0);
define('BBCODE_TYPE_ARG', 0);
define('BBCODE_TYPE_NOARG', 0);
define('BBCODE_TYPE_OPTARG', 0);
define('BBCODE_TYPE_ROOT', 0);
define('BBCODE_TYPE_SINGLE', 0);
define('BUS_ADRALN', 0);
define('BUS_ADRERR', 0);
define('BUS_OBJERR', 0);
define('CAL_DOW_DAYNO', 0);
define('CAL_DOW_LONG', 0);
define('CAL_DOW_SHORT', 0);
define('CAL_EASTER_ALWAYS_GREGORIAN', 0);
define('CAL_EASTER_ALWAYS_JULIAN', 0);
define('CAL_EASTER_DEFAULT', 0);
define('CAL_EASTER_ROMAN', 0);
define('CAL_FRENCH', 0);
define('CAL_GREGORIAN', 0);
define('CAL_JEWISH', 0);
define('CAL_JEWISH_ADD_ALAFIM', 0);
define('CAL_JEWISH_ADD_ALAFIM_GERESH', 0);
define('CAL_JEWISH_ADD_GERESHAYIM', 0);
define('CAL_JULIAN', 0);
define('CAL_MONTH_FRENCH', 0);
define('CAL_MONTH_GREGORIAN_LONG', 0);
define('CAL_MONTH_GREGORIAN_SHORT', 0);
define('CAL_MONTH_JEWISH', 0);
define('CAL_MONTH_JULIAN_LONG', 0);
define('CAL_MONTH_JULIAN_SHORT', 0);
define('CAL_NUM_CALS', 0);
define('CHAR_MAX', 0);
define('CHILD_ARRAYS_ONLY', 0);
define('CLASSKIT_ACC_PRIVATE', 0);
define('CLASSKIT_ACC_PROTECTED', 0);
define('CLASSKIT_ACC_PUBLIC', 0);
define('CLASSKIT_AGGREGATE_OVERRIDE', 0);
define('CLASSKIT_VERSION', '');
define('CLD_CONTINUED', 0);
define('CLD_DUMPED', 0);
define('CLD_EXITED', 0);
define('CLD_KILLED', 0);
define('CLD_STOPPED', 0);
define('CLD_TRAPPED', 0);
define('CLSCTX_ALL', 0);
/**
 * The code that manages objects of this class is an in-process handler.
 * This is a DLL that runs in the client process and implements
 * client-side structures of this class when instances of the class are
 * accessed remotely.
 **/
define('CLSCTX_INPROC_HANDLER', 0);
/**
 * The code that creates and manages objects of this class is a DLL that
 * runs in the same process as the caller of the function specifying the
 * class context.
 **/
define('CLSCTX_INPROC_SERVER', 0);
/**
 * The EXE code that creates and manages objects of this class runs on
 * same machine but is loaded in a separate process space.
 **/
define('CLSCTX_LOCAL_SERVER', 0);
/**
 * A remote context. The code that creates and manages objects of this
 * class is run on a different computer.
 **/
define('CLSCTX_REMOTE_SERVER', 0);
define('CLSCTX_SERVER', 0);
define('CL_EXPUNGE', 0);
define('CONNECTED_STATE', 0);
define('CONNECTING_STATE', 0);
define('CONNECTION_ABORTED', 0);
define('CONNECTION_NORMAL', 0);
define('CONNECTION_TIMEOUT', 0);
define('COUNT_NORMAL', 0);
define('COUNT_RECURSIVE', 0);
/**
 * Default to ANSI code page.
 **/
define('CP_ACP', 0);
/**
 * Macintosh code page.
 **/
define('CP_MACCP', 0);
define('CP_MOVE', 0);
/**
 * Default to OEM code page.
 **/
define('CP_OEMCP', 0);
define('CP_SYMBOL', 0);
/**
 * Current thread's ANSI code page
 **/
define('CP_THREAD_ACP', 0);
define('CP_UID', 0);
/**
 * Unicode (UTF-7).
 **/
define('CP_UTF7', 0);
/**
 * Unicode (UTF-8).
 **/
define('CP_UTF8', 0);
define('CREDITS_ALL', 0);
define('CREDITS_DOCS', 0);
define('CREDITS_FULLPAGE', 0);
define('CREDITS_GENERAL', 0);
define('CREDITS_GROUP', 0);
define('CREDITS_MODULES', 0);
define('CREDITS_QA', 0);
define('CREDITS_SAPI', 0);
define('CRYPT_BLOWFISH', 0);
define('CRYPT_EXT_DES', 0);
define('CRYPT_MD5', 0);
define('CRYPT_SALT_LENGTH', 0);
define('CRYPT_STD_DES', 0);
define('CURLAUTH_ANY', 0);
define('CURLAUTH_ANYSAFE', 0);
define('CURLAUTH_BASIC', 0);
define('CURLAUTH_DIGEST', 0);
define('CURLAUTH_GSSNEGOTIATE', 0);
define('CURLAUTH_NEGOTIATE', 0);
define('CURLAUTH_NTLM', 0);
define('CURLAUTH_NTLM_WB', 0);
define('CURLCLOSEPOLICY_CALLBACK', 0);
define('CURLCLOSEPOLICY_LEAST_RECENTLY_USED', 0);
define('CURLCLOSEPOLICY_LEAST_TRAFFIC', 0);
define('CURLCLOSEPOLICY_OLDEST', 0);
define('CURLCLOSEPOLICY_SLOWEST', 0);
define('CURLE_ABORTED_BY_CALLBACK', 0);
define('CURLE_BAD_CALLING_ORDER', 0);
define('CURLE_BAD_CONTENT_ENCODING', 0);
define('CURLE_BAD_FUNCTION_ARGUMENT', 0);
define('CURLE_BAD_PASSWORD_ENTERED', 0);
define('CURLE_COULDNT_CONNECT', 0);
define('CURLE_COULDNT_RESOLVE_HOST', 0);
define('CURLE_COULDNT_RESOLVE_PROXY', 0);
define('CURLE_FAILED_INIT', 0);
define('CURLE_FILESIZE_EXCEEDED', 0);
define('CURLE_FILE_COULDNT_READ_FILE', 0);
define('CURLE_FTP_ACCESS_DENIED', 0);
define('CURLE_FTP_BAD_DOWNLOAD_RESUME', 0);
define('CURLE_FTP_CANT_GET_HOST', 0);
define('CURLE_FTP_CANT_RECONNECT', 0);
define('CURLE_FTP_COULDNT_GET_SIZE', 0);
define('CURLE_FTP_COULDNT_RETR_FILE', 0);
define('CURLE_FTP_COULDNT_SET_ASCII', 0);
define('CURLE_FTP_COULDNT_SET_BINARY', 0);
define('CURLE_FTP_COULDNT_STOR_FILE', 0);
define('CURLE_FTP_COULDNT_USE_REST', 0);
define('CURLE_FTP_PORT_FAILED', 0);
define('CURLE_FTP_QUOTE_ERROR', 0);
define('CURLE_FTP_SSL_FAILED', 0);
define('CURLE_FTP_USER_PASSWORD_INCORRECT', 0);
define('CURLE_FTP_WEIRD_227_FORMAT', 0);
define('CURLE_FTP_WEIRD_PASS_REPLY', 0);
define('CURLE_FTP_WEIRD_PASV_REPLY', 0);
define('CURLE_FTP_WEIRD_SERVER_REPLY', 0);
define('CURLE_FTP_WEIRD_USER_REPLY', 0);
define('CURLE_FTP_WRITE_ERROR', 0);
define('CURLE_FUNCTION_NOT_FOUND', 0);
define('CURLE_GOT_NOTHING', 0);
define('CURLE_HTTP_NOT_FOUND', 0);
define('CURLE_HTTP_PORT_FAILED', 0);
define('CURLE_HTTP_POST_ERROR', 0);
define('CURLE_HTTP_RANGE_ERROR', 0);
define('CURLE_LDAP_CANNOT_BIND', 0);
define('CURLE_LDAP_INVALID_URL', 0);
define('CURLE_LDAP_SEARCH_FAILED', 0);
define('CURLE_LIBRARY_NOT_FOUND', 0);
define('CURLE_MALFORMAT_USER', 0);
define('CURLE_OBSOLETE', 0);
define('CURLE_OK', 0);
define('CURLE_OPERATION_TIMEOUTED', 0);
define('CURLE_OUT_OF_MEMORY', 0);
define('CURLE_PARTIAL_FILE', 0);
define('CURLE_READ_ERROR', 0);
define('CURLE_RECV_ERROR', 0);
define('CURLE_SEND_ERROR', 0);
define('CURLE_SHARE_IN_USE', 0);
define('CURLE_SSH', 0);
define('CURLE_SSL_CACERT', 0);
define('CURLE_SSL_CERTPROBLEM', 0);
define('CURLE_SSL_CIPHER', 0);
define('CURLE_SSL_CONNECT_ERROR', 0);
define('CURLE_SSL_ENGINE_NOTFOUND', 0);
define('CURLE_SSL_ENGINE_SETFAILED', 0);
define('CURLE_SSL_PEER_CERTIFICATE', 0);
define('CURLE_TELNET_OPTION_SYNTAX', 0);
define('CURLE_TOO_MANY_REDIRECTS', 0);
define('CURLE_UNKNOWN_TELNET_OPTION', 0);
define('CURLE_UNSUPPORTED_PROTOCOL', 0);
define('CURLE_URL_MALFORMAT', 0);
define('CURLE_URL_MALFORMAT_USER', 0);
define('CURLE_WRITE_ERROR', 0);
define('CURLFTPAUTH_DEFAULT', 0);
define('CURLFTPAUTH_SSL', 0);
define('CURLFTPAUTH_TLS', 0);
define('CURLFTPSSL_ALL', 0);
define('CURLFTPSSL_CONTROL', 0);
define('CURLFTPSSL_NONE', 0);
define('CURLFTPSSL_TRY', 0);
define('CURLFTP_CREATE_DIR', 0);
define('CURLFTP_CREATE_DIR_NONE', 0);
define('CURLFTP_CREATE_DIR_RETRY', 0);
define('CURLHEADER_SEPARATE', 0);
define('CURLHEADER_UNIFIED', 0);
define('CURLINFO_CONNECT_TIME', 0);
define('CURLINFO_CONTENT_LENGTH_DOWNLOAD', 0);
define('CURLINFO_CONTENT_LENGTH_UPLOAD', 0);
define('CURLINFO_CONTENT_TYPE', 0);
define('CURLINFO_EFFECTIVE_URL', 0);
define('CURLINFO_FILETIME', 0);
define('CURLINFO_HEADER_OUT', 0);
define('CURLINFO_HEADER_SIZE', 0);
define('CURLINFO_HTTP_CODE', 0);
define('CURLINFO_LOCAL_IP', '');
define('CURLINFO_LOCAL_PORT', 0);
define('CURLINFO_NAMELOOKUP_TIME', 0);
define('CURLINFO_PRETRANSFER_TIME', 0);
define('CURLINFO_PRIMARY_IP', '');
define('CURLINFO_PRIMARY_PORT', 0);
define('CURLINFO_PRIVATE', 0);
define('CURLINFO_REDIRECT_COUNT', 0);
define('CURLINFO_REDIRECT_TIME', 0);
define('CURLINFO_REDIRECT_URL', '');
define('CURLINFO_REQUEST_SIZE', 0);
define('CURLINFO_RESPONSE_CODE', 0);
define('CURLINFO_SIZE_DOWNLOAD', 0);
define('CURLINFO_SIZE_UPLOAD', 0);
define('CURLINFO_SPEED_DOWNLOAD', 0);
define('CURLINFO_SPEED_UPLOAD', 0);
define('CURLINFO_SSL_VERIFYRESULT', 0);
define('CURLINFO_STARTTRANSFER_TIME', 0);
define('CURLINFO_TOTAL_TIME', 0);
define('CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE', 0);
define('CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE', 0);
define('CURLMOPT_MAXCONNECTS', 0);
define('CURLMOPT_MAX_HOST_CONNECTIONS', 0);
define('CURLMOPT_MAX_PIPELINE_LENGTH', 0);
define('CURLMOPT_MAX_TOTAL_CONNECTIONS', 0);
define('CURLMOPT_PIPELINING', 0);
define('CURLMOPT_PUSHFUNCTION', 0);
define('CURLMSG_DONE', 0);
define('CURLM_BAD_EASY_HANDLE', 0);
define('CURLM_BAD_HANDLE', 0);
define('CURLM_CALL_MULTI_PERFORM', 0);
define('CURLM_INTERNAL_ERROR', 0);
define('CURLM_OK', 0);
define('CURLM_OUT_OF_MEMORY', 0);
define('CURLOPT_AUTOREFERER', 0);
define('CURLOPT_BINARYTRANSFER', 0);
define('CURLOPT_BUFFERSIZE', 0);
define('CURLOPT_CAINFO', 0);
define('CURLOPT_CAPATH', 0);
define('CURLOPT_CLOSEPOLICY', 0);
define('CURLOPT_CONNECTTIMEOUT', 0);
define('CURLOPT_CONNECTTIMEOUT_MS', 0);
define('CURLOPT_CONNECT_TO', 0);
define('CURLOPT_COOKIE', 0);
define('CURLOPT_COOKIEFILE', 0);
define('CURLOPT_COOKIEJAR', 0);
define('CURLOPT_COOKIESESSION', 0);
define('CURLOPT_CRLF', 0);
define('CURLOPT_CUSTOMREQUEST', 0);
define('CURLOPT_DEFAULT_PROTOCOL', 0);
define('CURLOPT_DNS_CACHE_TIMEOUT', 0);
define('CURLOPT_DNS_INTERFACE', 0);
define('CURLOPT_DNS_LOCAL_IP4', 0);
define('CURLOPT_DNS_LOCAL_IP6', 0);
define('CURLOPT_DNS_USE_GLOBAL_CACHE', 0);
define('CURLOPT_EGDSOCKET', 0);
define('CURLOPT_ENCODING', 0);
define('CURLOPT_EXPECT_100_TIMEOUT_MS', 0);
define('CURLOPT_FAILONERROR', 0);
define('CURLOPT_FILE', 0);
define('CURLOPT_FILETIME', 0);
define('CURLOPT_FOLLOWLOCATION', 0);
define('CURLOPT_FORBID_REUSE', 0);
define('CURLOPT_FRESH_CONNECT', 0);
define('CURLOPT_FTPAPPEND', 0);
define('CURLOPT_FTPASCII', 0);
define('CURLOPT_FTPLISTONLY', 0);
define('CURLOPT_FTPPORT', 0);
define('CURLOPT_FTPSSLAUTH', 0);
define('CURLOPT_FTP_CREATE_MISSING_DIRS', 0);
define('CURLOPT_FTP_SSL', 0);
define('CURLOPT_FTP_USE_EPRT', 0);
define('CURLOPT_FTP_USE_EPSV', 0);
define('CURLOPT_HEADER', 0);
define('CURLOPT_HEADERFUNCTION', 0);
define('CURLOPT_HEADEROPT', 0);
define('CURLOPT_HTTP200ALIASES', 0);
define('CURLOPT_HTTPAUTH', 0);
define('CURLOPT_HTTPGET', 0);
define('CURLOPT_HTTPHEADER', 0);
define('CURLOPT_HTTPPROXYTUNNEL', 0);
define('CURLOPT_HTTP_VERSION', 0);
define('CURLOPT_INFILE', 0);
define('CURLOPT_INFILESIZE', 0);
define('CURLOPT_INTERFACE', 0);
define('CURLOPT_KEYPASSWD', 0);
define('CURLOPT_KRB4LEVEL', 0);
define('CURLOPT_LOGIN_OPTIONS', 0);
define('CURLOPT_LOW_SPEED_LIMIT', 0);
define('CURLOPT_LOW_SPEED_TIME', 0);
define('CURLOPT_MAXCONNECTS', 0);
define('CURLOPT_MAXREDIRS', 0);
define('CURLOPT_MAX_RECV_SPEED_LARGE', 0);
define('CURLOPT_MAX_SEND_SPEED_LARGE', 0);
define('CURLOPT_MUTE', 0);
define('CURLOPT_NETRC', 0);
define('CURLOPT_NOBODY', 0);
define('CURLOPT_NOPROGRESS', 0);
define('CURLOPT_NOSIGNAL', 0);
define('CURLOPT_PASSWDFUNCTION', 0);
define('CURLOPT_PATH_AS_IS', 0);
define('CURLOPT_PINNEDPUBLICKEY', 0);
define('CURLOPT_PIPEWAIT', 0);
define('CURLOPT_PORT', 0);
define('CURLOPT_POST', 0);
define('CURLOPT_POSTFIELDS', 0);
define('CURLOPT_POSTQUOTE', 0);
define('CURLOPT_PRIVATE', 0);
define('CURLOPT_PROGRESSFUNCTION', 0);
define('CURLOPT_PROXY', 0);
define('CURLOPT_PROXYAUTH', 0);
define('CURLOPT_PROXYHEADER', 0);
define('CURLOPT_PROXYPORT', 0);
define('CURLOPT_PROXYTYPE', 0);
define('CURLOPT_PROXYUSERPWD', 0);
define('CURLOPT_PROXY_SERVICE_NAME', 0);
define('CURLOPT_PUT', 0);
define('CURLOPT_QUOTE', 0);
define('CURLOPT_RANDOM_FILE', 0);
define('CURLOPT_RANGE', 0);
define('CURLOPT_READFUNCTION', 0);
define('CURLOPT_REFERER', 0);
define('CURLOPT_RESUME_FROM', 0);
define('CURLOPT_RETURNTRANSFER', 0);
define('CURLOPT_SASL_IR', 0);
define('CURLOPT_SERVICE_NAME', 0);
define('CURLOPT_SSH_AUTH_TYPES', 0);
define('CURLOPT_SSH_HOST_PUBLIC_KEY_MD5', 0);
define('CURLOPT_SSH_PRIVATE_KEYFILE', 0);
define('CURLOPT_SSH_PUBLIC_KEYFILE', 0);
define('CURLOPT_SSLCERT', 0);
define('CURLOPT_SSLCERTPASSWD', 0);
define('CURLOPT_SSLCERTTYPE', 0);
define('CURLOPT_SSLENGINE', 0);
define('CURLOPT_SSLENGINE_DEFAULT', 0);
define('CURLOPT_SSLKEY', 0);
define('CURLOPT_SSLKEYPASSWD', 0);
define('CURLOPT_SSLKEYTYPE', 0);
define('CURLOPT_SSLVERSION', 0);
define('CURLOPT_SSL_CIPHER_LIST', 0);
define('CURLOPT_SSL_ENABLE_ALPN', 0);
define('CURLOPT_SSL_ENABLE_NPN', 0);
define('CURLOPT_SSL_FALSESTART', 0);
define('CURLOPT_SSL_OPTIONS', 0);
define('CURLOPT_SSL_VERIFYHOST', 0);
define('CURLOPT_SSL_VERIFYPEER', 0);
define('CURLOPT_SSL_VERIFYSTATUS', 0);
define('CURLOPT_STDERR', 0);
define('CURLOPT_STREAM_WEIGHT', 0);
define('CURLOPT_TCP_FASTOPEN', 0);
define('CURLOPT_TCP_NODELAY', 0);
define('CURLOPT_TFTP_NO_OPTIONS', 0);
define('CURLOPT_TIMECONDITION', 0);
define('CURLOPT_TIMEOUT', 0);
define('CURLOPT_TIMEOUT_MS', 0);
define('CURLOPT_TIMEVALUE', 0);
define('CURLOPT_TRANSFERTEXT', 0);
define('CURLOPT_UNIX_SOCKET_PATH', 0);
define('CURLOPT_UNRESTRICTED_AUTH', 0);
define('CURLOPT_UPLOAD', 0);
define('CURLOPT_URL', 0);
define('CURLOPT_USERAGENT', 0);
define('CURLOPT_USERNAME', 0);
define('CURLOPT_USERPWD', 0);
define('CURLOPT_VERBOSE', 0);
define('CURLOPT_WRITEFUNCTION', 0);
define('CURLOPT_WRITEHEADER', 0);
define('CURLOPT_XOAUTH2_BEARER', 0);
define('CURLPAUSE_ALL', 0);
define('CURLPAUSE_CONT', 0);
define('CURLPAUSE_RECV', 0);
define('CURLPAUSE_RECV_CONT', 0);
define('CURLPAUSE_SEND', 0);
define('CURLPAUSE_SEND_CONT', 0);
define('CURLPIPE_HTTP1', 0);
define('CURLPIPE_MULTIPLEX', 0);
define('CURLPIPE_NOTHING', 0);
define('CURLPROTO_SMB', 0);
define('CURLPROTO_SMBS', 0);
define('CURLPROXY_HTTP', 0);
define('CURLPROXY_HTTP_1_0', 0);
define('CURLPROXY_SOCKS4', 0);
define('CURLPROXY_SOCKS4A', 0);
define('CURLPROXY_SOCKS5', 0);
define('CURLPROXY_SOCKS5_HOSTNAME', 0);
define('CURLSSH_AUTH_AGENT', 0);
define('CURLSSH_AUTH_ANY', 0);
define('CURLSSH_AUTH_DEFAULT', 0);
define('CURLSSH_AUTH_HOST', 0);
define('CURLSSH_AUTH_KEYBOARD', 0);
define('CURLSSH_AUTH_NONE', 0);
define('CURLSSH_AUTH_PASSWORD', 0);
define('CURLSSH_AUTH_PUBLICKEY', 0);
define('CURLSSLOPT_ALLOW_BEAST', 0);
define('CURLSSLOPT_NO_REVOKE', 0);
define('CURLVERSION_NOW', 0);
define('CURL_HTTP_VERSION_1_0', 0);
define('CURL_HTTP_VERSION_1_1', 0);
define('CURL_HTTP_VERSION_2', 0);
define('CURL_HTTP_VERSION_2TLS', 0);
define('CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE', 0);
define('CURL_HTTP_VERSION_NONE', 0);
define('CURL_NETRC_IGNORED', 0);
define('CURL_NETRC_OPTIONAL', 0);
define('CURL_NETRC_REQUIRED', 0);
define('CURL_PUSH_DENY', 0);
define('CURL_PUSH_OK', 0);
define('CURL_REDIR_POST_301', 0);
define('CURL_REDIR_POST_302', 0);
define('CURL_REDIR_POST_303', 0);
define('CURL_REDIR_POST_ALL', 0);
define('CURL_SSLVERSION_DEFAULT', 0);
define('CURL_SSLVERSION_SSLv2', 0);
define('CURL_SSLVERSION_SSLv3', 0);
define('CURL_SSLVERSION_TLSv1', 0);
define('CURL_SSLVERSION_TLSv1_0', 0);
define('CURL_SSLVERSION_TLSv1_1', 0);
define('CURL_SSLVERSION_TLSv1_2', 0);
define('CURL_TIMECOND_IFMODSINCE', 0);
define('CURL_TIMECOND_IFUNMODSINCE', 0);
define('CURL_TIMECOND_LASTMOD', 0);
define('CURL_VERSION_HTTP2', 0);
define('CURL_VERSION_IPV6', 0);
define('CURL_VERSION_KERBEROS4', 0);
define('CURL_VERSION_KERBEROS5', 0);
define('CURL_VERSION_LIBZ', 0);
define('CURL_VERSION_PSL', 0);
define('CURL_VERSION_SSL', 0);
define('CURL_VERSION_UNIX_SOCKETS', 0);
define('CURL_WRAPPERS_ENABLED', 0);
define('CYRUS_CALLBACK_NOLITERAL', 0);
define('CYRUS_CALLBACK_NUMBERED', 0);
define('CYRUS_CONN_INITIALRESPONSE', 0);
define('CYRUS_CONN_NONSYNCLITERAL', 0);
define('DB2_AUTOCOMMIT_OFF', 0);
define('DB2_AUTOCOMMIT_ON', 0);
define('DB2_BINARY', 0);
define('DB2_CASE_LOWER', 0);
define('DB2_CASE_NATURAL', 0);
define('DB2_CASE_UPPER', 0);
define('DB2_CHAR', 0);
define('DB2_CONVERT', 0);
define('DB2_DEFERRED_PREPARE_OFF', 0);
define('DB2_DEFERRED_PREPARE_ON', 0);
define('DB2_DOUBLE', 0);
define('DB2_FORWARD_ONLY', 0);
define('DB2_LONG', 0);
define('DB2_PARAM_FILE', 0);
define('DB2_PARAM_IN', 0);
define('DB2_PARAM_INOUT', 0);
define('DB2_PARAM_OUT', 0);
define('DB2_PASSTHRU', 0);
define('DB2_SCROLLABLE', 0);
define('DBASE_RDONLY', 0);
define('DBASE_RDWR', 0);
define('DBASE_TYPE_DBASE', 0);
define('DBASE_TYPE_FOXPRO', 0);
define('DBASE_VERSION', '');
/**
 * The server can't close
 **/
define('DBPLUS_ERR_CLOSE', 0);
/**
 * A client sent a corrupt tuple
 **/
define('DBPLUS_ERR_CORRUPT_TUPLE', 0);
/**
 * Invalid crc in the superpage
 **/
define('DBPLUS_ERR_CRC', 0);
define('DBPLUS_ERR_CREATE', 0);
/**
 * Error in the parser
 **/
define('DBPLUS_ERR_DBPARSE', 0);
define('DBPLUS_ERR_DBPREEXIT', 0);
/**
 * Run error in db
 **/
define('DBPLUS_ERR_DBRUNERR', 0);
/**
 * Tried to insert a duplicate tuple
 **/
define('DBPLUS_ERR_DUPLICATE', 0);
/**
 * Relation is empty (server)
 **/
define('DBPLUS_ERR_EMPTY', 0);
define('DBPLUS_ERR_EOSCAN', 0);
/**
 * Can't create a fifo
 **/
define('DBPLUS_ERR_FIFO', 0);
/**
 * Tuple exceeds maximum length
 **/
define('DBPLUS_ERR_LENGTH', 0);
/**
 * Relation was already locked
 **/
define('DBPLUS_ERR_LOCKED', 0);
define('DBPLUS_ERR_LSEEK', 0);
/**
 * File is not a relation
 **/
define('DBPLUS_ERR_MAGIC', 0);
define('DBPLUS_ERR_MALLOC', 0);
/**
 * Too many secondary indices
 **/
define('DBPLUS_ERR_NIDX', 0);
/**
 * Null error condition
 **/
define('DBPLUS_ERR_NOERR', 0);
/**
 * Relation cannot be locked
 **/
define('DBPLUS_ERR_NOLOCK', 0);
/**
 * Error use of max users
 **/
define('DBPLUS_ERR_NUSERS', 0);
/**
 * Caused by a signal
 **/
define('DBPLUS_ERR_ONTRAP', 0);
define('DBPLUS_ERR_OPEN', 0);
/**
 * The server should not really die but after a disaster send ERR_PANIC
 * to all its clients
 **/
define('DBPLUS_ERR_PANIC', 0);
/**
 * Permission denied
 **/
define('DBPLUS_ERR_PERM', 0);
/**
 * Relation uses a different page size
 **/
define('DBPLUS_ERR_PGSIZE', 0);
define('DBPLUS_ERR_PIPE', 0);
/**
 * Caused by invalid usage
 **/
define('DBPLUS_ERR_PREEXIT', 0);
/**
 * Error in the preprocessor
 **/
define('DBPLUS_ERR_PREPROC', 0);
/**
 * Read error on relation
 **/
define('DBPLUS_ERR_READ', 0);
/**
 * Only two users
 **/
define('DBPLUS_ERR_RESTRICTED', 0);
/**
 * TCL_error
 **/
define('DBPLUS_ERR_TCL', 0);
define('DBPLUS_ERR_UNKNOWN', 0);
/**
 * An error in the use of the library by an application programmer
 **/
define('DBPLUS_ERR_USER', 0);
/**
 * File is a very old relation
 **/
define('DBPLUS_ERR_VERSION', 0);
/**
 * Wait a little (Simple only)
 **/
define('DBPLUS_ERR_WAIT', 0);
/**
 * The Simple routines encountered a non fatal error which was corrected
 **/
define('DBPLUS_ERR_WARNING0', 0);
/**
 * The record is write locked
 **/
define('DBPLUS_ERR_WLOCKED', 0);
/**
 * Relation already opened for writing
 **/
define('DBPLUS_ERR_WOPEN', 0);
/**
 * Write error on relation
 **/
define('DBPLUS_ERR_WRITE', 0);
define('DBX_CMP_ASC', 0);
define('DBX_CMP_DESC', 0);
define('DBX_CMP_NATIVE', 0);
define('DBX_CMP_NUMBER', 0);
define('DBX_CMP_TEXT', 0);
define('DBX_COLNAMES_LOWERCASE', 0);
define('DBX_COLNAMES_UNCHANGED', 0);
define('DBX_COLNAMES_UPPERCASE', 0);
define('DBX_FBSQL', 0);
define('DBX_MSSQL', 0);
define('DBX_MYSQL', 0);
define('DBX_OCI8', 0);
define('DBX_ODBC', 0);
define('DBX_PERSISTENT', 0);
define('DBX_PGSQL', 0);
define('DBX_RESULT_ASSOC', 0);
define('DBX_RESULT_INDEX', 0);
define('DBX_RESULT_INFO', 0);
define('DBX_RESULT_UNBUFFERED', 0);
define('DBX_SQLITE', 0);
define('DBX_SYBASECT', 0);
define('DEFAULT_INCLUDE_PATH', '');
define('DIRECTORY_SEPARATOR', '');
/**
 * A return error that indicates a divide by zero error.
 **/
define('DISP_E_DIVBYZERO', 0);
/**
 * An error that indicates that a value could not be coerced to its
 * expected representation.
 **/
define('DISP_E_OVERFLOW', 0);
define('DNS_A', 0);
define('DNS_AAAA', 0);
define('DNS_ALL', 0);
define('DNS_ANY', 0);
define('DNS_CAA', 0);
define('DNS_CNAME', 0);
define('DNS_HINFO', 0);
define('DNS_MX', 0);
define('DNS_NS', 0);
define('DNS_PTR', 0);
define('DNS_SOA', 0);
define('DNS_TXT', 0);
define('DOMSTRING_SIZE_ERR', 0);
/**
 * If any node is inserted somewhere it doesn't belong
 **/
define('DOM_HIERARCHY_REQUEST_ERR', 0);
/**
 * If index or size is negative, or greater than the allowed value.
 **/
define('DOM_INDEX_SIZE_ERR', 0);
/**
 * If an attempt is made to add an attribute that is already in use
 * elsewhere.
 **/
define('DOM_INUSE_ATTRIBUTE_ERR', 0);
/**
 * If a parameter or an operation is not supported by the underlying
 * object.
 **/
define('DOM_INVALID_ACCESS_ERR', 0);
/**
 * If an invalid or illegal character is specified, such as in a name.
 **/
define('DOM_INVALID_CHARACTER_ERR', 0);
/**
 * If an attempt is made to modify the type of the underlying object.
 **/
define('DOM_INVALID_MODIFICATION_ERR', 0);
/**
 * If an attempt is made to use an object that is not, or is no longer,
 * usable.
 **/
define('DOM_INVALID_STATE_ERR', 0);
/**
 * If an attempt is made to create or change an object in a way which is
 * incorrect with regard to namespaces.
 **/
define('DOM_NAMESPACE_ERR', 0);
/**
 * If an attempt is made to reference a node in a context where it does
 * not exist.
 **/
define('DOM_NOT_FOUND_ERR', 0);
/**
 * If the implementation does not support the requested type of object or
 * operation.
 **/
define('DOM_NOT_SUPPORTED_ERR', 0);
/**
 * If data is specified for a node which does not support data.
 **/
define('DOM_NO_DATA_ALLOWED_ERR', 0);
/**
 * If an attempt is made to modify an object where modifications are not
 * allowed.
 **/
define('DOM_NO_MODIFICATION_ALLOWED_ERR', 0);
/**
 * Error code not part of the DOM specification. Meant for PHP errors.
 **/
define('DOM_PHP_ERR', 0);
/**
 * If an invalid or illegal string is specified.
 **/
define('DOM_SYNTAX_ERR', 0);
/**
 * If a call to a method such as insertBefore or removeChild would make
 * the Node invalid with respect to "partial validity", this exception
 * would be raised and the operation would not be done.
 **/
define('DOM_VALIDATION_ERR', 0);
/**
 * If a node is used in a different document than the one that created
 * it.
 **/
define('DOM_WRONG_DOCUMENT_ERR', 0);
define('ENC7BIT', 0);
define('ENC8BIT', 0);
define('ENCBASE64', 0);
define('ENCBINARY', 0);
define('ENCOTHER', 0);
define('ENCQUOTEDPRINTABLE', 0);
define('ENT_COMPAT', 0);
define('ENT_DISALLOWED', 0);
define('ENT_HTML5', 0);
define('ENT_HTML401', 0);
define('ENT_IGNORE', 0);
define('ENT_NOQUOTES', 0);
define('ENT_QUOTES', 0);
define('ENT_SUBSTITUTE', 0);
define('ENT_XHTML', 0);
define('ENT_XML1', 0);
define('ERROR_TRACE', 0);
define('EVLOOP_NONBLOCK', 0);
define('EVLOOP_ONCE', 0);
define('EV_PERSIST', 0);
define('EV_READ', 0);
define('EV_SIGNAL', 0);
define('EV_TIMEOUT', 0);
define('EV_WRITE', 0);
define('EXPIRED_SESSION_STATE', 0);
define('EXP_EOF', 0);
define('EXP_EXACT', 0);
define('EXP_FULLBUFFER', 0);
define('EXP_GLOB', 0);
define('EXP_REGEXP', 0);
define('EXP_TIMEOUT', 0);
define('EXTR_IF_EXISTS', 0);
define('EXTR_OVERWRITE', 0);
define('EXTR_PREFIX_ALL', 0);
define('EXTR_PREFIX_IF_EXISTS', 0);
define('EXTR_PREFIX_INVALID', 0);
define('EXTR_PREFIX_SAME', 0);
define('EXTR_REFS', 0);
define('EXTR_SKIP', 0);
/**
 * 32767 in PHP 5.4.x, 30719 in PHP 5.3.x, 6143 in PHP 5.2.x, 2047
 * previously
 **/
define('E_ALL', 0);
define('E_COMPILE_ERROR', 0);
define('E_COMPILE_WARNING', 0);
define('E_CORE_ERROR', 0);
define('E_CORE_WARNING', 0);
/**
 * Since PHP 5.3.0
 **/
define('E_DEPRECATED', 0);
define('E_ERROR', 0);
define('E_NOTICE', 0);
define('E_PARSE', 0);
/**
 * Since PHP 5.2.0
 **/
define('E_RECOVERABLE_ERROR', 0);
define('E_STRICT', 0);
/**
 * Since PHP 5.3.0
 **/
define('E_USER_DEPRECATED', 0);
define('E_USER_ERROR', 0);
define('E_USER_NOTICE', 0);
define('E_USER_WARNING', 0);
define('E_WARNING', 0);
define('FAMAcknowledge', 0);
define('FAMChanged', 0);
define('FAMCreated', 0);
define('FAMDeleted', 0);
define('FAMEndExist', 0);
define('FAMExists', 0);
define('FAMMoved', 0);
define('FAMStartExecuting', 0);
define('FAMStopExecuting', 0);
define('FBSQL_ASSOC', 0);
define('FBSQL_BOTH', 0);
define('FBSQL_ISO_READ_COMMITTED', 0);
define('FBSQL_ISO_READ_UNCOMMITTED', 0);
define('FBSQL_ISO_REPEATABLE_READ', 0);
define('FBSQL_ISO_SERIALIZABLE', 0);
define('FBSQL_ISO_VERSIONED', 0);
define('FBSQL_LOB_DIRECT', 0);
define('FBSQL_LOB_HANDLE', 0);
define('FBSQL_LOCK_DEFERRED', 0);
define('FBSQL_LOCK_OPTIMISTIC', 0);
define('FBSQL_LOCK_PESSIMISTIC', 0);
define('FBSQL_NOEXEC', 0);
define('FBSQL_NUM', 0);
define('FBSQL_RUNNING', 0);
define('FBSQL_STARTING', 0);
define('FBSQL_STOPPED', 0);
define('FBSQL_STOPPING', 0);
define('FBSQL_UNKNOWN', 0);
define('FDFAA', 0);
define('FDFAction', 0);
define('FDFAP', 0);
define('FDFAPRef', 0);
define('FDFAS', 0);
define('FDFCalculate', 0);
define('FDFClearFf', 0);
define('FDFClrF', 0);
define('FDFDown', 0);
define('FDFDownAP', 0);
define('FDFEnter', 0);
define('FDFExit', 0);
define('FDFFf', 0);
define('FDFFile', 0);
define('FDFFlags', 0);
define('FDFFormat', 0);
define('FDFID', 0);
define('FDFIF', 0);
define('FDFKeystroke', 0);
define('FDFNormalAP', 0);
define('FDFRolloverAP', 0);
define('FDFSetF', 0);
define('FDFSetFf', 0);
define('FDFStatus', 0);
define('FDFUp', 0);
define('FDFValidate', 0);
define('FDFValue', 0);
define('FILEINFO_COMPRESS', 0);
define('FILEINFO_CONTINUE', 0);
define('FILEINFO_DEVICES', 0);
define('FILEINFO_EXTENSION', 0);
define('FILEINFO_MIME', 0);
define('FILEINFO_MIME_ENCODING', 0);
define('FILEINFO_MIME_TYPE', 0);
define('FILEINFO_NONE', 0);
define('FILEINFO_PRESERVE_ATIME', 0);
define('FILEINFO_RAW', 0);
define('FILEINFO_SYMLINK', 0);
define('FILE_APPEND', 0);
define('FILE_BINARY', 0);
define('FILE_IGNORE_NEW_LINES', 0);
define('FILE_NO_DEFAULT_CONTEXT', 0);
define('FILE_SKIP_EMPTY_LINES', 0);
define('FILE_TEXT', 0);
define('FILE_USE_INCLUDE_PATH', 0);
define('FILTER_CALLBACK', 0);
define('FILTER_DEFAULT', 0);
define('FILTER_FLAG_ALLOW_FRACTION', 0);
define('FILTER_FLAG_ALLOW_HEX', 0);
define('FILTER_FLAG_ALLOW_OCTAL', 0);
define('FILTER_FLAG_ALLOW_SCIENTIFIC', 0);
define('FILTER_FLAG_ALLOW_THOUSAND', 0);
define('FILTER_FLAG_EMAIL_UNICODE', 0);
define('FILTER_FLAG_EMPTY_STRING_NULL', 0);
define('FILTER_FLAG_ENCODE_AMP', 0);
define('FILTER_FLAG_ENCODE_HIGH', 0);
define('FILTER_FLAG_ENCODE_LOW', 0);
define('FILTER_FLAG_IPV4', 0);
define('FILTER_FLAG_IPV6', 0);
define('FILTER_FLAG_NONE', 0);
define('FILTER_FLAG_NO_ENCODE_QUOTES', 0);
define('FILTER_FLAG_NO_PRIV_RANGE', 0);
define('FILTER_FLAG_NO_RES_RANGE', 0);
define('FILTER_FLAG_PATH_REQUIRED', 0);
define('FILTER_FLAG_QUERY_REQUIRED', 0);
define('FILTER_FLAG_STRIP_HIGH', 0);
define('FILTER_FLAG_STRIP_LOW', 0);
define('FILTER_FORCE_ARRAY', 0);
define('FILTER_NULL_ON_FAILURE', 0);
define('FILTER_REQUIRE_ARRAY', 0);
define('FILTER_REQUIRE_SCALAR', 0);
define('FILTER_SANITIZE_EMAIL', 0);
define('FILTER_SANITIZE_ENCODED', 0);
define('FILTER_SANITIZE_MAGIC_QUOTES', 0);
define('FILTER_SANITIZE_NUMBER_FLOAT', 0);
define('FILTER_SANITIZE_NUMBER_INT', 0);
define('FILTER_SANITIZE_SPECIAL_CHARS', 0);
define('FILTER_SANITIZE_STRING', 0);
define('FILTER_SANITIZE_STRIPPED', 0);
define('FILTER_SANITIZE_URL', 0);
define('FILTER_UNSAFE_RAW', 0);
define('FILTER_VALIDATE_BOOLEAN', 0);
define('FILTER_VALIDATE_EMAIL', 0);
define('FILTER_VALIDATE_FLOAT', 0);
define('FILTER_VALIDATE_INT', 0);
define('FILTER_VALIDATE_IP', 0);
define('FILTER_VALIDATE_MAC', 0);
define('FILTER_VALIDATE_REGEXP', 0);
define('FILTER_VALIDATE_URL', 0);
define('FNM_CASEFOLD', 0);
define('FNM_NOESCAPE', 0);
define('FNM_PATHNAME', 0);
define('FNM_PERIOD', 0);
define('FORCE_DEFLATE', 0);
define('FORCE_GZIP', 0);
define('FPE_FLTDIV', 0);
define('FPE_FLTINV', 0);
define('FPE_FLTOVF', 0);
define('FPE_FLTRES', 0);
define('FPE_FLTSUB', 0);
define('FPE_FLTUND', 0);
define('FPE_INTDIV', 0);
define('FPE_INTOVF', 0);
define('FRIBIDI_AUTO', 0);
define('FRIBIDI_CHARSET_8859_6', 0);
define('FRIBIDI_CHARSET_8859_8', 0);
define('FRIBIDI_CHARSET_CAP_RTL', 0);
define('FRIBIDI_CHARSET_CP1255', 0);
define('FRIBIDI_CHARSET_CP1256', 0);
define('FRIBIDI_CHARSET_ISIRI_3342', 0);
define('FRIBIDI_CHARSET_UTF8', 0);
define('FRIBIDI_LTR', 0);
define('FRIBIDI_RTL', 0);
define('FTP_ASCII', 0);
define('FTP_AUTORESUME', 0);
define('FTP_AUTOSEEK', 0);
define('FTP_BINARY', 0);
define('FTP_FAILED', 0);
define('FTP_FINISHED', 0);
define('FTP_IMAGE', 0);
define('FTP_MOREDATA', 0);
define('FTP_TEXT', 0);
define('FTP_TIMEOUT_SEC', 0);
define('FT_INTERNAL', 0);
define('FT_NOT', 0);
define('FT_PEEK', 0);
define('FT_PREFETCHTEXT', 0);
define('FT_UID', 0);
define('FUNCTION_TRACE', 0);
define('F_DUPFD', 0);
define('F_GETFD', 0);
define('F_GETFL', 0);
define('F_GETLK', 0);
define('F_GETOWN', 0);
define('F_RDLCK', 0);
define('F_SETFL', 0);
define('F_SETLK', 0);
define('F_SETLKW', 0);
define('F_SETOWN', 0);
define('F_UNLCK', 0);
define('F_WRLCK', 0);
define('GD_BUNDLED', 0);
define('GD_EXTRA_VERSION', '');
define('GD_MAJOR_VERSION', 0);
define('GD_MINOR_VERSION', 0);
define('GD_RELEASE_VERSION', 0);
define('GD_VERSION', '');
define('GEOIP_ASNUM_EDITION', 0);
define('GEOIP_CITY_EDITION_REV0', 0);
define('GEOIP_CITY_EDITION_REV1', 0);
define('GEOIP_COUNTRY_EDITION', 0);
define('GEOIP_DOMAIN_EDITION', 0);
define('GEOIP_ISP_EDITION', 0);
define('GEOIP_NETSPEED_EDITION', 0);
define('GEOIP_ORG_EDITION', 0);
define('GEOIP_PROXY_EDITION', 0);
define('GEOIP_REGION_EDITION_REV0', 0);
define('GEOIP_REGION_EDITION_REV1', 0);
define('GET_MATCH', 0);
define('GLOB_AVAILABLE_FLAGS', 0);
define('GLOB_BRACE', 0);
define('GLOB_MARK', 0);
define('GLOB_NOCHECK', 0);
define('GLOB_NOESCAPE', 0);
define('GLOB_NOSORT', 0);
define('GLOB_ONLYDIR', 0);
define('GMP_BIG_ENDIAN', 0);
define('GMP_LITTLE_ENDIAN', 0);
define('GMP_LSW_FIRST', 0);
define('GMP_MSW_FIRST', 0);
define('GMP_NATIVE_ENDIAN', 0);
define('GMP_ROUND_MINUSINF', 0);
define('GMP_ROUND_PLUSINF', 0);
define('GMP_ROUND_ZERO', 0);
define('GMP_VERSION', '');
define('GNUPG_ERROR_EXCEPTION', 0);
define('GNUPG_ERROR_SILENT', 0);
define('GNUPG_ERROR_WARNING', 0);
define('GNUPG_PROTOCOL_CMS', 0);
define('GNUPG_PROTOCOL_OpenPGP', 0);
define('GNUPG_SIGSUM_BAD_POLICY', 0);
define('GNUPG_SIGSUM_CRL_MISSING', 0);
define('GNUPG_SIGSUM_CRL_TOO_OLD', 0);
define('GNUPG_SIGSUM_GREEN', 0);
define('GNUPG_SIGSUM_KEY_EXPIRED', 0);
define('GNUPG_SIGSUM_KEY_MISSING', 0);
define('GNUPG_SIGSUM_KEY_REVOKED', 0);
define('GNUPG_SIGSUM_RED', 0);
define('GNUPG_SIGSUM_SIG_EXPIRED', 0);
define('GNUPG_SIGSUM_SYS_ERROR', 0);
define('GNUPG_SIGSUM_VALID', 0);
define('GNUPG_SIG_MODE_CLEAR', 0);
define('GNUPG_SIG_MODE_DETACH', 0);
define('GNUPG_SIG_MODE_NORMAL', 0);
define('GNUPG_VALIDITY_FULL', 0);
define('GNUPG_VALIDITY_MARGINAL', 0);
define('GNUPG_VALIDITY_NEVER', 0);
define('GNUPG_VALIDITY_ULTIMATE', 0);
define('GNUPG_VALIDITY_UNDEFINED', 0);
define('GNUPG_VALIDITY_UNKNOWN', 0);
define('GOPHER_BINARY', 0);
define('GOPHER_BINHEX', 0);
define('GOPHER_DIRECTORY', 0);
define('GOPHER_DOCUMENT', 0);
define('GOPHER_DOSBINARY', 0);
define('GOPHER_HTTP', 0);
define('GOPHER_INFO', 0);
define('GOPHER_UNKNOWN', 0);
define('GOPHER_UUENCODED', 0);
define('GSLC_SSL_NO_AUTH', 0);
define('GSLC_SSL_ONEWAY_AUTH', 0);
define('GSLC_SSL_TWOWAY_AUTH', 0);
define('HASH_HMAC', 0);
define('HTML_ENTITIES', 0);
define('HTML_SPECIALCHARS', 0);
define('IBASE_REC_VERSION', 0);
define('IBASE_TEXT', 0);
define('ICONV_IMPL', 0);
define('ICONV_MIME_DECODE_CONTINUE_ON_ERROR', 0);
define('ICONV_MIME_DECODE_STRICT', 0);
define('ICONV_VERSION', 0);
define('IFX_HOLD', 0);
define('IFX_LO_APPEND', 0);
define('IFX_LO_BUFFER', 0);
define('IFX_LO_NOBUFFER', 0);
define('IFX_LO_RDONLY', 0);
define('IFX_LO_RDWR', 0);
define('IFX_LO_WRONLY', 0);
define('IFX_SCROLL', 0);
define('IIS_ANONYMOUS', 0);
define('IIS_BASIC', 0);
define('IIS_EXECUTE', 0);
define('IIS_NTLM', 0);
define('IIS_PAUSED', 0);
define('IIS_READ', 0);
define('IIS_RUNNING', 0);
define('IIS_SCRIPT', 0);
define('IIS_STARTING', 0);
define('IIS_STOPPED', 0);
define('IIS_WRITE', 0);
define('ILL_BADSTK', 0);
define('ILL_COPROC', 0);
define('ILL_ILLADR', 0);
define('ILL_ILLOPC', 0);
define('ILL_ILLOPN', 0);
define('ILL_ILLTRP', 0);
define('ILL_PRVOPC', 0);
define('ILL_PRVREG', 0);
define('IMAGETYPE_BMP', 0);
define('IMAGETYPE_GIF', 0);
define('IMAGETYPE_ICO', 0);
define('IMAGETYPE_IFF', 0);
define('IMAGETYPE_JB2', 0);
define('IMAGETYPE_JP2', 0);
define('IMAGETYPE_JPC', 0);
define('IMAGETYPE_JPEG', 0);
define('IMAGETYPE_JPEG2000', 0);
define('IMAGETYPE_JPX', 0);
define('IMAGETYPE_PNG', 0);
define('IMAGETYPE_PSD', 0);
define('IMAGETYPE_SWC', 0);
define('IMAGETYPE_SWF', 0);
define('IMAGETYPE_TIFF_II', 0);
define('IMAGETYPE_TIFF_MM', 0);
define('IMAGETYPE_WBMP', 0);
define('IMAGETYPE_WEBP', 0);
define('IMAGETYPE_XBM', 0);
define('IMAP_CLOSETIMEOUT', 0);
define('IMAP_GC_ELT', 0);
define('IMAP_GC_ENV', 0);
define('IMAP_GC_TEXTS', 0);
define('IMAP_OPENTIMEOUT', 0);
define('IMAP_READTIMEOUT', 0);
define('IMAP_WRITETIMEOUT', 0);
define('IMG_AFFINE_ROTATE', 0);
define('IMG_AFFINE_SCALE', 0);
define('IMG_AFFINE_SHEAR_HORIZONTAL', 0);
define('IMG_AFFINE_SHEAR_VERTICAL', 0);
define('IMG_AFFINE_TRANSLATE', 0);
define('IMG_ARC_CHORD', 0);
define('IMG_ARC_EDGED', 0);
define('IMG_ARC_NOFILL', 0);
define('IMG_ARC_PIE', 0);
define('IMG_ARC_ROUNDED', 0);
define('IMG_BELL', 0);
define('IMG_BESSEL', 0);
define('IMG_BICUBIC', 0);
define('IMG_BICUBIC_FIXED', 0);
define('IMG_BILINEAR_FIXED', 0);
define('IMG_BLACKMAN', 0);
define('IMG_BMP', 0);
define('IMG_BOX', 0);
define('IMG_BSPLINE', 0);
define('IMG_CATMULLROM', 0);
define('IMG_COLOR_BRUSHED', 0);
define('IMG_COLOR_STYLED', 0);
define('IMG_COLOR_STYLEDBRUSHED', 0);
define('IMG_COLOR_TILED', 0);
define('IMG_COLOR_TRANSPARENT', 0);
define('IMG_EFFECT_ALPHABLEND', 0);
define('IMG_EFFECT_MULTIPLY', 0);
define('IMG_EFFECT_NORMAL', 0);
define('IMG_EFFECT_OVERLAY', 0);
define('IMG_EFFECT_REPLACE', 0);
define('IMG_FILTER_BRIGHTNESS', 0);
define('IMG_FILTER_COLORIZE', 0);
define('IMG_FILTER_CONTRAST', 0);
define('IMG_FILTER_EDGEDETECT', 0);
define('IMG_FILTER_EMBOSS', 0);
define('IMG_FILTER_GAUSSIAN_BLUR', 0);
define('IMG_FILTER_GRAYSCALE', 0);
define('IMG_FILTER_MEAN_REMOVAL', 0);
define('IMG_FILTER_NEGATE', 0);
define('IMG_FILTER_PIXELATE', 0);
define('IMG_FILTER_SELECTIVE_BLUR', 0);
define('IMG_FILTER_SMOOTH', 0);
define('IMG_FLIP_BOTH', 0);
define('IMG_FLIP_HORIZONTAL', 0);
define('IMG_FLIP_VERTICAL', 0);
define('IMG_GAUSSIAN', 0);
define('IMG_GD2_COMPRESSED', 0);
define('IMG_GD2_RAW', 0);
define('IMG_GENERALIZED_CUBIC', 0);
define('IMG_GIF', 0);
define('IMG_HAMMING', 0);
define('IMG_HANNING', 0);
define('IMG_HERMITE', 0);
define('IMG_JPEG', 0);
define('IMG_JPG', 0);
define('IMG_MITCHELL', 0);
define('IMG_NEAREST_NEIGHBOUR', 0);
define('IMG_PNG', 0);
define('IMG_POWER', 0);
define('IMG_QUADRATIC', 0);
define('IMG_SINC', 0);
define('IMG_TRIANGLE', 0);
define('IMG_WBMP', 0);
define('IMG_WEBP', 0);
define('IMG_WEIGHTED4', 0);
define('IMG_XPM', 0);
define('INF', 0);
define('INFO_ALL', 0);
define('INFO_CONFIGURATION', 0);
define('INFO_CREDITS', 0);
define('INFO_ENVIRONMENT', 0);
define('INFO_GENERAL', 0);
define('INFO_LICENSE', 0);
define('INFO_MODULES', 0);
define('INFO_VARIABLES', 0);
define('INGRES_API_VERSION', 0);
define('INGRES_ASSOC', 0);
define('INGRES_BOTH', 0);
define('INGRES_CURSOR_READONLY', 0);
define('INGRES_CURSOR_UPDATE', 0);
define('INGRES_DATE_DMY', 0);
define('INGRES_DATE_FINNISH', 0);
define('INGRES_DATE_GERMAN', 0);
define('INGRES_DATE_ISO', 0);
define('INGRES_DATE_ISO4', 0);
define('INGRES_DATE_MDY', 0);
define('INGRES_DATE_MULTINATIONAL', 0);
define('INGRES_DATE_MULTINATIONAL4', 0);
define('INGRES_DATE_YMD', 0);
define('INGRES_EXT_VERSION', '');
define('INGRES_MONEY_LEADING', 0);
define('INGRES_MONEY_TRAILING', 0);
define('INGRES_NUM', 0);
define('INGRES_STRUCTURE_BTREE', 0);
define('INGRES_STRUCTURE_CBTREE', 0);
define('INGRES_STRUCTURE_CHASH', 0);
define('INGRES_STRUCTURE_CHEAP', 0);
define('INGRES_STRUCTURE_CISAM', 0);
define('INGRES_STRUCTURE_HASH', 0);
define('INGRES_STRUCTURE_HEAP', 0);
define('INGRES_STRUCTURE_ISAM', 0);
define('INI_SCANNER_NORMAL', 0);
define('INI_SCANNER_RAW', 0);
define('INI_SCANNER_TYPED', 0);
define('INPUT_COOKIE', 0);
define('INPUT_ENV', 0);
define('INPUT_GET', 0);
define('INPUT_POST', 0);
define('INPUT_REQUEST', 0);
define('INPUT_SERVER', 0);
define('INPUT_SESSION', 0);
define('IN_ACCESS', 0);
define('IN_ALL_EVENTS', 0);
define('IN_ATTRIB', 0);
define('IN_CLOSE', 0);
define('IN_CLOSE_NOWRITE', 0);
define('IN_CLOSE_WRITE', 0);
define('IN_CREATE', 0);
define('IN_DELETE', 0);
define('IN_DELETE_SELF', 0);
define('IN_DONT_FOLLOW', 0);
define('IN_IGNORED', 0);
define('IN_ISDIR', 0);
define('IN_MASK_ADD', 0);
define('IN_MODIFY', 0);
define('IN_MOVE', 0);
define('IN_MOVED_FROM', 0);
define('IN_MOVED_TO', 0);
define('IN_MOVE_SELF', 0);
define('IN_ONESHOT', 0);
define('IN_ONLYDIR', 0);
define('IN_OPEN', 0);
define('IN_Q_OVERFLOW', 0);
define('IN_UNMOUNT', 0);
define('JSON_ERROR_CTRL_CHAR', 0);
define('JSON_ERROR_DEPTH', 0);
define('JSON_ERROR_INF_OR_NAN', 0);
define('JSON_ERROR_INVALID_PROPERTY_NAME', 0);
define('JSON_ERROR_NONE', 0);
define('JSON_ERROR_RECURSION', 0);
define('JSON_ERROR_STATE_MISMATCH', 0);
define('JSON_ERROR_SYNTAX', 0);
define('JSON_ERROR_UNSUPPORTED_TYPE', 0);
define('JSON_ERROR_UTF8', 0);
define('JSON_ERROR_UTF16', 0);
define('LATT_HASCHILDREN', 0);
define('LATT_HASNOCHILDREN', 0);
define('LATT_MARKED', 0);
define('LATT_NOINFERIORS', 0);
define('LATT_NOSELECT', 0);
define('LATT_REFERRAL', 0);
define('LATT_UNMARKED', 0);
define('LC_ALL', 0);
define('LC_COLLATE', 0);
define('LC_CTYPE', 0);
define('LC_MESSAGES', 0);
define('LC_MONETARY', 0);
define('LC_NUMERIC', 0);
define('LC_TIME', 0);
define('LDAP_DEREF_ALWAYS', 0);
define('LDAP_DEREF_FINDING', 0);
define('LDAP_DEREF_NEVER', 0);
define('LDAP_DEREF_SEARCHING', 0);
define('LDAP_EXOP_MODIFY_PASSWD', '');
define('LDAP_EXOP_REFRESH', '');
define('LDAP_EXOP_START_TLS', '');
define('LDAP_EXOP_TURN', '');
define('LDAP_EXOP_WHO_AM_I', '');
define('LDAP_OPT_CLIENT_CONTROLS', 0);
define('LDAP_OPT_DEBUG_LEVEL', 0);
define('LDAP_OPT_DEREF', 0);
define('LDAP_OPT_DIAGNOSTIC_MESSAGE', 0);
define('LDAP_OPT_ERROR_NUMBER', 0);
define('LDAP_OPT_ERROR_STRING', 0);
define('LDAP_OPT_HOST_NAME', 0);
define('LDAP_OPT_MATCHED_DN', 0);
define('LDAP_OPT_NETWORK_TIMEOUT', 0);
define('LDAP_OPT_PROTOCOL_VERSION', 0);
define('LDAP_OPT_REFERRALS', 0);
define('LDAP_OPT_RESTART', 0);
define('LDAP_OPT_SERVER_CONTROLS', 0);
define('LDAP_OPT_SIZELIMIT', 0);
define('LDAP_OPT_TIMELIMIT', 0);
define('LDAP_OPT_X_KEEPALIVE_IDLE', 0);
define('LDAP_OPT_X_KEEPALIVE_INTERVAL', 0);
define('LDAP_OPT_X_KEEPALIVE_PROBES', 0);
define('LDAP_OPT_X_TLS_CACERTDIR', '');
define('LDAP_OPT_X_TLS_CACERTFILE', '');
define('LDAP_OPT_X_TLS_CERTFILE', '');
define('LDAP_OPT_X_TLS_CIPHER_SUITE', '');
define('LDAP_OPT_X_TLS_CRLCHECK', 0);
define('LDAP_OPT_X_TLS_CRLFILE', '');
define('LDAP_OPT_X_TLS_DHFILE', '');
define('LDAP_OPT_X_TLS_KEYFILE', '');
define('LDAP_OPT_X_TLS_PROTOCOL_MIN', 0);
define('LDAP_OPT_X_TLS_RANDOM_FILE', '');
define('LDAP_OPT_X_TLS_REQUIRE_CERT', 0);
define('LIBEXSLT_DOTTED_VERSION', '');
define('LIBEXSLT_VERSION', 0);
define('LIBXML_BIGLINES', 0);
define('LIBXML_COMPACT', 0);
define('LIBXML_DOTTED_VERSION', '');
define('LIBXML_DTDATTR', 0);
define('LIBXML_DTDLOAD', 0);
define('LIBXML_DTDVALID', 0);
define('LIBXML_ERR_ERROR', 0);
define('LIBXML_ERR_FATAL', 0);
define('LIBXML_ERR_NONE', 0);
define('LIBXML_ERR_WARNING', 0);
define('LIBXML_HTML_NODEFDTD', 0);
define('LIBXML_HTML_NOIMPLIED', 0);
define('LIBXML_NOBLANKS', 0);
define('LIBXML_NOCDATA', 0);
define('LIBXML_NOEMPTYTAG', 0);
define('LIBXML_NOENT', 0);
define('LIBXML_NOERROR', 0);
define('LIBXML_NONET', 0);
define('LIBXML_NOWARNING', 0);
define('LIBXML_NOXMLDECL', 0);
define('LIBXML_NSCLEAN', 0);
define('LIBXML_PARSEHUGE', 0);
define('LIBXML_PEDANTIC', 0);
define('LIBXML_SCHEMA_CREATE', 0);
define('LIBXML_VERSION', 0);
define('LIBXML_XINCLUDE', 0);
define('LIBXSLT_DOTTED_VERSION', '');
define('LIBXSLT_VERSION', 0);
define('LOCK_EX', 0);
define('LOCK_NB', 0);
define('LOCK_SH', 0);
define('LOCK_UN', 0);
define('LOG_ALERT', 0);
define('LOG_AUTH', 0);
define('LOG_AUTHPRIV', 0);
define('LOG_CONS', 0);
define('LOG_CRIT', 0);
define('LOG_CRON', 0);
define('LOG_DAEMON', 0);
define('LOG_DEBUG', 0);
define('LOG_EMERG', 0);
define('LOG_ERR', 0);
define('LOG_INFO', 0);
define('LOG_KERN', 0);
define('LOG_LEVEL_DEBUG', 0);
define('LOG_LEVEL_ERROR', 0);
define('LOG_LEVEL_INFO', 0);
define('LOG_LEVEL_WARN', 0);
define('LOG_LOCAL0 ... LOG_LOCAL7', 0);
define('LOG_LPR', 0);
define('LOG_MAIL', 0);
define('LOG_NDELAY', 0);
define('LOG_NEWS', 0);
define('LOG_NOTICE', 0);
define('LOG_NOWAIT', 0);
define('LOG_ODELAY', 0);
define('LOG_PERROR', 0);
define('LOG_PID', 0);
define('LOG_SYSLOG', 0);
define('LOG_USER', 0);
define('LOG_UUCP', 0);
define('LOG_WARNING', 0);
define('MAILPARSE_EXTRACT_OUTPUT', 0);
define('MAILPARSE_EXTRACT_RETURN', 0);
define('MAILPARSE_EXTRACT_STREAM', 0);
define('MATCH', 0);
define('MB_CASE_LOWER', 0);
define('MB_CASE_TITLE', 0);
define('MB_CASE_UPPER', 0);
define('MB_OVERLOAD_MAIL', 0);
define('MB_OVERLOAD_REGEX', 0);
define('MB_OVERLOAD_STRING', 0);
define('MEMCACHE_COMPRESSED', 0);
define('MEMCACHE_HAVE_SESSION', 0);
define('MEMCACHE_USER1', 0);
define('MEMCACHE_USER2', 0);
define('MEMCACHE_USER3', 0);
define('MEMCACHE_USER4', 0);
define('MEMORY_TRACE', 0);
define('MING_NEW', 0);
define('MING_ZLIB', 0);
/**
 * iMoniker COM status code, return on errors where the function call
 * failed due to unavailability.
 **/
define('MK_E_UNAVAILABLE', 0);
define('MSG_DONTROUTE', 0);
define('MSG_EOF', 0);
define('MSG_EOR', 0);
define('MSG_OOB', 0);
define('MSG_PEEK', 0);
define('MSG_WAITALL', 0);
define('MSQL_ASSOC', 0);
define('MSQL_BOTH', 0);
define('MSQL_NUM', 0);
define('MSSQL_ASSOC', 0);
define('MSSQL_BOTH', 0);
define('MSSQL_NUM', 0);
define('MYSQLI_ASSOC', 0);
define('MYSQLI_AUTO_INCREMENT_FLAG', 0);
define('MYSQLI_BINARY_FLAG', 0);
define('MYSQLI_BLOB_FLAG', 0);
define('MYSQLI_BOTH', 0);
define('MYSQLI_CLIENT_COMPRESS', 0);
define('MYSQLI_CLIENT_IGNORE_SPACE', 0);
define('MYSQLI_CLIENT_INTERACTIVE', 0);
define('MYSQLI_CLIENT_MULTI_QUERIES', 0);
define('MYSQLI_CLIENT_NO_SCHEMA', 0);
define('MYSQLI_CLIENT_SSL', 0);
define('MYSQLI_CURSOR_TYPE_FOR_UPDATE', 0);
define('MYSQLI_CURSOR_TYPE_NO_CURSOR', 0);
define('MYSQLI_CURSOR_TYPE_READ_ONLY', 0);
define('MYSQLI_CURSOR_TYPE_SCROLLABLE', 0);
define('MYSQLI_DATA_TRUNCATED', 0);
define('MYSQLI_DEBUG_TRACE_ENABLED', 0);
define('MYSQLI_ENUM_FLAG', 0);
define('MYSQLI_GROUP_FLAG', 0);
define('MYSQLI_INIT_COMMAND', 0);
define('MYSQLI_MULTIPLE_KEY_FLAG', 0);
define('MYSQLI_NEED_DATA', 0);
define('MYSQLI_NOT_NULL_FLAG', 0);
define('MYSQLI_NO_DATA', 0);
define('MYSQLI_NUM', 0);
define('MYSQLI_NUM_FLAG', 0);
define('MYSQLI_OPT_CONNECT_TIMEOUT', 0);
define('MYSQLI_OPT_LOCAL_INFILE', 0);
define('MYSQLI_PART_KEY_FLAG', 0);
define('MYSQLI_PRI_KEY_FLAG', 0);
define('MYSQLI_READ_DEFAULT_FILE', 0);
define('MYSQLI_READ_DEFAULT_GROUP', 0);
define('MYSQLI_REFRESH_GRANT', 0);
define('MYSQLI_REFRESH_HOSTS', 0);
define('MYSQLI_REFRESH_LOG', 0);
define('MYSQLI_REFRESH_MASTER', 0);
define('MYSQLI_REFRESH_SLAVE', 0);
define('MYSQLI_REFRESH_STATUS', 0);
define('MYSQLI_REFRESH_TABLES', 0);
define('MYSQLI_REFRESH_THREADS', 0);
define('MYSQLI_REPORT_ALL', 0);
define('MYSQLI_REPORT_ERROR', 0);
define('MYSQLI_REPORT_INDEX', 0);
define('MYSQLI_REPORT_OFF', 0);
define('MYSQLI_REPORT_STRICT', 0);
define('MYSQLI_SERVER_QUERY_NO_GOOD_INDEX_USED', 0);
define('MYSQLI_SERVER_QUERY_NO_INDEX_USED', 0);
define('MYSQLI_SET_CHARSET_NAME', 0);
define('MYSQLI_SET_FLAG', 0);
define('MYSQLI_STMT_ATTR_CURSOR_TYPE', 0);
define('MYSQLI_STMT_ATTR_PREFETCH_ROWS', 0);
define('MYSQLI_STMT_ATTR_UPDATE_MAX_LENGTH', 0);
define('MYSQLI_STORE_RESULT', 0);
define('MYSQLI_TIMESTAMP_FLAG', 0);
define('MYSQLI_TRANS_COR_AND_CHAIN', 0);
define('MYSQLI_TRANS_COR_AND_NO_CHAIN', 0);
define('MYSQLI_TRANS_COR_NO_RELEASE', 0);
define('MYSQLI_TRANS_COR_RELEASE', 0);
define('MYSQLI_TRANS_START_CONSISTENT_SNAPSHOT', 0);
define('MYSQLI_TRANS_START_READ_ONLY', 0);
define('MYSQLI_TRANS_START_READ_WRITE', 0);
define('MYSQLI_TYPE_BIT', 0);
define('MYSQLI_TYPE_BLOB', 0);
define('MYSQLI_TYPE_CHAR', 0);
define('MYSQLI_TYPE_DATE', 0);
define('MYSQLI_TYPE_DATETIME', 0);
define('MYSQLI_TYPE_DECIMAL', 0);
define('MYSQLI_TYPE_DOUBLE', 0);
define('MYSQLI_TYPE_ENUM', 0);
define('MYSQLI_TYPE_FLOAT', 0);
define('MYSQLI_TYPE_GEOMETRY', 0);
define('MYSQLI_TYPE_INT24', 0);
define('MYSQLI_TYPE_INTERVAL', 0);
define('MYSQLI_TYPE_LONG', 0);
define('MYSQLI_TYPE_LONGLONG', 0);
define('MYSQLI_TYPE_LONG_BLOB', 0);
define('MYSQLI_TYPE_MEDIUM_BLOB', 0);
define('MYSQLI_TYPE_NEWDATE', 0);
define('MYSQLI_TYPE_NEWDECIMAL', 0);
define('MYSQLI_TYPE_NULL', 0);
define('MYSQLI_TYPE_SET', 0);
define('MYSQLI_TYPE_SHORT', 0);
define('MYSQLI_TYPE_STRING', 0);
define('MYSQLI_TYPE_TIME', 0);
define('MYSQLI_TYPE_TIMESTAMP', 0);
define('MYSQLI_TYPE_TINY', 0);
define('MYSQLI_TYPE_TINY_BLOB', 0);
define('MYSQLI_TYPE_VAR_STRING', 0);
define('MYSQLI_TYPE_YEAR', 0);
define('MYSQLI_UNIQUE_KEY_FLAG', 0);
define('MYSQLI_UNSIGNED_FLAG', 0);
define('MYSQLI_USE_RESULT', 0);
define('MYSQLI_ZEROFILL_FLAG', 0);
define('MYSQLND_UH_VERSION_ID', 0);
define('MYSQL_ASSOC', 0);
define('MYSQL_BOTH', 0);
define('MYSQL_CLIENT_COMPRESS', 0);
define('MYSQL_CLIENT_IGNORE_SPACE', 0);
define('MYSQL_CLIENT_INTERACTIVE', 0);
define('MYSQL_CLIENT_SSL', 0);
define('MYSQL_NUM', 0);
define('M_1_PI', 0);
define('M_2_PI', 0);
define('M_2_SQRTPI', 0);
define('M_DONE', 0);
define('M_E', 0);
define('M_ERROR', 0);
define('M_EULER', 0);
define('M_FAIL', 0);
define('M_LN2', 0);
define('M_LN10', 0);
define('M_LNPI', 0);
define('M_LOG2E', 0);
define('M_LOG10E', 0);
define('M_PENDING', 0);
define('M_PI', 0);
define('M_PI_2', 0);
define('M_PI_4', 0);
define('M_SQRT1_2', 0);
define('M_SQRT2', 0);
define('M_SQRT3', 0);
define('M_SQRTPI', 0);
define('M_SUCCESS', 0);
define('NAN', 0);
define('NCURSES_ALL_MOUSE_EVENTS', 0);
define('NCURSES_BUTTON1_CLICKED', 0);
define('NCURSES_BUTTON1_DOUBLE_CLICKED', 0);
define('NCURSES_BUTTON1_PRESSED', 0);
define('NCURSES_BUTTON1_RELEASED', 0);
define('NCURSES_BUTTON1_TRIPLE_CLICKED', 0);
define('NCURSES_BUTTON_ALT', 0);
define('NCURSES_BUTTON_CTRL', 0);
define('NCURSES_BUTTON_SHIFT', 0);
define('NCURSES_COLOR_BLACK', 0);
define('NCURSES_COLOR_BLUE', 0);
define('NCURSES_COLOR_CYAN', 0);
define('NCURSES_COLOR_GREEN', 0);
define('NCURSES_COLOR_MAGENTA', 0);
define('NCURSES_COLOR_RED', 0);
define('NCURSES_COLOR_WHITE', 0);
define('NCURSES_COLOR_YELLOW', 0);
define('NCURSES_KEY_A1', 0);
define('NCURSES_KEY_A3', 0);
define('NCURSES_KEY_B2', 0);
define('NCURSES_KEY_BACKSPACE', 0);
define('NCURSES_KEY_BEG', 0);
define('NCURSES_KEY_BTAB', 0);
define('NCURSES_KEY_C1', 0);
define('NCURSES_KEY_C3', 0);
define('NCURSES_KEY_CANCEL', 0);
define('NCURSES_KEY_CATAB', 0);
define('NCURSES_KEY_CLEAR', 0);
define('NCURSES_KEY_CLOSE', 0);
define('NCURSES_KEY_COMMAND', 0);
define('NCURSES_KEY_COPY', 0);
define('NCURSES_KEY_CREATE', 0);
define('NCURSES_KEY_CTAB', 0);
define('NCURSES_KEY_DC', 0);
define('NCURSES_KEY_DL', 0);
define('NCURSES_KEY_DOWN', 0);
define('NCURSES_KEY_EIC', 0);
define('NCURSES_KEY_END', 0);
define('NCURSES_KEY_EOL', 0);
define('NCURSES_KEY_EOS', 0);
define('NCURSES_KEY_EXIT', 0);
define('NCURSES_KEY_F0', 0);
define('NCURSES_KEY_FIND', 0);
define('NCURSES_KEY_HELP', 0);
define('NCURSES_KEY_HOME', 0);
define('NCURSES_KEY_IC', 0);
define('NCURSES_KEY_IL', 0);
define('NCURSES_KEY_LEFT', 0);
define('NCURSES_KEY_LL', 0);
define('NCURSES_KEY_MARK', 0);
define('NCURSES_KEY_MAX', 0);
define('NCURSES_KEY_MESSAGE', 0);
define('NCURSES_KEY_MOUSE', 0);
define('NCURSES_KEY_MOVE', 0);
define('NCURSES_KEY_NEXT', 0);
define('NCURSES_KEY_NPAGE', 0);
define('NCURSES_KEY_OPEN', 0);
define('NCURSES_KEY_OPTIONS', 0);
define('NCURSES_KEY_PPAGE', 0);
define('NCURSES_KEY_PREVIOUS', 0);
define('NCURSES_KEY_PRINT', 0);
define('NCURSES_KEY_REDO', 0);
define('NCURSES_KEY_REFERENCE', 0);
define('NCURSES_KEY_REFRESH', 0);
define('NCURSES_KEY_REPLACE', 0);
define('NCURSES_KEY_RESET', 0);
define('NCURSES_KEY_RESTART', 0);
define('NCURSES_KEY_RESUME', 0);
define('NCURSES_KEY_RIGHT', 0);
define('NCURSES_KEY_SAVE', 0);
define('NCURSES_KEY_SBEG', 0);
define('NCURSES_KEY_SCANCEL', 0);
define('NCURSES_KEY_SCOMMAND', 0);
define('NCURSES_KEY_SCOPY', 0);
define('NCURSES_KEY_SCREATE', 0);
define('NCURSES_KEY_SDC', 0);
define('NCURSES_KEY_SDL', 0);
define('NCURSES_KEY_SELECT', 0);
define('NCURSES_KEY_SEND', 0);
define('NCURSES_KEY_SEOL', 0);
define('NCURSES_KEY_SEXIT', 0);
define('NCURSES_KEY_SF', 0);
define('NCURSES_KEY_SFIND', 0);
define('NCURSES_KEY_SHELP', 0);
define('NCURSES_KEY_SHOME', 0);
define('NCURSES_KEY_SIC', 0);
define('NCURSES_KEY_SLEFT', 0);
define('NCURSES_KEY_SMESSAGE', 0);
define('NCURSES_KEY_SMOVE', 0);
define('NCURSES_KEY_SNEXT', 0);
define('NCURSES_KEY_SOPTIONS', 0);
define('NCURSES_KEY_SPREVIOUS', 0);
define('NCURSES_KEY_SPRINT', 0);
define('NCURSES_KEY_SR', 0);
define('NCURSES_KEY_SREDO', 0);
define('NCURSES_KEY_SREPLACE', 0);
define('NCURSES_KEY_SRESET', 0);
define('NCURSES_KEY_SRIGHT', 0);
define('NCURSES_KEY_SRSUME', 0);
define('NCURSES_KEY_SSAVE', 0);
define('NCURSES_KEY_SSUSPEND', 0);
define('NCURSES_KEY_STAB', 0);
define('NCURSES_KEY_UNDO', 0);
define('NCURSES_KEY_UP', 0);
define('NCURSES_REPORT_MOUSE_POSITION', 0);
define('NEWT_ANCHOR_BOTTOM', 0);
define('NEWT_ANCHOR_LEFT', 0);
define('NEWT_ANCHOR_RIGHT', 0);
define('NEWT_ANCHOR_TOP', 0);
define('NEWT_ARG_APPEND', 0);
define('NEWT_ARG_LAST', 0);
define('NEWT_CHECKBOXTREE_COLLAPSED', 0);
define('NEWT_CHECKBOXTREE_EXPANDED', 0);
define('NEWT_CHECKBOXTREE_HIDE_BOX', 0);
define('NEWT_CHECKBOXTREE_SELECTED', 0);
define('NEWT_CHECKBOXTREE_UNSELECTABLE', 0);
define('NEWT_CHECKBOXTREE_UNSELECTED', 0);
define('NEWT_COLORSET_ACTBUTTON', 0);
define('NEWT_COLORSET_ACTCHECKBOX', 0);
define('NEWT_COLORSET_ACTLISTBOX', 0);
define('NEWT_COLORSET_ACTSELLISTBOX', 0);
define('NEWT_COLORSET_ACTTEXTBOX', 0);
define('NEWT_COLORSET_BORDER', 0);
define('NEWT_COLORSET_BUTTON', 0);
define('NEWT_COLORSET_CHECKBOX', 0);
define('NEWT_COLORSET_COMPACTBUTTON', 0);
define('NEWT_COLORSET_DISENTRY', 0);
define('NEWT_COLORSET_EMPTYSCALE', 0);
define('NEWT_COLORSET_ENTRY', 0);
define('NEWT_COLORSET_FULLSCALE', 0);
define('NEWT_COLORSET_HELPLINE', 0);
define('NEWT_COLORSET_LABEL', 0);
define('NEWT_COLORSET_LISTBOX', 0);
define('NEWT_COLORSET_ROOT', 0);
define('NEWT_COLORSET_ROOTTEXT', 0);
define('NEWT_COLORSET_SELLISTBOX', 0);
define('NEWT_COLORSET_SHADOW', 0);
define('NEWT_COLORSET_TEXTBOX', 0);
define('NEWT_COLORSET_TITLE', 0);
define('NEWT_COLORSET_WINDOW', 0);
define('NEWT_ENTRY_DISABLED', 0);
define('NEWT_ENTRY_HIDDEN', 0);
define('NEWT_ENTRY_RETURNEXIT', 0);
define('NEWT_ENTRY_SCROLL', 0);
define('NEWT_EXIT_COMPONENT', 0);
define('NEWT_EXIT_FDREADY', 0);
define('NEWT_EXIT_HOTKEY', 0);
define('NEWT_EXIT_TIMER', 0);
define('NEWT_FD_EXCEPT', 0);
define('NEWT_FD_READ', 0);
define('NEWT_FD_WRITE', 0);
define('NEWT_FLAGS_RESET', 0);
define('NEWT_FLAGS_SET', 0);
define('NEWT_FLAGS_TOGGLE', 0);
define('NEWT_FLAG_BORDER', 0);
define('NEWT_FLAG_CHECKBOX', 0);
define('NEWT_FLAG_DISABLED', 0);
define('NEWT_FLAG_HIDDEN', 0);
define('NEWT_FLAG_MULTIPLE', 0);
define('NEWT_FLAG_NOF12', 0);
define('NEWT_FLAG_PASSWORD', 0);
define('NEWT_FLAG_RETURNEXIT', 0);
define('NEWT_FLAG_SCROLL', 0);
define('NEWT_FLAG_SELECTED', 0);
define('NEWT_FLAG_SHOWCURSOR', 0);
define('NEWT_FLAG_WRAP', 0);
define('NEWT_FORM_NOF12', 0);
define('NEWT_GRID_COMPONENT', 0);
define('NEWT_GRID_EMPTY', 0);
define('NEWT_GRID_FLAG_GROWX', 0);
define('NEWT_GRID_FLAG_GROWY', 0);
define('NEWT_GRID_SUBGRID', 0);
define('NEWT_KEY_BKSPC', 0);
define('NEWT_KEY_DELETE', 0);
define('NEWT_KEY_DOWN', 0);
define('NEWT_KEY_END', 0);
define('NEWT_KEY_ENTER', 0);
define('NEWT_KEY_ESCAPE', 0);
define('NEWT_KEY_EXTRA_BASE', 0);
define('NEWT_KEY_F1', 0);
define('NEWT_KEY_F2', 0);
define('NEWT_KEY_F3', 0);
define('NEWT_KEY_F4', 0);
define('NEWT_KEY_F5', 0);
define('NEWT_KEY_F6', 0);
define('NEWT_KEY_F7', 0);
define('NEWT_KEY_F8', 0);
define('NEWT_KEY_F9', 0);
define('NEWT_KEY_F10', 0);
define('NEWT_KEY_F11', 0);
define('NEWT_KEY_F12', 0);
define('NEWT_KEY_HOME', 0);
define('NEWT_KEY_INSERT', 0);
define('NEWT_KEY_LEFT', 0);
define('NEWT_KEY_PGDN', 0);
define('NEWT_KEY_PGUP', 0);
define('NEWT_KEY_RESIZE', 0);
define('NEWT_KEY_RETURN', 0);
define('NEWT_KEY_RIGHT', 0);
define('NEWT_KEY_SUSPEND', 0);
define('NEWT_KEY_TAB', 0);
define('NEWT_KEY_UNTAB', 0);
define('NEWT_KEY_UP', 0);
define('NEWT_LISTBOX_RETURNEXIT', 0);
define('NEWT_TEXTBOX_SCROLL', 0);
define('NEWT_TEXTBOX_WRAP', 0);
define('NIL', 0);
/**
 * Ignore case sensitivity.
 **/
define('NORM_IGNORECASE', 0);
/**
 * Ignore Kana type.
 **/
define('NORM_IGNOREKANATYPE', 0);
/**
 * Ignore Arabic kashida characters.
 **/
define('NORM_IGNOREKASHIDA', 0);
/**
 * Ignore nonspacing characters.
 **/
define('NORM_IGNORENONSPACE', 0);
/**
 * Ignore symbols.
 **/
define('NORM_IGNORESYMBOLS', 0);
/**
 * Ignore string width.
 **/
define('NORM_IGNOREWIDTH', 0);
define('NOTCONNECTED_STATE', 0);
define('OCI_ASSOC', 0);
define('OCI_BOTH', 0);
define('OCI_B_BFILE', 0);
define('OCI_B_BIN', 0);
define('OCI_B_BLOB', 0);
define('OCI_B_BOL', 0);
define('OCI_B_CFILEE', 0);
define('OCI_B_CLOB', 0);
define('OCI_B_CURSOR', 0);
define('OCI_B_INT', 0);
define('OCI_B_NTY', 0);
define('OCI_B_NUM', 0);
define('OCI_B_ROWID', 0);
define('OCI_B_SQLT_NTY', 0);
define('OCI_COMMIT_ON_SUCCESS', 0);
define('OCI_CRED_EXT', 0);
define('OCI_DEFAULT', 0);
define('OCI_DESCRIBE_ONLY', 0);
define('OCI_DTYPE_FILE', 0);
define('OCI_DTYPE_LOB', 0);
define('OCI_DTYPE_ROWID', 0);
define('OCI_D_FILE', 0);
define('OCI_D_LOB', 0);
define('OCI_D_ROWID', 0);
define('OCI_EXACT_FETCH', 0);
define('OCI_FETCHSTATEMENT_BY_COLUMN', 0);
define('OCI_FETCHSTATEMENT_BY_ROW', 0);
define('OCI_LOB_BUFFER_FREE', 0);
define('OCI_NO_AUTO_COMMIT', 0);
define('OCI_NUM', 0);
define('OCI_RETURN_LOBS', 0);
define('OCI_RETURN_NULLS', 0);
define('OCI_SEEK_CUR', 0);
define('OCI_SEEK_END', 0);
define('OCI_SEEK_SET', 0);
define('OCI_SYSDATE', 0);
define('OCI_SYSDBA', 0);
define('OCI_SYSOPER', 0);
define('OCI_TEMP_BLOB', 0);
define('OCI_TEMP_CLOB', 0);
define('ODBC_BINMODE_CONVERT', 0);
define('ODBC_BINMODE_PASSTHRU', 0);
define('ODBC_BINMODE_RETURN', 0);
define('ODBC_TYPE', 0);
define('OGGVORBIS_PCM_S8', 0);
define('OGGVORBIS_PCM_S16_BE', 0);
define('OGGVORBIS_PCM_S16_LE', 0);
define('OGGVORBIS_PCM_U8', 0);
define('OGGVORBIS_PCM_U16_BE', 0);
define('OGGVORBIS_PCM_U16_LE', 0);
define('OP_ANONYMOUS', 0);
define('OP_DEBUG', 0);
define('OP_EXPUNGE', 0);
define('OP_HALFOPEN', 0);
define('OP_PROTOTYPE', 0);
define('OP_READONLY', 0);
define('OP_SECURE', 0);
define('OP_SHORTCACHE', 0);
define('OP_SILENT', 0);
define('O_APPEND', 0);
define('O_ASYNC', 0);
define('O_CREAT', 0);
define('O_EXCL', 0);
define('O_NDELAY', 0);
define('O_NOCTTY', 0);
define('O_NONBLOCK', 0);
define('O_RDONLY', 0);
define('O_RDWR', 0);
define('O_SYNC', 0);
define('O_TRUNC', 0);
define('O_WRONLY', 0);
define('Parle\INTERNAL_UTF32', 0);
define('PATHINFO_BASENAME', 0);
define('PATHINFO_DIRNAME', 0);
define('PATHINFO_EXTENSION', 0);
define('PATHINFO_FILENAME', 0);
define('PATH_SEPARATOR', '');
define('PCRE_VERSION', 0);
define('PEAR_EXTENSION_DIR', '');
define('PEAR_INSTALL_DIR', '');
define('PERM_ADMIN', 0);
define('PERM_ALL', 0);
define('PERM_CREATE', 0);
define('PERM_DELETE', 0);
define('PERM_READ', 0);
define('PERM_WRITE', 0);
define('PGSQL_ASSOC', 0);
define('PGSQL_BAD_RESPONSE', 0);
define('PGSQL_BOTH', 0);
define('PGSQL_COMMAND_OK', 0);
define('PGSQL_CONNECTION_BAD', 0);
define('PGSQL_CONNECTION_OK', 0);
define('PGSQL_CONNECT_ASYNC', 0);
define('PGSQL_CONNECT_FORCE_NEW', 0);
define('PGSQL_CONV_FORCE_NULL', 0);
define('PGSQL_CONV_IGNORE_DEFAULT', 0);
define('PGSQL_CONV_IGNORE_NOT_NULL', 0);
define('PGSQL_COPY_IN', 0);
define('PGSQL_COPY_OUT', 0);
define('PGSQL_DIAG_CONTEXT', 0);
define('PGSQL_DIAG_INTERNAL_POSITION', 0);
define('PGSQL_DIAG_INTERNAL_QUERY', 0);
define('PGSQL_DIAG_MESSAGE_DETAIL', 0);
define('PGSQL_DIAG_MESSAGE_HINT', 0);
define('PGSQL_DIAG_MESSAGE_PRIMARY', 0);
define('PGSQL_DIAG_SEVERITY', 0);
define('PGSQL_DIAG_SOURCE_FILE', 0);
define('PGSQL_DIAG_SOURCE_FUNCTION', 0);
define('PGSQL_DIAG_SOURCE_LINE', 0);
define('PGSQL_DIAG_SQLSTATE', 0);
define('PGSQL_DIAG_STATEMENT_POSITION', 0);
define('PGSQL_DML_ASYNC', 0);
define('PGSQL_DML_ESCAPE', 0);
define('PGSQL_DML_EXEC', 0);
define('PGSQL_DML_NO_CONV', 0);
define('PGSQL_DML_STRING', 0);
define('PGSQL_EMPTY_QUERY', 0);
define('PGSQL_ERRORS_DEFAULT', 0);
define('PGSQL_ERRORS_TERSE', 0);
define('PGSQL_ERRORS_VERBOSE', 0);
define('PGSQL_FATAL_ERROR', 0);
define('PGSQL_LIBPQ_VERSION', '');
define('PGSQL_LIBPQ_VERSION_STR', '');
define('PGSQL_NONFATAL_ERROR', 0);
define('PGSQL_NOTICE_ALL', 0);
define('PGSQL_NOTICE_CLEAR', 0);
define('PGSQL_NOTICE_LAST', 0);
define('PGSQL_NUM', 0);
define('PGSQL_POLLING_ACTIVE', 0);
define('PGSQL_POLLING_FAILED', 0);
define('PGSQL_POLLING_OK', 0);
define('PGSQL_POLLING_READING', 0);
define('PGSQL_POLLING_WRITING', 0);
define('PGSQL_SEEK_CUR', 0);
define('PGSQL_SEEK_END', 0);
define('PGSQL_SEEK_SET', 0);
define('PGSQL_STATUS_LONG', 0);
define('PGSQL_STATUS_STRING', 0);
define('PGSQL_TRANSACTION_ACTIVE', 0);
define('PGSQL_TRANSACTION_IDLE', 0);
define('PGSQL_TRANSACTION_INERROR', 0);
define('PGSQL_TRANSACTION_INTRANS', 0);
define('PGSQL_TRANSACTION_UNKNOWN', 0);
define('PGSQL_TUPLES_OK', 0);
define('PHP_BINARY', '');
define('PHP_BINARY_READ', 0);
define('PHP_BINDIR', '');
define('PHP_CONFIG_FILE_PATH', '');
define('PHP_CONFIG_FILE_SCAN_DIR', '');
define('PHP_DATADIR', '');
define('PHP_DEBUG', 0);
define('PHP_EOL', '');
define('PHP_EXTENSION_DIR', '');
define('PHP_EXTRA_VERSION', '');
define('PHP_FD_SETSIZE', '');
define('PHP_FLOAT_DIG', 0);
define('PHP_FLOAT_EPSILON', 0.0);
define('PHP_FLOAT_MAX', 0.0);
define('PHP_FLOAT_MIN', 0.0);
define('PHP_INT_MAX', 0);
define('PHP_INT_MIN', 0);
define('PHP_INT_SIZE', 0);
define('PHP_LIBDIR', '');
define('PHP_LOCALSTATEDIR', '');
define('PHP_MAJOR_VERSION', 0);
define('PHP_MANDIR', '');
define('PHP_MAXPATHLEN', 0);
define('PHP_MINOR_VERSION', 0);
define('PHP_NORMAL_READ', 0);
define('PHP_OS', '');
define('PHP_OS_FAMILY', '');
define('PHP_OUTPUT_HANDLER_CLEAN', 0);
define('PHP_OUTPUT_HANDLER_CLEANABLE', 0);
define('PHP_OUTPUT_HANDLER_CONT', 0);
define('PHP_OUTPUT_HANDLER_END', 0);
define('PHP_OUTPUT_HANDLER_FINAL', 0);
define('PHP_OUTPUT_HANDLER_FLUSH', 0);
define('PHP_OUTPUT_HANDLER_FLUSHABLE', 0);
define('PHP_OUTPUT_HANDLER_REMOVABLE', 0);
define('PHP_OUTPUT_HANDLER_START', 0);
define('PHP_OUTPUT_HANDLER_STDFLAGS', 0);
define('PHP_OUTPUT_HANDLER_WRITE', 0);
define('PHP_PREFIX', '');
define('PHP_RELEASE_VERSION', 0);
define('PHP_ROUND_HALF_DOWN', 0);
define('PHP_ROUND_HALF_EVEN', 0);
define('PHP_ROUND_HALF_ODD', 0);
define('PHP_ROUND_HALF_UP', 0);
define('PHP_SAPI', '');
define('PHP_SESSION_ACTIVE', 0);
define('PHP_SESSION_DISABLED', 0);
define('PHP_SESSION_NONE', 0);
define('PHP_SHLIB_SUFFIX', '');
define('PHP_SYSCONFDIR', '');
define('PHP_URL_FRAGMENT', 0);
define('PHP_URL_HOST', 0);
define('PHP_URL_PASS', 0);
define('PHP_URL_PATH', 0);
define('PHP_URL_PORT', 0);
define('PHP_URL_QUERY', 0);
define('PHP_URL_SCHEME', 0);
define('PHP_URL_USER', 0);
define('PHP_VERSION', '');
define('PHP_VERSION_ID', 0);
define('PHP_WINDOWS_NT_DOMAIN_CONTROLLER', 0);
define('PHP_WINDOWS_NT_SERVER', 0);
define('PHP_WINDOWS_NT_WORKSTATION', 0);
define('PHP_WINDOWS_VERSION_BUILD', 0);
define('PHP_WINDOWS_VERSION_MAJOR', 0);
define('PHP_WINDOWS_VERSION_MINOR', 0);
define('PHP_WINDOWS_VERSION_PLATFORM', 0);
define('PHP_WINDOWS_VERSION_PRODUCTTYPE', 0);
define('PHP_WINDOWS_VERSION_SP_MAJOR', 0);
define('PHP_WINDOWS_VERSION_SP_MINOR', 0);
define('PHP_WINDOWS_VERSION_SUITEMASK', 0);
define('PHP_ZTS', 0);
define('PKCS7_BINARY', 0);
define('PKCS7_DETACHED', 0);
define('PKCS7_NOATTR', 0);
define('PKCS7_NOCERTS', 0);
define('PKCS7_NOCHAIN', 0);
define('PKCS7_NOINTERN', 0);
define('PKCS7_NOSIGS', 0);
define('PKCS7_NOVERIFY', 0);
define('PKCS7_TEXT', 0);
define('PNG_ALL_FILTERS', 0);
define('PNG_FILTER_AVG', 0);
define('PNG_FILTER_NONE', 0);
define('PNG_FILTER_PAETH', 0);
define('PNG_FILTER_SUB', 0);
define('PNG_FILTER_UP', 0);
define('PNG_NO_FILTER', 0);
define('POLL_ERR', 0);
define('POLL_HUP', 0);
define('POLL_IN', 0);
define('POLL_MSG', 0);
define('POLL_OUT', 0);
define('POLL_PRI', 0);
define('PREG_BACKTRACK_LIMIT_ERROR', 0);
define('PREG_BAD_UTF8_ERROR', 0);
define('PREG_BAD_UTF8_OFFSET_ERROR', 0);
define('PREG_INTERNAL_ERROR', 0);
define('PREG_JIT_STACKLIMIT_ERROR', 0);
define('PREG_NO_ERROR', 0);
define('PREG_OFFSET_CAPTURE', 0);
define('PREG_PATTERN_ORDER', 0);
define('PREG_RECURSION_LIMIT_ERROR', 0);
define('PREG_SET_ORDER', 0);
define('PREG_SPLIT_DELIM_CAPTURE', 0);
define('PREG_SPLIT_NO_EMPTY', 0);
define('PREG_SPLIT_OFFSET_CAPTURE', 0);
define('PREG_UNMATCHED_AS_NULL', 0);
define('PROF_TRACE', 0);
define('PSFS_ERR_FATAL', 0);
define('PSFS_FEED_ME', 0);
define('PSFS_FLAG_FLUSH_CLOSE', 0);
define('PSFS_FLAG_FLUSH_INC', 0);
define('PSFS_FLAG_NORMAL', 0);
define('PSFS_PASS_ON', 0);
define('PSPELL_BAD_SPELLERS', 0);
define('PSPELL_FAST', 0);
define('PSPELL_NORMAL', 0);
define('PSPELL_RUN_TOGETHER', 0);
define('RADIUS_MPPE_KEY_LEN', 0);
define('RAR_HOST_BEOS', 0);
define('RAR_HOST_MSDOS', 0);
define('RAR_HOST_OS2', 0);
define('RAR_HOST_UNIX', 0);
define('RAR_HOST_WIN32', 0);
define('READONLY_STATE', 0);
define('REPLACE', 0);
define('RUNKIT_ACC_PRIVATE', 0);
define('RUNKIT_ACC_PROTECTED', 0);
define('RUNKIT_ACC_PUBLIC', 0);
define('RUNKIT_ACC_STATIC', 0);
define('RUNKIT_IMPORT_CLASSES', 0);
define('RUNKIT_IMPORT_CLASS_CONSTS', 0);
define('RUNKIT_IMPORT_CLASS_METHODS', 0);
define('RUNKIT_IMPORT_CLASS_PROPS', 0);
define('RUNKIT_IMPORT_CLASS_STATIC_PROPS', 0);
define('RUNKIT_IMPORT_FUNCTIONS', 0);
define('RUNKIT_IMPORT_OVERRIDE', 0);
define('RUNKIT_VERSION', '');
define('SAM_AUTO', '');
define('SAM_BOOLEAN', '');
define('SAM_BUS', '');
define('SAM_BYTE', '');
define('SAM_BYTES', '');
define('SAM_CORRELID', '');
define('SAM_DELIVERYMODE', '');
define('SAM_DOUBLE', '');
define('SAM_ENDPOINTS', '');
define('SAM_FLOAT', '');
define('SAM_HOST', '');
define('SAM_INT', '');
define('SAM_LONG', '');
define('SAM_MANUAL', '');
define('SAM_MESSAGEID', '');
define('SAM_MQTT', '');
define('SAM_MQTT_CLEANSTART', false);
define('SAM_NON_PERSISTENT', '');
define('SAM_PASSWORD', '');
define('SAM_PERSISTENT', '');
define('SAM_PORT', '');
define('SAM_PRIORITY', '');
define('SAM_REPLY_TO', '');
define('SAM_RTT', '');
define('SAM_STRING', '');
define('SAM_TARGETCHAIN', '');
define('SAM_TEXT', '');
define('SAM_TIMETOLIVE', '');
define('SAM_TRANSACTIONS', '');
define('SAM_USERID', '');
define('SAM_WAIT', '');
define('SAM_WMQ', '');
define('SAM_WMQ_BINDINGS', '');
define('SAM_WMQ_CLIENT', '');
define('SAM_WMQ_TARGET_CLIENT', '');
define('SAM_WPM', '');
define('SA_ALL', 0);
define('SA_MESSAGES', 0);
define('SA_RECENT', 0);
define('SA_UIDNEXT', 0);
define('SA_UIDVALIDITY', 0);
define('SA_UNSEEN', 0);
define('SCANDIR_SORT_ASCENDING', 0);
define('SCANDIR_SORT_DESCENDING', 0);
define('SCANDIR_SORT_NONE', 0);
define('SEEK_CUR', 0);
define('SEEK_END', 0);
define('SEEK_SET', 0);
define('SEGV_ACCERR', 0);
define('SEGV_MAPERR', 0);
define('SE_FREE', 0);
define('SE_NOPREFETCH', 0);
define('SE_UID', 0);
define('SID', '');
define('SIGABRT', 0);
define('SIGALRM', 0);
define('SIGBABY', 0);
define('SIGBUS', 0);
define('SIGCHLD', 0);
define('SIGCLD', 0);
define('SIGCONT', 0);
define('SIGFPE', 0);
define('SIGHUP', 0);
define('SIGILL', 0);
define('SIGINT', 0);
define('SIGIO', 0);
define('SIGIOT', 0);
define('SIGKILL', 0);
define('SIGPIPE', 0);
define('SIGPOLL', 0);
define('SIGPROF', 0);
define('SIGPWR', 0);
define('SIGQUIT', 0);
define('SIGSEGV', 0);
define('SIGSTKFLT', 0);
define('SIGSTOP', 0);
define('SIGSYS', 0);
define('SIGTERM', 0);
define('SIGTRAP', 0);
define('SIGTSTP', 0);
define('SIGTTIN', 0);
define('SIGTTOU', 0);
define('SIGURG', 0);
define('SIGUSR1', 0);
define('SIGUSR2', 0);
define('SIGVTALRM', 0);
define('SIGWINCH', 0);
define('SIGXCPU', 0);
define('SIGXFSZ', 0);
define('SIG_BLOCK', 0);
define('SIG_DFL', 0);
define('SIG_ERR', 0);
define('SIG_IGN', 0);
define('SIG_SETMASK', 0);
define('SIG_UNBLOCK', 0);
define('SI_ASYNCIO', 0);
define('SI_KERNEL', 0);
define('SI_MSGGQ', 0);
define('SI_NOINFO', 0);
define('SI_QUEUE', 0);
define('SI_SIGIO', 0);
define('SI_TIMER', 0);
define('SI_TKILL', 0);
define('SI_USER', 0);
define('SNMP_OID_OUTPUT_FULL', 0);
define('SNMP_OID_OUTPUT_MODULE', 0);
define('SNMP_OID_OUTPUT_NONE', 0);
define('SNMP_OID_OUTPUT_NUMERIC', 0);
define('SNMP_OID_OUTPUT_SUFFIX', 0);
define('SNMP_OID_OUTPUT_UCD', 0);
define('SOAP_1_1', 0);
define('SOAP_1_2', 0);
define('SOAP_ACTOR_NEXT', 0);
define('SOAP_ACTOR_NONE', 0);
define('SOAP_ACTOR_UNLIMATERECEIVER', 0);
define('SOAP_AUTHENTICATION_BASIC', 0);
define('SOAP_AUTHENTICATION_DIGEST', 0);
define('SOAP_COMPRESSION_ACCEPT', 0);
define('SOAP_COMPRESSION_DEFLATE', 0);
define('SOAP_COMPRESSION_GZIP', 0);
define('SOAP_DOCUMENT', 0);
define('SOAP_ENCODED', 0);
define('SOAP_ENC_ARRAY', 0);
define('SOAP_ENC_OBJECT', 0);
define('SOAP_FUNCTIONS_ALL', 0);
define('SOAP_LITERAL', 0);
define('SOAP_PERSISTENCE_REQUEST', 0);
define('SOAP_PERSISTENCE_SESSION', 0);
define('SOAP_RPC', 0);
define('SOAP_SINGLE_ELEMENT_ARRAYS', 0);
/**
 * Since PHP 5.5.0.
 **/
define('SOAP_SSL_METHOD_SSLv2', 0);
/**
 * Since PHP 5.5.0.
 **/
define('SOAP_SSL_METHOD_SSLv3', 0);
/**
 * Since PHP 5.5.0.
 **/
define('SOAP_SSL_METHOD_SSLv23', 0);
/**
 * Since PHP 5.5.0.
 **/
define('SOAP_SSL_METHOD_TLS', 0);
define('SOAP_USE_XSI_ARRAY_TYPE', 0);
define('SOAP_WAIT_ONE_WAY_CALLS', 0);
define('SOCK_DGRAM', 0);
define('SOCK_RAW', 0);
define('SOCK_RDM', 0);
define('SOCK_SEQPACKET', 0);
define('SOCK_STREAM', 0);
define('SOL_SOCKET', 0);
define('SOL_TCP', 0);
define('SOL_UDP', 0);
define('SORTARRIVAL', 0);
define('SORTCC', 0);
define('SORTDATE', 0);
define('SORTFROM', 0);
define('SORTSIZE', 0);
define('SORTSUBJECT', 0);
define('SORTTO', 0);
define('SO_BROADCAST', 0);
define('SO_DEBUG', 0);
define('SO_DONTROUTE', 0);
define('SO_ERROR', 0);
define('SO_FREE', 0);
define('SO_KEEPALIVE', 0);
define('SO_LINGER', 0);
define('SO_NOSERVER', 0);
define('SO_OOBINLINE', 0);
define('SO_RCVBUF', 0);
define('SO_RCVLOWAT', 0);
define('SO_RCVTIMEO', 0);
define('SO_REUSEADDR', 0);
define('SO_REUSEPORT', 0);
define('SO_SNDBUF', 0);
define('SO_SNDLOWAT', 0);
define('SO_SNDTIMEO', 0);
define('SO_TYPE', 0);
define('SPLIT', 0);
define('SQLBIT', 0);
define('SQLCHAR', 0);
define('SQLFLT4', 0);
define('SQLFLT8', 0);
define('SQLINT1', 0);
define('SQLINT2', 0);
define('SQLINT4', 0);
define('SQLITE_ASSOC', 0);
define('SQLITE_BOTH', 0);
define('SQLITE_NUM', 0);
define('SQLTEXT', 0);
define('SQLT_AFC', 0);
define('SQLT_AVC', 0);
define('SQLT_BDOUBLE', 0);
define('SQLT_BFILEE', 0);
define('SQLT_BFLOAT', 0);
define('SQLT_BIN', 0);
define('SQLT_BLOB', 0);
define('SQLT_BOL', 0);
define('SQLT_CFILEE', 0);
define('SQLT_CHR', 0);
define('SQLT_CLOB', 0);
define('SQLT_FLT', 0);
define('SQLT_INT', 0);
define('SQLT_LBI', 0);
define('SQLT_LNG', 0);
define('SQLT_LVC', 0);
define('SQLT_NTY', 0);
define('SQLT_NUM', 0);
define('SQLT_ODT', 0);
define('SQLT_RDD', 0);
define('SQLT_RSET', 0);
define('SQLT_STR', 0);
define('SQLT_UIN', 0);
define('SQLT_VCS', 0);
define('SQLVARCHAR', 0);
define('SQL_BEST_ROWID', 0);
define('SQL_BIGINT', 0);
define('SQL_BINARY', 0);
define('SQL_BIT', 0);
define('SQL_CHAR', 0);
define('SQL_CONCURRENCY', 0);
define('SQL_CONCUR_LOCK', 0);
define('SQL_CONCUR_READ_ONLY', 0);
define('SQL_CONCUR_ROWVER', 0);
define('SQL_CONCUR_VALUES', 0);
define('SQL_CURSOR_DYNAMIC', 0);
define('SQL_CURSOR_FORWARD_ONLY', 0);
define('SQL_CURSOR_KEYSET_DRIVEN', 0);
define('SQL_CURSOR_STATIC', 0);
define('SQL_CURSOR_TYPE', 0);
define('SQL_CUR_USE_DRIVER', 0);
define('SQL_CUR_USE_IF_NEEDED', 0);
define('SQL_CUR_USE_ODBC', 0);
define('SQL_DATE', 0);
define('SQL_DECIMAL', 0);
define('SQL_DOUBLE', 0);
define('SQL_ENSURE', 0);
define('SQL_FLOAT', 0);
define('SQL_INDEX_ALL', 0);
define('SQL_INDEX_UNIQUE', 0);
define('SQL_INTEGER', 0);
define('SQL_KEYSET_SIZE', 0);
define('SQL_LONGVARBINARY', 0);
define('SQL_LONGVARCHAR', 0);
define('SQL_NO_NULLS', 0);
define('SQL_NULLABLE', 0);
define('SQL_NUMERIC', 0);
define('SQL_ODBC_CURSORS', 0);
define('SQL_QUICK', 0);
define('SQL_REAL', 0);
define('SQL_ROWVER', 0);
define('SQL_SCOPE_CURROW', 0);
define('SQL_SCOPE_SESSION', 0);
define('SQL_SCOPE_TRANSACTION', 0);
define('SQL_SMALLINT', 0);
define('SQL_TIME', 0);
define('SQL_TIMESTAMP', 0);
define('SQL_TINYINT', 0);
define('SQL_TYPE_DATE', 0);
define('SQL_TYPE_TIME', 0);
define('SQL_TYPE_TIMESTAMP', 0);
define('SQL_VARBINARY', 0);
define('SQL_VARCHAR', 0);
define('SSH2_DEFAULT_TERMINAL', '');
define('SSH2_DEFAULT_TERM_HEIGHT', 0);
define('SSH2_DEFAULT_TERM_UNIT', 0);
define('SSH2_DEFAULT_TERM_WIDTH', 0);
define('SSH2_FINGERPRINT_HEX', 0);
define('SSH2_FINGERPRINT_MD5', 0);
define('SSH2_FINGERPRINT_RAW', 0);
define('SSH2_FINGERPRINT_SHA1', 0);
define('SSH2_STREAM_STDERR', 0);
define('SSH2_STREAM_STDIO', 0);
define('SSH2_TERM_UNIT_CHARS', 0);
define('SSH2_TERM_UNIT_PIXELS', 0);
define('STATEMENT_TRACE', 0);
/**
 * An already opened stream to stderr. This saves opening it with
 *
 * <?php $stderr = fopen('php://stderr', 'w'); ?>
 **/
define('STDERR', 0);
/**
 * An already opened stream to stdin. This saves opening it with
 *
 * <?php $stdin = fopen('php://stdin', 'r'); ?>
 *
 * If you want to read single line from stdin, you can use
 *
 * <?php $line = trim(fgets(STDIN)); // reads one line from STDIN
 * fscanf(STDIN, "%d\n", $number); // reads number from STDIN ?>
 **/
define('STDIN', 0);
/**
 * An already opened stream to stdout. This saves opening it with
 *
 * <?php $stdout = fopen('php://stdout', 'w'); ?>
 **/
define('STDOUT', 0);
define('STD_PROP_LIST', 0);
define('STREAM_CAST_AS_STREAM', 0);
define('STREAM_CAST_FOR_SELECT', 0);
define('STREAM_CLIENT_ASYNC_CONNECT', 0);
define('STREAM_CLIENT_CONNECT', 0);
define('STREAM_CLIENT_PERSISTENT', 0);
define('STREAM_FILTER_ALL', 0);
define('STREAM_FILTER_READ', 0);
define('STREAM_FILTER_WRITE', 0);
define('STREAM_IPPROTO_ICMP', 0);
define('STREAM_IPPROTO_IP', 0);
define('STREAM_IPPROTO_RAW', 0);
define('STREAM_IPPROTO_TCP', 0);
define('STREAM_IPPROTO_UDP', 0);
define('STREAM_META_ACCESS', 0);
define('STREAM_META_GROUP', 0);
define('STREAM_META_GROUP_NAME', 0);
define('STREAM_META_OWNER', 0);
define('STREAM_META_OWNER_NAME', 0);
define('STREAM_META_TOUCH', 0);
define('STREAM_NOTIFY_AUTH_REQUIRED', 0);
define('STREAM_NOTIFY_AUTH_RESULT', 0);
define('STREAM_NOTIFY_COMPLETED', 0);
define('STREAM_NOTIFY_CONNECT', 0);
define('STREAM_NOTIFY_FAILURE', 0);
define('STREAM_NOTIFY_FILE_SIZE_IS', 0);
define('STREAM_NOTIFY_MIME_TYPE_IS', 0);
define('STREAM_NOTIFY_PROGRESS', 0);
define('STREAM_NOTIFY_REDIRECTED', 0);
define('STREAM_NOTIFY_RESOLVE', 0);
define('STREAM_NOTIFY_SEVERITY_ERR', 0);
define('STREAM_NOTIFY_SEVERITY_INFO', 0);
define('STREAM_NOTIFY_SEVERITY_WARN', 0);
define('STREAM_PF_INET', 0);
define('STREAM_PF_INET6', 0);
define('STREAM_PF_UNIX', 0);
define('STREAM_REPORT_ERRORS', 0);
define('STREAM_SERVER_BIND', 0);
define('STREAM_SERVER_LISTEN', 0);
define('STREAM_SHUT_RD', 0);
define('STREAM_SHUT_RDWR', 0);
define('STREAM_SHUT_WR', 0);
define('STREAM_SOCK_DGRAM', 0);
define('STREAM_SOCK_RAW', 0);
define('STREAM_SOCK_RDM', 0);
define('STREAM_SOCK_SEQPACKET', 0);
define('STREAM_SOCK_STREAM', 0);
define('STREAM_USE_PATH', 0);
define('STR_PAD_BOTH', 0);
define('STR_PAD_LEFT', 0);
define('STR_PAD_RIGHT', 0);
define('ST_SET', 0);
define('ST_SILENT', 0);
define('ST_UID', 0);
define('SUMMARY_TRACE', 0);
define('SUNFUNCS_RET_DOUBLE', 0);
define('SUNFUNCS_RET_STRING', 0);
define('SUNFUNCS_RET_TIMESTAMP', 0);
define('SVN_REVISION_HEAD', 0);
define('SWFACTION_DATA', 0);
define('SWFACTION_ENTERFRAME', 0);
define('SWFACTION_KEYDOWN', 0);
define('SWFACTION_KEYUP', 0);
define('SWFACTION_MOUSEDOWN', 0);
define('SWFACTION_MOUSEMOVE', 0);
define('SWFACTION_MOUSEUP', 0);
define('SWFACTION_ONLOAD', 0);
define('SWFACTION_UNLOAD', 0);
define('SWFBUTTON_DOWN', 0);
define('SWFBUTTON_DRAGOUT', 0);
define('SWFBUTTON_DRAGOVER', 0);
define('SWFBUTTON_HIT', 0);
define('SWFBUTTON_MOUSEDOWN', 0);
define('SWFBUTTON_MOUSEOUT', 0);
define('SWFBUTTON_MOUSEOVER', 0);
define('SWFBUTTON_MOUSEUP', 0);
define('SWFBUTTON_MOUSEUPOUTSIDE', 0);
define('SWFBUTTON_OVER', 0);
define('SWFBUTTON_UP', 0);
define('SWFFILL_CLIPPED_BITMAP', 0);
define('SWFFILL_LINEAR_GRADIENT', 0);
define('SWFFILL_RADIAL_GRADIENT', 0);
define('SWFFILL_TILED_BITMAP', 0);
define('SWFTEXTFIELD_ALIGN_CENTER', 0);
define('SWFTEXTFIELD_ALIGN_JUSTIFY', 0);
define('SWFTEXTFIELD_ALIGN_LEFT', 0);
define('SWFTEXTFIELD_ALIGN_RIGHT', 0);
define('SWFTEXTFIELD_DRAWBOX', 0);
define('SWFTEXTFIELD_HASLENGTH', 0);
define('SWFTEXTFIELD_HTML', 0);
define('SWFTEXTFIELD_MULTILINE', 0);
define('SWFTEXTFIELD_NOEDIT', 0);
define('SWFTEXTFIELD_NOSELECT', 0);
define('SWFTEXTFIELD_PASSWORD', 0);
define('SWFTEXTFIELD_WORDWRAP', 0);
define('S_ALL', 0);
define('S_EXECUTOR', 0);
define('S_FILES', 0);
define('S_INCLUDE', 0);
define('S_INTERNAL', 0);
define('S_IRGRP', 0);
define('S_IROTH', 0);
define('S_IRUSR', 0);
define('S_IRWXG', 0);
define('S_IRWXO', 0);
define('S_IRWXU', 0);
define('S_IWGRP', 0);
define('S_IWOTH', 0);
define('S_IWUSR', 0);
define('S_IXGRP', 0);
define('S_IXOTH', 0);
define('S_IXUSR', 0);
define('S_MAIL', 0);
define('S_MEMORY', 0);
define('S_MISC', 0);
define('S_SESSION', 0);
define('S_SQL', 0);
define('S_VARS', 0);
define('TCP_NODELAY', 0);
define('TIDY_ATTR_ABBR', 0);
define('TIDY_ATTR_ACCEPT', 0);
define('TIDY_ATTR_ACCEPT_CHARSET', 0);
define('TIDY_ATTR_ACCESSKEY', 0);
define('TIDY_ATTR_ACTION', 0);
define('TIDY_ATTR_ADD_DATE', 0);
define('TIDY_ATTR_ALIGN', 0);
define('TIDY_ATTR_ALINK', 0);
define('TIDY_ATTR_ALT', 0);
define('TIDY_ATTR_ARCHIVE', 0);
define('TIDY_ATTR_AXIS', 0);
define('TIDY_ATTR_BACKGROUND', 0);
define('TIDY_ATTR_BGCOLOR', 0);
define('TIDY_ATTR_BGPROPERTIES', 0);
define('TIDY_ATTR_BORDER', 0);
define('TIDY_ATTR_BORDERCOLOR', 0);
define('TIDY_ATTR_BOTTOMMARGIN', 0);
define('TIDY_ATTR_CELLPADDING', 0);
define('TIDY_ATTR_CELLSPACING', 0);
define('TIDY_ATTR_CHAR', 0);
define('TIDY_ATTR_CHAROFF', 0);
define('TIDY_ATTR_CHARSET', 0);
define('TIDY_ATTR_CHECKED', 0);
define('TIDY_ATTR_CITE', 0);
define('TIDY_ATTR_CLASS', 0);
define('TIDY_ATTR_CLASSID', 0);
define('TIDY_ATTR_CLEAR', 0);
define('TIDY_ATTR_CODE', 0);
define('TIDY_ATTR_CODEBASE', 0);
define('TIDY_ATTR_CODETYPE', 0);
define('TIDY_ATTR_COLOR', 0);
define('TIDY_ATTR_COLS', 0);
define('TIDY_ATTR_COLSPAN', 0);
define('TIDY_ATTR_COMPACT', 0);
define('TIDY_ATTR_CONTENT', 0);
define('TIDY_ATTR_COORDS', 0);
define('TIDY_ATTR_DATA', 0);
define('TIDY_ATTR_DATAFLD', 0);
define('TIDY_ATTR_DATAPAGESIZE', 0);
define('TIDY_ATTR_DATASRC', 0);
define('TIDY_ATTR_DATETIME', 0);
define('TIDY_ATTR_DECLARE', 0);
define('TIDY_ATTR_DEFER', 0);
define('TIDY_ATTR_DIR', 0);
define('TIDY_ATTR_DISABLED', 0);
define('TIDY_ATTR_ENCODING', 0);
define('TIDY_ATTR_ENCTYPE', 0);
define('TIDY_ATTR_FACE', 0);
define('TIDY_ATTR_FOR', 0);
define('TIDY_ATTR_FRAME', 0);
define('TIDY_ATTR_FRAMEBORDER', 0);
define('TIDY_ATTR_FRAMESPACING', 0);
define('TIDY_ATTR_GRIDX', 0);
define('TIDY_ATTR_GRIDY', 0);
define('TIDY_ATTR_HEADERS', 0);
define('TIDY_ATTR_HEIGHT', 0);
define('TIDY_ATTR_HREF', 0);
define('TIDY_ATTR_HREFLANG', 0);
define('TIDY_ATTR_HSPACE', 0);
define('TIDY_ATTR_HTTP_EQUIV', 0);
define('TIDY_ATTR_ID', 0);
define('TIDY_ATTR_ISMAP', 0);
define('TIDY_ATTR_LABEL', 0);
define('TIDY_ATTR_LANG', 0);
define('TIDY_ATTR_LANGUAGE', 0);
define('TIDY_ATTR_LAST_MODIFIED', 0);
define('TIDY_ATTR_LAST_VISIT', 0);
define('TIDY_ATTR_LEFTMARGIN', 0);
define('TIDY_ATTR_LINK', 0);
define('TIDY_ATTR_LONGDESC', 0);
define('TIDY_ATTR_LOWSRC', 0);
define('TIDY_ATTR_MARGINHEIGHT', 0);
define('TIDY_ATTR_MARGINWIDTH', 0);
define('TIDY_ATTR_MAXLENGTH', 0);
define('TIDY_ATTR_MEDIA', 0);
define('TIDY_ATTR_METHOD', 0);
define('TIDY_ATTR_MULTIPLE', 0);
define('TIDY_ATTR_NAME', 0);
define('TIDY_ATTR_NOHREF', 0);
define('TIDY_ATTR_NORESIZE', 0);
define('TIDY_ATTR_NOSHADE', 0);
define('TIDY_ATTR_NOWRAP', 0);
define('TIDY_ATTR_OBJECT', 0);
define('TIDY_ATTR_OnAFTERUPDATE', 0);
define('TIDY_ATTR_OnBEFOREUNLOAD', 0);
define('TIDY_ATTR_OnBEFOREUPDATE', 0);
define('TIDY_ATTR_OnBLUR', 0);
define('TIDY_ATTR_OnCHANGE', 0);
define('TIDY_ATTR_OnCLICK', 0);
define('TIDY_ATTR_OnDATAAVAILABLE', 0);
define('TIDY_ATTR_OnDATASETCHANGED', 0);
define('TIDY_ATTR_OnDATASETCOMPLETE', 0);
define('TIDY_ATTR_OnDBLCLICK', 0);
define('TIDY_ATTR_OnERRORUPDATE', 0);
define('TIDY_ATTR_OnFOCUS', 0);
define('TIDY_ATTR_OnKEYDOWN', 0);
define('TIDY_ATTR_OnKEYPRESS', 0);
define('TIDY_ATTR_OnKEYUP', 0);
define('TIDY_ATTR_OnLOAD', 0);
define('TIDY_ATTR_OnMOUSEDOWN', 0);
define('TIDY_ATTR_OnMOUSEMOVE', 0);
define('TIDY_ATTR_OnMOUSEOUT', 0);
define('TIDY_ATTR_OnMOUSEOVER', 0);
define('TIDY_ATTR_OnMOUSEUP', 0);
define('TIDY_ATTR_OnRESET', 0);
define('TIDY_ATTR_OnROWENTER', 0);
define('TIDY_ATTR_OnROWEXIT', 0);
define('TIDY_ATTR_OnSELECT', 0);
define('TIDY_ATTR_OnSUBMIT', 0);
define('TIDY_ATTR_OnUNLOAD', 0);
define('TIDY_ATTR_PROFILE', 0);
define('TIDY_ATTR_PROMPT', 0);
define('TIDY_ATTR_RBSPAN', 0);
define('TIDY_ATTR_READONLY', 0);
define('TIDY_ATTR_REL', 0);
define('TIDY_ATTR_REV', 0);
define('TIDY_ATTR_RIGHTMARGIN', 0);
define('TIDY_ATTR_ROWS', 0);
define('TIDY_ATTR_ROWSPAN', 0);
define('TIDY_ATTR_RULES', 0);
define('TIDY_ATTR_SCHEME', 0);
define('TIDY_ATTR_SCOPE', 0);
define('TIDY_ATTR_SCROLLING', 0);
define('TIDY_ATTR_SELECTED', 0);
define('TIDY_ATTR_SHAPE', 0);
define('TIDY_ATTR_SHOWGRID', 0);
define('TIDY_ATTR_SHOWGRIDX', 0);
define('TIDY_ATTR_SHOWGRIDY', 0);
define('TIDY_ATTR_SIZE', 0);
define('TIDY_ATTR_SPAN', 0);
define('TIDY_ATTR_SRC', 0);
define('TIDY_ATTR_STANDBY', 0);
define('TIDY_ATTR_START', 0);
define('TIDY_ATTR_STYLE', 0);
define('TIDY_ATTR_SUMMARY', 0);
define('TIDY_ATTR_TABINDEX', 0);
define('TIDY_ATTR_TARGET', 0);
define('TIDY_ATTR_TEXT', 0);
define('TIDY_ATTR_TITLE', 0);
define('TIDY_ATTR_TOPMARGIN', 0);
define('TIDY_ATTR_TYPE', 0);
define('TIDY_ATTR_UNKNOWN', 0);
define('TIDY_ATTR_USEMAP', 0);
define('TIDY_ATTR_VALIGN', 0);
define('TIDY_ATTR_VALUE', 0);
define('TIDY_ATTR_VALUETYPE', 0);
define('TIDY_ATTR_VERSION', 0);
define('TIDY_ATTR_VLINK', 0);
define('TIDY_ATTR_VSPACE', 0);
define('TIDY_ATTR_WIDTH', 0);
define('TIDY_ATTR_WRAP', 0);
define('TIDY_ATTR_XMLNS', 0);
define('TIDY_ATTR_XML_LANG', 0);
define('TIDY_ATTR_XML_SPACE', 0);
define('TIDY_NODETYPE_ASP', 0);
define('TIDY_NODETYPE_CDATA', 0);
define('TIDY_NODETYPE_COMMENT', 0);
define('TIDY_NODETYPE_DOCTYPE', 0);
define('TIDY_NODETYPE_END', 0);
define('TIDY_NODETYPE_JSTE', 0);
define('TIDY_NODETYPE_PHP', 0);
define('TIDY_NODETYPE_PROCINS', 0);
define('TIDY_NODETYPE_ROOT', 0);
define('TIDY_NODETYPE_SECTION', 0);
define('TIDY_NODETYPE_START', 0);
define('TIDY_NODETYPE_STARTEND', 0);
define('TIDY_NODETYPE_TEXT', 0);
define('TIDY_NODETYPE_XMLDECL', 0);
define('TIDY_TAG_A', 0);
define('TIDY_TAG_ABBR', 0);
define('TIDY_TAG_ACRONYM', 0);
define('TIDY_TAG_ALIGN', 0);
define('TIDY_TAG_APPLET', 0);
define('TIDY_TAG_AREA', 0);
define('TIDY_TAG_B', 0);
define('TIDY_TAG_BASE', 0);
define('TIDY_TAG_BASEFONT', 0);
define('TIDY_TAG_BDO', 0);
define('TIDY_TAG_BGSOUND', 0);
define('TIDY_TAG_BIG', 0);
define('TIDY_TAG_BLINK', 0);
define('TIDY_TAG_BLOCKQUOTE', 0);
define('TIDY_TAG_BODY', 0);
define('TIDY_TAG_BR', 0);
define('TIDY_TAG_BUTTON', 0);
define('TIDY_TAG_CAPTION', 0);
define('TIDY_TAG_CENTER', 0);
define('TIDY_TAG_CITE', 0);
define('TIDY_TAG_CODE', 0);
define('TIDY_TAG_COL', 0);
define('TIDY_TAG_COLGROUP', 0);
define('TIDY_TAG_COMMENT', 0);
define('TIDY_TAG_DD', 0);
define('TIDY_TAG_DEL', 0);
define('TIDY_TAG_DFN', 0);
define('TIDY_TAG_DIR', 0);
define('TIDY_TAG_DIV', 0);
define('TIDY_TAG_DL', 0);
define('TIDY_TAG_DT', 0);
define('TIDY_TAG_EM', 0);
define('TIDY_TAG_EMBED', 0);
define('TIDY_TAG_FIELDSET', 0);
define('TIDY_TAG_FONT', 0);
define('TIDY_TAG_FORM', 0);
define('TIDY_TAG_FRAME', 0);
define('TIDY_TAG_FRAMESET', 0);
define('TIDY_TAG_H1', 0);
define('TIDY_TAG_H2', 0);
define('TIDY_TAG_H3', 0);
define('TIDY_TAG_H4', 0);
define('TIDY_TAG_H5', 0);
define('TIDY_TAG_H6', 0);
define('TIDY_TAG_HEAD', 0);
define('TIDY_TAG_HR', 0);
define('TIDY_TAG_HTML', 0);
define('TIDY_TAG_I', 0);
define('TIDY_TAG_IFRAME', 0);
define('TIDY_TAG_ILAYER', 0);
define('TIDY_TAG_IMG', 0);
define('TIDY_TAG_INPUT', 0);
define('TIDY_TAG_INS', 0);
define('TIDY_TAG_ISINDEX', 0);
define('TIDY_TAG_KBD', 0);
define('TIDY_TAG_KEYGEN', 0);
define('TIDY_TAG_LABEL', 0);
define('TIDY_TAG_LAYER', 0);
define('TIDY_TAG_LEGEND', 0);
define('TIDY_TAG_LI', 0);
define('TIDY_TAG_LINK', 0);
define('TIDY_TAG_LISTING', 0);
define('TIDY_TAG_MAP', 0);
define('TIDY_TAG_MARQUEE', 0);
define('TIDY_TAG_MENU', 0);
define('TIDY_TAG_META', 0);
define('TIDY_TAG_MULTICOL', 0);
define('TIDY_TAG_NOBR', 0);
define('TIDY_TAG_NOEMBED', 0);
define('TIDY_TAG_NOFRAMES', 0);
define('TIDY_TAG_NOLAYER', 0);
define('TIDY_TAG_NOSAVE', 0);
define('TIDY_TAG_NOSCRIPT', 0);
define('TIDY_TAG_OBJECT', 0);
define('TIDY_TAG_OL', 0);
define('TIDY_TAG_OPTGROUP', 0);
define('TIDY_TAG_OPTION', 0);
define('TIDY_TAG_P', 0);
define('TIDY_TAG_PARAM', 0);
define('TIDY_TAG_PLAINTEXT', 0);
define('TIDY_TAG_PRE', 0);
define('TIDY_TAG_Q', 0);
define('TIDY_TAG_RP', 0);
define('TIDY_TAG_RT', 0);
define('TIDY_TAG_RTC', 0);
define('TIDY_TAG_RUBY', 0);
define('TIDY_TAG_S', 0);
define('TIDY_TAG_SAMP', 0);
define('TIDY_TAG_SCRIPT', 0);
define('TIDY_TAG_SELECT', 0);
define('TIDY_TAG_SERVER', 0);
define('TIDY_TAG_SERVLET', 0);
define('TIDY_TAG_SMALL', 0);
define('TIDY_TAG_SPACER', 0);
define('TIDY_TAG_SPAN', 0);
define('TIDY_TAG_STRIKE', 0);
define('TIDY_TAG_STRONG', 0);
define('TIDY_TAG_STYLE', 0);
define('TIDY_TAG_SUB', 0);
define('TIDY_TAG_TABLE', 0);
define('TIDY_TAG_TBODY', 0);
define('TIDY_TAG_TD', 0);
define('TIDY_TAG_TEXTAREA', 0);
define('TIDY_TAG_TFOOT', 0);
define('TIDY_TAG_TH', 0);
define('TIDY_TAG_THEAD', 0);
define('TIDY_TAG_TITLE', 0);
define('TIDY_TAG_TR', 0);
define('TIDY_TAG_TT', 0);
define('TIDY_TAG_U', 0);
define('TIDY_TAG_UL', 0);
define('TIDY_TAG_UNKNOWN', 0);
define('TIDY_TAG_VAR', 0);
define('TIDY_TAG_WBR', 0);
define('TIDY_TAG_XMP', 0);
define('TIMING_TRACE', 0);
define('TRAP_BRKPT', 0);
define('TRAP_TRACE', 0);
define('TYPEAPPLICATION', 0);
define('TYPEAUDIO', 0);
define('TYPEIMAGE', 0);
define('TYPEMESSAGE', 0);
define('TYPEMODEL', 0);
define('TYPEMULTIPART', 0);
define('TYPEOTHER', 0);
define('TYPETEXT', 0);
define('TYPEVIDEO', 0);
define('UDM_CACHE_DISABLED', 0);
define('UDM_CACHE_ENABLED', 0);
define('UDM_CROSSWORDS_DISABLED', 0);
define('UDM_CROSSWORDS_ENABLED', 0);
define('UDM_CROSS_WORDS_DISABLED', 0);
define('UDM_CROSS_WORDS_ENABLED', 0);
define('UDM_FIELD_CATEGORY', 0);
define('UDM_FIELD_CHARSET', 0);
define('UDM_FIELD_CONTENT', 0);
define('UDM_FIELD_CRC', 0);
define('UDM_FIELD_DESC', 0);
define('UDM_FIELD_DESCRIPTION', 0);
define('UDM_FIELD_KEYWORDS', 0);
define('UDM_FIELD_LANG', 0);
define('UDM_FIELD_MODIFIED', 0);
define('UDM_FIELD_ORDER', 0);
define('UDM_FIELD_RATING', 0);
define('UDM_FIELD_SCORE', 0);
define('UDM_FIELD_SIZE', 0);
define('UDM_FIELD_TEXT', 0);
define('UDM_FIELD_TITLE', 0);
define('UDM_FIELD_URL', 0);
define('UDM_FIELD_URLID', 0);
define('UDM_ISPELL_PREFIXES_DISABLED', 0);
define('UDM_ISPELL_PREFIXES_ENABLED', 0);
define('UDM_ISPELL_PREFIX_DISABLED', 0);
define('UDM_ISPELL_PREFIX_ENABLED', 0);
define('UDM_ISPELL_TYPE_AFFIX', 0);
define('UDM_ISPELL_TYPE_DB', 0);
define('UDM_ISPELL_TYPE_SERVER', 0);
define('UDM_ISPELL_TYPE_SPELL', 0);
define('UDM_LIMIT_CAT', 0);
define('UDM_LIMIT_DATE', 0);
define('UDM_LIMIT_LANG', 0);
define('UDM_LIMIT_TAG', 0);
define('UDM_LIMIT_URL', 0);
define('UDM_MATCH_BEGIN', 0);
define('UDM_MATCH_END', 0);
define('UDM_MATCH_SUBSTR', 0);
define('UDM_MATCH_WORD', 0);
define('UDM_MODE_ALL', 0);
define('UDM_MODE_ANY', 0);
define('UDM_MODE_BOOL', 0);
define('UDM_MODE_PHRASE', 0);
define('UDM_PARAM_BROWSER_CHARSET', 0);
define('UDM_PARAM_CACHE_MODE', 0);
define('UDM_PARAM_CHARSET', 0);
define('UDM_PARAM_CROSSWORDS', 0);
define('UDM_PARAM_CROSS_WORDS', 0);
define('UDM_PARAM_DATADIR', 0);
define('UDM_PARAM_FIRST_DOC', 0);
define('UDM_PARAM_FOUND', 0);
define('UDM_PARAM_HLBEG', 0);
define('UDM_PARAM_HLEND', 0);
define('UDM_PARAM_ISPELL_PREFIX', 0);
define('UDM_PARAM_ISPELL_PREFIXES', 0);
define('UDM_PARAM_LAST_DOC', 0);
define('UDM_PARAM_LOCAL_CHARSET', 0);
define('UDM_PARAM_MAX_WORDLEN', 0);
define('UDM_PARAM_MAX_WORD_LEN', 0);
define('UDM_PARAM_MIN_WORDLEN', 0);
define('UDM_PARAM_MIN_WORD_LEN', 0);
define('UDM_PARAM_NUM_ROWS', 0);
define('UDM_PARAM_PAGE_NUM', 0);
define('UDM_PARAM_PAGE_SIZE', 0);
define('UDM_PARAM_PHRASE_MODE', 0);
define('UDM_PARAM_PREFIX', 0);
define('UDM_PARAM_PREFIXES', 0);
define('UDM_PARAM_QSTRING', 0);
define('UDM_PARAM_REMOTE_ADDR', 0);
define('UDM_PARAM_SEARCHD', 0);
define('UDM_PARAM_SEARCHTIME', 0);
define('UDM_PARAM_SEARCH_MODE', 0);
define('UDM_PARAM_SEARCH_TIME', 0);
define('UDM_PARAM_STOPFILE', 0);
define('UDM_PARAM_STOPTABLE', 0);
define('UDM_PARAM_STOP_FILE', 0);
define('UDM_PARAM_STOP_TABLE', 0);
define('UDM_PARAM_SYNONYM', 0);
define('UDM_PARAM_TRACK_MODE', 0);
define('UDM_PARAM_VARDIR', 0);
define('UDM_PARAM_WEIGHT_FACTOR', 0);
define('UDM_PARAM_WORDINFO', 0);
define('UDM_PARAM_WORD_INFO', 0);
define('UDM_PARAM_WORD_MATCH', 0);
define('UDM_PHRASE_DISABLED', 0);
define('UDM_PHRASE_ENABLED', 0);
define('UDM_PREFIXES_DISABLED', 0);
define('UDM_PREFIXES_ENABLED', 0);
define('UDM_PREFIX_DISABLED', 0);
define('UDM_PREFIX_ENABLED', 0);
define('UDM_TRACK_DISABLED', 0);
define('UDM_TRACK_ENABLED', 0);
define('UNKNOWN_TYPE', 0);
define('USE_KEY', 0);
/**
 * The two parameters are equal.
 **/
define('VARCMP_EQ', 0);
define('VARCMP_GT', 0);
define('VARCMP_LT', 0);
/**
 * Either expression is NULL.
 **/
define('VARCMP_NULL', 0);
define('VT_ARRAY', 0);
/**
 * Boolean value.
 **/
define('VT_BOOL', 0);
/**
 * Pointer to a null-terminated Unicode string.
 **/
define('VT_BSTR', 0);
define('VT_BYREF', 0);
/**
 * 8-byte two's complement integer (scaled by 10,000).
 **/
define('VT_CY', 0);
define('VT_DATE', 0);
/**
 * A decimal structure.
 **/
define('VT_DECIMAL', 0);
/**
 * A pointer to a pointer to an object was specified.
 **/
define('VT_DISPATCH', 0);
define('VT_EMPTY', 0);
/**
 * Error code; containing the status code associated with the error.
 **/
define('VT_ERROR', 0);
/**
 * 1-byte signed integer.
 **/
define('VT_I1', 0);
/**
 * Two bytes representing a 2-byte signed integer value.
 **/
define('VT_I2', 0);
/**
 * 4-byte signed integer value.
 **/
define('VT_I4', 0);
define('VT_INT', 0);
/**
 * NULL pointer reference.
 **/
define('VT_NULL', 0);
/**
 * 32-bit IEEE floating point value.
 **/
define('VT_R4', 0);
/**
 * 64-bit IEEE floating point value.
 **/
define('VT_R8', 0);
/**
 * 1-byte unsigned integer.
 **/
define('VT_UI1', 0);
/**
 * 2-byte unsigned integer.
 **/
define('VT_UI2', 0);
/**
 * 4-byte unsigned integer.
 **/
define('VT_UI4', 0);
define('VT_UINT', 0);
/**
 * A pointer to an object that implements the IUnknown interface.
 **/
define('VT_UNKNOWN', 0);
define('VT_VARIANT', 0);
define('WIN32_ABOVE_NORMAL_PRIORITY_CLASS', 0);
define('WIN32_BELOW_NORMAL_PRIORITY_CLASS', 0);
define('WIN32_ERROR_ACCESS_DENIED', 0);
define('WIN32_ERROR_CIRCULAR_DEPENDENCY', 0);
define('WIN32_ERROR_DATABASE_DOES_NOT_EXIST', 0);
define('WIN32_ERROR_DEPENDENT_SERVICES_RUNNING', 0);
define('WIN32_ERROR_DUPLICATE_SERVICE_NAME', 0);
define('WIN32_ERROR_FAILED_SERVICE_CONTROLLER_CONNECT', 0);
define('WIN32_ERROR_INSUFFICIENT_BUFFER', 0);
define('WIN32_ERROR_INVALID_DATA', 0);
define('WIN32_ERROR_INVALID_HANDLE', 0);
define('WIN32_ERROR_INVALID_LEVEL', 0);
define('WIN32_ERROR_INVALID_NAME', 0);
define('WIN32_ERROR_INVALID_PARAMETER', 0);
define('WIN32_ERROR_INVALID_SERVICE_ACCOUNT', 0);
define('WIN32_ERROR_INVALID_SERVICE_CONTROL', 0);
define('WIN32_ERROR_PATH_NOT_FOUND', 0);
define('WIN32_ERROR_SERVICE_ALREADY_RUNNING', 0);
define('WIN32_ERROR_SERVICE_CANNOT_ACCEPT_CTRL', 0);
define('WIN32_ERROR_SERVICE_DATABASE_LOCKED', 0);
define('WIN32_ERROR_SERVICE_DEPENDENCY_DELETED', 0);
define('WIN32_ERROR_SERVICE_DEPENDENCY_FAIL', 0);
define('WIN32_ERROR_SERVICE_DISABLED', 0);
define('WIN32_ERROR_SERVICE_DOES_NOT_EXIST', 0);
define('WIN32_ERROR_SERVICE_EXISTS', 0);
define('WIN32_ERROR_SERVICE_LOGON_FAILED', 0);
define('WIN32_ERROR_SERVICE_MARKED_FOR_DELETE', 0);
define('WIN32_ERROR_SERVICE_NOT_ACTIVE', 0);
define('WIN32_ERROR_SERVICE_NO_THREAD', 0);
define('WIN32_ERROR_SERVICE_REQUEST_TIMEOUT', 0);
define('WIN32_ERROR_SHUTDOWN_IN_PROGRESS', 0);
define('WIN32_HIGH_PRIORITY_CLASS', 0);
define('WIN32_IDLE_PRIORITY_CLASS', 0);
define('WIN32_NORMAL_PRIORITY_CLASS', 0);
define('WIN32_NO_ERROR', 0);
define('WIN32_REALTIME_PRIORITY_CLASS', 0);
define('WIN32_SERVICE_ACCEPT_PAUSE_CONTINUE', 0);
define('WIN32_SERVICE_ACCEPT_PRESHUTDOWN', 0);
define('WIN32_SERVICE_ACCEPT_SHUTDOWN', 0);
define('WIN32_SERVICE_ACCEPT_STOP', 0);
define('WIN32_SERVICE_AUTO_START', 0);
define('WIN32_SERVICE_CONTINUE_PENDING', 0);
define('WIN32_SERVICE_CONTROL_CONTINUE', 0);
define('WIN32_SERVICE_CONTROL_INTERROGATE', 0);
define('WIN32_SERVICE_CONTROL_PAUSE', 0);
define('WIN32_SERVICE_CONTROL_PRESHUTDOWN', 0);
define('WIN32_SERVICE_CONTROL_SHUTDOWN', 0);
define('WIN32_SERVICE_CONTROL_STOP', 0);
define('WIN32_SERVICE_DEMAND_START', 0);
define('WIN32_SERVICE_DISABLED', 0);
define('WIN32_SERVICE_ERROR_IGNORE', 0);
define('WIN32_SERVICE_ERROR_NORMAL', 0);
define('WIN32_SERVICE_INTERACTIVE_PROCESS', 0);
define('WIN32_SERVICE_PAUSED', 0);
define('WIN32_SERVICE_PAUSE_PENDING', 0);
define('WIN32_SERVICE_RUNNING', 0);
define('WIN32_SERVICE_RUNS_IN_SYSTEM_PROCESS', 0);
define('WIN32_SERVICE_START_PENDING', 0);
define('WIN32_SERVICE_STOPPED', 0);
define('WIN32_SERVICE_STOP_PENDING', 0);
define('WIN32_SERVICE_WIN32_OWN_PROCESS', 0);
define('WIN32_SERVICE_WIN32_OWN_PROCESS_INTERACTIVE', 0);
define('WNOHANG', 0);
define('WSDL_CACHE_BOTH', 0);
define('WSDL_CACHE_DISK', 0);
define('WSDL_CACHE_MEMORY', 0);
define('WSDL_CACHE_NONE', 0);
define('WUNTRACED', 0);
define('XATTR_CREATE', 0);
define('XATTR_DONTFOLLOW', 0);
define('XATTR_REPLACE', 0);
define('XATTR_ROOT', 0);
define('XDIFF_PATCH_NORMAL', 0);
define('XDIFF_PATCH_REVERSE', 0);
define('XHPROF_FLAGS_CPU', 0);
define('XHPROF_FLAGS_MEMORY', 0);
define('XHPROF_FLAGS_NO_BUILTINS', 0);
define('XML_ATTRIBUTE_CDATA', 0);
define('XML_ATTRIBUTE_DECL_NODE', 0);
define('XML_ATTRIBUTE_ENTITY', 0);
define('XML_ATTRIBUTE_ENUMERATION', 0);
define('XML_ATTRIBUTE_ID', 0);
define('XML_ATTRIBUTE_IDREF', 0);
define('XML_ATTRIBUTE_IDREFS', 0);
define('XML_ATTRIBUTE_NMTOKEN', 0);
define('XML_ATTRIBUTE_NMTOKENS', 0);
define('XML_ATTRIBUTE_NODE', 0);
define('XML_ATTRIBUTE_NOTATION', 0);
define('XML_CDATA_SECTION_NODE', 0);
define('XML_COMMENT_NODE', 0);
define('XML_DOCUMENT_FRAG_NODE', 0);
define('XML_DOCUMENT_NODE', 0);
define('XML_DOCUMENT_TYPE_NODE', 0);
define('XML_DTD_NODE', 0);
define('XML_ELEMENT_DECL_NODE', 0);
define('XML_ELEMENT_NODE', 0);
define('XML_ENTITY_DECL_NODE', 0);
define('XML_ENTITY_NODE', 0);
define('XML_ENTITY_REF_NODE', 0);
define('XML_ERROR_ASYNC_ENTITY', 0);
define('XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF', 0);
define('XML_ERROR_BAD_CHAR_REF', 0);
define('XML_ERROR_BINARY_ENTITY_REF', 0);
define('XML_ERROR_DUPLICATE_ATTRIBUTE', 0);
define('XML_ERROR_EXTERNAL_ENTITY_HANDLING', 0);
define('XML_ERROR_INCORRECT_ENCODING', 0);
define('XML_ERROR_INVALID_TOKEN', 0);
define('XML_ERROR_JUNK_AFTER_DOC_ELEMENT', 0);
define('XML_ERROR_MISPLACED_XML_PI', 0);
define('XML_ERROR_NONE', 0);
define('XML_ERROR_NO_ELEMENTS', 0);
define('XML_ERROR_NO_MEMORY', 0);
define('XML_ERROR_PARAM_ENTITY_REF', 0);
define('XML_ERROR_PARTIAL_CHAR', 0);
define('XML_ERROR_RECURSIVE_ENTITY_REF', 0);
define('XML_ERROR_SYNTAX', 0);
define('XML_ERROR_TAG_MISMATCH', 0);
define('XML_ERROR_UNCLOSED_CDATA_SECTION', 0);
define('XML_ERROR_UNCLOSED_TOKEN', 0);
define('XML_ERROR_UNDEFINED_ENTITY', 0);
define('XML_ERROR_UNKNOWN_ENCODING', 0);
define('XML_HTML_DOCUMENT_NODE', 0);
define('XML_NAMESPACE_DECL_NODE', 0);
define('XML_NOTATION_NODE', 0);
define('XML_OPTION_CASE_FOLDING', 0);
define('XML_OPTION_SKIP_TAGSTART', 0);
define('XML_OPTION_SKIP_WHITE', 0);
define('XML_OPTION_TARGET_ENCODING', 0);
define('XML_PI_NODE', 0);
define('XML_SAX_IMPL', '');
define('XML_TEXT_NODE', 0);
define('XSD_1999_NAMESPACE', 0);
define('XSD_1999_TIMEINSTANT', 0);
define('XSD_ANYTYPE', 0);
define('XSD_ANYURI', 0);
define('XSD_ANYXML', 0);
define('XSD_BASE64BINARY', 0);
define('XSD_BOOLEAN', 0);
define('XSD_BYTE', 0);
define('XSD_DATE', 0);
define('XSD_DATETIME', 0);
define('XSD_DECIMAL', 0);
define('XSD_DOUBLE', 0);
define('XSD_DURATION', 0);
define('XSD_ENTITIES', 0);
define('XSD_ENTITY', 0);
define('XSD_FLOAT', 0);
define('XSD_GDAY', 0);
define('XSD_GMONTH', 0);
define('XSD_GMONTHDAY', 0);
define('XSD_GYEAR', 0);
define('XSD_GYEARMONTH', 0);
define('XSD_HEXBINARY', 0);
define('XSD_ID', 0);
define('XSD_IDREF', 0);
define('XSD_IDREFS', 0);
define('XSD_INT', 0);
define('XSD_INTEGER', 0);
define('XSD_LANGUAGE', 0);
define('XSD_LONG', 0);
define('XSD_NAME', 0);
define('XSD_NAMESPACE', 0);
define('XSD_NCNAME', 0);
define('XSD_NEGATIVEINTEGER', 0);
define('XSD_NMTOKEN', 0);
define('XSD_NMTOKENS', 0);
define('XSD_NONNEGATIVEINTEGER', 0);
define('XSD_NONPOSITIVEINTEGER', 0);
define('XSD_NORMALIZEDSTRING', 0);
define('XSD_NOTATION', 0);
define('XSD_POSITIVEINTEGER', 0);
define('XSD_QNAME', 0);
define('XSD_SHORT', 0);
define('XSD_STRING', 0);
define('XSD_TIME', 0);
define('XSD_TOKEN', 0);
define('XSD_UNSIGNEDBYTE', 0);
define('XSD_UNSIGNEDINT', 0);
define('XSD_UNSIGNEDLONG', 0);
define('XSD_UNSIGNEDSHORT', 0);
define('XSL_CLONE_ALWAYS', 0);
define('XSL_CLONE_AUTO', 0);
define('XSL_CLONE_NEVER', 0);
define('XSL_SECPREF_CREATE_DIRECTORY', 0);
define('XSL_SECPREF_DEFAULT', 0);
define('XSL_SECPREF_NONE', 0);
define('XSL_SECPREF_READ_FILE', 0);
define('XSL_SECPREF_READ_NETWORK', 0);
define('XSL_SECPREF_WRITE_FILE', 0);
define('XSL_SECPREF_WRITE_NETWORK', 0);
define('YAML_ANY_SCALAR_STYLE', 0);
define('YAML_DOUBLE_QUOTED_SCALAR_STYLE', 0);
define('YAML_FOLDED_SCALAR_STYLE', 0);
define('YAML_LITERAL_SCALAR_STYLE', 0);
define('YAML_PLAIN_SCALAR_STYLE', 0);
define('YAML_SINGLE_QUOTED_SCALAR_STYLE', 0);
define('YPERR_ACCESS', 0);
define('YPERR_BADARGS', 0);
define('YPERR_BADDB', 0);
define('YPERR_BUSY', 0);
define('YPERR_DOMAIN', 0);
define('YPERR_KEY', 0);
define('YPERR_MAP', 0);
define('YPERR_NODOM', 0);
define('YPERR_NOMORE', 0);
define('YPERR_PMAP', 0);
define('YPERR_RESRC', 0);
define('YPERR_RPC', 0);
define('YPERR_VERS', 0);
define('YPERR_YPBIND', 0);
define('YPERR_YPERR', 0);
define('YPERR_YPSERV', 0);
define('ZLIB_BLOCK', 0);
define('ZLIB_DEFAULT_STRATEGY', 0);
define('ZLIB_ENCODING_DEFLATE', 0);
define('ZLIB_ENCODING_GZIP', 0);
define('ZLIB_ENCODING_RAW', 0);
define('ZLIB_FILTERED', 0);
define('ZLIB_FINISH', 0);
define('ZLIB_FIXED', 0);
define('ZLIB_FULL_FLUSH', 0);
define('ZLIB_HUFFMAN_ONLY', 0);
define('ZLIB_NO_FLUSH', 0);
define('ZLIB_PARTIAL_FLUSH', 0);
define('ZLIB_RLE', 0);
define('ZLIB_SYNC_FLUSH', 0);
define('__COMPILER_HALT_OFFSET__', 0);
