comparison src/os/unix/ngx_files.h @ 390:0b6053502c55 NGINX_0_7_7

nginx 0.7.7 *) Change: now the EAGAIN error returned by connect() is not considered as temporary error. *) Change: now the $ssl_client_cert variable value is a certificate with TAB character intended before each line except first one; an unchanged certificate is available in the $ssl_client_raw_cert variable. *) Feature: the "ask" parameter in the "ssl_verify_client" directive. *) Feature: byte-range processing improvements. Thanks to Maxim Dounin. *) Feature: the "directio" directive. *) Feature: MacOSX 1.5 sendfile() support. *) Bugfix: now in MacOSX and Cygwin locations are tested in case insensitive mode; however, the compare is provided by single-byte locales only. *) Bugfix: mail proxy SSL connections hanged, if select, poll, or /dev/poll methods were used. *) Bugfix: UTF-8 encoding usage in the ngx_http_autoindex_module.
author Igor Sysoev <http://sysoev.ru>
date Wed, 30 Jul 2008 00:00:00 +0400
parents 6639b93e81b2
children 34fb3a573548
comparison
equal deleted inserted replaced
389:930e48a26dde 390:0b6053502c55
16 #define NGX_FILE_ERROR -1 16 #define NGX_FILE_ERROR -1
17 17
18 18
19 19
20 #ifdef __CYGWIN__ 20 #ifdef __CYGWIN__
21
22 #define NGX_HAVE_CASELESS_FILESYSTEM 1
21 23
22 #define ngx_open_file(name, mode, create, access) \ 24 #define ngx_open_file(name, mode, create, access) \
23 open((const char *) name, mode|create|O_BINARY, access) 25 open((const char *) name, mode|create|O_BINARY, access)
24 26
25 #else 27 #else
100 #define ngx_file_access(sb) ((sb)->st_mode & 0777) 102 #define ngx_file_access(sb) ((sb)->st_mode & 0777)
101 #define ngx_file_size(sb) (sb)->st_size 103 #define ngx_file_size(sb) (sb)->st_size
102 #define ngx_file_mtime(sb) (sb)->st_mtime 104 #define ngx_file_mtime(sb) (sb)->st_mtime
103 #define ngx_file_uniq(sb) (sb)->st_ino 105 #define ngx_file_uniq(sb) (sb)->st_ino
104 106
107
108 #if (NGX_HAVE_CASELESS_FILESYSTEM)
109
110 #define ngx_filename_cmp(s1, s2, n) strncasecmp((char *) s1, (char *) s2, n)
111
112 #else
113
114 #define ngx_filename_cmp ngx_memcmp
115
116 #endif
105 117
106 118
107 #define ngx_getcwd(buf, size) (getcwd(buf, size) != NULL) 119 #define ngx_getcwd(buf, size) (getcwd(buf, size) != NULL)
108 #define ngx_getcwd_n "getcwd()" 120 #define ngx_getcwd_n "getcwd()"
109 #define NGX_MAX_PATH PATH_MAX 121 #define NGX_MAX_PATH PATH_MAX
175 #define ngx_trylock_fd_n "fcntl(F_SETLK, F_WRLCK)" 187 #define ngx_trylock_fd_n "fcntl(F_SETLK, F_WRLCK)"
176 #define ngx_lock_fd_n "fcntl(F_SETLKW, F_WRLCK)" 188 #define ngx_lock_fd_n "fcntl(F_SETLKW, F_WRLCK)"
177 #define ngx_unlock_fd_n "fcntl(F_SETLK, F_UNLCK)" 189 #define ngx_unlock_fd_n "fcntl(F_SETLK, F_UNLCK)"
178 190
179 191
192 #if (NGX_HAVE_O_DIRECT)
193
194 ngx_int_t ngx_directio(ngx_fd_t fd);
195 #define ngx_directio_n "fcntl(O_DIRECT)"
196
197 #elif (NGX_HAVE_F_NOCACHE)
198
199 #define ngx_directio(fd) fcntl(fd, F_NOCACHE, 1)
200 #define ngx_directio_n "fcntl(F_NOCACHE)"
201
202 #else
203
204 #define ngx_directio(fd) 0
205 #define ngx_directio_n "ngx_directio_n"
206
207 #endif
208
209
180 #endif /* _NGX_FILES_H_INCLUDED_ */ 210 #endif /* _NGX_FILES_H_INCLUDED_ */