comparison src/os/win32/ngx_files.h @ 186:c1f3a3c7c5db

nginx-0.0.1-2003-11-17-00:49:42 import
author Igor Sysoev <igor@sysoev.ru>
date Sun, 16 Nov 2003 21:49:42 +0000
parents d5f50cefc322
children 0ba4821f4460
comparison
equal deleted inserted replaced
185:d5f50cefc322 186:c1f3a3c7c5db
18 18
19 19
20 #define NGX_INVALID_FILE INVALID_HANDLE_VALUE 20 #define NGX_INVALID_FILE INVALID_HANDLE_VALUE
21 #define NGX_FILE_ERROR 0 21 #define NGX_FILE_ERROR 0
22 22
23
24 #define STDERR_FILENO (HANDLE) 2
23 25
24 26
25 #define ngx_open_file(name, access, create) \ 27 #define ngx_open_file(name, access, create) \
26 CreateFile(name, access, \ 28 CreateFile(name, access, \
27 FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, \ 29 FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE, \
56 58
57 59
58 #define ngx_close_file CloseHandle 60 #define ngx_close_file CloseHandle
59 #define ngx_close_file_n "CloseHandle()" 61 #define ngx_close_file_n "CloseHandle()"
60 62
61 int ngx_rename_file(ngx_str_t *from, ngx_str_t *to, ngx_pool_t *pool); 63
64 #define ngx_delete_file DeleteFile
65 #define ngx_delete_file_n "DeleteFile()"
66
67
68 #define ngx_rename_file MoveFile
62 #define ngx_rename_file_n "MoveFile()" 69 #define ngx_rename_file_n "MoveFile()"
70 int ngx_win32_rename_file(ngx_str_t *from, ngx_str_t *to, ngx_pool_t *pool);
63 71
64 #define ngx_mkdir(name) CreateDirectory(name, NULL)
65 #define ngx_mkdir_n "CreateDirectory()"
66 72
67 int ngx_file_type(char *filename, ngx_file_info_t *fi); 73 int ngx_file_info(char *filename, ngx_file_info_t *fi);
68 #define ngx_file_type_n "GetFileAttributesEx()" 74 #define ngx_file_info_n "GetFileAttributesEx()"
69 75
70 #define ngx_stat_fd(fd, fi) GetFileInformationByHandle(fd, fi)
71 #define ngx_stat_fd_n "GetFileInformationByHandle"
72 76
73 #define ngx_is_dir(fi) (fi.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) 77 #define ngx_fd_info(fd, fi) GetFileInformationByHandle(fd, fi)
74 #define ngx_is_file(fi) !(fi.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) 78 #define ngx_fd_info_n "GetFileInformationByHandle"
75 79
76 #define ngx_file_size(fi) \
77 (((off_t) fi.nFileSizeHigh << 32) | fi.nFileSizeLow)
78 80
79 #define ngx_file_uniq(fi) (*(ngx_file_uniq_t *) &fi.nFileIndexHigh) 81 #define ngx_is_dir(fi) ((fi)->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
82 #define ngx_is_file(fi) !((fi)->dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
83
84
85 #define ngx_file_size(fi) \
86 (((off_t) (fi)->nFileSizeHigh << 32) | (fi)->nFileSizeLow)
87
88 #define ngx_file_uniq(fi) (*(ngx_file_uniq_t *) &(fi)->nFileIndexHigh)
80 89
81 90
82 /* 116444736000000000 is commented in src/os/win32/ngx_time.c */ 91 /* 116444736000000000 is commented in src/os/win32/ngx_time.c */
83 92
84 #define ngx_file_mtime(fi) \ 93 #define ngx_file_mtime(fi) \
85 (time_t) (((((unsigned __int64) fi.ftLastWriteTime.dwHighDateTime << 32) \ 94 (time_t) (((((unsigned __int64) (fi)->ftLastWriteTime.dwHighDateTime << 32) \
86 | fi.ftLastWriteTime.dwLowDateTime) \ 95 | (fi)->ftLastWriteTime.dwLowDateTime) \
87 - 116444736000000000) / 10000000) 96 - 116444736000000000) / 10000000)
97
98
99 #define NGX_DIR_MASK "/*"
100 #define NGX_DIR_MASK_LEN 2
101
102
103 int ngx_open_dir(ngx_str_t *name, ngx_dir_t *dir);
104 #define ngx_open_dir_n "FindFirstFile()"
105
106
107 int ngx_read_dir(ngx_dir_t *dir);
108 #define ngx_read_dir_n "FindNextFile()"
109
110
111 #define ngx_close_dir(d) FindClose((d)->dir)
112 #define ngx_close_dir_n "FindClose()"
113
114
115 #define ngx_create_dir(name) CreateDirectory(name, NULL)
116 #define ngx_create_dir_n "CreateDirectory()"
117
118
119 #define ngx_delete_dir RemoveDirectory
120 #define ngx_delete_dir_n "RemoveDirectory()"
121
122
123 #define ngx_de_name(dir) (dir)->fd.cFileName
124 #define ngx_de_namelen(dir) ngx_strlen((dir)->fd.cFileName)
125 #define ngx_de_info(name, dir) NGX_OK
126 #define ngx_de_info_n "dummy()"
127 #define ngx_de_is_dir(dir) \
128 ((dir)->fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
129 #define ngx_de_is_file(dir) \
130 !((dir)->fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
131 #define ngx_de_size(dir) \
132 (((off_t) (dir)->fd.nFileSizeHigh << 32) | (dir)->fd.nFileSizeLow)
133
134 /* 116444736000000000 is commented in src/os/win32/ngx_time.c */
135
136 #define ngx_de_mtime(dir) \
137 (time_t) (((((unsigned __int64) \
138 (dir)->fd.ftLastWriteTime.dwHighDateTime << 32) \
139 | (dir)->fd.ftLastWriteTime.dwLowDateTime) \
140 - 116444736000000000) / 10000000)
141
88 142
89 143
90 ssize_t ngx_read_file(ngx_file_t *file, char *buf, size_t size, off_t offset); 144 ssize_t ngx_read_file(ngx_file_t *file, char *buf, size_t size, off_t offset);
91 #define ngx_read_file_n "ReadFile()" 145 #define ngx_read_file_n "ReadFile()"
92 146
94 148
95 ssize_t ngx_write_chain_to_file(ngx_file_t *file, ngx_chain_t *ce, 149 ssize_t ngx_write_chain_to_file(ngx_file_t *file, ngx_chain_t *ce,
96 off_t offset, ngx_pool_t *pool); 150 off_t offset, ngx_pool_t *pool);
97 151
98 152
99
100 #define STDERR_FILENO (HANDLE) 2
101
102
103 #endif /* _NGX_FILES_H_INCLUDED_ */ 153 #endif /* _NGX_FILES_H_INCLUDED_ */