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