MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
FsOpenReq.cpp
1 /*
2  Copyright (C) 2003, 2005, 2006 MySQL AB, 2008 Sun Microsystems, Inc.
3  All rights reserved. Use is subject to license terms.
4 
5  This program is free software; you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation; version 2 of the License.
8 
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  GNU General Public License for more details.
13 
14  You should have received a copy of the GNU General Public License
15  along with this program; if not, write to the Free Software
16  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17 */
18 
19 
20 
21 #include <signaldata/FsOpenReq.hpp>
22 
23 bool
24 printFSOPENREQ(FILE * output, const Uint32 * theData, Uint32 len, Uint16 receiverBlockNo){
25 
26  const FsOpenReq * const sig = (FsOpenReq *) theData;
27 
28 
29  fprintf(output, " UserReference: H\'%.8x, userPointer: H\'%.8x\n",
30  sig->userReference, sig->userPointer);
31  fprintf(output, " FileNumber[1-4]: H\'%.8x H\'%.8x H\'%.8x H\'%.8x\n",
32  sig->fileNumber[0], sig->fileNumber[1], sig->fileNumber[2], sig->fileNumber[3]);
33  fprintf(output, " FileFlags: H\'%.8x ",
34  sig->fileFlags);
35 
36  // File open mode must be one of ReadOnly, WriteOnly or ReadWrite
37  const Uint32 flags = sig->fileFlags;
38  switch(flags & 3){
39  case FsOpenReq::OM_READONLY:
40  fprintf(output, "Open read only");
41  break;
42  case FsOpenReq::OM_WRITEONLY:
43  fprintf(output, "Open write only");
44  break;
45  case FsOpenReq::OM_READWRITE:
46  fprintf(output, "Open read and write");
47  break;
48  default:
49  fprintf(output, "Open mode unknown!");
50  }
51 
52  if (flags & FsOpenReq::OM_APPEND)
53  fprintf(output, ", Append");
54  if (flags & FsOpenReq::OM_SYNC)
55  fprintf(output, ", Sync");
56  if (flags & FsOpenReq::OM_CREATE)
57  fprintf(output, ", Create new file");
58  if (flags & FsOpenReq::OM_TRUNCATE)
59  fprintf(output, ", Truncate existing file");
60  if (flags & FsOpenReq::OM_AUTOSYNC)
61  fprintf(output, ", Auto Sync");
62 
63  if (flags & FsOpenReq::OM_CREATE_IF_NONE)
64  fprintf(output, ", Create if None");
65  if (flags & FsOpenReq::OM_INIT)
66  fprintf(output, ", Initialise");
67  if (flags & FsOpenReq::OM_CHECK_SIZE)
68  fprintf(output, ", Check Size");
69  if (flags & FsOpenReq::OM_DIRECT)
70  fprintf(output, ", O_DIRECT");
71  if (flags & FsOpenReq::OM_GZ)
72  fprintf(output, ", gz compressed");
73 
74  fprintf(output, "\n");
75  return true;
76 }