2
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
3
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
4
<refentry id="libedataserver-ESExp">
6
<refentrytitle role="top_of_page" id="libedataserver-ESExp.top_of_page">ESExp</refentrytitle>
7
<manvolnum>3</manvolnum>
13
<refname>ESExp</refname>
14
<refpurpose></refpurpose>
17
<refsynopsisdiv id="libedataserver-ESExp.synopsis" role="synopsis">
18
<title role="synopsis.title">Synopsis</title>
20
<synopsis> <link linkend="ESExp">ESExp</link>;
21
<link linkend="ESExpSymbol">ESExpSymbol</link>;
22
<link linkend="ESExpResult">ESExpResult</link>;
23
<link linkend="ESExpTerm">ESExpTerm</link>;
24
<link linkend="ESExp"><returnvalue>ESExp</returnvalue></link> * <link linkend="e-sexp-new">e_sexp_new</link> (<parameter><type>void</type></parameter>);
25
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-sexp-ref">e_sexp_ref</link> (<parameter><link linkend="ESExp"><type>ESExp</type></link> *f</parameter>);
26
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-sexp-unref">e_sexp_unref</link> (<parameter><link linkend="ESExp"><type>ESExp</type></link> *f</parameter>);
27
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-sexp-add-function">e_sexp_add_function</link> (<parameter><link linkend="ESExp"><type>ESExp</type></link> *f</parameter>,
28
<parameter><link linkend="gint"><type>gint</type></link> scope</parameter>,
29
<parameter>const <link linkend="gchar"><type>gchar</type></link> *name</parameter>,
30
<parameter><link linkend="ESExpFunc"><type>ESExpFunc</type></link> *func</parameter>,
31
<parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>);
32
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-sexp-add-ifunction">e_sexp_add_ifunction</link> (<parameter><link linkend="ESExp"><type>ESExp</type></link> *f</parameter>,
33
<parameter><link linkend="gint"><type>gint</type></link> scope</parameter>,
34
<parameter>const <link linkend="gchar"><type>gchar</type></link> *name</parameter>,
35
<parameter><link linkend="ESExpIFunc"><type>ESExpIFunc</type></link> *func</parameter>,
36
<parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>);
37
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-sexp-add-variable">e_sexp_add_variable</link> (<parameter><link linkend="ESExp"><type>ESExp</type></link> *f</parameter>,
38
<parameter><link linkend="gint"><type>gint</type></link> scope</parameter>,
39
<parameter><link linkend="gchar"><type>gchar</type></link> *name</parameter>,
40
<parameter><link linkend="ESExpTerm"><type>ESExpTerm</type></link> *value</parameter>);
41
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-sexp-remove-symbol">e_sexp_remove_symbol</link> (<parameter><link linkend="ESExp"><type>ESExp</type></link> *f</parameter>,
42
<parameter><link linkend="gint"><type>gint</type></link> scope</parameter>,
43
<parameter>const <link linkend="gchar"><type>gchar</type></link> *name</parameter>);
44
<link linkend="gint"><returnvalue>gint</returnvalue></link> <link linkend="e-sexp-set-scope">e_sexp_set_scope</link> (<parameter><link linkend="ESExp"><type>ESExp</type></link> *f</parameter>,
45
<parameter><link linkend="gint"><type>gint</type></link> scope</parameter>);
46
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-sexp-input-text">e_sexp_input_text</link> (<parameter><link linkend="ESExp"><type>ESExp</type></link> *f</parameter>,
47
<parameter>const <link linkend="gchar"><type>gchar</type></link> *text</parameter>,
48
<parameter><link linkend="gint"><type>gint</type></link> len</parameter>);
49
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-sexp-input-file">e_sexp_input_file</link> (<parameter><link linkend="ESExp"><type>ESExp</type></link> *f</parameter>,
50
<parameter><link linkend="gint"><type>gint</type></link> fd</parameter>);
51
<link linkend="gint"><returnvalue>gint</returnvalue></link> <link linkend="e-sexp-parse">e_sexp_parse</link> (<parameter><link linkend="ESExp"><type>ESExp</type></link> *f</parameter>);
52
<link linkend="ESExpResult"><returnvalue>ESExpResult</returnvalue></link> * <link linkend="e-sexp-eval">e_sexp_eval</link> (<parameter><link linkend="ESExp"><type>ESExp</type></link> *f</parameter>);
53
<link linkend="ESExpResult"><returnvalue>ESExpResult</returnvalue></link> * <link linkend="e-sexp-term-eval">e_sexp_term_eval</link> (<parameter><type>struct _ESExp</type> *f</parameter>,
54
<parameter><type>struct _ESExpTerm</type> *t</parameter>);
55
<link linkend="ESExpResult"><returnvalue>ESExpResult</returnvalue></link> * <link linkend="e-sexp-result-new">e_sexp_result_new</link> (<parameter><type>struct _ESExp</type> *f</parameter>,
56
<parameter><link linkend="gint"><type>gint</type></link> type</parameter>);
57
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-sexp-result-free">e_sexp_result_free</link> (<parameter><type>struct _ESExp</type> *f</parameter>,
58
<parameter><type>struct _ESExpResult</type> *t</parameter>);
59
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-sexp-resultv-free">e_sexp_resultv_free</link> (<parameter><type>struct _ESExp</type> *f</parameter>,
60
<parameter><link linkend="gint"><type>gint</type></link> argc</parameter>,
61
<parameter><type>struct _ESExpResult</type> **argv</parameter>);
62
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-sexp-encode-bool">e_sexp_encode_bool</link> (<parameter><link linkend="GString"><type>GString</type></link> *s</parameter>,
63
<parameter><link linkend="gboolean"><type>gboolean</type></link> state</parameter>);
64
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-sexp-encode-string">e_sexp_encode_string</link> (<parameter><link linkend="GString"><type>GString</type></link> *s</parameter>,
65
<parameter>const <link linkend="gchar"><type>gchar</type></link> *string</parameter>);
66
<link linkend="void"><returnvalue>void</returnvalue></link> <link linkend="e-sexp-fatal-error">e_sexp_fatal_error</link> (<parameter><type>struct _ESExp</type> *f</parameter>,
67
<parameter>const <link linkend="gchar"><type>gchar</type></link> *why</parameter>,
68
<parameter>...</parameter>);
69
const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> * <link linkend="e-sexp-error">e_sexp_error</link> (<parameter><type>struct _ESExp</type> *f</parameter>);
70
<link linkend="ESExpTerm"><returnvalue>ESExpTerm</returnvalue></link> * <link linkend="e-sexp-parse-value">e_sexp_parse_value</link> (<parameter><link linkend="ESExp"><type>ESExp</type></link> *f</parameter>);
74
<refsect1 id="libedataserver-ESExp.description" role="desc">
75
<title role="desc.title">Description</title>
79
<refsect1 id="libedataserver-ESExp.details" role="details">
80
<title role="details.title">Details</title>
81
<refsect2 id="ESExp" role="struct">
83
<indexterm zone="ESExp"><primary>ESExp</primary></indexterm>
84
<programlisting>typedef struct {
85
#ifdef E_SEXP_IS_G_OBJECT
86
GObject parent_object;
90
GScanner *scanner; /* for parsing text version */
91
ESExpTerm *tree; /* root of expression tree */
98
/* TODO: may also need a pool allocator for term strings, so we dont lose them
99
in error conditions? */
100
struct _EMemChunk *term_chunks;
101
struct _EMemChunk *result_chunks;
106
<refsect2 id="ESExpSymbol" role="struct">
107
<title>ESExpSymbol</title>
108
<indexterm zone="ESExpSymbol"><primary>ESExpSymbol</primary></indexterm>
109
<programlisting>typedef struct {
110
gint type; /* ESEXP_TERM_FUNC or ESEXP_TERM_VAR */
121
<refsect2 id="ESExpResult" role="struct">
122
<title>ESExpResult</title>
123
<indexterm zone="ESExpResult"><primary>ESExpResult</primary></indexterm>
124
<programlisting>typedef struct {
125
enum _ESExpResultType type;
137
<refsect2 id="ESExpTerm" role="struct">
138
<title>ESExpTerm</title>
139
<indexterm zone="ESExpTerm"><primary>ESExpTerm</primary></indexterm>
140
<programlisting>typedef struct {
141
enum _ESExpTermType type;
148
struct _ESExpSymbol *sym;
149
struct _ESExpTerm **terms;
152
struct _ESExpSymbol *var;
158
<refsect2 id="e-sexp-new" role="function">
159
<title>e_sexp_new ()</title>
160
<indexterm zone="e-sexp-new"><primary>e_sexp_new</primary></indexterm>
161
<programlisting><link linkend="ESExp"><returnvalue>ESExp</returnvalue></link> * e_sexp_new (<parameter><type>void</type></parameter>);</programlisting>
163
</para><variablelist role="params">
164
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
165
</simpara></listitem></varlistentry>
166
</variablelist></refsect2>
167
<refsect2 id="e-sexp-ref" role="function">
168
<title>e_sexp_ref ()</title>
169
<indexterm zone="e-sexp-ref"><primary>e_sexp_ref</primary></indexterm>
170
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_sexp_ref (<parameter><link linkend="ESExp"><type>ESExp</type></link> *f</parameter>);</programlisting>
172
</para><variablelist role="params">
173
<varlistentry><term><parameter>f</parameter> :</term>
175
</simpara></listitem></varlistentry>
176
</variablelist></refsect2>
177
<refsect2 id="e-sexp-unref" role="function">
178
<title>e_sexp_unref ()</title>
179
<indexterm zone="e-sexp-unref"><primary>e_sexp_unref</primary></indexterm>
180
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_sexp_unref (<parameter><link linkend="ESExp"><type>ESExp</type></link> *f</parameter>);</programlisting>
182
</para><variablelist role="params">
183
<varlistentry><term><parameter>f</parameter> :</term>
185
</simpara></listitem></varlistentry>
186
</variablelist></refsect2>
187
<refsect2 id="e-sexp-add-function" role="function">
188
<title>e_sexp_add_function ()</title>
189
<indexterm zone="e-sexp-add-function"><primary>e_sexp_add_function</primary></indexterm>
190
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_sexp_add_function (<parameter><link linkend="ESExp"><type>ESExp</type></link> *f</parameter>,
191
<parameter><link linkend="gint"><type>gint</type></link> scope</parameter>,
192
<parameter>const <link linkend="gchar"><type>gchar</type></link> *name</parameter>,
193
<parameter><link linkend="ESExpFunc"><type>ESExpFunc</type></link> *func</parameter>,
194
<parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>);</programlisting>
196
</para><variablelist role="params">
197
<varlistentry><term><parameter>f</parameter> :</term>
199
</simpara></listitem></varlistentry>
200
<varlistentry><term><parameter>scope</parameter> :</term>
202
</simpara></listitem></varlistentry>
203
<varlistentry><term><parameter>name</parameter> :</term>
205
</simpara></listitem></varlistentry>
206
<varlistentry><term><parameter>func</parameter> :</term>
208
</simpara></listitem></varlistentry>
209
<varlistentry><term><parameter>data</parameter> :</term>
211
</simpara></listitem></varlistentry>
212
</variablelist></refsect2>
213
<refsect2 id="e-sexp-add-ifunction" role="function">
214
<title>e_sexp_add_ifunction ()</title>
215
<indexterm zone="e-sexp-add-ifunction"><primary>e_sexp_add_ifunction</primary></indexterm>
216
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_sexp_add_ifunction (<parameter><link linkend="ESExp"><type>ESExp</type></link> *f</parameter>,
217
<parameter><link linkend="gint"><type>gint</type></link> scope</parameter>,
218
<parameter>const <link linkend="gchar"><type>gchar</type></link> *name</parameter>,
219
<parameter><link linkend="ESExpIFunc"><type>ESExpIFunc</type></link> *func</parameter>,
220
<parameter><link linkend="gpointer"><type>gpointer</type></link> data</parameter>);</programlisting>
222
</para><variablelist role="params">
223
<varlistentry><term><parameter>f</parameter> :</term>
225
</simpara></listitem></varlistentry>
226
<varlistentry><term><parameter>scope</parameter> :</term>
228
</simpara></listitem></varlistentry>
229
<varlistentry><term><parameter>name</parameter> :</term>
231
</simpara></listitem></varlistentry>
232
<varlistentry><term><parameter>func</parameter> :</term>
234
</simpara></listitem></varlistentry>
235
<varlistentry><term><parameter>data</parameter> :</term>
237
</simpara></listitem></varlistentry>
238
</variablelist></refsect2>
239
<refsect2 id="e-sexp-add-variable" role="function">
240
<title>e_sexp_add_variable ()</title>
241
<indexterm zone="e-sexp-add-variable"><primary>e_sexp_add_variable</primary></indexterm>
242
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_sexp_add_variable (<parameter><link linkend="ESExp"><type>ESExp</type></link> *f</parameter>,
243
<parameter><link linkend="gint"><type>gint</type></link> scope</parameter>,
244
<parameter><link linkend="gchar"><type>gchar</type></link> *name</parameter>,
245
<parameter><link linkend="ESExpTerm"><type>ESExpTerm</type></link> *value</parameter>);</programlisting>
247
</para><variablelist role="params">
248
<varlistentry><term><parameter>f</parameter> :</term>
250
</simpara></listitem></varlistentry>
251
<varlistentry><term><parameter>scope</parameter> :</term>
253
</simpara></listitem></varlistentry>
254
<varlistentry><term><parameter>name</parameter> :</term>
256
</simpara></listitem></varlistentry>
257
<varlistentry><term><parameter>value</parameter> :</term>
259
</simpara></listitem></varlistentry>
260
</variablelist></refsect2>
261
<refsect2 id="e-sexp-remove-symbol" role="function">
262
<title>e_sexp_remove_symbol ()</title>
263
<indexterm zone="e-sexp-remove-symbol"><primary>e_sexp_remove_symbol</primary></indexterm>
264
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_sexp_remove_symbol (<parameter><link linkend="ESExp"><type>ESExp</type></link> *f</parameter>,
265
<parameter><link linkend="gint"><type>gint</type></link> scope</parameter>,
266
<parameter>const <link linkend="gchar"><type>gchar</type></link> *name</parameter>);</programlisting>
268
</para><variablelist role="params">
269
<varlistentry><term><parameter>f</parameter> :</term>
271
</simpara></listitem></varlistentry>
272
<varlistentry><term><parameter>scope</parameter> :</term>
274
</simpara></listitem></varlistentry>
275
<varlistentry><term><parameter>name</parameter> :</term>
277
</simpara></listitem></varlistentry>
278
</variablelist></refsect2>
279
<refsect2 id="e-sexp-set-scope" role="function">
280
<title>e_sexp_set_scope ()</title>
281
<indexterm zone="e-sexp-set-scope"><primary>e_sexp_set_scope</primary></indexterm>
282
<programlisting><link linkend="gint"><returnvalue>gint</returnvalue></link> e_sexp_set_scope (<parameter><link linkend="ESExp"><type>ESExp</type></link> *f</parameter>,
283
<parameter><link linkend="gint"><type>gint</type></link> scope</parameter>);</programlisting>
285
</para><variablelist role="params">
286
<varlistentry><term><parameter>f</parameter> :</term>
288
</simpara></listitem></varlistentry>
289
<varlistentry><term><parameter>scope</parameter> :</term>
291
</simpara></listitem></varlistentry>
292
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
293
</simpara></listitem></varlistentry>
294
</variablelist></refsect2>
295
<refsect2 id="e-sexp-input-text" role="function">
296
<title>e_sexp_input_text ()</title>
297
<indexterm zone="e-sexp-input-text"><primary>e_sexp_input_text</primary></indexterm>
298
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_sexp_input_text (<parameter><link linkend="ESExp"><type>ESExp</type></link> *f</parameter>,
299
<parameter>const <link linkend="gchar"><type>gchar</type></link> *text</parameter>,
300
<parameter><link linkend="gint"><type>gint</type></link> len</parameter>);</programlisting>
302
</para><variablelist role="params">
303
<varlistentry><term><parameter>f</parameter> :</term>
305
</simpara></listitem></varlistentry>
306
<varlistentry><term><parameter>text</parameter> :</term>
308
</simpara></listitem></varlistentry>
309
<varlistentry><term><parameter>len</parameter> :</term>
311
</simpara></listitem></varlistentry>
312
</variablelist></refsect2>
313
<refsect2 id="e-sexp-input-file" role="function">
314
<title>e_sexp_input_file ()</title>
315
<indexterm zone="e-sexp-input-file"><primary>e_sexp_input_file</primary></indexterm>
316
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_sexp_input_file (<parameter><link linkend="ESExp"><type>ESExp</type></link> *f</parameter>,
317
<parameter><link linkend="gint"><type>gint</type></link> fd</parameter>);</programlisting>
319
</para><variablelist role="params">
320
<varlistentry><term><parameter>f</parameter> :</term>
322
</simpara></listitem></varlistentry>
323
<varlistentry><term><parameter>fd</parameter> :</term>
325
</simpara></listitem></varlistentry>
326
</variablelist></refsect2>
327
<refsect2 id="e-sexp-parse" role="function">
328
<title>e_sexp_parse ()</title>
329
<indexterm zone="e-sexp-parse"><primary>e_sexp_parse</primary></indexterm>
330
<programlisting><link linkend="gint"><returnvalue>gint</returnvalue></link> e_sexp_parse (<parameter><link linkend="ESExp"><type>ESExp</type></link> *f</parameter>);</programlisting>
332
</para><variablelist role="params">
333
<varlistentry><term><parameter>f</parameter> :</term>
335
</simpara></listitem></varlistentry>
336
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
337
</simpara></listitem></varlistentry>
338
</variablelist></refsect2>
339
<refsect2 id="e-sexp-eval" role="function">
340
<title>e_sexp_eval ()</title>
341
<indexterm zone="e-sexp-eval"><primary>e_sexp_eval</primary></indexterm>
342
<programlisting><link linkend="ESExpResult"><returnvalue>ESExpResult</returnvalue></link> * e_sexp_eval (<parameter><link linkend="ESExp"><type>ESExp</type></link> *f</parameter>);</programlisting>
344
</para><variablelist role="params">
345
<varlistentry><term><parameter>f</parameter> :</term>
347
</simpara></listitem></varlistentry>
348
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
349
</simpara></listitem></varlistentry>
350
</variablelist></refsect2>
351
<refsect2 id="e-sexp-term-eval" role="function">
352
<title>e_sexp_term_eval ()</title>
353
<indexterm zone="e-sexp-term-eval"><primary>e_sexp_term_eval</primary></indexterm>
354
<programlisting><link linkend="ESExpResult"><returnvalue>ESExpResult</returnvalue></link> * e_sexp_term_eval (<parameter><type>struct _ESExp</type> *f</parameter>,
355
<parameter><type>struct _ESExpTerm</type> *t</parameter>);</programlisting>
357
</para><variablelist role="params">
358
<varlistentry><term><parameter>f</parameter> :</term>
360
</simpara></listitem></varlistentry>
361
<varlistentry><term><parameter>t</parameter> :</term>
363
</simpara></listitem></varlistentry>
364
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
365
</simpara></listitem></varlistentry>
366
</variablelist></refsect2>
367
<refsect2 id="e-sexp-result-new" role="function">
368
<title>e_sexp_result_new ()</title>
369
<indexterm zone="e-sexp-result-new"><primary>e_sexp_result_new</primary></indexterm>
370
<programlisting><link linkend="ESExpResult"><returnvalue>ESExpResult</returnvalue></link> * e_sexp_result_new (<parameter><type>struct _ESExp</type> *f</parameter>,
371
<parameter><link linkend="gint"><type>gint</type></link> type</parameter>);</programlisting>
373
</para><variablelist role="params">
374
<varlistentry><term><parameter>f</parameter> :</term>
376
</simpara></listitem></varlistentry>
377
<varlistentry><term><parameter>type</parameter> :</term>
379
</simpara></listitem></varlistentry>
380
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
381
</simpara></listitem></varlistentry>
382
</variablelist></refsect2>
383
<refsect2 id="e-sexp-result-free" role="function">
384
<title>e_sexp_result_free ()</title>
385
<indexterm zone="e-sexp-result-free"><primary>e_sexp_result_free</primary></indexterm>
386
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_sexp_result_free (<parameter><type>struct _ESExp</type> *f</parameter>,
387
<parameter><type>struct _ESExpResult</type> *t</parameter>);</programlisting>
389
</para><variablelist role="params">
390
<varlistentry><term><parameter>f</parameter> :</term>
392
</simpara></listitem></varlistentry>
393
<varlistentry><term><parameter>t</parameter> :</term>
395
</simpara></listitem></varlistentry>
396
</variablelist></refsect2>
397
<refsect2 id="e-sexp-resultv-free" role="function">
398
<title>e_sexp_resultv_free ()</title>
399
<indexterm zone="e-sexp-resultv-free"><primary>e_sexp_resultv_free</primary></indexterm>
400
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_sexp_resultv_free (<parameter><type>struct _ESExp</type> *f</parameter>,
401
<parameter><link linkend="gint"><type>gint</type></link> argc</parameter>,
402
<parameter><type>struct _ESExpResult</type> **argv</parameter>);</programlisting>
404
</para><variablelist role="params">
405
<varlistentry><term><parameter>f</parameter> :</term>
407
</simpara></listitem></varlistentry>
408
<varlistentry><term><parameter>argc</parameter> :</term>
410
</simpara></listitem></varlistentry>
411
<varlistentry><term><parameter>argv</parameter> :</term>
413
</simpara></listitem></varlistentry>
414
</variablelist></refsect2>
415
<refsect2 id="e-sexp-encode-bool" role="function">
416
<title>e_sexp_encode_bool ()</title>
417
<indexterm zone="e-sexp-encode-bool"><primary>e_sexp_encode_bool</primary></indexterm>
418
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_sexp_encode_bool (<parameter><link linkend="GString"><type>GString</type></link> *s</parameter>,
419
<parameter><link linkend="gboolean"><type>gboolean</type></link> state</parameter>);</programlisting>
421
Encode a bool into an s-expression <parameter>s</parameter>. Bools are
422
encoded using #t #f syntax.</para>
424
<refsect2 id="e-sexp-encode-string" role="function">
425
<title>e_sexp_encode_string ()</title>
426
<indexterm zone="e-sexp-encode-string"><primary>e_sexp_encode_string</primary></indexterm>
427
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_sexp_encode_string (<parameter><link linkend="GString"><type>GString</type></link> *s</parameter>,
428
<parameter>const <link linkend="gchar"><type>gchar</type></link> *string</parameter>);</programlisting>
430
Add a c string <parameter>string</parameter> to the s-expression stored in
431
the gstring <parameter>s</parameter>. Quotes are added, and special characters
432
are escaped appropriately.</para>
433
<variablelist role="params">
434
<varlistentry><term><parameter>s</parameter> :</term>
435
<listitem><simpara>Destination string.
436
</simpara></listitem></varlistentry>
437
<varlistentry><term><parameter>string</parameter> :</term>
438
<listitem><simpara>String expression.
439
</simpara></listitem></varlistentry>
440
</variablelist></refsect2>
441
<refsect2 id="e-sexp-fatal-error" role="function">
442
<title>e_sexp_fatal_error ()</title>
443
<indexterm zone="e-sexp-fatal-error"><primary>e_sexp_fatal_error</primary></indexterm>
444
<programlisting><link linkend="void"><returnvalue>void</returnvalue></link> e_sexp_fatal_error (<parameter><type>struct _ESExp</type> *f</parameter>,
445
<parameter>const <link linkend="gchar"><type>gchar</type></link> *why</parameter>,
446
<parameter>...</parameter>);</programlisting>
448
</para><variablelist role="params">
449
<varlistentry><term><parameter>f</parameter> :</term>
451
</simpara></listitem></varlistentry>
452
<varlistentry><term><parameter>why</parameter> :</term>
454
</simpara></listitem></varlistentry>
455
<varlistentry><term><parameter>...</parameter> :</term>
457
</simpara></listitem></varlistentry>
458
</variablelist></refsect2>
459
<refsect2 id="e-sexp-error" role="function">
460
<title>e_sexp_error ()</title>
461
<indexterm zone="e-sexp-error"><primary>e_sexp_error</primary></indexterm>
462
<programlisting>const <link linkend="gchar"><returnvalue>gchar</returnvalue></link> * e_sexp_error (<parameter><type>struct _ESExp</type> *f</parameter>);</programlisting>
464
</para><variablelist role="params">
465
<varlistentry><term><parameter>f</parameter> :</term>
467
</simpara></listitem></varlistentry>
468
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
469
</simpara></listitem></varlistentry>
470
</variablelist></refsect2>
471
<refsect2 id="e-sexp-parse-value" role="function">
472
<title>e_sexp_parse_value ()</title>
473
<indexterm zone="e-sexp-parse-value"><primary>e_sexp_parse_value</primary></indexterm>
474
<programlisting><link linkend="ESExpTerm"><returnvalue>ESExpTerm</returnvalue></link> * e_sexp_parse_value (<parameter><link linkend="ESExp"><type>ESExp</type></link> *f</parameter>);</programlisting>
476
</para><variablelist role="params">
477
<varlistentry><term><parameter>f</parameter> :</term>
479
</simpara></listitem></varlistentry>
480
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara>
481
</simpara></listitem></varlistentry>
482
</variablelist></refsect2>