annotate src/ui-gtk.h @ 5518:3cc7470ea71c

gnuclient: if TMPDIR was set and connect failed, try again with /tmp 2011-06-03 Aidan Kehoe <kehoea@parhasard.net> * gnuslib.c (connect_to_unix_server): Retry with /tmp as a directory in which to search for Unix sockets if an attempt to connect with some other directory failed (which may be because gnuclient and gnuserv don't share an environment value for TMPDIR, or because gnuserv was compiled with USE_TMPDIR turned off).
author Aidan Kehoe <kehoea@parhasard.net>
date Fri, 03 Jun 2011 18:40:57 +0100
parents 2aa9cd456ae7
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
1 /* ui-gtk.h
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
2 **
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
3 ** Description:
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
4 **
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
5 ** Created by: William M. Perry
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
6 ** Copyright (c) 2000 Aventail Corporation
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
7 **
4709
db7068430402 Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents: 3017
diff changeset
8 ** This file is part of XEmacs.
db7068430402 Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents: 3017
diff changeset
9 **
5405
2aa9cd456ae7 Move src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents: 5231
diff changeset
10 ** XEmacs is free software: you can redistribute it and/or modify it
4709
db7068430402 Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents: 3017
diff changeset
11 ** under the terms of the GNU General Public License as published by the
5405
2aa9cd456ae7 Move src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents: 5231
diff changeset
12 ** Free Software Foundation, either version 3 of the License, or (at your
2aa9cd456ae7 Move src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents: 5231
diff changeset
13 ** option) any later version.
2aa9cd456ae7 Move src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents: 5231
diff changeset
14 **
4709
db7068430402 Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents: 3017
diff changeset
15 ** XEmacs is distributed in the hope that it will be useful, but WITHOUT
db7068430402 Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents: 3017
diff changeset
16 ** ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
db7068430402 Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents: 3017
diff changeset
17 ** FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
db7068430402 Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents: 3017
diff changeset
18 ** for more details.
5405
2aa9cd456ae7 Move src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents: 5231
diff changeset
19 **
4709
db7068430402 Add explicit GPL v2 or later notices to Bill Perry's code, where such notices
Jerry James <james@xemacs.org>
parents: 3017
diff changeset
20 ** You should have received a copy of the GNU General Public License
5405
2aa9cd456ae7 Move src/ to GPLv3.
Mike Sperber <sperber@deinprogramm.de>
parents: 5231
diff changeset
21 ** along with XEmacs. If not, see <http://www.gnu.org/licenses/>. */
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
22
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
23 #ifndef __UI_GTK_H__
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
24 #define __UI_GTK_H__
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
25
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
26 /* Encapsulate a foreign function call */
4908
b3ce27ca7647 various fixes related to gtk, redisplay-xlike-inc.c
Ben Wing <ben@xemacs.org>
parents: 4709
diff changeset
27
b3ce27ca7647 various fixes related to gtk, redisplay-xlike-inc.c
Ben Wing <ben@xemacs.org>
parents: 4709
diff changeset
28 #include "sysgtk.h"
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
29 #include "sysdll.h"
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
30
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
31 typedef void (*ffi_actual_function) (void);
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
32 typedef void (*ffi_marshalling_function) (ffi_actual_function, GtkArg *);
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
33
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
34 #define MAX_GTK_ARGS 100
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
35
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
36 typedef struct {
5127
a9c41067dd88 more cleanups, terminology clarification, lots of doc work
Ben Wing <ben@xemacs.org>
parents: 5125
diff changeset
37 NORMAL_LISP_OBJECT_HEADER header;
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
38 GtkType return_type;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
39 GtkType args[MAX_GTK_ARGS];
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
40 gint n_args;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
41 Lisp_Object function_name;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
42 dll_func function_ptr;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
43 ffi_marshalling_function marshal;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
44 } emacs_ffi_data;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
45
5118
e0db3c197671 merge up to latest default branch, doesn't compile yet
Ben Wing <ben@xemacs.org>
parents: 4709
diff changeset
46 DECLARE_LISP_OBJECT (emacs_ffi, emacs_ffi_data);
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
47
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
48 #define XFFI(x) XRECORD (x, emacs_ffi, emacs_ffi_data)
617
af57a77cbc92 [xemacs-hg @ 2001-06-18 07:09:50 by ben]
ben
parents: 462
diff changeset
49 #define wrap_emacs_ffi(p) wrap_record (p, emacs_ffi)
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
50 #define FFIP(x) RECORDP (x, emacs_ffi)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
51 #define CHECK_FFI(x) CHECK_RECORD (x, emacs_ffi)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
52
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
53 /* Encapsulate a GtkObject in Lisp */
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
54 typedef struct {
5127
a9c41067dd88 more cleanups, terminology clarification, lots of doc work
Ben Wing <ben@xemacs.org>
parents: 5125
diff changeset
55 NORMAL_LISP_OBJECT_HEADER header;
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
56 gboolean alive_p;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
57 GtkObject *object;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
58 Lisp_Object plist;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
59 } emacs_gtk_object_data;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
60
5118
e0db3c197671 merge up to latest default branch, doesn't compile yet
Ben Wing <ben@xemacs.org>
parents: 4709
diff changeset
61 DECLARE_LISP_OBJECT (emacs_gtk_object, emacs_gtk_object_data);
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
62
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
63 #define XGTK_OBJECT(x) XRECORD (x, emacs_gtk_object, emacs_gtk_object_data)
617
af57a77cbc92 [xemacs-hg @ 2001-06-18 07:09:50 by ben]
ben
parents: 462
diff changeset
64 #define wrap_emacs_gtk_object(p) wrap_record (p, emacs_gtk_object)
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
65 #define GTK_OBJECTP(x) RECORDP (x, emacs_gtk_object)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
66 #define CHECK_GTK_OBJECT(x) CHECK_RECORD (x, emacs_gtk_object)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
67
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
68 extern Lisp_Object build_gtk_object (GtkObject *obj);
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
69
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
70 /* Encapsulate a GTK_TYPE_BOXED in lisp */
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
71 typedef struct {
5127
a9c41067dd88 more cleanups, terminology clarification, lots of doc work
Ben Wing <ben@xemacs.org>
parents: 5125
diff changeset
72 NORMAL_LISP_OBJECT_HEADER header;
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
73 GtkType object_type;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
74 void *object;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
75 } emacs_gtk_boxed_data;
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
76
5118
e0db3c197671 merge up to latest default branch, doesn't compile yet
Ben Wing <ben@xemacs.org>
parents: 4709
diff changeset
77 DECLARE_LISP_OBJECT (emacs_gtk_boxed, emacs_gtk_boxed_data);
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
78
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
79 #define XGTK_BOXED(x) XRECORD (x, emacs_gtk_boxed, emacs_gtk_boxed_data)
617
af57a77cbc92 [xemacs-hg @ 2001-06-18 07:09:50 by ben]
ben
parents: 462
diff changeset
80 #define wrap_emacs_gtk_boxed(p) wrap_record (p, emacs_gtk_boxed)
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
81 #define GTK_BOXEDP(x) RECORDP (x, emacs_gtk_boxed)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
82 #define CHECK_GTK_BOXED(x) CHECK_RECORD (x, emacs_gtk_boxed)
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
83
778
2923009caf47 [xemacs-hg @ 2002-03-16 10:38:59 by ben]
ben
parents: 617
diff changeset
84 extern Lisp_Object build_gtk_boxed (void *obj, GtkType t);
2923009caf47 [xemacs-hg @ 2002-03-16 10:38:59 by ben]
ben
parents: 617
diff changeset
85
462
0784d089fdc9 Import from CVS: tag r21-2-46
cvs
parents:
diff changeset
86 #endif /* __UI_GTK_H__ */