diff --git a/reactos/include/ntos/security.h b/reactos/include/ntos/security.h index 26d8ee8a5e5..c5096cff980 100644 --- a/reactos/include/ntos/security.h +++ b/reactos/include/ntos/security.h @@ -45,7 +45,8 @@ #define SE_SELF_RELATIVE (32768) #endif -typedef ULONG ACCESS_MODE, *PACCESS_MODE; +// This is defined in W32API: +// typedef ULONG ACCESS_MODE, *PACCESS_MODE; #if 0 typedef struct _ACE_HEADER diff --git a/reactos/lib/advapi32/advapi32.def b/reactos/lib/advapi32/advapi32.def index 6674dff7d2b..372a78ca7b6 100644 --- a/reactos/lib/advapi32/advapi32.def +++ b/reactos/lib/advapi32/advapi32.def @@ -1,4 +1,4 @@ -; $Id: advapi32.def,v 1.8 2003/06/27 15:19:18 sedwards Exp $ +; $Id: advapi32.def,v 1.9 2003/08/18 22:19:25 silverblade Exp $ ; ; advapi32.def ; @@ -154,6 +154,8 @@ GetSecurityDescriptorLength@4 GetSecurityDescriptorOwner@12 GetSecurityDescriptorSacl@16 GetSecurityInfo@32 +GetSecurityInfoExA@36 +GetSecurityInfoExW@36 GetServiceDisplayNameA@16 GetServiceDisplayNameW@16 GetServiceKeyNameA@16 diff --git a/reactos/lib/advapi32/advapi32.edf b/reactos/lib/advapi32/advapi32.edf index 618b6604ab3..2796b6e959b 100644 --- a/reactos/lib/advapi32/advapi32.edf +++ b/reactos/lib/advapi32/advapi32.edf @@ -1,4 +1,4 @@ -; $Id: advapi32.edf,v 1.23 2003/07/20 22:11:41 ekohl Exp $ +; $Id: advapi32.edf,v 1.24 2003/08/18 22:19:25 silverblade Exp $ ; ; advapi32.edf ; @@ -152,7 +152,9 @@ GetSecurityDescriptorGroup=GetSecurityDescriptorGroup@12 GetSecurityDescriptorLength=GetSecurityDescriptorLength@4 GetSecurityDescriptorOwner=GetSecurityDescriptorOwner@12 GetSecurityDescriptorSacl=GetSecurityDescriptorSacl@16 -;GetSecurityInfo=GetSecurityInfo@32 +GetSecurityInfo=GetSecurityInfo@32 +GetSecurityInfoExA=GetSecurityInfoExA@36 +GetSecurityInfoExW=GetSecurityInfoExW@36 GetServiceDisplayNameA=GetServiceDisplayNameA@16 GetServiceDisplayNameW=GetServiceDisplayNameW@16 GetServiceKeyNameA=GetServiceKeyNameA@16 diff --git a/reactos/lib/advapi32/sec/sec.c b/reactos/lib/advapi32/sec/sec.c index 6f44306c254..b6ea83cc6a5 100644 --- a/reactos/lib/advapi32/sec/sec.c +++ b/reactos/lib/advapi32/sec/sec.c @@ -4,15 +4,18 @@ * FILE: lib/advapi32/sec/sec.c * PURPOSE: Registry functions * PROGRAMMER: Ariadne ( ariadne@xs4all.nl) - * Steven Edwards ( Steven_Ed4153@yahoo.com ) + * Steven Edwards ( Steven_Ed4153@yahoo.com ) + * Andrew Greenwood ( silverblade_uk@hotmail.com ) * UPDATE HISTORY: * Created 01/11/98 * Added a few new stubs 6/27/03 + * Added stubs for GetSecurityInfo/Ex 8/18/03 */ #define NTOS_MODE_USER -#include #include +#include +#include /* @@ -464,4 +467,62 @@ SetFileSecurityA ( { return(FALSE); } + + +/* + * @unimplemented + */ +STDCALL DWORD GetSecurityInfo ( + HANDLE handle, + SE_OBJECT_TYPE ObjectType, + SECURITY_INFORMATION SecurityInfo, + PSID *ppsidOwner, + PSID *ppsidGroup, + PACL *ppDacl, + PACL *ppSacl, + PSECURITY_DESCRIPTOR *ppSecurityDescriptor + ) +{ + return FALSE; +} + + +/* + * @unimplemented + */ +STDCALL DWORD GetSecurityInfoExA( + HANDLE hObject, + SE_OBJECT_TYPE ObjectType, + SECURITY_INFORMATION SecurityInfo, + LPCSTR lpProvider, + LPCSTR lpProperty, + PACTRL_ACCESS *ppAccessList, + PACTRL_AUDIT *ppAuditList, + LPCSTR *lppOwner, + LPCSTR *lppGroup + ) +{ + return FALSE; +} + + +/* + * @unimplemented + */ +STDCALL DWORD GetSecurityInfoExW( + HANDLE hObject, + SE_OBJECT_TYPE ObjectType, + SECURITY_INFORMATION SecurityInfo, + LPCWSTR lpProvider, + LPCWSTR lpProperty, + PACTRL_ACCESS *ppAccessList, + PACTRL_AUDIT *ppAuditList, + LPWSTR *lppOwner, + LPWSTR *lppGroup + ) +{ + return FALSE; +} + + /* EOF */ diff --git a/reactos/lib/msvcrt/except/unwind.c b/reactos/lib/msvcrt/except/unwind.c index d72d4e0fb20..02b523984fa 100644 --- a/reactos/lib/msvcrt/except/unwind.c +++ b/reactos/lib/msvcrt/except/unwind.c @@ -14,3 +14,56 @@ __ret_label: #else #endif } + + +// THIS SHOULD BE FOR 386 ONLY : + +typedef struct __EXCEPTION_FRAME +{ + struct __EXCEPTION_FRAME *Prev; + PEXCEPTION_HANDLER Handler; +} EXCEPTION_FRAME, *PEXCEPTION_FRAME; + +/* VC++ extensions to Win32 SEH */ +typedef struct _SCOPETABLE +{ + int previousTryLevel; + int (*lpfnFilter)(PEXCEPTION_POINTERS); + int (*lpfnHandler)(void); +} SCOPETABLE, *PSCOPETABLE; + +typedef struct _MSVCRT_EXCEPTION_FRAME +{ + EXCEPTION_FRAME *prev; + void (*handler)(PEXCEPTION_RECORD, PEXCEPTION_FRAME, + PCONTEXT, PEXCEPTION_RECORD); + PSCOPETABLE scopetable; + int trylevel; + int _ebp; + PEXCEPTION_POINTERS xpointers; +} MSVCRT_EXCEPTION_FRAME; + + +typedef struct __JUMP_BUFFER +{ + unsigned long Ebp; + unsigned long Ebx; + unsigned long Edi; + unsigned long Esi; + unsigned long Esp; + unsigned long Eip; + unsigned long Registration; + unsigned long TryLevel; + /* Start of new struct members */ + unsigned long Cookie; + unsigned long UnwindFunc; + unsigned long UnwindData[6]; +} _JUMP_BUFFER; + +/* + * @implemented +*/ +void __stdcall _seh_longjmp_unwind(_JUMP_BUFFER *jmp) +{ + _local_unwind2((MSVCRT_EXCEPTION_FRAME*) jmp->Registration, jmp->TryLevel); +} diff --git a/reactos/lib/msvcrt/msvcrt.def b/reactos/lib/msvcrt/msvcrt.def index 103d707f326..4cc0af26f4d 100644 --- a/reactos/lib/msvcrt/msvcrt.def +++ b/reactos/lib/msvcrt/msvcrt.def @@ -1,4 +1,4 @@ -; $Id: msvcrt.def,v 1.22 2003/07/16 13:29:01 royce Exp $ +; $Id: msvcrt.def,v 1.23 2003/08/18 22:19:25 silverblade Exp $ ; ; ReactOS MSVCRT Compatibility Library ; @@ -431,7 +431,7 @@ _rotr ; _safe_fprem1 _scalb _searchenv -; _seh_longjmp_unwind +_seh_longjmp_unwind ; _set_error_mode ; _set_sbh_threshold _seterrormode