~ubuntu-branches/ubuntu/lucid/gauche-c-wrapper/lucid

« back to all changes in this revision

Viewing changes to doc/c-wrapper-refe.html

  • Committer: Bazaar Package Importer
  • Author(s): NIIBE Yutaka
  • Date: 2008-04-07 09:15:03 UTC
  • Revision ID: james.westby@ubuntu.com-20080407091503-wu0h414koe95kj4i
Tags: upstream-0.5.2
ImportĀ upstreamĀ versionĀ 0.5.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
 
2
<html>
 
3
<!-- Created on December, 26 2006 by texi2html 1.76 -->
 
4
<!--
 
5
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
 
6
            Karl Berry  <karl@freefriends.org>
 
7
            Olaf Bachmann <obachman@mathematik.uni-kl.de>
 
8
            and many others.
 
9
Maintained by: Many creative people <dev@texi2html.cvshome.org>
 
10
Send bugs and suggestions to <users@texi2html.cvshome.org>
 
11
 
 
12
-->
 
13
<head>
 
14
<title>c-wrapper reference manual: Top</title>
 
15
 
 
16
<meta name="description" content="c-wrapper reference manual: Top">
 
17
<meta name="keywords" content="c-wrapper reference manual: Top">
 
18
<meta name="resource-type" content="document">
 
19
<meta name="distribution" content="global">
 
20
<meta name="Generator" content="texi2html 1.76">
 
21
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
 
22
<style type="text/css">
 
23
<!--
 
24
a.summary-letter {text-decoration: none}
 
25
pre.display {font-family: serif}
 
26
pre.format {font-family: serif}
 
27
pre.menu-comment {font-family: serif}
 
28
pre.menu-preformatted {font-family: serif}
 
29
pre.smalldisplay {font-family: serif; font-size: smaller}
 
30
pre.smallexample {font-size: smaller}
 
31
pre.smallformat {font-family: serif; font-size: smaller}
 
32
pre.smalllisp {font-size: smaller}
 
33
span.sansserif {font-family:sans-serif; font-weight:normal;}
 
34
ul.toc {list-style: none}
 
35
-->
 
36
</style>
 
37
 
 
38
 
 
39
</head>
 
40
 
 
41
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
 
42
 
 
43
<a name="Top"></a>
 
44
<table cellpadding="1" cellspacing="1" border="0">
 
45
<tr><td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
 
46
<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
 
47
<td valign="middle" align="left">[<a href="#SEC9" title="Index">Index</a>]</td>
 
48
<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
 
49
</tr></table>
 
50
<h1 class="settitle">c-wrapper reference manual
 
51
</h1>
 
52
 
 
53
<p>This is a reference manual of c-wrapper.
 
54
</p>
 
55
<table class="menu" border="0" cellspacing="0">
 
56
<tr><td align="left" valign="top"><a href="#SEC1">1. c-wrapper</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">                   
 
57
</td></tr>
 
58
<tr><td align="left" valign="top"><a href="#SEC5">2. objc-wrapper</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">                
 
59
</td></tr>
 
60
<tr><td align="left" valign="top"><a href="#SEC9">A. Function and Syntax Index</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">   
 
61
</td></tr>
 
62
<tr><td align="left" valign="top"><a href="#SEC10">B. Class Index</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">                 
 
63
</td></tr>
 
64
<tr><td align="left" valign="top"><a href="#SEC11">C. Variable Index</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">              
 
65
</td></tr>
 
66
<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
 
67
 --- The Detailed Node Listing ---
 
68
 
 
69
c-wrapper
 
70
 
 
71
</pre></th></tr><tr><td align="left" valign="top"><a href="#SEC2">1.1 Load a shared library</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">       
 
72
</td></tr>
 
73
<tr><td align="left" valign="top"><a href="#SEC3">1.2 Load a header file</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">          
 
74
</td></tr>
 
75
<tr><td align="left" valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">  
 
76
</td></tr>
 
77
<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
 
78
objc-wrapper
 
79
 
 
80
</pre></th></tr><tr><td align="left" valign="top"><a href="#SEC6">2.1 Load a framework library</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">    
 
81
</td></tr>
 
82
<tr><td align="left" valign="top"><a href="#SEC7">2.2 Load an Objective-C header file</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">  
 
83
</td></tr>
 
84
<tr><td align="left" valign="top"><a href="#SEC8">2.3 Functions about Objective-C objects</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">  
 
85
</td></tr>
 
86
<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
 
87
</pre></th></tr></table>
 
88
 
 
89
<hr size="1">
 
90
<a name="c_002dwrapper"></a>
 
91
<a name="SEC1"></a>
 
92
<table cellpadding="1" cellspacing="1" border="0">
 
93
<tr><td valign="middle" align="left">[<a href="#Top" title="Previous section in reading order"> &lt; </a>]</td>
 
94
<td valign="middle" align="left">[<a href="#SEC2" title="Next section in reading order"> &gt; </a>]</td>
 
95
<td valign="middle" align="left"> &nbsp; </td>
 
96
<td valign="middle" align="left">[ &lt;&lt; ]</td>
 
97
<td valign="middle" align="left">[<a href="#Top" title="Up section"> Up </a>]</td>
 
98
<td valign="middle" align="left">[<a href="#SEC5" title="Next chapter"> &gt;&gt; </a>]</td>
 
99
<td valign="middle" align="left"> &nbsp; </td>
 
100
<td valign="middle" align="left"> &nbsp; </td>
 
101
<td valign="middle" align="left"> &nbsp; </td>
 
102
<td valign="middle" align="left"> &nbsp; </td>
 
103
<td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
 
104
<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
 
105
<td valign="middle" align="left">[<a href="#SEC9" title="Index">Index</a>]</td>
 
106
<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
 
107
</tr></table>
 
108
<h1 class="chapter"> 1. c-wrapper </h1>
 
109
 
 
110
<p><code>c-wrapper</code> is the module which enables to use C libraries.
 
111
</p>
 
112
<table class="menu" border="0" cellspacing="0">
 
113
<tr><td align="left" valign="top"><a href="#SEC2">1.1 Load a shared library</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">       
 
114
</td></tr>
 
115
<tr><td align="left" valign="top"><a href="#SEC3">1.2 Load a header file</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">          
 
116
</td></tr>
 
117
<tr><td align="left" valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">  
 
118
</td></tr>
 
119
</table>
 
120
 
 
121
<hr size="6">
 
122
<a name="Load-a-shared-library"></a>
 
123
<a name="SEC2"></a>
 
124
<table cellpadding="1" cellspacing="1" border="0">
 
125
<tr><td valign="middle" align="left">[<a href="#SEC1" title="Previous section in reading order"> &lt; </a>]</td>
 
126
<td valign="middle" align="left">[<a href="#SEC3" title="Next section in reading order"> &gt; </a>]</td>
 
127
<td valign="middle" align="left"> &nbsp; </td>
 
