1
/* $XConsortium: XimProto.h,v 1.2 94/01/20 18:02:24 rws Exp $ */
2
/******************************************************************
4
Copyright 1992, 1993, 1994 by FUJITSU LIMITED
6
Permission to use, copy, modify, distribute, and sell this software
7
and its documentation for any purpose is hereby granted without fee,
8
provided that the above copyright notice appear in all copies and
9
that both that copyright notice and this permission notice appear
10
in supporting documentation, and that the name of FUJITSU LIMITED
11
not be used in advertising or publicity pertaining to distribution
12
of the software without specific, written prior permission.
13
FUJITSU LIMITED makes no representations about the suitability of
14
this software for any purpose.
15
It is provided "as is" without express or implied warranty.
17
FUJITSU LIMITED DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
18
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
19
EVENT SHALL FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT OR
20
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
21
USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
22
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
23
PERFORMANCE OF THIS SOFTWARE.
25
Author: Takashi Fujiwara FUJITSU LIMITED
26
fujiwara@a80.tech.yk.fujitsu.co.jp
28
This version tidied and debugged by Steve Underwood May 1999
30
******************************************************************/
36
* Default Preconnection selection target
38
#define XIM_SERVERS "XIM_SERVERS"
39
#define XIM_LOCALES "LOCALES"
40
#define XIM_TRANSPORT "TRANSPORT"
43
* categories in XIM_SERVERS
45
#define XIM_SERVER_CATEGORY "@server="
46
#define XIM_LOCAL_CATEGORY "@locale="
47
#define XIM_TRANSPORT_CATEGORY "@transport="
50
* Xim implementation revision
52
#define PROTOCOLMAJORVERSION 0
53
#define PROTOCOLMINORVERSION 0
56
* Major Protocol number
59
#define XIM_CONNECT_REPLY 2
60
#define XIM_DISCONNECT 3
61
#define XIM_DISCONNECT_REPLY 4
63
#define XIM_AUTH_REQUIRED 10
64
#define XIM_AUTH_REPLY 11
65
#define XIM_AUTH_NEXT 12
66
#define XIM_AUTH_SETUP 13
67
#define XIM_AUTH_NG 14
72
#define XIM_OPEN_REPLY 31
74
#define XIM_CLOSE_REPLY 33
75
#define XIM_REGISTER_TRIGGERKEYS 34
76
#define XIM_TRIGGER_NOTIFY 35
77
#define XIM_TRIGGER_NOTIFY_REPLY 36
78
#define XIM_SET_EVENT_MASK 37
79
#define XIM_ENCODING_NEGOTIATION 38
80
#define XIM_ENCODING_NEGOTIATION_REPLY 39
81
#define XIM_QUERY_EXTENSION 40
82
#define XIM_QUERY_EXTENSION_REPLY 41
83
#define XIM_SET_IM_VALUES 42
84
#define XIM_SET_IM_VALUES_REPLY 43
85
#define XIM_GET_IM_VALUES 44
86
#define XIM_GET_IM_VALUES_REPLY 45
88
#define XIM_CREATE_IC 50
89
#define XIM_CREATE_IC_REPLY 51
90
#define XIM_DESTROY_IC 52
91
#define XIM_DESTROY_IC_REPLY 53
92
#define XIM_SET_IC_VALUES 54
93
#define XIM_SET_IC_VALUES_REPLY 55
94
#define XIM_GET_IC_VALUES 56
95
#define XIM_GET_IC_VALUES_REPLY 57
96
#define XIM_SET_IC_FOCUS 58
97
#define XIM_UNSET_IC_FOCUS 59
98
#define XIM_FORWARD_EVENT 60
100
#define XIM_SYNC_REPLY 62
101
#define XIM_COMMIT 63
102
#define XIM_RESET_IC 64
103
#define XIM_RESET_IC_REPLY 65
105
#define XIM_GEOMETRY 70
106
#define XIM_STR_CONVERSION 71
107
#define XIM_STR_CONVERSION_REPLY 72
108
#define XIM_PREEDIT_START 73
109
#define XIM_PREEDIT_START_REPLY 74
110
#define XIM_PREEDIT_DRAW 75
111
#define XIM_PREEDIT_CARET 76
112
#define XIM_PREEDIT_CARET_REPLY 77
113
#define XIM_PREEDIT_DONE 78
114
#define XIM_STATUS_START 79
115
#define XIM_STATUS_DRAW 80
116
#define XIM_STATUS_DONE 81
119
* values for the flag of XIM_ERROR
121
#define XIM_IMID_VALID 0x0001
122
#define XIM_ICID_VALID 0x0002
127
#define XIM_BadAlloc 1
128
#define XIM_BadStyle 2
129
#define XIM_BadClientWindow 3
130
#define XIM_BadFocusWindow 4
131
#define XIM_BadArea 5
132
#define XIM_BadSpotLocation 6
133
#define XIM_BadColormap 7
134
#define XIM_BadAtom 8
135
#define XIM_BadPixel 9
136
#define XIM_BadPixmap 10
137
#define XIM_BadName 11
138
#define XIM_BadCursor 12
139
#define XIM_BadProtocol 13
140
#define XIM_BadForeground 14
141
#define XIM_BadBackground 15
142
#define XIM_LocaleNotSupported 16
143
#define XIM_BadSomething 999
148
#define BIGENDIAN (CARD8) 0x42 /* MSB first */
149
#define LITTLEENDIAN (CARD8) 0x6c /* LSB first */
152
* values for the type of XIMATTR & XICATTR
154
#define XimType_SeparatorOfNestedList 0
155
#define XimType_CARD8 1
156
#define XimType_CARD16 2
157
#define XimType_CARD32 3
158
#define XimType_STRING8 4
159
#define XimType_Window 5
160
#define XimType_XIMStyles 10
161
#define XimType_XRectangle 11
162
#define XimType_XPoint 12
163
#define XimType_XFontSet 13
164
#define XimType_XIMOptions 14
165
#define XimType_XIMHotKeyTriggers 15
166
#define XimType_XIMHotKeyState 16
167
#define XimType_XIMStringConversion 17
168
#define XimType_XIMValuesList 18
169
#define XimType_NEST 0x7FFF
172
* values for the category of XIM_ENCODING_NEGOTIATON_REPLY
174
#define XIM_Encoding_NameCategory 0
175
#define XIM_Encoding_DetailCategory 1
178
* value for the index of XIM_ENCODING_NEGOTIATON_REPLY
180
#define XIM_Default_Encoding_IDX -1
183
* value for the flag of XIM_FORWARD_EVENT, XIM_COMMIT
185
#define XimSYNCHRONUS 0x0001
186
#define XimLookupChars 0x0002
187
#define XimLookupKeySym 0x0004
188
#define XimLookupBoth 0x0006
191
* request packet header size
193
#define XIM_HEADER_SIZE \
194
sizeof(CARD8) /* sizeof mejor-opcode */ \
195
+ sizeof(CARD8) /* sizeof minor-opcode */ \
196
+ sizeof(INT16) /* sizeof length */
199
* Client Message data size
201
#define XIM_CM_DATA_SIZE 20
206
typedef CARD16 BITMASK16;
207
typedef CARD32 BITMASK32;
208
typedef CARD32 EVENTMASK;
210
typedef CARD16 XIMID; /* Input Method ID */
211
typedef CARD16 XICID; /* Input Context ID */
216
#define XIM_PAD(length) ((4 - ((length) % 4)) % 4)
218
#define XIM_SET_PAD(ptr, length) \
220
register int Counter = XIM_PAD((int)length); \
222
register char *Ptr = (char *)(ptr) + (length); \
224
for (; Counter; --Counter, ++Ptr) \