|
Packit Service |
1d8f1c |
/* $XConsortium: XimProto.h,v 1.2 94/01/20 18:02:24 rws Exp $ */
|
|
Packit Service |
1d8f1c |
/******************************************************************
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
Copyright 1992, 1993, 1994 by FUJITSU LIMITED
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
Permission to use, copy, modify, distribute, and sell this software
|
|
Packit Service |
1d8f1c |
and its documentation for any purpose is hereby granted without fee,
|
|
Packit Service |
1d8f1c |
provided that the above copyright notice appear in all copies and
|
|
Packit Service |
1d8f1c |
that both that copyright notice and this permission notice appear
|
|
Packit Service |
1d8f1c |
in supporting documentation, and that the name of FUJITSU LIMITED
|
|
Packit Service |
1d8f1c |
not be used in advertising or publicity pertaining to distribution
|
|
Packit Service |
1d8f1c |
of the software without specific, written prior permission.
|
|
Packit Service |
1d8f1c |
FUJITSU LIMITED makes no representations about the suitability of
|
|
Packit Service |
1d8f1c |
this software for any purpose.
|
|
Packit Service |
1d8f1c |
It is provided "as is" without express or implied warranty.
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
FUJITSU LIMITED DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
|
|
Packit Service |
1d8f1c |
INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
|
|
Packit Service |
1d8f1c |
EVENT SHALL FUJITSU LIMITED BE LIABLE FOR ANY SPECIAL, INDIRECT OR
|
|
Packit Service |
1d8f1c |
CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
|
|
Packit Service |
1d8f1c |
USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
Packit Service |
1d8f1c |
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
Packit Service |
1d8f1c |
PERFORMANCE OF THIS SOFTWARE.
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
Author: Takashi Fujiwara FUJITSU LIMITED
|
|
Packit Service |
1d8f1c |
fujiwara@a80.tech.yk.fujitsu.co.jp
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
This version tidied and debugged by Steve Underwood May 1999
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
******************************************************************/
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
#ifndef _XIMPROTO_H
|
|
Packit Service |
1d8f1c |
#define _XIMPROTO_H
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/*
|
|
Packit Service |
1d8f1c |
* Default Preconnection selection target
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
#define XIM_SERVERS "XIM_SERVERS"
|
|
Packit Service |
1d8f1c |
#define XIM_LOCALES "LOCALES"
|
|
Packit Service |
1d8f1c |
#define XIM_TRANSPORT "TRANSPORT"
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/*
|
|
Packit Service |
1d8f1c |
* categories in XIM_SERVERS
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
#define XIM_SERVER_CATEGORY "@server="
|
|
Packit Service |
1d8f1c |
#define XIM_LOCAL_CATEGORY "@locale="
|
|
Packit Service |
1d8f1c |
#define XIM_TRANSPORT_CATEGORY "@transport="
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/*
|
|
Packit Service |
1d8f1c |
* Xim implementation revision
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
#define PROTOCOLMAJORVERSION 0
|
|
Packit Service |
1d8f1c |
#define PROTOCOLMINORVERSION 0
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/*
|
|
Packit Service |
1d8f1c |
* Major Protocol number
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
#define XIM_CONNECT 1
|
|
Packit Service |
1d8f1c |
#define XIM_CONNECT_REPLY 2
|
|
Packit Service |
1d8f1c |
#define XIM_DISCONNECT 3
|
|
Packit Service |
1d8f1c |
#define XIM_DISCONNECT_REPLY 4
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
#define XIM_AUTH_REQUIRED 10
|
|
Packit Service |
1d8f1c |
#define XIM_AUTH_REPLY 11
|
|
Packit Service |
1d8f1c |
#define XIM_AUTH_NEXT 12
|
|
Packit Service |
1d8f1c |
#define XIM_AUTH_SETUP 13
|
|
Packit Service |
1d8f1c |
#define XIM_AUTH_NG 14
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
#define XIM_ERROR 20
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
#define XIM_OPEN 30
|
|
Packit Service |
1d8f1c |
#define XIM_OPEN_REPLY 31
|
|
Packit Service |
1d8f1c |
#define XIM_CLOSE 32
|
|
Packit Service |
1d8f1c |
#define XIM_CLOSE_REPLY 33
|
|
Packit Service |
1d8f1c |
#define XIM_REGISTER_TRIGGERKEYS 34
|
|
Packit Service |
1d8f1c |
#define XIM_TRIGGER_NOTIFY 35
|
|
Packit Service |
1d8f1c |
#define XIM_TRIGGER_NOTIFY_REPLY 36
|
|
Packit Service |
1d8f1c |
#define XIM_SET_EVENT_MASK 37
|
|
Packit Service |
1d8f1c |
#define XIM_ENCODING_NEGOTIATION 38
|
|
Packit Service |
1d8f1c |
#define XIM_ENCODING_NEGOTIATION_REPLY 39
|
|
Packit Service |
1d8f1c |
#define XIM_QUERY_EXTENSION 40
|
|
Packit Service |
1d8f1c |
#define XIM_QUERY_EXTENSION_REPLY 41
|
|
Packit Service |
1d8f1c |
#define XIM_SET_IM_VALUES 42
|
|
Packit Service |
1d8f1c |
#define XIM_SET_IM_VALUES_REPLY 43
|
|
Packit Service |
1d8f1c |
#define XIM_GET_IM_VALUES 44
|
|
Packit Service |
1d8f1c |
#define XIM_GET_IM_VALUES_REPLY 45
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
#define XIM_CREATE_IC 50
|
|
Packit Service |
1d8f1c |
#define XIM_CREATE_IC_REPLY 51
|
|
Packit Service |
1d8f1c |
#define XIM_DESTROY_IC 52
|
|
Packit Service |
1d8f1c |
#define XIM_DESTROY_IC_REPLY 53
|
|
Packit Service |
1d8f1c |
#define XIM_SET_IC_VALUES 54
|
|
Packit Service |
1d8f1c |
#define XIM_SET_IC_VALUES_REPLY 55
|
|
Packit Service |
1d8f1c |
#define XIM_GET_IC_VALUES 56
|
|
Packit Service |
1d8f1c |
#define XIM_GET_IC_VALUES_REPLY 57
|
|
Packit Service |
1d8f1c |
#define XIM_SET_IC_FOCUS 58
|
|
Packit Service |
1d8f1c |
#define XIM_UNSET_IC_FOCUS 59
|
|
Packit Service |
1d8f1c |
#define XIM_FORWARD_EVENT 60
|
|
Packit Service |
1d8f1c |
#define XIM_SYNC 61
|
|
Packit Service |
1d8f1c |
#define XIM_SYNC_REPLY 62
|
|
Packit Service |
1d8f1c |
#define XIM_COMMIT 63
|
|
Packit Service |
1d8f1c |
#define XIM_RESET_IC 64
|
|
Packit Service |
1d8f1c |
#define XIM_RESET_IC_REPLY 65
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
#define XIM_GEOMETRY 70
|
|
Packit Service |
1d8f1c |
#define XIM_STR_CONVERSION 71
|
|
Packit Service |
1d8f1c |
#define XIM_STR_CONVERSION_REPLY 72
|
|
Packit Service |
1d8f1c |
#define XIM_PREEDIT_START 73
|
|
Packit Service |
1d8f1c |
#define XIM_PREEDIT_START_REPLY 74
|
|
Packit Service |
1d8f1c |
#define XIM_PREEDIT_DRAW 75
|
|
Packit Service |
1d8f1c |
#define XIM_PREEDIT_CARET 76
|
|
Packit Service |
1d8f1c |
#define XIM_PREEDIT_CARET_REPLY 77
|
|
Packit Service |
1d8f1c |
#define XIM_PREEDIT_DONE 78
|
|
Packit Service |
1d8f1c |
#define XIM_STATUS_START 79
|
|
Packit Service |
1d8f1c |
#define XIM_STATUS_DRAW 80
|
|
Packit Service |
1d8f1c |
#define XIM_STATUS_DONE 81
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/*
|
|
Packit Service |
1d8f1c |
* values for the flag of XIM_ERROR
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
#define XIM_IMID_VALID 0x0001
|
|
Packit Service |
1d8f1c |
#define XIM_ICID_VALID 0x0002
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/*
|
|
Packit Service |
1d8f1c |
* XIM Error Code
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
#define XIM_BadAlloc 1
|
|
Packit Service |
1d8f1c |
#define XIM_BadStyle 2
|
|
Packit Service |
1d8f1c |
#define XIM_BadClientWindow 3
|
|
Packit Service |
1d8f1c |
#define XIM_BadFocusWindow 4
|
|
Packit Service |
1d8f1c |
#define XIM_BadArea 5
|
|
Packit Service |
1d8f1c |
#define XIM_BadSpotLocation 6
|
|
Packit Service |
1d8f1c |
#define XIM_BadColormap 7
|
|
Packit Service |
1d8f1c |
#define XIM_BadAtom 8
|
|
Packit Service |
1d8f1c |
#define XIM_BadPixel 9
|
|
Packit Service |
1d8f1c |
#define XIM_BadPixmap 10
|
|
Packit Service |
1d8f1c |
#define XIM_BadName 11
|
|
Packit Service |
1d8f1c |
#define XIM_BadCursor 12
|
|
Packit Service |
1d8f1c |
#define XIM_BadProtocol 13
|
|
Packit Service |
1d8f1c |
#define XIM_BadForeground 14
|
|
Packit Service |
1d8f1c |
#define XIM_BadBackground 15
|
|
Packit Service |
1d8f1c |
#define XIM_LocaleNotSupported 16
|
|
Packit Service |
1d8f1c |
#define XIM_BadSomething 999
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/*
|
|
Packit Service |
1d8f1c |
* byte order
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
#define BIGENDIAN (CARD8) 0x42 /* MSB first */
|
|
Packit Service |
1d8f1c |
#define LITTLEENDIAN (CARD8) 0x6c /* LSB first */
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/*
|
|
Packit Service |
1d8f1c |
* values for the type of XIMATTR & XICATTR
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
#define XimType_SeparatorOfNestedList 0
|
|
Packit Service |
1d8f1c |
#define XimType_CARD8 1
|
|
Packit Service |
1d8f1c |
#define XimType_CARD16 2
|
|
Packit Service |
1d8f1c |
#define XimType_CARD32 3
|
|
Packit Service |
1d8f1c |
#define XimType_STRING8 4
|
|
Packit Service |
1d8f1c |
#define XimType_Window 5
|
|
Packit Service |
1d8f1c |
#define XimType_XIMStyles 10
|
|
Packit Service |
1d8f1c |
#define XimType_XRectangle 11
|
|
Packit Service |
1d8f1c |
#define XimType_XPoint 12
|
|
Packit Service |
1d8f1c |
#define XimType_XFontSet 13
|
|
Packit Service |
1d8f1c |
#define XimType_XIMOptions 14
|
|
Packit Service |
1d8f1c |
#define XimType_XIMHotKeyTriggers 15
|
|
Packit Service |
1d8f1c |
#define XimType_XIMHotKeyState 16
|
|
Packit Service |
1d8f1c |
#define XimType_XIMStringConversion 17
|
|
Packit Service |
1d8f1c |
#define XimType_XIMValuesList 18
|
|
Packit Service |
1d8f1c |
#define XimType_NEST 0x7FFF
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/*
|
|
Packit Service |
1d8f1c |
* values for the category of XIM_ENCODING_NEGOTIATON_REPLY
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
#define XIM_Encoding_NameCategory 0
|
|
Packit Service |
1d8f1c |
#define XIM_Encoding_DetailCategory 1
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/*
|
|
Packit Service |
1d8f1c |
* value for the index of XIM_ENCODING_NEGOTIATON_REPLY
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
#define XIM_Default_Encoding_IDX -1
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/*
|
|
Packit Service |
1d8f1c |
* value for the flag of XIM_FORWARD_EVENT, XIM_COMMIT
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
#define XimSYNCHRONUS 0x0001
|
|
Packit Service |
1d8f1c |
#define XimLookupChars 0x0002
|
|
Packit Service |
1d8f1c |
#define XimLookupKeySym 0x0004
|
|
Packit Service |
1d8f1c |
#define XimLookupBoth 0x0006
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/*
|
|
Packit Service |
1d8f1c |
* request packet header size
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
#define XIM_HEADER_SIZE \
|
|
Packit Service |
1d8f1c |
sizeof(CARD8) /* sizeof mejor-opcode */ \
|
|
Packit Service |
1d8f1c |
+ sizeof(CARD8) /* sizeof minor-opcode */ \
|
|
Packit Service |
1d8f1c |
+ sizeof(INT16) /* sizeof length */
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/*
|
|
Packit Service |
1d8f1c |
* Client Message data size
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
#define XIM_CM_DATA_SIZE 20
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/*
|
|
Packit Service |
1d8f1c |
* XIM data structure
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
typedef CARD16 BITMASK16;
|
|
Packit Service |
1d8f1c |
typedef CARD32 BITMASK32;
|
|
Packit Service |
1d8f1c |
typedef CARD32 EVENTMASK;
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
typedef CARD16 XIMID; /* Input Method ID */
|
|
Packit Service |
1d8f1c |
typedef CARD16 XICID; /* Input Context ID */
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
/*
|
|
Packit Service |
1d8f1c |
* Padding macro
|
|
Packit Service |
1d8f1c |
*/
|
|
Packit Service |
1d8f1c |
#define XIM_PAD(length) ((4 - ((length) % 4)) % 4)
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
#define XIM_SET_PAD(ptr, length) \
|
|
Packit Service |
1d8f1c |
{ \
|
|
Packit Service |
1d8f1c |
register int Counter = XIM_PAD((int)length); \
|
|
Packit Service |
1d8f1c |
if (Counter) { \
|
|
Packit Service |
1d8f1c |
register char *Ptr = (char *)(ptr) + (length); \
|
|
Packit Service |
1d8f1c |
length += Counter; \
|
|
Packit Service |
1d8f1c |
for (; Counter; --Counter, ++Ptr) \
|
|
Packit Service |
1d8f1c |
*Ptr = '\0'; \
|
|
Packit Service |
1d8f1c |
} \
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
#endif
|
|
Packit Service |
1d8f1c |
|