1 /** \mainpage Native Client API Reference Documentation
3 This reference documentation describes the APIs
4 that untrusted Native Client (NaCl) modules can use.
5 For additional documentation and information
6 about Native Client, see the
7 <a href="../../../README.html">README</a>.
11 <li> @ref locations </li>
12 <li> @ref modules </li>
16 \section locations SDK file locations
19 The Native Client SDK is under
20 <code>nacl/googleclient/third_party/nacl_sdk/<em>platform</em>/sdk/nacl-sdk</code>,
21 where <code><em>platform</em></code> is
25 The SDK doesn't depend on the rest of the Native Client build;
26 you can copy the <code>nacl-sdk</code> directory
28 as long as you avoid spaces in the pathname.
33 shows where you can find some commonly used files in the SDK.
37 style="border-collapse: collapse;">
39 File locations in the SDK
42 <th scope="col">Type of file</th>
43 <th scope="col">Location</th>
44 <th scope="col">Typical file</th>
45 <th scope="col">Example of use</th>
49 <td><code>nacl/include/</code></td>
50 <td><code>nacl/include/nacl/nacl_av.h</code></td>
52 <code> \#include <nacl/nacl_av.h></code>
57 <td><code>nacl/lib/</code></td>
58 <td><code>nacl/lib/libav.a</code></td>
59 <td>When compiling: <br>
60 <code> ... -lav ...</code></td>
64 <td><code>bin/</code></td>
65 <td><code>bin/nacl-g++</code></td>
66 <td>At the command line: <br>
67 <code> <em>sdk_dir</em>/bin/nacl-g++ *.cc ...</code></td>
72 \section modules API categories
74 The Native Client APIs fall into three general categories:
77 <li> Standard APIs that are supported but not documented here
79 <li> <a href="http://sourceware.org/newlib/libc.html">Newlib C library</a>
82 <li> <a href="http://sourceware.org/newlib/libm.html">Newlib math library</a>
85 <li> <a href="http://gcc.gnu.org/libstdc++/">GNU standard C++ library</a>
86 (included by default when you compile using <code>nacl-g++</code>)
89 <a href="https://developer.mozilla.org/en/Gecko_Plugin_API_Reference">NPAPI</a>
90 (<code>-lgoogle_nacl_npruntime</code>);
91 for information on the differences, see
92 <a href="../../../documentation/npapi.html">NPAPI Support</a>
97 <li> <a href="group___libraries.html">Libraries</a>
98 defined by Native Client
100 <li> <a href="group__audio__video.html">Basic Multimedia Interface</a>
102 A basic audio/video library;
106 (<code>-lgoogle_nacl_imc</code> for C++,
107 <code>-lgoogle_nacl_imc_c</code> for C):
108 A low-level inter-module communication library;
109 you should usually use SRPC instead
111 <li> <a href="group___n_p_a_p_i.html">NPAPI Extensions</a>
112 (<code>-lgoogle_nacl_npruntime</code>):
113 Native Client extensions to NPAPI
115 <li> <a href="group___pthread.html">Pthread</a>
116 (<code>-lpthread</code>):
117 A thread library based on POSIX threads
119 <li> <a href="group___s_r_p_c.html">SRPC</a>
120 (<code>-lsrpc</code>):
121 Simple remote procedure call API;
122 lets a Native Client module communicate with JavaScript code
123 or with other Native Client modules
125 <li> Unimplemented POSIX
126 (<code>-lunimpl</code>):
127 A library to help you compile even if your code
128 uses calls that Native Client doesn't implement;
130 <span class="pending">[PENDING: link to porting guide]</span>
135 <li> <a href="group__syscalls.html">Service Runtime Calls</a>
136 supported by Native Client
141 You can't use SRPC and NPAPI together; pick one.
143 \section about About this doc
146 The tabs at the top of each page
147 take you to the following sections.
151 <li> <b>Main Page</b>: This page </li>
152 <li> <a href="modules.html"><b>Modules</b></a>:
153 Lets you find API by functional area
155 <a href="group___libraries.html">Libraries</a> or
156 <a href="group__syscalls.html">Service Runtime Calls</a>.
158 <li> <a href="namespaces.html"><b>Namespaces</b></a>:
159 List of C++ namespaces in Native Client.
161 <li> <a href="annotated.html"><b>Data Structures</b></a>:
162 List of data structures in Native Client.
164 <li> <a href="files.html"><b>Files</b></a>:
165 The header files used to generate this documentation,
166 with file descriptions and links to generated doc.
167 Don't miss the <a href="globals.html">File member index</a>.