Blame util/IMdkit/i18nIMProto.c

Packit 3ff832
/******************************************************************
Packit 3ff832
Copyright 1993, 1994 by Digital Equipment Corporation, Maynard, Massachusetts,
Packit 3ff832
Copyright 1993, 1994 by Hewlett-Packard Company
Packit 3ff832
 
Packit 3ff832
Copyright 1994, 1995 by Sun Microsystems, Inc.
Packit 3ff832
 
Packit 3ff832
                        All Rights Reserved
Packit 3ff832
 
Packit 3ff832
Permission to use, copy, modify, and distribute this software and its 
Packit 3ff832
documentation for any purpose and without fee is hereby granted, 
Packit 3ff832
provided that the above copyright notice appear in all copies and that
Packit 3ff832
both that copyright notice and this permission notice appear in 
Packit 3ff832
supporting documentation, and that the names of Digital or MIT not be
Packit 3ff832
used in advertising or publicity pertaining to distribution of the
Packit 3ff832
software without specific, written prior permission.  
Packit 3ff832
 
Packit 3ff832
DIGITAL AND HEWLETT-PACKARD COMPANY DISCLAIMS ALL WARRANTIES WITH REGARD
Packit 3ff832
TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
Packit 3ff832
FITNESS, IN NO EVENT SHALL DIGITAL AND HEWLETT-PACKARD COMPANY BE LIABLE
Packit 3ff832
FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
Packit 3ff832
RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
Packit 3ff832
CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
Packit 3ff832
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Packit 3ff832
 
Packit 3ff832
  Author: Hiroyuki Miyamoto  Digital Equipment Corporation
Packit 3ff832
                             miyamoto@jrd.dec.com
Packit 3ff832
	  Hidetoshi Tajima(tajima@Eng.Sun.COM) Sun Microsystems, Inc.
Packit 3ff832
Packit 3ff832
    This version tidied and debugged by Steve Underwood May 1999
Packit 3ff832
 
Packit 3ff832
******************************************************************/
Packit 3ff832
Packit 3ff832
/* Protocol Packet frames */
Packit 3ff832
Packit 3ff832
#include "FrameMgr.h"
Packit 3ff832
Packit 3ff832
/* Data type definitions */
Packit 3ff832
Packit 3ff832
static XimFrameRec ximattr_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* attribute ID */
Packit 3ff832
    _FRAME(BIT16), 		/* type of the value */
Packit 3ff832
    _FRAME(BIT16), 		/* length of im-attribute */
Packit 3ff832
    _FRAME(BARRAY), 		/* im-attribute */
Packit 3ff832
    _PAD4(2),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
static XimFrameRec xicattr_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* attribute ID */
Packit 3ff832
    _FRAME(BIT16), 		/* type of the value */
Packit 3ff832
    _FRAME(BIT16), 		/* length of ic-attribute */
Packit 3ff832
    _FRAME(BARRAY), 		/* ic-attribute */
Packit 3ff832
    _PAD4(2),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
static XimFrameRec ximattribute_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* attribute ID */
Packit 3ff832
    _FRAME(BIT16), 		/* value length */
Packit 3ff832
    _FRAME(BARRAY),             /* value */
Packit 3ff832
    _PAD4(1),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
static XimFrameRec xicattribute_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* attribute ID */
Packit 3ff832
    _FRAME(BIT16), 		/* value length */
Packit 3ff832
    _FRAME(BARRAY),             /* value */
Packit 3ff832
    _PAD4(1),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
static XimFrameRec ximtriggerkey_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT32), 		/* keysym */
Packit 3ff832
    _FRAME(BIT32), 		/* modifier */
Packit 3ff832
    _FRAME(BIT32), 		/* modifier mask */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
static XimFrameRec encodinginfo_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* length of encoding info */
Packit 3ff832
    _FRAME(BARRAY), 		/* encoding info */
Packit 3ff832
    _PAD4(2),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
static XimFrameRec str_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT8), 		/* number of byte */
Packit 3ff832
    _FRAME(BARRAY), 		/* string */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
static XimFrameRec xpcs_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* length of string in bytes */
Packit 3ff832
    _FRAME(BARRAY), 		/* string */
Packit 3ff832
    _PAD4(2),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
static XimFrameRec ext_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT8), 		/* extension major-opcode */
Packit 3ff832
    _FRAME(BIT8), 		/* extension minor-opcode */
