<html><head><metacharset="UTF-8"/><title>coffi v1.0.450</title><linkrel="stylesheet"type="text/css"href="css/default.css"/><linkrel="stylesheet"type="text/css"href="css/highlight.css"/><scripttype="text/javascript"src="js/highlight.min.js"></script><scripttype="text/javascript"src="js/jquery.min.js"></script><scripttype="text/javascript"src="js/page_effects.js"></script><script>hljs.initHighlightingOnLoad();</script></head><body><divid="header"><h2>Generated by <ahref="https://github.com/weavejester/codox">Codox</a></h2><h1><ahref="index.html"><spanclass="project-title"><spanclass="project-name">coffi</span><spanclass="project-version">v1.0.450</span></span></a></h1></div><divclass="sidebar primary"><h3class="no-link"><spanclass="inner">Project</span></h3><ulclass="index-link"><liclass="depth-1 current"><ahref="index.html"><divclass="inner">Index</div></a></li></ul><h3class="no-link"><spanclass="inner">Namespaces</span></h3><ul><liclass="depth-1"><divclass="no-link"><divclass="inner"><spanclass="tree"><spanclass="top"></span><spanclass="bottom"></span></span><span>coffi</span></div></div></li><liclass="depth-2 branch"><ahref="coffi.ffi.html"><divclass="inner"><spanclass="tree"><spanclass="top"></span><spanclass="bottom"></span></span><span>ffi</span></div></a></li><liclass="depth-2 branch"><ahref="coffi.layout.html"><divclass="inner"><spanclass="tree"><spanclass="top"></span><spanclass="bottom"></span></span><span>layout</span></div></a></li><liclass="depth-2"><ahref="coffi.mem.html"><divclass="inner"><spanclass="tree"><spanclass="top"></span><spanclass="bottom"></span></span><span>mem</span></div></a></li></ul></div><divclass="namespace-index"id="content"><h1><spanclass="project-title"><spanclass="project-name">coffi</span><spanclass="project-version">v1.0.450</span></span></h1><divclass="doc"><p>A Foreign Function Interface in Clojure for JDK 22+.</p></div><h2>Namespaces</h2><divclass="namespace"><h3><ahref="coffi.ffi.html">coffi.ffi</a></h3><divclass="doc"><divclass="markdown"><p>Functions for creating handles to native functions and loading native libraries.</p>
</div></div><divclass="index"><p>Public variables and functions:</p><ul><li><ahref="coffi.ffi.html#var-cfn">cfn</a></li><li><ahref="coffi.ffi.html#var-const">const</a></li><li><ahref="coffi.ffi.html#var-defcfn">defcfn</a></li><li><ahref="coffi.ffi.html#var-defconst">defconst</a></li><li><ahref="coffi.ffi.html#var-defvar">defvar</a></li><li><ahref="coffi.ffi.html#var-ensure-symbol">ensure-symbol</a></li><li><ahref="coffi.ffi.html#var-find-symbol">find-symbol</a></li><li><ahref="coffi.ffi.html#var-freset.21">freset!</a></li><li><ahref="coffi.ffi.html#var-fswap.21">fswap!</a></li><li><ahref="coffi.ffi.html#var-load-library">load-library</a></li><li><ahref="coffi.ffi.html#var-load-system-library">load-system-library</a></li><li><ahref="coffi.ffi.html#var-make-downcall">make-downcall</a></li><li><ahref="coffi.ffi.html#var-make-serde-varargs-wrapper">make-serde-varargs-wrapper</a></li><li><ahref="coffi.ffi.html#var-make-serde-wrapper">make-serde-wrapper</a></li><li><ahref="coffi.ffi.html#var-make-varargs-factory">make-varargs-factory</a></li><li><ahref="coffi.ffi.html#var-reify-libspec">reify-libspec</a></li><li><ahref="coffi.ffi.html#var-reify-symbolspec">reify-symbolspec</a></li><li><ahref="coffi.ffi.html#var-static-variable">static-variable</a></li><li><ahref="coffi.ffi.html#var-static-variable-segment">static-variable-segment</a></li><li><ahref="coffi.ffi.html#var-vacfn-factory">vacfn-factory</a></li></ul></div></div><divclass="namespace"><h3><ahref="coffi.layout.html">coffi.layout</a></h3><divclass="doc"><divclass="markdown"><p>Functions for adjusting the layout of structs.</p>
</div></div><divclass="index"><p>Public variables and functions:</p><ul><li><ahref="coffi.layout.html#var-with-c-layout">with-c-layout</a></li></ul></div></div><divclass="namespace"><h3><ahref="coffi.mem.html">coffi.mem</a></h3><divclass="doc"><divclass="markdown"><p>Functions for managing native allocations, memory arenas, and (de)serialization.</p>
</div></div><divclass="index"><p>Public variables and functions:</p><ul><li><ahref="coffi.mem.html#var-address-of">address-of</a></li><li><ahref="coffi.mem.html#var-address.3F">address?</a></li><li><ahref="coffi.mem.html#var-align-of">align-of</a></li><li><ahref="coffi.mem.html#var-alloc">alloc</a></li><li><ahref="coffi.mem.html#var-alloc-instance">alloc-instance</a></li><li><ahref="coffi.mem.html#var-alloc-with">alloc-with</a></li><li><ahref="coffi.mem.html#var-arena-allocator">arena-allocator</a></li><li><ahref="coffi.mem.html#var-as-segment">as-segment</a></li><li><ahref="coffi.mem.html#var-auto-arena">auto-arena</a></li><li><ahref="coffi.mem.html#var-big-endian">big-endian</a></li><li><ahref="coffi.mem.html#var-byte-layout">byte-layout</a></li><li><ahref="coffi.mem.html#var-c-layout">c-layout</a></li><li><ahref="coffi.mem.html#var-char-layout">char-layout</a></li><li><ahref="coffi.mem.html#var-clone-segment">clone-segment</a></li><li><ahref="coffi.mem.html#var-confined-arena">confined-arena</a></li><li><ahref="coffi.mem.html#var-copy-segment">copy-segment</a></li><li><ahref="coffi.mem.html#var-defalias">defalias</a></li><li><ahref="coffi.mem.html#var-deserialize">deserialize</a></li><li><ahref="coffi.mem.html#var-deserialize*">deserialize*</a></li><li><ahref="coffi.mem.html#var-deserialize-from">deserialize-from</a></li><li><ahref="coffi.mem.html#var-double-alignment">double-alignment</a></li><li><ahref="coffi.mem.html#var-double-layout">double-layout</a></li><li><ahref="coffi.mem.html#var-double-size">double-size</a></li><li><ahref="coffi.mem.html#var-float-alignment">float-alignment</a></li><li><ahref="coffi.mem.html#var-float-layout">float-layout</a></li><li><ahref="coffi.mem.html#var-float-size">float-size</a></li><li><ahref="coffi.mem.html#var-global-arena">global-arena</a></li><li><ahref="coffi.mem.html#var-int-alignment">int-alignment</a></li><li><ahref="coffi.mem.html#var-int-layout">int-layout</a></li><li><ahref="coffi.mem.html#var-int-size">int-size</a></li><li><ahref="coffi.mem.html#var-java-layout">java-layout</a></li><li><ahref="coffi.mem.html#var-java-prim-layout">java-prim-layout</a></li><li><ahref="coffi.mem.html#var-little-endian">little-endian</a></li><li><ahref="coffi.mem.html#var-long-alignment">long-alignment</a></li><li><ahref="coffi.mem.html#var-long-layout">long-layout</a></li><li><ahref="coffi.mem.html#var-long-size">long-size</a></li><li><ahref="coffi.mem.html#var-native-endian">native-endian</a></li><li><ahref="coffi.mem.html#var-null.3F">null?</a></li><li><ahref="coffi.mem.html#var-pointer-alignment">pointer-alignment</a></li><li><ahref="coffi.mem.html#var-pointer-layout">pointer-layout</a></li><li><ahref="coffi.mem.html#var-pointer-size">pointer-size</a></li><li><ahref="coffi.mem.html#var-primitive-type">primitive-type</a></li><li><ahref="coffi.mem.html#var-primitive-types">primitive-types</a></li><li><ahref="coffi.mem.html#var-primitive.3F">primitive?</a></li><li><ahref="coffi.mem.html#var-read-address">read-address</a></li><li><ahref="coffi.mem.html#var-read-byte">read-byte</a></li><li><ahref="coffi.mem.html#var-read-char">read-char</a></li><li><ahref="coffi.mem.html#var-read-double">read-double</a></li><li><ahref="coffi.mem.html#var-read-float">read-float</a></li><li><ahref="coffi.mem.html#var-read-int">read-int</a></li><li><ahref="coffi.mem.html#var-read-long">read-long</a></li><li><ahref="coffi.mem.html#var-read-short">read-short</a></li><li><ahref="coffi.mem.html#var-reinterpret">reinterpret</a></li><li><ahref="coffi.mem.html#var-seq-of">seq-of</a></li><li><ahref="coffi.mem.html#var-serialize">serialize</a></li><li><ahref="coffi.mem.html#var-serialize*">serialize*</a></li><li><ahref="coffi.mem.html#var-serialize-into">serialize-into</a></li><li><ahref="coffi.mem.html#var-shared-arena">shared-arena</a></li><li><ahref="coffi.mem.html#var-short-alignment">short-alignment</a></li><li><ahref="coffi.mem.html#va