diff options
-rw-r--r-- | docs/index.html | 366 | ||||
-rw-r--r-- | docs/ldoc.css | 291 | ||||
-rw-r--r-- | docs/topics/01-introduction.md.html | 70 | ||||
-rw-r--r-- | docs/topics/CHANGELOG.md.html | 121 | ||||
-rw-r--r-- | docs/topics/LICENSE.md.html | 79 |
5 files changed, 927 insertions, 0 deletions
diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..eb241c6 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,366 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> +<head> + <title>Lua-System docs</title> + <link rel="stylesheet" href="ldoc.css" type="text/css" /> +</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"> + + +<!-- Menu --> + +<div id="navigation"> +<br/> +<h1>Lua-System</h1> + + +<h2>Contents</h2> +<ul> +<li><a href="#environment_Functions">environment Functions</a></li> +<li><a href="#random_Functions">random Functions</a></li> +<li><a href="#term_Functions">term Functions</a></li> +<li><a href="#time_Functions">time Functions</a></li> +</ul> + + +<h2>Modules</h2> +<ul class="nowrap"> + <li><strong>system</strong></li> +</ul> +<h2>Topics</h2> +<ul class=""> + <li><a href="topics/01-introduction.md.html">1. Introduction</a></li> + <li><a href="topics/CHANGELOG.md.html">CHANGELOG</a></li> + <li><a href="topics/LICENSE.md.html">MIT License</a></li> +</ul> + +</div> + +<div id="content"> + +<h1>Module <code>system</code></h1> +<p>Platform independent system calls for Lua.</p> +<p> + +</p> + + +<h2><a href="#environment_Functions">environment Functions</a></h2> +<table class="function_list"> + <tr> + <td class="name" nowrap><a href="#getenv">getenv (name)</a></td> + <td class="summary">Gets the value of an environment variable.</td> + </tr> + <tr> + <td class="name" nowrap><a href="#getenvs">getenvs ()</a></td> + <td class="summary">Returns a table with all environment variables.</td> + </tr> + <tr> + <td class="name" nowrap><a href="#setenv">setenv (name[, value])</a></td> + <td class="summary">Sets an environment variable.</td> + </tr> +</table> +<h2><a href="#random_Functions">random Functions</a></h2> +<table class="function_list"> + <tr> + <td class="name" nowrap><a href="#random">random ([length=1])</a></td> + <td class="summary">Generate random bytes.</td> + </tr> +</table> +<h2><a href="#term_Functions">term Functions</a></h2> +<table class="function_list"> + <tr> + <td class="name" nowrap><a href="#isatty">isatty (file)</a></td> + <td class="summary">Checks if a file-handle is a TTY.</td> + </tr> +</table> +<h2><a href="#time_Functions">time Functions</a></h2> +<table class="function_list"> + <tr> + <td class="name" nowrap><a href="#gettime">gettime ()</a></td> + <td class="summary">Get system time.</td> + </tr> + <tr> + <td class="name" nowrap><a href="#monotime">monotime ()</a></td> + <td class="summary">Get monotonic time.</td> + </tr> + <tr> + <td class="name" nowrap><a href="#sleep">sleep (seconds[, precision=16])</a></td> + <td class="summary">Sleep without a busy loop.</td> + </tr> +</table> + +<br/> +<br/> + + + <h2 class="section-header "><a name="environment_Functions"></a>environment Functions</h2> + + <dl class="function"> + <dt> + <a name = "getenv"></a> + <strong>getenv (name)</strong> + </dt> + <dd> + Gets the value of an environment variable. </p> + +<p><strong>NOTE</strong>: Windows has multiple copies of environment variables. For this reason, +the <a href="index.html#setenv">setenv</a> function will not work with Lua's <a href="https://www.lua.org/manual/5.1/manual.html#pdf-os.getenv">os.getenv</a> on Windows. If you want +to use <a href="index.html#setenv">setenv</a> then consider patching <a href="https://www.lua.org/manual/5.1/manual.html#pdf-os.getenv">os.getenv</a> with this implementation of <a href="index.html#getenv">getenv</a>. + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">name</span> + <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + name of the environment variable + </li> + </ul> + + <h3>Returns:</h3> + <ol> + + <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a> or <span class="type">nil</span></span> + value of the environment variable, or nil if the variable is not set + </ol> + + + + +</dd> + <dt> + <a name = "getenvs"></a> + <strong>getenvs ()</strong> + </dt> + <dd> + Returns a table with all environment variables. + + + + <h3>Returns:</h3> + <ol> + + <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.5">table</a></span> + table with all environment variables and their values + </ol> + + + + +</dd> + <dt> + <a name = "setenv"></a> + <strong>setenv (name[, value])</strong> + </dt> + <dd> + Sets an environment variable. </p> + +<p><strong>NOTE</strong>: Windows has multiple copies of environment variables. For this reason, the +<a href="index.html#setenv">setenv</a> function will not work with Lua's <a href="https://www.lua.org/manual/5.1/manual.html#pdf-os.getenv">os.getenv</a> on Windows. If you want to use +it then consider patching <a href="https://www.lua.org/manual/5.1/manual.html#pdf-os.getenv">os.getenv</a> with the implementation of <a href="index.html#getenv">system.getenv</a>. + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">name</span> + <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + name of the environment variable + </li> + <li><span class="parameter">value</span> + <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + value of the environment variable, if <code>nil</code> the variable will be deleted (on +Windows, setting an empty string, will also delete the variable) + (<em>optional</em>) + </li> + </ul> + + <h3>Returns:</h3> + <ol> + + <span class="types"><span class="type">boolean</span></span> + success + </ol> + + + + +</dd> +</dl> + <h2 class="section-header "><a name="random_Functions"></a>random Functions</h2> + + <dl class="function"> + <dt> + <a name = "random"></a> + <strong>random ([length=1])</strong> + </dt> + <dd> + Generate random bytes. +This uses <code>CryptGenRandom()</code> on Windows, and <code>/dev/urandom</code> on other platforms. It will return the +requested number of bytes, or an error, never a partial result. + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">length</span> + <span class="types"><span class="type">int</span></span> + number of bytes to get + (<em>default</em> 1) + </li> + </ul> + + <h3>Returns:</h3> + <ol> + + <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + string of random bytes + </ol> + <h3>Or</h3> + <ol> + <li> + <span class="types"><span class="type">nil</span></span> + + +</li> + <li> + <span class="types"><a class="type" href="https://www.lua.org/manual/5.1/manual.html#5.4">string</a></span> + error message</li> + </ol> + + + + +</dd> +</dl> + <h2 class="section-header "><a name="term_Functions"></a>term Functions</h2> + + <dl class="function"> + <dt> + <a name = "isatty"></a> + <strong>isatty (file)</strong> + </dt> + <dd> + Checks if a file-handle is a TTY. + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">file</span> + <span class="types"><span class="type">file</span></span> + the file-handle to check + </li> + </ul> + + <h3>Returns:</h3> + <ol> + + <span class="types"><span class="type">boolean</span></span> + true if the file is a tty + </ol> + + + + +</dd> +</dl> + <h2 class="section-header "><a name="time_Functions"></a>time Functions</h2> + + <dl class="function"> + <dt> + <a name = "gettime"></a> + <strong>gettime ()</strong> + </dt> + <dd> + Get system time. +The time is returned as the seconds since the epoch (1 January 1970 00:00:00). + + + + <h3>Returns:</h3> + <ol> + + <span class="types"><span class="type">number</span></span> + seconds (fractional) + </ol> + + + + +</dd> + <dt> + <a name = "monotime"></a> + <strong>monotime ()</strong> + </dt> + <dd> + Get monotonic time. +The time is returned as the seconds since system start. + + + + <h3>Returns:</h3> + <ol> + + <span class="types"><span class="type">number</span></span> + seconds (fractional) + </ol> + + + + +</dd> + <dt> + <a name = "sleep"></a> + <strong>sleep (seconds[, precision=16])</strong> + </dt> + <dd> + Sleep without a busy loop. +This function will sleep, without doing a busy-loop and wasting CPU cycles. + + + <h3>Parameters:</h3> + <ul> + <li><span class="parameter">seconds</span> + <span class="types"><span class="type">number</span></span> + seconds to sleep (fractional). + </li> + <li><span class="parameter">precision</span> + <span class="types"><span class="type">integer</span></span> + minimum stepsize in milliseconds (Windows only, ignored elsewhere) + (<em>default</em> 16) + </li> + </ul> + + <h3>Returns:</h3> + <ol> + + <code>true</code> on success, or <code>nil+err</code> on failure + </ol> + + + + +</dd> +</dl> + + +</div> <!-- id="content" --> +</div> <!-- id="main" --> +<div id="about"> +<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i> +<i style="float:right;">Last updated 2023-11-15 07:42:18 </i> +</div> <!-- id="about" --> +</div> <!-- id="container" --> +</body> +</html> diff --git a/docs/ldoc.css b/docs/ldoc.css new file mode 100644 index 0000000..5b9fbbf --- /dev/null +++ b/docs/ldoc.css @@ -0,0 +1,291 @@ +body { + color: #47555c; + font-size: 16px; + font-family: "Open Sans", sans-serif; + margin: 0; + background: #eff4ff; +} + +a:link { color: #008fee; } +a:visited { color: #008fee; } +a:hover { color: #22a7ff; } + +h1 { font-size:26px; font-weight: normal; } +h2 { font-size:22px; font-weight: normal; } +h3 { font-size:18px; font-weight: normal; } +h4 { font-size:16px; font-weight: bold; } + +hr { + height: 1px; + background: #c1cce4; + border: 0px; + margin: 15px 0; +} + +code, tt { + font-family: monospace; +} +span.parameter { + font-family: monospace; + font-weight: bold; + color: rgb(99, 115, 131); +} +span.parameter:after { + content:":"; +} +span.types:before { + content:"("; +} +span.types:after { + content:")"; +} +.type { + font-weight: bold; font-style:italic +} + +p.name { + font-family: "Andale Mono", monospace; +} + +#navigation { + float: left; + background-color: white; + border-right: 1px solid #d3dbec; + border-bottom: 1px solid #d3dbec; + + width: 14em; + vertical-align: top; + overflow: visible; +} + +#navigation br { + display: none; +} + +#navigation h1 { + background-color: white; + border-bottom: 1px solid #d3dbec; + padding: 15px; + margin-top: 0px; + margin-bottom: 0px; +} + +#navigation h2 { + font-size: 18px; + background-color: white; + border-bottom: 1px solid #d3dbec; + padding-left: 15px; + padding-right: 15px; + padding-top: 10px; + padding-bottom: 10px; + margin-top: 30px; + margin-bottom: 0px; +} + +#content h1 { + background-color: #2c3e67; + color: white; + padding: 15px; + margin: 0px; +} + +#content h2 { + background-color: #6c7ea7; + color: white; + padding: 15px; + padding-top: 15px; + padding-bottom: 15px; + margin-top: 0px; +} + +#content h2 a { + background-color: #6c7ea7; + color: white; + text-decoration: none; +} + +#content h2 a:hover { + text-decoration: underline; +} + +#content h3 { + font-style: italic; + padding-top: 15px; + padding-bottom: 4px; + margin-right: 15px; + margin-left: 15px; + margin-bottom: 5px; + border-bottom: solid 1px #bcd; +} + +#content h4 { + margin-right: 15px; + margin-left: 15px; + border-bottom: solid 1px #bcd; +} + +#content pre { + margin: 15px; +} + +pre { + background-color: rgb(50, 55, 68); + color: white; + border-radius: 3px; + /* border: 1px solid #C0C0C0; /* silver */ + padding: 15px; + overflow: auto; + font-family: "Andale Mono", monospace; +} + +#content ul pre.example { + margin-left: 0px; +} + +table.index { +/* border: 1px #00007f; */ +} +table.index td { text-align: left; vertical-align: top; } + +#navigation ul +{ + font-size:1em; + list-style-type: none; + margin: 1px 1px 10px 1px; + padding-left: 20px; +} + +#navigation li { + text-indent: -1em; + display: block; + margin: 3px 0px 0px 22px; +} + +#navigation li li a { + margin: 0px 3px 0px -1em; +} + +#content { + margin-left: 14em; +} + +#content p { + padding-left: 15px; + padding-right: 15px; +} + +#content table { + padding-left: 15px; + padding-right: 15px; + background-color: white; +} + +#content p, #content table, #content ol, #content ul, #content dl { + max-width: 900px; +} + +#about { + padding: 15px; + padding-left: 16em; + background-color: white; + border-top: 1px solid #d3dbec; + border-bottom: 1px solid #d3dbec; +} + +table.module_list, table.function_list { + border-width: 1px; + border-style: solid; + border-color: #cccccc; + border-collapse: collapse; + margin: 15px; +} +table.module_list td, table.function_list td { + border-width: 1px; + padding-left: 10px; + padding-right: 10px; + padding-top: 5px; + padding-bottom: 5px; + border: solid 1px rgb(193, 204, 228); +} +table.module_list td.name, table.function_list td.name { + background-color: white; min-width: 200px; border-right-width: 0px; +} +table.module_list td.summary, table.function_list td.summary { + background-color: white; width: 100%; border-left-width: 0px; +} + +dl.function { + margin-right: 15px; + margin-left: 15px; + border-bottom: solid 1px rgb(193, 204, 228); + border-left: solid 1px rgb(193, 204, 228); + border-right: solid 1px rgb(193, 204, 228); + background-color: white; +} + +dl.function dt { + color: rgb(99, 123, 188); + font-family: monospace; + border-top: solid 1px rgb(193, 204, 228); + padding: 15px; +} + +dl.function dd { + margin-left: 15px; + margin-right: 15px; + margin-top: 5px; + margin-bottom: 15px; +} + +#content dl.function dd h3 { + margin-top: 0px; + margin-left: 0px; + padding-left: 0px; + font-size: 16px; + color: rgb(128, 128, 128); + border-bottom: solid 1px #def; +} + +#content dl.function dd ul, #content dl.function dd ol { + padding: 0px; + padding-left: 15px; + list-style-type: none; +} + +ul.nowrap { + overflow:auto; + white-space:nowrap; +} + +.section-description { + padding-left: 15px; + padding-right: 15px; +} + +/* stop sublists from having initial vertical space */ +ul ul { margin-top: 0px; } +ol ul { margin-top: 0px; } +ol ol { margin-top: 0px; } +ul ol { margin-top: 0px; } + +/* make the target distinct; helps when we're navigating to a function */ +a:target + * { + background-color: #FF9; +} + + +/* styles for prettification of source */ +pre .comment { color: #bbccaa; } +pre .constant { color: #a8660d; } +pre .escape { color: #844631; } +pre .keyword { color: #ffc090; font-weight: bold; } +pre .library { color: #0e7c6b; } +pre .marker { color: #512b1e; background: #fedc56; font-weight: bold; } +pre .string { color: #8080ff; } +pre .number { color: #f8660d; } +pre .operator { color: #2239a8; font-weight: bold; } +pre .preprocessor, pre .prepro { color: #a33243; } +pre .global { color: #c040c0; } +pre .user-keyword { color: #800080; } +pre .prompt { color: #558817; } +pre .url { color: #272fc2; text-decoration: underline; } diff --git a/docs/topics/01-introduction.md.html b/docs/topics/01-introduction.md.html new file mode 100644 index 0000000..2901cc9 --- /dev/null +++ b/docs/topics/01-introduction.md.html @@ -0,0 +1,70 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> +<head> + <title>Lua-System docs</title> + <link rel="stylesheet" href="../ldoc.css" type="text/css" /> +</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"> + + +<!-- Menu --> + +<div id="navigation"> +<br/> +<h1>Lua-System</h1> + + + + +<h2>Topics</h2> +<ul class=""> + <li><strong>1. Introduction</strong></li> + <li><a href="../topics/CHANGELOG.md.html">CHANGELOG</a></li> + <li><a href="../topics/LICENSE.md.html">MIT License</a></li> +</ul> +<h2>Modules</h2> +<ul class="nowrap"> + <li><a href="../index.html">system</a></li> +</ul> + +</div> + +<div id="content"> + + +<h1>1. Introduction</h1> + +<p>luasystem is a platform independent system call library for Lua. +Supports Unix, Windows, MacOS, <code>Lua >= 5.1</code> and <code>luajit >= 2.0.0</code>.</p> + +<p>Lua is typically platform independent, but it requires adhering to very old C +standards. This in turn means that many common features (according to todays standards) +are not available. This module attempts to overcome some of those hurdles by providing +functions that cover those common needs.</p> + +<p>This is not a kitchen sink library, but a minimalistic one with a focus on platform +independence.</p> + + +</div> <!-- id="content" --> +</div> <!-- id="main" --> +<div id="about"> +<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i> +<i style="float:right;">Last updated 2023-11-15 07:42:18 </i> +</div> <!-- id="about" --> +</div> <!-- id="container" --> +</body> +</html> diff --git a/docs/topics/CHANGELOG.md.html b/docs/topics/CHANGELOG.md.html new file mode 100644 index 0000000..f909b4b --- /dev/null +++ b/docs/topics/CHANGELOG.md.html @@ -0,0 +1,121 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> +<head> + <title>Lua-System docs</title> + <link rel="stylesheet" href="../ldoc.css" type="text/css" /> +</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"> + + +<!-- Menu --> + +<div id="navigation"> +<br/> +<h1>Lua-System</h1> + + +<h2>Contents</h2> +<ul> +<li><a href="#Versioning">Versioning </a></li> +<li><a href="#Version_history">Version history </a></li> +</ul> + + +<h2>Topics</h2> +<ul class=""> + <li><a href="../topics/01-introduction.md.html">1. Introduction</a></li> + <li><strong>CHANGELOG</strong></li> + <li><a href="../topics/LICENSE.md.html">MIT License</a></li> +</ul> +<h2>Modules</h2> +<ul class="nowrap"> + <li><a href="../index.html">system</a></li> +</ul> + +</div> + +<div id="content"> + + +<h1>CHANGELOG</h1> + +<p><a name="Versioning"></a></p> +<h2>Versioning</h2> + +<p>This library is versioned based on Semantic Versioning (<a href="https://semver.org/">SemVer</a>).</p> + +<h4>Version scoping</h4> + +<p>The scope of what is covered by the version number excludes:</p> + +<ul> + <li>error messages; the text of the messages can change, unless specifically documented.</li> +</ul> + +<h4>Releasing new versions</h4> + +<ul> + <li>create a release branch</li> + <li>update the changelog below</li> + <li>update version and copyright-years in <code>./LICENSE.md</code> and <code>./src/time.c</code> (in module constants)</li> + <li>create a new rockspec and update the version inside the new rockspec:<br/> + <code>cp luasystem-scm-0.rockspec ./rockspecs/luasystem-X.Y.Z-1.rockspec</code></li> + <li>clean and render the docs: run <code>ldoc .</code></li> + <li>commit the changes as <code>Release vX.Y.Z</code></li> + <li>push the commit, and create a release PR</li> + <li>after merging tag the release commit with <code>vX.Y.Z</code></li> + <li>upload to LuaRocks:<br/> + <code>luarocks upload ./rockspecs/luasystem-X.Y.Z-1.rockspec --api-key=ABCDEFGH</code></li> + <li>test the newly created rock:<br/> + <code>luarocks install luasystem</code></li> +</ul> + +<p><a name="Version_history"></a></p> +<h2>Version history</h2> + +<h3>Version X.Y.Z, unreleased</h3> + +<ul> + <li>Feat: on Windows <a href="../index.html#sleep">sleep</a> now has a precision parameter</li> + <li>Feat: <a href="../index.html#setenv">setenv</a> added to set environment variables.</li> + <li>Feat: <a href="../index.html#getenvs">getenvs</a> added to list environment variables.</li> + <li>Feat: <a href="../index.html#getenv">getenv</a> added to get environment variable previously set (Windows).</li> + <li>Feat: <a href="../index.html#random">random</a> added to return high-quality random bytes</li> + <li>Feat: <a href="../index.html#isatty">isatty</a> added to check if a file-handle is a tty</li> +</ul> + +<h3>Version 0.2.1, released 02-Oct-2016</h3> + +<h3>Version 0.2.0, released 08-May-2016</h3> + +<h3>Version 0.1.1, released 10-Apr-2016</h3> + +<h3>Version 0.1.0, released 11-Feb-2016</h3> + +<ul> + <li>initial release</li> +</ul> + + +</div> <!-- id="content" --> +</div> <!-- id="main" --> +<div id="about"> +<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i> +<i style="float:right;">Last updated 2023-11-15 07:42:18 </i> +</div> <!-- id="about" --> +</div> <!-- id="container" --> +</body> +</html> diff --git a/docs/topics/LICENSE.md.html b/docs/topics/LICENSE.md.html new file mode 100644 index 0000000..67614d2 --- /dev/null +++ b/docs/topics/LICENSE.md.html @@ -0,0 +1,79 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html> +<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> +<head> + <title>Lua-System docs</title> + <link rel="stylesheet" href="../ldoc.css" type="text/css" /> +</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"> + + +<!-- Menu --> + +<div id="navigation"> +<br/> +<h1>Lua-System</h1> + + + + +<h2>Topics</h2> +<ul class=""> + <li><a href="../topics/01-introduction.md.html">1. Introduction</a></li> + <li><a href="../topics/CHANGELOG.md.html">CHANGELOG</a></li> + <li><strong>MIT License</strong></li> +</ul> +<h2>Modules</h2> +<ul class="nowrap"> + <li><a href="../index.html">system</a></li> +</ul> + +</div> + +<div id="content"> + + +<h1>MIT License</h1> + +<h3>Copyright (c) 2016-2023 Oscar Lim</h3> + +<p>Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions:</p> + +<p>The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software.</p> + +<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE.</p> + + +</div> <!-- id="content" --> +</div> <!-- id="main" --> +<div id="about"> +<i>generated by <a href="http://github.com/stevedonovan/LDoc">LDoc 1.4.6</a></i> +<i style="float:right;">Last updated 2023-11-15 07:42:18 </i> +</div> <!-- id="about" --> +</div> <!-- id="container" --> +</body> +</html> |