mirror of
https://github.com/Ed94/Odin.git
synced 2026-07-24 16:37:54 +00:00
Add package path/filepath; Add os.stat for windows (TODO: unix)
This commit is contained in:
@@ -273,4 +273,6 @@ foreign kernel32 {
|
||||
GetLongPathNameW :: proc(short, long: LPCWSTR, len: DWORD) -> DWORD ---
|
||||
GetShortPathNameW :: proc(long, short: LPCWSTR, len: DWORD) -> DWORD ---
|
||||
|
||||
GetFinalPathNameByHandleW :: proc(hFile: HANDLE, lpszFilePath: LPCWSTR, cchFilePath: DWORD, dwFlags: DWORD) -> DWORD ---
|
||||
|
||||
}
|
||||
|
||||
@@ -83,6 +83,7 @@ FILE_ATTRIBUTE_NORMAL: DWORD : 0x00000080;
|
||||
FILE_ATTRIBUTE_TEMPORARY: DWORD : 0x00000100;
|
||||
FILE_ATTRIBUTE_SPARSE_FILE: DWORD : 0x00000200;
|
||||
FILE_ATTRIBUTE_REPARSE_Point: DWORD : 0x00000400;
|
||||
FILE_ATTRIBUTE_REPARSE_POINT: DWORD : 0x00000400;
|
||||
FILE_ATTRIBUTE_COMPRESSED: DWORD : 0x00000800;
|
||||
FILE_ATTRIBUTE_OFFLINE: DWORD : 0x00001000;
|
||||
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED: DWORD : 0x00002000;
|
||||
@@ -535,6 +536,11 @@ FILETIME :: struct {
|
||||
dwHighDateTime: DWORD,
|
||||
}
|
||||
|
||||
FILETIME_as_unix_nanoseconds :: proc "contextless" (ft: FILETIME) -> i64 {
|
||||
t := i64(u64(ft.dwLowDateTime) | u64(ft.dwHighDateTime) << 32);
|
||||
return (t - 0x019db1ded53e8000) * 100;
|
||||
}
|
||||
|
||||
OVERLAPPED :: struct {
|
||||
Internal: ^c_ulong,
|
||||
InternalHigh: ^c_ulong,
|
||||
@@ -675,6 +681,11 @@ FILE_STANDARD_INFO :: struct {
|
||||
Directory: BOOLEAN,
|
||||
}
|
||||
|
||||
FILE_ATTRIBUTE_TAG_INFO :: struct {
|
||||
FileAttributes: DWORD,
|
||||
ReparseTag: DWORD,
|
||||
}
|
||||
|
||||
|
||||
|
||||
// https://docs.microsoft.com/en-gb/windows/win32/api/sysinfoapi/ns-sysinfoapi-system_info
|
||||
|
||||
Reference in New Issue
Block a user