1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
4
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
5
<title>gimpprotocol</title>
6
<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
7
<link rel="start" href="index.html" title="GIMP Base Library Reference Manual">
8
<link rel="up" href="libgimpbase.html" title="Part I. GIMP Base Library">
9
<link rel="prev" href="libgimpbase-gimputils.html" title="gimputils">
10
<link rel="next" href="libgimpbase-gimpwire.html" title="gimpwire">
11
<meta name="generator" content="GTK-Doc V1.7 (XML mode)">
12
<link rel="stylesheet" href="style.css" type="text/css">
13
<link rel="part" href="libgimpbase.html" title="Part I. GIMP Base Library">
15
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
16
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
18
<td><a accesskey="p" href="libgimpbase-gimputils.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
19
<td><a accesskey="u" href="libgimpbase.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
20
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
21
<th width="100%" align="center">GIMP Base Library Reference Manual</th>
22
<td><a accesskey="n" href="libgimpbase-gimpwire.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
24
<tr><td colspan="5" class="shortcuts"><nobr><a href="#id2557011" class="shortcut">Top</a>
26
<a href="#id2573729" class="shortcut">Description</a></nobr></td></tr>
28
<div class="refentry" lang="en">
29
<a name="libgimpbase-gimpprotocol"></a><div class="titlepage"></div>
30
<div class="refnamediv"><table width="100%"><tr>
33
<a name="id2557011"></a><span class="refentrytitle">gimpprotocol</span>
35
<p>gimpprotocol — The communication protocol between GIMP and it's plug-ins.</p>
37
<td valign="top" align="right"></td>
39
<div class="refsynopsisdiv">
41
<pre class="synopsis">
45
#define <a href="libgimpbase-gimpprotocol.html#GIMP-PROTOCOL-VERSION:CAPS">GIMP_PROTOCOL_VERSION</a>
46
<a href="libgimpbase-gimpprotocol.html#GPConfig">GPConfig</a>;
47
<a href="libgimpbase-gimpprotocol.html#GPTileReq">GPTileReq</a>;
48
<a href="libgimpbase-gimpprotocol.html#GPTileAck">GPTileAck</a>;
49
<a href="libgimpbase-gimpprotocol.html#GPTileData">GPTileData</a>;
50
<a href="libgimpbase-gimpprotocol.html#GPParam">GPParam</a>;
51
<a href="libgimpbase-gimpprotocol.html#GPParamDef">GPParamDef</a>;
52
<a href="libgimpbase-gimpprotocol.html#GPProcRun">GPProcRun</a>;
53
<a href="libgimpbase-gimpprotocol.html#GPProcReturn">GPProcReturn</a>;
54
<a href="libgimpbase-gimpprotocol.html#GPProcInstall">GPProcInstall</a>;
55
<a href="libgimpbase-gimpprotocol.html#GPProcUninstall">GPProcUninstall</a>;
56
void <a href="libgimpbase-gimpprotocol.html#gp-init">gp_init</a> (void);
57
gboolean <a href="libgimpbase-gimpprotocol.html#gp-has-init-write">gp_has_init_write</a> (GIOChannel *channel,
59
gboolean <a href="libgimpbase-gimpprotocol.html#gp-quit-write">gp_quit_write</a> (GIOChannel *channel,
61
gboolean <a href="libgimpbase-gimpprotocol.html#gp-config-write">gp_config_write</a> (GIOChannel *channel,
62
<a href="libgimpbase-gimpprotocol.html#GPConfig">GPConfig</a> *config,
64
gboolean <a href="libgimpbase-gimpprotocol.html#gp-tile-req-write">gp_tile_req_write</a> (GIOChannel *channel,
65
<a href="libgimpbase-gimpprotocol.html#GPTileReq">GPTileReq</a> *tile_req,
67
gboolean <a href="libgimpbase-gimpprotocol.html#gp-tile-ack-write">gp_tile_ack_write</a> (GIOChannel *channel,
69
gboolean <a href="libgimpbase-gimpprotocol.html#gp-tile-data-write">gp_tile_data_write</a> (GIOChannel *channel,
70
<a href="libgimpbase-gimpprotocol.html#GPTileData">GPTileData</a> *tile_data,
72
gboolean <a href="libgimpbase-gimpprotocol.html#gp-proc-run-write">gp_proc_run_write</a> (GIOChannel *channel,
73
<a href="libgimpbase-gimpprotocol.html#GPProcRun">GPProcRun</a> *proc_run,
75
gboolean <a href="libgimpbase-gimpprotocol.html#gp-proc-return-write">gp_proc_return_write</a> (GIOChannel *channel,
76
<a href="libgimpbase-gimpprotocol.html#GPProcReturn">GPProcReturn</a> *proc_return,
78
gboolean <a href="libgimpbase-gimpprotocol.html#gp-temp-proc-run-write">gp_temp_proc_run_write</a> (GIOChannel *channel,
79
<a href="libgimpbase-gimpprotocol.html#GPProcRun">GPProcRun</a> *proc_run,
81
gboolean <a href="libgimpbase-gimpprotocol.html#gp-temp-proc-return-write">gp_temp_proc_return_write</a> (GIOChannel *channel,
82
<a href="libgimpbase-gimpprotocol.html#GPProcReturn">GPProcReturn</a> *proc_return,
84
gboolean <a href="libgimpbase-gimpprotocol.html#gp-proc-install-write">gp_proc_install_write</a> (GIOChannel *channel,
85
<a href="libgimpbase-gimpprotocol.html#GPProcInstall">GPProcInstall</a> *proc_install,
87
gboolean <a href="libgimpbase-gimpprotocol.html#gp-proc-uninstall-write">gp_proc_uninstall_write</a> (GIOChannel *channel,
88
<a href="libgimpbase-gimpprotocol.html#GPProcUninstall">GPProcUninstall</a> *proc_uninstall,
90
gboolean <a href="libgimpbase-gimpprotocol.html#gp-extension-ack-write">gp_extension_ack_write</a> (GIOChannel *channel,
94
<div class="refsect1" lang="en">
95
<a name="id2573729"></a><h2>Description</h2>
97
The communication protocol between GIMP and it's plug-ins.
101
<div class="refsect1" lang="en">
102
<a name="id2573746"></a><h2>Details</h2>
103
<div class="refsect2" lang="en">
104
<a name="id2573757"></a><h3>
105
<a name="GIMP-PROTOCOL-VERSION:CAPS"></a>GIMP_PROTOCOL_VERSION</h3>
106
<a class="indexterm" name="id2573768"></a><pre class="programlisting">#define GIMP_PROTOCOL_VERSION 0x0011
113
<div class="refsect2" lang="en">
114
<a name="id2573783"></a><h3>
115
<a name="GPConfig"></a>GPConfig</h3>
116
<a class="indexterm" name="id2573795"></a><pre class="programlisting">typedef struct {
123
gint8 show_help_button;
124
gint8 gimp_reserved_4;
125
gint8 gimp_reserved_5;
126
gint8 gimp_reserved_6;
127
gint8 gimp_reserved_7;
128
gint8 gimp_reserved_8;
130
gint8 show_tool_tips;
136
gint32 monitor_number;
144
<div class="refsect2" lang="en">
145
<a name="id2546146"></a><h3>
146
<a name="GPTileReq"></a>GPTileReq</h3>
147
<a class="indexterm" name="id2530060"></a><pre class="programlisting">typedef struct {
158
<div class="refsect2" lang="en">
159
<a name="id2564520"></a><h3>
160
<a name="GPTileAck"></a>GPTileAck</h3>
161
<a class="indexterm" name="id2573819"></a><pre class="programlisting">typedef struct _GPTileAck GPTileAck;</pre>
167
<div class="refsect2" lang="en">
168
<a name="id2573834"></a><h3>
169
<a name="GPTileData"></a>GPTileData</h3>
170
<a class="indexterm" name="id2573846"></a><pre class="programlisting">typedef struct {
186
<div class="refsect2" lang="en">
187
<a name="id2533702"></a><h3>
188
<a name="GPParam"></a>GPParam</h3>
189
<a class="indexterm" name="id2533714"></a><pre class="programlisting">typedef struct {
199
gint32 *d_int32array;
200
gint16 *d_int16array;
202
gdouble *d_floatarray;
203
gchar **d_stringarray;
236
<div class="refsect2" lang="en">
237
<a name="id2533742"></a><h3>
238
<a name="GPParamDef"></a>GPParamDef</h3>
239
<a class="indexterm" name="id2533754"></a><pre class="programlisting">typedef struct {
250
<div class="refsect2" lang="en">
251
<a name="id2533771"></a><h3>
252
<a name="GPProcRun"></a>GPProcRun</h3>
253
<a class="indexterm" name="id2533783"></a><pre class="programlisting">typedef struct {
264
<div class="refsect2" lang="en">
265
<a name="id2533800"></a><h3>
266
<a name="GPProcReturn"></a>GPProcReturn</h3>
267
<a class="indexterm" name="id2533813"></a><pre class="programlisting">typedef struct {
278
<div class="refsect2" lang="en">
279
<a name="id2533830"></a><h3>
280
<a name="GPProcInstall"></a>GPProcInstall</h3>
281
<a class="indexterm" name="id2533842"></a><pre class="programlisting">typedef struct {
292
guint32 nreturn_vals;
294
GPParamDef *return_vals;
302
<div class="refsect2" lang="en">
303
<a name="id2533863"></a><h3>
304
<a name="GPProcUninstall"></a>GPProcUninstall</h3>
305
<a class="indexterm" name="id2533876"></a><pre class="programlisting">typedef struct {
314
<div class="refsect2" lang="en">
315
<a name="id2533892"></a><h3>
316
<a name="gp-init"></a>gp_init ()</h3>
317
<a class="indexterm" name="id2533904"></a><pre class="programlisting">void gp_init (void);</pre>
323
<div class="refsect2" lang="en">
324
<a name="id2533925"></a><h3>
325
<a name="gp-has-init-write"></a>gp_has_init_write ()</h3>
326
<a class="indexterm" name="id2533938"></a><pre class="programlisting">gboolean gp_has_init_write (GIOChannel *channel,
327
gpointer user_data);</pre>
331
<div class="variablelist"><table border="0">
332
<col align="left" valign="top">
336
<span class="term"><em class="parameter"><code>channel</code></em> :</span></td>
342
<span class="term"><em class="parameter"><code>user_data</code></em> :</span></td>
348
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
358
<div class="refsect2" lang="en">
359
<a name="id2577737"></a><h3>
360
<a name="gp-quit-write"></a>gp_quit_write ()</h3>
361
<a class="indexterm" name="id2577747"></a><pre class="programlisting">gboolean gp_quit_write (GIOChannel *channel,
362
gpointer user_data);</pre>
366
<div class="variablelist"><table border="0">
367
<col align="left" valign="top">
371
<span class="term"><em class="parameter"><code>channel</code></em> :</span></td>
377
<span class="term"><em class="parameter"><code>user_data</code></em> :</span></td>
383
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
393
<div class="refsect2" lang="en">
394
<a name="id2577816"></a><h3>
395
<a name="gp-config-write"></a>gp_config_write ()</h3>
396
<a class="indexterm" name="id2577827"></a><pre class="programlisting">gboolean gp_config_write (GIOChannel *channel,
397
<a href="libgimpbase-gimpprotocol.html#GPConfig">GPConfig</a> *config,
398
gpointer user_data);</pre>
402
<div class="variablelist"><table border="0">
403
<col align="left" valign="top">
407
<span class="term"><em class="parameter"><code>channel</code></em> :</span></td>
413
<span class="term"><em class="parameter"><code>config</code></em> :</span></td>
419
<span class="term"><em class="parameter"><code>user_data</code></em> :</span></td>
425
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
435
<div class="refsect2" lang="en">
436
<a name="id2577915"></a><h3>
437
<a name="gp-tile-req-write"></a>gp_tile_req_write ()</h3>
438
<a class="indexterm" name="id2577925"></a><pre class="programlisting">gboolean gp_tile_req_write (GIOChannel *channel,
439
<a href="libgimpbase-gimpprotocol.html#GPTileReq">GPTileReq</a> *tile_req,
440
gpointer user_data);</pre>
444
<div class="variablelist"><table border="0">
445
<col align="left" valign="top">
449
<span class="term"><em class="parameter"><code>channel</code></em> :</span></td>
455
<span class="term"><em class="parameter"><code>tile_req</code></em> :</span></td>
461
<span class="term"><em class="parameter"><code>user_data</code></em> :</span></td>
467
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
477
<div class="refsect2" lang="en">
478
<a name="id2578013"></a><h3>
479
<a name="gp-tile-ack-write"></a>gp_tile_ack_write ()</h3>
480
<a class="indexterm" name="id2578024"></a><pre class="programlisting">gboolean gp_tile_ack_write (GIOChannel *channel,
481
gpointer user_data);</pre>
485
<div class="variablelist"><table border="0">
486
<col align="left" valign="top">
490
<span class="term"><em class="parameter"><code>channel</code></em> :</span></td>
496
<span class="term"><em class="parameter"><code>user_data</code></em> :</span></td>
502
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
512
<div class="refsect2" lang="en">
513
<a name="id2578093"></a><h3>
514
<a name="gp-tile-data-write"></a>gp_tile_data_write ()</h3>
515
<a class="indexterm" name="id2578103"></a><pre class="programlisting">gboolean gp_tile_data_write (GIOChannel *channel,
516
<a href="libgimpbase-gimpprotocol.html#GPTileData">GPTileData</a> *tile_data,
517
gpointer user_data);</pre>
521
<div class="variablelist"><table border="0">
522
<col align="left" valign="top">
526
<span class="term"><em class="parameter"><code>channel</code></em> :</span></td>
532
<span class="term"><em class="parameter"><code>tile_data</code></em> :</span></td>
538
<span class="term"><em class="parameter"><code>user_data</code></em> :</span></td>
544
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
554
<div class="refsect2" lang="en">
555
<a name="id2578191"></a><h3>
556
<a name="gp-proc-run-write"></a>gp_proc_run_write ()</h3>
557
<a class="indexterm" name="id2578201"></a><pre class="programlisting">gboolean gp_proc_run_write (GIOChannel *channel,
558
<a href="libgimpbase-gimpprotocol.html#GPProcRun">GPProcRun</a> *proc_run,
559
gpointer user_data);</pre>
563
<div class="variablelist"><table border="0">
564
<col align="left" valign="top">
568
<span class="term"><em class="parameter"><code>channel</code></em> :</span></td>
574
<span class="term"><em class="parameter"><code>proc_run</code></em> :</span></td>
580
<span class="term"><em class="parameter"><code>user_data</code></em> :</span></td>
586
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
596
<div class="refsect2" lang="en">
597
<a name="id2578289"></a><h3>
598
<a name="gp-proc-return-write"></a>gp_proc_return_write ()</h3>
599
<a class="indexterm" name="id2578300"></a><pre class="programlisting">gboolean gp_proc_return_write (GIOChannel *channel,
600
<a href="libgimpbase-gimpprotocol.html#GPProcReturn">GPProcReturn</a> *proc_return,
601
gpointer user_data);</pre>
605
<div class="variablelist"><table border="0">
606
<col align="left" valign="top">
610
<span class="term"><em class="parameter"><code>channel</code></em> :</span></td>
616
<span class="term"><em class="parameter"><code>proc_return</code></em> :</span></td>
622
<span class="term"><em class="parameter"><code>user_data</code></em> :</span></td>
628
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
638
<div class="refsect2" lang="en">
639
<a name="id2578388"></a><h3>
640
<a name="gp-temp-proc-run-write"></a>gp_temp_proc_run_write ()</h3>
641
<a class="indexterm" name="id2578398"></a><pre class="programlisting">gboolean gp_temp_proc_run_write (GIOChannel *channel,
642
<a href="libgimpbase-gimpprotocol.html#GPProcRun">GPProcRun</a> *proc_run,
643
gpointer user_data);</pre>
647
<div class="variablelist"><table border="0">
648
<col align="left" valign="top">
652
<span class="term"><em class="parameter"><code>channel</code></em> :</span></td>
658
<span class="term"><em class="parameter"><code>proc_run</code></em> :</span></td>
664
<span class="term"><em class="parameter"><code>user_data</code></em> :</span></td>
670
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
680
<div class="refsect2" lang="en">
681
<a name="id2578486"></a><h3>
682
<a name="gp-temp-proc-return-write"></a>gp_temp_proc_return_write ()</h3>
683
<a class="indexterm" name="id2578497"></a><pre class="programlisting">gboolean gp_temp_proc_return_write (GIOChannel *channel,
684
<a href="libgimpbase-gimpprotocol.html#GPProcReturn">GPProcReturn</a> *proc_return,
685
gpointer user_data);</pre>
689
<div class="variablelist"><table border="0">
690
<col align="left" valign="top">
694
<span class="term"><em class="parameter"><code>channel</code></em> :</span></td>
700
<span class="term"><em class="parameter"><code>proc_return</code></em> :</span></td>
706
<span class="term"><em class="parameter"><code>user_data</code></em> :</span></td>
712
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
722
<div class="refsect2" lang="en">
723
<a name="id2578585"></a><h3>
724
<a name="gp-proc-install-write"></a>gp_proc_install_write ()</h3>
725
<a class="indexterm" name="id2578595"></a><pre class="programlisting">gboolean gp_proc_install_write (GIOChannel *channel,
726
<a href="libgimpbase-gimpprotocol.html#GPProcInstall">GPProcInstall</a> *proc_install,
727
gpointer user_data);</pre>
731
<div class="variablelist"><table border="0">
732
<col align="left" valign="top">
736
<span class="term"><em class="parameter"><code>channel</code></em> :</span></td>
742
<span class="term"><em class="parameter"><code>proc_install</code></em> :</span></td>
748
<span class="term"><em class="parameter"><code>user_data</code></em> :</span></td>
754
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
764
<div class="refsect2" lang="en">
765
<a name="id2578683"></a><h3>
766
<a name="gp-proc-uninstall-write"></a>gp_proc_uninstall_write ()</h3>
767
<a class="indexterm" name="id2578694"></a><pre class="programlisting">gboolean gp_proc_uninstall_write (GIOChannel *channel,
768
<a href="libgimpbase-gimpprotocol.html#GPProcUninstall">GPProcUninstall</a> *proc_uninstall,
769
gpointer user_data);</pre>
773
<div class="variablelist"><table border="0">
774
<col align="left" valign="top">
778
<span class="term"><em class="parameter"><code>channel</code></em> :</span></td>
784
<span class="term"><em class="parameter"><code>proc_uninstall</code></em> :</span></td>
790
<span class="term"><em class="parameter"><code>user_data</code></em> :</span></td>
796
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
806
<div class="refsect2" lang="en">
807
<a name="id2578782"></a><h3>
808
<a name="gp-extension-ack-write"></a>gp_extension_ack_write ()</h3>
809
<a class="indexterm" name="id2578792"></a><pre class="programlisting">gboolean gp_extension_ack_write (GIOChannel *channel,
810
gpointer user_data);</pre>
814
<div class="variablelist"><table border="0">
815
<col align="left" valign="top">
819
<span class="term"><em class="parameter"><code>channel</code></em> :</span></td>
825
<span class="term"><em class="parameter"><code>user_data</code></em> :</span></td>
831
<span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td>
841
<div class="refsect1" lang="en">
842
<a name="id2578862"></a><h2>See Also</h2>
844
<span class="type">libgimp-gimpwire</span>