Mercurial > hg > nginx-ranges
comparison src/os/unix/ngx_files.h @ 635:e67b227c8dbb default tip
Merge with current.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Mon, 25 Apr 2011 04:07:55 +0400 |
parents | c456a023113c |
children |
comparison
equal
deleted
inserted
replaced
578:f3a9e57d2e17 | 635:e67b227c8dbb |
---|---|
13 | 13 |
14 | 14 |
15 typedef int ngx_fd_t; | 15 typedef int ngx_fd_t; |
16 typedef struct stat ngx_file_info_t; | 16 typedef struct stat ngx_file_info_t; |
17 typedef ino_t ngx_file_uniq_t; | 17 typedef ino_t ngx_file_uniq_t; |
18 | |
19 | |
20 typedef struct { | |
21 u_char *name; | |
22 size_t size; | |
23 void *addr; | |
24 ngx_fd_t fd; | |
25 ngx_log_t *log; | |
26 } ngx_file_mapping_t; | |
18 | 27 |
19 | 28 |
20 typedef struct { | 29 typedef struct { |
21 DIR *dir; | 30 DIR *dir; |
22 struct dirent *de; | 31 struct dirent *de; |
62 #define NGX_FILE_RDWR O_RDWR | 71 #define NGX_FILE_RDWR O_RDWR |
63 #define NGX_FILE_CREATE_OR_OPEN O_CREAT | 72 #define NGX_FILE_CREATE_OR_OPEN O_CREAT |
64 #define NGX_FILE_OPEN 0 | 73 #define NGX_FILE_OPEN 0 |
65 #define NGX_FILE_TRUNCATE O_CREAT|O_TRUNC | 74 #define NGX_FILE_TRUNCATE O_CREAT|O_TRUNC |
66 #define NGX_FILE_APPEND O_WRONLY|O_APPEND | 75 #define NGX_FILE_APPEND O_WRONLY|O_APPEND |
76 #define NGX_FILE_NONBLOCK O_NONBLOCK | |
67 | 77 |
68 #define NGX_FILE_DEFAULT_ACCESS 0644 | 78 #define NGX_FILE_DEFAULT_ACCESS 0644 |
69 #define NGX_FILE_OWNER_ACCESS 0600 | 79 #define NGX_FILE_OWNER_ACCESS 0600 |
70 | 80 |
71 | 81 |
136 #define ngx_file_info_n "stat()" | 146 #define ngx_file_info_n "stat()" |
137 | 147 |
138 #define ngx_fd_info(fd, sb) fstat(fd, sb) | 148 #define ngx_fd_info(fd, sb) fstat(fd, sb) |
139 #define ngx_fd_info_n "fstat()" | 149 #define ngx_fd_info_n "fstat()" |
140 | 150 |
151 #define ngx_link_info(file, sb) lstat((const char *) file, sb) | |
152 #define ngx_link_info_n "lstat()" | |
153 | |
141 #define ngx_is_dir(sb) (S_ISDIR((sb)->st_mode)) | 154 #define ngx_is_dir(sb) (S_ISDIR((sb)->st_mode)) |
142 #define ngx_is_file(sb) (S_ISREG((sb)->st_mode)) | 155 #define ngx_is_file(sb) (S_ISREG((sb)->st_mode)) |
143 #define ngx_is_link(sb) (S_ISLNK((sb)->st_mode)) | 156 #define ngx_is_link(sb) (S_ISLNK((sb)->st_mode)) |
144 #define ngx_is_exec(sb) (((sb)->st_mode & S_IXUSR) == S_IXUSR) | 157 #define ngx_is_exec(sb) (((sb)->st_mode & S_IXUSR) == S_IXUSR) |
145 #define ngx_file_access(sb) ((sb)->st_mode & 0777) | 158 #define ngx_file_access(sb) ((sb)->st_mode & 0777) |
146 #define ngx_file_size(sb) (sb)->st_size | 159 #define ngx_file_size(sb) (sb)->st_size |
147 #define ngx_file_mtime(sb) (sb)->st_mtime | 160 #define ngx_file_mtime(sb) (sb)->st_mtime |
148 #define ngx_file_uniq(sb) (sb)->st_ino | 161 #define ngx_file_uniq(sb) (sb)->st_ino |
149 | 162 |
150 | 163 |
164 ngx_int_t ngx_create_file_mapping(ngx_file_mapping_t *fm); | |
165 void ngx_close_file_mapping(ngx_file_mapping_t *fm); | |
166 | |
167 | |
151 #if (NGX_HAVE_CASELESS_FILESYSTEM) | 168 #if (NGX_HAVE_CASELESS_FILESYSTEM) |
152 | 169 |
153 #define ngx_filename_cmp(s1, s2, n) strncasecmp((char *) s1, (char *) s2, n) | 170 #define ngx_filename_cmp(s1, s2, n) strncasecmp((char *) s1, (char *) s2, n) |
154 | 171 |
155 #else | 172 #else |