4.4BSD/usr/src/contrib/X11R5-lib/lib/X/Xsi/XIMproto.h

Compare this file to the similar file:
Show the results in this format:

/*
 * $XConsortium: XIMproto.h,v 1.4 91/06/05 08:24:13 rws Exp $
 */

/*
 * Copyright 1990, 1991 by OMRON Corporation
 * Copyright 1991 by the Massachusetts Institute of Technology
 *
 * Permission to use, copy, modify, distribute, and sell this software and its
 * documentation for any purpose is hereby granted without fee, provided that
 * the above copyright notice appear in all copies and that both that
 * copyright notice and this permission notice appear in supporting
 * documentation, and that the names of OMRON and MIT not be used in
 * advertising or publicity pertaining to distribution of the software without
 * specific, written prior permission.  OMRON and MIT make no representations
 * about the suitability of this software for any purpose.  It is provided
 * "as is" without express or implied warranty.
 *
 * OMRON AND MIT DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
 * EVENT SHALL OMRON OR MIT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
 * TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 * PERFORMANCE OF THIS SOFTWARE. 
 *
 *	Author:	Seiji Kuwari	OMRON Corporation
 *				kuwa@omron.co.jp
 *				kuwa%omron.co.jp@uunet.uu.net
 */				

#ifndef XIMPROTO_H
#define XIMPROTO_H

#include <X11/Xmd.h>

/*
 * Define constants for the sizes of the network packets.  The sz_ prefix is
 * used instead of something more descriptive so that the symbols are no more
 * than 32 characters in length (which causes problems for some compilers).
 */

#define	XIM_MAJOR_VERSION	4
#define	XIM_MINOR_VERSION	0

#define	sz_ximRequestHeader	4
#define	sz_ximNormalReply	4

#define	sz_ximConnClient	4
#define	sz_ximGetIMReq		8
#define	sz_ximGetIMReply	8
#define sz_ximCreateICReq	4
#define sz_ximCreateICReply	8
#define sz_ximChangeICReq	8
#define sz_ximChangeICReply	sz_ximNormalReply
#define sz_ximGetICReq		12
#define sz_ximGetICReply	sz_ximNormalReply
#define sz_ximICValuesReq	28
#define	sz_ximICAttributesReq	48
#define	sz_ximDestroyICReq	8
#define	sz_ximICFocusReq	8
#define	sz_ximResetICReq	8

#define sz_ximEventReq		8
#define sz_ximEventReply	8
#define sz_ximReturnReply	8

/* For Callback */
#define sz_ximPreDrawReply	16
#define sz_ximPreCaretReply	8
#define sz_ximStatusDrawReply	12

#define	Window	CARD32
#define	Atom	CARD32
#define	Colormap	CARD32
#define	Pixmap	CARD32
#define	Cursor	CARD32

typedef struct {	/* 4 */
    CARD8	reqType;
    BYTE	pad;
    CARD16	length B16;
} ximRequestHeader;

typedef struct {	/* 4 */
    CARD16	state B16;
    CARD16	detail B16;
} ximNormalReply;

typedef struct {	/* 4 */
    CARD8	byteOrder;
    BYTE	pad;
    CARD16	length B16;
} ximConnClient;

typedef struct {	/* 8 */
    CARD8	reqType;
    BYTE	pad;
    CARD16	length B16;
    CARD32	mask B32;
} ximGetIMReq;

typedef struct {	/* 8 */
    CARD16	state B16;
    INT16	num_styles B16;
    INT16	nbytes B16;
    CARD16	pad B16;
} ximGetIMReply;

typedef struct {	/* 4 */
    CARD8	reqType;
    BYTE	pad;
    CARD16	length B16;
} ximCreateICReq;

typedef struct {	/* 8 */
    CARD16	state B16;
    CARD16	detail B16;
    CARD32	xic B32;
} ximCreateICReply;

typedef	struct {	/* 8 */
    CARD8	reqType;
    BYTE	pad;
    CARD16	length B16;
    CARD32	xic B32;
} ximChangeICReq;

typedef ximNormalReply	ximChangeICReply;

typedef struct {	/* 12 */
    CARD8	reqType;
    BYTE	pad;
    CARD16	length B16;
    CARD32	xic B32;
    CARD32	mask B32;
} ximGetICReq;

typedef ximNormalReply	ximGetICReply;
 
typedef struct {	/* 28 */
    CARD32	mask B32;
    INT32	input_style B32;
    Window	c_window B32;
    Window	focus_window B32;
    CARD32	filter_events B32;
    INT32	max_keycode B32;
    INT16	nbytes B16;
    INT16	nbytes2 B16;
} ximICValuesReq;

