~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/internal/my_sys.h

Merge Joe, plus I updated the tests.

Show diffs side-by-side

added added

removed removed

Lines of Context:
18
18
 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
19
19
 */
20
20
 
21
 
 
22
 
 
23
21
#ifndef DRIZZLED_INTERNAL_MY_SYS_H
24
22
#define DRIZZLED_INTERNAL_MY_SYS_H
25
23
 
35
33
 
36
34
#include "drizzled/charset_info.h"                    /* for CHARSET_INFO */
37
35
#include <stdarg.h>
 
36
#include "drizzled/typelib.h"
38
37
#include "drizzled/internal/aio_result.h"
39
38
 
40
39
#include "drizzled/memory/root.h"
50
49
 
51
50
#include <drizzled/dynamic_array.h>
52
51
 
53
 
#ifdef HAVE_SYS_MMAN_H 
54
52
#include <sys/mman.h>
55
 
#endif
56
53
 
57
54
#include "drizzled/qsort_cmp.h"
58
55
 
59
 
#include "drizzled/visibility.h"
60
 
 
61
56
namespace drizzled
62
57
{
63
58
namespace internal
154
149
extern bool     my_init_done;
155
150
 
156
151
                                        /* Executed when comming from shell */
157
 
extern DRIZZLED_API int my_umask,               /* Default creation mask  */
 
152
extern int my_umask,            /* Default creation mask  */
158
153
           my_umask_dir,
159
154
           my_recived_signals,  /* Signals we have got */
160
155
           my_safe_to_handle_signal, /* Set when allowed to SIGTSTP */
174
169
 
175
170
extern bool timed_mutexes;
176
171
 
177
 
typedef class wild_file_pack    /* Struct to hold info when selecting files */
 
172
typedef struct wild_file_pack   /* Struct to hold info when selecting files */
178
173
{
179
 
public:
180
174
  uint          wilds;          /* How many wildcards */
181
175
  uint          not_pos;        /* Start of not-theese-files */
182
176
  char *        *wild;          /* Pointer to wildcards */
183
 
 
184
 
  wild_file_pack():
185
 
    wilds(0),
186
 
    not_pos(0),
187
 
    wild(NULL)
188
 
  {}
189
 
 
190
177
} WF_PACK;
191
178
 
192
179
enum cache_type
199
186
  WRITE_NET
200
187
};
201
188
 
202
 
typedef struct record_cache     /* Used when cacheing records */
 
189
typedef struct st_record_cache  /* Used when cacheing records */
203
190
{
204
 
public:
205
191
  int file;
206
192
  int   rc_seek,error,inited;
207
193
  uint  rc_length,read_length,reclength;
212
198
  my_aio_result aio_result;
213
199
#endif
214
200
  enum cache_type type;
215
 
 
216
 
  record_cache():
217
 
    file(0),
218
 
    rc_seek(0),
219
 
    error(0),
220
 
    inited(0),
221
 
    rc_length(0),
222
 
    read_length(0),
223
 
    reclength(0),
224
 
    rc_record_pos(0),
225
 
    end_of_file(0),
226
 
    rc_buff(NULL),
227
 
    rc_buff2(NULL),
228
 
    rc_pos(NULL),
229
 
    rc_end(NULL),
230
 
    rc_request_pos(NULL)
231
 
  {}
232
 
 
233
201
} RECORD_CACHE;
234
202
 
235
203
 
277
245
        /* Prototypes for mysys and my_func functions */
278
246
 
279
247
extern int my_copy(const char *from,const char *to,myf MyFlags);
280
 
DRIZZLED_API int my_delete(const char *name,myf MyFlags);
281
 
DRIZZLED_API int my_open(const char *FileName,int Flags,myf MyFlags);
 
248
extern int my_delete(const char *name,myf MyFlags);
 
249
extern int my_open(const char *FileName,int Flags,myf MyFlags);
282
250
extern int my_register_filename(int fd, const char *FileName,
283
 
                                uint32_t error_message_number, myf MyFlags);
284
 
DRIZZLED_API int my_create(const char *FileName,int CreateFlags,
285
 
                           int AccessFlags, myf MyFlags);
286
 
DRIZZLED_API int my_close(int Filedes,myf MyFlags);
 
251
                                 uint32_t error_message_number, myf MyFlags);
 
