#ifndef _NGX_FILES_H_INCLUDED_
#define _NGX_FILES_H_INCLUDED_


#include <ngx_config.h>


/* INVALID_FILE_ATTRIBUTES specified but never defined at least in VC6SP2 */
#ifndef INVALID_FILE_ATTRIBUTES
#define INVALID_FILE_ATTRIBUTES  0xFFFFFFFF
#endif

typedef HANDLE                      ngx_fd_t;
typedef unsigned __int64            off_t;

typedef BY_HANDLE_FILE_INFORMATION  ngx_file_info_t;


#define ngx_open_file(name, flags)                                          \
            CreateFile(name, flags,                                         \
                       FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE,  \
                       NULL, OPEN_EXISTING, 0, NULL)

#define ngx_open_file_n             "CreateFile()"

#define NGX_FILE_RDONLY             GENERIC_READ


int ngx_file_type(char *filename, ngx_file_info_t *fi);
#define ngx_file_type_n          "GetFileAttributes"

#define ngx_stat_fd(fd, fi)     GetFileInformationByHandle(fd, fi)
#define ngx_stat_fd_n           "GetFileInformationByHandle"

#define ngx_is_dir(fi)          (fi.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)

#define ngx_file_size(fi)                                                   \
            fi.nFileSizeLow

/*
#define ngx_file_size(fi)                                                   \
            ((off_t) fi.nFileSizeHigh << 32 & fi.nFileSizeLow)
*/

#define ngx_file_mtime(fi)       fi.ftLastWriteTime

/*
1970 - 1601:
	116444736000000000
	19DB1DED53E8000
*/


#define ngx_read_file_n             "ReadFile()"


#endif /* _NGX_FILES_H_INCLUDED_ */
