georg Fri Jan 4 17:19:25 2002 EDT
Modified files:
/phpdoc/en/functions dio.xml
Log:
documented dio-functions
still open: dio_fnctl (cmd params)
Index: phpdoc/en/functions/dio.xml
diff -u phpdoc/en/functions/dio.xml:1.4 phpdoc/en/functions/dio.xml:1.5
--- phpdoc/en/functions/dio.xml:1.4 Sat Dec 15 09:34:49 2001
+++ phpdoc/en/functions/dio.xml Fri Jan 4 17:19:25 2002
@@ -1,20 +1,31 @@
<?xml version="1.0" encoding="iso-8859-1"?>
-<!-- $Revision: 1.4 $ -->
+<!-- $Revision: 1.5 $ -->
<reference id="ref.dio">
<title>Direct IO functions</title>
<titleabbrev>DIO functions</titleabbrev>
<partintro>
- <para>
- Undocumented
- </para>
+ <section id="dio.intro">
+ <title>Direct I/O Functions</title>
+ <para>
+ PHP supports the direct io functions as described in the Posix
+ Standard (Section 6) for performing I/O functions at a lower
+ level than the C-Language stream I/O functions (fopen, fread,..).
+ </para>
+ </section>
+ <section id="dio.installation">
+ <title>Installation</title>
+ <para>
+ To get these functions to work, you have to configure PHP with
+ <option role="configure">--enable-dio</option>.
+ </para>
+ </section>
</partintro>
-
-
+
<refentry id="function.dio-open">
<refnamediv>
<refname>dio_open</refname>
- <refpurpose>Open a new filename with specified permissions of flags and creation
permissions of mode </refpurpose>
+ <refpurpose>Opens a new filename with specified permissions of flags and creation
+permissions of mode </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
@@ -29,7 +40,32 @@
</funcprototype>
</funcsynopsis>
<para>
- &warn.undocumented.func;
+ <function>dio_open</function> opens a file and returns a new
+ file descriptor for it, or -1 if any error occured.
+ If <parameter>flags</parameter> is O_CREAT, optional third parameter
+ <parameter>mode</parameter> will set the mode of the file
+ (creation permissions).
+ The <parameter>flags</parameter> parameter can be one of the
+ following options:
+ <itemizedlist>
+ <listitem><para>O_RDONLY - opens the file for read access</para></listitem>
+ <listitem><para>O_WRONLY - opens the file for write access</para></listitem>
+ <listitem><para>O_RDWR - opens the file for both reading and
+ writing</para></listitem>
+ </itemizedlist>
+ The <parameter>flags</parameter> parameter can also include any
+ combination of the following flags:
+ <itemizedlist>
+ <listitem><para>O_CREAT - creates the file, if it doesn't
+ already exist</para></listitem>
+ <listitem><para>O_EXCL - if both, O_CREAT and O_EXCL are set,
+ <function>dio_open</function> fails, if file already exists.</para></listitem>
+ <listitem><para>O_TRUNC - if file exists, and its opened
+ for write access, file will be truncated to zero length.</para></listitem>
+ <listitem><para>O_APPEND - write operations write data at the
+ end of file</para></listitem>
+ <listitem><para>O_NONBLOCK - sets non blocking mode</para></listitem>
+ </itemizedlist>
</para>
</refsect1>
</refentry>
@@ -37,7 +73,7 @@
<refentry id="function.dio-read">
<refnamediv>
<refname>dio_read</refname>
- <refpurpose>Read n bytes from fd and return them, if n is not specified, read 1k
</refpurpose>
+ <refpurpose>Reads n bytes from fd and returns them, if n is not specified, reads
+1k block</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
@@ -51,7 +87,11 @@
</funcprototype>
</funcsynopsis>
<para>
- &warn.undocumented.func;
+ The function <function>dio_read</function> reads and returns
+ <parameter>n</parameter> bytes from file with descriptor
+ <parameter>resource</parameter>. If <parameter>n</parameter> is
+ not specified, <function>dio_read</function> reads 1K sized block and
+ returns them.
</para>
</refsect1>
</refentry>
@@ -59,7 +99,7 @@
<refentry id="function.dio-write">
<refnamediv>
<refname>dio_write</refname>
- <refpurpose>Write data to fd with optional truncation at length </refpurpose>
+ <refpurpose>Writes data to fd with optional truncation at length </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
@@ -74,7 +114,14 @@
</funcprototype>
</funcsynopsis>
<para>
- &warn.undocumented.func;
+ The function <function>dio_write</function>
+ writes up to <parameter>len</parameter> bytes from
+ <parameter>data</parameter> to file <parameter>fd</parameter>. If
+ <parameter>len</parameter> is not specified,
+ <function>dio_write</function> writes all
+ <parameter>data</parameter> to the specified
+ file. <function>dio_write</function> returns the number of bytes
+ written to <parameter>fd</parameter>.
</para>
</refsect1>
</refentry>
@@ -82,7 +129,7 @@
<refentry id="function.dio-truncate">
<refnamediv>
<refname>dio_truncate</refname>
- <refpurpose>Truncate file descriptor fd to offset bytes </refpurpose>
+ <refpurpose>Truncates file descriptor fd to offset bytes </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
@@ -94,7 +141,14 @@
</funcprototype>
</funcsynopsis>
<para>
- &warn.undocumented.func;
+ Function <function>dio_truncate</function> causes the file
+ referenced by <parameter>fd</parameter> to be truncated to at
+ most <parameter>offset</parameter> 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. Returns 0 on success, otherwise -1
</para>
</refsect1>
</refentry>
@@ -102,7 +156,7 @@
<refentry id="function.dio-stat">
<refnamediv>
<refname>dio_stat</refname>
- <refpurpose>Get stat information about the file descriptor fd </refpurpose>
+ <refpurpose>Gets stat information about the file descriptor fd </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
@@ -113,7 +167,28 @@
</funcprototype>
</funcsynopsis>
<para>
- &warn.undocumented.func;
+ Function <function>fstat</function> returns information about
+ the file with file descriptor
+ <parameter>fd</parameter>. <function>dio_stat</function> returns
+ an associative array with the following keys:
+ <itemizedlist>
+ <listitem><para>"device" - device</para></listitem>
+ <listitem><para>"inode" - inode</para></listitem>
+ <listitem><para>"mode" - mode</para></listitem>
+ <listitem><para>"nlink" - number of hard
+ links</para></listitem>
+ <listitem><para>"uid" - user id</para></listitem>
+ <listitem><para>"gid" - group id</para></listitem>
+ <listitem><para>"device_type" - device type (if inode
+device)</para></listitem>
+ <listitem><para>"size" - total size in bytes</para></listitem>
+ <listitem><para>"blocksize" - blocksize</para></listitem>
+ <listitem><para>"blocks" - number of blocks
+ allocated</para></listitem>
+ <listitem><para>"atime" - time of last access</para></listitem>
+ <listitem><para>"mtime" - time of last modification</para></listitem>
+ <listitem><para>"ctime" - time of last change</para></listitem>
+ </itemizedlist>
+ On error <function>dio_stat</function> returns NULL.
</para>
</refsect1>
</refentry>
@@ -121,7 +196,7 @@
<refentry id="function.dio-seek">
<refnamediv>
<refname>dio_seek</refname>
- <refpurpose>Seek to pos on fd from whence </refpurpose>
+ <refpurpose>Seeks to pos on fd from whence </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
@@ -134,7 +209,26 @@
</funcprototype>
</funcsynopsis>
<para>
- &warn.undocumented.func;
+ The function <function>dio_seek</function> is used to change the
+ file position of the file with descriptor
+ <parameter>resource</parameter>.
+ The parameter <parameter>whence</parameter> specifies how the
+ position <parameter>pos</parameter> should be interpreted:
+ <itemizedlist>
+ <listitem><para>SEEK_SET - specifies that
+ <parameter>pos</parameter> is specified from the beginning of
+ the file</para></listitem>
+ <listitem><para>SEEK_CUR - Specifies that
+ <parameter>pos</parameter> is a count of characters from the
+ current file position. This count may be positive or negative</para></listitem>
+ <listitem><para>SEEK_END - Specifies that
+ <parameter>pos</parameter> 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</para></listitem>
+ </itemizedlist>
</para>
</refsect1>
</refentry>
@@ -157,7 +251,17 @@
</funcprototype>
</funcsynopsis>
<para>
- &warn.undocumented.func;
+ The <function>dio_fcntl</function> function performs the
+ operation specified by <parameter>cmd</parameter> on the file
+ descriptor <parameter>fd</parameter>. Some commands require
+ additional arguments <parameter>args</parameter> to be supplied.
+ </para>
+ <para>
+ <parameter>cmd</parameter> can be one of the following
+ operations:
+ </para>
+ <para>
+ cmd parameters still undocumented.
</para>
</refsect1>
</refentry>
@@ -165,7 +269,7 @@
<refentry id="function.dio-close">
<refnamediv>
<refname>dio_close</refname>
- <refpurpose>Close the file descriptor given by fd </refpurpose>
+ <refpurpose>Closes the file descriptor given by fd </refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
@@ -176,7 +280,8 @@
</funcprototype>
</funcsynopsis>
<para>
- &warn.undocumented.func;
+ The function <function>dio_close</function> closes the
+ filedescriptor <parameter>resource</parameter>.
</para>
</refsect1>
</refentry>