init
Some checks failed
Docker. / Ubuntu (push) Has been cancelled
User-agent updater. / User-agent (push) Failing after 15s
Lock Threads / lock (push) Failing after 10s
Waiting for answer. / waiting-for-answer (push) Failing after 22s
Needs user action. / needs-user-action (push) Failing after 8s
Can't reproduce. / cant-reproduce (push) Failing after 8s
Close stale issues and PRs / stale (push) Has been cancelled
Some checks failed
Docker. / Ubuntu (push) Has been cancelled
User-agent updater. / User-agent (push) Failing after 15s
Lock Threads / lock (push) Failing after 10s
Waiting for answer. / waiting-for-answer (push) Failing after 22s
Needs user action. / needs-user-action (push) Failing after 8s
Can't reproduce. / cant-reproduce (push) Failing after 8s
Close stale issues and PRs / stale (push) Has been cancelled
This commit is contained in:
474
Telegram/ThirdParty/nimf/modules/services/xim/IMdkit/Xi18n.h
vendored
Normal file
474
Telegram/ThirdParty/nimf/modules/services/xim/IMdkit/Xi18n.h
vendored
Normal file
@@ -0,0 +1,474 @@
|
||||
/* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 2; tab-width: 2 -*- */
|
||||
/******************************************************************
|
||||
|
||||
Copyright (C) 1994-1995 Sun Microsystems, Inc.
|
||||
Copyright (C) 1993-1994 Hewlett-Packard Company
|
||||
Copyright (C) 2014 Peng Huang <shawn.p.huang@gmail.com>
|
||||
Copyright (C) 2014 Red Hat, Inc.
|
||||
|
||||
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 name of Sun Microsystems, Inc.
|
||||
and Hewlett-Packard not be used in advertising or publicity pertaining to
|
||||
distribution of the software without specific, written prior permission.
|
||||
Sun Microsystems, Inc. and Hewlett-Packard make no representations about
|
||||
the suitability of this software for any purpose. It is provided "as is"
|
||||
without express or implied warranty.
|
||||
|
||||
SUN MICROSYSTEMS INC. AND HEWLETT-PACKARD COMPANY DISCLAIMS ALL
|
||||
WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
|
||||
SUN MICROSYSTEMS, INC. AND HEWLETT-PACKARD COMPANY 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 TORTIOUS ACTION, ARISING OUT OF OR
|
||||
IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
Author: Hidetoshi Tajima(tajima@Eng.Sun.COM) Sun Microsystems, Inc.
|
||||
|
||||
This version tidied and debugged by Steve Underwood May 1999
|
||||
|
||||
******************************************************************/
|
||||
|
||||
#ifndef _Xi18n_h
|
||||
#define _Xi18n_h
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xfuncs.h>
|
||||
#include <X11/Xos.h>
|
||||
#include "XimProto.h"
|
||||
|
||||
/*
|
||||
* Minor Protocol Number for Extension Protocol
|
||||
*/
|
||||
#define XIM_EXTENSION 128
|
||||
#define XIM_EXT_SET_EVENT_MASK (0x30)
|
||||
#define XIM_EXT_FORWARD_KEYEVENT (0x32)
|
||||
#define XIM_EXT_MOVE (0x33)
|
||||
#define COMMON_EXTENSIONS_NUM 3
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
/* XI18N Valid Attribute Name Definition */
|
||||
#define ExtForwardKeyEvent "extForwardKeyEvent"
|
||||
#define ExtMove "extMove"
|
||||
#define ExtSetEventMask "extSetEventMask"
|
||||
|
||||
/*
|
||||
* Padding macro
|
||||
*/
|
||||
#define IMPAD(length) ((4 - ((length)%4))%4)
|
||||
|
||||
/*
|
||||
* Target Atom for Transport Connection
|
||||
*/
|
||||
#define LOCALES "LOCALES"
|
||||
#define TRANSPORT "TRANSPORT"
|
||||
|
||||
typedef struct _NimfXim NimfXim;
|
||||
|
||||
typedef struct _XIMPending
|
||||
{
|
||||
unsigned char *p;
|
||||
struct _XIMPending *next;
|
||||
} XIMPending;
|
||||
|
||||
typedef struct _XimProtoHdr
|
||||
{
|
||||
CARD8 major_opcode;
|
||||
CARD8 minor_opcode;
|
||||
CARD16 length;
|
||||
} XimProtoHdr;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
CARD16 attribute_id;
|
||||
CARD16 type;
|
||||
CARD16 length;
|
||||
char *name;
|
||||
} XIMAttr;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
CARD16 attribute_id;
|
||||
CARD16 type;
|
||||
CARD16 length;
|
||||
char *name;
|
||||
} XICAttr;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int attribute_id;
|
||||
CARD16 name_length;
|
||||
char *name;
|
||||
int value_length;
|
||||
void *value;
|
||||
int type;
|
||||
} XIMAttribute;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int attribute_id;
|
||||
CARD16 name_length;
|
||||
char *name;
|
||||
int value_length;
|
||||
void *value;
|
||||
int type;
|
||||
} XICAttribute;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int length;
|
||||
char *name;
|
||||
} XIMStr;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
CARD16 major_opcode;
|
||||
CARD16 minor_opcode;
|
||||
CARD16 length;
|
||||
char *name;
|
||||
} XIMExt;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
Atom key;
|
||||
unsigned long offset;
|
||||
} Xi18nAtomOffsetPair;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
size_t capacity;
|
||||
size_t size;
|
||||
Xi18nAtomOffsetPair *data;
|
||||
} Xi18nOffsetCache;
|
||||
|
||||
typedef struct _Xi18nClient
|
||||
{
|
||||
int connect_id;
|
||||
CARD8 byte_order;
|
||||
/*
|
||||
'?': initial value
|
||||
'B': for Big-Endian
|
||||
'l': for little-endian
|
||||
*/
|
||||
int sync;
|
||||
XIMPending *pending;
|
||||
Xi18nOffsetCache offset_cache;
|
||||
void *trans_rec; /* contains transport specific data */
|
||||
struct _Xi18nClient *next;
|
||||
} Xi18nClient;
|
||||
|
||||
/*
|
||||
* Callback Struct for XIM Protocol
|
||||
*/
|
||||
typedef struct
|
||||
{
|
||||
int major_code;
|
||||
int minor_code;
|
||||
CARD16 connect_id;
|
||||
} IMAnyStruct;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int major_code;
|
||||
int minor_code;
|
||||
CARD16 connect_id;
|
||||
CARD8 byte_order;
|
||||
CARD16 major_version;
|
||||
CARD16 minor_version;
|
||||
} IMConnectStruct;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int major_code;
|
||||
int minor_code;
|
||||
CARD16 connect_id;
|
||||
} IMDisConnectStruct;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int major_code;
|
||||
int minor_code;
|
||||
CARD16 connect_id;
|
||||
XIMStr lang;
|
||||
} IMOpenStruct;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int major_code;
|
||||
int minor_code;
|
||||
CARD16 connect_id;
|
||||
} IMCloseStruct;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int major_code;
|
||||
int minor_code;
|
||||
CARD16 connect_id;
|
||||
CARD16 number;
|
||||
XIMStr *extension;
|
||||
} IMQueryExtensionStruct;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int major_code;
|
||||
int minor_code;
|
||||
CARD16 connect_id;
|
||||
CARD16 number;
|
||||
char **im_attr_list;
|
||||
} IMGetIMValuesStruct;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int major_code;
|
||||
int minor_code;
|
||||
CARD16 connect_id;
|
||||
CARD16 icid;
|
||||
CARD16 preedit_attr_num;
|
||||
CARD16 status_attr_num;
|
||||
CARD16 ic_attr_num;
|
||||
XICAttribute *preedit_attr;
|
||||
XICAttribute *status_attr;
|
||||
XICAttribute *ic_attr;
|
||||
} IMChangeICStruct;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int major_code;
|
||||
int minor_code;
|
||||
CARD16 connect_id;
|
||||
CARD16 icid;
|
||||
} IMDestroyICStruct;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int major_code;
|
||||
int minor_code;
|
||||
CARD16 connect_id;
|
||||
CARD16 icid;
|
||||
CARD16 length;
|
||||
char *commit_string;
|
||||
} IMResetICStruct;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int major_code;
|
||||
int minor_code;
|
||||
CARD16 connect_id;
|
||||
CARD16 icid;
|
||||
} IMChangeFocusStruct;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int major_code;
|
||||
int minor_code;
|
||||
CARD16 connect_id;
|
||||
CARD16 icid;
|
||||
BITMASK16 sync_bit;
|
||||
CARD16 serial_number;
|
||||
XEvent event;
|
||||
} IMForwardEventStruct;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int major_code;
|
||||
int minor_code;
|
||||
CARD16 connect_id;
|
||||
CARD16 icid;
|
||||
CARD16 flag;
|
||||
KeySym keysym;
|
||||
char *commit_string;
|
||||
} IMCommitStruct;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int major_code;
|
||||
int minor_code;
|
||||
CARD16 connect_id;
|
||||
CARD16 icid;
|
||||
CARD32 flag;
|
||||
CARD32 key_index;
|
||||
CARD32 event_mask;
|
||||
} IMTriggerNotifyStruct;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int major_code;
|
||||
int minor_code;
|
||||
CARD16 connect_id;
|
||||
CARD16 encoding_number;
|
||||
XIMStr *encoding; /* name information */
|
||||
CARD16 encoding_info_number;
|
||||
XIMStr *encodinginfo; /* detailed information */
|
||||
CARD16 category; /* #0 for name, #1 for detail */
|
||||
INT16 enc_index; /* index of the encoding determined */
|
||||
} IMEncodingNegotiationStruct;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int major_code;
|
||||
int minor_code;
|
||||
CARD16 connect_id;
|
||||
CARD16 icid;
|
||||
CARD32 flag;
|
||||
CARD32 forward_event_mask;
|
||||
CARD32 sync_event_mask;
|
||||
} IMSetEventMaskStruct;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int major_code;
|
||||
int minor_code;
|
||||
CARD16 connect_id;
|
||||
CARD16 icid;
|
||||
CARD32 filter_event_mask;
|
||||
CARD32 intercept_event_mask;
|
||||
CARD32 select_event_mask;
|
||||
CARD32 forward_event_mask;
|
||||
CARD32 sync_event_mask;
|
||||
} IMExtSetEventMaskStruct;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int major_code;
|
||||
int minor_code;
|
||||
CARD16 connect_id;
|
||||
CARD16 icid;
|
||||
CARD16 x;
|
||||
CARD16 y;
|
||||
} IMMoveStruct;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int major_code;
|
||||
int minor_code;
|
||||
CARD16 connect_id;
|
||||
CARD16 icid;
|
||||
BITMASK16 flag;
|
||||
CARD16 error_code;
|
||||
CARD16 str_length;
|
||||
CARD16 error_type;
|
||||
char *error_detail;
|
||||
} IMErrorStruct;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int major_code;
|
||||
int minor_code;
|
||||
CARD16 connect_id;
|
||||
CARD16 icid;
|
||||
} IMPreeditStateStruct;
|
||||
|
||||
/* Callbacks */
|
||||
typedef struct
|
||||
{
|
||||
int major_code;
|
||||
int minor_code;
|
||||
CARD16 connect_id;
|
||||
CARD16 icid;
|
||||
} IMGeometryCBStruct;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int major_code;
|
||||
int minor_code;
|
||||
CARD16 connect_id;
|
||||
CARD16 icid;
|
||||
union
|
||||
{
|
||||
int return_value; /* PreeditStart */
|
||||
XIMPreeditDrawCallbackStruct draw; /* PreeditDraw */
|
||||
XIMPreeditCaretCallbackStruct caret; /* PreeditCaret */
|
||||
} todo;
|
||||
} IMPreeditCBStruct;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int major_code;
|
||||
int minor_code;
|
||||
CARD16 connect_id;
|
||||
CARD16 icid;
|
||||
union
|
||||
{
|
||||
XIMStatusDrawCallbackStruct draw; /* StatusDraw */
|
||||
} todo;
|
||||
} IMStatusCBStruct;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int major_code;
|
||||
int minor_code;
|
||||
CARD16 connect_id;
|
||||
CARD16 icid;
|
||||
XIMStringConversionCallbackStruct strconv;
|
||||
} IMStrConvCBStruct;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int major_code;
|
||||
int minor_code;
|
||||
CARD16 connect_id;
|
||||
CARD16 icid;
|
||||
} IMSyncXlibStruct;
|
||||
|
||||
typedef union _IMProtocol
|
||||
{
|
||||
int major_code;
|
||||
IMAnyStruct any;
|
||||
IMConnectStruct imconnect;
|
||||
IMDisConnectStruct imdisconnect;
|
||||
IMOpenStruct imopen;
|
||||
IMCloseStruct imclose;
|
||||
IMQueryExtensionStruct queryext;
|
||||
IMGetIMValuesStruct getim;
|
||||
IMEncodingNegotiationStruct encodingnego;
|
||||
IMExtSetEventMaskStruct extsetevent;
|
||||
IMMoveStruct extmove;
|
||||
IMSetEventMaskStruct setevent;
|
||||
IMChangeICStruct changeic;
|
||||
IMDestroyICStruct destroyic;
|
||||
IMResetICStruct resetic;
|
||||
IMChangeFocusStruct changefocus;
|
||||
IMCommitStruct commitstring;
|
||||
IMForwardEventStruct forwardevent;
|
||||
IMTriggerNotifyStruct triggernotify;
|
||||
IMPreeditStateStruct preedit_state;
|
||||
IMErrorStruct imerror;
|
||||
IMGeometryCBStruct geometry_callback;
|
||||
IMPreeditCBStruct preedit_callback;
|
||||
IMStatusCBStruct status_callback;
|
||||
IMStrConvCBStruct strconv_callback;
|
||||
IMSyncXlibStruct sync_xlib;
|
||||
long pad[32];
|
||||
} IMProtocol;
|
||||
|
||||
typedef int (*IMProtoHandler) (NimfXim *, IMProtocol*, void*);
|
||||
|
||||
/* Xi18nAddressRec structure */
|
||||
typedef struct _Xi18nAddressRec
|
||||
{
|
||||
/* XIM_SERVERS target Atoms */
|
||||
Atom selection;
|
||||
Atom Localename;
|
||||
Atom Transportname;
|
||||
/* XIM/XIC Attr */
|
||||
int im_attr_num;
|
||||
XIMAttr *xim_attr;
|
||||
int ic_attr_num;
|
||||
XICAttr *xic_attr;
|
||||
CARD16 preeditAttr_id;
|
||||
CARD16 statusAttr_id;
|
||||
CARD16 separatorAttr_id;
|
||||
/* XIMExtension List */
|
||||
int ext_num;
|
||||
XIMExt extension[COMMON_EXTENSIONS_NUM];
|
||||
/* clients table */
|
||||
Xi18nClient *clients;
|
||||
Xi18nClient *free_clients;
|
||||
} Xi18nAddressRec;
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user