aboutsummaryrefslogtreecommitdiff
path: root/src/os/win32/ngx_files.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/os/win32/ngx_files.h')
-rw-r--r--src/os/win32/ngx_files.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/src/os/win32/ngx_files.h b/src/os/win32/ngx_files.h
new file mode 100644
index 000000000..bddfe0d54
--- /dev/null
+++ b/src/os/win32/ngx_files.h
@@ -0,0 +1,57 @@
+#ifndef _NGX_FILES_H_INCLUDED_
+#define _NGX_FILES_H_INCLUDED_
+
+
+#include <ngx_config.h>
+
+
+/* INVALID_FILE_ATTRIBUTES specified but never defined at least in VC6SP2 */
+#ifndef INVALID_FILE_ATTRIBUTES
+#define INVALID_FILE_ATTRIBUTES 0xFFFFFFFF
+#endif
+
+typedef HANDLE ngx_fd_t;
+typedef unsigned __int64 off_t;
+
+typedef BY_HANDLE_FILE_INFORMATION ngx_file_info_t;
+
+
+#define ngx_open_file(name, flags) \
+ CreateFile(name, flags, \
+ FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, \
+ NULL, OPEN_EXISTING, 0, NULL)
+
+#define ngx_open_file_n "CreateFile()"
+
+#define NGX_FILE_RDONLY GENERIC_READ
+
+
+int ngx_file_type(char *filename, ngx_file_info_t *fi);
+#define ngx_file_type_n "GetFileAttributes"
+
+#define ngx_stat_fd(fd, fi) GetFileInformationByHandle(fd, fi)
+#define ngx_stat_fd_n "GetFileInformationByHandle"
+
+#define ngx_is_dir(fi) (fi.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
+
+#define ngx_file_size(fi) \
+ fi.nFileSizeLow
+
+/*
+#define ngx_file_size(fi) \
+ ((off_t) fi.nFileSizeHigh << 32 & fi.nFileSizeLow)
+*/
+
+#define ngx_file_mtime(fi) fi.ftLastWriteTime
+
+/*
+1970 - 1601:
+ 116444736000000000
+ 19DB1DED53E8000
+*/
+
+
+#define ngx_read_file_n "ReadFile()"
+
+
+#endif /* _NGX_FILES_H_INCLUDED_ */