Eneboo - Documentación para desarrolladores
|
00001 /* Copyright (C) 2000 MySQL AB 00002 00003 This program is free software; you can redistribute it and/or modify 00004 it under the terms of the GNU General Public License as published by 00005 the Free Software Foundation; either version 2 of the License, or 00006 (at your option) any later version. 00007 00008 This program is distributed in the hope that it will be useful, 00009 but WITHOUT ANY WARRANTY; without even the implied warranty of 00010 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00011 GNU General Public License for more details. 00012 00013 You should have received a copy of the GNU General Public License 00014 along with this program; if not, write to the Free Software 00015 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ 00016 00017 /* 00018 Static variables for mysys library. All definied here for easy making of 00019 a shared library 00020 */ 00021 00022 C_MODE_START 00023 #include <signal.h> 00024 00025 #define MAX_SIGNALS 10 /* Max signals under a dont-allow */ 00026 #define MIN_KEYBLOCK (min(IO_SIZE,1024)) 00027 #define MAX_KEYBLOCK 8192 /* Max keyblocklength == 8*IO_SIZE */ 00028 #define MAX_BLOCK_TYPES MAX_KEYBLOCK/MIN_KEYBLOCK 00029 00030 struct st_remember { 00031 int number; 00032 sig_handler (*func)(int number); 00033 }; 00034 00035 /* 00036 Structure that stores information of a allocated memory block 00037 The data is at &struct_adr+sizeof(ALIGN_SIZE(sizeof(struct irem))) 00038 The lspecialvalue is at the previous 4 bytes from this, which may not 00039 necessarily be in the struct if the struct size isn't aligned at a 8 byte 00040 boundary. 00041 */ 00042 00043 struct st_irem 00044 { 00045 struct st_irem *next; /* Linked list of structures */ 00046 struct st_irem *prev; /* Other link */ 00047 char *filename; /* File in which memory was new'ed */ 00048 uint32 linenum; /* Line number in above file */ 00049 uint32 datasize; /* Size requested */ 00050 uint32 SpecialValue; /* Underrun marker value */ 00051 }; 00052 00053 00054 extern char NEAR curr_dir[FN_REFLEN],NEAR home_dir_buff[FN_REFLEN]; 00055 00056 extern volatile int _my_signals; 00057 extern struct st_remember _my_sig_remember[MAX_SIGNALS]; 00058 00059 extern const char *soundex_map; 00060 00061 extern USED_MEM* my_once_root_block; 00062 extern uint my_once_extra; 00063 00064 #if !defined(HAVE_TEMPNAM) || defined(HPUX11) 00065 extern int _my_tempnam_used; 00066 #endif 00067 00068 extern byte *sf_min_adress,*sf_max_adress; 00069 extern uint sf_malloc_count; 00070 extern struct st_irem *sf_malloc_root; 00071 00072 extern struct st_my_file_info my_file_info_default[MY_NFILE]; 00073 00074 #if defined(THREAD) && !defined(__WIN__) 00075 extern sigset_t my_signals; /* signals blocked by mf_brkhant */ 00076 #endif 00077 C_MODE_END