Mercurial > hg > nginx
comparison 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 |
comparison
equal
deleted
inserted
replaced
2:ffffe1499bce | 3:34a521b1a148 |
---|---|
1 #ifndef _NGX_FILE_H_INCLUDED_ | |
2 #define _NGX_FILE_H_INCLUDED_ | |
3 | |
4 | |
5 #include <ngx_config.h> | |
6 | |
7 | |
8 /* INVALID_FILE_ATTRIBUTES specified but never defined at least in VC6SP2 */ | |
9 #ifndef INVALID_FILE_ATTRIBUTES | |
10 #define INVALID_FILE_ATTRIBUTES 0xFFFFFFFF | |
11 #endif | |
12 | |
13 typedef HANDLE ngx_file_t; | |
14 typedef BY_HANDLE_FILE_INFORMATION ngx_file_info_t; | |
15 | |
16 | |
17 #define ngx_open_file(name, flags) \ | |
18 CreateFile(name, flags, \ | |
19 FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, \ | |
20 NULL, OPEN_EXISTING, 0, NULL) | |
21 | |
22 #define ngx_open_file_n "CreateFile" | |
23 | |
24 #define NGX_FILE_RDONLY GENERIC_READ | |
25 | |
26 | |
27 int ngx_file_type(char *filename, ngx_file_info_t *fi); | |
28 #define ngx_file_type_n "GetFileAttributes" | |
29 | |
30 #define ngx_stat_fd(fd, fi) GetFileInformationByHandle(fd, fi) | |
31 #define ngx_stat_fd_n "GetFileInformationByHandle" | |
32 | |
33 #define ngx_is_dir(fi) (fi.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) | |
34 | |
35 #define ngx_file_size(fi) \ | |
36 fi.nFileSizeLow | |
37 | |
38 /* | |
39 #define ngx_file_size(fi) \ | |
40 ((off_t) fi.nFileSizeHigh << 32 & fi.nFileSizeLow) | |
41 */ | |
42 | |
43 #define ngx_file_mtime(fi) fi.ftLastWriteTime | |
44 | |
45 /* | |
46 1970 - 1601: | |
47 116444736000000000 | |
48 19DB1DED53E8000 | |
49 */ | |
50 | |
51 | |
52 #endif /* _NGX_FILE_H_INCLUDED_ */ |