Drizzled Public API Documentation

my_static.h
1 /* Copyright (C) 2000 MySQL AB
2 
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.
6 
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.
11 
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 St, Fifth Floor, Boston, MA 02110-1301 USA */
15 
16 /*
17  Static variables for mysys library. All definied here for easy making of
18  a shared library
19 */
20 
21 #pragma once
22 
23 #include <signal.h>
24 
25 #define MIN_KEYBLOCK (min(IO_SIZE,1024))
26 #define MAX_KEYBLOCK 8192 /* Max keyblocklength == 8*IO_SIZE */
27 
28 namespace drizzled
29 {
30 namespace internal
31 {
32 
33 /*
34  Structure that stores information of a allocated memory block
35  The data is at &struct_adr+sizeof(ALIGN_SIZE(sizeof(struct irem)))
36  The lspecialvalue is at the previous 4 bytes from this, which may not
37  necessarily be in the struct if the struct size isn't aligned at a 8 byte
38  boundary.
39 */
40 
41 class irem
42 {
43 public:
44  irem *next; /* Linked list of structures */
45  irem *prev; /* Other link */
46  char *filename; /* File in which memory was new'ed */
47  uint32_t linenum; /* Line number in above file */
48  uint32_t datasize; /* Size requested */
49  uint32_t SpecialValue; /* Underrun marker value */
50 
51  irem():
52  next(NULL),
53  prev(NULL),
54  filename(0),
55  linenum(0),
56  datasize(0),
57  SpecialValue(0)
58  {}
59 };
60 
61 
62 extern char curr_dir[FN_REFLEN], home_dir_buff[FN_REFLEN];
63 
64 extern volatile int _my_signals;
65 
66 extern uint64_t query_performance_frequency, query_performance_offset;
67 
68 extern sigset_t my_signals; /* signals blocked by mf_brkhant */
69 
70 } /* namespace internal */
71 } /* namespace drizzled */
72