Revision: 2888
http://sourceforge.net/p/swingme/code/2888
Author: yuranet
Date: 2025-08-01 13:20:59 +0000 (Fri, 01 Aug 2025)
Log Message:
-----------
getMachineString ready for MOE2
Added Paths:
-----------
iOSME/src/net/yura/ios/HWMachine.java
Added: iOSME/src/net/yura/ios/HWMachine.java
===================================================================
--- iOSME/src/net/yura/ios/HWMachine.java (rev 0)
+++ iOSME/src/net/yura/ios/HWMachine.java 2025-08-01 13:20:59 UTC (rev 2888)
@@ -0,0 +1,34 @@
+package net.yura.ios;
+
+import org.moe.natj.c.CRuntime;
+import org.moe.natj.c.ann.CFunction;
+import org.moe.natj.general.NatJ;
+import org.moe.natj.general.ann.Runtime;
+import org.moe.natj.general.ptr.BytePtr;
+import org.moe.natj.general.ptr.NUIntPtr;
+import org.moe.natj.general.ptr.VoidPtr;
+import org.moe.natj.general.ptr.impl.PtrFactory;
+
+@Runtime(CRuntime.class)
+public class HWMachine {
+ static {
+ NatJ.register();
+ }
+
+ @CFunction
+ public static native int sysctlbyname(BytePtr name, VoidPtr oldp, NUIntPtr oldlenp, VoidPtr newp, long newlen);
+
+ public static String getMachineString() {
+ String name = "hw.machine";
+ byte[] tmp = new byte[name.getBytes().length + 1];
+ System.arraycopy(name.getBytes(), 0, tmp, 0, name.getBytes().length);
+ tmp[name.getBytes().length] = 0x0;
+ BytePtr namePtr = PtrFactory.newByteArray(tmp);
+ NUIntPtr sizePtr = PtrFactory.newNUIntReference(0);
+ sysctlbyname(namePtr, null, sizePtr, null, 0);
+ long longsize = sizePtr.get();
+ BytePtr machinePtr = PtrFactory.newByteArray((int)longsize);
+ sysctlbyname(namePtr, machinePtr, sizePtr, null, 0);
+ return machinePtr.toUTF8String();
+ }
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|