Mercurial > hg > nginx
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_ */ |