~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to mysys/my_sys.h

Merge Monty

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
#ifndef MYSYS_MY_SYS_H
22
22
#define MYSYS_MY_SYS_H
23
23
 
 
24
#ifdef __cplusplus
 
25
# include <cstdio>
 
26
#else
 
27
# include <stdio.h>
 
28
#endif
 
29
 
24
30
#include <errno.h>
25
31
#define my_errno (errno)
26
32
 
33
39
 
34
40
#include <mysys/my_alloc.h>
35
41
 
 
42
#ifndef errno                           /* did we already get it? */
 
43
#ifdef HAVE_ERRNO_AS_DEFINE
 
44
#include <errno.h>                      /* errno is a define */
 
45
#else
 
46
extern int errno;                       /* declare errno */
 
47
#endif
 
48
#endif                                  /* #ifndef errno */
 
49
 
 
50
#include <mysys/my_alloc.h>
 
51
#include <mysys/dynamic_array.h>
 
52
 
 
53
#include <sys/mman.h>
 
54
 
 
55
#ifndef MAP_NOSYNC
 
56
#define MAP_NOSYNC      0
 
57
#endif
 
58
#ifndef MAP_NORESERVE
 
59
#define MAP_NORESERVE 0         /* For irix and AIX */
 
60
#endif
 
61
 
 
62
 
36
63
/* Sun Studio does not inject this into main namespace yet */
37
64
#if defined(__cplusplus)
38
65
  using std::FILE;
119
146
typedef int  (*qsort_cmp)(const void *,const void *);
120
147
typedef int  (*qsort_cmp2)(void*, const void *,const void *);
121
148
 
 
149
typedef uint64_t my_off_t;
 
150
 
122
151
#define TRASH(A,B) /* nothing */
123
152
 
124
 
#ifndef errno                           /* did we already get it? */
125
 
#ifdef HAVE_ERRNO_AS_DEFINE
126
 
#include <errno.h>                      /* errno is a define */
127
 
#else
128
 
extern int errno;                       /* declare errno */
129
 
#endif
130
 
#endif                                  /* #ifndef errno */
131
153
extern char *home_dir;                  /* Home directory for user */
132
154
extern const char *my_progname;         /* program-name (printed in errors) */
133
155
typedef void (*error_handler_func)(uint32_t my_err, const char *str,myf MyFlags);
194
216
 
195
217
typedef struct st_record_cache  /* Used when cacheing records */
196
218
{
197
 
  File file;
 
219
  int file;
198
220
  int   rc_seek,error,inited;
199
221
  uint  rc_length,read_length,reclength;
200
222
  my_off_t rc_record_pos,end_of_file;
258
280
 
259
281
extern int my_copy(const char *from,const char *to,myf MyFlags);
260
282
extern int my_delete(const char *name,myf MyFlags);
261
 
extern File my_open(const char *FileName,int Flags,myf MyFlags);
262
 
extern File my_register_filename(File fd, const char *FileName,
 
283
extern int my_open(const char *FileName,int Flags,myf MyFlags);
 
284
extern int my_register_filename(int fd, const char *FileName,
263
285
                                 uint32_t error_message_number, myf MyFlags);
264
 
extern File my_create(const char *FileName,int CreateFlags,
 
286
extern int my_create(const char *FileName,int CreateFlags,
265
287
                      int AccessFlags, myf MyFlags);
266
 
extern int my_close(File Filedes,myf MyFlags);
 
288
extern int my_close(int Filedes,myf MyFlags);
267
289
extern int my_mkdir(const char *dir, int Flags, myf MyFlags);
268
290
extern int my_realpath(char *to, const char *filename, myf MyFlags);
269
 
extern File my_create_with_symlink(const char *linkname, const char *filename,
 
291
extern int my_create_with_symlink(const char *linkname, const char *filename,
270
292
                                   int createflags, int access_flags,
271
293
                                   myf MyFlags);
272
294
extern int my_delete_with_symlink(const char *name, myf MyFlags);
273
295
extern int my_rename_with_symlink(const char *from,const char *to,myf MyFlags);
274
 
extern size_t my_read(File Filedes,unsigned char *Buffer,size_t Count,myf MyFlags);
 
296
extern size_t my_read(int Filedes,unsigned char *Buffer,size_t Count,myf MyFlags);
275
297
extern int my_rename(const char *from,const char *to,myf MyFlags);
276
 
extern size_t my_write(File Filedes,const unsigned char *Buffer,size_t Count,
 
298
extern size_t my_write(int Filedes,const unsigned char *Buffer,size_t Count,
277
299
                     myf MyFlags);
278
300
extern int _sanity(const char *sFile, uint32_t uLine);
279
301
 
283
305
#define my_delete_allow_opened(fname,flags)  my_delete((fname),(flags))
284
306
 
285
307
extern void init_glob_errs(void);
286
 
extern int my_sync(File fd, myf my_flags);
 
308
extern int my_sync(int fd, myf my_flags);
287
309
extern int my_sync_dir(const char *dir_name, myf my_flags);
288
310
extern int my_sync_dir_by_file(const char *file_name, myf my_flags);
289
311
extern void my_error(int nr,myf MyFlags, ...);
298
320
extern void my_end(void);
299
321
extern int my_redel(const char *from, const char *to, int MyFlags);
300
322
extern int my_copystat(const char *from, const char *to, int MyFlags);
301
 
extern char * my_filename(File fd);
 
323
extern char * my_filename(int fd);
302
324
 
303
325
extern void my_remember_signal(int signal_number,void (*func)(int));
304
326
extern size_t dirname_part(char * to,const char *name, size_t *to_res_length);
326
348
extern bool array_append_string_unique(const char *str,
327
349
                                          const char **array, size_t size);
328
350
extern void get_date(char * to,int timeflag,time_t use_time);
329
 
extern int init_record_cache(RECORD_CACHE *info,size_t cachesize,File file,
 
351
extern int init_record_cache(RECORD_CACHE *info,size_t cachesize,int file,
330
352
                             size_t reclength,enum cache_type type,
331
353
                             bool use_async_io);
332
354
extern int read_cache_record(RECORD_CACHE *info,unsigned char *to);
348
370
extern qsort2_cmp get_ptr_compare(size_t);
349
371
void my_store_ptr(unsigned char *buff, size_t pack_length, my_off_t pos);
350
372
my_off_t my_get_ptr(unsigned char *ptr, size_t pack_length);
351
 
File create_temp_file(char *to, const char *dir, const char *pfx, myf MyFlags);
 
373
int create_temp_file(char *to, const char *dir, const char *pfx, myf MyFlags);
352
374
 
353
375
#include <mysys/dynamic_array.h>
354
376
 
373
395
extern uint64_t my_micro_time(void);
374
396
extern uint64_t my_micro_time_and_time(time_t *time_arg);
375
397
 
376
 
#include <sys/mman.h>
377
 
 
378
 
#ifndef MAP_NOSYNC
379
 
#define MAP_NOSYNC      0
380
 
#endif
381
 
#ifndef MAP_NORESERVE
382
 
#define MAP_NORESERVE 0         /* For irix and AIX */
383
 
#endif
384
 
 
385
398
 
386
399
/* character sets */
387
400
void *cs_alloc(size_t size);