summaryrefslogtreecommitdiff
path: root/include/my_sys.h
diff options
context:
space:
mode:
authorVladislav Vaintroub <wlad@montyprogram.com>2011-07-05 21:46:53 +0200
committerVladislav Vaintroub <wlad@montyprogram.com>2011-07-05 21:46:53 +0200
commitf9cb1467b84aba6cdc3178617def27c2993f016d (patch)
treeb415e273aafc2a6f0612b1f6cc55dbb0b0a06827 /include/my_sys.h
parent9e95a54793920ade348399a74a1e39ea3a27b635 (diff)
parentb48dc8306f2b729bef09f9cdf30d7897726b873e (diff)
downloadmariadb-git-f9cb1467b84aba6cdc3178617def27c2993f016d.tar.gz
merge Windows performance patches into 5.3
Diffstat (limited to 'include/my_sys.h')
-rw-r--r--include/my_sys.h23
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);