This file is indexed.

/usr/share/doc/cl-uffi/html/design.html is in cl-uffi 2.1.2-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Design</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="index.html" title="UFFI Reference Guide" /><link rel="up" href="introduction.html" title="Chapter 1. Introduction" /><link rel="prev" href="supported-impl.html" title="Supported Implementations" /><link rel="next" href="notes.html" title="Chapter 2. Programming Notes" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Design</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="supported-impl.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Introduction</th><td width="20%" align="right"> <a accesskey="n" href="notes.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Design"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="design"></a>Design</h2></div></div></div><div class="sect2" title="Overview"><div class="titlepage"><div><div><h3 class="title"><a id="id377516"></a>Overview</h3></div></div></div><p>
	<span class="application"><span class="emphasis"><em>UFFI</em></span></span> was designed as a cross-implementation 
	compatible <span class="emphasis"><em>Foreign Function Interface</em></span>.
	Necessarily,
	only a common subset of functionality can be
	provided. Likewise, not every optimization for that a specific
	implementation provides can be supported. Wherever possible,
	though, implementation-specific optimizations are invoked.
      </p></div><div class="sect2" title="Priorities"><div class="titlepage"><div><div><h3 class="title"><a id="id363865"></a>Priorities</h3></div></div></div><p>
	The design of <span class="application"><span class="emphasis"><em>UFFI</em></span></span> is dictated by the order of these priorities:
      </p><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
	    Code using <span class="application"><span class="emphasis"><em>UFFI</em></span></span> must operate correctly on all
	    supported implementations.
	  </p></li><li class="listitem"><p>
	    Take advantage of implementation-specific optimizations. Ideally, 
	    there will not a situation where an implementation-specific
	    <acronym class="acronym">FFI</acronym> will be chosen due to lack of optimizations in <span class="application"><span class="emphasis"><em>UFFI</em></span></span>.
	  </p></li><li class="listitem"><p>Provide a simple interface to developers using
	  <span class="application"><span class="emphasis"><em>UFFI</em></span></span>.  This priority is quite a bit lower than the above priorities.
	  This lower priority is manifest by programmers having to pass types in
	  pointer and array dereferencing, needing to use
	  <code class="constant">cstring</code> wrapper functions, and the use of
	  ensure-char-character and ensure-char-integer functions. My hope is
	  that the developer inconvenience will be outweighed by the generation
	  of optimized code that is cross-implementation compatible.
	  </p></li></ul></div></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="supported-impl.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="introduction.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="notes.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Supported Implementations </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 2. Programming Notes</td></tr></table></div></body></html>