Mercurial > hg > nginx
comparison src/os/win32/ngx_files.h @ 497:d7c90bb5ce83 release-0.1.23
nginx-0.1.23-RELEASE import
*) Feature: the ngx_http_ssi_filter_module and the ssi,
ssi_silent_errors, and ssi_min_file_chunk directives. The 'echo
var="HTTP_..." default=""' and 'echo var="REMOTE_ADDR"' commands are
supported.
*) Feature: the %request_time log parameter.
*) Feature: if the request has no the "Host" header line, then the
"proxy_preserve_host" directive set this header line to the first
server name of the "server_name" directive.
*) Bugfix: nginx could not be built on platforms different from i386,
amd64, sparc, and ppc; the bug had appeared in 0.1.22.
*) Bugfix: the ngx_http_autoindex_module now shows the information not
about the symlink, but about file or directory it points to.
*) Bugfix: the %apache_length parameter logged the negative length of
the response header if the no response was transferred to a client.
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 01 Mar 2005 15:20:36 +0000 |
parents | bbd6b0b4a2b1 |
children | d4ea69372b94 |
comparison
equal
deleted
inserted
replaced
496:7ce7b31c3c83 | 497:d7c90bb5ce83 |
---|---|
27 #define NGX_FILE_ERROR 0 | 27 #define NGX_FILE_ERROR 0 |
28 | 28 |
29 | 29 |
30 | 30 |
31 #define ngx_open_file(name, access, create) \ | 31 #define ngx_open_file(name, access, create) \ |
32 CreateFile((const char *) name, access, \ | 32 CreateFile((const char *) name, access, \ |
33 FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, \ | 33 FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, \ |
34 NULL, create, FILE_FLAG_BACKUP_SEMANTICS, NULL) | 34 NULL, create, FILE_FLAG_BACKUP_SEMANTICS, NULL) |
35 /* | 35 /* |
36 NULL, OPEN_EXISTING, 0, NULL) | 36 NULL, OPEN_EXISTING, 0, NULL) |
37 */ | 37 */ |
38 #define ngx_open_file_n "CreateFile()" | 38 #define ngx_open_file_n "CreateFile()" |
39 | 39 |
40 #define NGX_FILE_RDONLY GENERIC_READ | 40 #define NGX_FILE_RDONLY GENERIC_READ |
41 #define NGX_FILE_RDWR GENERIC_READ|GENERIC_WRITE | 41 #define NGX_FILE_RDWR GENERIC_READ|GENERIC_WRITE |
47 ngx_int_t ngx_file_append_mode(ngx_fd_t fd); | 47 ngx_int_t ngx_file_append_mode(ngx_fd_t fd); |
48 #define ngx_file_append_mode_n "SetFilePointer()" | 48 #define ngx_file_append_mode_n "SetFilePointer()" |
49 | 49 |
50 | 50 |
51 #define ngx_open_tempfile(name, persistent) \ | 51 #define ngx_open_tempfile(name, persistent) \ |
52 CreateFile((const char *) name, \ | 52 CreateFile((const char *) name, \ |
53 GENERIC_READ|GENERIC_WRITE, \ | 53 GENERIC_READ|GENERIC_WRITE, \ |
54 FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, \ | 54 FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, \ |
55 NULL, \ | 55 NULL, \ |
56 CREATE_NEW, \ | 56 CREATE_NEW, \ |
57 persistent ? 0: \ | 57 persistent ? 0: \ |
58 FILE_ATTRIBUTE_TEMPORARY|FILE_FLAG_DELETE_ON_CLOSE, \ | 58 FILE_ATTRIBUTE_TEMPORARY|FILE_FLAG_DELETE_ON_CLOSE, \ |
59 NULL); | 59 NULL); |
60 | 60 |
61 #define ngx_open_tempfile_n "CreateFile()" | 61 #define ngx_open_tempfile_n "CreateFile()" |
62 | 62 |
63 | 63 |
64 #define ngx_close_file CloseHandle | 64 #define ngx_close_file CloseHandle |
70 | 70 |
71 | 71 |
72 #define ngx_rename_file MoveFile | 72 #define ngx_rename_file MoveFile |
73 #define ngx_rename_file_n "MoveFile()" | 73 #define ngx_rename_file_n "MoveFile()" |
74 ngx_int_t ngx_win32_rename_file(ngx_str_t *from, ngx_str_t *to, | 74 ngx_int_t ngx_win32_rename_file(ngx_str_t *from, ngx_str_t *to, |
75 ngx_pool_t *pool); | 75 ngx_pool_t *pool); |
76 | 76 |
77 | 77 |
78 ngx_int_t ngx_file_info(u_char *filename, ngx_file_info_t *fi); | 78 ngx_int_t ngx_file_info(u_char *filename, ngx_file_info_t *fi); |
79 #define ngx_file_info_n "GetFileAttributesEx()" | 79 #define ngx_file_info_n "GetFileAttributesEx()" |
80 | 80 |
86 #define ngx_is_dir(fi) ((fi)->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) | 86 #define ngx_is_dir(fi) ((fi)->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) |
87 #define ngx_is_file(fi) !((fi)->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) | 87 #define ngx_is_file(fi) !((fi)->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) |
88 | 88 |
89 | 89 |
90 #define ngx_file_size(fi) \ | 90 #define ngx_file_size(fi) \ |
91 (((off_t) (fi)->nFileSizeHigh << 32) | (fi)->nFileSizeLow) | 91 (((off_t) (fi)->nFileSizeHigh << 32) | (fi)->nFileSizeLow) |
92 | 92 |
93 #define ngx_file_uniq(fi) (*(ngx_file_uniq_t *) &(fi)->nFileIndexHigh) | 93 #define ngx_file_uniq(fi) (*(ngx_file_uniq_t *) &(fi)->nFileIndexHigh) |
94 | 94 |
95 | 95 |
96 /* 116444736000000000 is commented in src/os/win32/ngx_time.c */ | 96 /* 116444736000000000 is commented in src/os/win32/ngx_time.c */ |
132 | 132 |
133 #define ngx_de_name(dir) ((u_char *) (dir)->fd.cFileName) | 133 #define ngx_de_name(dir) ((u_char *) (dir)->fd.cFileName) |
134 #define ngx_de_namelen(dir) ngx_strlen((dir)->fd.cFileName) | 134 #define ngx_de_namelen(dir) ngx_strlen((dir)->fd.cFileName) |
135 #define ngx_de_info(name, dir) NGX_OK | 135 #define ngx_de_info(name, dir) NGX_OK |
136 #define ngx_de_info_n "dummy()" | 136 #define ngx_de_info_n "dummy()" |
137 #define ngx_de_link_info(name, dir) NGX_OK | |
138 #define ngx_de_link_info_n "dummy()" | |
137 #define ngx_de_is_dir(dir) \ | 139 #define ngx_de_is_dir(dir) \ |
138 ((dir)->fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) | 140 ((dir)->fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) |
139 #define ngx_de_is_file(dir) \ | 141 #define ngx_de_is_file(dir) \ |
140 !((dir)->fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) | 142 !((dir)->fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) |
143 #define ngx_de_is_link(dir) 0 | |
141 #define ngx_de_size(dir) \ | 144 #define ngx_de_size(dir) \ |
142 (((off_t) (dir)->fd.nFileSizeHigh << 32) | (dir)->fd.nFileSizeLow) | 145 (((off_t) (dir)->fd.nFileSizeHigh << 32) | (dir)->fd.nFileSizeLow) |
143 | 146 |
144 /* 116444736000000000 is commented in src/os/win32/ngx_time.c */ | 147 /* 116444736000000000 is commented in src/os/win32/ngx_time.c */ |
145 | 148 |
146 #define ngx_de_mtime(dir) \ | 149 #define ngx_de_mtime(dir) \ |
147 (time_t) (((((unsigned __int64) \ | 150 (time_t) (((((unsigned __int64) \ |
148 (dir)->fd.ftLastWriteTime.dwHighDateTime << 32) \ | 151 (dir)->fd.ftLastWriteTime.dwHighDateTime << 32) \ |
149 | (dir)->fd.ftLastWriteTime.dwLowDateTime) \ | 152 | (dir)->fd.ftLastWriteTime.dwLowDateTime) \ |
150 - 116444736000000000) / 10000000) | 153 - 116444736000000000) / 10000000) |
151 | 154 |
152 | 155 |
153 | 156 |
154 ssize_t ngx_read_file(ngx_file_t *file, u_char *buf, size_t size, off_t offset); | 157 ssize_t ngx_read_file(ngx_file_t *file, u_char *buf, size_t size, off_t offset); |
155 #define ngx_read_file_n "ReadFile()" | 158 #define ngx_read_file_n "ReadFile()" |
156 | 159 |
157 ssize_t ngx_write_file(ngx_file_t *file, u_char *buf, size_t size, | 160 ssize_t ngx_write_file(ngx_file_t *file, u_char *buf, size_t size, |
158 off_t offset); | 161 off_t offset); |
159 | 162 |
160 ssize_t ngx_write_chain_to_file(ngx_file_t *file, ngx_chain_t *ce, | 163 ssize_t ngx_write_chain_to_file(ngx_file_t *file, ngx_chain_t *ce, |
161 off_t offset, ngx_pool_t *pool); | 164 off_t offset, ngx_pool_t *pool); |
162 | 165 |
163 | 166 |
164 #endif /* _NGX_FILES_H_INCLUDED_ */ | 167 #endif /* _NGX_FILES_H_INCLUDED_ */ |