FsReadWriteReq.cpp
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:3k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /* Copyright (C) 2003 MySQL AB
  2.    This program is free software; you can redistribute it and/or modify
  3.    it under the terms of the GNU General Public License as published by
  4.    the Free Software Foundation; either version 2 of the License, or
  5.    (at your option) any later version.
  6.    This program is distributed in the hope that it will be useful,
  7.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  8.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  9.    GNU General Public License for more details.
  10.    You should have received a copy of the GNU General Public License
  11.    along with this program; if not, write to the Free Software
  12.    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
  13. #include <signaldata/FsReadWriteReq.hpp>
  14. bool
  15. printFSREADWRITEREQ(FILE * output, const Uint32 * theData, 
  16.     Uint32 len, Uint16 receiverBlockNo){
  17.   bool ret = true;
  18.   
  19.   const FsReadWriteReq * const sig = (FsReadWriteReq *) theData;
  20.   
  21.   fprintf(output, " UserPointer: %dn", sig->userPointer);
  22.   fprintf(output, " FilePointer: %dn", sig->filePointer);
  23.   fprintf(output, " UserReference: H'%.8x", sig->userReference);
  24.   fprintf(output, " Operation flag: H'%.8x (", sig->operationFlag);
  25.   if (sig->getSyncFlag(sig->operationFlag))
  26.     fprintf(output, "Sync,");
  27.   else
  28.     fprintf(output, "No sync,");
  29.   fprintf(output, " Format=");
  30.   switch(sig->getFormatFlag(sig->operationFlag)){
  31.   case FsReadWriteReq::fsFormatListOfPairs:
  32.     fprintf(output, "List of pairs)n");
  33.     break;
  34.   case FsReadWriteReq::fsFormatArrayOfPages:
  35.     fprintf(output, "Array of pages)n");
  36.     break;
  37.   case FsReadWriteReq::fsFormatListOfMemPages:
  38.     fprintf(output, "List of mem pages)n");
  39.     break;
  40.   default:
  41.     fprintf(output, "fsFormatMax not handledn");
  42.     ret = false;
  43.     break;
  44.   }
  45.     
  46.   fprintf(output, " varIndex: %dn", 
  47.   sig->varIndex);    
  48.   fprintf(output, " numberOfPages: %dn", 
  49.   sig->numberOfPages);
  50.   fprintf(output, " pageData: ");
  51.   unsigned int i;
  52.   switch(sig->getFormatFlag(sig->operationFlag)){
  53.   case FsReadWriteReq::fsFormatListOfPairs:
  54.     for (i= 0; i < sig->numberOfPages*2; i += 2){
  55.       fprintf(output, " H'%.8x, H'%.8xn", sig->data.pageData[i], 
  56.                                              sig->data.pageData[i + 1]);
  57.     }
  58.     break;
  59.   case FsReadWriteReq::fsFormatArrayOfPages:
  60.     fprintf(output, " H'%.8x, H'%.8xn", sig->data.pageData[0], 
  61.                                            sig->data.pageData[1]);
  62.     break;
  63.   case FsReadWriteReq::fsFormatListOfMemPages:
  64.     for (i= 0; i < (sig->numberOfPages + 1); i++){
  65.       fprintf(output, " H'%.8x, ", sig->data.pageData[i]);
  66.     }
  67.     break;
  68.   default:
  69.     fprintf(output, "Impossible eventn");
  70.   }
  71.   fprintf(output, "n");
  72.   return ret;
  73. }