13 intptr_t _tfindfirst32i64(const _TCHAR
* _name
, struct _tfinddata32i64_t
* result
)
15 intptr_t _tfindfirst32(const _TCHAR
* _name
, struct _tfinddata32_t
* result
)
18 WIN32_FIND_DATA FindFileData
;
21 hFindFile
= FindFirstFile(_name
, &FindFileData
);
22 if (hFindFile
== INVALID_HANDLE_VALUE
) {
23 _dosmaperr(GetLastError());
27 result
->attrib
= FindFileData
.dwFileAttributes
;
28 result
->time_create
= FileTimeToUnixTime(&FindFileData
.ftCreationTime
,NULL
);
29 result
->time_access
= FileTimeToUnixTime(&FindFileData
.ftLastAccessTime
,NULL
);
30 result
->time_write
= FileTimeToUnixTime(&FindFileData
.ftLastWriteTime
,NULL
);
31 result
->size
= FindFileData
.nFileSizeLow
;
32 _tcsncpy(result
->name
,FindFileData
.cFileName
,MAX_PATH
);
34 return (intptr_t)hFindFile
;
41 int _tfindnext32i64(intptr_t handle
, struct _tfinddata32i64_t
* result
)
43 int _tfindnext32(intptr_t handle
, struct _tfinddata32_t
* result
)
46 WIN32_FIND_DATA FindFileData
;
48 if (!FindNextFile((HANDLE
)handle
, &FindFileData
)) {
49 _dosmaperr(GetLastError());
53 result
->attrib
= FindFileData
.dwFileAttributes
;
54 result
->time_create
= FileTimeToUnixTime(&FindFileData
.ftCreationTime
,NULL
);
55 result
->time_access
= FileTimeToUnixTime(&FindFileData
.ftLastAccessTime
,NULL
);
56 result
->time_write
= FileTimeToUnixTime(&FindFileData
.ftLastWriteTime
,NULL
);
57 result
->size
= FindFileData
.nFileSizeLow
;
58 _tcsncpy(result
->name
,FindFileData
.cFileName
, MAX_PATH
);
68 intptr_t _tfindfirst64(const _TCHAR
*_name
, struct _tfinddata64_t
*result
)
70 intptr_t _tfindfirst64i32(const _TCHAR
*_name
, struct _tfinddata64i32_t
*result
)
73 WIN32_FIND_DATA FindFileData
;
76 hFindFile
= FindFirstFile(_name
, &FindFileData
);
77 if (hFindFile
== INVALID_HANDLE_VALUE
) {
78 _dosmaperr(GetLastError());
82 result
->attrib
= FindFileData
.dwFileAttributes
;
83 result
->time_create
= FileTimeToUnixTime(&FindFileData
.ftCreationTime
,NULL
);
84 result
->time_access
= FileTimeToUnixTime(&FindFileData
.ftLastAccessTime
,NULL
);
85 result
->time_write
= FileTimeToUnixTime(&FindFileData
.ftLastWriteTime
,NULL
);
87 (((__int64
)FindFileData
.nFileSizeLow
)<<32) + FindFileData
.nFileSizeLow
;
88 _tcsncpy(result
->name
,FindFileData
.cFileName
,MAX_PATH
);
90 return (intptr_t)hFindFile
;
97 int _tfindnext64(intptr_t handle
, struct _tfinddata64_t
*result
)
99 int _tfindnext64i32(intptr_t handle
, struct _tfinddata64i32_t
*result
)
102 WIN32_FIND_DATA FindFileData
;
104 if (!FindNextFile((HANDLE
)handle
, &FindFileData
)) {
105 _dosmaperr(GetLastError());
109 result
->attrib
= FindFileData
.dwFileAttributes
;
110 result
->time_create
= FileTimeToUnixTime(&FindFileData
.ftCreationTime
,NULL
);
111 result
->time_access
= FileTimeToUnixTime(&FindFileData
.ftLastAccessTime
,NULL
);
112 result
->time_write
= FileTimeToUnixTime(&FindFileData
.ftLastWriteTime
,NULL
);
114 (((__int64
)FindFileData
.nFileSizeLow
)<<32) + FindFileData
.nFileSizeLow
;
115 _tcsncpy(result
->name
,FindFileData
.cFileName
,MAX_PATH
);