~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/internal/my_sys.h

  • Committer: Olaf van der Spek
  • Date: 2011-02-12 18:24:24 UTC
  • mto: (2167.1.2 build) (2172.1.4 build)
  • mto: This revision was merged to the branch mainline in revision 2168.
  • Revision ID: olafvdspek@gmail.com-20110212182424-kgnm9osi7qo97at2
casts

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