diff options
author | Vladislav Vaintroub <wlad@montyprogram.com> | 2011-07-05 21:46:53 +0200 |
---|---|---|
committer | Vladislav Vaintroub <wlad@montyprogram.com> | 2011-07-05 21:46:53 +0200 |
commit | f9cb1467b84aba6cdc3178617def27c2993f016d (patch) | |
tree | b415e273aafc2a6f0612b1f6cc55dbb0b0a06827 /include/my_sys.h | |
parent | 9e95a54793920ade348399a74a1e39ea3a27b635 (diff) | |
parent | b48dc8306f2b729bef09f9cdf30d7897726b873e (diff) | |
download | mariadb-git-f9cb1467b84aba6cdc3178617def27c2993f016d.tar.gz |
merge Windows performance patches into 5.3
Diffstat (limited to 'include/my_sys.h')
-rw-r--r-- | include/my_sys.h | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/include/my_sys.h b/include/my_sys.h index 41e04265946..553389fc3be 100644 --- a/include/my_sys.h +++ b/include/my_sys.h @@ -342,11 +342,12 @@ enum file_type struct st_my_file_info { - char * name; - enum file_type type; -#if defined(THREAD) && !defined(HAVE_PREAD) - pthread_mutex_t mutex; + char *name; +#ifdef _WIN32 + HANDLE fhandle; /* win32 file handle */ + int oflag; /* open flags, e.g O_APPEND */ #endif + enum file_type type; }; extern struct st_my_file_info *my_file_info; @@ -652,12 +653,12 @@ extern void *my_memmem(const void *haystack, size_t haystacklen, const void *needle, size_t needlelen); -#ifdef __WIN__ -extern int my_access(const char *path, int amode); -extern File my_sopen(const char *path, int oflag, int shflag, int pmode); +#ifdef _WIN32 +extern int my_access(const char *path, int amode); #else #define my_access access #endif + extern int check_if_legal_filename(const char *path); extern int check_if_legal_tablename(const char *path); @@ -668,6 +669,13 @@ extern int nt_share_delete(const char *name,myf MyFlags); #define my_delete_allow_opened(fname,flags) my_delete((fname),(flags)) #endif +#ifdef _WIN32 +/* Windows-only functions (CRT equivalents)*/ +extern File my_sopen(const char *path, int oflag, int shflag, int pmode); +extern HANDLE my_get_osfhandle(File fd); +extern void my_osmaperr(unsigned long last_error); +#endif + #ifndef TERMINATE extern void TERMINATE(FILE *file, uint flag); #endif @@ -677,6 +685,7 @@ extern FILE *my_fopen(const char *FileName,int Flags,myf MyFlags); extern FILE *my_fdopen(File Filedes,const char *name, int Flags,myf MyFlags); extern FILE *my_freopen(const char *path, const char *mode, FILE *stream); extern int my_fclose(FILE *fd,myf MyFlags); +extern File my_fileno(FILE *fd); extern int my_chsize(File fd,my_off_t newlength, int filler, myf MyFlags); extern int my_chmod(const char *name, mode_t mode, myf my_flags); extern int my_sync(File fd, myf my_flags); |