typedef struct {	/* 48 */
    INT16	area_x B16, area_y B16;
    CARD16	area_width B16, area_height B16;
    CARD16	areaneeded_width B16, areaneeded_height B16;
    INT16	spot_x B16, spot_y B16;
    Colormap	colormap B32;
    Atom	std_colormap B32;
    CARD32	foreground B32, background B32;
    Pixmap	pixmap B32;
    INT16	line_space B16;
    CARD16	pad1 B16;
    Cursor	cursor B32;
    CARD16	nfonts B16;
    INT16	nbytes B16;
} ximICAttributesReq;

typedef	struct {	/* 8 */
    CARD8	reqType;
    BYTE	pad;
    CARD16	length B16;
    CARD32	xic B32;
} ximDestroyICReq;
    
typedef struct {	/* 8 */
    CARD8	reqType;
    BYTE	pad;
    CARD16	length B16;
    CARD32	xic B32;
} ximICFocusReq;
    
typedef	struct {	/* 8 */
    CARD8	reqType;
    BYTE	pad;
    CARD16	length B16;
    CARD32	xic B32;
} ximResetICReq;

typedef	struct {	/* 8 */
    CARD8	reqType;
    BYTE	pad;
    CARD16	length B16;
    CARD32	xic B32;
} ximEventReq;

typedef struct {	/* 8 */
    CARD16	state B16;
    CARD16	detail B16;
    INT16	number B16;
    CARD16	pad B16;
} ximEventReply;

typedef struct {	/* 8 */
    CARD16	type B16;
    INT16	length B16;
    KeySym	keysym B32;
} ximReturnReply;

/* For Callback */
typedef struct {	/* 16 */
    INT16	caret B16;
    INT16	chg_first B16;
    INT16	chg_length B16;
    INT16	encoding_is_wchar B16;
    INT16	length B16;
    CARD16	pad B16;
    INT32	feedback B32;
} ximPreDrawReply;

typedef struct {	/* 8 */
    INT16	position B16;
    CARD16	direction B16;
    CARD16	style B16;
    CARD16	pad B16;
} ximPreCaretReply;

typedef struct {	/* 12 */
    CARD16	type B16;
    INT16	encoding_is_wchar B16;
    INT16	length B16;
    INT16	feedback B16;
    Pixmap	bitmap B32;
} ximStatusDrawReply;

#define	XIM_GetIM		1
#define	XIM_CreateIC		2
#define	XIM_ChangeIC		3
#define	XIM_GetIC		4
#define	XIM_DestroyIC		5
#define	XIM_SetICFocus		6
#define	XIM_UnsetICFocus	7
#define	XIM_ResetIC		8
#define	XIM_Event		9

#define	XIM_NOTHING		1
#define	XIM_NOFILTER		2
#define	XIM_RETURN		3
#define	XIM_CALLBACK		4
#define	XIM_IC			5
#ifdef	XML
#define XIM_CH_LOCALE		6
#endif	/* XML */


#define	XIM_STRING		(short)1
#define	XIM_KEYSYM		(short)2

/* For Callback */
#define	XIM_CB_PRE_START	1
#define	XIM_CB_PRE_DONE		2
#define	XIM_CB_PRE_DRAW		3
#define	XIM_CB_PRE_CARET	4
#define	XIM_CB_ST_START		5
#define	XIM_CB_ST_DONE		6
#define	XIM_CB_ST_DRAW		7

#define	XIM_CB_FW_CHAR		1
#define	XIM_CB_BW_CHAR		2
#define	XIM_CB_FW_WORD		3
#define	XIM_CB_BW_WORD		4
#define	XIM_CB_CARET_UP		5
#define	XIM_CB_CARET_DOWN	6
#define	XIM_CB_NEXT_LINE	7
#define	XIM_CB_PREV_LINE	8
#define	XIM_CB_LINE_START	9
#define	XIM_CB_LINE_END		10
#define	XIM_CB_ABS_POS		11
#define	XIM_CB_DONT_CHANGE	12

#define	XIM_ST_TEXT		1
#define	XIM_ST_BITMAP		2

#undef	Window
#undef	Atom
#undef	Colormap
#undef	Pixmap
#undef	Cursor	

#define _Read(fd, data, size)	read((fd), (data), (size))
#define _Write(fd, data, size)	write((fd), (data), (size))

#endif	/* XIMPROTO_H */