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