~ubuntu-branches/ubuntu/trusty/hime/trusty

« back to all changes in this revision

Viewing changes to src/IMdkit/include/XimProto.h

  • Committer: Package Import Robot
  • Author(s): Yao Wei (魏銘廷)
  • Date: 2012-01-14 00:24:08 UTC
  • Revision ID: package-import@ubuntu.com-20120114002408-e79gagbeg1rt8npv
Tags: upstream-0.9.9
Import upstream version 0.9.9

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* $XConsortium: XimProto.h,v 1.2 94/01/20 18:02:24 rws Exp $ */
 
2
/******************************************************************
 
3
 
 
4
           Copyright 1992, 1993, 1994 by FUJITSU LIMITED
 
5
 
 
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.
 
16
 
 
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.
 
24
 
 
25
  Author: Takashi Fujiwara     FUJITSU LIMITED 
 
26
                               fujiwara@a80.tech.yk.fujitsu.co.jp
 
27
 
 
28
    This version tidied and debugged by Steve Underwood May 1999
 
29
 
 
30
******************************************************************/
 
31
 
 
32
#ifndef _XIMPROTO_H
 
33
#define _XIMPROTO_H
 
34
 
 
35
/*
 
36
 * Default Preconnection selection target
 
37
 */
 
38
#define XIM_SERVERS             "XIM_SERVERS"
 
39
#define XIM_LOCALES             "LOCALES"
 
40
#define XIM_TRANSPORT           "TRANSPORT"
 
41
 
 
42
/*
 
43
 * categories in XIM_SERVERS
 
44
 */
 
45
#define XIM_SERVER_CATEGORY     "@server="
 
46
#define XIM_LOCAL_CATEGORY      "@locale="
 
47
#define XIM_TRANSPORT_CATEGORY  "@transport="
 
48
 
 
49
/*
 
50
 * Xim implementation revision
 
51
 */
 
52
#define PROTOCOLMAJORVERSION            0
 
53
#define PROTOCOLMINORVERSION            0
 
54
 
 
55
/*
 
56
 * Major Protocol number
 
57
 */
 
58
#define XIM_CONNECT                       1
 
59
#define XIM_CONNECT_REPLY                 2
 
60
#define XIM_DISCONNECT                    3
 
61
#define XIM_DISCONNECT_REPLY              4
 
62
 
 
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
 
68
 
 
69
#define XIM_ERROR                        20
 
70
 
 
71
#define XIM_OPEN                         30
 
72
#define XIM_OPEN_REPLY                   31
 
73
#define XIM_CLOSE                        32
 
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
 
87
 
 
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
 
99
#define XIM_SYNC                         61
 
100
#define XIM_SYNC_REPLY                   62
 
101
#define XIM_COMMIT                       63
 
102
#define XIM_RESET_IC                     64
 
103
#define XIM_RESET_IC_REPLY               65
 
104
 
 
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
 
117
 
 
118
/*
 
119
 * values for the flag of XIM_ERROR
 
120
 */
 
121
#define XIM_IMID_VALID                  0x0001
 
122
#define XIM_ICID_VALID                  0x0002
 
123
 
 
124
/*
 
125
 * XIM Error Code
 
126
 */
 
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
 
144
 
 
145
/*
 
146
 * byte order
 
147
 */
 
148
#define BIGENDIAN       (CARD8) 0x42    /* MSB first */
 
149
#define LITTLEENDIAN    (CARD8) 0x6c    /* LSB first */
 
150
 
 
151
/*
 
152
 * values for the type of XIMATTR & XICATTR
 
153
 */
 
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
 
170
 
 
171
/*
 
172
 * values for the category of XIM_ENCODING_NEGOTIATON_REPLY
 
173
 */
 
174
#define XIM_Encoding_NameCategory       0
 
175
#define XIM_Encoding_DetailCategory     1
 
176
 
 
177
/*
 
178
 * value for the index of XIM_ENCODING_NEGOTIATON_REPLY
 
179
 */
 
180
#define XIM_Default_Encoding_IDX        -1
 
181
 
 
182
/*
 
183
 * value for the flag of XIM_FORWARD_EVENT, XIM_COMMIT
 
184
 */
 
185
#define XimSYNCHRONUS             0x0001
 
186
#define XimLookupChars            0x0002
 
187
#define XimLookupKeySym           0x0004
 
188
#define XimLookupBoth             0x0006
 
189
 
 
190
/*
 
191
 * request packet header size
 
192
 */
 
193
#define XIM_HEADER_SIZE                                         \
 
194
          sizeof(CARD8)         /* sizeof mejor-opcode */       \
 
195
        + sizeof(CARD8)         /* sizeof minor-opcode */       \
 
196
        + sizeof(INT16)         /* sizeof length */
 
197
 
 
198
/*
 
199
 * Client Message data size
 
200
 */
 
201
#define XIM_CM_DATA_SIZE        20
 
202
 
 
203
/*
 
204
 * XIM data structure
 
205
 */
 
206
typedef CARD16  BITMASK16;
 
207
typedef CARD32  BITMASK32;
 
208
typedef CARD32  EVENTMASK;
 
209
 
 
210
typedef CARD16  XIMID;          /* Input Method ID */
 
211
typedef CARD16  XICID;          /* Input Context ID */
 
212
 
 
213
/*
 
214
 * Padding macro
 
215
 */
 
216
#define XIM_PAD(length) ((4 - ((length) % 4)) % 4)
 
217
 
 
218
#define XIM_SET_PAD(ptr, length)                                        \
 
219
    {                                                                   \
 
220
        register int     Counter = XIM_PAD((int)length);                \
 
221
        if (Counter) {                                                  \
 
222
            register char       *Ptr = (char *)(ptr) + (length);        \
 
223
            length += Counter;                                          \
 
224
            for (; Counter; --Counter, ++Ptr)                           \
 
225
                *Ptr = '\0';                                            \
 
226
        }                                                               \
 
227
    }
 
228
 
 
229
#endif
 
230