nxt_file.h (1855:a946d8cd7f8c) nxt_file.h (2084:7d479274f334)
1
2/*
3 * Copyright (C) Igor Sysoev
4 * Copyright (C) NGINX, Inc.
5 */
6
7#ifndef _NXT_UNIX_FILE_H_INCLUDED_
8#define _NXT_UNIX_FILE_H_INCLUDED_

--- 13 unchanged lines hidden (view full) ---

22
23
24typedef struct {
25 size_t len;
26 nxt_file_name_t *start;
27} nxt_file_name_str_t;
28
29
1
2/*
3 * Copyright (C) Igor Sysoev
4 * Copyright (C) NGINX, Inc.
5 */
6
7#ifndef _NXT_UNIX_FILE_H_INCLUDED_
8#define _NXT_UNIX_FILE_H_INCLUDED_

--- 13 unchanged lines hidden (view full) ---

22
23
24typedef struct {
25 size_t len;
26 nxt_file_name_t *start;
27} nxt_file_name_str_t;
28
29
30#define \
31nxt_file_name_str_set(file_name, mem_pool, name) \
30#define nxt_file_name_str_set(file_name, mem_pool, name) \
32 ((file_name) = (nxt_file_name_t *) (name), NXT_OK)
33
34
31 ((file_name) = (nxt_file_name_t *) (name), NXT_OK)
32
33
35#define \
36nxt_file_name_alloc(mem_pool, len) \
34#define nxt_file_name_alloc(mem_pool, len) \
37 nxt_mp_nget(mem_pool, len)
38
39
35 nxt_mp_nget(mem_pool, len)
36
37
40#define \
41nxt_file_name_copy(dst, src, len) \
38#define nxt_file_name_copy(dst, src, len) \
42 nxt_cpymem(dst, src, len)
43
44
39 nxt_cpymem(dst, src, len)
40
41
45#define \
46nxt_file_name_add(dst, src, len) \
42#define nxt_file_name_add(dst, src, len) \
47 nxt_cpymem(dst, src, len)
48
49
50#if (NXT_HAVE_CASELESS_FILESYSTEM)
51
52/* MacOSX, Cygwin. */
53
43 nxt_cpymem(dst, src, len)
44
45
46#if (NXT_HAVE_CASELESS_FILESYSTEM)
47
48/* MacOSX, Cygwin. */
49
54#define \
55nxt_file_name_eq(fn1, fn2) \
50#define nxt_file_name_eq(fn1, fn2) \
56 (nxt_strcasecmp(fn1, fn2) == 0)
57
58#else
59
51 (nxt_strcasecmp(fn1, fn2) == 0)
52
53#else
54
60#define \
61nxt_file_name_eq(fn1, fn2) \
55#define nxt_file_name_eq(fn1, fn2) \
62 (nxt_strcmp(fn1, fn2) == 0)
63
64#endif
65
66
56 (nxt_strcmp(fn1, fn2) == 0)
57
58#endif
59
60
67#define \
68nxt_file_name_is_absolute(name) \
61#define nxt_file_name_is_absolute(name) \
69 (name[0] == '/')
70
71
72#define NXT_MAX_PATH_LEN MAXPATHLEN
73
74
75typedef enum {
76 NXT_FILE_UNKNOWN = 0,

--- 86 unchanged lines hidden (view full) ---

163 size_t size, nxt_off_t offset);
164NXT_EXPORT ssize_t nxt_file_read(nxt_file_t *file, u_char *buf, size_t size,
165 nxt_off_t offset);
166NXT_EXPORT void nxt_file_read_ahead(nxt_file_t *file, nxt_off_t offset,
167 size_t size);
168NXT_EXPORT nxt_int_t nxt_file_info(nxt_file_t *file, nxt_file_info_t *fi);
169
170
62 (name[0] == '/')
63
64
65#define NXT_MAX_PATH_LEN MAXPATHLEN
66
67
68typedef enum {
69 NXT_FILE_UNKNOWN = 0,

--- 86 unchanged lines hidden (view full) ---

156 size_t size, nxt_off_t offset);
157NXT_EXPORT ssize_t nxt_file_read(nxt_file_t *file, u_char *buf, size_t size,
158 nxt_off_t offset);
159NXT_EXPORT void nxt_file_read_ahead(nxt_file_t *file, nxt_off_t offset,
160 size_t size);
161NXT_EXPORT nxt_int_t nxt_file_info(nxt_file_t *file, nxt_file_info_t *fi);
162
163
171#define \
172nxt_is_dir(fi) \
164#define nxt_is_dir(fi) \
173 (S_ISDIR((fi)->st_mode))
174
165 (S_ISDIR((fi)->st_mode))
166
175#define \
176nxt_is_file(fi) \
167#define nxt_is_file(fi) \
177 (S_ISREG((fi)->st_mode))
178
168 (S_ISREG((fi)->st_mode))
169
179#define \
180nxt_file_size(fi) \
170#define nxt_file_size(fi) \
181 (fi)->st_size
182
171 (fi)->st_size
172
183#define \
184nxt_file_mtime(fi) \
173#define nxt_file_mtime(fi) \
185 (fi)->st_mtime
186
187
188NXT_EXPORT nxt_int_t nxt_file_delete(nxt_file_name_t *name);
189NXT_EXPORT nxt_int_t nxt_file_set_access(nxt_file_name_t *name,
190 nxt_file_access_t access);
191NXT_EXPORT nxt_int_t nxt_file_rename(nxt_file_name_t *old_name,
192 nxt_file_name_t *new_name);

