author | Alan Coopersmith <Alan.Coopersmith@Sun.COM> |
Tue, 02 Mar 2010 13:31:46 -0800 | |
changeset 919 | 425233ae7236 |
parent 907 | 3c35d611cdaa |
child 943 | 294f64612d23 |
permissions | -rw-r--r-- |
341
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
1 |
/* |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
2 |
* Copyright 2006 Sun Microsystems, Inc. All rights reserved. |
919
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
3 |
* Use is subject to license terms. |
341
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
4 |
* |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
5 |
* Permission is hereby granted, free of charge, to any person obtaining a |
919
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
6 |
* copy of this software and associated documentation files (the "Software"), |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
7 |
* to deal in the Software without restriction, including without limitation |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
8 |
* the rights to use, copy, modify, merge, publish, distribute, sublicense, |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
9 |
* and/or sell copies of the Software, and to permit persons to whom the |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
10 |
* Software is furnished to do so, subject to the following conditions: |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
11 |
* |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
12 |
* The above copyright notice and this permission notice (including the next |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
13 |
* paragraph) shall be included in all copies or substantial portions of the |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
14 |
* Software. |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
15 |
* |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
16 |
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
17 |
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
18 |
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
19 |
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
20 |
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
21 |
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
425233ae7236
6931307 Standardize Sun copyright & license notices in X gate on current format
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
907
diff
changeset
|
22 |
* DEALINGS IN THE SOFTWARE. |
341
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
23 |
*/ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
24 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
25 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
26 |
/* |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
27 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
28 |
Client side XIA extension code. |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
29 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
30 |
One can XSolarisIASetProceesInfo or XIASolarisGetProceesInfo. |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
31 |
Currently only passing process ids is supported. |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
32 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
33 |
Of course QueryVersion and QueryExtension are supported. |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
34 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
35 |
No support for error messages is involved. Yet. If this |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
36 |
interface becomes public this will need to be rewhacked |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
37 |
*/ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
38 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
39 |
/* THIS IS NOT AN X CONSORTIUM STANDARD */ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
40 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
41 |
#define NEED_EVENTS |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
42 |
#define NEED_REPLIES |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
43 |
#include <unistd.h> |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
44 |
#include <stdio.h> |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
45 |
#include <X11/Xlibint.h> |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
46 |
#include <X11/extensions/interactive.h> |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
47 |
#include <X11/extensions/Xext.h> |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
48 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
49 |
#ifdef IA_USE_EXTUTIL |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
50 |
#include <X11/extensions/extutil.h> |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
51 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
52 |
static XExtensionInfo _ia_info_data; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
53 |
static XExtensionInfo *ia_info = &_ia_info_data; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
54 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
55 |
static /* const */ char *ia_extension_name = IANAME; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
56 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
57 |
#define IACheckExtension(dpy,i,val) \ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
58 |
XextCheckExtension (dpy, i, ia_extension_name, val) |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
59 |
#else |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
60 |
typedef struct _IAExtDisplayInfo { |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
61 |
Display *display; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
62 |
XExtCodes *codes; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
63 |
struct _IAExtDisplayInfo *next; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
64 |
} IAExtDisplayInfo; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
65 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
66 |
static IAExtDisplayInfo *iaExtDisplayList = NULL; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
67 |
static const char *ia_extension_name = IANAME; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
68 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
69 |
#define XExtDisplayInfo IAExtDisplayInfo |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
70 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
71 |
#define XextHasExtension(i) (((i) != NULL) && ((i)->codes != NULL)) |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
72 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
73 |
#define IACheckExtension(dpy,i,val) \ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
74 |
if (!XextHasExtension(i)) { \ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
75 |
/* XMissingExtension (dpy, ia_extension_name); */ \ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
76 |
return val; \ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
77 |
} |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
78 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
79 |
#endif /* IA_USE_EXTUTIL */ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
80 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
81 |
/***************************************************************************** |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
82 |
* * |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
83 |
* private utility routines * |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
84 |
* * |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
85 |
*****************************************************************************/ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
86 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
87 |
#ifdef IA_USE_EXTUTIL |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
88 |
static int close_display(); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
89 |
static char *error_string(); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
90 |
static /* const */ XExtensionHooks ia_extension_hooks = { |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
91 |
NULL, /* create_gc */ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
92 |
NULL, /* copy_gc */ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
93 |
NULL, /* flush_gc */ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
94 |
NULL, /* free_gc */ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
95 |
NULL, /* create_font */ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
96 |
NULL, /* free_font */ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
97 |
close_display, /* close_display */ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
98 |
NULL, /* wire_to_event */ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
99 |
NULL, /* event_to_wire */ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
100 |
NULL, /* error */ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
101 |
error_string, /* error_string */ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
102 |
}; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
103 |
#endif |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
104 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
105 |
static const char *ia_error_list[] = { |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
106 |
"BadPid", /* Bad process id */ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
107 |
}; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
108 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
109 |
#ifdef IA_USE_EXTUTIL |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
110 |
static XEXT_GENERATE_FIND_DISPLAY (find_display, ia_info, ia_extension_name, |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
111 |
&ia_extension_hooks, IANumberEvents, NULL) |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
112 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
113 |
static XEXT_GENERATE_CLOSE_DISPLAY (close_display, ia_info) |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
114 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
115 |
static XEXT_GENERATE_ERROR_STRING (error_string, ia_extension_name, |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
116 |
IANumberErrors, ia_error_list) |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
117 |
#else |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
118 |
static int ia_close_display(Display *dpy, XExtCodes *codes) |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
119 |
{ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
120 |
IAExtDisplayInfo *di, *prev, *next; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
121 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
122 |
for (di = iaExtDisplayList, prev = NULL; di != NULL; di = next) { |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
123 |
next = di->next; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
124 |
if (di->display == dpy) { |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
125 |
if (prev != NULL) { |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
126 |
prev->next = di->next; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
127 |
} else { |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
128 |
iaExtDisplayList = di->next; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
129 |
} |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
130 |
Xfree(di); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
131 |
} else { |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
132 |
prev = di; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
133 |
} |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
134 |
} |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
135 |
return Success; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
136 |
} |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
137 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
138 |
static char *ia_error_string (Display *dpy, int err, XExtCodes *codes, |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
139 |
char *buf, int nbytes) |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
140 |
{ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
141 |
err -= codes->first_error; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
142 |
if (err >= 0 && err < IANumberErrors) { |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
143 |
char tmp[256]; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
144 |
snprintf (tmp, sizeof(tmp), "%s.%d", ia_extension_name, err); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
145 |
XGetErrorDatabaseText (dpy, "XProtoError", tmp, ia_error_list[err], |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
146 |
buf, nbytes); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
147 |
return buf; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
148 |
} |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
149 |
return NULL; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
150 |
} |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
151 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
152 |
static IAExtDisplayInfo *ia_find_display(Display *dpy) |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
153 |
{ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
154 |
IAExtDisplayInfo *di; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
155 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
156 |
for (di = iaExtDisplayList ; di != NULL; di = di->next) { |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
157 |
if (di->display == dpy) { |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
158 |
return di; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
159 |
} |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
160 |
} |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
161 |
/* Did not find on list, add new entry */ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
162 |
di = (IAExtDisplayInfo *) Xmalloc(sizeof(IAExtDisplayInfo)); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
163 |
if (di == NULL) { return NULL; } |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
164 |
di->display = dpy; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
165 |
di->codes = XInitExtension(dpy, ia_extension_name); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
166 |
di->next = iaExtDisplayList; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
167 |
iaExtDisplayList = di; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
168 |
XESetCloseDisplay(dpy, di->codes->extension, ia_close_display); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
169 |
XESetErrorString(dpy, di->codes->extension, ia_error_string); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
170 |
return di; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
171 |
} |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
172 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
173 |
#define find_display ia_find_display |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
174 |
#endif /* IA_USE_EXTUTIL */ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
175 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
176 |
/***************************************************************************** |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
177 |
* * |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
178 |
* public Interactive Extension routines * |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
179 |
* * |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
180 |
*****************************************************************************/ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
181 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
182 |
Bool |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
183 |
XSolarisIAQueryExtension( |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
184 |
Display *dpy |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
185 |
) |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
186 |
{ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
187 |
XExtDisplayInfo *info = find_display(dpy); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
188 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
189 |
if (XextHasExtension(info)) { |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
190 |
return True; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
191 |
} else { |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
192 |
return False; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
193 |
} |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
194 |
} |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
195 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
196 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
197 |
Bool |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
198 |
XSolarisIAQueryVersion( |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
199 |
Display *dpy, |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
200 |
int *majorVersion, |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
201 |
int *minorVersion |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
202 |
) |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
203 |
{ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
204 |
XExtDisplayInfo *info = find_display(dpy); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
205 |
xIAQueryVersionReply rep; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
206 |
xIAQueryVersionReq *req; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
207 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
208 |
IACheckExtension(dpy, info, False); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
209 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
210 |
LockDisplay(dpy); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
211 |
GetReq(IAQueryVersion, req); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
212 |
req->reqType = info->codes->major_opcode; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
213 |
req->IAReqType = X_IAQueryVersion; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
214 |
if (!_XReply(dpy, (xReply *)(&rep), 0, xFalse)) { |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
215 |
UnlockDisplay(dpy); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
216 |
SyncHandle(); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
217 |
return False; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
218 |
} |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
219 |
*majorVersion = rep.majorVersion; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
220 |
*minorVersion = rep.minorVersion; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
221 |
UnlockDisplay(dpy); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
222 |
SyncHandle(); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
223 |
return True; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
224 |
} |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
225 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
226 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
227 |
Bool |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
228 |
XSolarisIAGetProcessInfo( |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
229 |
Display *dpy, |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
230 |
unsigned char **Pinfo, |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
231 |
CARD32 flags, |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
232 |
int *count |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
233 |
) |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
234 |
{ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
235 |
XExtDisplayInfo *info = find_display(dpy); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
236 |
xIAGetProcessInfoReq *req; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
237 |
xIAGetProcessInfoReply rep; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
238 |
long length = 0; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
239 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
240 |
IACheckExtension(dpy, info, False); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
241 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
242 |
*Pinfo = NULL; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
243 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
244 |
LockDisplay(dpy); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
245 |
GetReq(IAGetProcessInfo, req); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
246 |
req->reqType = info->codes->major_opcode; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
247 |
req->connectionAttrType = X_IAGetProcessInfo; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
248 |
req->flags = flags; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
249 |
if (!_XReply(dpy, (xReply *)(&rep), 0, xFalse)) { |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
250 |
UnlockDisplay(dpy); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
251 |
SyncHandle(); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
252 |
return False; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
253 |
} |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
254 |
*count = rep.count; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
255 |
*Pinfo = (unsigned char *)Xmalloc((rep.count) * sizeof(ConnectionPidRec)); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
256 |
if (*Pinfo == NULL) { |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
257 |
UnlockDisplay(dpy); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
258 |
SyncHandle(); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
259 |
return False; /* not Success */ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
260 |
} |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
261 |
length = rep.count << 2; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
262 |
_XRead32(dpy, (long *)(*Pinfo), length); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
263 |
UnlockDisplay(dpy); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
264 |
SyncHandle(); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
265 |
return True; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
266 |
} |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
267 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
268 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
269 |
Bool |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
270 |
XSolarisIASetProcessInfo( |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
271 |
Display *dpy, |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
272 |
unsigned char *Pinfo, |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
273 |
CARD32 flags, |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
274 |
CARD32 count |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
275 |
) |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
276 |
{ |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
277 |
XExtDisplayInfo *info = find_display(dpy); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
278 |
xIASetProcessInfoReq *req; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
279 |
unsigned long length; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
280 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
281 |
IACheckExtension(dpy, info, False); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
282 |
|
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
283 |
LockDisplay(dpy); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
284 |
GetReq(IASetProcessInfo, req); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
285 |
req->reqType = info->codes->major_opcode; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
286 |
req->connectionAttrType = X_IASetProcessInfo; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
287 |
req->flags = flags; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
288 |
req->length += count; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
289 |
req->uid = (CARD32)getuid(); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
290 |
if (flags & INTERACTIVE_INFO) { |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
291 |
length=count << 2; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
292 |
Data32(dpy, (long *)Pinfo, length); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
293 |
} |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
294 |
if (flags & INTERACTIVE_SETTING) { |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
295 |
length = count << 2; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
296 |
Data32(dpy, (long *)Pinfo, length); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
297 |
} |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
298 |
UnlockDisplay(dpy); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
299 |
SyncHandle(); |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
300 |
return True; |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
301 |
} |
0a1eb61fd56e
6668846 Upgrade libX11 to X11R7 version
Alan Coopersmith <Alan.Coopersmith@Sun.COM>
parents:
diff
changeset
|
302 |