comparison src/core/ngx_file.h @ 16:74b1868dd3cd NGINX_0_1_8

nginx 0.1.8 *) Bugfix: in the ngx_http_autoindex_module if the long file names were in the listing. *) Feature: the "^~" modifier in the location directive. *) Feature: the proxy_max_temp_file_size directive.
author Igor Sysoev <http://sysoev.ru>
date Sat, 20 Nov 2004 00:00:00 +0300
parents 80ba094c6b3e
children 7ca9bdc82b3f
comparison
equal deleted inserted replaced
15:0503cb60c4e4 16:74b1868dd3cd
15 15
16 #include <ngx_garbage_collector.h> 16 #include <ngx_garbage_collector.h>
17 17
18 18
19 struct ngx_file_s { 19 struct ngx_file_s {
20 ngx_fd_t fd; 20 ngx_fd_t fd;
21 ngx_str_t name; 21 ngx_str_t name;
22 ngx_file_info_t info; 22 ngx_file_info_t info;
23 23
24 off_t offset; 24 off_t offset;
25 off_t sys_offset; 25 off_t sys_offset;
26 26
27 ngx_log_t *log; 27 ngx_log_t *log;
28 28
29 ngx_uint_t valid_info:1; /* unsigned valid_info:1; */ 29 ngx_uint_t valid_info:1; /* unsigned valid_info:1; */
30 }; 30 };
31 31
32 #define NGX_MAX_PATH_LEVEL 3 32 #define NGX_MAX_PATH_LEVEL 3
33 33
34 struct ngx_path_s { 34 struct ngx_path_s {
35 ngx_str_t name; 35 ngx_str_t name;
36 u_int len; 36 ngx_uint_t len;
37 u_int level[3]; 37 ngx_uint_t level[3];
38 ngx_gc_handler_pt gc_handler; 38 ngx_gc_handler_pt gc_handler;
39
40 u_char *conf_file;
41 ngx_uint_t line;
39 }; 42 };
40 43
41 44
42 typedef struct { 45 typedef struct {
43 ngx_file_t file; 46 ngx_file_t file;
44 off_t offset; 47 off_t offset;
45 ngx_path_t *path; 48 ngx_path_t *path;
46 ngx_pool_t *pool; 49 ngx_pool_t *pool;
47 char *warn; 50 char *warn;
48 51
49 unsigned persistent:1; 52 unsigned persistent:1;
50 } ngx_temp_file_t; 53 } ngx_temp_file_t;
51 54
52 55
53 int ngx_write_chain_to_temp_file(ngx_temp_file_t *tf, ngx_chain_t *chain); 56 ssize_t ngx_write_chain_to_temp_file(ngx_temp_file_t *tf, ngx_chain_t *chain);
54 int ngx_create_temp_file(ngx_file_t *file, ngx_path_t *path, 57 ngx_int_t ngx_create_temp_file(ngx_file_t *file, ngx_path_t *path,
55 ngx_pool_t *pool, int persistent); 58 ngx_pool_t *pool, int persistent);
56 void ngx_create_hashed_filename(ngx_file_t *file, ngx_path_t *path); 59 void ngx_create_hashed_filename(ngx_file_t *file, ngx_path_t *path);
57 int ngx_create_path(ngx_file_t *file, ngx_path_t *path); 60 ngx_int_t ngx_create_path(ngx_file_t *file, ngx_path_t *path);
61 ngx_int_t ngx_create_pathes(ngx_cycle_t *cycle, ngx_uid_t user);
58 62
59 void ngx_init_temp_number(); 63 void ngx_init_temp_number();
60 ngx_uint_t ngx_next_temp_number(ngx_uint_t collision); 64 ngx_uint_t ngx_next_temp_number(ngx_uint_t collision);
61 65
62 char *ngx_conf_set_path_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf); 66 char *ngx_conf_set_path_slot(ngx_conf_t *cf, ngx_command_t *cmd, void *conf);