374 lines
9.1 KiB
HTML
374 lines
9.1 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
<html>
|
|
<head>
|
|
<title>Reference</title>
|
|
<link rel="stylesheet" href="../luadoc.css" type="text/css" />
|
|
<!--meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/-->
|
|
</head>
|
|
|
|
<body>
|
|
<div id="container">
|
|
|
|
<div id="product">
|
|
<div id="product_logo"></div>
|
|
<div id="product_name"><big><b></b></big></div>
|
|
<div id="product_description"></div>
|
|
</div> <!-- id="product" -->
|
|
|
|
<div id="main">
|
|
|
|
<div id="navigation">
|
|
|
|
|
|
<h1>LuaDoc</h1>
|
|
<ul>
|
|
|
|
<li><a href="../index.html">Index</a></li>
|
|
|
|
</ul>
|
|
|
|
|
|
<!-- Module list -->
|
|
|
|
<h1>Modules</h1>
|
|
<ul>
|
|
|
|
<li>
|
|
<a href="../modules/luci.dispatcher.html">luci.dispatcher</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.http.html">luci.http</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.http.protocol.html">luci.http.protocol</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.http.protocol.conditionals.html">luci.http.protocol.conditionals</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.http.protocol.date.html">luci.http.protocol.date</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.http.protocol.mime.html">luci.http.protocol.mime</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.i18n.html">luci.i18n</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.ip.html">luci.ip</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.ip.cidr.html">luci.ip.cidr</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.json.html">luci.json</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.jsonc.html">luci.jsonc</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.jsonc.parser.html">luci.jsonc.parser</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.model.ipkg.html">luci.model.ipkg</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.model.uci.html">luci.model.uci</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.rpcc.html">luci.rpcc</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.rpcc.ruci.html">luci.rpcc.ruci</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.sys.html">luci.sys</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.sys.init.html">luci.sys.init</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.sys.iptparser.html">luci.sys.iptparser</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.sys.net.html">luci.sys.net</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.sys.process.html">luci.sys.process</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.sys.user.html">luci.sys.user</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.sys.wifi.html">luci.sys.wifi</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/luci.util.html">luci.util</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/nixio.html">nixio</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/nixio.CHANGELOG.html">nixio.CHANGELOG</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/nixio.CryptoHash.html">nixio.CryptoHash</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/nixio.File.html">nixio.File</a>
|
|
</li>
|
|
|
|
<li><strong>nixio.README</strong></li>
|
|
|
|
<li>
|
|
<a href="../modules/nixio.Socket.html">nixio.Socket</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/nixio.TLSContext.html">nixio.TLSContext</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/nixio.TLSSocket.html">nixio.TLSSocket</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/nixio.UnifiedIO.html">nixio.UnifiedIO</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/nixio.bin.html">nixio.bin</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/nixio.bit.html">nixio.bit</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/nixio.crypto.html">nixio.crypto</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="../modules/nixio.fs.html">nixio.fs</a>
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
<!-- File list -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div><!-- id="navigation" -->
|
|
|
|
<div id="content">
|
|
|
|
<h1>Class <code>nixio.README</code></h1>
|
|
|
|
<p>
|
|
General Information.</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h2>Tables</h2>
|
|
<table class="table_list">
|
|
|
|
<tr>
|
|
<td class="name" nowrap><a href="#Errorhandling">Errorhandling</a></td>
|
|
<td class="summary">
|
|
General error handling information.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="name" nowrap><a href="#Functions">Functions</a></td>
|
|
<td class="summary">
|
|
Function conventions.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="name" nowrap><a href="#Platforms">Platforms</a></td>
|
|
<td class="summary">
|
|
Platform information.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td class="name" nowrap><a href="#TLS-Crypto">TLS-Crypto</a></td>
|
|
<td class="summary">
|
|
Cryptography and TLS libraries.</td>
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
|
|
|
|
<br/>
|
|
<br/>
|
|
|
|
|
|
|
|
|
|
<h2><a name="tables"></a>Tables</h2>
|
|
<dl class="table">
|
|
|
|
<dt><a name="Errorhandling"></a><strong>Errorhandling</strong></dt>
|
|
<dd>
|
|
General error handling information.
|
|
<ul>
|
|
<li> Most of the functions available in this library may fail. If any error
|
|
occurs the function returns <strong>nil or false</strong>, an error code
|
|
(usually errno) and an additional error message text (if avaialable).</li>
|
|
<li>At the moment false is only returned when a non-blocking I/O function
|
|
fails with EAGAIN, EWOULDBLOCK or WSAEWOULDBLOCK for any others nil is
|
|
returned as first parameter. Therefore you can use false to write portable
|
|
non-blocking I/O applications.</li>
|
|
<li>Note that the function documentation does only mention the return values
|
|
in case of a successful operation.</li>
|
|
<li>You can find a table of common error numbers and other useful constants
|
|
like signal numbers in <strong>nixio.const</strong> e.g. nixio.const.EINVAL,
|
|
nixio.const.SIGTERM, etc. For portability there is a second error constant
|
|
table <strong>nixio.const_sock</strong> for socket error codes. This might
|
|
be important if you are dealing with Windows applications, on POSIX however
|
|
const_sock is just an alias for const.</li>
|
|
<li>With some exceptions - which are explicitely stated in the function
|
|
documentation - all blocking functions are signal-protected and will not fail
|
|
with EINTR.</li>
|
|
<li>On POSIX the SIGPIPE signal will be set to ignore upon initialization.
|
|
You should restore the default behaviour or set a custom signal handler
|
|
in your program after loading nixio if you need this behaviour.</li>
|
|
</ul>
|
|
|
|
|
|
|
|
</dd>
|
|
|
|
|
|
<dt><a name="Functions"></a><strong>Functions</strong></dt>
|
|
<dd>
|
|
Function conventions.
|
|
<br />In general all functions are namend and behave like their POSIX API
|
|
counterparts - where applicable - applying the following rules:
|
|
<ul>
|
|
<li>Functions should be named like the underlying POSIX API function omitting
|
|
prefixes or suffixes - especially when placed in an object-context (
|
|
lockf -> File:lock, fsync -> File:sync, dup2 -> dup, ...)</li>
|
|
<li>If you are unclear about the behaviour of a function you should consult
|
|
your OS API documentation (e.g. the manpages).</li>
|
|
<li>If the name is significantly different from the POSIX-function, the
|
|
underlying function(s) are stated in the documentation.</li>
|
|
<li>Parameters should reflect those of the C-API, buffer length arguments and
|
|
by-reference parameters should be omitted for pratical purposes.</li>
|
|
<li>If a C function accepts a bitfield as parameter, it should be translated
|
|
into lower case string flags representing the flags if the bitfield is the
|
|
last parameter and also omitting prefixes or suffixes. (e.g. waitpid
|
|
(pid, &s, WNOHANG | WUNTRACED) -> waitpid(pid, "nohang", "untraced"),
|
|
getsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)) ->
|
|
Socket:getopt("socket", "reuseaddr"), etc.) </li>
|
|
<li>If it is not applicable to provide a string representation of the
|
|
bitfield a bitfield generator helper is provided. It is named FUNCTION_flags.
|
|
(open("/tmp/test", O_RDONLY | O_NONBLOCK) -> open("/tmp/test", open_flags(
|
|
"rdonly", "nonblock")))</li>
|
|
</ul>
|
|
|
|
|
|
|
|
</dd>
|
|
|
|
|
|
<dt><a name="Platforms"></a><strong>Platforms</strong></dt>
|
|
<dd>
|
|
Platform information.
|
|
<ul>
|
|
<li>The minimum platform requirements are a decent POSIX 2001 support.
|
|
Builds are more or less tested on Linux, Solaris and FreeBSD. Builds for
|
|
Windows XP SP1 and later can be compiled with MinGW either from Windows
|
|
itself or using the MinGW cross-compiler. Earlier versions of Windows are not
|
|
supported.</li>
|
|
<li>In general all functions which don't have any remarks
|
|
in their documentation are available on all platforms.</li>
|
|
<li>Functions with a (POSIX), (Linux) or similar prefix are only available
|
|
on these specific platforms. Same appplies to parameters of functions
|
|
with a similar suffix.</li>
|
|
<li>Some functions might have limitations on some platforms. This should
|
|
be stated in the documentation. Please also consult your OS API
|
|
documentation.</li>
|
|
</ul>
|
|
|
|
|
|
|
|
</dd>
|
|
|
|
|
|
<dt><a name="TLS-Crypto"></a><strong>TLS-Crypto</strong></dt>
|
|
<dd>
|
|
Cryptography and TLS libraries.
|
|
<ul>
|
|
<li>Currently 3 underlying cryptography libraries are supported: openssl,
|
|
cyassl and axTLS. The name of the library in use is written to
|
|
<strong>nixio.tls_provider</strong></li>
|
|
<li>You should whenever possible use openssl or cyassl as axTLS has only
|
|
limited support. It does not provide support for non-blocking sockets and
|
|
is probably less audited than the other ones.</li>
|
|
<li>As the supported Windows versions are not suitable for embedded devices
|
|
axTLS is at the moment not supported on Windows.</li>
|
|
</ul>
|
|
|
|
|
|
|
|
</dd>
|
|
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
</div> <!-- id="content" -->
|
|
|
|
</div> <!-- id="main" -->
|
|
|
|
<div id="about">
|
|
<p><a href="http://validator.w3.org/check?uri=referer"><img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" /></a></p>
|
|
</div> <!-- id="about" -->
|
|
|
|
</div> <!-- id="container" -->
|
|
</body>
|
|
</html>
|