1 ! Copyright (C) 2005, 2006 Doug Coleman.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: alien alien.data alien.libraries arrays kernel math
5 QUALIFIED-WITH: alien.c-types c
8 CONSTANT: MAX_UNICODE_PATH 32768
11 { "advapi32" "advapi32.dll" stdcall }
12 { "gdi32" "gdi32.dll" stdcall }
13 { "user32" "user32.dll" stdcall }
14 { "kernel32" "kernel32.dll" stdcall }
15 { "winsock" "ws2_32.dll" stdcall }
16 { "mswsock" "mswsock.dll" stdcall }
17 { "shell32" "shell32.dll" stdcall }
18 { "iphlpapi" "iphlpapi.dll" stdcall }
19 { "libc" "msvcrt.dll" cdecl }
20 { "libm" "msvcrt.dll" cdecl }
21 { "gdiplus" "gdiplus.dll" stdcall }
22 { "gl" "opengl32.dll" stdcall }
23 { "glu" "glu32.dll" stdcall }
24 { "ole32" "ole32.dll" stdcall }
25 { "usp10" "usp10.dll" stdcall }
26 { "psapi" "psapi.dll" stdcall }
27 } [ first3 add-library ] each
29 : lo-word ( wparam -- lo ) c:short <ref> c:short deref ; inline
30 : hi-word ( wparam -- hi ) -16 shift lo-word ; inline
31 : >lo-hi ( WORD -- array ) [ lo-word ] [ hi-word ] bi 2array ; inline