Merge branch 'master' of git://factorcode.org/git/factor

db4
Joe Groff 2009-09-19 21:16:34 -05:00
commit 0968938917
6 changed files with 53 additions and 51 deletions

View File

@ -1,8 +1,8 @@
USING: alien alien.c-types alien.data alien.syntax arrays continuations USING: alien alien.c-types alien.data alien.syntax arrays continuations
destructors generic io.mmap io.ports io.backend.windows io.files.windows destructors generic io.mmap io.ports io.backend.windows io.files.windows
kernel libc math math.bitwise namespaces quotations sequences windows kernel libc locals math math.bitwise namespaces quotations sequences windows
windows.advapi32 windows.kernel32 windows.types io.backend system accessors windows.advapi32 windows.kernel32 windows.types io.backend system accessors
io.backend.windows.privileges windows.errors ; io.backend.windows.privileges classes.struct windows.errors ;
IN: io.backend.windows.nt.privileges IN: io.backend.windows.nt.privileges
TYPEDEF: TOKEN_PRIVILEGES* PTOKEN_PRIVILEGES TYPEDEF: TOKEN_PRIVILEGES* PTOKEN_PRIVILEGES
@ -28,17 +28,16 @@ TYPEDEF: TOKEN_PRIVILEGES* PTOKEN_PRIVILEGES
[ f ] dip LUID <struct> [ f ] dip LUID <struct>
[ LookupPrivilegeValue win32-error=0/f ] keep ; [ LookupPrivilegeValue win32-error=0/f ] keep ;
: make-token-privileges ( name ? -- obj ) :: make-token-privileges ( name enabled? -- obj )
TOKEN_PRIVILEGES <struct> TOKEN_PRIVILEGES <struct>
1 >>PrivilegeCount 1 >>PrivilegeCount
LUID_AND_ATTRIBUTES malloc-struct &free LUID_AND_ATTRIBUTES malloc-struct &free
swap [ SE_PRIVILEGE_ENABLED >>Attributes ] when enabled? [ SE_PRIVILEGE_ENABLED >>Attributes ] when
>>Privileges name lookup-privilege >>Luid
[ lookup-privilege ] dip >>Privileges ;
[ Privileges>> (>>Luid) ] keep ;
M: winnt set-privilege ( name ? -- ) M: winnt set-privilege ( name ? -- )
[ [
-rot 0 -rot make-token-privileges -rot 0 -rot make-token-privileges
dup length f f AdjustTokenPrivileges win32-error=0/f dup byte-length f f AdjustTokenPrivileges win32-error=0/f
] with-process-token ; ] with-process-token ;

View File

@ -1,5 +1,5 @@
USING: alien.syntax kernel math windows.types windows.kernel32 USING: alien.syntax kernel math windows.types windows.kernel32
math.bitwise ; math.bitwise classes.struct ;
IN: windows.advapi32 IN: windows.advapi32
LIBRARY: advapi32 LIBRARY: advapi32

View File

@ -690,8 +690,8 @@ STRUCT: OFSTRUCT
{ nErrCode WORD } { nErrCode WORD }
{ Reserved1 WORD } { Reserved1 WORD }
{ Reserved2 WORD } { Reserved2 WORD }
! { szPathName { CHAR OFS_MAXPATHNAME } } ;
{ szPathName { CHAR 128 } } ; { szPathName { CHAR 128 } } ;
! { szPathName { CHAR OFS_MAXPATHNAME } } ;
TYPEDEF: OFSTRUCT* LPOFSTRUCT TYPEDEF: OFSTRUCT* LPOFSTRUCT

View File

@ -11,6 +11,12 @@ TYPEDEF: uchar UCHAR
TYPEDEF: uchar BYTE TYPEDEF: uchar BYTE
TYPEDEF: ushort wchar_t TYPEDEF: ushort wchar_t
SYMBOL: wchar_t*
<<
{ char* utf16n } \ wchar_t* typedef
\ wchar_t \ wchar_t* "pointer-c-type" set-word-prop
>>
TYPEDEF: wchar_t WCHAR TYPEDEF: wchar_t WCHAR
TYPEDEF: short SHORT TYPEDEF: short SHORT
@ -70,9 +76,6 @@ TYPEDEF: ulonglong ULARGE_INTEGER
TYPEDEF: LARGE_INTEGER* PLARGE_INTEGER TYPEDEF: LARGE_INTEGER* PLARGE_INTEGER
TYPEDEF: ULARGE_INTEGER* PULARGE_INTEGER TYPEDEF: ULARGE_INTEGER* PULARGE_INTEGER
SYMBOL: wchar_t*
<< { char* utf16n } \ wchar_t* typedef >>
TYPEDEF: wchar_t* LPCSTR TYPEDEF: wchar_t* LPCSTR
TYPEDEF: wchar_t* LPWSTR TYPEDEF: wchar_t* LPWSTR
TYPEDEF: WCHAR TCHAR TYPEDEF: WCHAR TCHAR

View File

@ -1,6 +1,6 @@
! Copyright (C) 2009 Doug Coleman. ! Copyright (C) 2009 Doug Coleman.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: alien.syntax alien.destructors ; USING: alien.syntax alien.destructors classes.struct ;
IN: windows.usp10 IN: windows.usp10
LIBRARY: usp10 LIBRARY: usp10

View File

@ -204,8 +204,8 @@ CONSTANT: MAX_PROTOCOL_CHAIN 7
STRUCT: WSAPROTOCOLCHAIN STRUCT: WSAPROTOCOLCHAIN
{ ChainLen int } { ChainLen int }
! { ChainEntries { DWORD MAX_PROTOCOL_CHAIN } } ;
{ ChainEntries { DWORD 7 } } ; { ChainEntries { DWORD 7 } } ;
! { ChainEntries { DWORD MAX_PROTOCOL_CHAIN } } ;
TYPEDEF: WSAPROTOCOLCHAIN* LPWSAPROTOCOLCHAIN TYPEDEF: WSAPROTOCOLCHAIN* LPWSAPROTOCOLCHAIN
CONSTANT: WSAPROTOCOL_LEN 255 CONSTANT: WSAPROTOCOL_LEN 255