Back to index

im-sdk  12.3.91
im-file-operation-reply.c
Go to the documentation of this file.
00001 #include <stdio.h>
00002 #include <stdlib.h>
00003 #include <sys/types.h>
00004 
00005 #include <iiimp-data.h>
00006 #include <iiimp-opcode.h>
00007 
00008 #include "iiimp-dataP.h"
00009 
00010 IIIMP_message *
00011 iiimp_file_operation_reply_new(
00012     IIIMP_data_s *           data_s,
00013     IIIMP_card16                im_id,
00014     IIIMP_card32                type,
00015     void *                  value)
00016 {
00017     IIIMP_message *  m;
00018     m = (IIIMP_message *)malloc(sizeof (IIIMP_message));
00019     if (NULL == m) {
00020        data_s->status = IIIMP_DATA_MALLOC_ERROR;
00021        return NULL;
00022     }
00023     m->opcode = IM_FILE_OPERATION_REPLY;
00024     m->im_id = im_id;
00025     m->ic_id = -1;
00026     m->v.file_operation_reply.type = type;
00027     m->v.file_operation_reply.value = value;
00028     return m;
00029 }
00030 
00031 void
00032 iiimp_file_operation_reply_delete(IIIMP_data_s * data_s, IIIMP_message * m)
00033 {
00034     if (NULL == m) return;
00035 
00036     switch (m->v.file_operation_reply.type) {
00037       case IIIMP_FILE_OPERATION_TYPE_OPEN_REPLY:
00038        iiimp_open_reply_delete(data_s, (IIIMP_open_reply *)m->v.file_operation_reply.value);
00039        break;
00040       case IIIMP_FILE_OPERATION_TYPE_READ_REPLY:
00041        iiimp_read_reply_delete(data_s, (IIIMP_read_reply *)m->v.file_operation_reply.value);
00042        break;
00043       case IIIMP_FILE_OPERATION_TYPE_WRITE_REPLY:
00044        iiimp_write_reply_delete(data_s, (IIIMP_write_reply *)m->v.file_operation_reply.value);
00045        break;
00046       case IIIMP_FILE_OPERATION_TYPE_CLOSE_REPLY:
00047        iiimp_close_reply_delete(data_s, (IIIMP_close_reply *)m->v.file_operation_reply.value);
00048        break;
00049       case IIIMP_FILE_OPERATION_TYPE_OPENDIR_REPLY:
00050        iiimp_opendir_reply_delete(data_s, (IIIMP_opendir_reply *)m->v.file_operation_reply.value);
00051        break;
00052       case IIIMP_FILE_OPERATION_TYPE_CLOSEDIR_REPLY:
00053        iiimp_closedir_reply_delete(data_s, (IIIMP_closedir_reply *)m->v.file_operation_reply.value);
00054        break;
00055       case IIIMP_FILE_OPERATION_TYPE_SEEK_REPLY:
00056        iiimp_seek_reply_delete(data_s, (IIIMP_seek_reply *)m->v.file_operation_reply.value);
00057        break;
00058       case IIIMP_FILE_OPERATION_TYPE_MKDIR_REPLY:
00059        iiimp_mkdir_reply_delete(data_s, (IIIMP_mkdir_reply *)m->v.file_operation_reply.value);
00060        break;
00061       case IIIMP_FILE_OPERATION_TYPE_RMDIR_REPLY:
00062        iiimp_rmdir_reply_delete(data_s, (IIIMP_rmdir_reply *)m->v.file_operation_reply.value);
00063        break;
00064       case IIIMP_FILE_OPERATION_TYPE_SYMLINK_REPLY:
00065        iiimp_symlink_reply_delete(data_s, (IIIMP_symlink_reply *)m->v.file_operation_reply.value);
00066        break;
00067       case IIIMP_FILE_OPERATION_TYPE_STAT_REPLY:
00068        iiimp_stat_reply_delete(data_s, (IIIMP_stat_reply *)m->v.file_operation_reply.value);
00069        break;
00070       case IIIMP_FILE_OPERATION_TYPE_LSTAT_REPLY:
00071        iiimp_lstat_reply_delete(data_s, (IIIMP_lstat_reply *)m->v.file_operation_reply.value);
00072        break;
00073       case IIIMP_FILE_OPERATION_TYPE_FSTAT_REPLY:
00074        iiimp_fstat_reply_delete(data_s, (IIIMP_fstat_reply *)m->v.file_operation_reply.value);
00075        break;
00076       case IIIMP_FILE_OPERATION_TYPE_CREAT_REPLY:
00077        iiimp_creat_reply_delete(data_s, (IIIMP_creat_reply *)m->v.file_operation_reply.value);
00078        break;
00079       case IIIMP_FILE_OPERATION_TYPE_LSEEK_REPLY:
00080        iiimp_lseek_reply_delete(data_s, (IIIMP_lseek_reply *)m->v.file_operation_reply.value);
00081        break;
00082       case IIIMP_FILE_OPERATION_TYPE_UNLINK_REPLY:
00083        iiimp_unlink_reply_delete(data_s, (IIIMP_unlink_reply *)m->v.file_operation_reply.value);
00084        break;
00085       case IIIMP_FILE_OPERATION_TYPE_RENAME_REPLY:
00086        iiimp_rename_reply_delete(data_s, (IIIMP_rename_reply *)m->v.file_operation_reply.value);
00087        break;
00088       case IIIMP_FILE_OPERATION_TYPE_FCNTL_REPLY:
00089        iiimp_fcntl_reply_delete(data_s, (IIIMP_fcntl_reply *)m->v.file_operation_reply.value);
00090        break;
00091       case IIIMP_FILE_OPERATION_TYPE_TRUNCATE_REPLY:
00092        iiimp_truncate_reply_delete(data_s, (IIIMP_truncate_reply *)m->v.file_operation_reply.value);
00093        break;
00094       case IIIMP_FILE_OPERATION_TYPE_FTRUNCATE_REPLY:
00095        iiimp_ftruncate_reply_delete(data_s, (IIIMP_ftruncate_reply *)m->v.file_operation_reply.value);
00096        break;
00097     }
00098     free(m);
00099     return;
00100 }
00101 
00102 uchar_t *
00103 iiimp_file_operation_reply_pack(
00104     IIIMP_data_s *   data_s,
00105     IIIMP_card16        im_id,
00106     IIIMP_card32        type,
00107     void *           value,
00108     size_t *         buf_size)
00109 {
00110     size_t           nbyte;
00111     int                     length;
00112     uchar_t *        buf;
00113     size_t           rest;
00114     uchar_t *        p;
00115 
00116     nbyte = 0
00117        + 2                 /* input method id */
00118        + 2                 /* Pad(2) */
00119        + 4 ;               /* file operation type */
00120 
00121     if (NULL != value) {
00122        switch (type) {
00123          case IIIMP_FILE_OPERATION_TYPE_OPEN_REPLY:
00124           nbyte += ((IIIMP_open_reply *)value)->nbyte;
00125           break;
00126          case IIIMP_FILE_OPERATION_TYPE_READ_REPLY:
00127           nbyte += ((IIIMP_read_reply *)value)->nbyte;
00128           break;
00129          case IIIMP_FILE_OPERATION_TYPE_WRITE_REPLY:
00130           nbyte += ((IIIMP_write_reply *)value)->nbyte;
00131           break;
00132          case IIIMP_FILE_OPERATION_TYPE_CLOSE_REPLY:
00133           nbyte += ((IIIMP_close_reply *)value)->nbyte;
00134           break;
00135          case IIIMP_FILE_OPERATION_TYPE_OPENDIR_REPLY:
00136           nbyte += ((IIIMP_opendir_reply *)value)->nbyte;
00137           break;
00138          case IIIMP_FILE_OPERATION_TYPE_CLOSEDIR_REPLY:
00139           nbyte += ((IIIMP_closedir_reply *)value)->nbyte;
00140           break;
00141          case IIIMP_FILE_OPERATION_TYPE_SEEK_REPLY:
00142           nbyte += ((IIIMP_seek_reply *)value)->nbyte;
00143           break;
00144          case IIIMP_FILE_OPERATION_TYPE_MKDIR_REPLY:
00145           nbyte += ((IIIMP_mkdir_reply *)value)->nbyte;
00146           break;
00147          case IIIMP_FILE_OPERATION_TYPE_RMDIR_REPLY:
00148           nbyte += ((IIIMP_rmdir_reply *)value)->nbyte;
00149           break;
00150          case IIIMP_FILE_OPERATION_TYPE_SYMLINK_REPLY:
00151           nbyte += ((IIIMP_symlink_reply *)value)->nbyte;
00152           break;
00153          case IIIMP_FILE_OPERATION_TYPE_STAT_REPLY:
00154           nbyte += ((IIIMP_stat_reply *)value)->nbyte;
00155           break;
00156          case IIIMP_FILE_OPERATION_TYPE_LSTAT_REPLY:
00157           nbyte += ((IIIMP_lstat_reply *)value)->nbyte;
00158           break;
00159          case IIIMP_FILE_OPERATION_TYPE_FSTAT_REPLY:
00160           nbyte += ((IIIMP_fstat_reply *)value)->nbyte;
00161           break;
00162          case IIIMP_FILE_OPERATION_TYPE_CREAT_REPLY:
00163           nbyte += ((IIIMP_creat_reply *)value)->nbyte;
00164           break;
00165          case IIIMP_FILE_OPERATION_TYPE_LSEEK_REPLY:
00166           nbyte += ((IIIMP_lseek_reply *)value)->nbyte;
00167           break;
00168          case IIIMP_FILE_OPERATION_TYPE_UNLINK_REPLY:
00169           nbyte += ((IIIMP_unlink_reply *)value)->nbyte;
00170           break;
00171          case IIIMP_FILE_OPERATION_TYPE_RENAME_REPLY:
00172           nbyte += ((IIIMP_rename_reply *)value)->nbyte;
00173           break;
00174          case IIIMP_FILE_OPERATION_TYPE_FCNTL_REPLY:
00175           nbyte += ((IIIMP_fcntl_reply *)value)->nbyte;
00176           break;
00177          case IIIMP_FILE_OPERATION_TYPE_TRUNCATE_REPLY:
00178           nbyte += ((IIIMP_truncate_reply *)value)->nbyte;
00179           break;
00180          case IIIMP_FILE_OPERATION_TYPE_FTRUNCATE_REPLY:
00181           nbyte += ((IIIMP_ftruncate_reply *)value)->nbyte;
00182           break;
00183        }
00184     }
00185 
00186     length = (nbyte >> 2);
00187     *buf_size = (1 + 3 + nbyte);
00188 
00189     buf = (uchar_t *)malloc(1 + 3 + nbyte);
00190     if (NULL == buf) {
00191        data_s->status = IIIMP_DATA_MALLOC_ERROR;
00192        return NULL;
00193     }
00194 
00195     PUT_PACKET_HEADER(buf, IM_FILE_OPERATION_REPLY, length);
00196 
00197     rest = nbyte;
00198     p = (buf + 4);
00199 
00200     PUTU16(im_id, rest, p, data_s->byte_swap);
00201     PUTU16(0, rest, p, data_s->byte_swap);
00202     PUTU32(type, rest, p, data_s->byte_swap);
00203 
00204     if (NULL == value) {
00205        return NULL;
00206     } else {
00207        switch (type) {
00208          case IIIMP_FILE_OPERATION_TYPE_OPEN_REPLY:
00209           iiimp_open_reply_pack(data_s, (IIIMP_open_reply *)value, &rest, &p);
00210           break;
00211          case IIIMP_FILE_OPERATION_TYPE_READ_REPLY:
00212           iiimp_read_reply_pack(data_s, (IIIMP_read_reply *)value, &rest, &p);
00213           break;
00214          case IIIMP_FILE_OPERATION_TYPE_WRITE_REPLY:
00215           iiimp_write_reply_pack(data_s, (IIIMP_write_reply *)value, &rest, &p);
00216           break;
00217          case IIIMP_FILE_OPERATION_TYPE_CLOSE_REPLY:
00218           iiimp_close_reply_pack(data_s, (IIIMP_close_reply *)value, &rest, &p);
00219           break;
00220          case IIIMP_FILE_OPERATION_TYPE_OPENDIR_REPLY:
00221           iiimp_opendir_reply_pack(data_s, (IIIMP_opendir_reply *)value, &rest, &p);
00222           break;
00223          case IIIMP_FILE_OPERATION_TYPE_CLOSEDIR_REPLY:
00224           iiimp_closedir_reply_pack(data_s, (IIIMP_closedir_reply *)value, &rest, &p);
00225           break;
00226          case IIIMP_FILE_OPERATION_TYPE_SEEK_REPLY:
00227           iiimp_seek_reply_pack(data_s, (IIIMP_seek_reply *)value, &rest, &p);
00228           break;
00229          case IIIMP_FILE_OPERATION_TYPE_MKDIR_REPLY:
00230           iiimp_mkdir_reply_pack(data_s, (IIIMP_mkdir_reply *)value, &rest, &p);
00231           break;
00232          case IIIMP_FILE_OPERATION_TYPE_RMDIR_REPLY:
00233           iiimp_rmdir_reply_pack(data_s, (IIIMP_rmdir_reply *)value, &rest, &p);
00234           break;
00235          case IIIMP_FILE_OPERATION_TYPE_SYMLINK_REPLY:
00236           iiimp_symlink_reply_pack(data_s, (IIIMP_symlink_reply *)value, &rest, &p);
00237           break;
00238          case IIIMP_FILE_OPERATION_TYPE_STAT_REPLY:
00239           iiimp_stat_reply_pack(data_s, (IIIMP_stat_reply *)value, &rest, &p);
00240           break;
00241          case IIIMP_FILE_OPERATION_TYPE_LSTAT_REPLY:
00242           iiimp_lstat_reply_pack(data_s, (IIIMP_lstat_reply *)value, &rest, &p);
00243           break;
00244          case IIIMP_FILE_OPERATION_TYPE_FSTAT_REPLY:
00245           iiimp_fstat_reply_pack(data_s, (IIIMP_fstat_reply *)value, &rest, &p);
00246           break;
00247          case IIIMP_FILE_OPERATION_TYPE_CREAT_REPLY:
00248           iiimp_creat_reply_pack(data_s, (IIIMP_creat_reply *)value, &rest, &p);
00249           break;
00250          case IIIMP_FILE_OPERATION_TYPE_LSEEK_REPLY:
00251           iiimp_lseek_reply_pack(data_s, (IIIMP_lseek_reply *)value, &rest, &p);
00252           break;
00253          case IIIMP_FILE_OPERATION_TYPE_UNLINK_REPLY:
00254           iiimp_unlink_reply_pack(data_s, (IIIMP_unlink_reply *)value, &rest, &p);
00255           break;
00256          case IIIMP_FILE_OPERATION_TYPE_RENAME_REPLY:
00257           iiimp_rename_reply_pack(data_s, (IIIMP_rename_reply *)value, &rest, &p);
00258           break;
00259          case IIIMP_FILE_OPERATION_TYPE_FCNTL_REPLY:
00260           iiimp_fcntl_reply_pack(data_s, (IIIMP_fcntl_reply *)value, &rest, &p);
00261           break;
00262          case IIIMP_FILE_OPERATION_TYPE_TRUNCATE_REPLY:
00263           iiimp_truncate_reply_pack(data_s, (IIIMP_truncate_reply *)value, &rest, &p);
00264           break;
00265          case IIIMP_FILE_OPERATION_TYPE_FTRUNCATE_REPLY:
00266           iiimp_ftruncate_reply_pack(data_s, (IIIMP_ftruncate_reply *)value, &rest, &p);
00267           break;
00268        }
00269     }
00270 
00271     return buf;
00272 }
00273 
00274 IIIMP_message *
00275 iiimp_file_operation_reply_unpack(
00276     IIIMP_data_s *   data_s,
00277     IIIMP_card7             opcode,
00278     size_t *         nbyte,
00279     const uchar_t ** ptr)
00280 {
00281     IIIMP_message *               m;
00282     IIIMP_file_operation_reply_v *   v;
00283     size_t                        rest;
00284     const uchar_t *               p;
00285 
00286     rest = *nbyte;
00287     p = *ptr;
00288 
00289     if (rest < (2 + 2 + 4)) {
00290        data_s->status = IIIMP_DATA_INVALID;
00291        return NULL;
00292     }
00293 
00294     m = (IIIMP_message *)malloc(sizeof (IIIMP_message));
00295     if (NULL == m) {
00296        data_s->status = IIIMP_DATA_MALLOC_ERROR;
00297        return NULL;
00298     }
00299     v = &(m->v.file_operation_reply);
00300 
00301     m->opcode = opcode;
00302     v->value = NULL;
00303 
00304     GETU16(m->im_id, rest, p, data_s->byte_swap);
00305     m->ic_id = -1;
00306     SKIP16(rest, p);
00307     GETU32(v->type, rest, p, data_s->byte_swap);
00308 
00309     switch (v->type) {
00310       case IIIMP_FILE_OPERATION_TYPE_OPEN_REPLY:
00311        v->value = iiimp_open_reply_unpack(data_s, &rest, &p, rest);
00312        break;
00313       case IIIMP_FILE_OPERATION_TYPE_READ_REPLY:
00314        v->value = iiimp_read_reply_unpack(data_s, &rest, &p, rest);
00315        break;
00316       case IIIMP_FILE_OPERATION_TYPE_WRITE_REPLY:
00317        v->value = iiimp_write_reply_unpack(data_s, &rest, &p, rest);
00318        break;
00319       case IIIMP_FILE_OPERATION_TYPE_CLOSE_REPLY:
00320        v->value = iiimp_close_reply_unpack(data_s, &rest, &p, rest);
00321        break;
00322       case IIIMP_FILE_OPERATION_TYPE_OPENDIR_REPLY:
00323        v->value = iiimp_opendir_reply_unpack(data_s, &rest, &p, rest);
00324        break;
00325       case IIIMP_FILE_OPERATION_TYPE_CLOSEDIR_REPLY:
00326        v->value = iiimp_closedir_reply_unpack(data_s, &rest, &p, rest);
00327        break;
00328       case IIIMP_FILE_OPERATION_TYPE_SEEK_REPLY:
00329        v->value = iiimp_seek_reply_unpack(data_s, &rest, &p, rest);
00330        break;
00331       case IIIMP_FILE_OPERATION_TYPE_MKDIR_REPLY:
00332        v->value = iiimp_mkdir_reply_unpack(data_s, &rest, &p, rest);
00333        break;
00334       case IIIMP_FILE_OPERATION_TYPE_RMDIR_REPLY:
00335        v->value = iiimp_rmdir_reply_unpack(data_s, &rest, &p, rest);
00336        break;
00337       case IIIMP_FILE_OPERATION_TYPE_SYMLINK_REPLY:
00338        v->value = iiimp_symlink_reply_unpack(data_s, &rest, &p, rest);
00339        break;
00340       case IIIMP_FILE_OPERATION_TYPE_STAT_REPLY:
00341        v->value = iiimp_stat_reply_unpack(data_s, &rest, &p, rest);
00342        break;
00343       case IIIMP_FILE_OPERATION_TYPE_LSTAT_REPLY:
00344        v->value = iiimp_lstat_reply_unpack(data_s, &rest, &p, rest);
00345        break;
00346       case IIIMP_FILE_OPERATION_TYPE_FSTAT_REPLY:
00347        v->value = iiimp_fstat_reply_unpack(data_s, &rest, &p, rest);
00348        break;
00349       case IIIMP_FILE_OPERATION_TYPE_CREAT_REPLY:
00350        v->value = iiimp_creat_reply_unpack(data_s, &rest, &p, rest);
00351        break;
00352       case IIIMP_FILE_OPERATION_TYPE_LSEEK_REPLY:
00353        v->value = iiimp_lseek_reply_unpack(data_s, &rest, &p, rest);
00354        break;
00355       case IIIMP_FILE_OPERATION_TYPE_UNLINK_REPLY:
00356        v->value = iiimp_unlink_reply_unpack(data_s, &rest, &p, rest);
00357        break;
00358       case IIIMP_FILE_OPERATION_TYPE_RENAME_REPLY:
00359        v->value = iiimp_rename_reply_unpack(data_s, &rest, &p, rest);
00360        break;
00361       case IIIMP_FILE_OPERATION_TYPE_FCNTL_REPLY:
00362        v->value = iiimp_fcntl_reply_unpack(data_s, &rest, &p, rest);
00363        break;
00364       case IIIMP_FILE_OPERATION_TYPE_TRUNCATE_REPLY:
00365        v->value = iiimp_truncate_reply_unpack(data_s, &rest, &p, rest);
00366        break;
00367       case IIIMP_FILE_OPERATION_TYPE_FTRUNCATE_REPLY:
00368        v->value = iiimp_ftruncate_reply_unpack(data_s, &rest, &p, rest);
00369        break;
00370     } 
00371 
00372     *nbyte = rest;
00373     *ptr = p;
00374 
00375     return m;
00376 }
00377 
00378 void
00379 iiimp_file_operation_reply_print(
00380     IIIMP_data_s *   data_s,
00381     IIIMP_message *  m)
00382 {
00383     iiimp_message_header_print(data_s, m->opcode, m->im_id, -1);
00384     (void)fprintf(data_s->print_fp, "\ttype = %d\n", m->v.file_operation_reply.type);
00385     (void)fputc('\n', data_s->print_fp);
00386 
00387     switch (m->v.file_operation_reply.type) {
00388       case IIIMP_FILE_OPERATION_TYPE_OPEN_REPLY:
00389        iiimp_open_reply_print(data_s, (IIIMP_open_reply *)m->v.file_operation_reply.value);
00390        break;
00391       case IIIMP_FILE_OPERATION_TYPE_READ_REPLY:
00392        iiimp_read_reply_print(data_s, (IIIMP_read_reply *)m->v.file_operation_reply.value);
00393        break;
00394       case IIIMP_FILE_OPERATION_TYPE_WRITE_REPLY:
00395        iiimp_write_reply_print(data_s, (IIIMP_write_reply *)m->v.file_operation_reply.value);
00396        break;
00397       case IIIMP_FILE_OPERATION_TYPE_CLOSE_REPLY:
00398        iiimp_close_reply_print(data_s, (IIIMP_close_reply *)m->v.file_operation_reply.value);
00399        break;
00400       case IIIMP_FILE_OPERATION_TYPE_OPENDIR_REPLY:
00401        iiimp_opendir_reply_print(data_s, (IIIMP_opendir_reply *)m->v.file_operation.value);
00402        break;
00403       case IIIMP_FILE_OPERATION_TYPE_CLOSEDIR_REPLY:
00404        iiimp_closedir_reply_print(data_s, (IIIMP_closedir_reply *)m->v.file_operation.value);
00405        break;
00406       case IIIMP_FILE_OPERATION_TYPE_SEEK_REPLY:
00407        iiimp_seek_reply_print(data_s, (IIIMP_seek_reply *)m->v.file_operation.value);
00408        break;
00409       case IIIMP_FILE_OPERATION_TYPE_MKDIR_REPLY:
00410        iiimp_mkdir_reply_print(data_s, (IIIMP_mkdir_reply *)m->v.file_operation.value);
00411        break;
00412       case IIIMP_FILE_OPERATION_TYPE_RMDIR_REPLY:
00413        iiimp_rmdir_reply_print(data_s, (IIIMP_rmdir_reply *)m->v.file_operation.value);
00414        break;
00415       case IIIMP_FILE_OPERATION_TYPE_SYMLINK_REPLY:
00416        iiimp_symlink_reply_print(data_s, (IIIMP_symlink_reply *)m->v.file_operation.value);
00417        break;
00418       case IIIMP_FILE_OPERATION_TYPE_STAT_REPLY:
00419        iiimp_stat_reply_print(data_s, (IIIMP_stat_reply *)m->v.file_operation.value);
00420        break;
00421       case IIIMP_FILE_OPERATION_TYPE_LSTAT_REPLY:
00422        iiimp_lstat_reply_print(data_s, (IIIMP_lstat_reply *)m->v.file_operation.value);
00423        break;
00424       case IIIMP_FILE_OPERATION_TYPE_FSTAT_REPLY:
00425        iiimp_fstat_reply_print(data_s, (IIIMP_fstat_reply *)m->v.file_operation.value);
00426        break;
00427       case IIIMP_FILE_OPERATION_TYPE_CREAT_REPLY:
00428        iiimp_creat_reply_print(data_s, (IIIMP_creat_reply *)m->v.file_operation.value);
00429        break;
00430       case IIIMP_FILE_OPERATION_TYPE_LSEEK_REPLY:
00431        iiimp_lseek_reply_print(data_s, (IIIMP_lseek_reply *)m->v.file_operation.value);
00432        break;
00433       case IIIMP_FILE_OPERATION_TYPE_UNLINK_REPLY:
00434        iiimp_unlink_reply_print(data_s, (IIIMP_unlink_reply *)m->v.file_operation.value);
00435        break;
00436       case IIIMP_FILE_OPERATION_TYPE_RENAME_REPLY:
00437        iiimp_rename_reply_print(data_s, (IIIMP_rename_reply *)m->v.file_operation.value);
00438        break;
00439       case IIIMP_FILE_OPERATION_TYPE_FCNTL_REPLY:
00440        iiimp_fcntl_reply_print(data_s, (IIIMP_fcntl_reply *)m->v.file_operation.value);
00441        break;
00442       case IIIMP_FILE_OPERATION_TYPE_TRUNCATE_REPLY:
00443        iiimp_truncate_reply_print(data_s, (IIIMP_truncate_reply *)m->v.file_operation.value);
00444        break;
00445       case IIIMP_FILE_OPERATION_TYPE_FTRUNCATE_REPLY:
00446        iiimp_ftruncate_reply_print(data_s, (IIIMP_ftruncate_reply *)m->v.file_operation.value);
00447        break;
00448     } 
00449 }
00450 
00451 /* Local Variables: */
00452 /* c-file-style: "iiim-project" */
00453 /* End: */