Groonga 3.0.9 Source Code Document
Main Page
Related Pages
Namespaces
Data Structures
Files
File List
Globals
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
groonga
vendor
nginx-1.4.2
src
core
ngx_file.h
Go to the documentation of this file.
1
2
/*
3
* Copyright (C) Igor Sysoev
4
* Copyright (C) Nginx, Inc.
5
*/
6
7
8
#ifndef _NGX_FILE_H_INCLUDED_
9
#define _NGX_FILE_H_INCLUDED_
10
11
12
#include <
ngx_config.h
>
13
#include <
ngx_core.h
>
14
15
16
struct
ngx_file_s
{
17
ngx_fd_t
fd
;
18
ngx_str_t
name
;
19
ngx_file_info_t
info
;
20
21
off_t
offset
;
22
off_t
sys_offset
;
23
24
ngx_log_t
*
log
;
25
26
#if (NGX_HAVE_FILE_AIO)
27
ngx_event_aio_t
*aio;
28
#endif
29
30
unsigned
valid_info
:1;
31
unsigned
directio
:1;
32
};
33
34
35
#define NGX_MAX_PATH_LEVEL 3
36
37
38
typedef
time_t (*
ngx_path_manager_pt
) (
void
*data);
39
typedef
void (*
ngx_path_loader_pt
) (
void
*data);
40
41
42
typedef
struct
{
43
ngx_str_t
name
;
44
size_t
len
;
45
size_t
level[3];
46
47
ngx_path_manager_pt
manager
;
48
ngx_path_loader_pt
loader
;
49
void
*
data
;
50
51
u_char *
conf_file
;
52
ngx_uint_t
line
;
53
}
ngx_path_t
;
54
55
56
typedef
struct
{
57
ngx_str_t
name
;
58
size_t
level[3];
59
}
ngx_path_init_t
;
60
61
62
typedef
struct
{
63
ngx_file_t
file
;
64
off_t
offset
;
65
ngx_path_t
*
path
;
66
ngx_pool_t
*
pool
;
67
char
*
warn
;
68
69
ngx_uint_t
access
;
70
71
unsigned
log_level:8;
72
unsigned
persistent:1;
73
unsigned
clean:1;
74
}
ngx_temp_file_t
;
75
76
77
typedef
struct
{
78
ngx_uint_t
access
;
79
ngx_uint_t
path_access
;
80
time_t
time
;
81
ngx_fd_t
fd
;
82
83
unsigned
create_path:1;
84
unsigned
delete_file:1;
85
86
ngx_log_t
*
log
;
87
}
ngx_ext_rename_file_t
;
88
89
90
typedef
struct
{
91
off_t
size
;
92
size_t
buf_size
;
93
94
ngx_uint_t
access
;
95
time_t
time
;
96
97
ngx_log_t
*
log
;
98
}
ngx_copy_file_t
;
99
100
101
typedef
struct
ngx_tree_ctx_s
ngx_tree_ctx_t
;
102
103
typedef
ngx_int_t
(*
ngx_tree_init_handler_pt
) (
void
*ctx,
void
*prev);
104
typedef
ngx_int_t
(*
ngx_tree_handler_pt
) (
ngx_tree_ctx_t
*ctx,
ngx_str_t
*name);
105
106
struct
ngx_tree_ctx_s
{
107
off_t
size
;
108
off_t
fs_size
;
109
ngx_uint_t
access
;
110
time_t
mtime
;
111
112
ngx_tree_init_handler_pt
init_handler
;
113
ngx_tree_handler_pt
file_handler
;
114
ngx_tree_handler_pt
pre_tree_handler
;
115
ngx_tree_handler_pt
post_tree_handler
;
116
ngx_tree_handler_pt
spec_handler
;
117
118
void
*
data
;
119
size_t
alloc
;
120
121
ngx_log_t
*
log
;
122
};
123
124
125
ssize_t
ngx_write_chain_to_temp_file
(
ngx_temp_file_t
*tf,
ngx_chain_t
*chain);
126
ngx_int_t
ngx_create_temp_file
(
ngx_file_t
*file,
ngx_path_t
*path,
127
ngx_pool_t
*pool,
ngx_uint_t
persistent,
ngx_uint_t
clean,
128
ngx_uint_t
access);
129
void
ngx_create_hashed_filename
(
ngx_path_t
*path, u_char *file,
size_t
len);
130
ngx_int_t
ngx_create_path
(
ngx_file_t
*file,
ngx_path_t
*path);
131
ngx_err_t
ngx_create_full_path
(u_char *dir,
ngx_uint_t
access);
132
ngx_int_t
ngx_add_path
(
ngx_conf_t
*cf,
ngx_path_t
**slot);
133
ngx_int_t
ngx_create_paths
(
ngx_cycle_t
*cycle,
ngx_uid_t
user);
134
ngx_int_t
ngx_ext_rename_file
(
ngx_str_t
*src,
ngx_str_t
*to,
135
ngx_ext_rename_file_t
*
ext
);
136
ngx_int_t
ngx_copy_file
(u_char *from, u_char *to,
ngx_copy_file_t
*cf);
137
ngx_int_t
ngx_walk_tree
(
ngx_tree_ctx_t
*ctx,
ngx_str_t
*tree);
138
139
ngx_atomic_uint_t
ngx_next_temp_number
(
ngx_uint_t
collision);
140
141
char
*
ngx_conf_set_path_slot
(
ngx_conf_t
*cf,
ngx_command_t
*cmd,
void
*conf);
142
char
*
ngx_conf_merge_path_value
(
ngx_conf_t
*cf,
ngx_path_t
**path,
143
ngx_path_t
*prev,
ngx_path_init_t
*init);
144
char
*
ngx_conf_set_access_slot
(
ngx_conf_t
*cf,
ngx_command_t
*cmd,
void
*conf);
145
146
147
extern
ngx_atomic_t
*
ngx_temp_number
;
148
extern
ngx_atomic_int_t
ngx_random_number
;
149
150
151
#endif
/* _NGX_FILE_H_INCLUDED_ */
Generated on Sun Nov 10 2013 09:49:06 for Groonga 3.0.9 Source Code Document by
1.8.1.2