annotate src/os/win32/ngx_files.h @ 4147:7f64de1cc2c0

Fix for double content when return is used in error_page handler. Test case: location / { error_page 405 /nope; return 405; } location /nope { return 200; } This is expected to return 405 with empty body, but in 0.8.42+ will return builtin 405 error page as well (though not counted in Content-Length, thus breaking protocol). Fix is to use status provided by rewrite script execution in case it's less than NGX_HTTP_BAD_REQUEST even if r->error_status set. This check is in line with one in ngx_http_script_return_code(). Note that this patch also changes behaviour for "return 302 ..." and "rewrite ... redirect" used as error handler. E.g. location / { error_page 405 /redirect; return 405; } location /redirect { rewrite ^ http://example.com/; } will actually return redirect to "http://example.com/" instead of builtin 405 error page with meaningless Location header. This looks like correct change and it's in line with what happens on e.g. directory redirects in error handlers.
author Maxim Dounin <mdounin@mdounin.ru>
date Tue, 27 Sep 2011 11:11:30 +0000
parents 2d05952a324d
children f72496073689
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
441
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 336
diff changeset
1
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 336
diff changeset
2 /*
444
42d11f017717 nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents: 441
diff changeset
3 * Copyright (C) Igor Sysoev
441
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 336
diff changeset
4 */
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 336
diff changeset
5
da8c5707af39 nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents: 336
diff changeset
6
8
708f8bb772ec nginx-0.0.1-2002-09-02-18:48:24 import
Igor Sysoev <igor@sysoev.ru>
parents: 6
diff changeset
7 #ifndef _NGX_FILES_H_INCLUDED_
708f8bb772ec nginx-0.0.1-2002-09-02-18:48:24 import
Igor Sysoev <igor@sysoev.ru>
parents: 6
diff changeset
8 #define _NGX_FILES_H_INCLUDED_
3
34a521b1a148 nginx-0.0.1-2002-08-20-18:48:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
9
34a521b1a148 nginx-0.0.1-2002-08-20-18:48:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
10
34a521b1a148 nginx-0.0.1-2002-08-20-18:48:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
11 #include <ngx_config.h>
100
7ebc8b7fb816 nginx-0.0.1-2003-06-03-19:42:58 import
Igor Sysoev <igor@sysoev.ru>
parents: 99
diff changeset
12 #include <ngx_core.h>
57
a499e0d1f16e nginx-0.0.1-2003-01-30-10:28:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 28
diff changeset
13
3
34a521b1a148 nginx-0.0.1-2002-08-20-18:48:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
14
2234
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
15 typedef HANDLE ngx_fd_t;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
16 typedef BY_HANDLE_FILE_INFORMATION ngx_file_info_t;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
17 typedef uint64_t ngx_file_uniq_t;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
18
3651
515d50917016 ngx_create_file_mapping()
Igor Sysoev <igor@sysoev.ru>
parents: 3501
diff changeset
19
515d50917016 ngx_create_file_mapping()
Igor Sysoev <igor@sysoev.ru>
parents: 3501
diff changeset
20 typedef struct {
515d50917016 ngx_create_file_mapping()
Igor Sysoev <igor@sysoev.ru>
parents: 3501
diff changeset
21 u_char *name;
515d50917016 ngx_create_file_mapping()
Igor Sysoev <igor@sysoev.ru>
parents: 3501
diff changeset
22 size_t size;
515d50917016 ngx_create_file_mapping()
Igor Sysoev <igor@sysoev.ru>
parents: 3501
diff changeset
23 void *addr;
515d50917016 ngx_create_file_mapping()
Igor Sysoev <igor@sysoev.ru>
parents: 3501
diff changeset
24 ngx_fd_t fd;
515d50917016 ngx_create_file_mapping()
Igor Sysoev <igor@sysoev.ru>
parents: 3501
diff changeset
25 HANDLE handle;
515d50917016 ngx_create_file_mapping()
Igor Sysoev <igor@sysoev.ru>
parents: 3501
diff changeset
26 ngx_log_t *log;
515d50917016 ngx_create_file_mapping()
Igor Sysoev <igor@sysoev.ru>
parents: 3501
diff changeset
27 } ngx_file_mapping_t;
515d50917016 ngx_create_file_mapping()
Igor Sysoev <igor@sysoev.ru>
parents: 3501
diff changeset
28
515d50917016 ngx_create_file_mapping()
Igor Sysoev <igor@sysoev.ru>
parents: 3501
diff changeset
29
2234
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
30 typedef struct {
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
31 HANDLE dir;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
32 WIN32_FIND_DATA finddata;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
33
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
34 unsigned valid_info:1;
3200
26784c34e8be *) reset cached dirent.d_type after stat()
Igor Sysoev <igor@sysoev.ru>
parents: 3178
diff changeset
35 unsigned type:1;
2234
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
36 unsigned ready:1;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
37 } ngx_dir_t;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
38
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
39
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
40 typedef struct {
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
41 HANDLE dir;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
42 WIN32_FIND_DATA finddata;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
43
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
44 unsigned ready:1;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
45 unsigned test:1;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
46 unsigned no_match:1;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
47
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
48 u_char *pattern;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
49 ngx_str_t name;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
50 size_t last;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
51 ngx_log_t *log;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
52 } ngx_glob_t;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
53
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
54
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
55
183
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents: 182
diff changeset
56 /* INVALID_FILE_ATTRIBUTES is specified but not defined at least in MSVC6SP2 */
3
34a521b1a148 nginx-0.0.1-2002-08-20-18:48:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
57 #ifndef INVALID_FILE_ATTRIBUTES
183
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents: 182
diff changeset
58 #define INVALID_FILE_ATTRIBUTES 0xffffffff
3
34a521b1a148 nginx-0.0.1-2002-08-20-18:48:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
59 #endif
34a521b1a148 nginx-0.0.1-2002-08-20-18:48:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
60
183
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents: 182
diff changeset
61 /* INVALID_SET_FILE_POINTER is not defined at least in MSVC6SP2 */
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents: 182
diff changeset
62 #ifndef INVALID_SET_FILE_POINTER
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents: 182
diff changeset
63 #define INVALID_SET_FILE_POINTER 0xffffffff
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents: 182
diff changeset
64 #endif
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents: 182
diff changeset
65
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents: 182
diff changeset
66
26
53cb81681040 nginx-0.0.1-2002-12-15-09:25:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 8
diff changeset
67 #define NGX_INVALID_FILE INVALID_HANDLE_VALUE
53cb81681040 nginx-0.0.1-2002-12-15-09:25:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 8
diff changeset
68 #define NGX_FILE_ERROR 0
53cb81681040 nginx-0.0.1-2002-12-15-09:25:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 8
diff changeset
69
3
34a521b1a148 nginx-0.0.1-2002-08-20-18:48:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
70
2628
64a10d6b97bd win32 ngx_open_file() supports utf8 names and NGX_FILE_APPEND
Igor Sysoev <igor@sysoev.ru>
parents: 2615
diff changeset
71 ngx_fd_t ngx_open_file(u_char *name, u_long mode, u_long create, u_long access);
99
a059e1aa65d4 nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents: 98
diff changeset
72 #define ngx_open_file_n "CreateFile()"
a059e1aa65d4 nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents: 98
diff changeset
73
a059e1aa65d4 nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents: 98
diff changeset
74 #define NGX_FILE_RDONLY GENERIC_READ
1054
836fe133b6d5 NGX_FILE_WRONLY
Igor Sysoev <igor@sysoev.ru>
parents: 1053
diff changeset
75 #define NGX_FILE_WRONLY GENERIC_WRITE
99
a059e1aa65d4 nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents: 98
diff changeset
76 #define NGX_FILE_RDWR GENERIC_READ|GENERIC_WRITE
2628
64a10d6b97bd win32 ngx_open_file() supports utf8 names and NGX_FILE_APPEND
Igor Sysoev <igor@sysoev.ru>
parents: 2615
diff changeset
77 #define NGX_FILE_APPEND FILE_APPEND_DATA|SYNCHRONIZE
3497
ac281bc4c187 use non-blocking open() not to hang on FIFO files, etc.
Igor Sysoev <igor@sysoev.ru>
parents: 3382
diff changeset
78 #define NGX_FILE_NONBLOCK 0
2628
64a10d6b97bd win32 ngx_open_file() supports utf8 names and NGX_FILE_APPEND
Igor Sysoev <igor@sysoev.ru>
parents: 2615
diff changeset
79
99
a059e1aa65d4 nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents: 98
diff changeset
80 #define NGX_FILE_CREATE_OR_OPEN OPEN_ALWAYS
a059e1aa65d4 nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents: 98
diff changeset
81 #define NGX_FILE_OPEN OPEN_EXISTING
2686
9e0ae986b587 adopt NGX_FILE_TRUNCATE for win32
Igor Sysoev <igor@sysoev.ru>
parents: 2628
diff changeset
82 #define NGX_FILE_TRUNCATE CREATE_ALWAYS
100
7ebc8b7fb816 nginx-0.0.1-2003-06-03-19:42:58 import
Igor Sysoev <igor@sysoev.ru>
parents: 99
diff changeset
83
1048
c4f666fc3a7e ngx_open_file(name, access, create) > ngx_open_file(name, mode, create, access)
Igor Sysoev <igor@sysoev.ru>
parents: 1047
diff changeset
84 #define NGX_FILE_DEFAULT_ACCESS 0
2592
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2461
diff changeset
85 #define NGX_FILE_OWNER_ACCESS 0
1048
c4f666fc3a7e ngx_open_file(name, access, create) > ngx_open_file(name, mode, create, access)
Igor Sysoev <igor@sysoev.ru>
parents: 1047
diff changeset
86
100
7ebc8b7fb816 nginx-0.0.1-2003-06-03-19:42:58 import
Igor Sysoev <igor@sysoev.ru>
parents: 99
diff changeset
87
1047
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
88 #define ngx_open_tempfile(name, persistent, access) \
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
89 CreateFile((const char *) name, \
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
90 GENERIC_READ|GENERIC_WRITE, \
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
91 FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, \
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
92 NULL, \
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
93 CREATE_NEW, \
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
94 persistent ? 0: \
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
95 FILE_ATTRIBUTE_TEMPORARY|FILE_FLAG_DELETE_ON_CLOSE, \
497
d7c90bb5ce83 nginx-0.1.23-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
96 NULL);
74
17ab1af8c3dd nginx-0.0.1-2003-04-11-20:01:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 57
diff changeset
97
92
19cc647ecd91 nginx-0.0.1-2003-05-20-19:37:55 import
Igor Sysoev <igor@sysoev.ru>
parents: 74
diff changeset
98 #define ngx_open_tempfile_n "CreateFile()"
19cc647ecd91 nginx-0.0.1-2003-05-20-19:37:55 import
Igor Sysoev <igor@sysoev.ru>
parents: 74
diff changeset
99
19cc647ecd91 nginx-0.0.1-2003-05-20-19:37:55 import
Igor Sysoev <igor@sysoev.ru>
parents: 74
diff changeset
100
26
53cb81681040 nginx-0.0.1-2002-12-15-09:25:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 8
diff changeset
101 #define ngx_close_file CloseHandle
53cb81681040 nginx-0.0.1-2002-12-15-09:25:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 8
diff changeset
102 #define ngx_close_file_n "CloseHandle()"
3
34a521b1a148 nginx-0.0.1-2002-08-20-18:48:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
103
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
104
1634
d3cbb96818f1 fix win32 ngx_read_fd() and ngx_write_fd()
Igor Sysoev <igor@sysoev.ru>
parents: 1632
diff changeset
105 ssize_t ngx_read_fd(ngx_fd_t fd, void *buf, size_t size);
1055
0f692964f1b3 ngx_read_fd()
Igor Sysoev <igor@sysoev.ru>
parents: 1054
diff changeset
106 #define ngx_read_fd_n "ReadFile()"
0f692964f1b3 ngx_read_fd()
Igor Sysoev <igor@sysoev.ru>
parents: 1054
diff changeset
107
1634
d3cbb96818f1 fix win32 ngx_read_fd() and ngx_write_fd()
Igor Sysoev <igor@sysoev.ru>
parents: 1632
diff changeset
108
d3cbb96818f1 fix win32 ngx_read_fd() and ngx_write_fd()
Igor Sysoev <igor@sysoev.ru>
parents: 1632
diff changeset
109 ssize_t ngx_write_fd(ngx_fd_t fd, void *buf, size_t size);
1055
0f692964f1b3 ngx_read_fd()
Igor Sysoev <igor@sysoev.ru>
parents: 1054
diff changeset
110 #define ngx_write_fd_n "WriteFile()"
0f692964f1b3 ngx_read_fd()
Igor Sysoev <igor@sysoev.ru>
parents: 1054
diff changeset
111
1634
d3cbb96818f1 fix win32 ngx_read_fd() and ngx_write_fd()
Igor Sysoev <igor@sysoev.ru>
parents: 1632
diff changeset
112
2769
9d986c4e796f introduce ngx_write_console() to support OEM code pages
Igor Sysoev <igor@sysoev.ru>
parents: 2758
diff changeset
113 ssize_t ngx_write_console(ngx_fd_t fd, void *buf, size_t size);
9d986c4e796f introduce ngx_write_console() to support OEM code pages
Igor Sysoev <igor@sysoev.ru>
parents: 2758
diff changeset
114
9d986c4e796f introduce ngx_write_console() to support OEM code pages
Igor Sysoev <igor@sysoev.ru>
parents: 2758
diff changeset
115
571
458b6c3fea65 nginx-0.3.7-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 501
diff changeset
116 #define ngx_linefeed(p) *p++ = CR; *p++ = LF;
458b6c3fea65 nginx-0.3.7-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 501
diff changeset
117 #define NGX_LINEFEED_SIZE 2
458b6c3fea65 nginx-0.3.7-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 501
diff changeset
118
458b6c3fea65 nginx-0.3.7-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 501
diff changeset
119
292
a472bfb778b3 nginx-0.0.3-2004-03-17-00:26:01 import
Igor Sysoev <igor@sysoev.ru>
parents: 290
diff changeset
120 #define ngx_delete_file(name) DeleteFile((const char *) name)
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
121 #define ngx_delete_file_n "DeleteFile()"
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
122
180
2d143372a1ee nginx-0.0.1-2003-11-12-01:16:11 import
Igor Sysoev <igor@sysoev.ru>
parents: 179
diff changeset
123
633
f971949ffb58 nginx-0.3.38-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 571
diff changeset
124 #define ngx_rename_file(o, n) MoveFile((const char *) o, (const char *) n)
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
125 #define ngx_rename_file_n "MoveFile()"
3382
6be1f25bae90 fix Win32 error messages when an temporary file replaces an existent file:
Igor Sysoev <igor@sysoev.ru>
parents: 3200
diff changeset
126 ngx_err_t ngx_win32_rename_file(ngx_str_t *from, ngx_str_t *to, ngx_log_t *log);
74
17ab1af8c3dd nginx-0.0.1-2003-04-11-20:01:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 57
diff changeset
127
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
128
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 669
diff changeset
129
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 669
diff changeset
130 ngx_int_t ngx_set_file_time(u_char *name, ngx_fd_t fd, time_t s);
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 669
diff changeset
131 #define ngx_set_file_time_n "SetFileTime()"
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 669
diff changeset
132
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 669
diff changeset
133
467
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 457
diff changeset
134 ngx_int_t ngx_file_info(u_char *filename, ngx_file_info_t *fi);
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
135 #define ngx_file_info_n "GetFileAttributesEx()"
3
34a521b1a148 nginx-0.0.1-2002-08-20-18:48:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
136
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
137
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
138 #define ngx_fd_info(fd, fi) GetFileInformationByHandle(fd, fi)
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 669
diff changeset
139 #define ngx_fd_info_n "GetFileInformationByHandle()"
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
140
3
34a521b1a148 nginx-0.0.1-2002-08-20-18:48:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
141
3501
423ff11e3018 use lstat() for WebDAV DELETE, COPY, and MOVE to handle symlinks
Igor Sysoev <igor@sysoev.ru>
parents: 3497
diff changeset
142 #define ngx_link_info(name, fi) ngx_file_info(name, fi)
423ff11e3018 use lstat() for WebDAV DELETE, COPY, and MOVE to handle symlinks
Igor Sysoev <igor@sysoev.ru>
parents: 3497
diff changeset
143 #define ngx_link_info_n "GetFileAttributesEx()"
423ff11e3018 use lstat() for WebDAV DELETE, COPY, and MOVE to handle symlinks
Igor Sysoev <igor@sysoev.ru>
parents: 3497
diff changeset
144
423ff11e3018 use lstat() for WebDAV DELETE, COPY, and MOVE to handle symlinks
Igor Sysoev <igor@sysoev.ru>
parents: 3497
diff changeset
145
2461
2d3026ea9a65 fix win32 ngx_is_dir(), etc
Igor Sysoev <igor@sysoev.ru>
parents: 2259
diff changeset
146 #define ngx_is_dir(fi) \
2d3026ea9a65 fix win32 ngx_is_dir(), etc
Igor Sysoev <igor@sysoev.ru>
parents: 2259
diff changeset
147 (((fi)->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) != 0)
2d3026ea9a65 fix win32 ngx_is_dir(), etc
Igor Sysoev <igor@sysoev.ru>
parents: 2259
diff changeset
148 #define ngx_is_file(fi) \
2d3026ea9a65 fix win32 ngx_is_dir(), etc
Igor Sysoev <igor@sysoev.ru>
parents: 2259
diff changeset
149 (((fi)->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == 0)
669
562806624c4a nginx-0.3.56-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 633
diff changeset
150 #define ngx_is_link(fi) 0
1436
ccbf588fb517 win32 ngx_is_exec() stub
Igor Sysoev <igor@sysoev.ru>
parents: 1089
diff changeset
151 #define ngx_is_exec(fi) 0
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
152
1053
b9fa23cda4cc ngx_file_access() and ngx_de_access()
Igor Sysoev <igor@sysoev.ru>
parents: 1050
diff changeset
153 #define ngx_file_access(fi) 0
3
34a521b1a148 nginx-0.0.1-2002-08-20-18:48:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
154
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
155 #define ngx_file_size(fi) \
497
d7c90bb5ce83 nginx-0.1.23-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
156 (((off_t) (fi)->nFileSizeHigh << 32) | (fi)->nFileSizeLow)
3899
e7cd13b7f759 Use more precise stat.st_blocks to account cache size on Unix
Igor Sysoev <igor@sysoev.ru>
parents: 3651
diff changeset
157 #define ngx_file_fs_size(fi) ngx_file_size(fi)
3
34a521b1a148 nginx-0.0.1-2002-08-20-18:48:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
158
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
159 #define ngx_file_uniq(fi) (*(ngx_file_uniq_t *) &(fi)->nFileIndexHigh)
3
34a521b1a148 nginx-0.0.1-2002-08-20-18:48:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
160
179
9f3a78b06c48 nginx-0.0.1-2003-11-11-21:13:43 import
Igor Sysoev <igor@sysoev.ru>
parents: 176
diff changeset
161
9f3a78b06c48 nginx-0.0.1-2003-11-11-21:13:43 import
Igor Sysoev <igor@sysoev.ru>
parents: 176
diff changeset
162 /* 116444736000000000 is commented in src/os/win32/ngx_time.c */
26
53cb81681040 nginx-0.0.1-2002-12-15-09:25:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 8
diff changeset
163
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
164 #define ngx_file_mtime(fi) \
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
165 (time_t) (((((unsigned __int64) (fi)->ftLastWriteTime.dwHighDateTime << 32) \
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
166 | (fi)->ftLastWriteTime.dwLowDateTime) \
26
53cb81681040 nginx-0.0.1-2002-12-15-09:25:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 8
diff changeset
167 - 116444736000000000) / 10000000)
53cb81681040 nginx-0.0.1-2002-12-15-09:25:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 8
diff changeset
168
3651
515d50917016 ngx_create_file_mapping()
Igor Sysoev <igor@sysoev.ru>
parents: 3501
diff changeset
169 ngx_int_t ngx_create_file_mapping(ngx_file_mapping_t *fm);
515d50917016 ngx_create_file_mapping()
Igor Sysoev <igor@sysoev.ru>
parents: 3501
diff changeset
170 void ngx_close_file_mapping(ngx_file_mapping_t *fm);
515d50917016 ngx_create_file_mapping()
Igor Sysoev <igor@sysoev.ru>
parents: 3501
diff changeset
171
515d50917016 ngx_create_file_mapping()
Igor Sysoev <igor@sysoev.ru>
parents: 3501
diff changeset
172
2981
635c0006441e use caseless regex locations on caseless filesystems: MacOSX, Win32, Cygwin
Igor Sysoev <igor@sysoev.ru>
parents: 2769
diff changeset
173 #define NGX_HAVE_CASELESS_FILESYSTEM 1
26
53cb81681040 nginx-0.0.1-2002-12-15-09:25:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 8
diff changeset
174
2142
be9887d15b8e fix building by msvc8 introduced in r2127
Igor Sysoev <igor@sysoev.ru>
parents: 2134
diff changeset
175 #define ngx_filename_cmp(s1, s2, n) _strnicmp((char *) s1, (char *) s2, n)
2126
5e954395a15e case insensitive file system location support provided by locale only
Igor Sysoev <igor@sysoev.ru>
parents: 1980
diff changeset
176
5e954395a15e case insensitive file system location support provided by locale only
Igor Sysoev <igor@sysoev.ru>
parents: 1980
diff changeset
177
2259
0864138899f1 $realpath_root
Igor Sysoev <igor@sysoev.ru>
parents: 2248
diff changeset
178 char *ngx_realpath(u_char *path, u_char *resolved);
0864138899f1 $realpath_root
Igor Sysoev <igor@sysoev.ru>
parents: 2248
diff changeset
179 #define ngx_realpath_n ""
2758
77264e0157ad -p and --prefix=
Igor Sysoev <igor@sysoev.ru>
parents: 2744
diff changeset
180 #define ngx_getcwd(buf, size) GetCurrentDirectory(size, (char *) buf)
336
ca9a7f8c86da nginx-0.0.3-2004-05-18-19:29:08 import
Igor Sysoev <igor@sysoev.ru>
parents: 292
diff changeset
181 #define ngx_getcwd_n "GetCurrentDirectory()"
2744
e50a2faac31d ngx_path_separator()
Igor Sysoev <igor@sysoev.ru>
parents: 2743
diff changeset
182 #define ngx_path_separator(c) ((c) == '/' || (c) == '\\')
e50a2faac31d ngx_path_separator()
Igor Sysoev <igor@sysoev.ru>
parents: 2743
diff changeset
183
336
ca9a7f8c86da nginx-0.0.3-2004-05-18-19:29:08 import
Igor Sysoev <igor@sysoev.ru>
parents: 292
diff changeset
184 #define NGX_MAX_PATH MAX_PATH
ca9a7f8c86da nginx-0.0.3-2004-05-18-19:29:08 import
Igor Sysoev <igor@sysoev.ru>
parents: 292
diff changeset
185
292
a472bfb778b3 nginx-0.0.3-2004-03-17-00:26:01 import
Igor Sysoev <igor@sysoev.ru>
parents: 290
diff changeset
186 #define NGX_DIR_MASK (u_char *) "/*"
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
187 #define NGX_DIR_MASK_LEN 2
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
188
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
189
467
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 457
diff changeset
190 ngx_int_t ngx_open_dir(ngx_str_t *name, ngx_dir_t *dir);
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
191 #define ngx_open_dir_n "FindFirstFile()"
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
192
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
193
467
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 457
diff changeset
194 ngx_int_t ngx_read_dir(ngx_dir_t *dir);
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
195 #define ngx_read_dir_n "FindNextFile()"
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
196
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
197
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
198 #define ngx_close_dir(d) FindClose((d)->dir)
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
199 #define ngx_close_dir_n "FindClose()"
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
200
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
201
669
562806624c4a nginx-0.3.56-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 633
diff changeset
202 #define ngx_create_dir(name, access) CreateDirectory((const char *) name, NULL)
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
203 #define ngx_create_dir_n "CreateDirectory()"
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
204
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
205
292
a472bfb778b3 nginx-0.0.3-2004-03-17-00:26:01 import
Igor Sysoev <igor@sysoev.ru>
parents: 290
diff changeset
206 #define ngx_delete_dir(name) RemoveDirectory((const char *) name)
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
207 #define ngx_delete_dir_n "RemoveDirectory()"
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
208
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
209
1089
b2e6eb425770 use ngx_dir_access() to enable search bits for directory
Igor Sysoev <igor@sysoev.ru>
parents: 1055
diff changeset
210 #define ngx_dir_access(a) (a)
b2e6eb425770 use ngx_dir_access() to enable search bits for directory
Igor Sysoev <igor@sysoev.ru>
parents: 1055
diff changeset
211
b2e6eb425770 use ngx_dir_access() to enable search bits for directory
Igor Sysoev <igor@sysoev.ru>
parents: 1055
diff changeset
212
727
532d15ddbe68 glob support in include
Igor Sysoev <igor@sysoev.ru>
parents: 691
diff changeset
213 #define ngx_de_name(dir) ((u_char *) (dir)->finddata.cFileName)
532d15ddbe68 glob support in include
Igor Sysoev <igor@sysoev.ru>
parents: 691
diff changeset
214 #define ngx_de_namelen(dir) ngx_strlen((dir)->finddata.cFileName)
501
d4ea69372b94 nginx-0.1.25-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 497
diff changeset
215
d4ea69372b94 nginx-0.1.25-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 497
diff changeset
216 ngx_int_t ngx_de_info(u_char *name, ngx_dir_t *dir);
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
217 #define ngx_de_info_n "dummy()"
501
d4ea69372b94 nginx-0.1.25-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 497
diff changeset
218
d4ea69372b94 nginx-0.1.25-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 497
diff changeset
219 ngx_int_t ngx_de_link_info(u_char *name, ngx_dir_t *dir);
497
d7c90bb5ce83 nginx-0.1.23-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
220 #define ngx_de_link_info_n "dummy()"
501
d4ea69372b94 nginx-0.1.25-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 497
diff changeset
221
1047
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
222 #define ngx_de_is_dir(dir) \
2461
2d3026ea9a65 fix win32 ngx_is_dir(), etc
Igor Sysoev <igor@sysoev.ru>
parents: 2259
diff changeset
223 (((dir)->finddata.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) != 0)
1047
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
224 #define ngx_de_is_file(dir) \
2461
2d3026ea9a65 fix win32 ngx_is_dir(), etc
Igor Sysoev <igor@sysoev.ru>
parents: 2259
diff changeset
225 (((dir)->finddata.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == 0)
497
d7c90bb5ce83 nginx-0.1.23-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
226 #define ngx_de_is_link(dir) 0
1053
b9fa23cda4cc ngx_file_access() and ngx_de_access()
Igor Sysoev <igor@sysoev.ru>
parents: 1050
diff changeset
227 #define ngx_de_access(dir) 0
1047
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
228 #define ngx_de_size(dir) \
727
532d15ddbe68 glob support in include
Igor Sysoev <igor@sysoev.ru>
parents: 691
diff changeset
229 (((off_t) (dir)->finddata.nFileSizeHigh << 32) | (dir)->finddata.nFileSizeLow)
3970
2d05952a324d elimination of reading cache files by cache loader
Igor Sysoev <igor@sysoev.ru>
parents: 3899
diff changeset
230 #define ngx_de_fs_size(dir) ngx_de_size(dir)
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
231
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
232 /* 116444736000000000 is commented in src/os/win32/ngx_time.c */
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
233
1047
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
234 #define ngx_de_mtime(dir) \
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
235 (time_t) (((((unsigned __int64) \
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
236 (dir)->finddata.ftLastWriteTime.dwHighDateTime << 32) \
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
237 | (dir)->finddata.ftLastWriteTime.dwLowDateTime) \
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
238 - 116444736000000000) / 10000000)
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
239
727
532d15ddbe68 glob support in include
Igor Sysoev <igor@sysoev.ru>
parents: 691
diff changeset
240
532d15ddbe68 glob support in include
Igor Sysoev <igor@sysoev.ru>
parents: 691
diff changeset
241 ngx_int_t ngx_open_glob(ngx_glob_t *gl);
2129
25add486e7aa directio
Igor Sysoev <igor@sysoev.ru>
parents: 2126
diff changeset
242 #define ngx_open_glob_n "FindFirstFile()"
727
532d15ddbe68 glob support in include
Igor Sysoev <igor@sysoev.ru>
parents: 691
diff changeset
243
532d15ddbe68 glob support in include
Igor Sysoev <igor@sysoev.ru>
parents: 691
diff changeset
244 ngx_int_t ngx_read_glob(ngx_glob_t *gl, ngx_str_t *name);
532d15ddbe68 glob support in include
Igor Sysoev <igor@sysoev.ru>
parents: 691
diff changeset
245 void ngx_close_glob(ngx_glob_t *gl);
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
246
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
247
290
87e73f067470 nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents: 278
diff changeset
248 ssize_t ngx_read_file(ngx_file_t *file, u_char *buf, size_t size, off_t offset);
98
c9b243802a17 nginx-0.0.1-2003-05-30-18:27:59 import
Igor Sysoev <igor@sysoev.ru>
parents: 92
diff changeset
249 #define ngx_read_file_n "ReadFile()"
c9b243802a17 nginx-0.0.1-2003-05-30-18:27:59 import
Igor Sysoev <igor@sysoev.ru>
parents: 92
diff changeset
250
290
87e73f067470 nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents: 278
diff changeset
251 ssize_t ngx_write_file(ngx_file_t *file, u_char *buf, size_t size,
497
d7c90bb5ce83 nginx-0.1.23-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
252 off_t offset);
182
3c49eaf3f522 nginx-0.0.1-2003-11-13-09:14:05 import
Igor Sysoev <igor@sysoev.ru>
parents: 180
diff changeset
253
3c49eaf3f522 nginx-0.0.1-2003-11-13-09:14:05 import
Igor Sysoev <igor@sysoev.ru>
parents: 180
diff changeset
254 ssize_t ngx_write_chain_to_file(ngx_file_t *file, ngx_chain_t *ce,
497
d7c90bb5ce83 nginx-0.1.23-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
255 off_t offset, ngx_pool_t *pool);
182
3c49eaf3f522 nginx-0.0.1-2003-11-13-09:14:05 import
Igor Sysoev <igor@sysoev.ru>
parents: 180
diff changeset
256
3178
975f0558aab3 read_ahead
Igor Sysoev <igor@sysoev.ru>
parents: 2981
diff changeset
257 ngx_int_t ngx_read_ahead(ngx_fd_t fd, size_t n);
975f0558aab3 read_ahead
Igor Sysoev <igor@sysoev.ru>
parents: 2981
diff changeset
258 #define ngx_read_ahead_n "ngx_read_ahead_n"
182
3c49eaf3f522 nginx-0.0.1-2003-11-13-09:14:05 import
Igor Sysoev <igor@sysoev.ru>
parents: 180
diff changeset
259
2248
1adec90a0e46 disable directio for unaligned reads in Linux
Igor Sysoev <igor@sysoev.ru>
parents: 2234
diff changeset
260 ngx_int_t ngx_directio_on(ngx_fd_t fd);
1adec90a0e46 disable directio for unaligned reads in Linux
Igor Sysoev <igor@sysoev.ru>
parents: 2234
diff changeset
261 #define ngx_directio_on_n "ngx_directio_on_n"
1adec90a0e46 disable directio for unaligned reads in Linux
Igor Sysoev <igor@sysoev.ru>
parents: 2234
diff changeset
262
1adec90a0e46 disable directio for unaligned reads in Linux
Igor Sysoev <igor@sysoev.ru>
parents: 2234
diff changeset
263 ngx_int_t ngx_directio_off(ngx_fd_t fd);
1adec90a0e46 disable directio for unaligned reads in Linux
Igor Sysoev <igor@sysoev.ru>
parents: 2234
diff changeset
264 #define ngx_directio_off_n "ngx_directio_off_n"
2129
25add486e7aa directio
Igor Sysoev <igor@sysoev.ru>
parents: 2126
diff changeset
265
2615
ceef364208c8 ngx_fs_bsize()
Igor Sysoev <igor@sysoev.ru>
parents: 2592
diff changeset
266 size_t ngx_fs_bsize(u_char *name);
ceef364208c8 ngx_fs_bsize()
Igor Sysoev <igor@sysoev.ru>
parents: 2592
diff changeset
267
2129
25add486e7aa directio
Igor Sysoev <igor@sysoev.ru>
parents: 2126
diff changeset
268
2743
d8316f307b6a issue start up errors and warning on both stderr and error_log
Igor Sysoev <igor@sysoev.ru>
parents: 2687
diff changeset
269 #define ngx_stderr GetStdHandle(STD_ERROR_HANDLE)
d8316f307b6a issue start up errors and warning on both stderr and error_log
Igor Sysoev <igor@sysoev.ru>
parents: 2687
diff changeset
270 #define ngx_set_stderr(fd) SetStdHandle(STD_ERROR_HANDLE, fd)
d8316f307b6a issue start up errors and warning on both stderr and error_log
Igor Sysoev <igor@sysoev.ru>
parents: 2687
diff changeset
271 #define ngx_set_stderr_n "SetStdHandle(STD_ERROR_HANDLE)"
d8316f307b6a issue start up errors and warning on both stderr and error_log
Igor Sysoev <igor@sysoev.ru>
parents: 2687
diff changeset
272
d8316f307b6a issue start up errors and warning on both stderr and error_log
Igor Sysoev <igor@sysoev.ru>
parents: 2687
diff changeset
273
8
708f8bb772ec nginx-0.0.1-2002-09-02-18:48:24 import
Igor Sysoev <igor@sysoev.ru>
parents: 6
diff changeset
274 #endif /* _NGX_FILES_H_INCLUDED_ */