mySQL 5.0.11 sources for tomato
[tomato.git] / release / src / router / mysql / storage / ndb / include / kernel / signaldata / ApiRegSignalData.hpp
blob63e472abde107254fe1882eed00c52fd78dbab03
1 /* Copyright (c) 2003-2005, 2007 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 API_REGCONF_HPP
17 #define API_REGCONF_HPP
19 #include <NodeState.hpp>
21 class ApiRegReq {
22 /**
23 * Sender(s)
25 friend class ClusterMgr;
27 /**
28 * Reciver(s)
30 friend class Qmgr;
32 public:
33 STATIC_CONST( SignalLength = 2 );
35 private:
36 Uint32 ref;
37 Uint32 version; // Version of API node
40 /**
43 class ApiRegRef {
44 /**
45 * Sender(s)
47 friend class Qmgr;
49 /**
50 * Reciver(s)
52 friend class ClusterMgr;
54 public:
55 STATIC_CONST( SignalLength = 3 );
57 enum ErrorCode {
58 WrongType = 1,
59 UnsupportedVersion = 2
61 private:
62 Uint32 ref; // Qmgr ref
63 Uint32 version; // Version of NDB node
64 Uint32 errorCode;
67 /**
70 class ApiRegConf {
71 /**
72 * Sender(s)
74 friend class Qmgr;
76 /**
77 * Reciver(s)
79 friend class ClusterMgr;
81 public:
82 STATIC_CONST( SignalLength = 4 + NodeState::DataLength );
83 private:
85 Uint32 qmgrRef;
86 Uint32 version; // Version of NDB node
87 Uint32 apiHeartbeatFrequency;
88 Uint32 minDbVersion;
89 NodeState nodeState;
92 #endif