Packit 3ff832
    _FRAME(BIT16), 		/* length of extension name */
Packit 3ff832
    _FRAME(BARRAY), 		/* extension name */
Packit 3ff832
    _PAD4(1),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
static XimFrameRec inputstyle_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT32), 		/* inputstyle */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
/* Protocol definitions */
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec attr_head_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 	/* attribute id */
Packit 3ff832
    _FRAME(BIT16), 	/* attribute length */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec short_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 	/* value */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec long_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT32), 	/* value */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec xrectangle_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 	/* x */
Packit 3ff832
    _FRAME(BIT16), 	/* y */
Packit 3ff832
    _FRAME(BIT16), 	/* width */
Packit 3ff832
    _FRAME(BIT16), 	/* height */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec xpoint_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 	/* x */
Packit 3ff832
    _FRAME(BIT16), 	/* y */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec fontset_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 	/* length of base font name */
Packit 3ff832
    _FRAME(BARRAY), 	/* base font name list */
Packit 3ff832
    _PAD4(2), 		/* unused */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec input_styles_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* number of list */
Packit 3ff832
    _PAD4(1), 			/* unused */
Packit 3ff832
    _FRAME(ITER), 		/* XIMStyle list */
Packit 3ff832
    _FRAME(POINTER),
Packit 3ff832
    _PTR(inputstyle_fr),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec packet_header_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT8), 		/* major-opcode */
Packit 3ff832
    _FRAME(BIT8), 		/* minor-opcode */
Packit 3ff832
    _FRAME(BIT16), 		/* length */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec error_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* flag */
Packit 3ff832
    _FRAME(BIT16), 		/* Error Code */
Packit 3ff832
    _FRAME(BIT16), 		/* length of error detail */
Packit 3ff832
    _FRAME(BIT16), 		/* type of error detail */
Packit 3ff832
    _FRAME(BARRAY), 		/* error detail */
Packit 3ff832
    _PAD4(1),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec connect_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT8), 		/* byte order */
Packit 3ff832
    _PAD2(1), 			/* unused */
Packit 3ff832
    _FRAME(BIT16), 		/* client-major-protocol-version */
Packit 3ff832
    _FRAME(BIT16), 		/* client-minor-protocol-version */
Packit 3ff832
    _BYTE_COUNTER(BIT16, 1), 	/* length of client-auth-protocol-names */
Packit 3ff832
    _FRAME(ITER), 		/* client-auth-protocol-names */
Packit 3ff832
    _FRAME(POINTER),
Packit 3ff832
    _PTR(xpcs_fr),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec connect_reply_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* server-major-protocol-version */
Packit 3ff832
    _FRAME(BIT16), 		/* server-minor-protocol-version */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec auth_required_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT8), 		/* auth-protocol-index */
Packit 3ff832
    _FRAME(BIT8), 		/* auth-data1 */
Packit 3ff832
    _FRAME(BARRAY), 		/* auth-data2 */
Packit 3ff832
    _PAD4(3),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec auth_reply_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT8),
Packit 3ff832
    _FRAME(BARRAY),
Packit 3ff832
    _PAD4(2),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec auth_next_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT8), 		/* auth-data1 */
Packit 3ff832
    _FRAME(BARRAY), 		/* auth-data2 */
Packit 3ff832
    _PAD4(2),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec auth_setup_fr[] =
