mySQL 5.0.11 sources for tomato
[tomato.git] / release / src / router / mysql / storage / ndb / include / kernel / signaldata / GCPSave.hpp
blob2851c3cd5488b650cbfb2690b74b40eb49106c0a
1 /* Copyright (c) 2003, 2005 MySQL AB
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License as published by
5 the Free Software Foundation; version 2 of the License.
7 This program is distributed in the hope that it will be useful,
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 GNU General Public License for more details.
12 You should have received a copy of the GNU General Public License
13 along with this program; if not, write to the Free Software
14 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */
16 #ifndef GCP_SAVE_HPP
17 #define GCP_SAVE_HPP
19 #include "SignalData.hpp"
21 /**
22 * GCPSaveReq / (Ref/Conf) is sent as part of GCP
24 class GCPSaveReq {
25 /**
26 * Sender(s)
28 friend class Dbdih;
30 /**
31 * Reciver(s)
33 friend class Dblqh;
35 friend bool printGCPSaveReq(FILE * output, const Uint32 * theData,
36 Uint32 len, Uint16 receiverBlockNo);
37 public:
38 STATIC_CONST( SignalLength = 3 );
40 private:
41 Uint32 dihBlockRef;
42 Uint32 dihPtr;
43 Uint32 gci;
46 class GCPSaveRef {
47 /**
48 * Sender(s)
50 friend class Dblqh;
52 /**
53 * Reciver(s)
55 friend class Dbdih;
57 friend bool printGCPSaveRef(FILE * output, const Uint32 * theData,
58 Uint32 len, Uint16 receiverBlockNo);
59 public:
60 STATIC_CONST( SignalLength = 4 );
62 enum ErrorCode {
63 NodeShutdownInProgress = 1,
64 FakedSignalDueToNodeFailure = 2,
65 NodeRestartInProgress = 3
68 private:
69 Uint32 dihPtr;
70 Uint32 nodeId;
71 Uint32 gci;
72 Uint32 errorCode;
75 class GCPSaveConf {
76 /**
77 * Sender(s)
79 friend class Dblqh;
81 /**
82 * Reciver(s)
84 friend class Dbdih;
86 friend bool printGCPSaveConf(FILE * output, const Uint32 * theData,
87 Uint32 len, Uint16 receiverBlockNo);
88 public:
89 STATIC_CONST( SignalLength = 3 );
91 private:
92 Uint32 dihPtr;
93 Uint32 nodeId;
94 Uint32 gci;
97 #endif