Mercurial > hg > nginx-quic
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_ */ |