Packit 3ff832
{
Packit 3ff832
    _BYTE_COUNTER(BIT16, 2), 	/* number of client-auth-protocol-names */
Packit 3ff832
    _PAD4(1), 			/* unused */
Packit 3ff832
    _FRAME(ITER), 		/* server-auth-protocol-names */
Packit 3ff832
    _FRAME(POINTER),
Packit 3ff832
    _PTR(xpcs_fr),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec auth_ng_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec disconnect_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec disconnect_reply_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec open_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(POINTER), 		/* locale name */
Packit 3ff832
    _PTR(str_fr),
Packit 3ff832
    _PAD4(1),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec open_reply_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _BYTE_COUNTER(BIT16, 1), 	/* byte length of IM attributes supported */
Packit 3ff832
    _FRAME(ITER), 		/* IM attribute supported */
Packit 3ff832
    _FRAME(POINTER),
Packit 3ff832
    _PTR(ximattr_fr),
Packit 3ff832
    _BYTE_COUNTER(BIT16, 2), 	/* number of IC attribute supported */
Packit 3ff832
    _PAD4(1), 			/* unused */
Packit 3ff832
    _FRAME(ITER), 		/* IC attribute supported */
Packit 3ff832
    _FRAME(POINTER),
Packit 3ff832
    _PTR(xicattr_fr),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec close_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _PAD4(1), 			/* unused */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec close_reply_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _PAD4(1), 			/* unused */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec register_triggerkeys_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _PAD4(1), 			/* unused */
Packit 3ff832
    _BYTE_COUNTER(BIT32, 1),    /* byte length of on-keys */
Packit 3ff832
    _FRAME(ITER), 		/* on-keys list */
Packit 3ff832
    _FRAME(POINTER),
Packit 3ff832
    _PTR(ximtriggerkey_fr),
Packit 3ff832
    _BYTE_COUNTER(BIT32, 1), 	/* byte length of off-keys */
Packit 3ff832
    _FRAME(ITER), 		/* off-keys list */
Packit 3ff832
    _FRAME(POINTER),
Packit 3ff832
    _PTR(ximtriggerkey_fr),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec trigger_notify_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-mehotd-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(BIT32), 		/* flag */
Packit 3ff832
    _FRAME(BIT32), 		/* index of keys list */
Packit 3ff832
    _FRAME(BIT32), 		/* client-select-event-mask */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec trigger_notify_reply_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec set_event_mask_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(BIT32), 		/* forward-event-mask */
Packit 3ff832
    _FRAME(BIT32), 		/* synchronous-event-mask */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec encoding_negotiation_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _BYTE_COUNTER(BIT16, 1), 	/* byte length of encodings listed by name */
Packit 3ff832
    _FRAME(ITER), 		/* supported list of encoding in IM library */
Packit 3ff832
    _FRAME(POINTER),
Packit 3ff832
    _PTR(str_fr),
Packit 3ff832
    _PAD4(1),
Packit 3ff832
    _BYTE_COUNTER(BIT16, 2), 	/* byte length of encodings listed by
Packit 3ff832
                                       detailed data */
Packit 3ff832
    _PAD4(1),
Packit 3ff832
    _FRAME(ITER), 		/* list of encodings supported in the
Packit 3ff832
    				   IM library */
Packit 3ff832
    _FRAME(POINTER),
Packit 3ff832
    _PTR(encodinginfo_fr),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec encoding_negotiation_reply_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* category of the encoding determined */
Packit 3ff832
    _FRAME(BIT16), 		/* index of the encoding dterminated */
Packit 3ff832
    _PAD4(1),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec query_extension_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _BYTE_COUNTER(BIT16, 1), 	/* byte length of extensions supported
Packit 3ff832
    				   by the IM library */
Packit 3ff832
    _FRAME(ITER), 		/* extensions supported by the IM library */
Packit 3ff832
    _FRAME(POINTER),
Packit 3ff832
    _PTR(str_fr),
Packit 3ff832
    _PAD4(1),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec query_extension_reply_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _BYTE_COUNTER(BIT16, 1), 	/* byte length of extensions supported
Packit 3ff832
    				   by the IM server */
Packit 3ff832
    _FRAME(ITER), 		/* list of extensions supported by the
Packit 3ff832
    				   IM server */
Packit 3ff832
    _FRAME(POINTER),
Packit 3ff832
    _PTR(ext_fr),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec get_im_values_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _BYTE_COUNTER(BIT16, 1), 	/* byte length of im-attribute-id */
Packit 3ff832
    _FRAME(ITER), 		/* im-attribute-id */
Packit 3ff832
    _FRAME(BIT16),
Packit 3ff832
    _PAD4(1),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec get_im_values_reply_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _BYTE_COUNTER(BIT16, 1), 	/* byte length of im-attribute returned */
Packit 3ff832
    _FRAME(ITER), 		/* im-attribute returned */
Packit 3ff832
    _FRAME(POINTER),
Packit 3ff832
    _PTR(ximattribute_fr),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec create_ic_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _BYTE_COUNTER(BIT16, 1), 	/* byte length of ic-attributes */
Packit 3ff832
    _FRAME(ITER), 		/* ic-attributes */
Packit 3ff832
    _FRAME(POINTER),
Packit 3ff832
    _PTR(xicattribute_fr),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec create_ic_reply_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec destroy_ic_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec destroy_ic_reply_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec set_ic_values_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _BYTE_COUNTER(BIT16, 2), 	/* byte length of ic-attributes */
Packit 3ff832
    _PAD4(1),
Packit 3ff832
    _FRAME(ITER), 		/* ic-attribute */
Packit 3ff832
    _FRAME(POINTER),
Packit 3ff832
    _PTR(xicattribute_fr),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec set_ic_values_reply_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec get_ic_values_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _BYTE_COUNTER(BIT16, 1), 	/* byte length of ic-attribute-id */
Packit 3ff832
    _FRAME(ITER), 		/* ic-attribute */
Packit 3ff832
    _FRAME(BIT16),
Packit 3ff832
    _PAD4(2),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec get_ic_values_reply_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _BYTE_COUNTER(BIT16, 2), 	/* byte length of ic-attribute */
Packit 3ff832
    _PAD4(1),
Packit 3ff832
    _FRAME(ITER), 		/* ic-attribute */
Packit 3ff832
    _FRAME(POINTER),
Packit 3ff832
    _PTR(xicattribute_fr),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec set_ic_focus_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec unset_ic_focus_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec forward_event_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* flag */
Packit 3ff832
    _FRAME(BIT16), 		/* sequence number */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec wire_keyevent_fr[] = {
Packit 3ff832
    _FRAME(BIT8),		/* type */
Packit 3ff832
    _FRAME(BIT8),		/* detail */
Packit 3ff832
    _FRAME(BIT16),		/* serial number */
Packit 3ff832
    _FRAME(BIT32),		/* time */
Packit 3ff832
    _FRAME(BIT32),		/* root */
Packit 3ff832
    _FRAME(BIT32),		/* window */
Packit 3ff832
    _FRAME(BIT32),		/* subwindow */
Packit 3ff832
    _FRAME(BIT16),		/* rootX */
Packit 3ff832
    _FRAME(BIT16),		/* rootY */
Packit 3ff832
    _FRAME(BIT16),		/* X */
Packit 3ff832
    _FRAME(BIT16),		/* Y */
Packit 3ff832
    _FRAME(BIT16),		/* state */
Packit 3ff832
    _FRAME(BIT8),		/* sameScreen */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec sync_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec sync_reply_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
#if 0
Packit 3ff832
xim_externaldef XimFrameRec commit_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* flag */
Packit 3ff832
    _FRAME(BIT16), 		/* byte length of committed string */
Packit 3ff832
    _FRAME(BARRAY), 		/* committed string */
Packit 3ff832
    _PAD4(1),
Packit 3ff832
    _BYTE_COUNTER(BIT16, 1), 	/* byte length of keysym */
Packit 3ff832
    _FRAME(ITER), 		/* keysym */
Packit 3ff832
    _FRAME(BIT32),
Packit 3ff832
    _PAD4(1),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
#endif
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec commit_chars_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* flag */
Packit 3ff832
    _FRAME(BIT16), 		/* byte length of committed string */
Packit 3ff832
    _FRAME(BARRAY), 		/* committed string */
Packit 3ff832
    _PAD4(1),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec commit_both_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* flag */
Packit 3ff832
    _PAD4(1), 			/* unused */
Packit 3ff832
    _FRAME(BIT32), 		/* keysym */
Packit 3ff832
    _FRAME(BIT16), 		/* byte length of committed string */
Packit 3ff832
    _FRAME(BARRAY), 		/* committed string */
Packit 3ff832
    _PAD4(2),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec reset_ic_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec reset_ic_reply_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* byte length of committed string */
Packit 3ff832
    _FRAME(BARRAY), 		/* committed string */
Packit 3ff832
    _PAD4(2),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec geometry_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec str_conversion_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(BIT32), 		/* XIMStringConversionPosition */
Packit 3ff832
    _FRAME(BIT32), 		/* XIMStringConversionType */
Packit 3ff832
    _FRAME(BIT32), 		/* XIMStringConversionOperation */
Packit 3ff832
    _FRAME(BIT16), 		/* length to multiply the
Packit 3ff832
    				   XIMStringConversionType */
Packit 3ff832
    _FRAME(BIT16), 		/* length of the string to be
Packit 3ff832
    				   substituted */
Packit 3ff832
#if 0
Packit 3ff832
    _FRAME(BARRAY), 		/* string */
Packit 3ff832
    _PAD4(1),
Packit 3ff832
#endif
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec str_conversion_reply_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(BIT32), 		/* XIMStringConversionFeedback */
Packit 3ff832
    _FRAME(BIT16), 		/* length of the retrieved string */
Packit 3ff832
    _FRAME(BARRAY), 		/* retrieved string */
Packit 3ff832
    _PAD4(2),
Packit 3ff832
    _BYTE_COUNTER(BIT16, 2), 	/* number of feedback array */
Packit 3ff832
    _PAD4(1),
Packit 3ff832
    _FRAME(ITER), 		/* feedback array */
Packit 3ff832
    _FRAME(BIT32),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec preedit_start_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec preedit_start_reply_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(BIT32), 		/* return value */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec preedit_draw_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(BIT32), 		/* caret */
Packit 3ff832
    _FRAME(BIT32), 		/* chg_first */
Packit 3ff832
    _FRAME(BIT32), 		/* chg_length */
Packit 3ff832
    _FRAME(BIT32), 		/* status */
Packit 3ff832
    _FRAME(BIT16), 		/* length of preedit string */
Packit 3ff832
    _FRAME(BARRAY), 		/* preedit string */
Packit 3ff832
    _PAD4(2),
Packit 3ff832
    _BYTE_COUNTER(BIT16, 2), 	/* number of feedback array */
Packit 3ff832
    _PAD4(1),
Packit 3ff832
    _FRAME(ITER), 		/* feedback array */
Packit 3ff832
    _FRAME(BIT32),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec preedit_caret_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(BIT32), 		/* position */
Packit 3ff832
    _FRAME(BIT32), 		/* direction */
Packit 3ff832
    _FRAME(BIT32), 		/* style */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec preedit_caret_reply_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(BIT32), 		/* position */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec preedit_done_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec status_start_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec status_draw_text_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(BIT32), 		/* type */
Packit 3ff832
    _FRAME(BIT32), 		/* status */
Packit 3ff832
    _FRAME(BIT16), 		/* length of status string */
Packit 3ff832
    _FRAME(BARRAY), 		/* status string */
Packit 3ff832
    _PAD4(2),
Packit 3ff832
    _BYTE_COUNTER(BIT16, 2), 	/* number of feedback array */
Packit 3ff832
    _PAD4(1),
Packit 3ff832
    _FRAME(ITER), 		/* feedback array */
Packit 3ff832
    _FRAME(BIT32),
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec status_draw_bitmap_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(BIT32), 		/* type */
Packit 3ff832
    _FRAME(BIT32), 		/* pixmap data */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec status_done_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec ext_set_event_mask_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(BIT32), 		/* filter-event-mask */
Packit 3ff832
    _FRAME(BIT32), 		/* intercept-event-mask */
Packit 3ff832
    _FRAME(BIT32), 		/* select-event-mask */
Packit 3ff832
    _FRAME(BIT32), 		/* forward-event-mask */
Packit 3ff832
    _FRAME(BIT32), 		/* synchronous-event-mask */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec ext_forward_keyevent_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* flag */
Packit 3ff832
    _FRAME(BIT16), 		/* sequence number */
Packit 3ff832
    _FRAME(BIT8), 		/* xEvent.u.u.type */
Packit 3ff832
    _FRAME(BIT8), 		/* keycode */
Packit 3ff832
    _FRAME(BIT16), 		/* state */
Packit 3ff832
    _FRAME(BIT32), 		/* time */
Packit 3ff832
    _FRAME(BIT32), 		/* window */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};
Packit 3ff832
Packit 3ff832
xim_externaldef XimFrameRec ext_move_fr[] =
Packit 3ff832
{
Packit 3ff832
    _FRAME(BIT16), 		/* input-method-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* input-context-ID */
Packit 3ff832
    _FRAME(BIT16), 		/* X */
Packit 3ff832
    _FRAME(BIT16), 		/* Y */
Packit 3ff832
    _FRAME(EOL),
Packit 3ff832
};