1 /* $Id: imconst.h,v 1.4 1994/06/02 05:01:17 ishisone Exp $ */
2 
3 #ifndef _imconst_h
4 #define _imconst_h
5 
6 /*
7  * Constants defined by the prototol spec.
8  */
9 
10 /* Protocol version number */
11 #define XIM_MAJOR_PROTOCOL_VERSION	1
12 #define XIM_MINOR_PROTOCOL_VERSION	0
13 
14 /* Major code for the core requests */
15 #define XIM_CONNECT			1
16 #define XIM_CONNECT_REPLY		2
17 #define XIM_DISCONNECT			3
18 #define XIM_DISCONNECT_REPLY		4
19 #define XIM_AUTH_REQUIRED		10
20 #define XIM_AUTH_REPLY			11
21 #define XIM_AUTH_NEXT			12
22 #define XIM_AUTH_SETUP			13
23 #define XIM_AUTH_NG			14
24 #define XIM_ERROR			20
25 #define XIM_OPEN			30
26 #define XIM_OPEN_REPLY			31
27 #define XIM_CLOSE			32
28 #define XIM_CLOSE_REPLY			33
29 #define XIM_REGISTER_TRIGGERKEYS	34
30 #define XIM_TRIGGER_NOTIFY		35
31 #define XIM_TRIGGER_NOTIFY_REPLY	36
32 #define XIM_SET_EVENT_MASK		37
33 #define XIM_ENCODING_NEGOTIATION	38
34 #define XIM_ENCODING_NEGOTIATION_REPLY	39
35 #define XIM_QUERY_EXTENSION		40
36 #define XIM_QUERY_EXTENSION_REPLY	41
37 #define XIM_SET_IM_VALUES		42
38 #define XIM_SET_IM_VALUES_REPLY		43
39 #define XIM_GET_IM_VALUES		44
40 #define XIM_GET_IM_VALUES_REPLY		45
41 #define XIM_CREATE_IC			50
42 #define XIM_CREATE_IC_REPLY		51
43 #define XIM_DESTROY_IC			52
44 #define XIM_DESTROY_IC_REPLY		53
45 #define XIM_SET_IC_VALUES		54
46 #define XIM_SET_IC_VALUES_REPLY		55
47 #define XIM_GET_IC_VALUES		56
48 #define XIM_GET_IC_VALUES_REPLY		57
49 #define XIM_SET_IC_FOCUS		58
50 #define XIM_UNSET_IC_FOCUS		59
51 #define XIM_FORWARD_EVENT	       	60
52 #define XIM_SYNC			61
53 #define XIM_SYNC_REPLY			62
54 #define XIM_COMMIT			63
55 #define XIM_RESET_IC			64
56 #define XIM_RESET_IC_REPLY		65
57 #define XIM_GEOMETRY			70
58 #define XIM_STR_CONVERSION		71
59 #define XIM_STR_CONVERSION_REPLY	72
60 #define XIM_PREEDIT_START		73
61 #define XIM_PREEDIT_START_REPLY		74
62 #define XIM_PREEDIT_DRAW		75
63 #define XIM_PREEDIT_CARET		76
64 #define XIM_PREEDIT_CARET_REPLY		77
65 #define XIM_PREEDIT_DONE		78
66 #define XIM_STATUS_START		79
67 #define XIM_STATUS_DRAW			80
68 #define XIM_STATUS_DONE			81
69 #define XIM_PREEDITSTATE		82
70 
71 /* Data representation type */
72 #define TYPE_SEPARATOR			0
73 #define TYPE_CARD8			1
74 #define TYPE_CARD16			2
75 #define TYPE_CARD32			3
76 #define TYPE_CHAR			4
77 #define TYPE_WINDOW			5
78 #define TYPE_XIM_STYLES			10
79 #define TYPE_XRECTANGLE			11
80 #define TYPE_XPOINT			12
81 #define TYPE_XFONTSET			13
82 #define TYPE_XIM_OPTIONS		14
83 #define TYPE_XIM_HOT_KEY_TRIGGERS	15
84 #define TYPE_XIM_HOT_KEY_STATE		16
85 #define TYPE_XIM_STRING_CONVERSION	17
86 #define TYPE_XIM_PREEDIT_STATE		18
87 #define TYPE_XIM_RESET_STATE		19
88 #define TYPE_XIM_RESET_RETURN		20
89 #define TYPE_XIM_STRING_TEXT		21
90 #define TYPE_NESTED_LIST		0x7fff
91 
92 /* Error code */
93 #define IMBadAlloc			1
94 #define IMBadStyle			2
95 #define IMBadClientWindow		3
96 #define IMBadFocusWindow		4
97 #define IMBadArea			5
98 #define IMBadSpotLocation		6
99 #define IMBadColormap			7
100 #define IMBadAtom			8
101 #define IMBadPixel			9
102 #define IMBadPixmap			10
103 #define IMBadName			11
104 #define IMBadCursor			12
105 #define IMBadProtocol			13
106 #define IMBadForeground			14
107 #define IMBadBackground			15
108 #define IMLocaleNotSupported		16
109 #define IMBadSomething			999
110 
111 /* common flag */
112 #define XIM_FLAG_SYNCHRONOUS		1
113 
114 /* XIM_FORWARD_EVENT flags */
115 #define XIM_FLAG_REQUEST_FILTERING	2
116 #define XIM_FLAG_REQUEST_LOOKUPSTRING	4
117 
118 /* XIM_COMMIT flags */
119 #define XIM_FLAG_X_LOOKUP_CHARS		2
120 #define XIM_FLAG_X_LOOKUP_KEYSYM	4
121 
122 
123 /*
124  * Constants defined by this implementaion
125  */
126 
127 /* Major code for extension requests (> 128) */
128 #define XIM_EXT_SET_EVENT_MASK		129
129 #define XIM_EXT_FORWARD_KEYEVENT	130
130 #define XIM_EXT_MOVE			131
131 
132 /* Extension mask */
133 #define XIM_EXT_SET_EVENT_MASK_MASK	1
134 #define XIM_EXT_FORWARD_KEYEVENT_MASK	2
135 #define XIM_EXT_MOVE_MASK		4
136 
137 
138 /* Transport status code */
139 #define TRANSPORT_OK			0
140 #define TRANSPORT_EOF			1
141 #define TRANSPORT_PARTIAL		2
142 #define TRANSPORT_ERROR			3
143 
144 #endif /* _imconst_h */
145