1
0
mirror of https://github.com/php/doc-en.git synced 2026-03-29 03:02:17 +02:00
Files
archived-doc-en/reference/stream/constants.xml
Jim Winstead 561e36d646 Document when STREAM_NOTIFY_COMPLETED was implemented (closes #3813) (#4199)
As a little treat, note that `PHP_STREAM_NOTIFY_RESOLVE` is not actually implemented.
2024-11-30 10:49:58 -08:00

1299 lines
33 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<appendix xml:id="stream.constants" xmlns="http://docbook.org/ns/docbook">
&reftitle.constants;
&extension.constants;
<variablelist>
<title>
Available <parameter>flags</parameter> for
<function>stream_socket_client</function>
</title>
<varlistentry xml:id="constant.stream-client-async-connect">
<term>
<constant>STREAM_CLIENT_ASYNC_CONNECT</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Open client socket asynchronously.
This option must be used together with the
<constant>STREAM_CLIENT_CONNECT</constant> flag.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-client-connect">
<term>
<constant>STREAM_CLIENT_CONNECT</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Open client socket connection.
Client sockets should always include this flag.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-client-persistent">
<term>
<constant>STREAM_CLIENT_PERSISTENT</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Client socket should remain persistent between page loads.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<title>
Available <parameter>flags</parameter> for
<function>stream_socket_server</function>
</title>
<varlistentry xml:id="constant.stream-server-bind">
<term>
<constant>STREAM_SERVER_BIND</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Indicates that a stream should bind to the specified target.
Server sockets should always include this flag.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-server-listen">
<term>
<constant>STREAM_SERVER_LISTEN</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Indicates that a stream bound using
<constant>STREAM_SERVER_BIND</constant>
flag to start listening to the socket.
Connection-orientated transports (such as TCP) must use this flag,
otherwise the server socket will not be enabled.
Using this flag for connect-less transports (such as UDP) is an error.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<title>
Values for the <parameter>mode</parameter> parameter of
<function>stream_socket_shutdown</function>
</title>
<varlistentry xml:id="constant.stream-shut-rd">
<term>
<constant>STREAM_SHUT_RD</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Disable further receptions.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-shut-wr">
<term>
<constant>STREAM_SHUT_WR</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Disable further transmissions.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-shut-rdwr">
<term>
<constant>STREAM_SHUT_RDWR</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Disable further receptions and transmissions.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<title>Stream Socket Transfer flags</title>
<simpara>
Those constants are used for the <parameter>flags</parameter>
parameter of the
<function>stream_socket_recvfrom</function> and
<function>stream_socket_sendto</function> functions.
</simpara>
<varlistentry xml:id="constant.stream-oob">
<term>
<constant>STREAM_OOB</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Process OOB (<literal>out-of-band</literal>) data.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-peek">
<term>
<constant>STREAM_PEEK</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Retrieve data from the socket, but do not consume the buffer.
</simpara>
<simpara>
Subsequent calls to <function>fread</function> or
<function>stream_socket_recvfrom</function> will see the same data.
</simpara>
<note>
<simpara>
Is not a valid flag for <function>stream_socket_sendto</function>.
</simpara>
</note>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<title>Stream Filter constants</title>
<simpara>
Those constants are used for the
<function>stream_filter_append</function> and
<function>stream_filter_prepend</function> functions.
</simpara>
<varlistentry xml:id="constant.stream-filter-read">
<term>
<constant>STREAM_FILTER_READ</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Indicate that the specified filter should only be applied when
<emphasis>reading</emphasis>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-filter-write">
<term>
<constant>STREAM_FILTER_WRITE</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Indicate that the specified filter should only be applied when
<emphasis>writing</emphasis>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-filter-all">
<term>
<constant>STREAM_FILTER_ALL</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Equivalent to <code>STREAM_FILTER_READ | STREAM_FILTER_WRITE</code>.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<title>
Stream Crypto Methods
</title>
<!-- TODO: <simpara> describing when these constants are used? -->
<varlistentry xml:id="constant.stream-crypto-method-any-client">
<term>
<constant>STREAM_CRYPTO_METHOD_ANY_CLIENT</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Any TLS or SSL version on a client stream.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-crypto-method-sslv2-client">
<term>
<constant>STREAM_CRYPTO_METHOD_SSLv2_CLIENT</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
SSL 2 on a client stream.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-crypto-method-sslv3-client">
<term>
<constant>STREAM_CRYPTO_METHOD_SSLv3_CLIENT</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
SSL 3 on a client stream.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-crypto-method-sslv23-client">
<term>
<constant>STREAM_CRYPTO_METHOD_SSLv23_CLIENT</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
TLS 1.0, 1.1 or 1.2 on a client stream.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-crypto-method-tls-client">
<term>
<constant>STREAM_CRYPTO_METHOD_TLS_CLIENT</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Any TLS version on a client stream.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-crypto-method-tlsv1-0-client">
<term>
<constant>STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
TLS 1.0 on a client stream.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-crypto-method-tlsv1-1-client">
<term>
<constant>STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
TLS 1.1 on a client stream.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-crypto-method-tlsv1-2-client">
<term>
<constant>STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
TLS 1.2 on a client stream.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-crypto-method-tlsv1-3-client">
<term>
<constant>STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
TLS 1.3 on a client stream.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-crypto-method-any-server">
<term>
<constant>STREAM_CRYPTO_METHOD_ANY_SERVER</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Any TLS or SSL version on a server stream.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-crypto-method-sslv2-server">
<term>
<constant>STREAM_CRYPTO_METHOD_SSLv2_SERVER</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
SSL 2 on a server stream.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-crypto-method-sslv3-server">
<term>
<constant>STREAM_CRYPTO_METHOD_SSLv3_SERVER</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
SSL 3 on a server stream.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-crypto-method-sslv23-server">
<term>
<constant>STREAM_CRYPTO_METHOD_SSLv23_SERVER</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
TLS 1.0, 1.1 or 1.2 on a server stream.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-crypto-method-tls-server">
<term>
<constant>STREAM_CRYPTO_METHOD_TLS_SERVER</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Any TLS version on a server stream.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-crypto-method-tlsv1-0-server">
<term>
<constant>STREAM_CRYPTO_METHOD_TLSv1_0_SERVER</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
TLS 1.0 on a server stream.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-crypto-method-tlsv1-1-server">
<term>
<constant>STREAM_CRYPTO_METHOD_TLSv1_1_SERVER</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
TLS 1.1 on a server stream.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-crypto-method-tlsv1-2-server">
<term>
<constant>STREAM_CRYPTO_METHOD_TLSv1_2_SERVER</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
TLS 1.2 on a server stream.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-crypto-method-tlsv1-3-server">
<term>
<constant>STREAM_CRYPTO_METHOD_TLSv1_3_SERVER</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
TLS 1.3 on a server stream.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-crypto-proto-sslv3">
<term>
<constant>STREAM_CRYPTO_PROTO_SSLv3</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
&Alias; <constant>STREAM_CRYPTO_METHOD_SSLv3_SERVER</constant>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-crypto-proto-tlsv1-0">
<term>
<constant>STREAM_CRYPTO_PROTO_TLSv1_0</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
&Alias; <constant>STREAM_CRYPTO_METHOD_TLSv1_0_SERVER</constant>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-crypto-proto-tlsv1-1">
<term>
<constant>STREAM_CRYPTO_PROTO_TLSv1_1</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
&Alias; <constant>STREAM_CRYPTO_METHOD_TLSv1_1_SERVER</constant>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-crypto-proto-tlsv1-2">
<term>
<constant>STREAM_CRYPTO_PROTO_TLSv1_2</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
&Alias; <constant>STREAM_CRYPTO_METHOD_TLSv1_2_SERVER</constant>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-crypto-proto-tlsv1-3">
<term>
<constant>STREAM_CRYPTO_PROTO_TLSv1_3</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
&Alias; <constant>STREAM_CRYPTO_METHOD_TLSv1_3_SERVER</constant>.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<title>
Unused internal constants
</title>
<varlistentry xml:id="constant.stream-must-seek">
<term>
<constant>STREAM_MUST_SEEK</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Ensure stream is seekable.
This may result in a copy of the stream being created.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-ignore-url">
<term>
<constant>STREAM_IGNORE_URL</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Do not use plugin wrappers.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<!-- TODO: Need to prevent chunking -->
<simplesect>
<title>
Constants used with <function>stream_socket_pair</function>
</title>
<note>
<simpara>
Not all constants might be available on a given system.
</simpara>
</note>
<variablelist>
<title>
Constants for the <parameter>domain</parameter> parameter
</title>
<varlistentry xml:id="constant.stream-pf-inet">
<term>
<constant>STREAM_PF_INET</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Internet Protocol Version 4 (IPv4).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-pf-inet6">
<term>
<constant>STREAM_PF_INET6</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Internet Protocol Version 6 (IPv6).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-pf-unix">
<term>
<constant>STREAM_PF_UNIX</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Unix system internal protocols.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<title>
Constants for the <parameter>type</parameter> parameter
</title>
<varlistentry xml:id="constant.stream-sock-dgram">
<term>
<constant>STREAM_SOCK_DGRAM</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Provides datagrams, which are connectionless messages.
For example: UDP.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-sock-raw">
<term>
<constant>STREAM_SOCK_RAW</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Provides a raw socket, which provides access to internal network
protocols and interfaces.
Usually this type of socket is just available to the root user.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-sock-rdm">
<term>
<constant>STREAM_SOCK_RDM</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Provides a RDM (Reliably-delivered messages) socket.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-sock-seqpacket">
<term>
<constant>STREAM_SOCK_SEQPACKET</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Provides a sequenced packet stream socket.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-sock-stream">
<term>
<constant>STREAM_SOCK_STREAM</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Provides sequenced, two-way byte streams with a transmission mechanism
for out-of-band data.
For example: TCP.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<title>
Constants for the <parameter>protocol</parameter> parameter
</title>
<varlistentry xml:id="constant.stream-ipproto-icmp">
<term>
<constant>STREAM_IPPROTO_ICMP</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Provides a ICMP socket.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-ipproto-ip">
<term>
<constant>STREAM_IPPROTO_IP</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Provides a IP socket.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-ipproto-raw">
<term>
<constant>STREAM_IPPROTO_RAW</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Provides a RAW socket.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-ipproto-tcp">
<term>
<constant>STREAM_IPPROTO_TCP</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Provides a TCP socket.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-ipproto-udp">
<term>
<constant>STREAM_IPPROTO_UDP</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Provides a UDP socket.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</simplesect>
<simplesect>
<title>
Constants used with <function>stream_notification_callback</function>
</title>
<variablelist>
<title>
Values for the <parameter>notification_code</parameter> parameter
</title>
<varlistentry xml:id="constant.stream-notify-resolve">
<term>
<constant>STREAM_NOTIFY_RESOLVE</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
A remote address required for this stream has been resolved,
or the resolution failed.
</simpara>
<simpara>
See <parameter>severity</parameter> for an indication of which happened.
</simpara>
<warning>
<simpara>
Support for this notification code is not yet implemented.
</simpara>
</warning>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-notify-connect">
<term>
<constant>STREAM_NOTIFY_CONNECT</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
A connection with an external resource has been established.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-notify-auth-required">
<term>
<constant>STREAM_NOTIFY_AUTH_REQUIRED</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Additional authorization is required to access the specified resource.
</simpara>
<simpara>
Typical issued with <parameter>severity</parameter> level of
<constant>STREAM_NOTIFY_SEVERITY_ERR</constant>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-notify-mime-type-is">
<term>
<constant>STREAM_NOTIFY_MIME_TYPE_IS</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
The <literal>mime-type</literal> of resource has been identified.
</simpara>
<simpara>
Refer to <parameter>message</parameter> for a description of the
discovered type.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-notify-file-size-is">
<term>
<constant>STREAM_NOTIFY_FILE_SIZE_IS</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
The <literal>size</literal> of the resource has been discovered.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-notify-redirected">
<term>
<constant>STREAM_NOTIFY_REDIRECTED</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
The external resource has redirected the stream to an alternate location.
</simpara>
<simpara>
Refer to <parameter>message</parameter>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-notify-progress">
<term>
<constant>STREAM_NOTIFY_PROGRESS</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Indicates current progress of the stream transfer in
<parameter>bytes_transferred</parameter> and possibly
<parameter>bytes_max</parameter> as well.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-notify-completed">
<term>
<constant>STREAM_NOTIFY_COMPLETED</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
There is no more data available on the stream.
(First implemented as of PHP 8.3.0.)
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-notify-failure">
<term>
<constant>STREAM_NOTIFY_FAILURE</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
A generic error occurred on the stream.
</simpara>
<simpara>
Refer to <parameter>message</parameter> and
<parameter>message_code</parameter> for details.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-notify-auth-result">
<term>
<constant>STREAM_NOTIFY_AUTH_RESULT</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Authorization has been completed (with or without success).
</simpara>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<title>
Values for the <parameter>severity</parameter> parameter
</title>
<varlistentry xml:id="constant.stream-notify-severity-info">
<term>
<constant>STREAM_NOTIFY_SEVERITY_INFO</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Normal, non-error related, notification.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-notify-severity-warn">
<term>
<constant>STREAM_NOTIFY_SEVERITY_WARN</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Non critical error condition.
Processing may continue.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-notify-severity-err">
<term>
<constant>STREAM_NOTIFY_SEVERITY_ERR</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
A critical error occurred.
Processing cannot continue.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</simplesect>
<simplesect>
<title><classname>streamWrapper</classname> related constants</title>
<variablelist>
<title>
Valid flags for <function>stream_wrapper_register</function>
</title>
<varlistentry xml:id="constant.stream-is-url">
<term>
<constant>STREAM_IS_URL</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Indicates that the stream wrapper protocol is a
<acronym>URL</acronym> protocol.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<title>
Values for the <parameter>cast_as</parameter> parameter of
<methodname>streamWrapper::stream_cast</methodname>
</title>
<varlistentry xml:id="constant.stream-cast-for-select">
<term>
<constant>STREAM_CAST_FOR_SELECT</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Indicates that <methodname>streamWrapper::stream_cast</methodname>
was called by <methodname>streamWrapper::stream_select</methodname>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-cast-as-stream">
<term>
<constant>STREAM_CAST_AS_STREAM</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Indicates that <methodname>streamWrapper::stream_cast</methodname>
was called by any method other than
<methodname>streamWrapper::stream_select</methodname>.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<title>
Values for the <parameter>option</parameter> parameter of
<methodname>streamWrapper::stream_metadata</methodname>
</title>
<varlistentry xml:id="constant.stream-meta-touch">
<term>
<constant>STREAM_META_TOUCH</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Indicates a call to <function>touch</function>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-meta-owner">
<term>
<constant>STREAM_META_OWNER</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Indicates a call to <function>chown</function>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-meta-owner-name">
<term>
<constant>STREAM_META_OWNER_NAME</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Indicates a call to <function>chown</function>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-meta-group">
<term>
<constant>STREAM_META_GROUP</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Indicates a call to <function>chgrp</function>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-meta-group-name">
<term>
<constant>STREAM_META_GROUP_NAME</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Indicates a call to <function>chgrp</function>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-meta-access">
<term>
<constant>STREAM_META_ACCESS</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Indicates a call to <function>chmod</function>.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<title>
Valid flags for
<methodname>streamWrapper::mkdir</methodname>
<!-- TODO: Check that rmdir() can actually pass this flag -->
and
<methodname>streamWrapper::rmdir</methodname>
</title>
<varlistentry xml:id="constant.stream-mkdir-recursive">
<term>
<constant>STREAM_MKDIR_RECURSIVE</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Recursive flag for the options parameters of
<function>mkdir</function> and <function>rmdir</function>.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<title>
Values for the <parameter>options</parameter> parameter of
<methodname>streamWrapper::stream_open</methodname>
</title>
<varlistentry xml:id="constant.stream-use-path">
<term>
<constant>STREAM_USE_PATH</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Flag indicating that relative paths should use the include path to
locate the resource.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-report-errors">
<term>
<constant>STREAM_REPORT_ERRORS</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Flag indicating that the stream wrapper should report errors.
If the flag is not set, no errors should be reported.
</simpara>
<simpara>
Errors are usually reported by the use of the
<function>trigger_error</function> function.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<title>
Values for the <parameter>option</parameter> parameter of
<methodname>streamWrapper::stream_set_option</methodname>
</title>
<varlistentry xml:id="constant.stream-option-blocking">
<term>
<constant>STREAM_OPTION_BLOCKING</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Set blocking/non-blocking mode on a stream.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-option-read-buffer">
<term>
<constant>STREAM_OPTION_READ_BUFFER</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Set read file buffering on a stream.
</simpara>
<variablelist>
<title>
Valid option values
</title>
<varlistentry xml:id="constant.stream-buffer-none">
<term>
<constant>STREAM_BUFFER_NONE</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
No buffering.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-buffer-line">
<term>
<constant>STREAM_BUFFER_LINE</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Line buffering.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-buffer-full">
<term>
<constant>STREAM_BUFFER_FULL</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Full buffering.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-option-read-timeout">
<term>
<constant>STREAM_OPTION_READ_TIMEOUT</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Set read file buffering on a stream.
<!-- TODO: Fix description -->
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-option-write-buffer">
<term>
<constant>STREAM_OPTION_WRITE_BUFFER</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Set write file buffering on a stream.
</simpara>
<simpara>
See <constant>STREAM_OPTION_READ_BUFFER</constant>
for valid buffer options.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<title>
Values for the <parameter>flags</parameter> parameter of
<methodname>streamWrapper::url_stat</methodname>
</title>
<varlistentry xml:id="constant.stream-url-stat-link">
<term>
<constant>STREAM_URL_STAT_LINK</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Only information about the link itself should be returned,
not the resource pointed to by the link.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.stream-url-stat-quiet">
<term>
<constant>STREAM_URL_STAT_QUIET</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
The wrapper should not raise any errors.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</simplesect>
<simplesect>
<title><classname>php_user_filter</classname> related constants</title>
<variablelist>
<title>
Valid return values for
<methodname>php_user_filter::filter</methodname>
</title>
<varlistentry xml:id="constant.psfs-pass-on">
<term>
<constant>PSFS_PASS_ON</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Return value indicating that the userspace filter
returned buckets in <parameter>$out</parameter>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.psfs-feed-me">
<term>
<constant>PSFS_FEED_ME</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Return value indicating that the userspace filter
did not return buckets in <parameter>$out</parameter>.
(i.e. No data available.)
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.psfs-err-fatal">
<term>
<constant>PSFS_ERR_FATAL</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Return value indicating that the userspace filter
encountered an unrecoverable error.
(i.e. Invalid data received.)
</simpara>
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<title>
Unused internal constants
</title>
<varlistentry xml:id="constant.psfs-flag-normal">
<term>
<constant>PSFS_FLAG_NORMAL</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Regular read/write.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.psfs-flag-flush-inc">
<term>
<constant>PSFS_FLAG_FLUSH_INC</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
An incremental flush.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.psfs-flag-flush-close">
<term>
<constant>PSFS_FLAG_FLUSH_CLOSE</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Final flush prior to closing.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</simplesect>
</appendix>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->