annotate src/os/win32/ngx_files.h @ 7670:ccb5ff87ab3e

Cache: introduced min_free cache clearing. Clearing cache based on free space left on a file system is expected to allow better disk utilization in some cases, notably when disk space might be also used for something other than nginx cache (including nginx own temporary files) and while loading cache (when cache size might be inaccurate for a while, effectively disabling max_size cache clearing). Based on a patch by Adam Bambuch.
author Maxim Dounin <mdounin@mdounin.ru>
date Mon, 22 Jun 2020 18:03:00 +0300
parents 061ec464813f
children b0a06c50c1b4
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
4412
d620f497c50f Copyright updated.
Maxim Konovalov <maxim@nginx.com>
parents: 4283
diff changeset
4 * Copyright (C) Nginx, Inc.
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
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
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
7
8
708f8bb772ec nginx-0.0.1-2002-09-02-18:48:24 import
Igor Sysoev <igor@sysoev.ru>
parents: 6
diff changeset
8 #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
9 #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
10
34a521b1a148 nginx-0.0.1-2002-08-20-18:48:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
11
34a521b1a148 nginx-0.0.1-2002-08-20-18:48:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
12 #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
13 #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
14
3
34a521b1a148 nginx-0.0.1-2002-08-20-18:48:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
15
2234
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
16 typedef HANDLE ngx_fd_t;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
17 typedef BY_HANDLE_FILE_INFORMATION ngx_file_info_t;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
18 typedef uint64_t ngx_file_uniq_t;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
19
3651
515d50917016 ngx_create_file_mapping()
Igor Sysoev <igor@sysoev.ru>
parents: 3501
diff changeset
20
515d50917016 ngx_create_file_mapping()
Igor Sysoev <igor@sysoev.ru>
parents: 3501
diff changeset
21 typedef struct {
515d50917016 ngx_create_file_mapping()
Igor Sysoev <igor@sysoev.ru>
parents: 3501
diff changeset
22 u_char *name;
515d50917016 ngx_create_file_mapping()
Igor Sysoev <igor@sysoev.ru>
parents: 3501
diff changeset
23 size_t size;
515d50917016 ngx_create_file_mapping()
Igor Sysoev <igor@sysoev.ru>
parents: 3501
diff changeset
24 void *addr;
515d50917016 ngx_create_file_mapping()
Igor Sysoev <igor@sysoev.ru>
parents: 3501
diff changeset
25 ngx_fd_t fd;
515d50917016 ngx_create_file_mapping()
Igor Sysoev <igor@sysoev.ru>
parents: 3501
diff changeset
26 HANDLE handle;
515d50917016 ngx_create_file_mapping()
Igor Sysoev <igor@sysoev.ru>
parents: 3501
diff changeset
27 ngx_log_t *log;
515d50917016 ngx_create_file_mapping()
Igor Sysoev <igor@sysoev.ru>
parents: 3501
diff changeset
28 } ngx_file_mapping_t;
515d50917016 ngx_create_file_mapping()
Igor Sysoev <igor@sysoev.ru>
parents: 3501
diff changeset
29
515d50917016 ngx_create_file_mapping()
Igor Sysoev <igor@sysoev.ru>
parents: 3501
diff changeset
30
2234
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
31 typedef struct {
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
32 HANDLE dir;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
33 WIN32_FIND_DATA finddata;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
34
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
35 unsigned valid_info:1;
3200
26784c34e8be *) reset cached dirent.d_type after stat()
Igor Sysoev <igor@sysoev.ru>
parents: 3178
diff changeset
36 unsigned type:1;
2234
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
37 unsigned ready:1;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
38 } ngx_dir_t;
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
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
41 typedef struct {
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
42 HANDLE dir;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
43 WIN32_FIND_DATA finddata;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
44
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
45 unsigned ready:1;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
46 unsigned test:1;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
47 unsigned no_match:1;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
48
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
49 u_char *pattern;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
50 ngx_str_t name;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
51 size_t last;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
52 ngx_log_t *log;
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
53 } ngx_glob_t;
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
c7c319896bb4 *) autoconfigure struct dirent capabilities
Igor Sysoev <igor@sysoev.ru>
parents: 2232
diff changeset
56
183
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents: 182
diff changeset
57 /* 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
58 #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
59 #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
60 #endif
34a521b1a148 nginx-0.0.1-2002-08-20-18:48:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
61
183
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents: 182
diff changeset
62 /* 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
63 #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
64 #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
65 #endif
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents: 182
diff changeset
66
4c698194c56d nginx-0.0.1-2003-11-13-19:16:33 import
Igor Sysoev <igor@sysoev.ru>
parents: 182
diff changeset
67
26
53cb81681040 nginx-0.0.1-2002-12-15-09:25:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 8
diff changeset
68 #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
69 #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
70
3
34a521b1a148 nginx-0.0.1-2002-08-20-18:48:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
71
2628
64a10d6b97bd win32 ngx_open_file() supports utf8 names and NGX_FILE_APPEND
Igor Sysoev <igor@sysoev.ru>
parents: 2615
diff changeset
72 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
73 #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
74
a059e1aa65d4 nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents: 98
diff changeset
75 #define NGX_FILE_RDONLY GENERIC_READ
1054
836fe133b6d5 NGX_FILE_WRONLY
Igor Sysoev <igor@sysoev.ru>
parents: 1053
diff changeset
76 #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
77 #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
78 #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
79 #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
80
99
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_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
82 #define NGX_FILE_OPEN OPEN_EXISTING
2686
9e0ae986b587 adopt NGX_FILE_TRUNCATE for win32
Igor Sysoev <igor@sysoev.ru>
parents: 2628
diff changeset
83 #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
84
1048
c4f666fc3a7e ngx_open_file(name, access, create) > ngx_open_file(name, mode, create, access)
Igor Sysoev <igor@sysoev.ru>
parents: 1047
diff changeset
85 #define NGX_FILE_DEFAULT_ACCESS 0
2592
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2461
diff changeset
86 #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
87
100
7ebc8b7fb816 nginx-0.0.1-2003-06-03-19:42:58 import
Igor Sysoev <igor@sysoev.ru>
parents: 99
diff changeset
88
1047
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
89 #define ngx_open_tempfile(name, persistent, access) \
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
90 CreateFile((const char *) name, \
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
91 GENERIC_READ|GENERIC_WRITE, \
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
92 FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, \
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
93 NULL, \
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
94 CREATE_NEW, \
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
95 persistent ? 0: \
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
96 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
97 NULL);
74
17ab1af8c3dd nginx-0.0.1-2003-04-11-20:01:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 57
diff changeset
98
92
19cc647ecd91 nginx-0.0.1-2003-05-20-19:37:55 import
Igor Sysoev <igor@sysoev.ru>
parents: 74
diff changeset
99 #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
100
19cc647ecd91 nginx-0.0.1-2003-05-20-19:37:55 import
Igor Sysoev <igor@sysoev.ru>
parents: 74
diff changeset
101
26
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 CloseHandle
53cb81681040 nginx-0.0.1-2002-12-15-09:25:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 8
diff changeset
103 #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
104
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
105
1634
d3cbb96818f1 fix win32 ngx_read_fd() and ngx_write_fd()
Igor Sysoev <igor@sysoev.ru>
parents: 1632
diff changeset
106 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
107 #define ngx_read_fd_n "ReadFile()"
0f692964f1b3 ngx_read_fd()
Igor Sysoev <igor@sysoev.ru>
parents: 1054
diff changeset
108
1634
d3cbb96818f1 fix win32 ngx_read_fd() and ngx_write_fd()
Igor Sysoev <igor@sysoev.ru>
parents: 1632
diff changeset
109
d3cbb96818f1 fix win32 ngx_read_fd() and ngx_write_fd()
Igor Sysoev <igor@sysoev.ru>
parents: 1632
diff changeset
110 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
111 #define ngx_write_fd_n "WriteFile()"
0f692964f1b3 ngx_read_fd()
Igor Sysoev <igor@sysoev.ru>
parents: 1054
diff changeset
112
1634
d3cbb96818f1 fix win32 ngx_read_fd() and ngx_write_fd()
Igor Sysoev <igor@sysoev.ru>
parents: 1632
diff changeset
113
2769
9d986c4e796f introduce ngx_write_console() to support OEM code pages
Igor Sysoev <igor@sysoev.ru>
parents: 2758
diff changeset
114 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
115
9d986c4e796f introduce ngx_write_console() to support OEM code pages
Igor Sysoev <igor@sysoev.ru>
parents: 2758
diff changeset
116
571
458b6c3fea65 nginx-0.3.7-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 501
diff changeset
117 #define ngx_linefeed(p) *p++ = CR; *p++ = LF;
458b6c3fea65 nginx-0.3.7-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 501
diff changeset
118 #define NGX_LINEFEED_SIZE 2
4283
f72496073689 Introduction of simple ngx_write_stderr() instead of ngx_log_stderr()
Igor Sysoev <igor@sysoev.ru>
parents: 3970
diff changeset
119 #define NGX_LINEFEED CRLF
571
458b6c3fea65 nginx-0.3.7-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 501
diff changeset
120
458b6c3fea65 nginx-0.3.7-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 501
diff changeset
121
292
a472bfb778b3 nginx-0.0.3-2004-03-17-00:26:01 import
Igor Sysoev <igor@sysoev.ru>
parents: 290
diff changeset
122 #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
123 #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
124
180
2d143372a1ee nginx-0.0.1-2003-11-12-01:16:11 import
Igor Sysoev <igor@sysoev.ru>
parents: 179
diff changeset
125
633
f971949ffb58 nginx-0.3.38-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 571
diff changeset
126 #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
127 #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
128 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
129
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
130
681
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 669
diff changeset
131
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 669
diff changeset
132 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
133 #define ngx_set_file_time_n "SetFileTime()"
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 669
diff changeset
134
7e24168b0853 nginx-0.4.0-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 669
diff changeset
135
467
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 457
diff changeset
136 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
137 #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
138
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
139
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
140 #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
141 #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
142
3
34a521b1a148 nginx-0.0.1-2002-08-20-18:48:28 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
143
3501
423ff11e3018 use lstat() for WebDAV DELETE, COPY, and MOVE to handle symlinks
Igor Sysoev <igor@sysoev.ru>
parents: 3497
diff changeset
144 #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
145 #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
146
423ff11e3018 use lstat() for WebDAV DELETE, COPY, and MOVE to handle symlinks
Igor Sysoev <igor@sysoev.ru>
parents: 3497
diff changeset
147
2461
2d3026ea9a65 fix win32 ngx_is_dir(), etc
Igor Sysoev <igor@sysoev.ru>
parents: 2259
diff changeset
148 #define ngx_is_dir(fi) \
2d3026ea9a65 fix win32 ngx_is_dir(), etc
Igor Sysoev <igor@sysoev.ru>
parents: 2259
diff changeset
149 (((fi)->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) != 0)
2d3026ea9a65 fix win32 ngx_is_dir(), etc
Igor Sysoev <igor@sysoev.ru>
parents: 2259
diff changeset
150 #define ngx_is_file(fi) \
2d3026ea9a65 fix win32 ngx_is_dir(), etc
Igor Sysoev <igor@sysoev.ru>
parents: 2259
diff changeset
151 (((fi)->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == 0)
669
562806624c4a nginx-0.3.56-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 633
diff changeset
152 #define ngx_is_link(fi) 0
1436
ccbf588fb517 win32 ngx_is_exec() stub
Igor Sysoev <igor@sysoev.ru>
parents: 1089
diff changeset
153 #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
154
1053
b9fa23cda4cc ngx_file_access() and ngx_de_access()
Igor Sysoev <igor@sysoev.ru>
parents: 1050
diff changeset
155 #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
156
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
157 #define ngx_file_size(fi) \
497
d7c90bb5ce83 nginx-0.1.23-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
158 (((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
159 #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
160
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
161 #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
162
179
9f3a78b06c48 nginx-0.0.1-2003-11-11-21:13:43 import
Igor Sysoev <igor@sysoev.ru>
parents: 176
diff changeset
163
9f3a78b06c48 nginx-0.0.1-2003-11-11-21:13:43 import
Igor Sysoev <igor@sysoev.ru>
parents: 176
diff changeset
164 /* 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
165
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
166 #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
167 (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
168 | (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
169 - 116444736000000000) / 10000000)
53cb81681040 nginx-0.0.1-2002-12-15-09:25:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 8
diff changeset
170
3651
515d50917016 ngx_create_file_mapping()
Igor Sysoev <igor@sysoev.ru>
parents: 3501
diff changeset
171 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
172 void ngx_close_file_mapping(ngx_file_mapping_t *fm);
515d50917016 ngx_create_file_mapping()
Igor Sysoev <igor@sysoev.ru>
parents: 3501
diff changeset
173
515d50917016 ngx_create_file_mapping()
Igor Sysoev <igor@sysoev.ru>
parents: 3501
diff changeset
174
4564
13eb3193cd63 Fixed win32 build after realpath changes in r4559.
Maxim Dounin <mdounin@mdounin.ru>
parents: 4558
diff changeset
175 u_char *ngx_realpath(u_char *path, u_char *resolved);
2259
0864138899f1 $realpath_root
Igor Sysoev <igor@sysoev.ru>
parents: 2248
diff changeset
176 #define ngx_realpath_n ""
2758
77264e0157ad -p and --prefix=
Igor Sysoev <igor@sysoev.ru>
parents: 2744
diff changeset
177 #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
178 #define ngx_getcwd_n "GetCurrentDirectory()"
2744
e50a2faac31d ngx_path_separator()
Igor Sysoev <igor@sysoev.ru>
parents: 2743
diff changeset
179 #define ngx_path_separator(c) ((c) == '/' || (c) == '\\')
e50a2faac31d ngx_path_separator()
Igor Sysoev <igor@sysoev.ru>
parents: 2743
diff changeset
180
4558
8865fd1f3aa5 Fixed unconditional MAX_PATH usage (ticket #22).
Maxim Dounin <mdounin@mdounin.ru>
parents: 4412
diff changeset
181 #define NGX_HAVE_MAX_PATH 1
336
ca9a7f8c86da nginx-0.0.3-2004-05-18-19:29:08 import
Igor Sysoev <igor@sysoev.ru>
parents: 292
diff changeset
182 #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
183
186
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
184
467
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 457
diff changeset
185 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
186 #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
187
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
188
467
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 457
diff changeset
189 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
190 #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
191
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
192
5749
a680bf4dddd5 Win32: ngx_open_dir() and ngx_close_dir() fixes.
Maxim Dounin <mdounin@mdounin.ru>
parents: 5389
diff changeset
193 ngx_int_t ngx_close_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
194 #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
195
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
196
669
562806624c4a nginx-0.3.56-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 633
diff changeset
197 #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
198 #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
199
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
200
292
a472bfb778b3 nginx-0.0.3-2004-03-17-00:26:01 import
Igor Sysoev <igor@sysoev.ru>
parents: 290
diff changeset
201 #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
202 #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
203
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
204
1089
b2e6eb425770 use ngx_dir_access() to enable search bits for directory
Igor Sysoev <igor@sysoev.ru>
parents: 1055
diff changeset
205 #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
206
b2e6eb425770 use ngx_dir_access() to enable search bits for directory
Igor Sysoev <igor@sysoev.ru>
parents: 1055
diff changeset
207
727
532d15ddbe68 glob support in include
Igor Sysoev <igor@sysoev.ru>
parents: 691
diff changeset
208 #define ngx_de_name(dir) ((u_char *) (dir)->finddata.cFileName)
532d15ddbe68 glob support in include
Igor Sysoev <igor@sysoev.ru>
parents: 691
diff changeset
209 #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
210
d4ea69372b94 nginx-0.1.25-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 497
diff changeset
211 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
212 #define ngx_de_info_n "dummy()"
501
d4ea69372b94 nginx-0.1.25-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 497
diff changeset
213
d4ea69372b94 nginx-0.1.25-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 497
diff changeset
214 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
215 #define ngx_de_link_info_n "dummy()"
501
d4ea69372b94 nginx-0.1.25-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 497
diff changeset
216
1047
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
217 #define ngx_de_is_dir(dir) \
2461
2d3026ea9a65 fix win32 ngx_is_dir(), etc
Igor Sysoev <igor@sysoev.ru>
parents: 2259
diff changeset
218 (((dir)->finddata.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) != 0)
1047
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
219 #define ngx_de_is_file(dir) \
2461
2d3026ea9a65 fix win32 ngx_is_dir(), etc
Igor Sysoev <igor@sysoev.ru>
parents: 2259
diff changeset
220 (((dir)->finddata.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) == 0)
497
d7c90bb5ce83 nginx-0.1.23-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
221 #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
222 #define ngx_de_access(dir) 0
1047
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
223 #define ngx_de_size(dir) \
727
532d15ddbe68 glob support in include
Igor Sysoev <igor@sysoev.ru>
parents: 691
diff changeset
224 (((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
225 #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
226
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
227 /* 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
228
1047
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
229 #define ngx_de_mtime(dir) \
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
230 (time_t) (((((unsigned __int64) \
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
231 (dir)->finddata.ftLastWriteTime.dwHighDateTime << 32) \
ea6f43a88208 style fix
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
232 | (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
233 - 116444736000000000) / 10000000)
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
234
727
532d15ddbe68 glob support in include
Igor Sysoev <igor@sysoev.ru>
parents: 691
diff changeset
235
532d15ddbe68 glob support in include
Igor Sysoev <igor@sysoev.ru>
parents: 691
diff changeset
236 ngx_int_t ngx_open_glob(ngx_glob_t *gl);
2129
25add486e7aa directio
Igor Sysoev <igor@sysoev.ru>
parents: 2126
diff changeset
237 #define ngx_open_glob_n "FindFirstFile()"
727
532d15ddbe68 glob support in include
Igor Sysoev <igor@sysoev.ru>
parents: 691
diff changeset
238
532d15ddbe68 glob support in include
Igor Sysoev <igor@sysoev.ru>
parents: 691
diff changeset
239 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
240 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
241
c1f3a3c7c5db nginx-0.0.1-2003-11-17-00:49:42 import
Igor Sysoev <igor@sysoev.ru>
parents: 185
diff changeset
242
290
87e73f067470 nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents: 278
diff changeset
243 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
244 #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
245
290
87e73f067470 nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents: 278
diff changeset
246 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
247 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
248
3c49eaf3f522 nginx-0.0.1-2003-11-13-09:14:05 import
Igor Sysoev <igor@sysoev.ru>
parents: 180
diff changeset
249 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
250 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
251
3178
975f0558aab3 read_ahead
Igor Sysoev <igor@sysoev.ru>
parents: 2981
diff changeset
252 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
253 #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
254
2248
1adec90a0e46 disable directio for unaligned reads in Linux
Igor Sysoev <igor@sysoev.ru>
parents: 2234
diff changeset
255 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
256 #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
257
1adec90a0e46 disable directio for unaligned reads in Linux
Igor Sysoev <igor@sysoev.ru>
parents: 2234
diff changeset
258 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
259 #define ngx_directio_off_n "ngx_directio_off_n"
2129
25add486e7aa directio
Igor Sysoev <igor@sysoev.ru>
parents: 2126
diff changeset
260
2615
ceef364208c8 ngx_fs_bsize()
Igor Sysoev <igor@sysoev.ru>
parents: 2592
diff changeset
261 size_t ngx_fs_bsize(u_char *name);
7670
ccb5ff87ab3e Cache: introduced min_free cache clearing.
Maxim Dounin <mdounin@mdounin.ru>
parents: 7433
diff changeset
262 off_t ngx_fs_available(u_char *name);
2615
ceef364208c8 ngx_fs_bsize()
Igor Sysoev <igor@sysoev.ru>
parents: 2592
diff changeset
263
2129
25add486e7aa directio
Igor Sysoev <igor@sysoev.ru>
parents: 2126
diff changeset
264
6186
db138b3b645e Core: added support for writing to stdout.
Vladimir Homutov <vl@nginx.com>
parents: 5749
diff changeset
265 #define ngx_stdout GetStdHandle(STD_OUTPUT_HANDLE)
2743
d8316f307b6a issue start up errors and warning on both stderr and error_log
Igor Sysoev <igor@sysoev.ru>
parents: 2687
diff changeset
266 #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
267 #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
268 #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
269
d8316f307b6a issue start up errors and warning on both stderr and error_log
Igor Sysoev <igor@sysoev.ru>
parents: 2687
diff changeset
270
8
708f8bb772ec nginx-0.0.1-2002-09-02-18:48:24 import
Igor Sysoev <igor@sysoev.ru>
parents: 6
diff changeset
271 #endif /* _NGX_FILES_H_INCLUDED_ */