You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by mt...@apache.org on 2011/04/20 09:19:20 UTC
svn commit: r1095305 - in /commons/sandbox/runtime/trunk/src/main:
java/org/apache/commons/runtime/platform/windows/Win32.java
native/include/acr/stddefs.h native/os/unix/arch_defs.h
native/os/win32/shmem.c
Author: mturk
Date: Wed Apr 20 07:19:19 2011
New Revision: 1095305
URL: http://svn.apache.org/viewvc?rev=1095305&view=rev
Log:
Add Win32 file mapping API wrappers
Modified:
commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/platform/windows/Win32.java
commons/sandbox/runtime/trunk/src/main/native/include/acr/stddefs.h
commons/sandbox/runtime/trunk/src/main/native/os/unix/arch_defs.h
commons/sandbox/runtime/trunk/src/main/native/os/win32/shmem.c
Modified: commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/platform/windows/Win32.java
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/platform/windows/Win32.java?rev=1095305&r1=1095304&r2=1095305&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/platform/windows/Win32.java (original)
+++ commons/sandbox/runtime/trunk/src/main/java/org/apache/commons/runtime/platform/windows/Win32.java Wed Apr 20 07:19:19 2011
@@ -36,38 +36,12 @@ final class Win32
// No instance.
}
- /* ACR protection mappings */
- public static final int FPROT_USETID = 0x8000; /**< Set user id */
- public static final int FPROT_UREAD = 0x0400; /**< Read by user */
- public static final int FPROT_UWRITE = 0x0200; /**< Write by user */
- public static final int FPROT_UEXECUTE = 0x0100; /**< Execute by user */
- public static final int FPROT_URW = 0x0600; /**< User Read/Write access */
- public static final int FPROT_URWX = 0x0700; /**< User all access */
-
- public static final int FPROT_GSETID = 0x4000; /**< Set group id */
- public static final int FPROT_GREAD = 0x0040; /**< Read by group */
- public static final int FPROT_GWRITE = 0x0020; /**< Write by group */
- public static final int FPROT_GEXECUTE = 0x0010; /**< Execute by group */
- public static final int FPROT_GRW = 0x0060; /**< Group Read/Write access */
- public static final int FPROT_GRWX = 0x0070; /**< Group all access */
-
- public static final int FPROT_WSTICKY = 0x2000; /**< Sticky bit */
- public static final int FPROT_WREAD = 0x0004; /**< Read by others */
- public static final int FPROT_WWRITE = 0x0002; /**< Write by others */
- public static final int FPROT_WEXECUTE = 0x0001; /**< Execute by others */
- public static final int FPROT_WRW = 0x0006; /**< Read/Write by others */
- public static final int FPROT_WRWX = 0x0007; /**< All access by others */
-
- public static final int FPROT_OS_DEFAULT = 0x0FFF; /**< use OS's default permissions */
-
-
public static final int INFINITE = 0xFFFFFFFF;
public static final int WAIT_FAILED = 0xFFFFFFFF;
public static final int WAIT_OBJECT_O = 0;
public static final int WAIT_ABANDONED = 0x00000080;
public static final int WAIT_TIMEOUT = 0x00000102;
-
/* Standard access rights */
public static final int DELETE = 0x00010000;
public static final int READ_CONTROL = 0x00020000;
@@ -149,6 +123,7 @@ final class Win32
public static final int PAGE_NOCACHE = 0x00000200;
public static final int PAGE_WRITECOMBINE = 0x00000400;
+ public static final long INVALID_HANDLE_VALUE = -1L;
public static native int CloseHandle(long handle);
public static native int LocalFree(long ptr);
Modified: commons/sandbox/runtime/trunk/src/main/native/include/acr/stddefs.h
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/include/acr/stddefs.h?rev=1095305&r1=1095304&r2=1095305&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/include/acr/stddefs.h (original)
+++ commons/sandbox/runtime/trunk/src/main/native/include/acr/stddefs.h Wed Apr 20 07:19:19 2011
@@ -255,6 +255,8 @@
#define ACR_HBUFF_SIZ 8192
#define ACR_HBUFF_LEN (ACR_HBUFF_SIZ - 1)
+#define ACR_MTX_MAGIC 0x23036401
+#define ACR_SHM_MAGIC 0x23036402
#if !defined(INVALID_HANDLE_VALUE)
#define INVALID_HANDLE_VALUE ((void *)((ptrdiff_t)-1))
Modified: commons/sandbox/runtime/trunk/src/main/native/os/unix/arch_defs.h
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/unix/arch_defs.h?rev=1095305&r1=1095304&r2=1095305&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/unix/arch_defs.h (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/unix/arch_defs.h Wed Apr 20 07:19:19 2011
@@ -77,8 +77,6 @@ typedef struct stat struct_stat_
#define ACR_CRLF "\n"
/* Any value will do */
#define ACR_FTOK_ID 's'
-#define ACR_MTX_MAGIC 0x23036401
-#define ACR_SHM_MAGIC 0x23036402
#if defined(_SOLARIS)
# define SHELL_PATH "/usr/xpg4/bin/sh"
Modified: commons/sandbox/runtime/trunk/src/main/native/os/win32/shmem.c
URL: http://svn.apache.org/viewvc/commons/sandbox/runtime/trunk/src/main/native/os/win32/shmem.c?rev=1095305&r1=1095304&r2=1095305&view=diff
==============================================================================
--- commons/sandbox/runtime/trunk/src/main/native/os/win32/shmem.c (original)
+++ commons/sandbox/runtime/trunk/src/main/native/os/win32/shmem.c Wed Apr 20 07:19:19 2011
@@ -53,3 +53,20 @@ ACR_JNI_EXPORT(jobject, ShmImpl, init0)(
return (*env)->NewObject(env, _clazzn.i, J4MID(0000));
}
+ACR_WIN_EXPORT(void, WindowsShm, hdrset0)(JNI_STDARGS, jlong base, jlong size)
+{
+ shmblock_t *hdr = J2P(base, shmblock_t *);
+
+ hdr->magic = ACR_SHM_MAGIC;
+ hdr->creator = GetCurrentProcessId();
+ hdr->length = size;
+}
+
+ACR_WIN_EXPORT(jlong, WindowsShm, hdrlen0)(JNI_STDARGS, jlong base)
+{
+ shmblock_t *hdr = J2P(base, shmblock_t *);
+ if (hdr->magic == ACR_SHM_MAGIC)
+ return hdr->length;
+ else
+ return 0;
+}