diff options
| author | Igor Sysoev <igor@sysoev.ru> | 2003-11-14 16:52:04 +0000 |
|---|---|---|
| committer | Igor Sysoev <igor@sysoev.ru> | 2003-11-14 16:52:04 +0000 |
| commit | 297c0487518d4b974a548dfd3d5d2f10c250177c (patch) | |
| tree | 16667b611d5e4f4e88abd7d920fe20e0a7066b65 /src/os/win32 | |
| parent | 7f9d894e1069306f7361201a77efbe7b866024ff (diff) | |
| download | nginx-297c0487518d4b974a548dfd3d5d2f10c250177c.tar.gz nginx-297c0487518d4b974a548dfd3d5d2f10c250177c.tar.bz2 | |
nginx-0.0.1-2003-11-14-19:52:04 import
Diffstat (limited to '')
| -rw-r--r-- | src/os/win32/ngx_files.c | 39 | ||||
| -rw-r--r-- | src/os/win32/ngx_files.h | 2 | ||||
| -rw-r--r-- | src/os/win32/ngx_types.h | 7 |
3 files changed, 47 insertions, 1 deletions
diff --git a/src/os/win32/ngx_files.c b/src/os/win32/ngx_files.c index 35e83bfd6..7e2346288 100644 --- a/src/os/win32/ngx_files.c +++ b/src/os/win32/ngx_files.c @@ -220,6 +220,45 @@ int ngx_rename_file(ngx_str_t *from, ngx_str_t *to, ngx_pool_t *pool) } +int ngx_file_type(char *file, ngx_file_info_t *sb) +{ + WIN32_FILE_ATTRIBUTE_DATA fa; + + /* NT4 and Win98 */ + + if (GetFileAttributesEx(file, GetFileExInfoStandard, &fa) == 0) { + return NGX_ERROR; + } + + sb->dwFileAttributes = fa.dwFileAttributes; + sb->ftCreationTime = fa.ftCreationTime; + sb->ftLastAccessTime = fa.ftLastAccessTime; + sb->ftLastWriteTime = fa.ftLastWriteTime; + sb->nFileSizeHigh = fa.nFileSizeHigh; + sb->nFileSizeLow = fa.nFileSizeLow; + + return NGX_OK; +} + + +#if 0 + +/* Win95 */ + +int ngx_file_type(char *file, ngx_file_info_t *sb) +{ + sb->dwFileAttributes = GetFileAttributes(file); + + if (sb->dwFileAttributes == INVALID_FILE_ATTRIBUTES) { + return NGX_ERROR; + } + + return NGX_OK; +} + +#endif + + int ngx_file_append_mode(ngx_fd_t fd) { if (SetFilePointer(fd, 0, NULL, FILE_END) == INVALID_SET_FILE_POINTER) { diff --git a/src/os/win32/ngx_files.h b/src/os/win32/ngx_files.h index 9885c5f78..d7d7d00b3 100644 --- a/src/os/win32/ngx_files.h +++ b/src/os/win32/ngx_files.h @@ -65,7 +65,7 @@ int ngx_rename_file(ngx_str_t *from, ngx_str_t *to, ngx_pool_t *pool); #define ngx_mkdir_n "CreateDirectory()" int ngx_file_type(char *filename, ngx_file_info_t *fi); -#define ngx_file_type_n "GetFileAttributes" +#define ngx_file_type_n "GetFileAttributesEx()" #define ngx_stat_fd(fd, fi) GetFileInformationByHandle(fd, fi) #define ngx_stat_fd_n "GetFileInformationByHandle" diff --git a/src/os/win32/ngx_types.h b/src/os/win32/ngx_types.h index 043265536..fe4af4496 100644 --- a/src/os/win32/ngx_types.h +++ b/src/os/win32/ngx_types.h @@ -10,5 +10,12 @@ typedef HANDLE ngx_fd_t; typedef BY_HANDLE_FILE_INFORMATION ngx_file_info_t; typedef uint64_t ngx_file_uniq_t; +typedef struct { + HANDLE dir; + WIN32_FIND_DATA de; +} ngx_dir_t; + +typedef WIN32_FIND_DATA ngx_dirent_t; + #endif /* _NGX_TYPES_H_INCLUDED_ */ |
