Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Papadopoulos <dimitri_at@users.sf.net>2003-09-26 12:07:39 +0400
committerDimitri Papadopoulos <dimitri_at@users.sf.net>2003-09-26 12:07:39 +0400
commit72b0db800a820603e21828ed118474bdf26b4506 (patch)
tree075104b6a7bd02dc04c627e707aa269612891d68 /winsup/w32api
parent32c9d3a91c7ba96c74b121c39180881ef20b8a57 (diff)
* include/aclapi.h [_WIN32_WINNT >= 0x0501] (GetInheritanceSource[AW]):
Add functions. Don't know what PFN_OBJECT_MGR_FUNCTS is so use void* instead. * include/accctrl.h [_WIN32_WINNT >= 0x0501] (INHERITED_FROM[AW], PINHERITED_FROM[AW]): Add structures. * lib/user32.def (GetInheritanceSource[AW]): Add functions.
Diffstat (limited to 'winsup/w32api')
-rw-r--r--winsup/w32api/ChangeLog11
-rw-r--r--winsup/w32api/include/accctrl.h26
-rw-r--r--winsup/w32api/include/aclapi.h8
-rw-r--r--winsup/w32api/include/winuser.h2
-rw-r--r--winsup/w32api/lib/advapi32.def2
5 files changed, 40 insertions, 9 deletions
diff --git a/winsup/w32api/ChangeLog b/winsup/w32api/ChangeLog
index b8cdb6ee4..431bbcb08 100644
--- a/winsup/w32api/ChangeLog
+++ b/winsup/w32api/ChangeLog
@@ -1,3 +1,14 @@
+2003-09-26 Dimitri Papadopoulos <papadopo@users.sourceforge.net>
+
+ * include/aclapi.h [_WIN32_WINNT >= 0x0501] (GetInheritanceSource[AW]):
+ Add functions. Don't know what PFN_OBJECT_MGR_FUNCTS is so use
+ void* instead.
+
+ * include/accctrl.h [_WIN32_WINNT >= 0x0501] (INHERITED_FROM[AW],
+ PINHERITED_FROM[AW]): Add structures.
+
+ * lib/user32.def (GetInheritanceSource[AW]): Add functions.
+
2003-09-26 Corinna Vinschen <corinna@vinschen.de>
* include/winuser.h (FLASHWINFO, PFLASHWINFO): Define for 98/Me, too.
diff --git a/winsup/w32api/include/accctrl.h b/winsup/w32api/include/accctrl.h
index c04b944a1..6f969042f 100644
--- a/winsup/w32api/include/accctrl.h
+++ b/winsup/w32api/include/accctrl.h
@@ -256,27 +256,36 @@ typedef struct _EXPLICIT_ACCESS_W {
DWORD grfInheritance;
TRUSTEE_W Trustee;
} EXPLICIT_ACCESS_W, *PEXPLICIT_ACCESS_W, EXPLICIT_ACCESSW, *PEXPLICIT_ACCESSW;
-typedef struct _OBJECTS_AND_SID {
+typedef struct _OBJECTS_AND_SID {
DWORD ObjectsPresent;
GUID ObjectTypeGuid;
GUID InheritedObjectTypeGuid;
SID * pSid;
} OBJECTS_AND_SID, *POBJECTS_AND_SID;
-typedef struct _OBJECTS_AND_NAME_A {
+typedef struct _OBJECTS_AND_NAME_A {
DWORD ObjectsPresent;
SE_OBJECT_TYPE ObjectType;
LPSTR ObjectTypeName;
LPSTR InheritedObjectTypeName;
LPSTR ptstrName;
} OBJECTS_AND_NAME_A, *POBJECTS_AND_NAME_A;
-typedef struct _OBJECTS_AND_NAME_W {
+typedef struct _OBJECTS_AND_NAME_W {
DWORD ObjectsPresent;
SE_OBJECT_TYPE ObjectType;
LPWSTR ObjectTypeName;
LPWSTR InheritedObjectTypeName;
LPWSTR ptstrName;
} OBJECTS_AND_NAME_W, *POBJECTS_AND_NAME_W;
-
+#if (_WIN32_WINNT >= 0x0501)
+typedef struct {
+ LONG GenerationGap;
+ LPSTR AncestorName;
+} INHERITED_FROMA, *PINHERITED_FROMA;
+typedef struct {
+ LONG GenerationGap;
+ LPWSTR AncestorName;
+} INHERITED_FROMW, *PINHERITED_FROMW;
+#endif /* (_WIN32_WINNT >= 0x0501) */
#ifdef UNICODE
#define ACCCTRL_DEFAULT_PROVIDER ACCCTRL_DEFAULT_PROVIDERW
@@ -292,6 +301,9 @@ typedef EXPLICIT_ACCESS_W EXPLICIT_ACCESS_, *PEXPLICIT_ACCESS_;
typedef EXPLICIT_ACCESSW EXPLICIT_ACCESS, *PEXPLICIT_ACCESS;
typedef TRUSTEE_ACCESSW TRUSTEE_ACCESS, *PTRUSTEE_ACCESS;
typedef OBJECTS_AND_NAME_W OBJECTS_AND_NAME_, *POBJECTS_AND_NAME_;
+#if (_WIN32_WINNT >= 0x0501)
+typedef INHERITED_FROMW INHERITED_FROM, *PINHERITED_FROM;
+#endif
#else
#define ACCCTRL_DEFAULT_PROVIDER ACCCTRL_DEFAULT_PROVIDERA
typedef TRUSTEE_A TRUSTEE_, *PTRUSTEE_;
@@ -306,10 +318,12 @@ typedef EXPLICIT_ACCESS_A EXPLICIT_ACCESS_, *PEXPLICIT_ACCESS_;
typedef EXPLICIT_ACCESSA EXPLICIT_ACCESS, *PEXPLICIT_ACCESS;
typedef TRUSTEE_ACCESSA TRUSTEE_ACCESS, *PTRUSTEE_ACCESS;
typedef OBJECTS_AND_NAME_A OBJECTS_AND_NAME_, *POBJECTS_AND_NAME_;
+#if (_WIN32_WINNT >= 0x0501)
+typedef INHERITED_FROMA INHERITED_FROM, *PINHERITED_FROM;
#endif
+#endif /* UNICODE */
#ifdef __cplusplus
}
#endif
-
-#endif /* _ACCCTRL_H */
+#endif
diff --git a/winsup/w32api/include/aclapi.h b/winsup/w32api/include/aclapi.h
index 1d0224086..d4ef6a794 100644
--- a/winsup/w32api/include/aclapi.h
+++ b/winsup/w32api/include/aclapi.h
@@ -10,6 +10,7 @@
#ifdef __cplusplus
extern "C" {
#endif
+
VOID WINAPI BuildExplicitAccessWithNameA(PEXPLICIT_ACCESS_A,LPSTR,DWORD,ACCESS_MODE,DWORD);
VOID WINAPI BuildExplicitAccessWithNameW(PEXPLICIT_ACCESS_W,LPWSTR,DWORD,ACCESS_MODE,DWORD);
DWORD WINAPI BuildSecurityDescriptorA(PTRUSTEE_A,PTRUSTEE_A ,ULONG,PEXPLICIT_ACCESS_A,
@@ -32,6 +33,10 @@ DWORD WINAPI GetEffectiveRightsFromAclA(PACL,PTRUSTEE_A,PACCESS_MASK);
DWORD WINAPI GetEffectiveRightsFromAclW(PACL,PTRUSTEE_W,PACCESS_MASK);
DWORD WINAPI GetExplicitEntriesFromAclA(PACL,PULONG,PEXPLICIT_ACCESS_A*);
DWORD WINAPI GetExplicitEntriesFromAclW(PACL,PULONG,PEXPLICIT_ACCESS_W*);
+#if (_WIN32_WINNT >= 0x0501)
+DWORD WINAPI GetInheritanceSourceA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,BOOL,GUID**,DWORD,PACL,void*,PGENERIC_MAPPING,PINHERITED_FROMA);
+DWORD WINAPI GetInheritanceSourceW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,BOOL,GUID**,DWORD,PACL,void*,PGENERIC_MAPPING,PINHERITED_FROMW);
+#endif
DWORD WINAPI GetNamedSecurityInfoA(LPSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,
PSID*,PSID*,PACL*,PACL*,PSECURITY_DESCRIPTOR*);
DWORD WINAPI GetNamedSecurityInfoW(LPWSTR,SE_OBJECT_TYPE,SECURITY_INFORMATION,
@@ -104,10 +109,9 @@ MULTIPLE_TRUSTEE_OPERATION WINAPI GetMultipleTrusteeOperationW(PTRUSTEE_W);
#define BuildImpersonateTrustee BuildImpersonateTrusteeA
#define GetMultipleTrustee GetMultipleTrusteeA
#define GetMultipleTrusteeOperation GetMultipleTrusteeOperationA
-#endif /* UNICODE */
+#endif /* UNICODE */
#ifdef __cplusplus
}
#endif
#endif
-
diff --git a/winsup/w32api/include/winuser.h b/winsup/w32api/include/winuser.h
index 57596358b..0cbe7fbc6 100644
--- a/winsup/w32api/include/winuser.h
+++ b/winsup/w32api/include/winuser.h
@@ -2834,7 +2834,7 @@ typedef struct {
UINT uCount;
DWORD dwTimeout;
} FLASHWINFO, *PFLASHWINFO;
-#endif /* (WINVER >= 0x0500) */
+#endif /* (WINVER >= 0x0500 || _WIN32_WINDOWS >= 0x0410) */
#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0490)
typedef struct tagMOUSEMOVEPOINT {
int x;
diff --git a/winsup/w32api/lib/advapi32.def b/winsup/w32api/lib/advapi32.def
index bf2f2edd0..99fc62bad 100644
--- a/winsup/w32api/lib/advapi32.def
+++ b/winsup/w32api/lib/advapi32.def
@@ -193,6 +193,8 @@ GetExplicitEntriesFromAclA@12
GetExplicitEntriesFromAclW@12
GetFileSecurityA@20
GetFileSecurityW@20
+GetInheritanceSourceA@40
+GetInheritanceSourceW@40
GetKernelObjectSecurity@20
GetLengthSid@4
GetLocalManagedApplications@12