more struct work
parent
6e4ec190df
commit
a5c078213a
basis
io/files/windows/nt
windows/kernel32
|
@ -5,19 +5,18 @@ windows.kernel32 kernel libc math threads system environment
|
|||
alien.c-types alien.arrays alien.strings sequences combinators
|
||||
combinators.short-circuit ascii splitting alien strings assocs
|
||||
namespaces make accessors tr windows.time windows.shell32
|
||||
windows.errors ;
|
||||
windows.errors specialized-arrays.ushort classes.struct ;
|
||||
IN: io.files.windows.nt
|
||||
|
||||
M: winnt cwd
|
||||
MAX_UNICODE_PATH dup "ushort" <c-array>
|
||||
MAX_UNICODE_PATH dup <ushort-array>
|
||||
[ GetCurrentDirectory win32-error=0/f ] keep
|
||||
utf16n alien>string ;
|
||||
|
||||
M: winnt cd
|
||||
SetCurrentDirectory win32-error=0/f ;
|
||||
|
||||
: unicode-prefix ( -- seq )
|
||||
"\\\\?\\" ; inline
|
||||
CONSTANT: unicode-prefix "\\\\?\\"
|
||||
|
||||
M: winnt root-directory? ( path -- ? )
|
||||
{
|
||||
|
@ -48,10 +47,9 @@ M: winnt CreateFile-flags ( DWORD -- DWORD )
|
|||
<PRIVATE
|
||||
|
||||
: windows-file-size ( path -- size )
|
||||
normalize-path 0 "WIN32_FILE_ATTRIBUTE_DATA" <c-object>
|
||||
normalize-path 0 WIN32_FILE_ATTRIBUTE_DATA <struct>
|
||||
[ GetFileAttributesEx win32-error=0/f ] keep
|
||||
[ WIN32_FILE_ATTRIBUTE_DATA-nFileSizeLow ]
|
||||
[ WIN32_FILE_ATTRIBUTE_DATA-nFileSizeHigh ] bi >64bit ;
|
||||
[ nFileSizeLow>> ] [ nFileSizeHigh>> ] bi >64bit ;
|
||||
|
||||
PRIVATE>
|
||||
|
||||
|
|
|
@ -660,13 +660,13 @@ C-STRUCT: TOKEN_PRIVILEGES
|
|||
{ "LUID_AND_ATTRIBUTES*" "Privileges" } ;
|
||||
TYPEDEF: TOKEN_PRIVILEGES* PTOKEN_PRIVILEGES
|
||||
|
||||
C-STRUCT: WIN32_FILE_ATTRIBUTE_DATA
|
||||
{ "DWORD" "dwFileAttributes" }
|
||||
{ "FILETIME" "ftCreationTime" }
|
||||
{ "FILETIME" "ftLastAccessTime" }
|
||||
{ "FILETIME" "ftLastWriteTime" }
|
||||
{ "DWORD" "nFileSizeHigh" }
|
||||
{ "DWORD" "nFileSizeLow" } ;
|
||||
STRUCT: WIN32_FILE_ATTRIBUTE_DATA
|
||||
{ dwFileAttributes DWORD }
|
||||
{ ftCreationTime FILETIME }
|
||||
{ ftLastAccessTime FILETIME }
|
||||
{ ftLastWriteTime FILETIME }
|
||||
{ nFileSizeHigh DWORD }
|
||||
{ nFileSizeLow DWORD } ;
|
||||
TYPEDEF: WIN32_FILE_ATTRIBUTE_DATA* LPWIN32_FILE_ATTRIBUTE_DATA
|
||||
|
||||
C-STRUCT: BY_HANDLE_FILE_INFORMATION
|
||||
|
|
Loading…
Reference in New Issue