Back to index

im-sdk  12.3.91
iiimp-dataP.h
Go to the documentation of this file.
00001 #if !defined(IIIMP_DATA_P_H)
00002 #define IIIMP_DATA_P_H
00003 
00004 
00005 #include <stdio.h>
00006 #include <sys/types.h>
00007 
00008 #ifdef HAVE_STDINT_H
00009 #include <stdint.h>
00010 #endif
00011 
00012 #include <iiimp-data.h>
00013 
00014 
00015 #ifdef __cplusplus
00016 extern "C" {
00017 #endif
00018 
00019 
00020 #if defined(_BIG_ENDIAN) || defined(WORDS_BIGENDIAN)
00021 
00022 #define       GET_SCOPE_FOR_HOTKEY(n, p, b) \
00023                                    if (0 == (b)) { \
00024                                      if ((*((uchar_t *)(p + 0)) & 0x80)) \
00025                                        (n) = 1; \
00026                                      else \
00027                                        (n) = 0; \
00028                                    } else { \
00029                                      if ((*((uchar_t *)(p + 1)) & 0x80)) \
00030                                        (n) = 1; \
00031                                      else \
00032                                        (n) = 0; \
00033                                    };
00034 
00035 #define       GETU15(n, p, b)      ((n) = ((0 == (b)) ? \
00036                                     (((*((uchar_t *)(p + 0))) << 8) + \
00037                                      (((*((uchar_t *)(p + 1))) & 0x7F) << 0)) : \
00038                                     ((((*((uchar_t *)(p + 0))) & 0x7F) << 0) + \
00039                                      ((*((uchar_t *)(p + 1))) << 8))))
00040 
00041 #define       GETU16(n, r, p, b)   (((n) = ((0 == (b)) ? \
00042                                     (((*((uchar_t *)(p + 0))) << 8) + \
00043                                      ((*((uchar_t *)(p + 1))) << 0)) : \
00044                                     (((*((uchar_t *)(p + 0))) << 0) + \
00045                                      ((*((uchar_t *)(p + 1))) << 8)))), \
00046                              ((p) += 2), \
00047                              ((r) -= 2))
00048 
00049 #define       GETU32(n, r, p, b)   (((n) = ((0 == (b)) ? \
00050                                     (((*((uchar_t *)(p + 0))) << 24) + \
00051                                      ((*((uchar_t *)(p + 1))) << 16) + \
00052                                      ((*((uchar_t *)(p + 2))) << 8) + \
00053                                      ((*((uchar_t *)(p + 3))) << 0)) : \
00054                                     (((*((uchar_t *)(p + 0))) << 0) + \
00055                                      ((*((uchar_t *)(p + 1))) << 8) + \
00056                                      ((*((uchar_t *)(p + 2))) << 16) + \
00057                                      ((*((uchar_t *)(p + 3))) << 24)))), \
00058                              ((p) += 4), \
00059                              ((r) -= 4))
00060 
00061 #define       GETU64(n, r, p, b)   (((n) = ((0 == (b)) ? \
00062                                     (((uint64_t)(*((uchar_t *)(p + 0))) << 56) + \
00063                                      ((uint64_t)(*((uchar_t *)(p + 1))) << 48) + \
00064                                      ((uint64_t)(*((uchar_t *)(p + 2))) << 40) + \
00065                                      ((uint64_t)(*((uchar_t *)(p + 3))) << 32) + \
00066                                      ((uint64_t)(*((uchar_t *)(p + 4))) << 24) + \
00067                                      ((uint64_t)(*((uchar_t *)(p + 5))) << 16) + \
00068                                      ((uint64_t)(*((uchar_t *)(p + 6))) << 8)  + \
00069                                      ((uint64_t)(*((uchar_t *)(p + 7))) << 0)) : \
00070                                     (((uint64_t)(*((uchar_t *)(p + 0))) << 0) + \
00071                                      ((uint64_t)(*((uchar_t *)(p + 1))) << 8) + \
00072                                      ((uint64_t)(*((uchar_t *)(p + 2))) << 16) + \
00073                                      ((uint64_t)(*((uchar_t *)(p + 3))) << 24) + \
00074                                      ((uint64_t)(*((uchar_t *)(p + 4))) << 32) + \
00075                                      ((uint64_t)(*((uchar_t *)(p + 5))) << 40) + \
00076                                      ((uint64_t)(*((uchar_t *)(p + 6))) << 48) + \
00077                                      ((uint64_t)(*((uchar_t *)(p + 7))) << 56)))), \
00078                              ((p) += 8), \
00079                              ((r) -= 8))
00080 
00081 #define       GET16(n, r, p, b) \
00082                      (((n) = ((0 == (b)) ? \
00083                              (int16_t)(((*((uchar_t *)(p + 0))) << 8) + \
00084                                       ((*((uchar_t *)(p + 1))) << 0)) : \
00085                              (int16_t)(((*((uchar_t *)(p + 0))) << 0) + \
00086                                       ((*((uchar_t *)(p + 1))) << 8)))), \
00087                       ((p) += 2), \
00088                       ((r) -= 2))
00089 
00090 #define       GET32(n, r, p, b) \
00091                      (((n) = ((0 == (b)) ? \
00092                             ((int32_t)(((*((uchar_t *)(p + 0))) << 24) + \
00093                                       ((*((uchar_t *)(p + 1))) << 16) + \
00094                                       ((*((uchar_t *)(p + 2))) << 8) + \
00095                                       ((*((uchar_t *)(p + 3))) << 0))) : \
00096                             ((int32_t)(((*((uchar_t *)(p + 0))) << 0) + \
00097                                       ((*((uchar_t *)(p + 1))) << 8) + \
00098                                       ((*((uchar_t *)(p + 2))) << 16) + \
00099                                       ((*((uchar_t *)(p + 3))) << 24))))), \
00100                       ((p) += 4), \
00101                       ((r) -= 4))
00102 
00103 #define       PUTU16(n, r, p, b) \
00104                      if (0 == (b)) { \
00105                             (*((p) + 0)) = (((n) & 0xff00) >> 8); \
00106                             (*((p) + 1)) = (((n) & 0x00ff) >> 0); \
00107                      } else { \
00108                             (*((p) + 0)) = (((n) & 0x00ff) >> 0); \
00109                             (*((p) + 1)) = (((n) & 0xff00) >> 8); \
00110                      }; \
00111                      ((p) += 2); \
00112                      ((r) -= 2)
00113 
00114 #define       PUTU32(n, r, p, b) \
00115                      if (0 == (b)) { \
00116                             (*((p) + 0)) = (((n) & 0xff000000) >> 24); \
00117                             (*((p) + 1)) = (((n) & 0x00ff0000) >> 16); \
00118                             (*((p) + 2)) = (((n) & 0x0000ff00) >> 8); \
00119                             (*((p) + 3)) = (((n) & 0x000000ff) >> 0); \
00120                      } else { \
00121                             (*((p) + 0)) = (((n) & 0x000000ff) >> 0); \
00122                             (*((p) + 1)) = (((n) & 0x0000ff00) >> 8); \
00123                             (*((p) + 2)) = (((n) & 0x00ff0000) >> 16); \
00124                             (*((p) + 3)) = (((n) & 0xff000000) >> 24); \
00125                      }; \
00126                      ((p) += 4); \
00127                      ((r) -= 4)
00128 
00129 #define       PUTU64(n, r, p, b) \
00130                      if (0 == (b)) { \
00131                             (*((p) + 0)) = (((n) & 0xff00000000000000ULL) >> 56); \
00132                             (*((p) + 1)) = (((n) & 0x00ff000000000000ULL) >> 48); \
00133                             (*((p) + 2)) = (((n) & 0x0000ff0000000000ULL) >> 40); \
00134                             (*((p) + 3)) = (((n) & 0x000000ff00000000ULL) >> 32); \
00135                             (*((p) + 4)) = (((n) & 0x00000000ff000000ULL) >> 24); \
00136                             (*((p) + 5)) = (((n) & 0x0000000000ff0000ULL) >> 16); \
00137                             (*((p) + 6)) = (((n) & 0x000000000000ff00ULL) >> 8); \
00138                             (*((p) + 7)) = (((n) & 0x00000000000000ffULL) >> 0); \
00139                      } else { \
00140                             (*((p) + 0)) = (((n) & 0x00000000000000ffULL) >> 0); \
00141                             (*((p) + 1)) = (((n) & 0x000000000000ff00ULL) >> 8); \
00142                             (*((p) + 2)) = (((n) & 0x0000000000ff0000ULL) >> 16); \
00143                             (*((p) + 3)) = (((n) & 0x00000000ff000000ULL) >> 24); \
00144                             (*((p) + 4)) = (((n) & 0x000000ff00000000ULL) >> 32); \
00145                             (*((p) + 5)) = (((n) & 0x0000ff0000000000ULL) >> 40); \
00146                             (*((p) + 6)) = (((n) & 0x00ff000000000000ULL) >> 48); \
00147                             (*((p) + 7)) = (((n) & 0xff00000000000000ULL) >> 56); \
00148                      }; \
00149                      ((p) += 8); \
00150                      ((r) -= 8)
00151 
00152 #define       PUT16(n, r, p, b) \
00153                      if (0 == (b)) { \
00154                             (*((p) + 0)) = (((n) & 0xff00) >> 8); \
00155                             (*((p) + 1)) = (((n) & 0x00ff) >> 0); \
00156                      } else { \
00157                             (*((p) + 0)) = (((n) & 0x00ff) >> 0); \
00158                             (*((p) + 1)) = (((n) & 0xff00) >> 8); \
00159                      }; \
00160                      ((p) += 2); \
00161                      ((r) -= 2)
00162 
00163 #define       PUT32(n, r, p, b) \
00164                      if (0 == (b)) { \
00165                             (*((p) + 0)) = (((n) & 0xff000000) >> 24); \
00166                             (*((p) + 1)) = (((n) & 0x00ff0000) >> 16); \
00167                             (*((p) + 2)) = (((n) & 0x0000ff00) >> 8); \
00168                             (*((p) + 3)) = (((n) & 0x000000ff) >> 0); \
00169                      } else { \
00170                             (*((p) + 0)) = (((n) & 0x000000ff) >> 0); \
00171                             (*((p) + 1)) = (((n) & 0x0000ff00) >> 8); \
00172                             (*((p) + 2)) = (((n) & 0x00ff0000) >> 16); \
00173                             (*((p) + 3)) = (((n) & 0xff000000) >> 24); \
00174                      }; \
00175                      ((p) += 4); \
00176                      ((r) -= 4)
00177 
00178 #else /* !(_BIG_ENDIAN || WORDS_BIGENDIAN) */
00179 
00180 #define       GET_SCOPE_FOR_HOTKEY(n, p, b) \
00181                                    if (0 == (b)) { \
00182                                      if ((*((uchar_t *)(p + 1)) & 0x80)) \
00183                                        (n) = 1; \
00184                                      else \
00185                                        (n) = 0; \
00186                                    } else { \
00187                                      if ((*((uchar_t *)(p + 0)) & 0x80)) \
00188                                        (n) = 1; \
00189                                      else \
00190                                        (n) = 0; \
00191                                    };
00192 
00193 #define       GETU15(n, p, b)      ((n) = ((0 == (b)) ? \
00194                                     (((*((uchar_t *)(p + 0))) << 0) + \
00195                                      (((*((uchar_t *)(p + 1))) & 0x7F) << 8)) : \
00196                                     ((((*((uchar_t *)(p + 0))) & 0x7F) << 8) + \
00197                                      ((*((uchar_t *)(p + 1))) << 0))))
00198 
00199 #define       GETU16(n, r, p, b)   (((n) = ((0 == (b)) ? \
00200                                     (((*((uchar_t *)(p + 0))) << 0) + \
00201                                      ((*((uchar_t *)(p + 1))) << 8)) : \
00202                                     (((*((uchar_t *)(p + 0))) << 8) + \
00203                                      ((*((uchar_t *)(p + 1))) << 0)))), \
00204                              ((p) += 2), \
00205                              ((r) -= 2))
00206 
00207 #define       GETU32(n, r, p, b)   (((n) = ((0 == (b)) ? \
00208                                     (((*((uchar_t *)(p + 0))) << 0) + \
00209                                      ((*((uchar_t *)(p + 1))) << 8) + \
00210                                      ((*((uchar_t *)(p + 2))) << 16) + \
00211                                      ((*((uchar_t *)(p + 3))) << 24)) : \
00212                                     (((*((uchar_t *)(p + 0))) << 24) + \
00213                                      ((*((uchar_t *)(p + 1))) << 16) + \
00214                                      ((*((uchar_t *)(p + 2))) << 8) + \
00215                                      ((*((uchar_t *)(p + 3))) << 0)))), \
00216                              ((p) += 4), \
00217                              ((r) -= 4))
00218 
00219 #define       GETU64(n, r, p, b)   (((n) = ((0 == (b)) ? \
00220                                     (((uint64_t)(*((uchar_t *)(p + 0))) << 0) + \
00221                                      ((uint64_t)(*((uchar_t *)(p + 1))) << 8) + \
00222                                      ((uint64_t)(*((uchar_t *)(p + 2))) << 16) + \
00223                                      ((uint64_t)(*((uchar_t *)(p + 3))) << 24) + \
00224                                      ((uint64_t)(*((uchar_t *)(p + 4))) << 32) + \
00225                                      ((uint64_t)(*((uchar_t *)(p + 5))) << 40) + \
00226                                      ((uint64_t)(*((uchar_t *)(p + 6))) << 48) + \
00227                                      ((uint64_t)(*((uchar_t *)(p + 7))) << 56)) : \
00228                                     (((uint64_t)(*((uchar_t *)(p + 0))) << 56) + \
00229                                      ((uint64_t)(*((uchar_t *)(p + 1))) << 48) + \
00230                                      ((uint64_t)(*((uchar_t *)(p + 2))) << 40) + \
00231                                      ((uint64_t)(*((uchar_t *)(p + 3))) << 32) + \
00232                                      ((uint64_t)(*((uchar_t *)(p + 4))) << 24) + \
00233                                      ((uint64_t)(*((uchar_t *)(p + 5))) << 16) + \
00234                                      ((uint64_t)(*((uchar_t *)(p + 6))) << 8) + \
00235                                      ((uint64_t)(*((uchar_t *)(p + 7))) << 0)))), \
00236                              ((p) += 8), \
00237                              ((r) -= 8))
00238 
00239 #define       GET16(n, r, p, b) \
00240                      (((n) = ((0 == (b)) ? \
00241                              (int16_t)(((*((uchar_t *)(p + 0))) << 0) + \
00242                                       ((*((uchar_t *)(p + 1))) << 8)) : \
00243                              (int16_t)(((*((uchar_t *)(p + 0))) << 8) + \
00244                                       ((*((uchar_t *)(p + 1))) << 0)))), \
00245                       ((p) += 2), \
00246                       ((r) -= 2))
00247 
00248 #define       GET32(n, r, p, b) \
00249                      (((n) = ((0 == (b)) ? \
00250                              ((int32_t)(((*((uchar_t *)(p + 0))) << 0) + \
00251                                        ((*((uchar_t *)(p + 1))) << 8) + \
00252                                        ((*((uchar_t *)(p + 2))) << 16) + \
00253                                        ((*((uchar_t *)(p + 3))) << 24))) : \
00254                              ((int32_t)(((*((uchar_t *)(p + 0))) << 24) + \
00255                                        ((*((uchar_t *)(p + 1))) << 16) + \
00256                                        ((*((uchar_t *)(p + 2))) << 8) + \
00257                                        ((*((uchar_t *)(p + 3))) << 0))))), \
00258                       ((p) += 4), \
00259                       ((r) -= 4))
00260 
00261 #define       PUTU16(n, r, p, b) \
00262                      if (0 == (b)) { \
00263                             (*((p) + 0)) = (((n) & 0x00ff) >> 0); \
00264                             (*((p) + 1)) = (((n) & 0xff00) >> 8); \
00265                      } else { \
00266                             (*((p) + 0)) = (((n) & 0xff00) >> 8); \
00267                             (*((p) + 1)) = (((n) & 0x00ff) >> 0); \
00268                      }; \
00269                      ((p) += 2); \
00270                      ((r) -= 2)
00271 
00272 #define       PUTU32(n, r, p, b) \
00273                      if (0 == (b)) { \
00274                             (*((p) + 0)) = (((n) & 0x000000ff) >> 0); \
00275                             (*((p) + 1)) = (((n) & 0x0000ff00) >> 8); \
00276                             (*((p) + 2)) = (((n) & 0x00ff0000) >> 16); \
00277                             (*((p) + 3)) = (((n) & 0xff000000) >> 24); \
00278                      } else { \
00279                             (*((p) + 0)) = (((n) & 0xff000000) >> 24); \
00280                             (*((p) + 1)) = (((n) & 0x00ff0000) >> 16); \
00281                             (*((p) + 2)) = (((n) & 0x0000ff00) >> 8); \
00282                             (*((p) + 3)) = (((n) & 0x000000ff) >> 0); \
00283                      }; \
00284                      ((p) += 4); \
00285                      ((r) -= 4)
00286 
00287 #define       PUTU64(n, r, p, b) \
00288                      if (0 == (b)) { \
00289                             (*((p) + 0)) = (((n) & 0x00000000000000ffULL) >> 0); \
00290                             (*((p) + 1)) = (((n) & 0x000000000000ff00ULL) >> 8); \
00291                             (*((p) + 2)) = (((n) & 0x0000000000ff0000ULL) >> 16); \
00292                             (*((p) + 3)) = (((n) & 0x00000000ff000000ULL) >> 24); \
00293                             (*((p) + 4)) = (((n) & 0x000000ff00000000ULL) >> 32); \
00294                             (*((p) + 5)) = (((n) & 0x0000ff0000000000ULL) >> 40); \
00295                             (*((p) + 6)) = (((n) & 0x00ff000000000000ULL) >> 48); \
00296                             (*((p) + 7)) = (((n) & 0xff00000000000000ULL) >> 56); \
00297                      } else { \
00298                             (*((p) + 0)) = (((n) & 0xff00000000000000ULL) >> 56); \
00299                             (*((p) + 1)) = (((n) & 0x00ff000000000000ULL) >> 48); \
00300                             (*((p) + 2)) = (((n) & 0x0000ff0000000000ULL) >> 40); \
00301                             (*((p) + 3)) = (((n) & 0x000000ff00000000ULL) >> 32); \
00302                             (*((p) + 4)) = (((n) & 0x00000000ff000000ULL) >> 24); \
00303                             (*((p) + 5)) = (((n) & 0x0000000000ff0000ULL) >> 16); \
00304                             (*((p) + 6)) = (((n) & 0x000000000000ff00ULL) >> 8); \
00305                             (*((p) + 7)) = (((n) & 0x00000000000000ffULL) >> 0); \
00306                      }; \
00307                      ((p) += 8); \
00308                      ((r) -= 8)
00309 
00310 #define       PUT16(n, r, p, b) \
00311                      if (0 == (b)) { \
00312                             (*((p) + 0)) = (((n) & 0x00ff) >> 0); \
00313                             (*((p) + 1)) = (((n) & 0xff00) >> 8); \
00314                      } else { \
00315                             (*((p) + 0)) = (((n) & 0xff00) >> 8); \
00316                             (*((p) + 1)) = (((n) & 0x00ff) >> 0); \
00317                      }; \
00318                      ((p) += 2); \
00319                      ((r) -= 2)
00320 
00321 #define       PUT32(n, r, p, b) \
00322                      if (0 == (b)) { \
00323                             (*((p) + 0)) = (((n) & 0x000000ff) >> 0); \
00324                             (*((p) + 1)) = (((n) & 0x0000ff00) >> 8); \
00325                             (*((p) + 2)) = (((n) & 0x00ff0000) >> 16); \
00326                             (*((p) + 3)) = (((n) & 0xff000000) >> 24); \
00327                      } else { \
00328                             (*((p) + 0)) = (((n) & 0xff000000) >> 24); \
00329                             (*((p) + 1)) = (((n) & 0x00ff0000) >> 16); \
00330                             (*((p) + 2)) = (((n) & 0x0000ff00) >> 8); \
00331                             (*((p) + 3)) = (((n) & 0x000000ff) >> 0); \
00332                      }; \
00333                      ((p) += 4); \
00334                      ((r) -= 4)
00335 
00336 #endif /* !(_BIG_ENDIAN || WORDS_BIGENDIAN) */
00337 
00338 #define       GETU8(n, r, p, b)    (((n) = (*((uint8_t *)(p)))),  ((p) += 1), ((r) -= 1))
00339 #define       GET8(n, r, p, b)     (((n) = (*((int8_t *)(p)))),   ((p) += 1), ((r) -= 1))
00340 
00341 #define       PUTU8(n, r, p, b)    (((*p) = (n)),  ((p) += 1), ((r) -= 1))
00342 #define       PUT8(n, r, p, b)     (((*p) = (n)),   ((p) += 1), ((r) -= 1))
00343 
00344 #define       SKIP8(r, p)          (((p) += 1), ((r) -= 1))
00345 #define       SKIP16(r, p)         (((p) += 2), ((r) -= 2))
00346 #define       SKIP32(r, p)         (((p) += 4), ((r) -= 4))
00347 
00348 
00349 #define PUT_PACKET_HEADER(ptr, opcode, length) \
00350        (*((ptr) + 0) = (((opcode) & 0x7f)), \
00351         *((ptr) + 1) = (((length) & 0x00ff0000) >> 16), \
00352         *((ptr) + 2) = (((length) & 0x0000ff00) >> 8), \
00353         *((ptr) + 3) = (((length) & 0x000000ff) >> 0))
00354 
00355 
00356 #define STRING_PAD(len)            ((2 + (len)) % 4)
00357 #define STRING_OBJECT_SIZE(len)    (2 + (len) + (STRING_PAD((len))))
00358 #define PAD2(n)                    ((n) & 0x02)
00359 #define PAD(n)                     ((4 - ((n) & 0x03)) & 0x03)
00360 
00361 #define REQUIRE_PROTOCOL_VERSION(data_s, v) \
00362 do { \
00363     if ((v) > (data_s)->protocol_version) { \
00364        (data_s)->status = IIIMP_DATA_PROTOCOL_VERSION_ERROR; \
00365        return NULL; \
00366     } \
00367 } while(0)
00368 
00369 
00370 #define KEY_EVENT_OBJECT_SIZE      (4 * 4)
00371 
00372 
00373 typedef struct iiimp_attribute_id {
00374     int                            id_predefined;
00375     int                            id_dynamic;
00376     struct iiimp_attribute_id *    next;
00377 } IIIMP_attribute_id;
00378 
00379 
00380 struct iiimp_data_s {
00381     int                            byte_swap;
00382     IIIMP_attribute_id *    attribute_id;
00383     int                            status;
00384     FILE *                  print_fp;
00385     uint_t                  print_flag;
00386     int                            protocol_version;
00387     IIIMP_card32_list *            capability;
00388 };
00389 
00390 
00391 /* prototype of composite data unpack function */
00392 
00393 #define IIIMP_dal \
00394        IIIMP_data_s *              data_s, \
00395        size_t *             nbyte, \
00396        const uchar_t **     ptr, \
00397        size_t               byte_length
00398 
00399 IIIMP_card16_list *         iiimp_card16_list_unpack(IIIMP_dal);
00400 IIIMP_card32_list *         iiimp_card32_list_unpack(IIIMP_dal);
00401 IIIMP_keyevent_list *              iiimp_keyevent_list_unpack(IIIMP_dal);
00402 HOTKEY_LIST *               iiimp_hotkey_list_unpack(IIIMP_dal);
00403 IIIMP_string *                     iiimp_string_unpack(IIIMP_dal);
00404 IIIMP_string *                     iiimp_string_list_unpack(IIIMP_dal);
00405 IIIMP_utf8string *          iiimp_utf8string_unpack(IIIMP_dal);
00406 IIIMP_utf8string *          iiimp_utf8string_list_unpack(IIIMP_dal);
00407 IIIMP_feedback_attr_list *  iiimp_feedback_attr_list_unpack(IIIMP_dal);
00408 IIIMP_char_with_feedback *  iiimp_char_with_feedback_unpack(IIIMP_dal);
00409 IIIMP_char_with_feedback *  iiimp_char_with_feedback_list_unpack(IIIMP_dal);
00410 IIIMP_operation *           iiimp_operation_unpack(IIIMP_dal);
00411 IIIMP_operation *           iiimp_operation_list_unpack(IIIMP_dal);
00412 IIIMP_annotation_value *    iiimp_annotation_text_unpack(IIIMP_dal);
00413 IIIMP_annotation_value *    iiimp_annotation_string_unpack(IIIMP_dal);
00414 IIIMP_annotation *          iiimp_annotation_unpack(IIIMP_dal);
00415 IIIMP_text *                iiimp_text_unpack(IIIMP_dal);
00416 IIIMP_text *                iiimp_text_list_unpack(IIIMP_dal);
00417 IIIMP_client_descriptor *   iiimp_client_descriptor_unpack(IIIMP_dal);
00418 IIIMP_object_descriptor *   iiimp_object_descriptor_unpack(IIIMP_dal);
00419 IIIMP_object_descriptor *   iiimp_object_descriptor_list_unpack(IIIMP_dal);
00420 IIIMP_ccdef *               iiimp_ccdef_unpack(IIIMP_dal);
00421 IIIMP_language *            iiimp_language_unpack(IIIMP_dal);
00422 IIIMP_language *            iiimp_language_list_unpack(IIIMP_dal);
00423 IIIMP_imeinfo *                    iiimp_imeinfo_unpack(IIIMP_dal); 
00424 IIIMP_imeinfo *                    iiimp_imeinfo_list_unpack(IIIMP_dal);
00425 IIIMP_jarfile_object *             iiimp_jarfile_object_unpack(IIIMP_dal);
00426 IIIMP_inputmethod_descriptor *     iiimp_inputmethod_descriptor_unpack(IIIMP_dal);
00427 IIIMP_inputmethod_descriptor *     iiimp_inputmethod_descriptor_list_unpack(IIIMP_dal);
00428 IIIMP_binaryfile_object *   iiimp_binaryfile_object_unpack(IIIMP_dal);
00429 IIIMP_imattribute *         iiimp_imattribute_unpack(IIIMP_dal);
00430 IIIMP_imattribute *         iiimp_imattribute_list_unpack(IIIMP_dal);
00431 IIIMP_icattribute *         iiimp_icattribute_unpack(IIIMP_dal);
00432 IIIMP_icattribute *         iiimp_icattribute_list_unpack(IIIMP_dal);
00433 IIIMP_contents *            iiimp_contents_unpack(IIIMP_dal);
00434 IIIMP_open *                iiimp_open_unpack(IIIMP_dal);
00435 IIIMP_open_reply *          iiimp_open_reply_unpack(IIIMP_dal);
00436 IIIMP_close *               iiimp_close_unpack(IIIMP_dal);
00437 IIIMP_close_reply *         iiimp_close_reply_unpack(IIIMP_dal);
00438 IIIMP_read *                iiimp_read_unpack(IIIMP_dal);
00439 IIIMP_read_reply *          iiimp_read_reply_unpack(IIIMP_dal);
00440 IIIMP_write *               iiimp_write_unpack(IIIMP_dal);
00441 IIIMP_write_reply *         iiimp_write_reply_unpack(IIIMP_dal);
00442 IIIMP_opendir *             iiimp_opendir_unpack(IIIMP_dal);
00443 IIIMP_opendir_reply *              iiimp_opendir_reply_unpack(IIIMP_dal);
00444 IIIMP_closedir_reply *             iiimp_closedir_reply_unpack(IIIMP_dal);
00445 IIIMP_closedir *            iiimp_closedir_unpack(IIIMP_dal);
00446 IIIMP_closedir_reply *             iiimp_closedir_reply_unpack(IIIMP_dal);
00447 IIIMP_seek *                iiimp_seek_unpack(IIIMP_dal);
00448 IIIMP_seek_reply *          iiimp_seek_reply_unpack(IIIMP_dal);
00449 IIIMP_mkdir *               iiimp_mkdir_unpack(IIIMP_dal);
00450 IIIMP_mkdir_reply *         iiimp_mkdir_reply_unpack(IIIMP_dal);
00451 IIIMP_rmdir *               iiimp_rmdir_unpack(IIIMP_dal);
00452 IIIMP_rmdir_reply *         iiimp_rmdir_reply_unpack(IIIMP_dal);
00453 IIIMP_symlink *             iiimp_symlink_unpack(IIIMP_dal);
00454 IIIMP_symlink_reply *              iiimp_symlink_reply_unpack(IIIMP_dal);
00455 IIIMP_stat *                iiimp_stat_unpack(IIIMP_dal);
00456 IIIMP_stat_reply *          iiimp_stat_reply_unpack(IIIMP_dal);
00457 IIIMP_lstat *               iiimp_lstat_unpack(IIIMP_dal);
00458 IIIMP_lstat_reply *         iiimp_lstat_reply_unpack(IIIMP_dal);
00459 IIIMP_fstat *               iiimp_fstat_unpack(IIIMP_dal);
00460 IIIMP_fstat_reply *         iiimp_fstat_reply_unpack(IIIMP_dal);
00461 IIIMP_creat *               iiimp_creat_unpack(IIIMP_dal);
00462 IIIMP_creat_reply *         iiimp_creat_reply_unpack(IIIMP_dal);
00463 IIIMP_lseek *               iiimp_lseek_unpack(IIIMP_dal);
00464 IIIMP_lseek_reply *         iiimp_lseek_reply_unpack(IIIMP_dal);
00465 IIIMP_unlink *                     iiimp_unlink_unpack(IIIMP_dal);
00466 IIIMP_unlink_reply *        iiimp_unlink_reply_unpack(IIIMP_dal);
00467 IIIMP_rename *                     iiimp_rename_unpack(IIIMP_dal);
00468 IIIMP_rename_reply *        iiimp_rename_reply_unpack(IIIMP_dal);
00469 IIIMP_fcntl *               iiimp_fcntl_unpack(IIIMP_dal);
00470 IIIMP_fcntl_reply *         iiimp_fcntl_reply_unpack(IIIMP_dal);
00471 IIIMP_truncate *            iiimp_truncate_unpack(IIIMP_dal);
00472 IIIMP_truncate_reply *             iiimp_truncate_reply_unpack(IIIMP_dal);
00473 IIIMP_ftruncate *           iiimp_ftruncate_unpack(IIIMP_dal);
00474 IIIMP_ftruncate_reply *     iiimp_ftruncate_reply_unpack(IIIMP_dal);
00475 
00476 #undef IIIMP_dal
00477 
00478 
00479 /* prototype of composite data pack function */
00480 
00481 extern void   iiimp_card16_list_pack(
00482     IIIMP_data_s *          data_s,
00483     IIIMP_card16_list *     m,
00484     size_t *         nbyte,
00485     uchar_t **              ptr);
00486 
00487 extern void   iiimp_card32_list_pack(
00488     IIIMP_data_s *          data_s,
00489     IIIMP_card32_list *     m,
00490     size_t *         nbyte,
00491     uchar_t **              ptr);
00492 
00493 extern void   iiimp_string_pack(
00494     IIIMP_data_s *          data_s,
00495     IIIMP_string *          m,
00496     size_t *         nbyte,
00497     uchar_t **              ptr);
00498 
00499 extern void   iiimp_string_list_pack(
00500     IIIMP_data_s *          data_s,
00501     IIIMP_string *          m,
00502     size_t *         nbyte,
00503     uchar_t **              ptr);
00504 
00505 extern void   iiimp_utf8string_pack(
00506     IIIMP_data_s *          data_s,
00507     IIIMP_utf8string *             m,
00508     size_t *         nbyte,
00509     uchar_t **              ptr);
00510 
00511 extern void   iiimp_utf8string_list_pack(
00512     IIIMP_data_s *          data_s,
00513     IIIMP_utf8string *             m,
00514     size_t *         nbyte,
00515     uchar_t **              ptr);
00516 
00517 extern void   iiimp_feedback_attr_list_pack(
00518     IIIMP_data_s *                 data_s,
00519     IIIMP_feedback_attr_list *     m,
00520     size_t *                nbyte,
00521     uchar_t **                     ptr);
00522 
00523 extern void   iiimp_char_with_feedback_pack(
00524     IIIMP_data_s *                 data_s,
00525     IIIMP_char_with_feedback *     m,
00526     size_t *                nbyte,
00527     uchar_t **                     ptr);
00528 
00529 extern void   iiimp_char_with_feedback_list_pack(
00530     IIIMP_data_s *                 data_s,
00531     IIIMP_char_with_feedback *     m,
00532     size_t *                nbyte,
00533     uchar_t **                     ptr);
00534 
00535 extern void   iiimp_operation_pack(
00536     IIIMP_data_s *          data_s,
00537     IIIMP_operation *       m,
00538     size_t *         nbyte,
00539     uchar_t **              ptr);
00540 
00541 extern void   iiimp_operation_list_pack(
00542     IIIMP_data_s *          data_s,
00543     IIIMP_operation *       m,
00544     size_t *         nbyte,
00545     uchar_t **              ptr);
00546 
00547 extern void   iiimp_annotation_text_pack(
00548     IIIMP_data_s *                 data_s,
00549     IIIMP_annotation_value *       m,
00550     size_t *                nbyte,
00551     uchar_t **                     ptr);
00552 
00553 extern void   iiimp_annotation_string_pack(
00554     IIIMP_data_s *                 data_s,
00555     IIIMP_annotation_value *       m,
00556     size_t *                nbyte,
00557     uchar_t **                     ptr);
00558 
00559 extern void   iiimp_annotation_pack(
00560     IIIMP_data_s *          data_s,
00561     IIIMP_annotation *      m,
00562     size_t *         nbyte,
00563     uchar_t **              ptr);
00564 
00565 extern void   iiimp_annotation_list_pack(
00566     IIIMP_data_s *          data_s,
00567     IIIMP_annotation *      m,
00568     size_t *         nbyte,
00569     uchar_t **              ptr);
00570 
00571 extern void   iiimp_text_pack(
00572     IIIMP_data_s *   data_s,
00573     IIIMP_text *     m,
00574     size_t *  nbyte,
00575     uchar_t **       ptr);
00576 
00577 extern void   iiimp_text_list_pack(
00578     IIIMP_data_s *   data_s,
00579     IIIMP_text *     text,
00580     size_t *  nbyte,
00581     uchar_t **       ptr);
00582 
00583 extern void   iiimp_client_descriptor_pack(
00584     IIIMP_data_s *                 data_s,
00585     IIIMP_client_descriptor *      cd,
00586     size_t *                nbyte,
00587     uchar_t **                     ptr);
00588 
00589 extern void   iiimp_object_descriptor_pack(
00590     IIIMP_data_s *                 data_s,
00591     IIIMP_object_descriptor *      m,
00592     size_t *                nbyte,
00593     uchar_t **                     ptr);
00594 
00595 extern void   iiimp_object_descriptor_list_pack(
00596     IIIMP_data_s *                 data_s,
00597     IIIMP_object_descriptor *      m,
00598     size_t *                nbyte,
00599     uchar_t **                     ptr);
00600 
00601 extern void   iiimp_ccdef_pack(
00602     IIIMP_data_s *   data_s,
00603     IIIMP_ccdef *    m,
00604     size_t *  nbyte,
00605     uchar_t **       ptr);
00606 
00607 extern void   iiimp_language_pack(
00608     IIIMP_data_s *          data_s,
00609     IIIMP_language * m,
00610     size_t *         nbyte,
00611     uchar_t **              ptr);
00612 
00613 extern void   iiimp_language_list_pack(
00614     IIIMP_data_s *          data_s,
00615     IIIMP_language * m,
00616     size_t *         nbyte,
00617     uchar_t **              ptr);
00618 
00619 extern void     iiimp_imeinfo_pack(
00620     IIIMP_data_s *              data_s,
00621     IIIMP_imeinfo *  m,
00622     size_t *         nbyte,
00623     uchar_t **              ptr);
00624 
00625 extern void     iiimp_imeinfo_list_pack(
00626     IIIMP_data_s *              data_s,
00627     IIIMP_imeinfo *  m,
00628     size_t *         nbyte,
00629     uchar_t **              ptr);
00630 
00631 extern void   iiimp_jarfile_object_pack(
00632     IIIMP_data_s *          data_s,
00633     IIIMP_jarfile_object *  m,
00634     size_t *         nbyte,
00635     uchar_t **              ptr);
00636 
00637 extern void   iiimp_inputmethod_descriptor_pack(
00638     IIIMP_data_s *                 data_s,
00639     IIIMP_inputmethod_descriptor * m,
00640     size_t *                nbyte,
00641     uchar_t **                     ptr);
00642 
00643 extern void   iiimp_inputmethod_descriptor_list_pack(
00644     IIIMP_data_s *                 data_s,
00645     IIIMP_inputmethod_descriptor * m,
00646     size_t *                nbyte,
00647     uchar_t **                     ptr);
00648 
00649 extern void   iiimp_binaryfile_object_pack(
00650     IIIMP_data_s *                 data_s,
00651     IIIMP_binaryfile_object *      m,
00652     size_t *                nbyte,
00653     uchar_t **                     ptr);
00654 
00655 extern void   iiimp_imattribute_pack(
00656     IIIMP_data_s *          data_s,
00657     IIIMP_imattribute *     m,
00658     size_t *         nbyte,
00659     uchar_t **              ptr);
00660 
00661 extern void   iiimp_imattribute_list_pack(
00662     IIIMP_data_s *          data_s,
00663     IIIMP_imattribute *     m,
00664     size_t *         nbyte,
00665     uchar_t **              ptr);
00666 
00667 extern void   iiimp_icattribute_pack(
00668     IIIMP_data_s *          data_s,
00669     IIIMP_icattribute *     m,
00670     size_t *         nbyte,
00671     uchar_t **              ptr);
00672 
00673 extern void   iiimp_icattribute_list_pack(
00674     IIIMP_data_s *          data_s,
00675     IIIMP_icattribute *     m,
00676     size_t *         nbyte,
00677     uchar_t **              ptr);
00678 
00679 extern void   iiimp_keyevent_list_pack(
00680     IIIMP_data_s *          data_s,
00681     IIIMP_keyevent_list *   m,
00682     size_t *         nbyte,
00683     uchar_t **              ptr);
00684 
00685 extern void   iiimp_hotkey_list_pack(
00686     IIIMP_data_s *   data_s,
00687     HOTKEY_LIST *        m,
00688     size_t *         nbyte,
00689     uchar_t **              ptr);
00690 
00691 extern void iiimp_hotkey_list_delete(
00692     IIIMP_data_s * data_s, 
00693     HOTKEY_LIST * m);
00694 
00695 extern void   iiimp_contents_pack(
00696     IIIMP_data_s *   data_s,
00697     IIIMP_contents * m,
00698     size_t *         nbyte,
00699     uchar_t **              ptr);
00700 
00701 extern void   iiimp_open_pack(
00702     IIIMP_data_s *   data_s,
00703     IIIMP_open *     m,
00704     size_t *         nbyte,
00705     uchar_t **              ptr);
00706 
00707 extern void   iiimp_open_reply_pack(
00708     IIIMP_data_s *   data_s,
00709     IIIMP_open_reply *      m,
00710     size_t *         nbyte,
00711     uchar_t **              ptr);
00712 
00713 extern void   iiimp_read_pack(
00714     IIIMP_data_s *   data_s,
00715     IIIMP_read *     m,
00716     size_t *         nbyte,
00717     uchar_t **              ptr);
00718 
00719 extern void   iiimp_read_reply_pack(
00720     IIIMP_data_s *   data_s,
00721     IIIMP_read_reply *      m,
00722     size_t *         nbyte,
00723     uchar_t **              ptr);
00724 
00725 extern void   iiimp_write_pack(
00726     IIIMP_data_s *   data_s,
00727     IIIMP_write *    m,
00728     size_t *         nbyte,
00729     uchar_t **              ptr);
00730 
00731 extern void   iiimp_write_reply_pack(
00732     IIIMP_data_s *   data_s,
00733     IIIMP_write_reply *     m,
00734     size_t *         nbyte,
00735     uchar_t **              ptr);
00736 
00737 extern void   iiimp_close_pack(
00738     IIIMP_data_s *   data_s,
00739     IIIMP_close *    m,
00740     size_t *         nbyte,
00741     uchar_t **              ptr);
00742 
00743 extern void   iiimp_close_reply_pack(
00744     IIIMP_data_s *   data_s,
00745     IIIMP_close_reply *     m,
00746     size_t *         nbyte,
00747     uchar_t **              ptr);
00748 
00749 extern void   iiimp_seek_pack(
00750     IIIMP_data_s *      data_s,
00751     IIIMP_seek *        m,
00752     size_t *            nbyte,
00753     uchar_t **          ptr);
00754 
00755 extern void   iiimp_seek_reply_pack(
00756     IIIMP_data_s *      data_s,
00757     IIIMP_seek_reply *  m,
00758     size_t *            nbyte,
00759     uchar_t **          ptr);
00760 
00761 extern void   iiimp_opendir_pack(
00762     IIIMP_data_s *      data_s,
00763     IIIMP_opendir *     m,
00764     size_t *            nbyte,
00765     uchar_t **          ptr);
00766 
00767 extern void   iiimp_opendir_reply_pack(
00768     IIIMP_data_s *        data_s,
00769     IIIMP_opendir_reply * m,
00770     size_t *              nbyte,
00771     uchar_t **            ptr);
00772 
00773 extern void    iiimp_closedir_pack(
00774     IIIMP_data_s *      data_s,
00775     IIIMP_closedir *    m,
00776     size_t *            nbyte,
00777     uchar_t **          ptr);
00778 
00779 extern void    iiimp_closedir_reply_pack(
00780     IIIMP_data_s *         data_s,
00781     IIIMP_closedir_reply * m,
00782     size_t *               nbyte,
00783     uchar_t **             ptr);
00784 
00785 extern void    iiimp_mkdir_pack(
00786     IIIMP_data_s *      data_s,
00787     IIIMP_mkdir *       m,
00788     size_t *            nbyte,
00789     uchar_t **          ptr);
00790 
00791 extern void    iiimp_mkdir_reply_pack(
00792     IIIMP_data_s *       data_s,
00793     IIIMP_mkdir_reply *  m,
00794     size_t *             nbyte,
00795     uchar_t **           ptr);
00796 
00797 extern void    iiimp_rmdir_pack(
00798     IIIMP_data_s *      data_s,
00799     IIIMP_rmdir *       m,
00800     size_t *            nbyte,
00801     uchar_t **          ptr);
00802 
00803 extern void    iiimp_rmdir_reply_pack(
00804     IIIMP_data_s *       data_s,
00805     IIIMP_rmdir_reply *  m,
00806     size_t *             nbyte,
00807     uchar_t **           ptr);
00808 
00809 extern void    iiimp_symlink_pack(
00810     IIIMP_data_s *      data_s,
00811     IIIMP_symlink *     m,
00812     size_t *            nbyte,
00813     uchar_t **          ptr);
00814 
00815 extern void    iiimp_symlink_reply_pack(
00816     IIIMP_data_s *        data_s,
00817     IIIMP_symlink_reply * m,
00818     size_t *              nbyte,
00819     uchar_t **            ptr);
00820 
00821 extern void    iiimp_stat_pack(
00822     IIIMP_data_s *      data_s,
00823     IIIMP_stat *        m,
00824     size_t *            nbyte,
00825     uchar_t **          ptr);
00826 
00827 extern void    iiimp_stat_reply_pack(
00828     IIIMP_data_s *      data_s,
00829     IIIMP_stat_reply *  m,
00830     size_t *            nbyte,
00831     uchar_t **          ptr);
00832 
00833 extern void iiimp_lstat_pack(
00834     IIIMP_data_s *      data_s,
00835     IIIMP_lstat *       m,
00836     size_t *            nbyte,
00837     uchar_t **          ptr);
00838 
00839 extern void iiimp_lstat_reply_pack(
00840     IIIMP_data_s *      data_s,
00841     IIIMP_lstat_reply * m,
00842     size_t *            nbyte,
00843     uchar_t **          ptr);
00844 
00845 extern void    iiimp_fstat_pack(
00846     IIIMP_data_s *      data_s,
00847     IIIMP_fstat *       m,
00848     size_t *            nbyte,
00849     uchar_t **          ptr);
00850 
00851 extern void    iiimp_fstat_reply_pack(
00852     IIIMP_data_s *      data_s,
00853     IIIMP_fstat_reply * m,
00854     size_t *            nbyte,
00855     uchar_t **          ptr);
00856 
00857 extern void    iiimp_creat_pack(
00858     IIIMP_data_s *      data_s,
00859     IIIMP_creat *       m,
00860     size_t *            nbyte,
00861     uchar_t **          ptr);
00862 
00863 extern void    iiimp_creat_reply_pack(
00864     IIIMP_data_s *      data_s,
00865     IIIMP_creat_reply * m,
00866     size_t *            nbyte,
00867     uchar_t **          ptr);
00868 
00869 extern void    iiimp_lseek_pack(
00870     IIIMP_data_s *      data_s,
00871     IIIMP_lseek *       m,
00872     size_t *            nbyte,
00873     uchar_t **          ptr);
00874 
00875 extern void    iiimp_lseek_reply_pack(
00876     IIIMP_data_s *      data_s,
00877     IIIMP_lseek_reply * m,
00878     size_t *            nbyte,
00879     uchar_t **          ptr);
00880 
00881 extern void    iiimp_unlink_pack(
00882     IIIMP_data_s *      data_s,
00883     IIIMP_unlink *      m,
00884     size_t *            nbyte,
00885     uchar_t **          ptr);
00886 
00887 extern void    iiimp_unlink_reply_pack(
00888     IIIMP_data_s *       data_s,
00889     IIIMP_unlink_reply * m,
00890     size_t *             nbyte,
00891     uchar_t **           ptr);
00892 
00893 extern void    iiimp_rename_pack(
00894     IIIMP_data_s *      data_s,
00895     IIIMP_rename *      m,
00896     size_t *            nbyte,
00897     uchar_t **          ptr);
00898 
00899 extern void    iiimp_rename_reply_pack(
00900     IIIMP_data_s *       data_s,
00901     IIIMP_rename_reply * m,
00902     size_t *             nbyte,
00903     uchar_t **           ptr);
00904 
00905 extern void    iiimp_fcntl_pack(
00906     IIIMP_data_s *      data_s,
00907     IIIMP_fcntl *       m,
00908     size_t *            nbyte,
00909     uchar_t **          ptr);
00910 
00911 extern void    iiimp_fcntl_reply_pack(
00912     IIIMP_data_s *      data_s,
00913     IIIMP_fcntl_reply * m,
00914     size_t *            nbyte,
00915     uchar_t **          ptr);
00916 
00917 extern void    iiimp_truncate_pack(
00918     IIIMP_data_s *      data_s,
00919     IIIMP_truncate *    m,
00920     size_t *            nbyte,
00921     uchar_t **          ptr);
00922 
00923 extern void    iiimp_truncate_reply_pack(
00924     IIIMP_data_s *         data_s,
00925     IIIMP_truncate_reply * m,
00926     size_t *               nbyte,
00927     uchar_t **             ptr);
00928 
00929 extern void    iiimp_ftruncate_pack(
00930     IIIMP_data_s *      data_s,
00931     IIIMP_ftruncate *   m,
00932     size_t *            nbyte,
00933     uchar_t **          ptr);
00934 
00935 extern void    iiimp_ftruncate_reply_pack(
00936     IIIMP_data_s *          data_s,
00937     IIIMP_ftruncate_reply * m,
00938     size_t *                nbyte,
00939     uchar_t **              ptr);
00940 
00941 extern void   iiimp_message_header_print(IIIMP_data_s * data_s,
00942                                       int               opcode,
00943                                       int               im_id,
00944                                       int               ic_id);
00945 
00946 extern void   iiimp_card16_list_print(IIIMP_data_s *           data_s,
00947                                    IIIMP_card16_list *  m);
00948 
00949 extern void   iiimp_card32_list_print(IIIMP_data_s *           data_s,
00950                                    IIIMP_card32_list *  m);
00951 
00952 extern void   iiimp_byte_stream_print(IIIMP_data_s *           data_s,
00953                                    IIIMP_byte_stream *  m);
00954 
00955 extern void   iiimp_string_print(IIIMP_data_s *  data_s,
00956                                IIIMP_string *    m);
00957 
00958 extern void   iiimp_string_list_print(IIIMP_data_s *    data_s,
00959                                    IIIMP_string *       m);
00960 
00961 extern void   iiimp_utf8string_print(IIIMP_data_s *     data_s,
00962                                IIIMP_utf8string *       m);
00963 
00964 extern void   iiimp_utf8string_list_print(IIIMP_data_s *       data_s,
00965                                    IIIMP_utf8string *   m);
00966 
00967 extern void   iiimp_feedback_attr_print(IIIMP_data_s *  data_s,
00968                                      IIIMP_feedback_attr *     m);
00969 
00970 extern void   iiimp_feedback_attr_list_print(
00971     IIIMP_data_s *                 data_s,
00972     IIIMP_feedback_attr_list *     m);
00973 
00974 extern void   iiimp_char_with_feedback_print(
00975     IIIMP_data_s *                 data_s,
00976     IIIMP_char_with_feedback *     m);
00977 
00978 extern void   iiimp_char_with_feedback_list_print(
00979     IIIMP_data_s *                 data_s,
00980     IIIMP_char_with_feedback *     m);
00981 
00982 extern void   iiimp_operation_print(IIIMP_data_s *      data_s,
00983                                   IIIMP_operation *     m);
00984 
00985 extern void   iiimp_operation_list_print(IIIMP_data_s * data_s,
00986                                       IIIMP_operation * m);
00987 
00988 extern void   iiimp_annotation_print(IIIMP_data_s *            data_s,
00989                                    IIIMP_annotation *   m);
00990 
00991 extern void   iiimp_text_print(IIIMP_data_s * data_s, IIIMP_text * m);
00992 
00993 extern void   iiimp_text_list_print(IIIMP_data_s * data_s, IIIMP_text * m);
00994 
00995 extern void   iiimp_client_descriptor_print(IIIMP_data_s *            data_s,
00996                                          IIIMP_client_descriptor *    m);
00997 
00998 extern void   iiimp_object_descriptor_print(IIIMP_data_s *            data_s,
00999                                          IIIMP_object_descriptor *    m);
01000 
01001 extern void   iiimp_object_descriptor_list_print(
01002     IIIMP_data_s *                 data_s,
01003     IIIMP_object_descriptor *      m);
01004 
01005 extern void   iiimp_ccdef_print(IIIMP_data_s * data_s, IIIMP_ccdef * m);
01006 
01007 extern void   iiimp_language_print(IIIMP_data_s * data_s, IIIMP_language * m);
01008 
01009 extern void   iiimp_jarfile_object_print(IIIMP_data_s *        data_s,
01010                                       IIIMP_jarfile_object *   m);
01011 
01012 extern void   iiimp_binaryfile_object_print(IIIMP_data_s *            data_s,
01013                                          IIIMP_binaryfile_object *    m);
01014 
01015 extern void   iiimp_inputmethod_descriptor_print(
01016     IIIMP_data_s *                 data_s,
01017     IIIMP_inputmethod_descriptor * m);
01018 
01019 extern void   iiimp_inputmethod_descriptor_list_print(
01020     IIIMP_data_s *                 data_s,
01021     IIIMP_inputmethod_descriptor * m);
01022 
01023 extern void   iiimp_imattribute_print(IIIMP_data_s *           data_s,
01024                                    IIIMP_imattribute *  m);
01025 
01026 extern void   iiimp_imattribute_list_print(IIIMP_data_s *             data_s,
01027                                         IIIMP_imattribute *    m);
01028 
01029 extern void   iiimp_character_subsets_print(IIIMP_data_s *     data_s,
01030                                          IIIMP_card32 * m);
01031 
01032 extern void   iiimp_character_subsets_list_print(IIIMP_data_s *       data_s,
01033                                              IIIMP_card32_list *      m);
01034 
01035 extern void   iiimp_icattribute_print(IIIMP_data_s *           data_s,
01036                                    IIIMP_icattribute *  m);
01037 
01038 extern void   iiimp_icattribute_list_print(IIIMP_data_s *             data_s,
01039                                         IIIMP_icattribute *    m);
01040 
01041 extern void   iiimp_keyevent_print(IIIMP_data_s *       data_s,
01042                                  IIIMP_keyevent *       m);
01043 
01044 extern void   iiimp_keyevent_list_print(IIIMP_data_s *  data_s,
01045                                      IIIMP_keyevent_list *     m);
01046 
01047 extern void   iiimp_contents_print(IIIMP_data_s * data_s, IIIMP_contents * m);
01048 extern void   iiimp_open_print(IIIMP_data_s * data_s, IIIMP_open * m);
01049 extern void   iiimp_open_reply_print(IIIMP_data_s * data_s, IIIMP_open_reply * m);
01050 extern void   iiimp_read_print(IIIMP_data_s * data_s, IIIMP_read * m);
01051 extern void   iiimp_read_reply_print(IIIMP_data_s * data_s, IIIMP_read_reply * m);
01052 extern void   iiimp_write_print(IIIMP_data_s * data_s, IIIMP_write * m);
01053 extern void   iiimp_write_reply_print(IIIMP_data_s * data_s, IIIMP_write_reply * m);
01054 extern void   iiimp_close_print(IIIMP_data_s * data_s, IIIMP_close * m);
01055 extern void   iiimp_close_reply_print(IIIMP_data_s * data_s, IIIMP_close_reply * m);
01056 extern void   iiimp_seek_print(IIIMP_data_s * data_s, IIIMP_seek *m);
01057 extern void   iiimp_seek_reply_print(IIIMP_data_s * data_s, IIIMP_seek_reply *m);
01058 extern void   iiimp_opendir_print(IIIMP_data_s * data_s, IIIMP_opendir *m);
01059 extern void   iiimp_opendir_reply_print(IIIMP_data_s * data_s, IIIMP_opendir_reply *m);
01060 extern void   iiimp_closedir_print(IIIMP_data_s * data_s, IIIMP_closedir *m);
01061 extern void   iiimp_closedir_reply_print(IIIMP_data_s * data_s, IIIMP_closedir_reply *m);
01062 extern void   iiimp_mkdir_print(IIIMP_data_s * data_s, IIIMP_mkdir *m);
01063 extern void   iiimp_mkdir_reply_print(IIIMP_data_s * data_s, IIIMP_mkdir_reply *m);
01064 extern void   iiimp_rmdir_print(IIIMP_data_s * data_s, IIIMP_rmdir *m);
01065 extern void   iiimp_rmdir_reply_print(IIIMP_data_s * data_s, IIIMP_rmdir_reply *m);
01066 extern void   iiimp_symlink_print(IIIMP_data_s * data_s, IIIMP_symlink *m);
01067 extern void   iiimp_symlink_reply_print(IIIMP_data_s * data_s, IIIMP_symlink_reply *m);
01068 extern void   iiimp_stat_print(IIIMP_data_s * data_s, IIIMP_stat *m);
01069 extern void   iiimp_stat_reply_print(IIIMP_data_s * data_s, IIIMP_stat_reply *m);
01070 extern void   iiimp_lstat_print(IIIMP_data_s * data_s, IIIMP_lstat *m);
01071 extern void   iiimp_lstat_reply_print(IIIMP_data_s * data_s, IIIMP_lstat_reply *m);
01072 extern void   iiimp_fstat_print(IIIMP_data_s * data_s, IIIMP_fstat *m);
01073 extern void   iiimp_fstat_reply_print(IIIMP_data_s * data_s, IIIMP_fstat_reply *m);
01074 extern void   iiimp_creat_print(IIIMP_data_s * data_s, IIIMP_creat *m);
01075 extern void   iiimp_creat_reply_print(IIIMP_data_s * data_s, IIIMP_creat_reply *m);
01076 extern void   iiimp_lseek_print(IIIMP_data_s * data_s, IIIMP_lseek *m);
01077 extern void   iiimp_lseek_reply_print(IIIMP_data_s * data_s, IIIMP_lseek_reply *m);
01078 extern void   iiimp_unlink_print(IIIMP_data_s * data_s, IIIMP_unlink *m);
01079 extern void   iiimp_unlink_reply_print(IIIMP_data_s * data_s, IIIMP_unlink_reply *m);
01080 extern void   iiimp_rename_print(IIIMP_data_s * data_s, IIIMP_rename *m);
01081 extern void   iiimp_rename_reply_print(IIIMP_data_s * data_s, IIIMP_rename_reply *m);
01082 extern void   iiimp_fcntl_print(IIIMP_data_s * data_s, IIIMP_fcntl *m);
01083 extern void   iiimp_fcntl_reply_print(IIIMP_data_s * data_s, IIIMP_fcntl_reply *m);
01084 extern void   iiimp_truncate_print(IIIMP_data_s * data_s, IIIMP_truncate *m);
01085 extern void   iiimp_truncate_reply_print(IIIMP_data_s * data_s, IIIMP_truncate_reply *m);
01086 extern void   iiimp_ftruncate_print(IIIMP_data_s * data_s, IIIMP_ftruncate *m);
01087 extern void   iiimp_ftruncate_reply_print(IIIMP_data_s * data_s, IIIMP_ftruncate_reply *m);
01088 
01089 extern void   iiimp_simple_print(IIIMP_data_s * data_s, IIIMP_message * m);
01090 
01091 extern void   iiimp_simple_im_print(IIIMP_data_s * data_s, IIIMP_message * m);
01092 
01093 extern void   iiimp_invalid_message_print(IIIMP_data_s *       data_s,
01094                                        IIIMP_message *  m);
01095 
01096 extern void   iiimp_aux_simple_print(IIIMP_data_s *     data_s,
01097                                    IIIMP_message *      m);
01098 
01099 extern void   iiimp_aux_value_print(IIIMP_data_s * data_s, IIIMP_message * m);
01100 
01101 extern void   iiimp_connect_print(IIIMP_data_s * data_s, IIIMP_message * m);
01102 
01103 extern void   iiimp_connect_reply_print(IIIMP_data_s *  data_s,
01104                                      IIIMP_message *    m);
01105 
01106 extern void   iiimp_register_trigger_keys_print(IIIMP_data_s * data_s,
01107                                             IIIMP_message *    m);
01108 
01109 extern void   iiimp_trigger_notify_print(IIIMP_data_s * data_s,
01110                                       IIIMP_message *   m);
01111 
01112 extern void   iiimp_select_hotkey_profile_print(IIIMP_data_s * data_s,
01113                                       IIIMP_message *   m);
01114 
01115 extern void   iiimp_register_hotkeys_print(IIIMP_data_s *      data_s,
01116                                         IIIMP_message * m);
01117 
01118 extern void     iiimp_hotkey_list_print(IIIMP_data_s *     data_s,
01119                                         HOTKEY_LIST *      m);
01120 
01121 extern void   iiimp_hotkey_notify_print(IIIMP_data_s *  data_s,
01122                                      IIIMP_message *    m);
01123 
01124 extern void   iiimp_hotkey_state_notify_print(IIIMP_data_s *   data_s,
01125                                      IIIMP_message *    m);
01126 
01127 extern void   iiimp_file_operation_print(IIIMP_data_s * data_s,
01128                                        IIIMP_message *  m);
01129 
01130 extern void   iiimp_file_operation_reply_print(IIIMP_data_s *    data_s,
01131                                              IIIMP_message *   m);
01132 
01133 extern void   iiimp_register_hotkeys_print(IIIMP_data_s *      data_s,
01134                                              IIIMP_message *     m);
01135 
01136 extern void   iiimp_setimvalues_print(IIIMP_data_s *    data_s,
01137                                    IIIMP_message *      m);
01138 
01139 extern void   iiimp_getimvalues_print(IIIMP_data_s *    data_s,
01140                                    IIIMP_message *      m);
01141 
01142 extern void   iiimp_getimvalues_reply_print(IIIMP_data_s *     data_s,
01143                                          IIIMP_message *       m);
01144 
01145 extern void   iiimp_createic_print(IIIMP_data_s * data_s, IIIMP_message * m);
01146 
01147 extern void   iiimp_seticvalues_print(IIIMP_data_s *    data_s,
01148                                    IIIMP_message *      m);
01149 
01150 extern void   iiimp_geticvalues_print(IIIMP_data_s *    data_s,
01151                                    IIIMP_message *      m);
01152 
01153 extern void   iiimp_geticvalues_reply_print(IIIMP_data_s *     data_s,
01154                                          IIIMP_message *       m);
01155 
01156 extern void   iiimp_preedit_start_reply_print(IIIMP_data_s *   data_s,
01157                                           IIIMP_message *      m);
01158 
01159 extern void   iiimp_preedit_draw_print(IIIMP_data_s *          data_s,
01160                                     IIIMP_message *     m);
01161 
01162 extern void   iiimp_status_draw_print(IIIMP_data_s *    data_s,
01163                                    IIIMP_message *      m);
01164 
01165 extern void   iiimp_forward_event_print(IIIMP_data_s *  data_s,
01166                                      IIIMP_message *    m);
01167 
01168 extern void   iiimp_forward_event_with_operations_print(
01169     IIIMP_data_s *   data_s,
01170     IIIMP_message *  m);
01171 
01172 extern void   iiimp_forward_event_with_operations_reply_print(
01173     IIIMP_data_s *   data_s,
01174     IIIMP_message *  m);
01175 
01176 extern void   iiimp_commit_string_print(IIIMP_data_s *  data_s,
01177                                      IIIMP_message *    m);
01178 
01179 extern void   iiimp_lookup_choice_start_print(IIIMP_data_s *   data_s,
01180                                           IIIMP_message *      m);
01181 
01182 extern void   iiimp_lookup_choice_draw_print(IIIMP_data_s *    data_s,
01183                                           IIIMP_message *      m);
01184 
01185 extern void   iiimp_lookup_choice_process_print(IIIMP_data_s * data_s,
01186                                             IIIMP_message *    m);
01187 
01188 extern void   iiimp_protocol_version_print(IIIMP_data_s *      data_s,
01189                                         IIIMP_message * m);
01190 
01191 extern IIIMP_card16  iiimp_attribute_id_search(
01192     IIIMP_data_s *   data_s,
01193     IIIMP_card16     id_dynamic);
01194 
01195 extern void   iiimp_attribute_id_update(IIIMP_data_s *  data_s,
01196                                      IIIMP_card16              id_predefined,
01197                                      IIIMP_card16              id_dynamic);
01198 
01199 extern void   iiimp_attribute_id_destroy(IIIMP_data_s * data_s);
01200 
01201 
01202 #ifdef __cplusplus
01203 }
01204 #endif
01205 
01206 #endif /* !IIIMP_DATA_P_H */
01207 
01208 
01209 /* Local Variables: */
01210 /* c-file-style: "iiim-project" */
01211 /* End: */