summaryrefslogtreecommitdiff
path: root/doc/ext_ffi_semantics.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/ext_ffi_semantics.html')
-rw-r--r--doc/ext_ffi_semantics.html15
1 files changed, 11 insertions, 4 deletions
diff --git a/doc/ext_ffi_semantics.html b/doc/ext_ffi_semantics.html
index f9a118a0..d9aa27c8 100644
--- a/doc/ext_ffi_semantics.html
+++ b/doc/ext_ffi_semantics.html
@@ -582,6 +582,10 @@ Reference types are dereferenced <em>before</em> performing each of
582the operations below &mdash; the operation is applied to the 582the operations below &mdash; the operation is applied to the
583C&nbsp;type pointed to by the reference. 583C&nbsp;type pointed to by the reference.
584</p> 584</p>
585<p>
586The pre-defined operations are always tried first before deferring to a
587metamethod for a ctype (if defined).
588</p>
585 589
586<h3 id="cdata_array">Indexing a cdata object</h3> 590<h3 id="cdata_array">Indexing a cdata object</h3>
587<ul> 591<ul>
@@ -803,9 +807,10 @@ vararg functions</a>.
803</p> 807</p>
804<p> 808<p>
805Memory areas returned by C functions (e.g. from <tt>malloc()</tt>) 809Memory areas returned by C functions (e.g. from <tt>malloc()</tt>)
806must be manually managed, of course. Pointers to cdata objects are 810must be manually managed, of course (or use
807indistinguishable from pointers returned by C functions (which is one 811<a href="ext_ffi_api.html#ffi_gc"><tt>ffi.gc()</tt></a>)). Pointers to
808of the reasons why the GC cannot follow them). 812cdata objects are indistinguishable from pointers returned by C
813functions (which is one of the reasons why the GC cannot follow them).
809</p> 814</p>
810 815
811<h2 id="clib">C Library Namespaces</h2> 816<h2 id="clib">C Library Namespaces</h2>
@@ -977,6 +982,9 @@ two.</li>
977value.</li> 982value.</li>
978<li>Calls to C&nbsp;functions with 64 bit arguments or return values 983<li>Calls to C&nbsp;functions with 64 bit arguments or return values
979on 32 bit CPUs.</li> 984on 32 bit CPUs.</li>
985<li>Calls to ctype metamethods which are not plain functions.</li>
986<li>ctype <tt>__newindex</tt> tables and non-string lookups in ctype
987<tt>__index</tt> tables.</li>
980<li>Accesses to external variables in C&nbsp;library namespaces.</li> 988<li>Accesses to external variables in C&nbsp;library namespaces.</li>
981<li><tt>tostring()</tt> for cdata types.</li> 989<li><tt>tostring()</tt> for cdata types.</li>
982<li>The following <a href="ext_ffi_api.html">ffi.* API</a> functions: 990<li>The following <a href="ext_ffi_api.html">ffi.* API</a> functions:
@@ -988,7 +996,6 @@ Other missing features:
988<ul> 996<ul>
989<li>Bit operations for 64&nbsp;bit types.</li> 997<li>Bit operations for 64&nbsp;bit types.</li>
990<li>Arithmetic for <tt>complex</tt> numbers.</li> 998<li>Arithmetic for <tt>complex</tt> numbers.</li>
991<li>User-defined metamethods for C&nbsp;types.</li>
992<li>Callbacks from C&nbsp;code to Lua functions.</li> 999<li>Callbacks from C&nbsp;code to Lua functions.</li>
993<li>Atomic handling of <tt>errno</tt>.</li> 1000<li>Atomic handling of <tt>errno</tt>.</li>
994<li>Passing structs by value to vararg C&nbsp;functions.</li> 1001<li>Passing structs by value to vararg C&nbsp;functions.</li>