Update user guide to include asynchronous I/O

This commit is contained in:
Gregory Nutt 2014-10-04 18:30:48 -06:00
parent 27a7e77a16
commit 3dfbcc2544

View File

@ -7629,10 +7629,11 @@ interface of the same name.
<li><a href="#directoryoperations">2.10.3 Directory Operations</a></li>
<li><a href="#dirunistdops">2.10.4 UNIX Standard Operations</a></li>
<li><a href="#standardio">2.10.5 Standard I/O</a></li>
<li><a href="#stdstrings">2.10.6 Standard String Operations</a></li>
<li><a href="#PipesNFifos">2.10.7 Pipes and FIFOs</a></li>
<li><a href="#fatsupport">2.10.8 FAT File System Support</a></li>
<li><a href="#mmapxip">2.10.9 <code>mmap()</code> and eXecute In Place (XIP)</a></li>
<li><a href="#aio">2.10.6 Asynchronous I/O</a></li>
<li><a href="#stdstrings">2.10.7 Standard String Operations</a></li>
<li><a href="#PipesNFifos">2.10.8 Pipes and FIFOs</a></li>
<li><a href="#fatsupport">2.10.9 FAT File System Support</a></li>
<li><a href="#mmapxip">2.10.10 <code>mmap()</code> and eXecute In Place (XIP)</a></li>
</ul>
<h3><a name="FileSystemOverview">2.10.1 NuttX File System Overview</a></h3>
@ -7966,7 +7967,23 @@ int statfs(const char *path, struct statfs *buf);
int fstatfs(int fd, struct statfs *buf);
</pre></ul>
<h3><a name="stdstrings">2.10.6 Standard String Operations</a></h3>
<h3><a name="aio">2.10.6 Asynchronous I/O</a></h3>
<ul><pre>
#include &lt;aio.h&gt;
int aio_cancel(int, FAR struct aiocb *aiocbp);
int aio_error(FAR const struct aiocb *aiocbp);
int aio_fsync(int, FAR struct aiocb *aiocbp);
int aio_read(FAR struct aiocb *aiocbp);
ssize_t aio_return(FAR struct aiocb *aiocbp);
int aio_suspend(FAR const struct aiocb *const list[], int nent,
FAR const struct timespec *timeout);
int aio_write(FAR struct aiocb *aiocbp);
int lio_listio(int mode, FAR struct aiocb *const list[], int nent,
FAR struct sigevent *sig);
</pre></ul>
<h3><a name="stdstrings">2.10.7 Standard String Operations</a></h3>
<ul><pre>
#include &lt;string.h&gt;
@ -8000,9 +8017,9 @@ void *memmove(void *dest, const void *src, size_t count);
# define bzero(s,n) (void)memset(s,0,n)
</pre></ul>
<h3><a name="PipesNFifos">2.10.7 Pipes and FIFOs</a></h3>
<h3><a name="PipesNFifos">2.10.8 Pipes and FIFOs</a></h3>
<h3>2.10.7.1 <a name="pipe"><code>pipe</code></a></h3>
<h3>2.10.8.1 <a name="pipe"><code>pipe</code></a></h3>
<p>
<b>Function Prototype:</b>
</p>
@ -8036,7 +8053,7 @@ int pipe(int fd[2]);
</ul>
</p>
<h3>2.10.7.2 <a name="mkfifo"><code>mkfifo</code></a></h3>
<h3>2.10.8.2 <a name="mkfifo"><code>mkfifo</code></a></h3>
<p>
<b>Function Prototype:</b>
</p>
@ -8083,8 +8100,8 @@ int mkfifo(FAR const char *pathname, mode_t mode);
</ul>
</p>
<h3><a name="fatsupport">2.10.8 FAT File System Support</a></h3>
<h3>2.10.8.1 <a name="mkfatfs"><code>mkfatfs</code></a></h3>
<h3><a name="fatsupport">2.10.9 FAT File System Support</a></h3>
<h3>2.10.9.1 <a name="mkfatfs"><code>mkfatfs</code></a></h3>
<p>
<b>Function Prototype:</b>
</p>
@ -8161,7 +8178,7 @@ struct fat_format_s
</ul>
</p>
<h3><a name="mmapxip">2.10.9 <code>mmap()</code> and eXecute In Place (XIP)</a></h3>
<h3><a name="mmapxip">2.10.10 <code>mmap()</code> and eXecute In Place (XIP)</a></h3>
<p>
NuttX operates in a flat open address space and is focused on MCUs that do
support Memory Management Units (MMUs). Therefore, NuttX generally does not
@ -8290,7 +8307,7 @@ struct fat_format_s
</li>
</ol>
<h3><a name="mmap">2.10.9.1 <code>mmap</code></a></h3>
<h3><a name="mmap">2.10.10.1 <code>mmap</code></a></h3>
<p>
<b>Function Prototype:</b>
</p>
@ -9608,6 +9625,14 @@ notify a task when a message is available on a queue.
<tr>
<td valign="top" width="34%">
<li><a href="#accept">accept</a></li>
<li><a href="#aio">aio.h</a></li>
<li><a href="#aio">aio_cancel</a></li>
<li><a href="#aio">aio_error</a></li>
<li><a href="#aio">aio_fsync</a></li>
<li><a href="#aio">aio_read</a></li>
<li><a href="#aio">aio_return</a></li>
<li><a href="#aio">aio_suspend</a></li>
<li><a href="#aio">aio_write</a></li>
<li><a href="#atexit">atexit</a>
<li><a href="#bind">bind</a></li>
<li><a href="#mmapxip">BIOC_XIPBASE</a></li>
@ -9663,6 +9688,7 @@ notify a task when a message is available on a queue.
<li><a href="#Introduction">Introduction</a>
<li><a href="#drvrioctlops">ioctl</a></li>
<li><a href="#kill">kill</a></li>
<li><a href="#aio">lio_listio</a></li>
<li><a href="#listen">listen</a></li>
<li><a href="#localtimer">localtime_r</a></li>
<li><a href="#drvrunistdops">lseek</a></li>
@ -9684,14 +9710,14 @@ notify a task when a message is available on a queue.
<li><a href="#mmap">mmap</a></li>
<li><a href="#Network">Network Interfaces</a></li>
<li><a href="#onexit">on_exit</a>
</td>
<td valign="top" width="33%">
<li><a href="#drvrfcntlops">open</a></li>
<li><a href="#dirdirentops">opendir</a></li>
<li><a href="#OS_Interfaces">OS Interfaces</a></li>
<li><a href="#pause">pause</a></li>
<li><a href="#pipe">pipe</a></li>
<li><a href="#poll">poll</a></li>
</td>
<td valign="top" width="33%">
<li><a href="#drvrpollops">poll.h</a></li>
<li><a href="#posix_spawn">posix_spawn</a></li>
<li><a href="#posix_spawn_file_actions_addclose">posix_spawn_file_actions_addclose</a></li>
@ -9772,11 +9798,11 @@ notify a task when a message is available on a queue.
<li><a href="#standardio">puts</a></li>
<li><a href="#mmapxip">RAM disk driver</a></li>
<li><a href="#drvrunistdops">read</a></li>
</td>
<td valign="top">
<li><a href="#dirdirentops">readdir</a></li>
<li><a href="#dirdirentops">readdir_r</a></li>
<li><a href="#recv">recv</a></li>
</td>
<td valign="top">
<li><a href="#recvfrom">recvfrom</a></li>
<li><a href="#standardio">rename</a></li>
<li><a href="#standardio">rmdir</a></li>