summaryrefslogtreecommitdiffhomepage
path: root/src/os/win32/ngx_file.h
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2002-08-20 14:48:28 +0000
committerIgor Sysoev <igor@sysoev.ru>2002-08-20 14:48:28 +0000
commit2b54238a5f2edcca568c0676a779ef79ba152c91 (patch)
tree2cb7eb660e691eaab2c4f031adf881b7c88bffc9 /src/os/win32/ngx_file.h
parente0af1b89dcd100462a3195534b2f78a838ca85b5 (diff)
downloadnginx-2b54238a5f2edcca568c0676a779ef79ba152c91.tar.gz
nginx-2b54238a5f2edcca568c0676a779ef79ba152c91.tar.bz2
nginx-0.0.1-2002-08-20-18:48:28 import
Diffstat (limited to 'src/os/win32/ngx_file.h')
-rw-r--r--src/os/win32/ngx_file.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/os/win32/ngx_file.h b/src/os/win32/ngx_file.h
new file mode 100644
index 000000000..cae823f5e
--- /dev/null
+++ b/src/os/win32/ngx_file.h
@@ -0,0 +1,52 @@
+#ifndef _NGX_FILE_H_INCLUDED_
+#define _NGX_FILE_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_file_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
+*/
+
+
+#endif /* _NGX_FILE_H_INCLUDED_ */