[Vm-dev] [commit][3623] Get sqFFI. h to not declare the old FFI API if ThreadedFFIPlugin is defined as

commits at squeakvm.org commits at squeakvm.org
Sun Feb 21 04:23:36 UTC 2016


Revision: 3623
Author:   eliot
Date:     2016-02-20 20:23:34 -0800 (Sat, 20 Feb 2016)
Log Message:
-----------
Get sqFFI.h to not declare the old FFI API if ThreadedFFIPlugin is defined as
non-zero.

Modified Paths:
--------------
    trunk/platforms/Cross/plugins/SqueakFFIPrims/sqFFI.h

Property Changed:
----------------
    trunk/platforms/Cross/plugins/sqPluginsSCCSVersion.h

Modified: trunk/platforms/Cross/plugins/SqueakFFIPrims/sqFFI.h
===================================================================
--- trunk/platforms/Cross/plugins/SqueakFFIPrims/sqFFI.h	2016-02-21 04:01:41 UTC (rev 3622)
+++ trunk/platforms/Cross/plugins/SqueakFFIPrims/sqFFI.h	2016-02-21 04:23:34 UTC (rev 3623)
@@ -14,6 +14,11 @@
 #ifndef SQ_FFI_H
 #define SQ_FFI_H
 
+/* What follows is the old FFI API when spread across several marshalling files.
+ * With the ThreadedFFIPlugin all marshalling is in a single generated plugin
+ * and so the following API is not wanted.
+ */
+#if !ThreadedFFIPlugin
 /* Calling conventions */
 #define FFICallTypeCDecl 0
 #define FFICallTypeApi 1
@@ -128,27 +133,32 @@
 
 /* return the float value from a previous call */
 double ffiReturnFloatValue(void);
+#endif /* !ThreadedFFIPlugin */
 
 /* Set the log file name for logging call-outs */
 int ffiLogFileNameOfLength(void *nameIndex, int nameLength);
 int ffiLogCallOfLength(void *nameIndex, int nameLength);
 
-/* The following are for creating, manipulating, and detroying "manual surfaces".
-   These are surfaces that are managed by Squeak code, which has manual control
-   over the memory location where the image data is stored (the pointer used may 
-   be obtained via FFI calls, or other means).
-   
-   Upon creation, no memory is allocated for the surface.  Squeak code is 
-   responsible for passing in a pointer to the memory to use.  It is OK to set 
-   the pointer to different values, or to NULL.  If the pointer is NULL, then
-   BitBlt calls to ioLockSurface() will fail.
-   
-   createManualFunction() returns a non-negative surface ID if successful, and
-   -1 otherwise.  The other return true for success, and false for failure.
-*/   
+/* The following are for creating, manipulating, and destroying
+ * "manual surfaces".  These are surfaces that are managed by Squeak code,
+ * which has manual control over the memory location where the image data is
+ * stored (the pointer used may be obtained via FFI calls, or other means).
+ *
+ * Upon creation, no memory is allocated for the surface.  Squeak code is 
+ * responsible for passing in a pointer to the memory to use.  It is OK to set 
+ * the pointer to different values, or to NULL.  If the pointer is NULL, then
+ * BitBlt calls to ioLockSurface() will fail.
+ *
+ * createManualFunction() returns a non-negative surface ID if successful, and
+ * -1 otherwise.  The other return true for success, and false for failure.
+ */   
 #include "../SurfacePlugin/SurfacePlugin.h"
-void initManualSurfaceFunctionPolongers(fn_ioRegisterSurface reg, fn_ioUnregisterSurface unreg, fn_ioFindSurface find);
-long createManualSurface(long width, long height, long rowPitch, long depth, long isMSB);
+
+void initSurfacePluginFunctionPointers();
+void initManualSurfaceFunctionPointers
+	(fn_ioRegisterSurface, fn_ioUnregisterSurface, fn_ioFindSurface);
+long createManualSurface
+	(long width, long height, long rowPitch, long depth, long isMSB);
 long destroyManualSurface(long surfaceID);
 long setManualSurfacePointer(long surfaceID, void* ptr);
 


Property changes on: trunk/platforms/Cross/plugins/sqPluginsSCCSVersion.h
___________________________________________________________________
Modified: checkindate
   - Sat Feb 20 20:00:57 PST 2016
   + Sat Feb 20 20:22:47 PST 2016



More information about the Vm-dev mailing list