annotate src/core/ngx_file.h @ 7690:8253424d1aff

Added size check to ngx_http_alloc_large_header_buffer(). This ensures that copying won't write more than the buffer size even if the buffer comes from hc->free and it is smaller than the large client header buffer size in the virtual host configuration. This might happen if size of large client header buffers is different in name-based virtual hosts, similarly to the problem with number of buffers fixed in 6926:e662cbf1b932.
author Maxim Dounin <mdounin@mdounin.ru>
date Thu, 06 Aug 2020 05:02:22 +0300
parents 0c572ed91b36
children
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: 292
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: 292
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: 3970
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: 292
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: 292
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: 292
diff changeset
7
8
708f8bb772ec nginx-0.0.1-2002-09-02-18:48:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
8 #ifndef _NGX_FILE_H_INCLUDED_
708f8bb772ec nginx-0.0.1-2002-09-02-18:48:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
9 #define _NGX_FILE_H_INCLUDED_
708f8bb772ec nginx-0.0.1-2002-09-02-18:48:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
10
708f8bb772ec nginx-0.0.1-2002-09-02-18:48:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
11
100
7ebc8b7fb816 nginx-0.0.1-2003-06-03-19:42:58 import
Igor Sysoev <igor@sysoev.ru>
parents: 92
diff changeset
12 #include <ngx_config.h>
7ebc8b7fb816 nginx-0.0.1-2003-06-03-19:42:58 import
Igor Sysoev <igor@sysoev.ru>
parents: 92
diff changeset
13 #include <ngx_core.h>
8
708f8bb772ec nginx-0.0.1-2002-09-02-18:48:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
14
708f8bb772ec nginx-0.0.1-2002-09-02-18:48:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
15
708f8bb772ec nginx-0.0.1-2002-09-02-18:48:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
16 struct ngx_file_s {
2592
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
17 ngx_fd_t fd;
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
18 ngx_str_t name;
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
19 ngx_file_info_t info;
26
53cb81681040 nginx-0.0.1-2002-12-15-09:25:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 8
diff changeset
20
2592
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
21 off_t offset;
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
22 off_t sys_offset;
35
79c1fce18e71 nginx-0.0.1-2002-12-21-20:14:50 import
Igor Sysoev <igor@sysoev.ru>
parents: 26
diff changeset
23
2592
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
24 ngx_log_t *log;
26
53cb81681040 nginx-0.0.1-2002-12-15-09:25:09 import
Igor Sysoev <igor@sysoev.ru>
parents: 8
diff changeset
25
6733
adc2414856b1 Modules compatibility: compatibility with NGX_THREADS.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6727
diff changeset
26 #if (NGX_THREADS || NGX_COMPAT)
6022
1fdba317ee6d Added support for offloading read() in thread pools.
Valentin Bartenev <vbart@nginx.com>
parents: 5969
diff changeset
27 ngx_int_t (*thread_handler)(ngx_thread_task_t *task,
1fdba317ee6d Added support for offloading read() in thread pools.
Valentin Bartenev <vbart@nginx.com>
parents: 5969
diff changeset
28 ngx_file_t *file);
1fdba317ee6d Added support for offloading read() in thread pools.
Valentin Bartenev <vbart@nginx.com>
parents: 5969
diff changeset
29 void *thread_ctx;
6441
9fd738b85fad Threads: task pointer stored in ngx_file_t.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6022
diff changeset
30 ngx_thread_task_t *thread_task;
6022
1fdba317ee6d Added support for offloading read() in thread pools.
Valentin Bartenev <vbart@nginx.com>
parents: 5969
diff changeset
31 #endif
1fdba317ee6d Added support for offloading read() in thread pools.
Valentin Bartenev <vbart@nginx.com>
parents: 5969
diff changeset
32
6734
0c572ed91b36 Modules compatibility: compatibility with NGX_HAVE_FILE_AIO.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6733
diff changeset
33 #if (NGX_HAVE_FILE_AIO || NGX_COMPAT)
3052
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 3035
diff changeset
34 ngx_event_aio_t *aio;
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 3035
diff changeset
35 #endif
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 3035
diff changeset
36
2592
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
37 unsigned valid_info:1;
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
38 unsigned directio:1;
8
708f8bb772ec nginx-0.0.1-2002-09-02-18:48:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
39 };
708f8bb772ec nginx-0.0.1-2002-09-02-18:48:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
40
3052
6060225e9261 FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents: 3035
diff changeset
41
185
d5f50cefc322 nginx-0.0.1-2003-11-14-19:52:04 import
Igor Sysoev <igor@sysoev.ru>
parents: 170
diff changeset
42 #define NGX_MAX_PATH_LEVEL 3
8
708f8bb772ec nginx-0.0.1-2002-09-02-18:48:24 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff changeset
43
2592
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
44
6727
ca709bca4b77 Cache: cache manager limits.
Dmitry Volyntsev <xeioex@nginx.com>
parents: 6709
diff changeset
45 typedef ngx_msec_t (*ngx_path_manager_pt) (void *data);
6709
e08e741f74cd Modules compatibility: cache purge fields.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6617
diff changeset
46 typedef ngx_msec_t (*ngx_path_purger_pt) (void *data);
3018
8fc7b94f647b cache loader process
Igor Sysoev <igor@sysoev.ru>
parents: 2616
diff changeset
47 typedef void (*ngx_path_loader_pt) (void *data);
2592
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
48
467
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 457
diff changeset
49
2592
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
50 typedef struct {
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
51 ngx_str_t name;
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
52 size_t len;
6617
8bf484eef9ab Use NGX_MAX_PATH_LEVEL where appropriate.
Ruslan Ermilov <ru@nginx.com>
parents: 6442
diff changeset
53 size_t level[NGX_MAX_PATH_LEVEL];
2592
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
54
2616
d19979e0d980 introduce cache manager instead of cache cleaner
Igor Sysoev <igor@sysoev.ru>
parents: 2592
diff changeset
55 ngx_path_manager_pt manager;
6709
e08e741f74cd Modules compatibility: cache purge fields.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6617
diff changeset
56 ngx_path_purger_pt purger;
3018
8fc7b94f647b cache loader process
Igor Sysoev <igor@sysoev.ru>
parents: 2616
diff changeset
57 ngx_path_loader_pt loader;
2592
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
58 void *data;
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
59
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
60 u_char *conf_file;
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
61 ngx_uint_t line;
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
62 } ngx_path_t;
74
17ab1af8c3dd nginx-0.0.1-2003-04-11-20:01:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 59
diff changeset
63
17ab1af8c3dd nginx-0.0.1-2003-04-11-20:01:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 59
diff changeset
64
160
e7e094d34162 nginx-0.0.1-2003-10-27-11:53:49 import
Igor Sysoev <igor@sysoev.ru>
parents: 155
diff changeset
65 typedef struct {
2592
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
66 ngx_str_t name;
6617
8bf484eef9ab Use NGX_MAX_PATH_LEVEL where appropriate.
Ruslan Ermilov <ru@nginx.com>
parents: 6442
diff changeset
67 size_t level[NGX_MAX_PATH_LEVEL];
2592
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
68 } ngx_path_init_t;
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
69
160
e7e094d34162 nginx-0.0.1-2003-10-27-11:53:49 import
Igor Sysoev <igor@sysoev.ru>
parents: 155
diff changeset
70
2592
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
71 typedef struct {
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
72 ngx_file_t file;
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
73 off_t offset;
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
74 ngx_path_t *path;
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
75 ngx_pool_t *pool;
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
76 char *warn;
633
f971949ffb58 nginx-0.3.38-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 561
diff changeset
77
2592
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
78 ngx_uint_t access;
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
79
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
80 unsigned log_level:8;
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
81 unsigned persistent:1;
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
82 unsigned clean:1;
6442
6e10518f95d8 Threads: offloading of temp files writing to thread pools.
Maxim Dounin <mdounin@mdounin.ru>
parents: 6441
diff changeset
83 unsigned thread_write:1;
160
e7e094d34162 nginx-0.0.1-2003-10-27-11:53:49 import
Igor Sysoev <igor@sysoev.ru>
parents: 155
diff changeset
84 } ngx_temp_file_t;
e7e094d34162 nginx-0.0.1-2003-10-27-11:53:49 import
Igor Sysoev <igor@sysoev.ru>
parents: 155
diff changeset
85
e7e094d34162 nginx-0.0.1-2003-10-27-11:53:49 import
Igor Sysoev <igor@sysoev.ru>
parents: 155
diff changeset
86
1827
cb9d4278b476 add declaration missed in previous commit
Igor Sysoev <igor@sysoev.ru>
parents: 1748
diff changeset
87 typedef struct {
2592
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
88 ngx_uint_t access;
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
89 ngx_uint_t path_access;
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
90 time_t time;
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
91 ngx_fd_t fd;
1827
cb9d4278b476 add declaration missed in previous commit
Igor Sysoev <igor@sysoev.ru>
parents: 1748
diff changeset
92
2592
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
93 unsigned create_path:1;
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
94 unsigned delete_file:1;
1827
cb9d4278b476 add declaration missed in previous commit
Igor Sysoev <igor@sysoev.ru>
parents: 1748
diff changeset
95
2592
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
96 ngx_log_t *log;
1827
cb9d4278b476 add declaration missed in previous commit
Igor Sysoev <igor@sysoev.ru>
parents: 1748
diff changeset
97 } ngx_ext_rename_file_t;
cb9d4278b476 add declaration missed in previous commit
Igor Sysoev <igor@sysoev.ru>
parents: 1748
diff changeset
98
cb9d4278b476 add declaration missed in previous commit
Igor Sysoev <igor@sysoev.ru>
parents: 1748
diff changeset
99
3024
8101d9101ed8 allow cross device temporary files atomic copying:
Igor Sysoev <igor@sysoev.ru>
parents: 3018
diff changeset
100 typedef struct {
8101d9101ed8 allow cross device temporary files atomic copying:
Igor Sysoev <igor@sysoev.ru>
parents: 3018
diff changeset
101 off_t size;
8101d9101ed8 allow cross device temporary files atomic copying:
Igor Sysoev <igor@sysoev.ru>
parents: 3018
diff changeset
102 size_t buf_size;
8101d9101ed8 allow cross device temporary files atomic copying:
Igor Sysoev <igor@sysoev.ru>
parents: 3018
diff changeset
103
8101d9101ed8 allow cross device temporary files atomic copying:
Igor Sysoev <igor@sysoev.ru>
parents: 3018
diff changeset
104 ngx_uint_t access;
8101d9101ed8 allow cross device temporary files atomic copying:
Igor Sysoev <igor@sysoev.ru>
parents: 3018
diff changeset
105 time_t time;
8101d9101ed8 allow cross device temporary files atomic copying:
Igor Sysoev <igor@sysoev.ru>
parents: 3018
diff changeset
106
8101d9101ed8 allow cross device temporary files atomic copying:
Igor Sysoev <igor@sysoev.ru>
parents: 3018
diff changeset
107 ngx_log_t *log;
8101d9101ed8 allow cross device temporary files atomic copying:
Igor Sysoev <igor@sysoev.ru>
parents: 3018
diff changeset
108 } ngx_copy_file_t;
8101d9101ed8 allow cross device temporary files atomic copying:
Igor Sysoev <igor@sysoev.ru>
parents: 3018
diff changeset
109
8101d9101ed8 allow cross device temporary files atomic copying:
Igor Sysoev <igor@sysoev.ru>
parents: 3018
diff changeset
110
956
8c3d62474df1 ngx_walk_tree()
Igor Sysoev <igor@sysoev.ru>
parents: 669
diff changeset
111 typedef struct ngx_tree_ctx_s ngx_tree_ctx_t;
8c3d62474df1 ngx_walk_tree()
Igor Sysoev <igor@sysoev.ru>
parents: 669
diff changeset
112
1058
01f818c6f7de add size, access, and mtime to ngx_walk_tree()
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
113 typedef ngx_int_t (*ngx_tree_init_handler_pt) (void *ctx, void *prev);
956
8c3d62474df1 ngx_walk_tree()
Igor Sysoev <igor@sysoev.ru>
parents: 669
diff changeset
114 typedef ngx_int_t (*ngx_tree_handler_pt) (ngx_tree_ctx_t *ctx, ngx_str_t *name);
8c3d62474df1 ngx_walk_tree()
Igor Sysoev <igor@sysoev.ru>
parents: 669
diff changeset
115
8c3d62474df1 ngx_walk_tree()
Igor Sysoev <igor@sysoev.ru>
parents: 669
diff changeset
116 struct ngx_tree_ctx_s {
1058
01f818c6f7de add size, access, and mtime to ngx_walk_tree()
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
117 off_t size;
3970
2d05952a324d elimination of reading cache files by cache loader
Igor Sysoev <igor@sysoev.ru>
parents: 3052
diff changeset
118 off_t fs_size;
1058
01f818c6f7de add size, access, and mtime to ngx_walk_tree()
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
119 ngx_uint_t access;
01f818c6f7de add size, access, and mtime to ngx_walk_tree()
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
120 time_t mtime;
01f818c6f7de add size, access, and mtime to ngx_walk_tree()
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
121
956
8c3d62474df1 ngx_walk_tree()
Igor Sysoev <igor@sysoev.ru>
parents: 669
diff changeset
122 ngx_tree_init_handler_pt init_handler;
8c3d62474df1 ngx_walk_tree()
Igor Sysoev <igor@sysoev.ru>
parents: 669
diff changeset
123 ngx_tree_handler_pt file_handler;
8c3d62474df1 ngx_walk_tree()
Igor Sysoev <igor@sysoev.ru>
parents: 669
diff changeset
124 ngx_tree_handler_pt pre_tree_handler;
8c3d62474df1 ngx_walk_tree()
Igor Sysoev <igor@sysoev.ru>
parents: 669
diff changeset
125 ngx_tree_handler_pt post_tree_handler;
8c3d62474df1 ngx_walk_tree()
Igor Sysoev <igor@sysoev.ru>
parents: 669
diff changeset
126 ngx_tree_handler_pt spec_handler;
1058
01f818c6f7de add size, access, and mtime to ngx_walk_tree()
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
127
956
8c3d62474df1 ngx_walk_tree()
Igor Sysoev <igor@sysoev.ru>
parents: 669
diff changeset
128 void *data;
1058
01f818c6f7de add size, access, and mtime to ngx_walk_tree()
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
129 size_t alloc;
01f818c6f7de add size, access, and mtime to ngx_walk_tree()
Igor Sysoev <igor@sysoev.ru>
parents: 1046
diff changeset
130
956
8c3d62474df1 ngx_walk_tree()
Igor Sysoev <igor@sysoev.ru>
parents: 669
diff changeset
131 ngx_log_t *log;
8c3d62474df1 ngx_walk_tree()
Igor Sysoev <igor@sysoev.ru>
parents: 669
diff changeset
132 };
8c3d62474df1 ngx_walk_tree()
Igor Sysoev <igor@sysoev.ru>
parents: 669
diff changeset
133
8c3d62474df1 ngx_walk_tree()
Igor Sysoev <igor@sysoev.ru>
parents: 669
diff changeset
134
5316
12dd27b74117 Fixed memory leaks in the root and auth_basic_user_file directives.
Valentin Bartenev <vbart@nginx.com>
parents: 4870
diff changeset
135 ngx_int_t ngx_get_full_name(ngx_pool_t *pool, ngx_str_t *prefix,
12dd27b74117 Fixed memory leaks in the root and auth_basic_user_file directives.
Valentin Bartenev <vbart@nginx.com>
parents: 4870
diff changeset
136 ngx_str_t *name);
12dd27b74117 Fixed memory leaks in the root and auth_basic_user_file directives.
Valentin Bartenev <vbart@nginx.com>
parents: 4870
diff changeset
137
467
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 457
diff changeset
138 ssize_t ngx_write_chain_to_temp_file(ngx_temp_file_t *tf, ngx_chain_t *chain);
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 457
diff changeset
139 ngx_int_t ngx_create_temp_file(ngx_file_t *file, ngx_path_t *path,
1075
4d203f76b757 undo "client_body_in_file_only any"
Igor Sysoev <igor@sysoev.ru>
parents: 1058
diff changeset
140 ngx_pool_t *pool, ngx_uint_t persistent, ngx_uint_t clean,
4d203f76b757 undo "client_body_in_file_only any"
Igor Sysoev <igor@sysoev.ru>
parents: 1058
diff changeset
141 ngx_uint_t access);
1748
91d381e4e691 ngx_create_hashed_filename() does not need ngx_file_t
Igor Sysoev <igor@sysoev.ru>
parents: 1695
diff changeset
142 void ngx_create_hashed_filename(ngx_path_t *path, u_char *file, size_t len);
467
bbd6b0b4a2b1 nginx-0.1.8-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 457
diff changeset
143 ngx_int_t ngx_create_path(ngx_file_t *file, ngx_path_t *path);
669
562806624c4a nginx-0.3.56-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 637
diff changeset
144 ngx_err_t ngx_create_full_path(u_char *dir, ngx_uint_t access);
479
c52408583801 nginx-0.1.14-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 467
diff changeset
145 ngx_int_t ngx_add_path(ngx_conf_t *cf, ngx_path_t **slot);
4870
8a9b7b4e9f2d Correct plural form for "path" in the whole source base.
Andrey Belov <defan@nginx.com>
parents: 4412
diff changeset
146 ngx_int_t ngx_create_paths(ngx_cycle_t *cycle, ngx_uid_t user);
1827
cb9d4278b476 add declaration missed in previous commit
Igor Sysoev <igor@sysoev.ru>
parents: 1748
diff changeset
147 ngx_int_t ngx_ext_rename_file(ngx_str_t *src, ngx_str_t *to,
cb9d4278b476 add declaration missed in previous commit
Igor Sysoev <igor@sysoev.ru>
parents: 1748
diff changeset
148 ngx_ext_rename_file_t *ext);
3024
8101d9101ed8 allow cross device temporary files atomic copying:
Igor Sysoev <igor@sysoev.ru>
parents: 3018
diff changeset
149 ngx_int_t ngx_copy_file(u_char *from, u_char *to, ngx_copy_file_t *cf);
956
8c3d62474df1 ngx_walk_tree()
Igor Sysoev <igor@sysoev.ru>
parents: 669
diff changeset
150 ngx_int_t ngx_walk_tree(ngx_tree_ctx_t *ctx, ngx_str_t *tree);
74
17ab1af8c3dd nginx-0.0.1-2003-04-11-20:01:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 59
diff changeset
151
495
fc9909c369b2 nginx-0.1.22-RELEASE import
Igor Sysoev <igor@sysoev.ru>
parents: 493
diff changeset
152 ngx_atomic_uint_t ngx_next_temp_number(ngx_uint_t collision);
74
17ab1af8c3dd nginx-0.0.1-2003-04-11-20:01:14 import
Igor Sysoev <igor@sysoev.ru>
parents: 59
diff changeset
153
155
46eb23d9471d nginx-0.0.1-2003-10-22-20:38:26 import
Igor Sysoev <igor@sysoev.ru>
parents: 100
diff changeset
154 char *ngx_conf_set_path_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
2592
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
155 char *ngx_conf_merge_path_value(ngx_conf_t *cf, ngx_path_t **path,
3a8a53c0c42f a prelimiary proxy cache support
Igor Sysoev <igor@sysoev.ru>
parents: 2394
diff changeset
156 ngx_path_t *prev, ngx_path_init_t *init);
1291
13a4ce6e7f1e proxy_store and fastcgi_store
Igor Sysoev <igor@sysoev.ru>
parents: 1075
diff changeset
157 char *ngx_conf_set_access_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);
155
46eb23d9471d nginx-0.0.1-2003-10-22-20:38:26 import
Igor Sysoev <igor@sysoev.ru>
parents: 100
diff changeset
158
46eb23d9471d nginx-0.0.1-2003-10-22-20:38:26 import
Igor Sysoev <igor@sysoev.ru>
parents: 100
diff changeset
159
3035
f9d97311c652 *) share temporary number between workers
Igor Sysoev <igor@sysoev.ru>
parents: 3024
diff changeset
160 extern ngx_atomic_t *ngx_temp_number;
f9d97311c652 *) share temporary number between workers
Igor Sysoev <igor@sysoev.ru>
parents: 3024
diff changeset
161 extern ngx_atomic_int_t ngx_random_number;
f9d97311c652 *) share temporary number between workers
Igor Sysoev <igor@sysoev.ru>
parents: 3024
diff changeset
162
f9d97311c652 *) share temporary number between workers
Igor Sysoev <igor@sysoev.ru>
parents: 3024
diff changeset
163
59
e8cdc2989cee nginx-0.0.1-2003-02-06-20:21:13 import
Igor Sysoev <igor@sysoev.ru>
parents: 57
diff changeset
164 #endif /* _NGX_FILE_H_INCLUDED_ */