summaryrefslogtreecommitdiff
path: root/storage/ndb/src/common/debugger/signaldata/TcIndx.cpp
blob: 97bd069e9da7b3d81c15688f9cc388cf2e6b917c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
/* Copyright (C) 2003 MySQL AB

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; version 2 of the License.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */

#include <signaldata/TcIndx.hpp>
#include <signaldata/TcKeyReq.hpp>
#include <BlockNumbers.h>


bool
printTCINDXCONF(FILE * output, const Uint32 * theData, Uint32 len, Uint16 receiverBlockNo){
  
  if (receiverBlockNo == API_PACKED) {
    fprintf(output, "Signal data: ");
    Uint32 i = 0;
    while (i < len)
      fprintf(output, "H\'%.8x ", theData[i++]);
    fprintf(output,"\n");
  }
  else {
    const TcIndxConf * const sig = (TcIndxConf *) theData;
    
    fprintf(output, "Signal data: ");
    Uint32 i = 0;
    Uint32 confInfo = sig->confInfo;
    Uint32 noOfOp = TcIndxConf::getNoOfOperations(confInfo);
    while (i < len)
      fprintf(output, "H\'%.8x ", theData[i++]);
    fprintf(output,"\n");
    fprintf(output, "apiConnectPtr: H'%.8x, gci: %u, transId:(H'%.8x, H'%.8x)\n",
	    sig->apiConnectPtr, sig->gci, sig->transId1, sig->transId2);
    
    fprintf(output, "noOfOperations: %u, commitFlag: %s, markerFlag: %s\n", 
	    noOfOp,
	    (TcIndxConf::getCommitFlag(confInfo) == 0)?"false":"true",
	    (TcIndxConf::getMarkerFlag(confInfo) == 0)?"false":"true");
    fprintf(output, "Operations:\n");
    for(i = 0; i < noOfOp; i++) {
      fprintf(output,
	      "apiOperationPtr: H'%.8x, attrInfoLen: %u\n",
	      sig->operations[i].apiOperationPtr,
	      sig->operations[i].attrInfoLen);
    }
  }

  return true;
}

bool
printTCINDXREF(FILE * output, const Uint32 * theData, Uint32 len, Uint16 receiverBlockNo){
  
//  const TcIndxRef * const sig = (TcIndxRef *) theData;
  
  fprintf(output, "Signal data: ");
  Uint32 i = 0;
  while (i < len)
    fprintf(output, "H\'%.8x ", theData[i++]);
  fprintf(output,"\n");
  
  return true;
}