00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef _XIMPROTO_H
00022 #define _XIMPROTO_H
00023
00024
00025
00026
00027 #define XIM_SERVERS "XIM_SERVERS"
00028 #define XIM_LOCALES "LOCALES"
00029 #define XIM_TRANSPORT "TRANSPORT"
00030
00031
00032
00033
00034 #define XIM_SERVER_CATEGORY "@server="
00035 #define XIM_LOCAL_CATEGORY "@locale="
00036 #define XIM_TRANSPORT_CATEGORY "@transport="
00037
00038
00039
00040
00041 #define PROTOCOLMAJORVERSION 0
00042 #define PROTOCOLMINORVERSION 0
00043
00044
00045
00046
00047 #define XIM_CONNECT 1
00048 #define XIM_CONNECT_REPLY 2
00049 #define XIM_DISCONNECT 3
00050 #define XIM_DISCONNECT_REPLY 4
00051
00052 #define XIM_AUTH_REQUIRED 10
00053 #define XIM_AUTH_REPLY 11
00054 #define XIM_AUTH_NEXT 12
00055 #define XIM_AUTH_SETUP 13
00056 #define XIM_AUTH_NG 14
00057
00058 #define XIM_ERROR 20
00059
00060 #define XIM_OPEN 30
00061 #define XIM_OPEN_REPLY 31
00062 #define XIM_CLOSE 32
00063 #define XIM_CLOSE_REPLY 33
00064 #define XIM_REGISTER_TRIGGERKEYS 34
00065 #define XIM_TRIGGER_NOTIFY 35
00066 #define XIM_TRIGGER_NOTIFY_REPLY 36
00067 #define XIM_SET_EVENT_MASK 37
00068 #define XIM_ENCODING_NEGOTIATION 38
00069 #define XIM_ENCODING_NEGOTIATION_REPLY 39
00070 #define XIM_QUERY_EXTENSION 40
00071 #define XIM_QUERY_EXTENSION_REPLY 41
00072 #define XIM_SET_IM_VALUES 42
00073 #define XIM_SET_IM_VALUES_REPLY 43
00074 #define XIM_GET_IM_VALUES 44
00075 #define XIM_GET_IM_VALUES_REPLY 45
00076
00077 #define XIM_CREATE_IC 50
00078 #define XIM_CREATE_IC_REPLY 51
00079 #define XIM_DESTROY_IC 52
00080 #define XIM_DESTROY_IC_REPLY 53
00081 #define XIM_SET_IC_VALUES 54
00082 #define XIM_SET_IC_VALUES_REPLY 55
00083 #define XIM_GET_IC_VALUES 56
00084 #define XIM_GET_IC_VALUES_REPLY 57
00085 #define XIM_SET_IC_FOCUS 58
00086 #define XIM_UNSET_IC_FOCUS 59
00087 #define XIM_FORWARD_EVENT 60
00088 #define XIM_SYNC 61
00089 #define XIM_SYNC_REPLY 62
00090 #define XIM_COMMIT 63
00091 #define XIM_RESET_IC 64
00092 #define XIM_RESET_IC_REPLY 65
00093
00094 #define XIM_GEOMETRY 70
00095 #define XIM_STR_CONVERSION 71
00096 #define XIM_STR_CONVERSION_REPLY 72
00097 #define XIM_PREEDIT_START 73
00098 #define XIM_PREEDIT_START_REPLY 74
00099 #define XIM_PREEDIT_DRAW 75
00100 #define XIM_PREEDIT_CARET 76
00101 #define XIM_PREEDIT_CARET_REPLY 77
00102 #define XIM_PREEDIT_DONE 78
00103 #define XIM_STATUS_START 79
00104 #define XIM_STATUS_DRAW 80
00105 #define XIM_STATUS_DONE 81
00106
00107
00108
00109
00110 #define XIM_IMID_VALID 0x0001
00111 #define XIM_ICID_VALID 0x0002
00112
00113
00114
00115
00116 #define XIM_BadAlloc 1
00117 #define XIM_BadStyle 2
00118 #define XIM_BadClientWindow 3
00119 #define XIM_BadFocusWindow 4
00120 #define XIM_BadArea 5
00121 #define XIM_BadSpotLocation 6
00122 #define XIM_BadColormap 7
00123 #define XIM_BadAtom 8
00124 #define XIM_BadPixel 9
00125 #define XIM_BadPixmap 10
00126 #define XIM_BadName 11
00127 #define XIM_BadCursor 12
00128 #define XIM_BadProtocol 13
00129 #define XIM_BadForeground 14
00130 #define XIM_BadBackground 15
00131 #define XIM_LocaleNotSupported 16
00132 #define XIM_BadSomething 999
00133
00134
00135
00136
00137 #define BIGENDIAN (CARD8) 0x42
00138 #define LITTLEENDIAN (CARD8) 0x6c
00139
00140
00141
00142
00143 #define XimType_SeparatorOfNestedList 0
00144 #define XimType_CARD8 1
00145 #define XimType_CARD16 2
00146 #define XimType_CARD32 3
00147 #define XimType_STRING8 4
00148 #define XimType_Window 5
00149 #define XimType_XIMStyles 10
00150 #define XimType_XRectangle 11
00151 #define XimType_XPoint 12
00152 #define XimType_XFontSet 13
00153 #define XimType_XIMOptions 14
00154 #define XimType_XIMHotKeyTriggers 15
00155 #define XimType_XIMHotKeyState 16
00156 #define XimType_XIMStringConversion 17
00157 #define XimType_XIMValuesList 18
00158 #define XimType_NEST 0x7FFF
00159
00160
00161
00162
00163 #define XIM_Encoding_NameCategory 0
00164 #define XIM_Encoding_DetailCategory 1
00165
00166
00167
00168
00169 #define XIM_Default_Encoding_IDX -1
00170
00171
00172
00173
00174 #define XimSYNCHRONUS 0x0001
00175 #define XimLookupChars 0x0002
00176 #define XimLookupKeySym 0x0004
00177 #define XimLookupBoth 0x0006
00178
00179
00180
00181
00182 #define XIM_HEADER_SIZE \
00183 sizeof(CARD8) \
00184 + sizeof(CARD8) \
00185 + sizeof(INT16)
00186
00187
00188
00189
00190 #define XIM_CM_DATA_SIZE 20
00191
00192
00193
00194
00195 typedef CARD16 BITMASK16;
00196 typedef CARD32 BITMASK32;
00197 typedef CARD32 EVENTMASK;
00198
00199 typedef CARD16 XIMID;
00200 typedef CARD16 XICID;
00201
00202
00203
00204
00205 #define XIM_PAD(length) ((4 - ((length) % 4)) % 4)
00206
00207 #define XIM_SET_PAD(ptr, length) \
00208 { \
00209 register int Counter = XIM_PAD((int)length); \
00210 if (Counter) { \
00211 register char *Ptr = (char *)(ptr) + (length); \
00212 length += Counter; \
00213 for (; Counter; --Counter, ++Ptr) \
00214 *Ptr = '\0'; \
00215 } \
00216 }
00217
00218 #endif