1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
3
<!-- Created on December, 26 2006 by texi2html 1.76 -->
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>
9
Maintained by: Many creative people <dev@texi2html.cvshome.org>
10
Send bugs and suggestions to <users@texi2html.cvshome.org>
14
<title>c-wrapper reference manual: Top</title>
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">
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}
41
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
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>
50
<h1 class="settitle">c-wrapper reference manual
53
<p>This is a reference manual of c-wrapper.
55
<table class="menu" border="0" cellspacing="0">
56
<tr><td align="left" valign="top"><a href="#SEC1">1. c-wrapper</a></td><td> </td><td align="left" valign="top">
58
<tr><td align="left" valign="top"><a href="#SEC5">2. objc-wrapper</a></td><td> </td><td align="left" valign="top">
60
<tr><td align="left" valign="top"><a href="#SEC9">A. Function and Syntax Index</a></td><td> </td><td align="left" valign="top">
62
<tr><td align="left" valign="top"><a href="#SEC10">B. Class Index</a></td><td> </td><td align="left" valign="top">
64
<tr><td align="left" valign="top"><a href="#SEC11">C. Variable Index</a></td><td> </td><td align="left" valign="top">
66
<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
67
--- The Detailed Node Listing ---
71
</pre></th></tr><tr><td align="left" valign="top"><a href="#SEC2">1.1 Load a shared library</a></td><td> </td><td align="left" valign="top">
73
<tr><td align="left" valign="top"><a href="#SEC3">1.2 Load a header file</a></td><td> </td><td align="left" valign="top">
75
<tr><td align="left" valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td><td> </td><td align="left" valign="top">
77
<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
80
</pre></th></tr><tr><td align="left" valign="top"><a href="#SEC6">2.1 Load a framework library</a></td><td> </td><td align="left" valign="top">
82
<tr><td align="left" valign="top"><a href="#SEC7">2.2 Load an Objective-C header file</a></td><td> </td><td align="left" valign="top">
84
<tr><td align="left" valign="top"><a href="#SEC8">2.3 Functions about Objective-C objects</a></td><td> </td><td align="left" valign="top">
86
<tr><th colspan="3" align="left" valign="top"><pre class="menu-comment">
87
</pre></th></tr></table>
90
<a name="c_002dwrapper"></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"> < </a>]</td>
94
<td valign="middle" align="left">[<a href="#SEC2" title="Next section in reading order"> > </a>]</td>
95
<td valign="middle" align="left"> </td>
96
<td valign="middle" align="left">[ << ]</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"> >> </a>]</td>
99
<td valign="middle" align="left"> </td>
100
<td valign="middle" align="left"> </td>
101
<td valign="middle" align="left"> </td>
102
<td valign="middle" align="left"> </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>
108
<h1 class="chapter"> 1. c-wrapper </h1>
110
<p><code>c-wrapper</code> is the module which enables to use C libraries.
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> </td><td align="left" valign="top">
115
<tr><td align="left" valign="top"><a href="#SEC3">1.2 Load a header file</a></td><td> </td><td align="left" valign="top">
117
<tr><td align="left" valign="top"><a href="#SEC4">1.3 Classes and functions about C types</a></td><td> </td><td align="left" valign="top">
122
<a name="Load-a-shared-library"></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"> < </a>]</td>
126
<td valign="middle" align="left">[<a href="#SEC3" title="Next section in reading order"> > </a>]</td>
127
<td valign="middle" align="left"> </td>
128
<td valign="middle" align="left">[<a href="#SEC1" title="Beginning of this chapter or previous chapter"> << </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"> >> </a>]</td>
131
<td valign="middle" align="left"> </td>
132
<td valign="middle" align="left"> </td>
133
<td valign="middle" align="left"> </td>
134
<td valign="middle" align="left"> </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>
140
<h2 class="section"> 1.1 Load a shared library </h2>
143
<dt><u>Function:</u> <b>c-load-library</b><i> file-or-list &keyword</i>
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.
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'.
157
<dt> <code>-Ldir</code></dt>
158
<dd><p>Add directory <var>dir</var> to the library search paths.
166
<dt><u>Function:</u> <b>c-ld</b><i> option-string</i>
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> </td><td><pre class="example">(c-ld (process-output->string "pkg-config Wand --libs"))
171
</pre></td></tr></table></dd></dl>
174
<a name="Load-a-header-file"></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"> < </a>]</td>
178
<td valign="middle" align="left">[<a href="#SEC4" title="Next section in reading order"> > </a>]</td>
179
<td valign="middle" align="left"> </td>
180
<td valign="middle" align="left">[<a href="#SEC1" title="Beginning of this chapter or previous chapter"> << </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"> >> </a>]</td>
183
<td valign="middle" align="left"> </td>
184
<td valign="middle" align="left"> </td>
185
<td valign="middle" align="left"> </td>
186
<td valign="middle" align="left"> </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>
192
<h2 class="section"> 1.2 Load a header file </h2>
195
<dt><u>Macro:</u> <b>c-include</b><i> file-or-list &keyword</i>
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.
205
<dt> <code>:option</code></dt>
206
<dd><p>Sets up C preprocessor options.
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.
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.
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.
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.
226
<dt> External variable</dt>
227
<dd><p>Defines an object with the same name.
229
<dt> <code>enum</code></dt>
230
<dd><p>Defines a constant value with the same name.
232
<dt> <code>struct</code></dt>
233
<dd><p>Defines a struct class. You can use it with <code>(c-struct tagname)</code>.
235
<dt> <code>union</code></dt>
236
<dd><p>Defines a union class. You can use it with <code>(c-union tagname)</code>.
238
<dt> <code>typedef</code></dt>
239
<dd><p>Defines a class with the name <code><typename></code>.
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.
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.
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.
254
<dt><u>Macro:</u> <b>c-load</b><i> file-or-list &keyword</i>
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.
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.
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> </td><td><pre class="example">(c-load "gtk/gtk/h"
274
:cppflags-cmd "pkg-config gtk+-2.0 --cflags-only-I"
275
:cflags-cmd "pkg-config gtk+-2.0 --cflags-only-other"
276
:libs-cmd "pkg-config gtk+-2.0 --libs"
277
:compiled-lib "gtklib")
278
</pre></td></tr></table>
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.
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.
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.
296
<a name="Classes-and-function-about-C-types-and-values"></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"> < </a>]</td>
300
<td valign="middle" align="left">[<a href="#SEC5" title="Next section in reading order"> > </a>]</td>
301
<td valign="middle" align="left"> </td>
302
<td valign="middle" align="left">[<a href="#SEC1" title="Beginning of this chapter or previous chapter"> << </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"> >> </a>]</td>
305
<td valign="middle" align="left"> </td>
306
<td valign="middle" align="left"> </td>
307
<td valign="middle" align="left"> </td>
308
<td valign="middle" align="left"> </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>
314
<h2 class="section"> 1.3 Classes and functions about C types </h2>
317
<dt><u>Class:</u> <b><c-type></b>
320
<dd><p>This is a basic class for the classes related with C types.
324
<dt><u>Class:</u> <b><c-type-meta></b>
327
<dd><p>This is a meta class for the classes related with C types. All the classes are instances of <code><c-type-meta></code>.
331
<dt><u>Class:</u> <b><c-char></b>
334
<dt><u>Class:</u> <b><c-uchar></b>
337
<dt><u>Class:</u> <b><c-short></b>
340
<dt><u>Class:</u> <b><c-ushort></b>
343
<dt><u>Class:</u> <b><c-int></b>
346
<dt><u>Class:</u> <b><c-uint></b>
349
<dt><u>Class:</u> <b><c-long></b>
352
<dt><u>Class:</u> <b><c-ulong></b>
355
<dt><u>Class:</u> <b><c-longlong></b>
358
<dt><u>Class:</u> <b><c-ulonglong></b>
361
<dt><u>Class:</u> <b><c-float></b>
364
<dt><u>Class:</u> <b><c-double></b>
367
<dd><a name="IDX19"></a>
379
<p>These are classes for arithmetic types in C. you can use <code>make</code> to make an instance of the class.
383
<dt><u>Class:</u> <b><c-value-meta></b>
386
<dd><a name="IDX32"></a>
387
<p>This is a meta class for the classes related with C arithmetic types.
391
<dt><u>Method:</u> <b>ref</b><i> (obj <c-value-meta>)</i>
394
<dd><p>Returns the value of <var>obj</var>.
398
<dt><u>Method:</u> <b>(setter</b><i> ref) (obj <c-value-meta>) value</i>
401
<dd><p>Sets <var>value</var> to <var>obj</var>.
405
<dt><u>Class:</u> <b><c-void></b>
408
<dd><p>This is a class for void type in C.
412
<dt><u>Class:</u> <b><c-ptr></b>
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>.
419
<dt><u>Method:</u> <b>ptr</b><i> (class <c-type-meta>)</i>
422
<dd><p>Makes a class for a pointer type of <var>class</var>, and it is a subclass of <code><c-ptr></code>. You can use <code>make</code> to make an instance of the class.
426
<dt><u>Method:</u> <b>ptr</b><i> (obj <c-type>) </i>
429
<dd><p>Returns a pointer object for <var>obj</var>.
433
<dt><u>Class:</u> <b><c-array></b>
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>.
438
<p><code><c-array></code> is a subclass of <code><sequence></code>, and you can use the operations of sequence framework (<code>gauche.sequence</code> module).
442
<dt><u>Function:</u> <b>c-array</b><i> (class <c-type-meta>) size</i>
445
<dd><p>Makes a class for an array type of <var>class</var>, and it is a subclass of <code><c-array></code>. You can use <code>make</code> to make an instance of the class.
449
<dt><u>Class:</u> <b><c-struct></b>
452
<dd><p>This is an abstract class for struct type in C.
456
<dt><u>Class:</u> <b><c-union></b>
459
<dd><p>This is an abstract class for union type in C.
463
<dt><u>Macro:</u> <b>c-struct</b><i> tagname</i>
466
<dd><p>Returns the struct class named <var>tagname</var>.
470
<dt><u>Macro:</u> <b>c-union</b><i> tagname</i>
473
<dd><p>Returns the union class named <var>tagname</var>.
477
<dt><u>Method:</u> <b>ref</b><i> (obj <c-struct>) member</i>
480
<dt><u>Method:</u> <b>ref</b><i> (obj <c-union>) member</i>
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><real></code> or <code><integer></code>.
487
<dt><u>Method:</u> <b>(setter</b><i> ref) (obj <c-struct>) member value</i>
490
<dt><u>Method:</u> <b>(setter</b><i> ref) (obj <c-union>) member value</i>
493
<dd><p>Sets <var>value</var> to the <var>member</var> of the struct or union <var>obj</var>.
497
<dt><u>Class:</u> <b><c-func-ptr></b>
500
<dd><p>This is an abstract class for function pointer in C.
504
<dt><u>Method:</u> <b>deref</b><i> ptrobj</i>
507
<dd><p>Returns a deference object of <var>ptrobj</var>. ('*' operator in C)
511
<dt><u>Method:</u> <b>c-sizeof</b><i> (class <c-type-meta>)</i>
514
<dt><u>Method:</u> <b>c-sizeof</b><i> (obj <c-type>)</i>
517
<dd><p>Returns a size of <var>class</var> or <var>obj</var>.
521
<dt><u>Method:</u> <b>cast</b><i> class obj</i>
524
<dd><p>Makes an instance of <var>class</var> from <var>obj</var>. The following rules are applied to make an instance.
527
<tr><td><p> <var>class</var> </p></td><td><p> Type of <var>obj</var> </p></td><td><p> Description
530
<tr><td><p> Subclasses of <code><c-value></code>
531
</p></td><td><p> <code><real></code>
532
</p></td><td><p> Makes an instance of <var>class</var> which is the same value of <var>obj</var>.
535
<tr><td><p> Subclasses of <code><c-value></code>
536
</p></td><td><p> <code><boolean></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>).
540
<tr><td><p> <code><c-ptr></code> or <code><c-func-ptr></code>
541
</p></td><td><p> <code><integer></code>
542
</p></td><td><p> Makes a pointer object whose address is <var>obj</var>.
545
<tr><td><p> <code><c-ptr></code> or <code><c-func-ptr></code>
546
</p></td><td><p> <code><c-ptr></code> or <code><c-func-ptr></code>
547
</p></td><td><p> Makes a pointer object whose address is the same of <var>obj</var>.
550
<tr><td><p> <code><c-ptr></code> or <code><c-func-ptr></code>
551
</p></td><td><p> <code><c-array></code>
552
</p></td><td><p> Makes a pointer object whose address is the same of the first address of <var>obj</var>.
555
<tr><td><p> <code><c-ptr></code>
556
</p></td><td><p> <code><string></code>
557
</p></td><td><p> Makes a pointer object whose address points an internally-generated C string.
560
<tr><td><p> <code><c-ptr></code>
561
</p></td><td><p> <code><uvector></code>
562
</p></td><td><p> Makes a pointer object whose address points the buffer of <code><uvector></code>.
565
<tr><td><p> <code><c-ptr></code>
566
</p></td><td><p> <code><sequence></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>.
570
<tr><td><p> <code><c-array></code>
571
</p></td><td><p> <code><sequence></code>
572
</p></td><td><p> Makes an array which contains the same elements of <var>obj</var>.
575
<tr><td><p> <code><c-array></code>
576
</p></td><td><p> <code><c-ptr></code>
577
</p></td><td><p> Makes an array object whose first address is <var>obj</var>.
580
<tr><td><p> <code><c-func-ptr></code>
581
</p></td><td><p> <code><procedure></code>
582
</p></td><td><p> Makes a pointer of a function which executes calls the procedure <var>obj</var>.
585
<tr><td><p> <code><integer></code> or <code><real></code>
586
</p></td><td><p> <code><c-value></code>
587
</p></td><td><p> Makes the value of <var>obj</var>.
590
<tr><td><p> <code><boolean></code>
591
</p></td><td><p> <code><c-value></code> or <code><real></code>
592
</p></td><td><p> Makes #f if the value of <var>obj</var> is 0, #t otherwise.
595
<tr><td><p> <code><integer></code>
596
</p></td><td><p> <code><c-ptr></code> or <code><c-func-ptr></code>
597
</p></td><td><p> Makes the pointer address of <var>obj</var>.
600
<tr><td><p> <code><integer></code>
601
</p></td><td><p> <code><c-array></code>
602
</p></td><td><p> Makes the first address of the array <var>obj</var>.
605
<tr><td><p> <code><string></code>
606
</p></td><td><p> <code><c-ptr></code> or <code><c-func-ptr></code>
607
</p></td><td><p> Makes a string from the address of <var>obj</var>.
610
<tr><td><p> <code><string></code>
611
</p></td><td><p> <code><c-array></code>
612
</p></td><td><p> Makes a string from the array <var>obj</var>. It must be 0 terminated string.
615
<tr><td><p> <code><collection></code>
616
</p></td><td><p> <code><c-array></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>.
624
<dt><u>Function:</u> <b>scm-cast</b><i> obj</i>
627
<dd><p>Returns the value of <var>obj</var> if <var>obj</var> is an instance of <code><c-value></code>. Otherwise, returns <var>obj</var>.
631
<dt><u>Function:</u> <b>make-null-ptr</b>
634
<dd><p>Returns NULL pointer.
638
<dt><u>Function:</u> <b>null-ptr?</b><i> obj</i>
641
<dd><p>Returns <code>#t</code> if <var>obj</var> is a NULL pointer, <code>#f</code> otherwise.
645
<dt><u>Function:</u> <b>register-finalizer!</b><i> ptrobj proc</i>
648
<dd><p>Register the finalizer <var>proc</var> to <var>ptrobj</var>. It is called when <var>ptrobj</var> is GCed.
652
<dt><u>Function:</u> <b>unregister-finalizer!</b><i> ptrobj</i>
655
<dd><p>Deletes the finalizer of <var>ptrobj</var>.
659
<dt><u>Function:</u> <b>finalize!</b><i> ptrobj</i>
662
<dd><p>Calls the finalizer of <var>ptrobj</var>, and deletes it from <var>ptrobj</var>.
666
<a name="objc_002dwrapper"></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"> < </a>]</td>
670
<td valign="middle" align="left">[<a href="#SEC6" title="Next section in reading order"> > </a>]</td>
671
<td valign="middle" align="left"> </td>
672
<td valign="middle" align="left">[<a href="#SEC1" title="Beginning of this chapter or previous chapter"> << </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"> >> </a>]</td>
675
<td valign="middle" align="left"> </td>
676
<td valign="middle" align="left"> </td>
677
<td valign="middle" align="left"> </td>
678
<td valign="middle" align="left"> </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>
684
<h1 class="chapter"> 2. objc-wrapper </h1>
686
<p><code>objc-wrapper</code> is the module which enables to use Objective-C libraries.
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> </td><td align="left" valign="top">
691
<tr><td align="left" valign="top"><a href="#SEC7">2.2 Load an Objective-C header file</a></td><td> </td><td align="left" valign="top">
693
<tr><td align="left" valign="top"><a href="#SEC8">2.3 Functions about Objective-C objects</a></td><td> </td><td align="left" valign="top">
698
<a name="Load-a-framework-library"></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"> < </a>]</td>
702
<td valign="middle" align="left">[<a href="#SEC7" title="Next section in reading order"> > </a>]</td>
703
<td valign="middle" align="left"> </td>
704
<td valign="middle" align="left">[<a href="#SEC5" title="Beginning of this chapter or previous chapter"> << </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"> >> </a>]</td>
707
<td valign="middle" align="left"> </td>
708
<td valign="middle" align="left"> </td>
709
<td valign="middle" align="left"> </td>
710
<td valign="middle" align="left"> </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>
716
<h2 class="section"> 2.1 Load a framework library </h2>
719
<dt><u>Function:</u> <b>c-load-framework</b><i> framework</i>
722
<dd><p>Load a framework library <var>framework</var>.
724
<table><tr><td> </td><td><pre class="example">(c-load-framework "Foundation")
725
</pre></td></tr></table>
729
<a name="Load-an-Objectice_002dC-header-file"></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"> < </a>]</td>
733
<td valign="middle" align="left">[<a href="#SEC8" title="Next section in reading order"> > </a>]</td>
734
<td valign="middle" align="left"> </td>
735
<td valign="middle" align="left">[<a href="#SEC5" title="Beginning of this chapter or previous chapter"> << </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"> >> </a>]</td>
738
<td valign="middle" align="left"> </td>
739
<td valign="middle" align="left"> </td>
740
<td valign="middle" align="left"> </td>
741
<td valign="middle" align="left"> </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>
747
<h2 class="section"> 2.2 Load an Objective-C header file </h2>
750
<dt><u>Function:</u> <b>Macro</b><i> c-include file-or-list &keyword</i>
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.
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><Foo></code>. <code>Foo</code> is an instance of <code><c-struct:objc_object></code> and indicates the Objective-C class <code>Foo</code>. <code><Foo></code> is an alias of the type <code><id></code>.
759
<a name="Functions-about-Objective_002dC-objects"></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"> < </a>]</td>
763
<td valign="middle" align="left">[<a href="#SEC9" title="Next section in reading order"> > </a>]</td>
764
<td valign="middle" align="left"> </td>
765
<td valign="middle" align="left">[<a href="#SEC5" title="Beginning of this chapter or previous chapter"> << </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"> >> </a>]</td>
768
<td valign="middle" align="left"> </td>
769
<td valign="middle" align="left"> </td>
770
<td valign="middle" align="left"> </td>
771
<td valign="middle" align="left"> </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>
777
<h2 class="section"> 2.3 Functions about Objective-C objects </h2>
780
<dt><u>Macro:</u> <b>define-objc-class</b><i> class-name super-class-name</i>
783
<dd><p>Defines Objective-C class <var>class-name</var> whose super class is <var>super-class-name</var>.
787
<dt><u>Macro:</u> <b>define-objc-method</b><i> objc-class ret-type (message-keyword varspec ...) body ...</i>
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).
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.
794
<table><tr><td> </td><td><pre class="example">(define-objc-method MyFooClass <id> [:doSomething (v <c-int>)]
795
[super :doSomething v]
797
(bar v) ;; The result of (bar v) is the return value of this method.
799
</pre></td></tr></table></dd></dl>
802
<dt><u>Method:</u> <b>object-apply</b><i> (obj <c-struct:objc_object>) selector-or-args ...</i>
805
<dd><p>Calls the method of <var>obj</var>.
807
<table><tr><td> </td><td><pre class="example">[[NSString :alloc) :init]
809
[[NSString :startWithCString ( "Hello, world") :encoding NSASCIIStringEncoding]]
810
</pre></td></tr></table>
814
<dt><u>Function:</u> <b>@</b><i> str</i>
817
<dd><p>Returns Objective-C string.
821
<dt><u>Function:</u> <b>@selector</b><i> method-name</i>
824
<dd><p>Returns a selector of <var>method-name</var>.
828
<a name="Function-and-Syntax-Index"></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"> < </a>]</td>
832
<td valign="middle" align="left">[<a href="#SEC10" title="Next section in reading order"> > </a>]</td>
833
<td valign="middle" align="left"> </td>
834
<td valign="middle" align="left">[<a href="#SEC5" title="Beginning of this chapter or previous chapter"> << </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"> >> </a>]</td>
837
<td valign="middle" align="left"> </td>
838
<td valign="middle" align="left"> </td>
839
<td valign="middle" align="left"> </td>
840
<td valign="middle" align="left"> </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>
846
<h1 class="appendix"> A. Function and Syntax Index </h1>
847
<table><tr><th valign="top">Jump to: </th><td><a href="#SEC9_0" class="summary-letter"><b>(</b></a>
849
<a href="#SEC9_1" class="summary-letter"><b>@</b></a>
852
<a href="#SEC9_2" class="summary-letter"><b>C</b></a>
854
<a href="#SEC9_3" class="summary-letter"><b>D</b></a>
856
<a href="#SEC9_4" class="summary-letter"><b>F</b></a>
858
<a href="#SEC9_5" class="summary-letter"><b>M</b></a>
860
<a href="#SEC9_6" class="summary-letter"><b>N</b></a>
862
<a href="#SEC9_7" class="summary-letter"><b>O</b></a>
864
<a href="#SEC9_8" class="summary-letter"><b>P</b></a>
866
<a href="#SEC9_9" class="summary-letter"><b>R</b></a>
868
<a href="#SEC9_10" class="summary-letter"><b>S</b></a>
870
<a href="#SEC9_11" class="summary-letter"><b>U</b></a>
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>
933
<table><tr><th valign="top">Jump to: </th><td><a href="#SEC9_0" class="summary-letter"><b>(</b></a>
935
<a href="#SEC9_1" class="summary-letter"><b>@</b></a>
938
<a href="#SEC9_2" class="summary-letter"><b>C</b></a>
940
<a href="#SEC9_3" class="summary-letter"><b>D</b></a>
942
<a href="#SEC9_4" class="summary-letter"><b>F</b></a>
944
<a href="#SEC9_5" class="summary-letter"><b>M</b></a>
946
<a href="#SEC9_6" class="summary-letter"><b>N</b></a>
948
<a href="#SEC9_7" class="summary-letter"><b>O</b></a>
950
<a href="#SEC9_8" class="summary-letter"><b>P</b></a>
952
<a href="#SEC9_9" class="summary-letter"><b>R</b></a>
954
<a href="#SEC9_10" class="summary-letter"><b>S</b></a>
956
<a href="#SEC9_11" class="summary-letter"><b>U</b></a>
961
<a name="Class-Index"></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"> < </a>]</td>
965
<td valign="middle" align="left">[<a href="#SEC11" title="Next section in reading order"> > </a>]</td>
966
<td valign="middle" align="left"> </td>
967
<td valign="middle" align="left">[<a href="#SEC9" title="Beginning of this chapter or previous chapter"> << </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"> >> </a>]</td>
970
<td valign="middle" align="left"> </td>
971
<td valign="middle" align="left"> </td>
972
<td valign="middle" align="left"> </td>
973
<td valign="middle" align="left"> </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>
979
<h1 class="appendix"> B. Class Index </h1>
980
<p>For readability, the surrounding <code><</code> and <code>></code> are stripped off.
981
</p><table><tr><th valign="top">Jump to: </th><td><a href="#SEC10_0" class="summary-letter"><b>C</b></a>
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>
1003
<table><tr><th valign="top">Jump to: </th><td><a href="#SEC10_0" class="summary-letter"><b>C</b></a>
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"> < </a>]</td>
1012
<td valign="middle" align="left">[ > ]</td>
1013
<td valign="middle" align="left"> </td>
1014
<td valign="middle" align="left">[<a href="#SEC10" title="Beginning of this chapter or previous chapter"> << </a>]</td>
1015
<td valign="middle" align="left">[<a href="#Top" title="Up section"> Up </a>]</td>
1016
<td valign="middle" align="left">[ >> ]</td>
1017
<td valign="middle" align="left"> </td>
1018
<td valign="middle" align="left"> </td>
1019
<td valign="middle" align="left"> </td>
1020
<td valign="middle" align="left"> </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>
1026
<h1 class="appendix"> C. Variable Index </h1>
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>
1036
<h1>Table of Contents</h1>
1037
<div class="contents">
1040
<li><a name="TOC1" href="#SEC1">1. c-wrapper</a>
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>
1046
<li><a name="TOC5" href="#SEC5">2. objc-wrapper</a>
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>
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>
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>
1065
<h1>About This Document</h1>
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>.
1070
The buttons in the navigation panels have the following meaning:
1077
<th> From 1.2.3 go to</th>
1080
<td align="center"> [ < ] </td>
1081
<td align="center">Back</td>
1082
<td>previous section in reading order</td>
1086
<td align="center"> [ > ] </td>
1087
<td align="center">Forward</td>
1088
<td>next section in reading order</td>
1092
<td align="center"> [ << ] </td>
1093
<td align="center">FastBack</td>
1094
<td>beginning of this chapter or previous chapter</td>
1098
<td align="center"> [ Up ] </td>
1099
<td align="center">Up</td>
1104
<td align="center"> [ >> ] </td>
1105
<td align="center">FastForward</td>
1106
<td>next chapter</td>
1110
<td align="center"> [Top] </td>
1111
<td align="center">Top</td>
1112
<td>cover (top) of document</td>
1116
<td align="center"> [Contents] </td>
1117
<td align="center">Contents</td>
1118
<td>table of contents</td>
1122
<td align="center"> [Index] </td>
1123
<td align="center">Index</td>
1128
<td align="center"> [ ? ] </td>
1129
<td align="center">About</td>
1130
<td>about (help)</td>
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:
1142
<li>1.1 Subsection One-One
1147
<li>1.2 Subsection One-Two
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
1152
<strong><== Current Position </strong></li>
1153
<li>1.2.4 Subsubsection One-Two-Four</li>
1156
<li>1.3 Subsection One-Three
1161
<li>1.4 Subsection One-Four</li>
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>.