--- 8 unchanged lines hidden (view full) ---

201NXT_EXPORT nxt_int_t nxt_file_stderr(nxt_file_t *file);
202NXT_EXPORT nxt_int_t nxt_stderr_start(void);
203
204
205#define nxt_stdout STDOUT_FILENO
206#define nxt_stderr STDERR_FILENO
207
208
174 (fi)->st_mtime
175
176
177NXT_EXPORT nxt_int_t nxt_file_delete(nxt_file_name_t *name);
178NXT_EXPORT nxt_int_t nxt_file_set_access(nxt_file_name_t *name,
179 nxt_file_access_t access);
180NXT_EXPORT nxt_int_t nxt_file_rename(nxt_file_name_t *old_name,
181 nxt_file_name_t *new_name);

--- 8 unchanged lines hidden (view full) ---

190NXT_EXPORT nxt_int_t nxt_file_stderr(nxt_file_t *file);
191NXT_EXPORT nxt_int_t nxt_stderr_start(void);
192
193
194#define nxt_stdout STDOUT_FILENO
195#define nxt_stderr STDERR_FILENO
196
197
209#define \
210nxt_write_console(fd, buf, size) \
198#define nxt_write_console(fd, buf, size) \
211 write(fd, buf, size)
212
199 write(fd, buf, size)
200
213#define \
214nxt_write_syslog(priority, message) \
201#define nxt_write_syslog(priority, message) \
215 syslog(priority, "%s", message)
216
217
218NXT_EXPORT nxt_int_t nxt_pipe_create(nxt_task_t *task, nxt_fd_t *pp,
219 nxt_bool_t nbread, nxt_bool_t nbwrite);
220NXT_EXPORT void nxt_pipe_close(nxt_task_t *task, nxt_fd_t *pp);
221
222NXT_EXPORT size_t nxt_dir_current(char *buf, size_t len);
223
224
225#endif /* _NXT_UNIX_FILE_H_INCLUDED_ */
202 syslog(priority, "%s", message)
203
204
205NXT_EXPORT nxt_int_t nxt_pipe_create(nxt_task_t *task, nxt_fd_t *pp,
206 nxt_bool_t nbread, nxt_bool_t nbwrite);
207NXT_EXPORT void nxt_pipe_close(nxt_task_t *task, nxt_fd_t *pp);
208
209NXT_EXPORT size_t nxt_dir_current(char *buf, size_t len);
210
211
212#endif /* _NXT_UNIX_FILE_H_INCLUDED_ */