1 /* Copyright (c) 2003, 2005 MySQL AB
2    Use is subject to license terms
3 
4    This program is free software; you can redistribute it and/or modify
5    it under the terms of the GNU General Public License as published by
6    the Free Software Foundation; version 2 of the License.
7 
8    This program is distributed in the hope that it will be useful,
9    but WITHOUT ANY WARRANTY; without even the implied warranty of
10    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11    GNU General Public License for more details.
12 
13    You should have received a copy of the GNU General Public License
14    along with this program; if not, write to the Free Software
15    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA */
16 
17 #ifndef FS_CONF_H
18 #define FS_CONF_H
19 
20 #include "SignalData.hpp"
21 
22 /**
23  * FsConf - Common signal class for all CONF signals sent from Ndbfs
24  * GSN_FSCLOSECONF, GSN_FSOPENCONF, GSN_FSWRITECONF, GSN_FSREADCONF,
25  * GSN_FSSYNCCONF, GSN_FSREMOVECONF
26  */
27 
28 /**
29  *
30  * SENDER:  Ndbfs
31  * RECIVER:
32  */
33 class FsConf {
34   /**
35    * Reciver(s)
36    */
37   friend class Backup;
38   friend class Dbacc;
39   friend class Dbtup;
40   friend class Dbdict;
41   friend class Lgman;
42   friend class Tsman;
43   friend class Pgman;
44   friend class Restore;
45   /**
46    * Sender(s)
47    */
48   friend class Ndbfs;
49   friend class VoidFs;
50 
51   /**
52    * For printing
53    */
54   friend bool printFSCONF(FILE * output, const Uint32 * theData, Uint32 len, Uint16 receiverBlockNo);
55 
56 public:
57   /**
58    * Length of signal
59    */
60   /**
61    *  FSOPENCONF: static const UintR SignalLength = 2;
62    *  FSCLOSECONF, FSREADCONF, FSWRITECONF, FSSYNCCONF: static const UintR SignalLength = 2;
63    */
64 
65 private:
66 
67   /**
68    * DATA VARIABLES
69    */
70   UintR userPointer;          // DATA 0
71 
72   // Data 1
73   union {
74     UintR filePointer;          // FSOPENCONF
75     Uint32 bytes_read;          // FSREADCONF (when allow partial read)
76   };
77 };
78 
79 
80 
81 #endif
82