128
<td valign="middle" align="left">[<a href="#SEC1" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
 
129
<td valign="middle" align="left">[<a href="#SEC1" title="Up section"> Up </a>]</td>
 
130
<td valign="middle" align="left">[<a href="#SEC5" title="Next chapter"> &gt;&gt; </a>]</td>
 
131
<td valign="middle" align="left"> &nbsp; </td>
 
132
<td valign="middle" align="left"> &nbsp; </td>
 
133
<td valign="middle" align="left"> &nbsp; </td>
 
134
<td valign="middle" align="left"> &nbsp; </td>
 
135
<td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
 
136
<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
 
137
<td valign="middle" align="left">[<a href="#SEC9" title="Index">Index</a>]</td>
 
138
<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
 
139
</tr></table>
 
140
<h2 class="section"> 1.1 Load a shared library </h2>
 
141
 
 
142
<dl>
 
143
<dt><u>Function:</u> <b>c-load-library</b><i> file-or-list &amp;keyword</i>
 
144
<a name="IDX1"></a>
 
145
</dt>
 
146
<dd><p>Load one or more shared libraries. If you omit the extension, c-wrapper add
 
147
a extension (.so, .dylib, and so on) automatically.
 
148
</p>
 
149
<p>Keyword arguments are:
 
150
</p><dl compact="compact">
 
151
<dt> <code>:option option-string</code></dt>
 
152
<dd><p>Specify library names and library load paths with ld like option.
 
153
</p><dl compact="compact">
 
154
<dt> <code>-llibrary</code>       </dt>
 
155
<dd><p>Load the library named <var>library</var>. For example, -lc means to load 'libc'.
 
156
</p></dd>
 
157
<dt> <code>-Ldir</code></dt>
 
158
<dd><p>Add directory <var>dir</var> to the library search paths.
 
159
</p></dd>
 
160
</dl>
 
161
</dd>
 
162
</dl>
 
163
</dd></dl>
 
164
 
 
165
<dl>
 
166
<dt><u>Function:</u> <b>c-ld</b><i> option-string</i>
 
167
<a name="IDX2"></a>
 
168
</dt>
 
169
<dd><p>This function is the same (c-load-library '() :option option-string). and is designed to use with a command returning linker flags like pkg-config.
 
170
</p><table><tr><td>&nbsp;</td><td><pre class="example">(c-ld (process-output-&gt;string &quot;pkg-config Wand --libs&quot;))
 
171
</pre></td></tr></table></dd></dl>
 
172
 
 
173
<hr size="6">
 
174
<a name="Load-a-header-file"></a>
 
175
<a name="SEC3"></a>
 
176
<table cellpadding="1" cellspacing="1" border="0">
 
177
<tr><td valign="middle" align="left">[<a href="#SEC2" title="Previous section in reading order"> &lt; </a>]</td>
 
178
<td valign="middle" align="left">[<a href="#SEC4" title="Next section in reading order"> &gt; </a>]</td>
 
179
<td valign="middle" align="left"> &nbsp; </td>
 
180
<td valign="middle" align="left">[<a href="#SEC1" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
 
181
<td valign="middle" align="left">[<a href="#SEC1" title="Up section"> Up </a>]</td>
 
182
<td valign="middle" align="left">[<a href="#SEC5" title="Next chapter"> &gt;&gt; </a>]</td>
 
183
<td valign="middle" align="left"> &nbsp; </td>
 
184
<td valign="middle" align="left"> &nbsp; </td>
 
185
<td valign="middle" align="left"> &nbsp; </td>
 
186
<td valign="middle" align="left"> &nbsp; </td>
 
187
<td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
 
188
<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
 
189
<td valign="middle" align="left">[<a href="#SEC9" title="Index">Index</a>]</td>
 
190
<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
 
191
</tr></table>
 
192
<h2 class="section"> 1.2 Load a header file </h2>
 
193
 
 
194
<dl>
 
195
<dt><u>Macro:</u> <b>c-include</b><i> file-or-list &amp;keyword</i>
 
196
<a name="IDX3"></a>
 
197
</dt>
 
198
<dd><p>Load one or more header files and define functions, global variables, constants
 
199
, type definitions and macros in the current module. 
 
200
Keyword arguments are:
 
201
</p><dl compact="compact">
 
202
<dt> <code>:include-dirs</code></dt>
 
203
<dd><p>Sets up include directories. You can specify either a string file name or a list of string file names.
 
204
</p></dd>
 
205
<dt> <code>:option</code></dt>
 
206
<dd><p>Sets up C preprocessor options.
 
207
</p></dd>
 
208
<dt> <code>:import</code></dt>
 
209
<dd><p>Sets up symbols which you want to define. You can specify a symbol, a string, a regexp, a procedure or a list of them.
 
210
If you put a procedure, it is called with two arguments, a header file name and a symbol. When the procedure returns <code>#f</code>, the symbol is ignored, and the symbol is defined otherwise.
 
211
</p></dd>
 
212
<dt> <code>:export?</code></dt>
 
213
<dd><p>Specifies whether symbols in header files are exported or not. If you put <code>#t</code>, the symbols are exported automatically, and otherwise they are not exported.
 
214
</p></dd>
 
215
<dt> <code>:compiled-lib</code> </dt>
 
216
<dd><p>Sets up a shared library file name which cwcompile command generates.
 
217
At runtime, if the library is exists, loads it instead of parsing the header files. Otherwise, parses the header files.
 
218
</p></dd>
 
219
</dl>
 
220
 
 
221
<p>In loading header files, <code>c-include</code> gets these information and defines symbols.
 
222
</p><dl compact="compact">
 
223
<dt> Function prototype</dt>
 
224
<dd><p>Defines a function with the same name. It applies <code>cast</code> to its arguments and <code>scm-cast</code> to its return value.
 
225
</p></dd>
 
226
<dt> External variable</dt>
 
227
<dd><p>Defines an object with the same name.
 
228
</p></dd>
 
229
<dt> <code>enum</code></dt>
 
230
<dd><p>Defines a constant value with the same name.
 
231
</p></dd>
 
232
<dt> <code>struct</code></dt>
 
233
<dd><p>Defines a struct class. You can use it with <code>(c-struct tagname)</code>.
 
234
</p></dd>
 
235
<dt> <code>union</code></dt>
 
236
<dd><p>Defines a union class. You can use it with <code>(c-union tagname)</code>.
 
237
</p></dd>
 
238
<dt> <code>typedef</code></dt>
 
239
<dd><p>Defines a class with the name <code>&lt;typename&gt;</code>.
 
240
</p></dd>
 
241
<dt> Objectlike macro</dt>
 
242
<dd><p>Defines a value with the same name if the macro body is an expression, all identifiers in the body have been defined and the expression has no side-effect.
 
243
</p>
 
244
<p>You have to be careful to use the value because it is the header-load-time value, not macro-use-time value. It may be different from one you expected.
 
245
</p></dd>
 
246
<dt> Functionlike macro</dt>
 
247
<dd><p>Defines a macro with the same name if the macro body is an expression or statements and all identifiers in the body have been defined.
 
248
</p></dd>
 
249
</dl>
 
250
 
 
251
</dd></dl>
 
252
 
 
253
<dl>
 
254
<dt><u>Macro:</u> <b>c-load</b><i> file-or-list &amp;keyword</i>
 
255
<a name="IDX4"></a>
 
256
</dt>
 
257
<dd><p>Loads libraries, parses header files and defines functions, global variables, constants, type definitions and macros in current module.
 
258
This macro does <code>c-load-library</code> and <code>c-include</code> at once.
 
259
</p>
 
260
<p>Keyword arguments are:
 
261
</p><dl compact="compact">
 
262
<dt> <code>:cflags</code></dt>
 
263
<dt> <code>:cppflags</code></dt>
 
264
<dt> <code>:ldflags</code></dt>
 
265
<dt> <code>:libs</code></dt>
 
266
<dd><p>Sets up flags for parsing header files and loading libraries, <code>:cppflags</code> is passed to the preprocessor and <code>:ldflags</code> and <code>:libs</code> are used for loading libraries. cwcompile uses these flags, too.
 
267
</p></dd>
 
268
<dt> <code>:cflags-cmd</code></dt>
 
269
<dt> <code>:cppflags-cmd</code></dt>
 
270
<dt> <code>:ldflags-cmd</code></dt>
 
271
<dt> <code>:libs-cmd</code></dt>
 
272
<dd><p>Sets up commands which returns the flags. For example, if you want to parse gtk's header file, you can do the following:
 
273
</p><table><tr><td>&nbsp;</td><td><pre class="example">(c-load &quot;gtk/gtk/h&quot;
 
274
        :cppflags-cmd &quot;pkg-config gtk+-2.0 --cflags-only-I&quot;
 
275
        :cflags-cmd   &quot;pkg-config gtk+-2.0 --cflags-only-other&quot;
 
276
        :libs-cmd     &quot;pkg-config gtk+-2.0 --libs&quot;
 
277
        :compiled-lib &quot;gtklib&quot;)
 
278
</pre></td></tr></table>
 
279
</dd>
 
280
<dt> <code>:import</code></dt>
 
281
<dd><p>Sets up symbols which you want to define. You can specify a symbol, a string, a regexp, a procedure or a list of them.
 
282
If you put a procedure, it is called with two arguments, a header file name and a symbol. When the procedure returns <code>#f</code>, the symbol is ignored, and the symbol is defined otherwise.
 
283
</p></dd>
 
284
<dt> <code>:export?</code></dt>
 
285
<dd><p>Specifies whether symbols in header files are exported or not. If you put <code>#t</code>, the symbols are exported automatically, and otherwise they are not exported.
 
286
</p></dd>
 
287
<dt> <code>:compiled-lib</code> </dt>
 
288
<dd><p>Sets up a shared library file name which cwcompile command generates.
 
289
At runtime, if the library is exists, loads it instead of parsing the header files. Otherwise, parses the header files.
 
290
</p></dd>
 
291
</dl>
 
292
 
 
293
</dd></dl>
 
294
 
 
295
<hr size="6">
 
296
<a name="Classes-and-function-about-C-types-and-values"></a>
 
297
<a name="SEC4"></a>
 
298
<table cellpadding="1" cellspacing="1" border="0">
 
299
<tr><td valign="middle" align="left">[<a href="#SEC3" title="Previous section in reading order"> &lt; </a>]</td>
 
300
<td valign="middle" align="left">[<a href="#SEC5" title="Next section in reading order"> &gt; </a>]</td>
 
301
<td valign="middle" align="left"> &nbsp; </td>
 
302
<td valign="middle" align="left">[<a href="#SEC1" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
 
303
<td valign="middle" align="left">[<a href="#SEC1" title="Up section"> Up </a>]</td>
 
304
<td valign="middle" align="left">[<a href="#SEC5" title="Next chapter"> &gt;&gt; </a>]</td>
 
305
<td valign="middle" align="left"> &nbsp; </td>
 
306
<td valign="middle" align="left"> &nbsp; </td>
 
307
<td valign="middle" align="left"> &nbsp; </td>
 
308
<td valign="middle" align="left"> &nbsp; </td>
 
309
<td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
 
310
<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
 
311
<td valign="middle" align="left">[<a href="#SEC9" title="Index">Index</a>]</td>
 
312
<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
 
313
</tr></table>
 
314
<h2 class="section"> 1.3 Classes and functions about C types </h2>
 
315
 
 
316
<dl>
 
317
<dt><u>Class:</u> <b>&lt;c-type&gt;</b>
 
318
<a name="IDX5"></a>
 
319
</dt>
 
320
<dd><p>This is a basic class for the classes related with C types.
 
321
</p></dd></dl>
 
322
 
 
323
<dl>
 
324
<dt><u>Class:</u> <b>&lt;c-type-meta&gt;</b>
 
325
<a name="IDX6"></a>
 
326
</dt>
 
327
<dd><p>This is a meta class for the classes related with C types. All the classes are instances of <code>&lt;c-type-meta&gt;</code>.
 
328
</p></dd></dl>
 
329
 
 
330
<dl>
 
331
<dt><u>Class:</u> <b>&lt;c-char&gt;</b>
 
332
<a name="IDX7"></a>
 
333
</dt>
 
334
<dt><u>Class:</u> <b>&lt;c-uchar&gt;</b>
 
335
<a name="IDX8"></a>
 
336
</dt>
 
337
<dt><u>Class:</u> <b>&lt;c-short&gt;</b>
 
338
<a name="IDX9"></a>
 
339
</dt>
 
340
<dt><u>Class:</u> <b>&lt;c-ushort&gt;</b>
 
341
<a name="IDX10"></a>
 
342
</dt>
 
343
<dt><u>Class:</u> <b>&lt;c-int&gt;</b>
 
344
<a name="IDX11"></a>
 
345
</dt>
 
346
<dt><u>Class:</u> <b>&lt;c-uint&gt;</b>
 
347
<a name="IDX12"></a>
 
348
</dt>
 
349
<dt><u>Class:</u> <b>&lt;c-long&gt;</b>
 
350
<a name="IDX13"></a>
 
351
</dt>
 
352
<dt><u>Class:</u> <b>&lt;c-ulong&gt;</b>
 
353
<a name="IDX14"></a>
 
354
</dt>
 
355
<dt><u>Class:</u> <b>&lt;c-longlong&gt;</b>
 
356
<a name="IDX15"></a>
 
357
</dt>
 
358
<dt><u>Class:</u> <b>&lt;c-ulonglong&gt;</b>
 
359
<a name="IDX16"></a>
 
360
</dt>
 
361
<dt><u>Class:</u> <b>&lt;c-float&gt;</b>
 
362
<a name="IDX17"></a>
 
363
</dt>
 
364
<dt><u>Class:</u> <b>&lt;c-double&gt;</b>
 
365
<a name="IDX18"></a>
 
366
</dt>
 
367
<dd><a name="IDX19"></a>
 
368
<a name="IDX20"></a>
 
369
<a name="IDX21"></a>
 
370
<a name="IDX22"></a>
 
371
<a name="IDX23"></a>
 
372
<a name="IDX24"></a>
 
373
<a name="IDX25"></a>
 
374
<a name="IDX26"></a>
 
375
<a name="IDX27"></a>
 
376
<a name="IDX28"></a>
 
377
<a name="IDX29"></a>
 
378
<a name="IDX30"></a>
 
379
<p>These are classes for arithmetic types in C. you can use <code>make</code> to make an instance of the class.
 
380
</p></dd></dl>
 
381
 
 
382
<dl>
 
383
<dt><u>Class:</u> <b>&lt;c-value-meta&gt;</b>
 
384
<a name="IDX31"></a>
 
385
</dt>
 
386
<dd><a name="IDX32"></a>
 
387
<p>This is a meta class for the classes related with C arithmetic types.
 
388
</p></dd></dl>
 
389
 
 
390
<dl>
 
391
<dt><u>Method:</u> <b>ref</b><i> (obj &lt;c-value-meta&gt;)</i>
 
392
<a name="IDX33"></a>
 
393
</dt>
 
394
<dd><p>Returns the value of <var>obj</var>.
 
395
</p></dd></dl>
 
396
 
 
397
<dl>
 
398
<dt><u>Method:</u> <b>(setter</b><i> ref) (obj &lt;c-value-meta&gt;) value</i>
 
399
<a name="IDX34"></a>
 
400
</dt>
 
401
<dd><p>Sets <var>value</var> to <var>obj</var>.
 
402
</p></dd></dl>
 
403
 
 
404
<dl>
 
405
<dt><u>Class:</u> <b>&lt;c-void&gt;</b>
 
406
<a name="IDX35"></a>
 
407
</dt>
 
408
<dd><p>This is a class for void type in C.
 
409
</p></dd></dl>
 
410
 
 
411
<dl>
 
412
<dt><u>Class:</u> <b>&lt;c-ptr&gt;</b>
 
413
<a name="IDX36"></a>
 
414
</dt>
 
415
<dd><p>This is an abstract class for pointer type in C. If you use a pointer type, make a concrete class with <code>ptr</code>.
 
416
</p></dd></dl>
 
417
 
 
418
<dl>
 
419
<dt><u>Method:</u> <b>ptr</b><i> (class &lt;c-type-meta&gt;)</i>
 
420
<a name="IDX37"></a>
 
421
</dt>
 
422
<dd><p>Makes a class for a pointer type of <var>class</var>, and it is a subclass of <code>&lt;c-ptr&gt;</code>. You can use <code>make</code> to make an instance of the class.
 
423
</p></dd></dl>
 
424
 
 
425
<dl>
 
426
<dt><u>Method:</u> <b>ptr</b><i> (obj &lt;c-type&gt;) </i>
 
427
<a name="IDX38"></a>
 
428
</dt>
 
429
<dd><p>Returns a pointer object for <var>obj</var>.
 
430
</p></dd></dl>
 
431
 
 
432
<dl>
 
433
<dt><u>Class:</u> <b>&lt;c-array&gt;</b>
 
434
<a name="IDX39"></a>
 
435
</dt>
 
436
<dd><p>This is an abstract class for array type in C. If you use an array type, make a concrete class with <code>c-array</code>.
 
437
</p>
 
438
<p><code>&lt;c-array&gt;</code> is a subclass of <code>&lt;sequence&gt;</code>, and you can use the operations of sequence framework (<code>gauche.sequence</code> module).
 
439
</p></dd></dl>
 
440
 
 
441
<dl>
 
442
<dt><u>Function:</u> <b>c-array</b><i> (class &lt;c-type-meta&gt;) size</i>
 
443
<a name="IDX40"></a>
 
444
</dt>
 
445
<dd><p>Makes a class for an array type of <var>class</var>, and it is a subclass of <code>&lt;c-array&gt;</code>. You can use <code>make</code> to make an instance of the class.
 
446
</p></dd></dl>
 
447
 
 
448
<dl>
 
449
<dt><u>Class:</u> <b>&lt;c-struct&gt;</b>
 
450
<a name="IDX41"></a>
 
451
</dt>
 
452
<dd><p>This is an abstract class for struct type in C. 
 
453
</p></dd></dl>
 
454
 
 
455
<dl>
 
456
<dt><u>Class:</u> <b>&lt;c-union&gt;</b>
 
457
<a name="IDX42"></a>
 
458
</dt>
 
459
<dd><p>This is an abstract class for union type in C. 
 
460
</p></dd></dl>
 
461
 
 
462
<dl>
 
463
<dt><u>Macro:</u> <b>c-struct</b><i> tagname</i>
 
464
<a name="IDX43"></a>
 
465
</dt>
 
466
<dd><p>Returns the struct class named <var>tagname</var>.
 
467
</p></dd></dl>
 
468
 
 
469
<dl>
 
470
<dt><u>Macro:</u> <b>c-union</b><i> tagname</i>
 
471
<a name="IDX44"></a>
 
472
</dt>
 
473
<dd><p>Returns the union class named <var>tagname</var>.
 
474
</p></dd></dl>
 
475
 
 
476
<dl>
 
477
<dt><u>Method:</u> <b>ref</b><i> (obj &lt;c-struct&gt;) member</i>
 
478
<a name="IDX45"></a>
 
479
</dt>
 
480
<dt><u>Method:</u> <b>ref</b><i> (obj &lt;c-union&gt;) member</i>
 
481
<a name="IDX46"></a>
 
482
</dt>
 
483
<dd><p>Returns the value of the <var>member</var> of the struct or union <var>obj</var>. If the type of the member is arithmetic type, the type of the return value is casted to <code>&lt;real&gt;</code> or <code>&lt;integer&gt;</code>.
 
484
</p></dd></dl>
 
485
 
 
486
<dl>
 
487
<dt><u>Method:</u> <b>(setter</b><i> ref) (obj &lt;c-struct&gt;) member value</i>
 
488
<a name="IDX47"></a>
 
489
</dt>
 
490
<dt><u>Method:</u> <b>(setter</b><i> ref) (obj &lt;c-union&gt;) member value</i>
 
491
<a name="IDX48"></a>
 
492
</dt>
 
493
<dd><p>Sets <var>value</var> to the <var>member</var> of the struct or union <var>obj</var>.
 
494
</p></dd></dl>
 
495
 
 
496
<dl>
 
497
<dt><u>Class:</u> <b>&lt;c-func-ptr&gt;</b>
 
498
<a name="IDX49"></a>
 
499
</dt>
 
500
<dd><p>This is an abstract class for function pointer in C.
 
501
</p></dd></dl>
 
502
 
 
503
<dl>
 
504
<dt><u>Method:</u> <b>deref</b><i> ptrobj</i>
 
505
<a name="IDX50"></a>
 
506
</dt>
 
507
<dd><p>Returns a deference object of <var>ptrobj</var>. ('*' operator in C)
 
508
</p></dd></dl>
 
509
 
 
510
<dl>
 
511
<dt><u>Method:</u> <b>c-sizeof</b><i> (class &lt;c-type-meta&gt;)</i>
 
512
<a name="IDX51"></a>
 
513
</dt>
 
514
<dt><u>Method:</u> <b>c-sizeof</b><i> (obj &lt;c-type&gt;)</i>
 
515
<a name="IDX52"></a>
 
516
</dt>
 
517
<dd><p>Returns a size of <var>class</var> or <var>obj</var>.
 
518
</p></dd></dl>
 
519
 
 
520
<dl>
 
521
<dt><u>Method:</u> <b>cast</b><i> class obj</i>
 
522
<a name="IDX53"></a>
 
523
</dt>
 
524
<dd><p>Makes an instance of <var>class</var> from <var>obj</var>. The following rules are applied to make an instance.
 
525
</p>
 
526
<table>
 
527
<tr><td><p> <var>class</var> </p></td><td><p> Type of <var>obj</var> </p></td><td><p> Description
 
528
</p>
 
529
</td></tr>
 
530
<tr><td><p> Subclasses of <code>&lt;c-value&gt;</code>
 
531
</p></td><td><p> <code>&lt;real&gt;</code>
 
532
</p></td><td><p> Makes an instance of <var>class</var> which is the same value of <var>obj</var>.
 
533
</p>
 
534
</td></tr>
 
535
<tr><td><p> Subclasses of <code>&lt;c-value&gt;</code>
 
536
</p></td><td><p> <code>&lt;boolean&gt;</code>
 
537
</p></td><td><p> Makes an instance of <var>class</var> which is 1 (if <var>obj</var> is <code>#t</code>) or 0 (if <var>obj</var> is <code>#f</code>).
 
538
</p>
 
539
</td></tr>
 
540
<tr><td><p> <code>&lt;c-ptr&gt;</code> or <code>&lt;c-func-ptr&gt;</code>
 
541
</p></td><td><p> <code>&lt;integer&gt;</code>
 
542
</p></td><td><p> Makes a pointer object whose address is <var>obj</var>.
 
543
</p>
 
544
</td></tr>
 
545
<tr><td><p> <code>&lt;c-ptr&gt;</code> or <code>&lt;c-func-ptr&gt;</code>
 
546
</p></td><td><p> <code>&lt;c-ptr&gt;</code> or <code>&lt;c-func-ptr&gt;</code>
 
547
</p></td><td><p> Makes a pointer object whose address is the same of <var>obj</var>.
 
548
</p>
 
549
</td></tr>
 
550
<tr><td><p> <code>&lt;c-ptr&gt;</code> or <code>&lt;c-func-ptr&gt;</code>
 
551
</p></td><td><p> <code>&lt;c-array&gt;</code>
 
552
</p></td><td><p> Makes a pointer object whose address is the same of the first address of <var>obj</var>.
 
553
</p>
 
554
</td></tr>
 
555
<tr><td><p> <code>&lt;c-ptr&gt;</code>
 
556
</p></td><td><p> <code>&lt;string&gt;</code>
 
557
</p></td><td><p> Makes a pointer object whose address points an internally-generated C string.
 
558
</p>
 
559
</td></tr>
 
560
<tr><td><p> <code>&lt;c-ptr&gt;</code>
 
561
</p></td><td><p> <code>&lt;uvector&gt;</code>
 
562
</p></td><td><p> Makes a pointer object whose address points the buffer of <code>&lt;uvector&gt;</code>.
 
563
</p>
 
564
</td></tr>
 
565
<tr><td><p> <code>&lt;c-ptr&gt;</code>
 
566
</p></td><td><p> <code>&lt;sequence&gt;</code>
 
567
</p></td><td><p> Makes a pointer object whost address points an internally-generated array which contains the same elements of <var>obj</var>.
 
568
</p>
 
569
</td></tr>
 
570
<tr><td><p> <code>&lt;c-array&gt;</code>
 
571
</p></td><td><p> <code>&lt;sequence&gt;</code>
 
572
</p></td><td><p> Makes an array which contains the same elements of <var>obj</var>.
 
573
</p>
 
574
</td></tr>
 
575
<tr><td><p> <code>&lt;c-array&gt;</code>
 
576
</p></td><td><p> <code>&lt;c-ptr&gt;</code>
 
577
</p></td><td><p> Makes an array object whose first address is <var>obj</var>.
 
578
</p>
 
579
</td></tr>
 
580
<tr><td><p> <code>&lt;c-func-ptr&gt;</code>
 
581
</p></td><td><p> <code>&lt;procedure&gt;</code>
 
582
</p></td><td><p> Makes a pointer of a function which executes calls the procedure <var>obj</var>.
 
583
</p>
 
584
</td></tr>
 
585
<tr><td><p> <code>&lt;integer&gt;</code> or <code>&lt;real&gt;</code>
 
586
</p></td><td><p> <code>&lt;c-value&gt;</code>
 
587
</p></td><td><p> Makes the value of <var>obj</var>.
 
588
</p>
 
589
</td></tr>
 
590
<tr><td><p> <code>&lt;boolean&gt;</code>
 
591
</p></td><td><p> <code>&lt;c-value&gt;</code> or <code>&lt;real&gt;</code>
 
592
</p></td><td><p> Makes #f if the value of <var>obj</var> is 0, #t otherwise.
 
593
</p>
 
594
</td></tr>
 
595
<tr><td><p> <code>&lt;integer&gt;</code>
 
596
</p></td><td><p> <code>&lt;c-ptr&gt;</code> or <code>&lt;c-func-ptr&gt;</code>
 
597
</p></td><td><p> Makes the pointer address of <var>obj</var>.
 
598
</p>
 
599
</td></tr>
 
600
<tr><td><p> <code>&lt;integer&gt;</code>
 
601
</p></td><td><p> <code>&lt;c-array&gt;</code>
 
602
</p></td><td><p> Makes the first address of the array <var>obj</var>.
 
603
</p>
 
604
</td></tr>
 
605
<tr><td><p> <code>&lt;string&gt;</code>
 
606
</p></td><td><p> <code>&lt;c-ptr&gt;</code> or <code>&lt;c-func-ptr&gt;</code>
 
607
</p></td><td><p> Makes a string from the address of <var>obj</var>. 
 
608
</p>
 
609
</td></tr>
 
610
<tr><td><p> <code>&lt;string&gt;</code>
 
611
</p></td><td><p> <code>&lt;c-array&gt;</code>
 
612
</p></td><td><p> Makes a string from the array <var>obj</var>. It must be 0 terminated string.
 
613
</p>
 
614
</td></tr>
 
615
<tr><td><p> <code>&lt;collection&gt;</code>
 
616
</p></td><td><p> <code>&lt;c-array&gt;</code>
 
617
</p></td><td><p> Makes an instance of <var>class</var> which contains the same values of <var>obj</var>, which are casted with <code>scm-cast</code>. 
 
618
</p></td></tr>
 
619
</table>
 
620
 
 
621
</dd></dl>
 
622
 
 
623
<dl>
 
624
<dt><u>Function:</u> <b>scm-cast</b><i> obj</i>
 
625
<a name="IDX54"></a>
 
626
</dt>
 
627
<dd><p>Returns the value of <var>obj</var> if <var>obj</var> is an instance of <code>&lt;c-value&gt;</code>. Otherwise, returns <var>obj</var>.
 
628
</p></dd></dl>
 
629
 
 
630
<dl>
 
631
<dt><u>Function:</u> <b>make-null-ptr</b>
 
632
<a name="IDX55"></a>
 
633
</dt>
 
634
<dd><p>Returns NULL pointer.
 
635
</p></dd></dl>
 
636
 
 
637
<dl>
 
638
<dt><u>Function:</u> <b>null-ptr?</b><i> obj</i>
 
639
<a name="IDX56"></a>
 
640
</dt>
 
641
<dd><p>Returns <code>#t</code> if <var>obj</var> is a NULL pointer, <code>#f</code> otherwise.
 
642
</p></dd></dl>
 
643
 
 
644
<dl>
 
645
<dt><u>Function:</u> <b>register-finalizer!</b><i> ptrobj proc</i>
 
646
<a name="IDX57"></a>
 
647
</dt>
 
648
<dd><p>Register the finalizer <var>proc</var> to <var>ptrobj</var>. It is called when <var>ptrobj</var> is GCed.
 
649
</p></dd></dl>
 
650
 
 
651
<dl>
 
652
<dt><u>Function:</u> <b>unregister-finalizer!</b><i> ptrobj</i>
 
653
<a name="IDX58"></a>
 
654
</dt>
 
655
<dd><p>Deletes the finalizer of <var>ptrobj</var>.
 
656
</p></dd></dl>
 
657
 
 
658
<dl>
 
659
<dt><u>Function:</u> <b>finalize!</b><i> ptrobj</i>
 
660
<a name="IDX59"></a>
 
661
</dt>
 
662
<dd><p>Calls the finalizer of <var>ptrobj</var>, and deletes it from <var>ptrobj</var>.
 
663
</p></dd></dl>
 
664
 
 
665
<hr size="6">
 
666
<a name="objc_002dwrapper"></a>
 
667
<a name="SEC5"></a>
 
668
<table cellpadding="1" cellspacing="1" border="0">
 
669
<tr><td valign="middle" align="left">[<a href="#SEC4" title="Previous section in reading order"> &lt; </a>]</td>
 
670
<td valign="middle" align="left">[<a href="#SEC6" title="Next section in reading order"> &gt; </a>]</td>
 
671
<td valign="middle" align="left"> &nbsp; </td>
 
672
<td valign="middle" align="left">[<a href="#SEC1" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
 
673
<td valign="middle" align="left">[<a href="#Top" title="Up section"> Up </a>]</td>
 
674
<td valign="middle" align="left">[<a href="#SEC9" title="Next chapter"> &gt;&gt; </a>]</td>
 
675
<td valign="middle" align="left"> &nbsp; </td>
 
676
<td valign="middle" align="left"> &nbsp; </td>
 
677
<td valign="middle" align="left"> &nbsp; </td>
 
678
<td valign="middle" align="left"> &nbsp; </td>
 
679
<td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
 
680
<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
 
681
<td valign="middle" align="left">[<a href="#SEC9" title="Index">Index</a>]</td>
 
682
<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
 
683
</tr></table>
 
684
<h1 class="chapter"> 2. objc-wrapper </h1>
 
685
 
 
686
<p><code>objc-wrapper</code> is the module which enables to use Objective-C libraries.
 
687
</p>
 
688
<table class="menu" border="0" cellspacing="0">
 
689
<tr><td align="left" valign="top"><a href="#SEC6">2.1 Load a framework library</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">    
 
690
</td></tr>
 
691
<tr><td align="left" valign="top"><a href="#SEC7">2.2 Load an Objective-C header file</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">  
 
692
</td></tr>
 
693
<tr><td align="left" valign="top"><a href="#SEC8">2.3 Functions about Objective-C objects</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">  
 
694
</td></tr>
 
695
</table>
 
696
 
 
697
<hr size="6">
 
698
<a name="Load-a-framework-library"></a>
 
699
<a name="SEC6"></a>
 
700
<table cellpadding="1" cellspacing="1" border="0">
 
701
<tr><td valign="middle" align="left">[<a href="#SEC5" title="Previous section in reading order"> &lt; </a>]</td>
 
702
<td valign="middle" align="left">[<a href="#SEC7" title="Next section in reading order"> &gt; </a>]</td>
 
703
<td valign="middle" align="left"> &nbsp; </td>
 
704
<td valign="middle" align="left">[<a href="#SEC5" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
 
705
<td valign="middle" align="left">[<a href="#SEC5" title="Up section"> Up </a>]</td>
 
706
<td valign="middle" align="left">[<a href="#SEC9" title="Next chapter"> &gt;&gt; </a>]</td>
 
707
<td valign="middle" align="left"> &nbsp; </td>
 
708
<td valign="middle" align="left"> &nbsp; </td>
 
709
<td valign="middle" align="left"> &nbsp; </td>
 
710
<td valign="middle" align="left"> &nbsp; </td>
 
711
<td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
 
712
<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
 
713
<td valign="middle" align="left">[<a href="#SEC9" title="Index">Index</a>]</td>
 
714
<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
 
715
</tr></table>
 
716
<h2 class="section"> 2.1 Load a framework library </h2>
 
717
 
 
718
<dl>
 
719
<dt><u>Function:</u> <b>c-load-framework</b><i> framework</i>
 
720
<a name="IDX60"></a>
 
721
</dt>
 
722
<dd><p>Load a framework library <var>framework</var>.
 
723
</p>
 
724
<table><tr><td>&nbsp;</td><td><pre class="example">(c-load-framework &quot;Foundation&quot;)
 
725
</pre></td></tr></table>
 
726
</dd></dl>
 
727
 
 
728
<hr size="6">
 
729
<a name="Load-an-Objectice_002dC-header-file"></a>
 
730
<a name="SEC7"></a>
 
731
<table cellpadding="1" cellspacing="1" border="0">
 
732
<tr><td valign="middle" align="left">[<a href="#SEC6" title="Previous section in reading order"> &lt; </a>]</td>
 
733
<td valign="middle" align="left">[<a href="#SEC8" title="Next section in reading order"> &gt; </a>]</td>
 
734
<td valign="middle" align="left"> &nbsp; </td>
 
735
<td valign="middle" align="left">[<a href="#SEC5" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
 
736
<td valign="middle" align="left">[<a href="#SEC5" title="Up section"> Up </a>]</td>
 
737
<td valign="middle" align="left">[<a href="#SEC9" title="Next chapter"> &gt;&gt; </a>]</td>
 
738
<td valign="middle" align="left"> &nbsp; </td>
 
739
<td valign="middle" align="left"> &nbsp; </td>
 
740
<td valign="middle" align="left"> &nbsp; </td>
 
741
<td valign="middle" align="left"> &nbsp; </td>
 
742
<td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
 
743
<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
 
744
<td valign="middle" align="left">[<a href="#SEC9" title="Index">Index</a>]</td>
 
745
<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
 
746
</tr></table>
 
747
<h2 class="section"> 2.2 Load an Objective-C header file </h2>
 
748
 
 
749
<dl>
 
750
<dt><u>Function:</u> <b>Macro</b><i> c-include file-or-list &amp;keyword</i>
 
751
<a name="IDX61"></a>
 
752
</dt>
 
753
<dd><p>This extends the <code>c-include</code> in <code>c-wrapper</code> module. it defines classes and methods of Objective-C code.
 
754
</p>
 
755
<p>If Objective-C class <code>Foo</code> is defined in the header file, <code>c-include</code> defines two symbols <code>Foo</code> and <code>&lt;Foo&gt;</code>. <code>Foo</code> is an instance of <code>&lt;c-struct:objc_object&gt;</code> and indicates the Objective-C class <code>Foo</code>. <code>&lt;Foo&gt;</code> is an alias of the type <code>&lt;id&gt;</code>.
 
756
</p></dd></dl>
 
757
 
 
758
<hr size="6">
 
759
<a name="Functions-about-Objective_002dC-objects"></a>
 
760
<a name="SEC8"></a>
 
761
<table cellpadding="1" cellspacing="1" border="0">
 
762
<tr><td valign="middle" align="left">[<a href="#SEC7" title="Previous section in reading order"> &lt; </a>]</td>
 
763
<td valign="middle" align="left">[<a href="#SEC9" title="Next section in reading order"> &gt; </a>]</td>
 
764
<td valign="middle" align="left"> &nbsp; </td>
 
765
<td valign="middle" align="left">[<a href="#SEC5" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
 
766
<td valign="middle" align="left">[<a href="#SEC5" title="Up section"> Up </a>]</td>
 
767
<td valign="middle" align="left">[<a href="#SEC9" title="Next chapter"> &gt;&gt; </a>]</td>
 
768
<td valign="middle" align="left"> &nbsp; </td>
 
769
<td valign="middle" align="left"> &nbsp; </td>
 
770
<td valign="middle" align="left"> &nbsp; </td>
 
771
<td valign="middle" align="left"> &nbsp; </td>
 
772
<td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
 
773
<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
 
774
<td valign="middle" align="left">[<a href="#SEC9" title="Index">Index</a>]</td>
 
775
<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
 
776
</tr></table>
 
777
<h2 class="section"> 2.3 Functions about Objective-C objects </h2>
 
778
 
 
779
<dl>
 
780
<dt><u>Macro:</u> <b>define-objc-class</b><i> class-name super-class-name</i>
 
781
<a name="IDX62"></a>
 
782
</dt>
 
783
<dd><p>Defines Objective-C class <var>class-name</var> whose super class is <var>super-class-name</var>.
 
784
</p></dd></dl>
 
785
 
 
786
<dl>
 
787
<dt><u>Macro:</u> <b>define-objc-method</b><i> objc-class ret-type (message-keyword varspec ...) body ...</i>
 
788
<a name="IDX63"></a>
 
789
</dt>
 
790
<dd><p>Defines an Objective-C method whose message keyword is <var>message-keyword</var> and return type is <var>ret-type</var>. <var>varspec</var> is a list, (variable-name variable-type).
 
791
</p>
 
792
<p>In the body, you can use two variables <var>self</var> and <var>super</var>. <var>self</var> is the receiver object and <var>super</var> is the object which is casted to its super class.
 
793
</p>
 
794
<table><tr><td>&nbsp;</td><td><pre class="example">(define-objc-method MyFooClass &lt;id&gt; [:doSomething (v &lt;c-int&gt;)]
 
795
  [super :doSomething v]
 
796
  [self :foo v]
 
797
  (bar v) ;; The result of (bar v) is the return value of this method.
 
798
  )
 
799
</pre></td></tr></table></dd></dl>
 
800
 
 
801
<dl>
 
802
<dt><u>Method:</u> <b>object-apply</b><i> (obj &lt;c-struct:objc_object&gt;) selector-or-args ...</i>
 
803
<a name="IDX64"></a>
 
804
</dt>
 
805
<dd><p>Calls the method of <var>obj</var>.
 
806
</p>
 
807
<table><tr><td>&nbsp;</td><td><pre class="example">[[NSString :alloc) :init]
 
808
 
 
809
[[NSString :startWithCString (&nbsp;&quot;Hello, world&quot;) :encoding NSASCIIStringEncoding]]
 
810
</pre></td></tr></table>
 
811
</dd></dl>
 
812
 
 
813
<dl>
 
814
<dt><u>Function:</u> <b>@</b><i> str</i>
 
815
<a name="IDX65"></a>
 
816
</dt>
 
817
<dd><p>Returns Objective-C string.
 
818
</p></dd></dl>
 
819
 
 
820
<dl>
 
821
<dt><u>Function:</u> <b>@selector</b><i> method-name</i>
 
822
<a name="IDX66"></a>
 
823
</dt>
 
824
<dd><p>Returns a selector of <var>method-name</var>.
 
825
</p></dd></dl>
 
826
 
 
827
<hr size="6">
 
828
<a name="Function-and-Syntax-Index"></a>
 
829
<a name="SEC9"></a>
 
830
<table cellpadding="1" cellspacing="1" border="0">
 
831
<tr><td valign="middle" align="left">[<a href="#SEC8" title="Previous section in reading order"> &lt; </a>]</td>
 
832
<td valign="middle" align="left">[<a href="#SEC10" title="Next section in reading order"> &gt; </a>]</td>
 
833
<td valign="middle" align="left"> &nbsp; </td>
 
834
<td valign="middle" align="left">[<a href="#SEC5" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
 
835
<td valign="middle" align="left">[<a href="#Top" title="Up section"> Up </a>]</td>
 
836
<td valign="middle" align="left">[<a href="#SEC10" title="Next chapter"> &gt;&gt; </a>]</td>
 
837
<td valign="middle" align="left"> &nbsp; </td>
 
838
<td valign="middle" align="left"> &nbsp; </td>
 
839
<td valign="middle" align="left"> &nbsp; </td>
 
840
<td valign="middle" align="left"> &nbsp; </td>
 
841
<td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
 
842
<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
 
843
<td valign="middle" align="left">[<a href="#SEC9" title="Index">Index</a>]</td>
 
844
<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
 
845
</tr></table>
 
846
<h1 class="appendix"> A. Function and Syntax Index </h1>
 
847
<table><tr><th valign="top">Jump to: &nbsp; </th><td><a href="#SEC9_0" class="summary-letter"><b>(</b></a>
 
848
 &nbsp; 
 
849
<a href="#SEC9_1" class="summary-letter"><b>@</b></a>
 
850
 &nbsp; 
 
851
<br>
 
852
<a href="#SEC9_2" class="summary-letter"><b>C</b></a>
 
853
 &nbsp; 
 
854
<a href="#SEC9_3" class="summary-letter"><b>D</b></a>
 
855
 &nbsp; 
 
856
<a href="#SEC9_4" class="summary-letter"><b>F</b></a>
 
857
 &nbsp; 
 
858
<a href="#SEC9_5" class="summary-letter"><b>M</b></a>
 
859
 &nbsp; 
 
860
<a href="#SEC9_6" class="summary-letter"><b>N</b></a>
 
861
 &nbsp; 
 
862
<a href="#SEC9_7" class="summary-letter"><b>O</b></a>
 
863
 &nbsp; 
 
864
<a href="#SEC9_8" class="summary-letter"><b>P</b></a>
 
865
 &nbsp; 
 
866
<a href="#SEC9_9" class="summary-letter"><b>R</b></a>
 
867
 &nbsp; 
 
868
<a href="#SEC9_10" class="summary-letter"><b>S</b></a>
 
869
 &nbsp; 
 
870
<a href="#SEC9_11" class="summary-letter"><b>U</b></a>
 
871
 &nbsp; 
 
872
</td></tr></table>
 
873
<table border="0" class="index-fn">
 
874
<tr><td></td><th align="left">Index Entry</th><th align="left"> Section</th></tr>
 
875
<tr><td colspan="3"> <hr></td></tr>
 
876
<tr><th><a name="SEC9_0">(</a></th><td></td><td></td></tr>
 
877
<tr><td></td><td valign="top"><a href="#IDX34"><code>(setter</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
878
<tr><td></td><td valign="top"><a href="#IDX47"><code>(setter</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
879
<tr><td></td><td valign="top"><a href="#IDX48"><code>(setter</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
880
<tr><td colspan="3"> <hr></td></tr>
 
881
<tr><th><a name="SEC9_1">@</a></th><td></td><td></td></tr>
 
882
<tr><td></td><td valign="top"><a href="#IDX65"><code>@</code></a></td><td valign="top"><a href="#SEC8">2.3 Functions about Objective-C objects</a></td></tr>
 
883
<tr><td></td><td valign="top"><a href="#IDX66"><code>@selector</code></a></td><td valign="top"><a href="#SEC8">2.3 Functions about Objective-C objects</a></td></tr>
 
884
<tr><td colspan="3"> <hr></td></tr>
 
885
<tr><th><a name="SEC9_2">C</a></th><td></td><td></td></tr>
 
886
<tr><td></td><td valign="top"><a href="#IDX40"><code>c-array</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
887
<tr><td></td><td valign="top"><a href="#IDX3"><code>c-include</code></a></td><td valign="top"><a href="#SEC3">1.2 Load a header file</a></td></tr>
 
888
<tr><td></td><td valign="top"><a href="#IDX2"><code>c-ld</code></a></td><td valign="top"><a href="#SEC2">1.1 Load a shared library</a></td></tr>
 
889
<tr><td></td><td valign="top"><a href="#IDX4"><code>c-load</code></a></td><td valign="top"><a href="#SEC3">1.2 Load a header file</a></td></tr>
 
890
<tr><td></td><td valign="top"><a href="#IDX60"><code>c-load-framework</code></a></td><td valign="top"><a href="#SEC6">2.1 Load a framework library</a></td></tr>
 
891
<tr><td></td><td valign="top"><a href="#IDX1"><code>c-load-library</code></a></td><td valign="top"><a href="#SEC2">1.1 Load a shared library</a></td></tr>
 
892
<tr><td></td><td valign="top"><a href="#IDX51"><code>c-sizeof</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
893
<tr><td></td><td valign="top"><a href="#IDX52"><code>c-sizeof</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
894
<tr><td></td><td valign="top"><a href="#IDX43"><code>c-struct</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
895
<tr><td></td><td valign="top"><a href="#IDX44"><code>c-union</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
896
<tr><td></td><td valign="top"><a href="#IDX53"><code>cast</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
897
<tr><td colspan="3"> <hr></td></tr>
 
898
<tr><th><a name="SEC9_3">D</a></th><td></td><td></td></tr>
 
899
<tr><td></td><td valign="top"><a href="#IDX62"><code>define-objc-class</code></a></td><td valign="top"><a href="#SEC8">2.3 Functions about Objective-C objects</a></td></tr>
 
900
<tr><td></td><td valign="top"><a href="#IDX63"><code>define-objc-method</code></a></td><td valign="top"><a href="#SEC8">2.3 Functions about Objective-C objects</a></td></tr>
 
901
<tr><td></td><td valign="top"><a href="#IDX50"><code>deref</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
902
<tr><td colspan="3"> <hr></td></tr>
 
903
<tr><th><a name="SEC9_4">F</a></th><td></td><td></td></tr>
 
904
<tr><td></td><td valign="top"><a href="#IDX59"><code>finalize!</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
905
<tr><td colspan="3"> <hr></td></tr>
 
906
<tr><th><a name="SEC9_5">M</a></th><td></td><td></td></tr>
 
907
<tr><td></td><td valign="top"><a href="#IDX61"><code>Macro</code></a></td><td valign="top"><a href="#SEC7">2.2 Load an Objective-C header file</a></td></tr>
 
908
<tr><td></td><td valign="top"><a href="#IDX55"><code>make-null-ptr</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
909
<tr><td colspan="3"> <hr></td></tr>
 
910
<tr><th><a name="SEC9_6">N</a></th><td></td><td></td></tr>
 
911
<tr><td></td><td valign="top"><a href="#IDX56"><code>null-ptr?</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
912
<tr><td colspan="3"> <hr></td></tr>
 
913
<tr><th><a name="SEC9_7">O</a></th><td></td><td></td></tr>
 
914
<tr><td></td><td valign="top"><a href="#IDX64"><code>object-apply</code></a></td><td valign="top"><a href="#SEC8">2.3 Functions about Objective-C objects</a></td></tr>
 
915
<tr><td colspan="3"> <hr></td></tr>
 
916
<tr><th><a name="SEC9_8">P</a></th><td></td><td></td></tr>
 
917
<tr><td></td><td valign="top"><a href="#IDX37"><code>ptr</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
918
<tr><td></td><td valign="top"><a href="#IDX38"><code>ptr</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
919
<tr><td colspan="3"> <hr></td></tr>
 
920
<tr><th><a name="SEC9_9">R</a></th><td></td><td></td></tr>
 
921
<tr><td></td><td valign="top"><a href="#IDX33"><code>ref</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
922
<tr><td></td><td valign="top"><a href="#IDX45"><code>ref</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
923
<tr><td></td><td valign="top"><a href="#IDX46"><code>ref</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
924
<tr><td></td><td valign="top"><a href="#IDX57"><code>register-finalizer!</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
925
<tr><td colspan="3"> <hr></td></tr>
 
926
<tr><th><a name="SEC9_10">S</a></th><td></td><td></td></tr>
 
927
<tr><td></td><td valign="top"><a href="#IDX54"><code>scm-cast</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
928
<tr><td colspan="3"> <hr></td></tr>
 
929
<tr><th><a name="SEC9_11">U</a></th><td></td><td></td></tr>
 
930
<tr><td></td><td valign="top"><a href="#IDX58"><code>unregister-finalizer!</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
931
<tr><td colspan="3"> <hr></td></tr>
 
932
</table>
 
933
<table><tr><th valign="top">Jump to: &nbsp; </th><td><a href="#SEC9_0" class="summary-letter"><b>(</b></a>
 
934
 &nbsp; 
 
935
<a href="#SEC9_1" class="summary-letter"><b>@</b></a>
 
936
 &nbsp; 
 
937
<br>
 
938
<a href="#SEC9_2" class="summary-letter"><b>C</b></a>
 
939
 &nbsp; 
 
940
<a href="#SEC9_3" class="summary-letter"><b>D</b></a>
 
941
 &nbsp; 
 
942
<a href="#SEC9_4" class="summary-letter"><b>F</b></a>
 
943
 &nbsp; 
 
944
<a href="#SEC9_5" class="summary-letter"><b>M</b></a>
 
945
 &nbsp; 
 
946
<a href="#SEC9_6" class="summary-letter"><b>N</b></a>
 
947
 &nbsp; 
 
948
<a href="#SEC9_7" class="summary-letter"><b>O</b></a>
 
949
 &nbsp; 
 
950
<a href="#SEC9_8" class="summary-letter"><b>P</b></a>
 
951
 &nbsp; 
 
952
<a href="#SEC9_9" class="summary-letter"><b>R</b></a>
 
953
 &nbsp; 
 
954
<a href="#SEC9_10" class="summary-letter"><b>S</b></a>
 
955
 &nbsp; 
 
956
<a href="#SEC9_11" class="summary-letter"><b>U</b></a>
 
957
 &nbsp; 
 
958
</td></tr></table>
 
959
 
 
960
<hr size="6">
 
961
<a name="Class-Index"></a>
 
962
<a name="SEC10"></a>
 
963
<table cellpadding="1" cellspacing="1" border="0">
 
964
<tr><td valign="middle" align="left">[<a href="#SEC9" title="Previous section in reading order"> &lt; </a>]</td>
 
965
<td valign="middle" align="left">[<a href="#SEC11" title="Next section in reading order"> &gt; </a>]</td>
 
966
<td valign="middle" align="left"> &nbsp; </td>
 
967
<td valign="middle" align="left">[<a href="#SEC9" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
 
968
<td valign="middle" align="left">[<a href="#Top" title="Up section"> Up </a>]</td>
 
969
<td valign="middle" align="left">[<a href="#SEC11" title="Next chapter"> &gt;&gt; </a>]</td>
 
970
<td valign="middle" align="left"> &nbsp; </td>
 
971
<td valign="middle" align="left"> &nbsp; </td>
 
972
<td valign="middle" align="left"> &nbsp; </td>
 
973
<td valign="middle" align="left"> &nbsp; </td>
 
974
<td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
 
975
<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
 
976
<td valign="middle" align="left">[<a href="#SEC9" title="Index">Index</a>]</td>
 
977
<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
 
978
</tr></table>
 
979
<h1 class="appendix"> B. Class Index </h1>
 
980
<p>For readability, the surrounding <code>&lt;</code> and <code>&gt;</code> are stripped off.
 
981
</p><table><tr><th valign="top">Jump to: &nbsp; </th><td><a href="#SEC10_0" class="summary-letter"><b>C</b></a>
 
982
 &nbsp; 
 
983
</td></tr></table>
 
984
<table border="0" class="index-cl">
 
985
<tr><td></td><th align="left">Index Entry</th><th align="left"> Section</th></tr>
 
986
<tr><td colspan="3"> <hr></td></tr>
 
987
<tr><th><a name="SEC10_0">C</a></th><td></td><td></td></tr>
 
988
<tr><td></td><td valign="top"><a href="#IDX19"><code>c-char</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
989
<tr><td></td><td valign="top"><a href="#IDX30"><code>c-double</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
990
<tr><td></td><td valign="top"><a href="#IDX29"><code>c-float</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
991
<tr><td></td><td valign="top"><a href="#IDX23"><code>c-int</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
992
<tr><td></td><td valign="top"><a href="#IDX25"><code>c-long</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
993
<tr><td></td><td valign="top"><a href="#IDX27"><code>c-longlong</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
994
<tr><td></td><td valign="top"><a href="#IDX21"><code>c-short</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
995
<tr><td></td><td valign="top"><a href="#IDX20"><code>c-uchar</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
996
<tr><td></td><td valign="top"><a href="#IDX24"><code>c-uint</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
997
<tr><td></td><td valign="top"><a href="#IDX26"><code>c-ulong</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
998
<tr><td></td><td valign="top"><a href="#IDX28"><code>c-ulonglong</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
999
<tr><td></td><td valign="top"><a href="#IDX22"><code>c-ushort</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
1000
<tr><td></td><td valign="top"><a href="#IDX32"><code>c-value-meta</code></a></td><td valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td></tr>
 
1001
<tr><td colspan="3"> <hr></td></tr>
 
1002
</table>
 
1003
<table><tr><th valign="top">Jump to: &nbsp; </th><td><a href="#SEC10_0" class="summary-letter"><b>C</b></a>
 
1004
 &nbsp; 
 
1005
</td></tr></table>
 
1006
 
 
1007
<hr size="6">
 
1008
<a name="Variable-Index"></a>
 
1009
<a name="SEC11"></a>
 
1010
<table cellpadding="1" cellspacing="1" border="0">
 
1011
<tr><td valign="middle" align="left">[<a href="#SEC10" title="Previous section in reading order"> &lt; </a>]</td>
 
1012
<td valign="middle" align="left">[ &gt; ]</td>
 
1013
<td valign="middle" align="left"> &nbsp; </td>
 
1014
<td valign="middle" align="left">[<a href="#SEC10" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
 
1015
<td valign="middle" align="left">[<a href="#Top" title="Up section"> Up </a>]</td>
 
1016
<td valign="middle" align="left">[ &gt;&gt; ]</td>
 
1017
<td valign="middle" align="left"> &nbsp; </td>
 
1018
<td valign="middle" align="left"> &nbsp; </td>
 
1019
<td valign="middle" align="left"> &nbsp; </td>
 
1020
<td valign="middle" align="left"> &nbsp; </td>
 
1021
<td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
 
1022
<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
 
1023
<td valign="middle" align="left">[<a href="#SEC9" title="Index">Index</a>]</td>
 
1024
<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
 
1025
</tr></table>
 
1026
<h1 class="appendix"> C. Variable Index </h1>
 
1027
 
 
1028
<hr size="6">
 
1029
<a name="SEC_Contents"></a>
 
1030
<table cellpadding="1" cellspacing="1" border="0">
 
1031
<tr><td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
 
1032
<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
 
1033
<td valign="middle" align="left">[<a href="#SEC9" title="Index">Index</a>]</td>
 
1034
<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
 
1035
</tr></table>
 
1036
<h1>Table of Contents</h1>
 
1037
<div class="contents">
 
1038
 
 
1039
<ul class="toc">
 
1040
  <li><a name="TOC1" href="#SEC1">1. c-wrapper</a>
 
1041
  <ul class="toc">
 
1042
    <li><a name="TOC2" href="#SEC2">1.1 Load a shared library</a></li>
 
1043
    <li><a name="TOC3" href="#SEC3">1.2 Load a header file</a></li>
 
1044
    <li><a name="TOC4" href="#SEC4">1.3 Classes and functions about C types</a></li>
 
1045
  </ul></li>
 
1046
  <li><a name="TOC5" href="#SEC5">2. objc-wrapper</a>
 
1047
  <ul class="toc">
 
1048
    <li><a name="TOC6" href="#SEC6">2.1 Load a framework library</a></li>
 
1049
    <li><a name="TOC7" href="#SEC7">2.2 Load an Objective-C header file</a></li>
 
1050
    <li><a name="TOC8" href="#SEC8">2.3 Functions about Objective-C objects</a></li>
 
1051
  </ul></li>
 
1052
  <li><a name="TOC9" href="#SEC9">A. Function and Syntax Index</a></li>
 
1053
  <li><a name="TOC10" href="#SEC10">B. Class Index</a></li>
 
1054
  <li><a name="TOC11" href="#SEC11">C. Variable Index</a></li>
 
1055
</ul>
 
1056
</div>
 
1057
<hr size="1">
 
1058
<a name="SEC_About"></a>
 
1059
<table cellpadding="1" cellspacing="1" border="0">
 
1060
<tr><td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
 
1061
<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
 
1062
<td valign="middle" align="left">[<a href="#SEC9" title="Index">Index</a>]</td>
 
1063
<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
 
1064
</tr></table>
 
1065
<h1>About This Document</h1>
 
1066
<p>
 
1067
  This document was generated by <em>KOGURO, Naoki</em> on <em>December, 26 2006</em> using <a href="http://texi2html.cvshome.org/"><em>texi2html 1.76</em></a>.
 
1068
</p>
 
1069
<p>
 
1070
  The buttons in the navigation panels have the following meaning:
 
1071
</p>
 
1072
<table border="1">
 
1073
  <tr>
 
1074
    <th> Button </th>
 
1075
    <th> Name </th>
 
1076
    <th> Go to </th>
 
1077
    <th> From 1.2.3 go to</th>
 
1078
  </tr>
 
1079
  <tr>
 
1080
    <td align="center"> [ &lt; ] </td>
 
1081
    <td align="center">Back</td>
 
1082
    <td>previous section in reading order</td>
 
1083
    <td>1.2.2</td>
 
1084
  </tr>
 
1085
  <tr>
 
1086
    <td align="center"> [ &gt; ] </td>
 
1087
    <td align="center">Forward</td>
 
1088
    <td>next section in reading order</td>
 
1089
    <td>1.2.4</td>
 
1090
  </tr>
 
1091
  <tr>
 
1092
    <td align="center"> [ &lt;&lt; ] </td>
 
1093
    <td align="center">FastBack</td>
 
1094
    <td>beginning of this chapter or previous chapter</td>
 
1095
    <td>1</td>
 
1096
  </tr>
 
1097
  <tr>
 
1098
    <td align="center"> [ Up ] </td>
 
1099
    <td align="center">Up</td>
 
1100
    <td>up section</td>
 
1101
    <td>1.2</td>
 
1102
  </tr>
 
1103
  <tr>
 
1104
    <td align="center"> [ &gt;&gt; ] </td>
 
1105
    <td align="center">FastForward</td>
 
1106
    <td>next chapter</td>
 
1107
    <td>2</td>
 
1108
  </tr>
 
1109
  <tr>
 
1110
    <td align="center"> [Top] </td>
 
1111
    <td align="center">Top</td>
 
1112
    <td>cover (top) of document</td>
 
1113
    <td> &nbsp; </td>
 
1114
  </tr>
 
1115
  <tr>
 
1116
    <td align="center"> [Contents] </td>
 
1117
    <td align="center">Contents</td>
 
1118
    <td>table of contents</td>
 
1119
    <td> &nbsp; </td>
 
1120
  </tr>
 
1121
  <tr>
 
1122
    <td align="center"> [Index] </td>
 
1123
    <td align="center">Index</td>
 
1124
    <td>index</td>
 
1125
    <td> &nbsp; </td>
 
1126
  </tr>
 
1127
  <tr>
 
1128
    <td align="center"> [ ? ] </td>
 
1129
    <td align="center">About</td>
 
1130
    <td>about (help)</td>
 
1131
    <td> &nbsp; </td>
 
1132
  </tr>
 
1133
</table>
 
1134
 
 
1135
<p>
 
1136
  where the <strong> Example </strong> assumes that the current position is at <strong> Subsubsection One-Two-Three </strong> of a document of the following structure:
 
1137
</p>
 
1138
 
 
1139
<ul>
 
1140
  <li> 1. Section One
 
1141
    <ul>
 
1142
      <li>1.1 Subsection One-One
 
1143
        <ul>
 
1144
          <li>...</li>
 
1145
        </ul>
 
1146
      </li>
 
1147
      <li>1.2 Subsection One-Two
 
1148
        <ul>
 
1149
          <li>1.2.1 Subsubsection One-Two-One</li>
 
1150
          <li>1.2.2 Subsubsection One-Two-Two</li>
 
1151
          <li>1.2.3 Subsubsection One-Two-Three &nbsp; &nbsp;
 
1152
            <strong>&lt;== Current Position </strong></li>
 
1153
          <li>1.2.4 Subsubsection One-Two-Four</li>
 
1154
        </ul>
 
1155
      </li>
 
1156
      <li>1.3 Subsection One-Three
 
1157
        <ul>
 
1158
          <li>...</li>
 
1159
        </ul>
 
1160
      </li>
 
1161
      <li>1.4 Subsection One-Four</li>
 
1162
    </ul>
 
1163
  </li>
 
1164
</ul>
 
1165
 
 
1166
<hr size="1">
 
1167
<p>
 
1168
 <font size="-1">
 
1169
  This document was generated by <em>KOGURO, Naoki</em> on <em>December, 26 2006</em> using <a href="http://texi2html.cvshome.org/"><em>texi2html 1.76</em></a>.
 
1170
 </font>
 
1171
 <br>
 
1172
 
 
1173
</p>
 
1174
</body>
 
1175
</html>