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:
authorCorinna Vinschen <corinna@vinschen.de>2012-07-06 17:49:53 +0400
committerCorinna Vinschen <corinna@vinschen.de>2012-07-06 17:49:53 +0400
commit6f94526c1c02d187a31c028ee1a754b4ecbb98c9 (patch)
tree1f7698e03559e1b412e276a5899b9d22726cdceb
parent261c701bf313b80b46656488b7b702b6afaef1bf (diff)
* fhandler_registry.cc (RegOpenUserClassesRoot): Only define when
building against w32api headers. (RegOpenCurrentUser): Ditto. * fhandler_tty.cc (GetNamedPipeClientProcessId): Ditto. * ntdll.h (enum _PROCESSINFOCLASS): Add ProcessImageFileName. (RtlInitAnsiString): Declare. (RtlUnicodeStringToAnsiSize): Declare. * sched.cc (GetForegroundWindow): Ditto. * sec_helper.cc (SECURITY_NT_NON_UNIQUE): Define as SECURITY_NT_NON_UNIQUE_RID when building against w32api headers. (cygsid::get_sid): Use SECURITY_NT_NON_UNIQUE rather than SECURITY_NT_NON_UNIQUE_RID. (__sec_user): Use PISECURITY_DESCRIPTOR rather than PSECURITY_DESCRIPTOR to allow valid pointer arithmetic. (_recycler_sd): Ditto. (_everyone_sd): Ditto.
-rw-r--r--winsup/cygwin/ChangeLog26
-rw-r--r--winsup/cygwin/fhandler_registry.cc2
-rw-r--r--winsup/cygwin/fhandler_tty.cc2
-rw-r--r--winsup/cygwin/ntdll.h5
-rw-r--r--winsup/cygwin/sched.cc2
-rw-r--r--winsup/cygwin/sec_helper.cc16
6 files changed, 48 insertions, 5 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index ebdbec00a..fd06947cc 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,31 @@
2012-07-06 Corinna Vinschen <corinna@vinschen.de>
+ * fhandler_registry.cc (RegOpenUserClassesRoot): Only define when
+ building against w32api headers.
+ (RegOpenCurrentUser): Ditto.
+ * fhandler_tty.cc (GetNamedPipeClientProcessId): Ditto.
+ * ntdll.h (enum _PROCESSINFOCLASS): Add ProcessImageFileName.
+ (RtlInitAnsiString): Declare.
+ (RtlUnicodeStringToAnsiSize): Declare.
+ * sched.cc (GetForegroundWindow): Ditto.
+ * sec_helper.cc (SECURITY_NT_NON_UNIQUE): Define as
+ SECURITY_NT_NON_UNIQUE_RID when building against w32api headers.
+ (cygsid::get_sid): Use SECURITY_NT_NON_UNIQUE rather than
+ SECURITY_NT_NON_UNIQUE_RID.
+ (__sec_user): Use PISECURITY_DESCRIPTOR rather than PSECURITY_DESCRIPTOR
+ to allow valid pointer arithmetic.
+ (_recycler_sd): Ditto.
+ (_everyone_sd): Ditto.
+
+2012-07-06 Corinna Vinschen <corinna@vinschen.de>
+
+ * advapi32.cc (_ADVAPI32_): Drop definition.
+ * kernel32.cc (_KERNEL32_): Ditto.
+ * winlean.h: Add definitions required to use Mingw64 headers.
+ (FILE_SHARE_VALID_FLAGS): Drop definition.
+
+2012-07-06 Corinna Vinschen <corinna@vinschen.de>
+
* winsup.h (_WIN32_WINNT): Define. Explain why.
2012-07-06 Corinna Vinschen <corinna@vinschen.de>
diff --git a/winsup/cygwin/fhandler_registry.cc b/winsup/cygwin/fhandler_registry.cc
index 311eac3a6..787922962 100644
--- a/winsup/cygwin/fhandler_registry.cc
+++ b/winsup/cygwin/fhandler_registry.cc
@@ -77,10 +77,12 @@ static const HKEY registry_keys[] =
static const int ROOT_KEY_COUNT = sizeof (registry_keys) / sizeof (HKEY);
+#ifndef __MINGW64_VERSION_MAJOR
extern "C" {
LONG WINAPI RegOpenUserClassesRoot (HANDLE, DWORD, REGSAM, PHKEY);
LONG WINAPI RegOpenCurrentUser (REGSAM, PHKEY);
};
+#endif
/* Make sure to access the correct per-user HKCR and HKCU hives, even if
the current user is only impersonated in another user's session. */
diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc
index 2331a0449..519558a3d 100644
--- a/winsup/cygwin/fhandler_tty.cc
+++ b/winsup/cygwin/fhandler_tty.cc
@@ -1482,7 +1482,9 @@ fhandler_pty_slave::fixup_after_exec ()
fixup_after_fork (NULL);
}
+#ifndef __MINGW64_VERSION_MAJOR
extern "C" BOOL WINAPI GetNamedPipeClientProcessId (HANDLE, PULONG);
+#endif
/* This thread function handles the master control pipe. It waits for a
client to connect. Then it checks if the client process has permissions
diff --git a/winsup/cygwin/ntdll.h b/winsup/cygwin/ntdll.h
index c486a93c1..dda3c2d20 100644
--- a/winsup/cygwin/ntdll.h
+++ b/winsup/cygwin/ntdll.h
@@ -491,7 +491,8 @@ typedef enum _PROCESSINFOCLASS
ProcessVmCounters = 3,
ProcessTimes = 4,
ProcessSessionInformation = 24,
- ProcessWow64Information = 26
+ ProcessWow64Information = 26,
+ ProcessImageFileName = 27
} PROCESSINFOCLASS;
typedef struct _DEBUG_BUFFER
@@ -1270,6 +1271,7 @@ extern "C"
PBOOLEAN);
PSID_IDENTIFIER_AUTHORITY NTAPI RtlIdentifierAuthoritySid (PSID);
VOID NTAPI RtlInitEmptyUnicodeString (PUNICODE_STRING, PCWSTR, USHORT);
+ VOID NTAPI RtlInitAnsiString (PANSI_STRING, PCSTR);
NTSTATUS NTAPI RtlInitializeSid (PSID, PSID_IDENTIFIER_AUTHORITY, UCHAR);
VOID NTAPI RtlInitUnicodeString (PUNICODE_STRING, PCWSTR);
NTSTATUS NTAPI RtlIntegerToUnicodeString (ULONG, ULONG, PUNICODE_STRING);
@@ -1301,6 +1303,7 @@ extern "C"
BOOLEAN);
PUCHAR NTAPI RtlSubAuthorityCountSid (PSID);
PULONG NTAPI RtlSubAuthoritySid (PSID, ULONG);
+ ULONG NTAPI RtlUnicodeStringToAnsiSize (PUNICODE_STRING);
NTSTATUS NTAPI RtlUnicodeStringToAnsiString (PANSI_STRING, PUNICODE_STRING,
BOOLEAN);
NTSTATUS NTAPI RtlUnicodeStringToOemString (PANSI_STRING, PUNICODE_STRING,
diff --git a/winsup/cygwin/sched.cc b/winsup/cygwin/sched.cc
index 9c8aa0467..e990c996c 100644
--- a/winsup/cygwin/sched.cc
+++ b/winsup/cygwin/sched.cc
@@ -21,7 +21,9 @@
#include <unistd.h>
#include "registry.h"
+#ifndef __MINGW64_VERSION_MAJOR
extern "C" HWND WINAPI GetForegroundWindow();
+#endif
/* Win32 priority to UNIX priority Mapping.
For now, I'm just following the spec: any range of priorities is ok.
diff --git a/winsup/cygwin/sec_helper.cc b/winsup/cygwin/sec_helper.cc
index d44705b2f..0b505a7e8 100644
--- a/winsup/cygwin/sec_helper.cc
+++ b/winsup/cygwin/sec_helper.cc
@@ -25,6 +25,10 @@ details. */
#include "pwdgrp.h"
#include "ntdll.h"
+#ifndef __MINGW64_VERSION_MAJOR
+#define SECURITY_NT_NON_UNIQUE SECURITY_NT_NON_UNIQUE_RID
+#endif
+
/* General purpose security attribute objects for global use. */
SECURITY_ATTRIBUTES NO_COPY sec_none;
SECURITY_ATTRIBUTES NO_COPY sec_none_nih;
@@ -175,7 +179,7 @@ cygsid::get_sid (DWORD s, DWORD cnt, DWORD *r, bool well_known)
well_known_sid = well_known;
else
well_known_sid = (s != SECURITY_NT_AUTH
- || r[0] != SECURITY_NT_NON_UNIQUE_RID);
+ || r[0] != SECURITY_NT_NON_UNIQUE);
return psid;
}
@@ -374,7 +378,11 @@ static const struct {
{ SE_CREATE_GLOBAL_NAME, false },
{ SE_TRUSTED_CREDMAN_ACCESS_NAME, false },
{ SE_RELABEL_NAME, true },
+#ifndef __MINGW64_VERSION_MAJOR
{ SE_INCREASE_WORKING_SET_NAME, false },
+#else
+ { SE_INC_WORKING_SET_NAME, false },
+#endif
{ SE_TIME_ZONE_NAME, true },
{ SE_CREATE_SYMBOLIC_LINK_NAME, true }
};
@@ -555,7 +563,7 @@ PSECURITY_ATTRIBUTES __stdcall
__sec_user (PVOID sa_buf, PSID sid1, PSID sid2, DWORD access2, BOOL inherit)
{
PSECURITY_ATTRIBUTES psa = (PSECURITY_ATTRIBUTES) sa_buf;
- PSECURITY_DESCRIPTOR psd = (PSECURITY_DESCRIPTOR)
+ PISECURITY_DESCRIPTOR psd = (PISECURITY_DESCRIPTOR)
((char *) sa_buf + sizeof (*psa));
PACL acl = (PACL) ((char *) sa_buf + sizeof (*psa) + sizeof (*psd));
NTSTATUS status;
@@ -586,7 +594,7 @@ PSECURITY_DESCRIPTOR
_recycler_sd (void *buf, bool users, bool dir)
{
NTSTATUS status;
- PSECURITY_DESCRIPTOR psd = (PSECURITY_DESCRIPTOR) buf;
+ PISECURITY_DESCRIPTOR psd = (PISECURITY_DESCRIPTOR) buf;
if (!psd)
return NULL;
@@ -644,7 +652,7 @@ PSECURITY_DESCRIPTOR
_everyone_sd (void *buf, ACCESS_MASK access)
{
NTSTATUS status;
- PSECURITY_DESCRIPTOR psd = (PSECURITY_DESCRIPTOR) buf;
+ PISECURITY_DESCRIPTOR psd = (PISECURITY_DESCRIPTOR) buf;
if (psd)
{