Back to index

im-sdk  12.3.91
IIimp.cpp
Go to the documentation of this file.
00001 /*
00002 Copyright 1990-2001 Sun Microsystems, Inc. All Rights Reserved.
00003 
00004 Permission is hereby granted, free of charge, to any person obtaining a
00005 copy of this software and associated documentation files (the
00006 "Software"), to deal in the Software without restriction, including
00007 without limitation the rights to use, copy, modify, merge, publish,
00008 distribute, sublicense, and/or sell copies of the Software, and to
00009 permit persons to whom the Software is furnished to do so, subject to
00010 the following conditions: The above copyright notice and this
00011 permission notice shall be included in all copies or substantial
00012 portions of the Software.
00013 
00014 
00015 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
00016 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
00017 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
00018 IN NO EVENT SHALL THE OPEN GROUP OR SUN MICROSYSTEMS, INC. BE LIABLE
00019 FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
00020 CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH
00021 THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE EVEN IF
00022 ADVISED IN ADVANCE OF THE POSSIBILITY OF SUCH DAMAGES.
00023 
00024 
00025 Except as contained in this notice, the names of The Open Group and/or
00026 Sun Microsystems, Inc. shall not be used in advertising or otherwise to
00027 promote the sale, use or other dealings in this Software without prior
00028 written authorization from The Open Group and/or Sun Microsystems,
00029 Inc., as applicable.
00030 
00031 
00032 X Window System is a trademark of The Open Group
00033 
00034 OSF/1, OSF/Motif and Motif are registered trademarks, and OSF, the OSF
00035 logo, LBX, X Window System, and Xinerama are trademarks of the Open
00036 Group. All other trademarks and registered trademarks mentioned herein
00037 are the property of their respective owners. No right, title or
00038 interest in or to any trademark, service mark, logo or trade name of
00039 Sun Microsystems, Inc. or its licensors is granted.
00040 
00041 */
00042 #include "FrameMgr.h"
00043 
00044 /* Data type definitions */
00045 xim_externaldef
00046 XimFrameRec worddata_fr[] = {
00047     _FRAME(BIT16),   /* value */
00048     _FRAME(EOL),
00049 };
00050 
00051 xim_externaldef
00052 XimFrameRec longdata_fr[] = {
00053     _FRAME(BIT32),   /* value */
00054     _FRAME(EOL),
00055 };
00056 
00057 xim_externaldef
00058 XimFrameRec xrectangle_fr[] = {
00059     _FRAME(BIT16),   /* X */
00060     _FRAME(BIT16),   /* Y */
00061     _FRAME(BIT16),   /* width */
00062     _FRAME(BIT16),   /* height */
00063     _FRAME(EOL),
00064 };
00065 
00066 xim_externaldef
00067 XimFrameRec xpoint_fr[] = {
00068     _FRAME(BIT16),   /* X */
00069     _FRAME(BIT16),   /* Y */
00070     _FRAME(EOL),
00071 };
00072 
00073 xim_externaldef
00074 XimFrameRec xfontset_fr[] = {
00075     _FRAME(BIT16),   /* length of Base font name */
00076     _FRAME(BARRAY),  /* Base font name list */
00077     _PAD4(2),        /* unused */
00078     _FRAME(EOL),
00079 };
00080 
00081 xim_externaldef
00082 XimFrameRec attr_head_fr[] = {
00083     _FRAME(BIT16),   /* attribute id */
00084     _FRAME(BIT16),   /* attribute length */
00085     _FRAME(EOL),
00086 };
00087 
00088 /* Composite data type definitions */
00089 
00090 static
00091 XimFrameRec char_fr[] = {
00092     _FRAME(BIT8),
00093     _FRAME(BIT8),
00094     _FRAME(EOL),
00095 };
00096 
00097 xim_externaldef
00098 XimFrameRec string_fr[] = {
00099     _BYTE_COUNTER(BIT16, 1),       /* byte length of attribute names */
00100     _FRAME(ITER),           /* UCS-2 string */
00101     _FRAME(POINTER),
00102     _PTR(char_fr),
00103     _PAD4(2),
00104     _FRAME(EOL),
00105 };
00106 
00107 static
00108 XimFrameRec feedback_attr_fr[] = {
00109     _FRAME(BIT32),          /* Feedback ID */
00110     _FRAME(BIT32),   /* value */
00111     _FRAME(EOL),
00112 };
00113 
00114 static
00115 XimFrameRec char_with_feedback_fr[] = {
00116     _FRAME(BIT8),           /* 1st byte of UCS-2 character */
00117     _FRAME(BIT8),           /* 2nd byte of UCS-2 character */
00118     _BYTE_COUNTER(BIT16, 1),       /* byte length of feedback attribute */
00119     _FRAME(ITER),           /* feedback attribute */
00120     _FRAME(POINTER),
00121     _PTR(feedback_attr_fr),
00122     _FRAME(EOL),
00123 };
00124 
00125 static
00126 XimFrameRec operation_fr[] = {
00127   _FRAME(POINTER),
00128   _PTR(string_fr),          /* operation identifier */
00129   _FRAME(BIT16),            /* value length */
00130   _FRAME(BARRAY),           /* value */
00131   _PAD4(1),
00132   _FRAME(EOL),
00133 };
00134 
00135 static
00136 XimFrameRec annotation_value_fr[] = {
00137     _FRAME(BIT32),          /* start index */
00138     _FRAME(BIT32),          /* end index */
00139     _FRAME(BIT32),          /* value length */
00140     _FRAME(BARRAY),             /* value */
00141     _PAD4(1),
00142     _FRAME(EOL),
00143 };
00144 
00145 static
00146 XimFrameRec annotation_fr[] = {
00147     _FRAME(BIT32),          /* Attribute ID */
00148     _BYTE_COUNTER(BIT32, 1),       /* byte length of list of annotation value */
00149     _FRAME(ITER),           /* text */
00150     _FRAME(POINTER),
00151     _PTR(annotation_value_fr),
00152     _FRAME(EOL),
00153 };
00154 
00155 xim_externaldef
00156 XimFrameRec text_fr[] = {
00157     _BYTE_COUNTER(BIT32, 1),       /* byte length of text */
00158     _FRAME(ITER),           /* text */
00159     _FRAME(POINTER),
00160     _PTR(char_with_feedback_fr),
00161 #ifdef NEED_ANNOTATION
00162     _BYTE_COUNTER(BIT32, 1),       /* byte length of list of annotation */
00163     _FRAME(ITER),           /* text */
00164     _FRAME(POINTER),
00165     _PTR(annotation_fr),
00166 #else
00167     _FRAME(BIT32),          /* byte length of list of annotation */
00168 #endif
00169     _FRAME(EOL),
00170 };
00171 
00172 static
00173 XimFrameRec attribid_fr[] = {
00174     _FRAME(BIT16),
00175     _FRAME(EOL),
00176 };
00177 
00178 xim_externaldef
00179 XimFrameRec clientdescriptor_fr[] = {
00180     _FRAME(POINTER),
00181     _PTR(string_fr),        /* application name */
00182     _FRAME(POINTER),
00183     _PTR(string_fr),        /* operation system name */
00184     _FRAME(POINTER),
00185     _PTR(string_fr),        /* operation system architecture */
00186     _FRAME(POINTER),
00187     _PTR(string_fr),        /* operation system version */
00188     _FRAME(EOL),
00189 };
00190 
00191 xim_externaldef
00192 XimFrameRec objectdescriptor_fr[] = {
00193     _FRAME(BIT16),          /* Object category */
00194     _PAD4(1),               /* unused */
00195     _FRAME(BIT32),          /* Object size */
00196     _FRAME(POINTER),
00197     _PTR(attribid_fr),             /* Predefined attribute ID */
00198     _FRAME(POINTER),
00199     _PTR(attribid_fr),             /* Dynamically assigned attribute ID */
00200     _FRAME(POINTER),
00201     _PTR(string_fr),        /* Object name in reversed domain unique name */
00202     _FRAME(POINTER),
00203     _PTR(string_fr),        /* Object description in HRN */
00204     _FRAME(POINTER),
00205     _PTR(string_fr),        /* Object Signature */
00206     _FRAME(POINTER),
00207     _PTR(string_fr),        /* Object User */
00208     _FRAME(EOL),
00209 };
00210 
00211 xim_externaldef
00212 XimFrameRec ccdef_fr[] = {
00213     _FRAME(POINTER),
00214     _PTR(string_fr),        /* contents of ccdef */
00215     _FRAME(EOL),
00216 };
00217 
00218 xim_externaldef
00219 XimFrameRec language_fr[] = {
00220     _FRAME(POINTER),
00221     _PTR(string_fr),        /* HR Name of language */
00222     _FRAME(POINTER),
00223     _PTR(string_fr),        /* language identifier */
00224     _FRAME(EOL),
00225 };
00226 
00227 xim_externaldef
00228 XimFrameRec jarfileobject_fr[] = {
00229     _BYTE_COUNTER(BIT32, 1),       /* byte length of class name list */
00230     _FRAME(ITER),           /* class names */
00231     _FRAME(POINTER),
00232     _PTR(string_fr),
00233     _FRAME(BIT32),          /* byte length of jar file */
00234     _FRAME(BARRAY),             /* value */
00235     _PAD4(1),
00236     _FRAME(EOL),
00237 };
00238 
00239 xim_externaldef
00240 XimFrameRec binfileobject_fr[] = {
00241     _FRAME(POINTER),
00242     _PTR(string_fr),        /* pathname */
00243     _FRAME(EOL),
00244 };
00245 
00246 xim_externaldef
00247 XimFrameRec inputmethod_fr[] = {
00248     _FRAME(BIT16),          /* input-method-ID */
00249     _PAD4(1),               /* unused */
00250     _FRAME(POINTER),
00251     _PTR(string_fr),        /* HR Name of input method */
00252     _FRAME(POINTER),
00253     _PTR(string_fr),        /* input method identifier */
00254     _BYTE_COUNTER(BIT32, 1),       /* byte length of supported language list */
00255     _FRAME(ITER),           /* supported language names */
00256     _FRAME(POINTER),
00257     _PTR(language_fr),
00258     _FRAME(EOL),
00259 };
00260 
00261 xim_externaldef
00262 XimFrameRec textlist_header_fr[] = {
00263     _FRAME(BIT32),   /* byte length of text list */
00264     _FRAME(EOL),
00265 };
00266 
00267 static
00268 XimFrameRec imattribute_fr[] = {
00269     _FRAME(BIT16),          /* attribute ID */
00270     _PAD4(1),               /* unused */
00271     _FRAME(BIT32),          /* value length */
00272     _FRAME(BARRAY),             /* value */
00273     _PAD4(1),
00274     _FRAME(EOL),
00275 };
00276 
00277 static
00278 XimFrameRec icattribute_fr[] = {
00279     _FRAME(BIT16),          /* attribute ID */
00280     _FRAME(BIT16),          /* value length */
00281     _FRAME(BARRAY),             /* value */
00282     _PAD4(1),
00283     _FRAME(EOL),
00284 };
00285 
00286 #ifdef LOOKUPSTYLE
00287 static
00288 XimFrameRec lookupstyle_fr[] = {
00289     _FRAME(BIT32),   /* lookupStyle */
00290     _FRAME(EOL),
00291 };
00292 
00293 xim_externaldef
00294 XimFrameRec lookupstyles_fr[] = {
00295     _BYTE_COUNTER(BIT16, 2),       /* number of lookupStyle list */
00296     _PAD4(1),               /* unused */
00297     _FRAME(ITER),           /* LookupStyle list */
00298     _FRAME(POINTER),
00299     _PTR(lookupstyle_fr),
00300     _FRAME(EOL),
00301 };
00302 #endif
00303 
00304 static
00305 XimFrameRec keyevent_fr[] = {
00306     _FRAME(BIT32),   /* keycode */
00307     _FRAME(BIT32),   /* keychar */
00308     _FRAME(BIT32),   /* modifiers */
00309     _FRAME(BIT32),   /* time stamp */
00310     _FRAME(EOL),
00311 };
00312 
00313 xim_externaldef
00314 XimFrameRec keyevent_list_fr[] = {
00315     _BYTE_COUNTER(BIT32, 1),       /* byte length of list of keyevents */
00316     _FRAME(ITER),
00317     _FRAME(POINTER),
00318     _PTR(keyevent_fr),
00319     _FRAME(EOL),
00320 };
00321 
00322 /* Protocol Packet frames */
00323 
00324 xim_externaldef
00325 XimFrameRec im_packet_header_fr[] = {
00326     _FRAME(BIT8),           /* type and opcode */
00327     _FRAME(BIT8),           /* 23-17 bits of length field */
00328     _FRAME(BIT8),           /* 15-08 bits of length field */
00329     _FRAME(BIT8),           /* 07-00 bits of length field */
00330     _FRAME(EOL),
00331 };
00332 
00333 xim_externaldef
00334 XimFrameRec im_connect_fr[] = {
00335     _FRAME(BIT8),           /* byte order */
00336     _FRAME(BIT8),           /* protocol-version */
00337     _FRAME(POINTER),
00338     _PTR(string_fr),        /* user name */
00339     _BYTE_COUNTER(BIT16, 1),       /* byte length of auth-protocol-names */
00340     _FRAME(ITER),           /* auto-protocol names */
00341     _FRAME(POINTER),
00342     _PTR(string_fr),
00343     _FRAME(EOL),
00344 };
00345 
00346 xim_externaldef
00347 XimFrameRec im_connect_reply_fr[] = {
00348     _FRAME(BIT16),          /* input-method-ID */
00349     _BYTE_COUNTER(BIT16, 1),       /* byte length of language identifiers */
00350     _FRAME(ITER),           /* language identifiers */
00351     _FRAME(POINTER),
00352     _PTR(string_fr),
00353     _FRAME(EOL),
00354 };
00355 
00356 xim_externaldef
00357 XimFrameRec im_disconnect_fr[] = {
00358     _FRAME(BIT16),          /* input-method-ID */
00359     _PAD4(1),               /* unused */
00360     _FRAME(EOL),
00361 };
00362 
00363 xim_externaldef
00364 XimFrameRec im_disconnect_reply_fr[] = {
00365     _FRAME(BIT16),          /* input-method-ID */
00366     _PAD4(1),               /* unused */
00367     _FRAME(EOL),
00368 };
00369 
00370 xim_externaldef
00371 XimFrameRec im_register_triggerkeys_fr[] = {
00372     _FRAME(BIT16),          /* input-method-ID */
00373     _PAD4(1),               /* unused */
00374     _BYTE_COUNTER(BIT32, 1),       /* byte length of on-keys */
00375     _FRAME(ITER),           /* on-keys list */
00376     _FRAME(POINTER),
00377     _PTR(keyevent_fr),
00378     _BYTE_COUNTER(BIT32, 1),       /* byte length of off-keys */
00379     _FRAME(ITER),           /* off-keys list */
00380     _FRAME(POINTER),
00381     _PTR(keyevent_fr),
00382     _FRAME(EOL),
00383 };
00384 
00385 xim_externaldef
00386 XimFrameRec im_trigger_notify_fr[] = {
00387     _FRAME(BIT16),          /* input-mehotd-ID */
00388     _FRAME(BIT16),          /* input-context-ID */
00389     _FRAME(BIT16),          /* flag */
00390     _PAD4(1),               /* unused */
00391     _FRAME(EOL),
00392 };
00393 
00394 xim_externaldef
00395 XimFrameRec im_trigger_notify_reply_fr[] = {
00396     _FRAME(BIT16),          /* input-method-ID */
00397     _PAD4(1),               /* unused */
00398     _FRAME(EOL),
00399 };
00400 
00401 xim_externaldef
00402 XimFrameRec im_setimvalues_fr[] = {
00403     _FRAME(BIT16),          /* input-method-ID */
00404     _PAD4(1),               /* unused */
00405     _BYTE_COUNTER(BIT32, 1),       /* byte length of im-attributes */
00406     _FRAME(ITER),           /* im-attributes */
00407     _FRAME(POINTER),
00408     _PTR(imattribute_fr),
00409     _FRAME(EOL),
00410 };
00411 
00412 xim_externaldef
00413 XimFrameRec im_setimvalues_reply_fr[] = {
00414     _FRAME(BIT16),          /* input-method-ID */
00415     _PAD4(1),               /* unused */
00416     _FRAME(EOL),
00417 };
00418 
00419 xim_externaldef
00420 XimFrameRec im_getimvalues_fr[] = {
00421     _FRAME(BIT16),          /* input-method-ID */
00422     _PAD4(1),               /* unused */
00423     _BYTE_COUNTER(BIT32, 1),       /* byte length of im-attribute-id */
00424     _FRAME(ITER),           /* im-attribute-id */
00425     _FRAME(BIT16),
00426     _PAD4(1),               /* unused */
00427     _FRAME(EOL),
00428 };
00429 
00430 xim_externaldef
00431 XimFrameRec im_getimvalues_reply_fr[] = {
00432     _FRAME(BIT16),          /* input-method-ID */
00433     _PAD4(1),               /* unused */
00434     _BYTE_COUNTER(BIT32, 1),       /* byte length of im-attribute */
00435     _FRAME(ITER),           /* im-attribute */
00436     _FRAME(POINTER),
00437     _PTR(imattribute_fr),
00438     _FRAME(EOL),
00439 };
00440 
00441 xim_externaldef
00442 XimFrameRec im_createic_fr[] = {
00443     _FRAME(BIT16),          /* input-method-ID */
00444     _BYTE_COUNTER(BIT16, 1),       /* byte length of ic-attributes */
00445     _FRAME(ITER),           /* ic-attributes */
00446     _FRAME(POINTER),
00447     _PTR(icattribute_fr),
00448     _FRAME(EOL),
00449 };
00450 
00451 xim_externaldef
00452 XimFrameRec im_createic_reply_fr[] = {
00453     _FRAME(BIT16),          /* input-method-ID */
00454     _FRAME(BIT16),          /* input-context-ID */
00455     _FRAME(EOL),
00456 };
00457 
00458 xim_externaldef
00459 XimFrameRec im_destroyic_fr[] = {
00460     _FRAME(BIT16),          /* input-method-ID */
00461     _FRAME(BIT16),          /* input-context-ID */
00462     _FRAME(EOL),
00463 };
00464 
00465 xim_externaldef
00466 XimFrameRec im_destroyic_reply_fr[] = {
00467     _FRAME(BIT16),          /* input-method-ID */
00468     _FRAME(BIT16),          /* input-context-ID */
00469     _FRAME(EOL),
00470 };
00471 
00472 xim_externaldef
00473 XimFrameRec im_seticvalues_fr[] = {
00474     _FRAME(BIT16),          /* input-method-ID */
00475     _FRAME(BIT16),          /* input-context-ID */
00476     _BYTE_COUNTER(BIT16, 1),       /* byte length of ic-attributes */
00477     _FRAME(ITER),           /* ic-attributes */
00478     _FRAME(POINTER),
00479     _PTR(icattribute_fr),
00480     _PAD4(2),               /* unused */
00481     _FRAME(EOL),
00482 };
00483 
00484 xim_externaldef
00485 XimFrameRec im_seticvalues_reply_fr[] = {
00486     _FRAME(BIT16),          /* input-method-ID */
00487     _FRAME(BIT16),          /* input-context-ID */
00488     _FRAME(EOL),
00489 };
00490 
00491 xim_externaldef
00492 XimFrameRec im_geticvalues_fr[] = {
00493     _FRAME(BIT16),          /* input-method-ID */
00494     _FRAME(BIT16),          /* input-context-ID */
00495     _BYTE_COUNTER(BIT16, 1),       /* byte length of ic-attribute-id */
00496     _FRAME(ITER),           /* ic-attribute-id */
00497     _FRAME(BIT16),
00498     _PAD4(2),               /* unused */
00499     _FRAME(EOL),
00500 };
00501 
00502 xim_externaldef
00503 XimFrameRec im_geticvalues_reply_fr[] = {
00504     _FRAME(BIT16),          /* input-method-ID */
00505     _FRAME(BIT16),          /* input-context-ID */
00506     _BYTE_COUNTER(BIT16, 1),       /* byte length of ic-attribute */
00507     _FRAME(ITER),           /* ic-attribute */
00508     _FRAME(POINTER),
00509     _PTR(icattribute_fr),
00510     _PAD4(2),               /* unused */
00511     _FRAME(EOL),
00512 };
00513 
00514 xim_externaldef
00515 XimFrameRec im_seticfocus_fr[] = {
00516     _FRAME(BIT16),          /* input-method-ID */
00517     _FRAME(BIT16),          /* input-context-ID */
00518     _FRAME(EOL),
00519 };
00520 
00521 xim_externaldef
00522 XimFrameRec im_seticfocus_reply_fr[] = {
00523     _FRAME(BIT16),          /* input-method-ID */
00524     _FRAME(BIT16),          /* input-context-ID */
00525     _FRAME(EOL),
00526 };
00527 
00528 xim_externaldef
00529 XimFrameRec im_unseticfocus_fr[] = {
00530     _FRAME(BIT16),          /* input-method-ID */
00531     _FRAME(BIT16),          /* input-context-ID */
00532     _FRAME(EOL),
00533 };
00534 
00535 xim_externaldef
00536 XimFrameRec im_unseticfocus_reply_fr[] = {
00537     _FRAME(BIT16),          /* input-method-ID */
00538     _FRAME(BIT16),          /* input-context-ID */
00539     _FRAME(EOL),
00540 };
00541 
00542 xim_externaldef
00543 XimFrameRec im_resetic_fr[] = {
00544     _FRAME(BIT16),          /* input-method-ID */
00545     _FRAME(BIT16),          /* input-context-ID */
00546     _FRAME(EOL),
00547 };
00548 
00549 xim_externaldef
00550 XimFrameRec im_resetic_reply_fr[] = {
00551     _FRAME(BIT16),          /* input-method-ID */
00552     _FRAME(BIT16),          /* input-context-ID */
00553     _FRAME(EOL),
00554 };
00555 
00556 xim_externaldef
00557 XimFrameRec im_preedit_start_fr[] = {
00558     _FRAME(BIT16),          /* input-method-ID */
00559     _FRAME(BIT16),          /* input-context-ID */
00560     _FRAME(EOL),
00561 };
00562 
00563 xim_externaldef
00564 XimFrameRec im_preedit_start_reply_fr[] = {
00565     _FRAME(BIT16),          /* input-method-ID */
00566     _FRAME(BIT16),          /* input-context-ID */
00567     _FRAME(BIT32),          /* return value */
00568     _FRAME(EOL),
00569 };
00570 
00571 xim_externaldef
00572 XimFrameRec im_preedit_draw_fr[] = {
00573     _FRAME(BIT16),          /* input-method-ID */
00574     _FRAME(BIT16),          /* input-context-ID */
00575     _FRAME(BIT32),          /* caret */
00576     _FRAME(BIT32),          /* chg_first */
00577     _FRAME(BIT32),          /* chg_length */
00578     _FRAME(BIT32),          /* type = #0 : STRING */
00579     _FRAME(EOL),
00580 };
00581 
00582 xim_externaldef
00583 XimFrameRec im_preedit_draw_string_fr[] = {
00584     _FRAME(BIT16),          /* input-method-ID */
00585     _FRAME(BIT16),          /* input-context-ID */
00586     _FRAME(BIT32),          /* caret */
00587     _FRAME(BIT32),          /* chg_first */
00588     _FRAME(BIT32),          /* chg_length */
00589     _FRAME(BIT32),          /* type = #0 : STRING */
00590     _FRAME(POINTER),
00591     _PTR(string_fr),
00592     _FRAME(EOL),
00593 };
00594 
00595 xim_externaldef
00596 XimFrameRec im_preedit_draw_text_fr[] = {
00597     _FRAME(BIT16),          /* input-method-ID */
00598     _FRAME(BIT16),          /* input-context-ID */
00599     _FRAME(BIT32),          /* caret */
00600     _FRAME(BIT32),          /* chg_first */
00601     _FRAME(BIT32),          /* chg_length */
00602     _FRAME(BIT32),          /* type = #1 : TEXT */
00603     _FRAME(POINTER),
00604     _PTR(text_fr),
00605     _FRAME(EOL),
00606 };
00607 
00608 xim_externaldef
00609 XimFrameRec im_preedit_draw_reply_fr[] = {
00610     _FRAME(BIT16),          /* input-method-ID */
00611     _FRAME(BIT16),          /* input-context-ID */
00612     _FRAME(EOL),
00613 };
00614 
00615 xim_externaldef
00616 XimFrameRec im_preedit_caret_fr[] = {
00617     _FRAME(BIT16),          /* input-method-ID */
00618     _FRAME(BIT16),          /* input-context-ID */
00619     _FRAME(BIT32),          /* position */
00620     _FRAME(BIT32),          /* direction */
00621     _FRAME(BIT32),          /* style */
00622     _FRAME(EOL),
00623 };
00624 
00625 xim_externaldef
00626 XimFrameRec im_preedit_caret_reply_fr[] = {
00627     _FRAME(BIT16),          /* input-method-ID */
00628     _FRAME(BIT16),          /* input-context-ID */
00629     _FRAME(BIT32),          /* position */
00630     _FRAME(EOL),
00631 };
00632 
00633 xim_externaldef
00634 XimFrameRec im_preedit_done_fr[] = {
00635     _FRAME(BIT16),          /* input-method-ID */
00636     _FRAME(BIT16),          /* input-context-ID */
00637     _FRAME(EOL),
00638 };
00639 
00640 xim_externaldef
00641 XimFrameRec im_preedit_done_reply_fr[] = {
00642     _FRAME(BIT16),          /* input-method-ID */
00643     _FRAME(BIT16),          /* input-context-ID */
00644     _FRAME(EOL),
00645 };
00646 
00647 xim_externaldef
00648 XimFrameRec im_status_start_fr[] = {
00649     _FRAME(BIT16),          /* input-method-ID */
00650     _FRAME(BIT16),          /* input-context-ID */
00651     _FRAME(EOL),
00652 };
00653 
00654 xim_externaldef
00655 XimFrameRec im_status_start_reply_fr[] = {
00656     _FRAME(BIT16),          /* input-method-ID */
00657     _FRAME(BIT16),          /* input-context-ID */
00658     _FRAME(EOL),
00659 };
00660 
00661 xim_externaldef
00662 XimFrameRec im_status_draw_fr[] = {
00663     _FRAME(BIT16),          /* input-method-ID */
00664     _FRAME(BIT16),          /* input-context-ID */ 
00665     _FRAME(BIT32),          /* type = #1 : TEXT */ 
00666     _FRAME(EOL),
00667 };
00668 
00669 xim_externaldef
00670 XimFrameRec im_status_draw_string_fr[] = {
00671     _FRAME(BIT16),          /* input-method-ID */
00672     _FRAME(BIT16),          /* input-context-ID */ 
00673     _FRAME(BIT32),          /* type = #0 : STRING */ 
00674     _FRAME(POINTER),
00675     _PTR(string_fr),
00676     _FRAME(EOL),
00677 };
00678 
00679 xim_externaldef
00680 XimFrameRec im_status_draw_text_fr[] = {
00681     _FRAME(BIT16),          /* input-method-ID */
00682     _FRAME(BIT16),          /* input-context-ID */ 
00683     _FRAME(BIT32),          /* type = #1 : TEXT */ 
00684     _FRAME(POINTER),
00685     _PTR(text_fr),
00686     _FRAME(EOL),
00687 };
00688 
00689 xim_externaldef
00690 XimFrameRec im_status_draw_reply_fr[] = {
00691     _FRAME(BIT16),          /* input-method-ID */
00692     _FRAME(BIT16),          /* input-context-ID */
00693     _FRAME(EOL),
00694 };
00695 
00696 xim_externaldef
00697 XimFrameRec im_status_done_fr[] = {
00698     _FRAME(BIT16),          /* input-method-ID */
00699     _FRAME(BIT16),          /* input-context-ID */
00700     _FRAME(EOL),
00701 };
00702 
00703 xim_externaldef
00704 XimFrameRec im_status_done_reply_fr[] = {
00705     _FRAME(BIT16),          /* input-method-ID */
00706     _FRAME(BIT16),          /* input-context-ID */
00707     _FRAME(EOL),
00708 };
00709 
00710 xim_externaldef
00711 XimFrameRec im_lookup_start_fr[] = {
00712     _FRAME(BIT16),          /* input-method-ID */
00713     _FRAME(BIT16),          /* input-context-ID */
00714     _FRAME(BIT16),          /* which is master */
00715     _FRAME(BIT16),          /* choice per window */
00716     _FRAME(BIT16),          /* number of rows */
00717     _FRAME(BIT16),          /* number of columns */
00718     _FRAME(BIT16),          /* drawing up direction */
00719     _FRAME(BIT16),          /* which owns label */
00720     _FRAME(EOL),
00721 };
00722 
00723 xim_externaldef
00724 XimFrameRec im_lookup_start_reply_fr[] = {
00725     _FRAME(BIT16),          /* input-method-ID */
00726     _FRAME(BIT16),          /* input-context-ID */
00727     _FRAME(EOL),
00728 };
00729 
00730 xim_externaldef
00731 XimFrameRec im_lookup_draw_fr[] = {
00732     _FRAME(BIT16),          /* input-method-ID */
00733     _FRAME(BIT16),          /* input-context-ID */
00734     _FRAME(BIT32),          /* index of first candidate */ 
00735     _FRAME(BIT32),          /* index of last candidate */ 
00736     _FRAME(BIT32),          /* index of current candidate */ 
00737 
00738     _BYTE_COUNTER(BIT32, 1),       /* byte length of choice list */
00739     _FRAME(ITER),
00740     _FRAME(POINTER),
00741     _PTR(text_fr),          /* choice list */
00742 
00743     _BYTE_COUNTER(BIT32, 1),       /* byte length of index label list */
00744     _FRAME(ITER),
00745     _FRAME(POINTER),
00746     _PTR(text_fr),          /* index label list */
00747 
00748     _FRAME(POINTER),
00749     _PTR(text_fr),          /* title */
00750     _FRAME(EOL),
00751 };
00752 
00753 xim_externaldef
00754 XimFrameRec im_lookup_draw_reply_fr[] = {
00755     _FRAME(BIT16),          /* input-method-ID */
00756     _FRAME(BIT16),          /* input-context-ID */
00757     _FRAME(EOL),
00758 };
00759 
00760 xim_externaldef
00761 XimFrameRec im_lookup_done_fr[] = {
00762     _FRAME(BIT16),          /* input-method-ID */
00763     _FRAME(BIT16),          /* input-context-ID */
00764     _FRAME(EOL),
00765 };
00766 
00767 xim_externaldef
00768 XimFrameRec im_lookup_done_reply_fr[] = {
00769     _FRAME(BIT16),          /* input-method-ID */
00770     _FRAME(BIT16),          /* input-context-ID */
00771     _FRAME(EOL),
00772 };
00773 
00774 xim_externaldef
00775 XimFrameRec im_lookup_process_fr[] = {
00776     _FRAME(BIT16),          /* input-method-ID */
00777     _FRAME(BIT16),          /* input-context-ID */
00778 
00779     _FRAME(BIT16),          /* type = #0 : INDEX, #1 : PAGE */ 
00780     _FRAME(BIT16),          /* index of selected choice or page # */
00781     _FRAME(EOL),
00782 };
00783 
00784 xim_externaldef
00785 XimFrameRec im_lookup_process_reply_fr[] = {
00786     _FRAME(BIT16),          /* input-method-ID */
00787     _FRAME(BIT16),          /* input-context-ID */
00788     _FRAME(EOL),
00789 };
00790 
00791 xim_externaldef
00792 XimFrameRec im_forward_event_fr[] = {
00793     _FRAME(BIT16),          /* input-method-ID */
00794     _FRAME(BIT16),          /* input-context-ID */
00795     _FRAME(BIT32),          /* type */ 
00796     _FRAME(EOL),
00797 };
00798 
00799 #if 0
00800 xim_externaldef
00801 XimFrameRec im_forward_event_string_fr[] = {
00802     _FRAME(BIT16),          /* input-method-ID */
00803     _FRAME(BIT16),          /* input-context-ID */
00804     _FRAME(BIT32),          /* type = #0 : STRING */ 
00805     _FRAME(POINTER),
00806     _PTR(string_fr),
00807     _FRAME(EOL),
00808 };
00809 
00810 xim_externaldef
00811 XimFrameRec im_forward_event_text_fr[] = {
00812     _FRAME(BIT16),          /* input-method-ID */
00813     _FRAME(BIT16),          /* input-context-ID */
00814     _FRAME(BIT32),          /* type = #1 : TEXT */ 
00815     _FRAME(POINTER),
00816     _PTR(text_fr),
00817     _FRAME(EOL),
00818 };
00819 #endif
00820 
00821 xim_externaldef
00822 XimFrameRec im_forward_event_keyevent_fr[] = {
00823     _FRAME(BIT16),          /* input-method-ID */
00824     _FRAME(BIT16),          /* input-context-ID */
00825     _FRAME(BIT32),          /* type = #2 : KEYEVENT */ 
00826     _BYTE_COUNTER(BIT32, 1),       /* byte length of list of keyevents */
00827     _FRAME(ITER),
00828     _FRAME(POINTER),
00829     _PTR(keyevent_fr),
00830     _FRAME(EOL),
00831 };
00832 
00833 xim_externaldef
00834 XimFrameRec im_forward_event_reply_fr[] = {
00835     _FRAME(BIT16),          /* input-method-ID */
00836     _FRAME(BIT16),          /* input-context-ID */
00837     _FRAME(EOL),
00838 };
00839 
00840 xim_externaldef
00841 XimFrameRec im_commit_string_fr[] = {
00842     _FRAME(BIT16),          /* input-method-ID */
00843     _FRAME(BIT16),          /* input-context-ID */
00844     _FRAME(BIT32),          /* type = #1 : TEXT */ 
00845     _FRAME(EOL),
00846 };
00847 
00848 xim_externaldef
00849 XimFrameRec im_commit_string_string_fr[] = {
00850     _FRAME(BIT16),          /* input-method-ID */
00851     _FRAME(BIT16),          /* input-context-ID */
00852     _FRAME(BIT32),          /* type = #0 : STRING */ 
00853     _FRAME(POINTER),
00854     _PTR(string_fr),
00855     _FRAME(EOL),
00856 };
00857 
00858 #if 0
00859 xim_externaldef
00860 XimFrameRec im_commit_string_text_fr[] = {
00861     _FRAME(BIT16),          /* input-method-ID */
00862     _FRAME(BIT16),          /* input-context-ID */
00863     _FRAME(BIT32),          /* type = #1 : TEXT */ 
00864     _FRAME(POINTER),
00865     _PTR(text_fr),
00866     _FRAME(EOL),
00867 };
00868 #endif
00869 
00870 xim_externaldef
00871 XimFrameRec im_aux_start_fr[] = {
00872     _FRAME(BIT16),          /* input-method-ID */
00873     _FRAME(BIT16),          /* input-context-ID */
00874     _FRAME(BIT32),          /* aux window class INDEX */
00875     _FRAME(POINTER),
00876     _PTR(string_fr),
00877     _FRAME(EOL),
00878 };
00879 
00880 xim_externaldef
00881 XimFrameRec im_aux_start_reply_fr[] = {
00882     _FRAME(BIT16),          /* input-method-ID */
00883     _FRAME(BIT16),          /* input-context-ID */
00884     _FRAME(BIT32),          /* aux window class INDEX */
00885     _FRAME(POINTER),
00886     _PTR(string_fr),
00887     _FRAME(EOL),
00888 };
00889 
00890 xim_externaldef
00891 XimFrameRec im_aux_draw_fr[] = {
00892     _FRAME(BIT16),          /* input-method-ID */
00893     _FRAME(BIT16),          /* input-context-ID */
00894     _FRAME(BIT32),          /* aux window class INDEX */
00895     _FRAME(POINTER),
00896     _PTR(string_fr),
00897     _BYTE_COUNTER(BIT32, 1),       /* byte length of integer value list */
00898     _FRAME(ITER),           /* integer value list */
00899     _FRAME(BIT32),
00900     _BYTE_COUNTER(BIT32, 1),       /* byte length of string value list */
00901     _FRAME(ITER),           /* integer value list */
00902     _FRAME(POINTER),
00903     _PTR(string_fr),
00904     _FRAME(EOL),
00905 };
00906 
00907 xim_externaldef
00908 XimFrameRec im_aux_draw_reply_fr[] = {
00909     _FRAME(BIT16),          /* input-method-ID */
00910     _FRAME(BIT16),          /* input-context-ID */
00911     _FRAME(BIT32),          /* aux window class INDEX */
00912     _FRAME(POINTER),
00913     _PTR(string_fr),
00914     _FRAME(EOL),
00915 };
00916 
00917 xim_externaldef
00918 XimFrameRec im_aux_done_fr[] = {
00919     _FRAME(BIT16),          /* input-method-ID */
00920     _FRAME(BIT16),          /* input-context-ID */
00921     _FRAME(BIT32),          /* aux window class INDEX */
00922     _FRAME(POINTER),
00923     _PTR(string_fr),
00924     _FRAME(EOL),
00925 };
00926 
00927 xim_externaldef
00928 XimFrameRec im_aux_done_reply_fr[] = {
00929     _FRAME(BIT16),          /* input-method-ID */
00930     _FRAME(BIT16),          /* input-context-ID */
00931     _FRAME(BIT32),          /* aux window class INDEX */
00932     _FRAME(POINTER),
00933     _PTR(string_fr),
00934     _FRAME(EOL),
00935 };
00936 
00937 xim_externaldef
00938 XimFrameRec im_aux_setvalues_fr[] = {
00939     _FRAME(BIT16),          /* input-method-ID */
00940     _FRAME(BIT16),          /* input-context-ID */
00941     _FRAME(BIT32),          /* aux window class INDEX */
00942     _FRAME(POINTER),
00943     _PTR(string_fr),
00944     _BYTE_COUNTER(BIT32, 1),       /* byte length of integer value list */
00945     _FRAME(ITER),           /* integer value list */
00946     _FRAME(BIT32),
00947     _BYTE_COUNTER(BIT32, 1),       /* byte length of string value list */
00948     _FRAME(ITER),           /* integer value list */
00949     _FRAME(POINTER),
00950     _PTR(string_fr),
00951     _FRAME(EOL),
00952 };
00953 
00954 xim_externaldef
00955 XimFrameRec im_aux_setvalues_reply_fr[] = {
00956     _FRAME(BIT16),          /* input-method-ID */
00957     _FRAME(BIT16),          /* input-context-ID */
00958     _FRAME(BIT32),          /* aux window class INDEX */
00959     _FRAME(POINTER),
00960     _PTR(string_fr),
00961     _FRAME(EOL),
00962 };