diff src/os/win32/ngx_file.h @ 3:34a521b1a148

nginx-0.0.1-2002-08-20-18:48:28 import
author Igor Sysoev <igor@sysoev.ru>
date Tue, 20 Aug 2002 14:48:28 +0000
parents
children 669801705ab1
line wrap: on
line diff
new file mode 100644
--- /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_ */