make hardware-info load on windows
parent
8f642133ca
commit
c0c08985c5
|
@ -1,12 +1,13 @@
|
||||||
USING: alien.syntax kernel math prettyprint system
|
USING: alien.syntax kernel math prettyprint
|
||||||
combinators vocabs.loader hardware-info.backend ;
|
combinators vocabs.loader hardware-info.backend system ;
|
||||||
IN: hardware-info
|
IN: hardware-info
|
||||||
|
|
||||||
: kb. ( x -- ) 10 2^ /f . ;
|
: kb. ( x -- ) 10 2^ /f . ;
|
||||||
: megs. ( x -- ) 20 2^ /f . ;
|
: megs. ( x -- ) 20 2^ /f . ;
|
||||||
: gigs. ( x -- ) 30 2^ /f . ;
|
: gigs. ( x -- ) 30 2^ /f . ;
|
||||||
|
|
||||||
<< {
|
<<
|
||||||
|
{
|
||||||
{ [ windows? ] [ "hardware-info.windows" ] }
|
{ [ windows? ] [ "hardware-info.windows" ] }
|
||||||
{ [ linux? ] [ "hardware-info.linux" ] }
|
{ [ linux? ] [ "hardware-info.linux" ] }
|
||||||
{ [ macosx? ] [ "hardware-info.macosx" ] }
|
{ [ macosx? ] [ "hardware-info.macosx" ] }
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
IN: hardware-info.windows.backend
|
|
||||||
|
|
||||||
TUPLE: wince ;
|
|
||||||
TUPLE: winnt ;
|
|
||||||
UNION: windows wince winnt ;
|
|
||||||
|
|
|
@ -2,8 +2,8 @@ USING: alien.c-types hardware-info kernel math namespaces
|
||||||
windows windows.kernel32 hardware-info.backend ;
|
windows windows.kernel32 hardware-info.backend ;
|
||||||
IN: hardware-info.windows.ce
|
IN: hardware-info.windows.ce
|
||||||
|
|
||||||
TUPLE: wince ;
|
TUPLE: wince-os ;
|
||||||
T{ wince } os set-global
|
T{ wince-os } os set-global
|
||||||
|
|
||||||
: memory-status ( -- MEMORYSTATUS )
|
: memory-status ( -- MEMORYSTATUS )
|
||||||
"MEMORYSTATUS" <c-object>
|
"MEMORYSTATUS" <c-object>
|
||||||
|
|
|
@ -1,16 +1,15 @@
|
||||||
USING: alien alien.c-types hardware-info.windows.backend
|
USING: alien alien.c-types
|
||||||
kernel libc math namespaces hardware-info.backend
|
kernel libc math namespaces hardware-info.backend
|
||||||
windows windows.advapi32 windows.kernel32 ;
|
windows windows.advapi32 windows.kernel32 ;
|
||||||
IN: hardware-info.windows.nt
|
IN: hardware-info.windows.nt
|
||||||
|
|
||||||
TUPLE: winnt ;
|
TUPLE: winnt-os ;
|
||||||
|
T{ winnt-os } os set-global
|
||||||
T{ winnt } os set-global
|
|
||||||
|
|
||||||
: system-info ( -- SYSTEM_INFO )
|
: system-info ( -- SYSTEM_INFO )
|
||||||
"SYSTEM_INFO" <c-object> [ GetSystemInfo ] keep ;
|
"SYSTEM_INFO" <c-object> [ GetSystemInfo ] keep ;
|
||||||
|
|
||||||
M: winnt cpus ( -- n )
|
M: winnt-os cpus ( -- n )
|
||||||
system-info SYSTEM_INFO-dwNumberOfProcessors ;
|
system-info SYSTEM_INFO-dwNumberOfProcessors ;
|
||||||
|
|
||||||
: memory-status ( -- MEMORYSTATUSEX )
|
: memory-status ( -- MEMORYSTATUSEX )
|
||||||
|
@ -18,25 +17,25 @@ M: winnt cpus ( -- n )
|
||||||
"MEMORYSTATUSEX" heap-size over set-MEMORYSTATUSEX-dwLength
|
"MEMORYSTATUSEX" heap-size over set-MEMORYSTATUSEX-dwLength
|
||||||
[ GlobalMemoryStatusEx ] keep swap zero? [ win32-error ] when ;
|
[ GlobalMemoryStatusEx ] keep swap zero? [ win32-error ] when ;
|
||||||
|
|
||||||
M: winnt memory-load ( -- n )
|
M: winnt-os memory-load ( -- n )
|
||||||
memory-status MEMORYSTATUSEX-dwMemoryLoad ;
|
memory-status MEMORYSTATUSEX-dwMemoryLoad ;
|
||||||
|
|
||||||
M: winnt physical-mem ( -- n )
|
M: winnt-os physical-mem ( -- n )
|
||||||
memory-status MEMORYSTATUSEX-ullTotalPhys ;
|
memory-status MEMORYSTATUSEX-ullTotalPhys ;
|
||||||
|
|
||||||
M: winnt available-mem ( -- n )
|
M: winnt-os available-mem ( -- n )
|
||||||
memory-status MEMORYSTATUSEX-ullAvailPhys ;
|
memory-status MEMORYSTATUSEX-ullAvailPhys ;
|
||||||
|
|
||||||
M: winnt total-page-file ( -- n )
|
M: winnt-os total-page-file ( -- n )
|
||||||
memory-status MEMORYSTATUSEX-ullTotalPageFile ;
|
memory-status MEMORYSTATUSEX-ullTotalPageFile ;
|
||||||
|
|
||||||
M: winnt available-page-file ( -- n )
|
M: winnt-os available-page-file ( -- n )
|
||||||
memory-status MEMORYSTATUSEX-ullAvailPageFile ;
|
memory-status MEMORYSTATUSEX-ullAvailPageFile ;
|
||||||
|
|
||||||
M: winnt total-virtual-mem ( -- n )
|
M: winnt-os total-virtual-mem ( -- n )
|
||||||
memory-status MEMORYSTATUSEX-ullTotalVirtual ;
|
memory-status MEMORYSTATUSEX-ullTotalVirtual ;
|
||||||
|
|
||||||
M: winnt available-virtual-mem ( -- n )
|
M: winnt-os available-virtual-mem ( -- n )
|
||||||
memory-status MEMORYSTATUSEX-ullAvailVirtual ;
|
memory-status MEMORYSTATUSEX-ullAvailVirtual ;
|
||||||
|
|
||||||
: computer-name ( -- string )
|
: computer-name ( -- string )
|
||||||
|
@ -54,4 +53,3 @@ M: winnt available-virtual-mem ( -- n )
|
||||||
] [
|
] [
|
||||||
[ alien>u16-string ] keep free
|
[ alien>u16-string ] keep free
|
||||||
] if ;
|
] if ;
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
USING: alien alien.c-types kernel libc math namespaces
|
USING: alien alien.c-types kernel libc math namespaces
|
||||||
windows windows.kernel32 windows.advapi32
|
windows windows.kernel32 windows.advapi32
|
||||||
hardware-info.windows.backend
|
words combinators vocabs.loader hardware-info.backend
|
||||||
words combinators vocabs.loader hardware-info.backend ;
|
system ;
|
||||||
IN: hardware-info.windows
|
IN: hardware-info.windows
|
||||||
|
|
||||||
: system-info ( -- SYSTEM_INFO )
|
: system-info ( -- SYSTEM_INFO )
|
||||||
|
@ -63,7 +63,8 @@ IN: hardware-info.windows
|
||||||
: system-windows-directory ( -- str )
|
: system-windows-directory ( -- str )
|
||||||
\ GetSystemWindowsDirectory get-directory ;
|
\ GetSystemWindowsDirectory get-directory ;
|
||||||
|
|
||||||
|
<<
|
||||||
{
|
{
|
||||||
{ [ wince? ] [ "hardware-info.windows.ce" ] }
|
{ [ wince? ] [ "hardware-info.windows.ce" ] }
|
||||||
{ [ winnt? ] [ "hardware-info.windows.nt" ] }
|
{ [ winnt? ] [ "hardware-info.windows.nt" ] }
|
||||||
} cond [ require ] when*
|
} cond [ require ] when* >>
|
||||||
|
|
Loading…
Reference in New Issue