Blame util/IMdkit/XimProto.h

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