comparison src/os/win32/ngx_files.h @ 26:53cb81681040

nginx-0.0.1-2002-12-15-09:25:09 import
author Igor Sysoev <igor@sysoev.ru>
date Sun, 15 Dec 2002 06:25:09 +0000
parents 708f8bb772ec
children a117a7fdf042
comparison
equal deleted inserted replaced
25:a8b156554dfe 26:53cb81681040
9 #ifndef INVALID_FILE_ATTRIBUTES 9 #ifndef INVALID_FILE_ATTRIBUTES
10 #define INVALID_FILE_ATTRIBUTES 0xFFFFFFFF 10 #define INVALID_FILE_ATTRIBUTES 0xFFFFFFFF
11 #endif 11 #endif
12 12
13 typedef HANDLE ngx_fd_t; 13 typedef HANDLE ngx_fd_t;
14 #define NGX_INVALID_FILE INVALID_HANDLE_VALUE
15 #define NGX_FILE_ERROR 0
16
14 typedef unsigned __int64 off_t; 17 typedef unsigned __int64 off_t;
15 18
16 typedef BY_HANDLE_FILE_INFORMATION ngx_file_info_t; 19 typedef BY_HANDLE_FILE_INFORMATION ngx_file_info_t;
17 20
18 21
23 26
24 #define ngx_open_file_n "CreateFile()" 27 #define ngx_open_file_n "CreateFile()"
25 28
26 #define NGX_FILE_RDONLY GENERIC_READ 29 #define NGX_FILE_RDONLY GENERIC_READ
27 30
31 #define ngx_close_file CloseHandle
32 #define ngx_close_file_n "CloseHandle()"
28 33
29 int ngx_file_type(char *filename, ngx_file_info_t *fi); 34 int ngx_file_type(char *filename, ngx_file_info_t *fi);
30 #define ngx_file_type_n "GetFileAttributes" 35 #define ngx_file_type_n "GetFileAttributes"
31 36
32 #define ngx_stat_fd(fd, fi) GetFileInformationByHandle(fd, fi) 37 #define ngx_stat_fd(fd, fi) GetFileInformationByHandle(fd, fi)
33 #define ngx_stat_fd_n "GetFileInformationByHandle" 38 #define ngx_stat_fd_n "GetFileInformationByHandle"
34 39
35 #define ngx_is_dir(fi) (fi.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) 40 #define ngx_is_dir(fi) (fi.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
41 #define ngx_is_file(fi) !(fi.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
36 42
37 #define ngx_file_size(fi) \ 43 #define ngx_file_size(fi) \
38 fi.nFileSizeLow 44 (((off_t) fi.nFileSizeHigh << 32) | fi.nFileSizeLow)
39
40 /*
41 #define ngx_file_size(fi) \
42 ((off_t) fi.nFileSizeHigh << 32 & fi.nFileSizeLow)
43 */
44
45 #define ngx_file_mtime(fi) fi.ftLastWriteTime
46
47 /*
48 1970 - 1601:
49 116444736000000000
50 19DB1DED53E8000
51 */
52 45
53 46
54 #define ngx_read_file_n "ReadFile()" 47 /* There are 134774 days between 1 Jan 1970 and 1 Jan 1601,
48 11644473600 seconds or 11644473600,000,000,0 100-nanosecond intervals */
49
50 #define ngx_file_mtime(fi) \
51 (time_t) (((((unsigned __int64) fi.ftLastWriteTime.dwHighDateTime << 32) \
52 | fi.ftLastWriteTime.dwLowDateTime) \
53 - 116444736000000000) / 10000000)
54
55
56 #define ngx_read_file_n "ReadFile()"
55 57
56 58
57 #endif /* _NGX_FILES_H_INCLUDED_ */ 59 #endif /* _NGX_FILES_H_INCLUDED_ */