252
extern int my_create(const char *FileName,int CreateFlags,
 
253
                      int AccessFlags, myf MyFlags);
 
254
extern int my_close(int Filedes,myf MyFlags);
287
255
extern int my_mkdir(const char *dir, int Flags, myf MyFlags);
288
256
extern int my_realpath(char *to, const char *filename, myf MyFlags);
289
257
extern int my_create_with_symlink(const char *linkname, const char *filename,
290
 
                                  int createflags, int access_flags,
291
 
                                  myf MyFlags);
292
 
DRIZZLED_API int my_delete_with_symlink(const char *name, myf MyFlags);
 
258
                                   int createflags, int access_flags,
 
259
                                   myf MyFlags);
 
260
extern int my_delete_with_symlink(const char *name, myf MyFlags);
293
261
extern int my_rename_with_symlink(const char *from,const char *to,myf MyFlags);
294
 
DRIZZLED_API size_t my_read(int Filedes,unsigned char *Buffer,size_t Count,myf MyFlags);
295
 
DRIZZLED_API int my_rename(const char *from, const char *to,myf MyFlags);
296
 
DRIZZLED_API size_t my_write(int Filedes, const unsigned char *Buffer,
297
 
                             size_t Count, myf MyFlags);
 
262
extern size_t my_read(int Filedes,unsigned char *Buffer,size_t Count,myf MyFlags);
 
263
extern int my_rename(const char *from,const char *to,myf MyFlags);
 
264
extern size_t my_write(int Filedes,const unsigned char *Buffer,size_t Count,
 
265
                     myf MyFlags);
298
266
extern int _sanity(const char *sFile, uint32_t uLine);
299
267
 
300
268
extern int check_if_legal_filename(const char *path);
301
269
extern int check_if_legal_tablename(const char *path);
302
270
 
303
 
DRIZZLED_API int my_sync(int fd, myf my_flags);
 
271
#define my_delete_allow_opened(fname,flags)  my_delete((fname),(flags))
 
272
 
 
273
extern int my_sync(int fd, myf my_flags);
304
274
extern int my_sync_dir(const char *dir_name, myf my_flags);
305
275
extern int my_sync_dir_by_file(const char *file_name, myf my_flags);
306
276
extern bool my_init(void);
318
288
extern char *convert_dirname(char *to, const char *from, const char *from_end);
319
289
extern char * fn_ext(const char *name);
320
290
extern char * fn_same(char * toname,const char *name,int flag);
321
 
DRIZZLED_API char * fn_format(char * to,const char *name,const char *dir,
322
 
                              const char *form, uint32_t flag);
 
291
extern char * fn_format(char * to,const char *name,const char *dir,
 
292
                           const char *form, uint32_t flag);
323
293
extern size_t strlength(const char *str);
324
294
extern size_t unpack_dirname(char * to,const char *from);
325
295
extern size_t unpack_filename(char * to,const char *from);
330
300
extern int wild_compare(const char *str,const char *wildstr,
331
301
                        bool str_is_pattern);
332
302
extern WF_PACK *wf_comp(char * str);
333
 
extern int wf_test(wild_file_pack *wf_pack,const char *name);
334
 
extern void wf_end(wild_file_pack *buffer);
 
303
extern int wf_test(struct wild_file_pack *wf_pack,const char *name);
 
304
extern void wf_end(struct wild_file_pack *buffer);
335
305
extern bool array_append_string_unique(const char *str,
336
306
                                          const char **array, size_t size);
337
307
extern void get_date(char * to,int timeflag,time_t use_time);
355
325
extern void my_qsort2(void *base_ptr, size_t total_elems, size_t size,
356
326
                      qsort2_cmp cmp, void *cmp_argument);
357
327
extern qsort2_cmp get_ptr_compare(size_t);
358
 
DRIZZLED_API void my_store_ptr(unsigned char *buff, size_t pack_length, my_off_t pos);
359
 
DRIZZLED_API my_off_t my_get_ptr(unsigned char *ptr, size_t pack_length);
 
328
void my_store_ptr(unsigned char *buff, size_t pack_length, my_off_t pos);
 
329
my_off_t my_get_ptr(unsigned char *ptr, size_t pack_length);
360
330
int create_temp_file(char *to, const char *dir, const char *pfx, myf MyFlags);
361
331
 
362
332
extern int get_defaults_options(int argc, char **argv,