FFI

FFI project page

Welcome to Squeak's FFI repository!


FFI, the Squeak Foreign Function Interface, is used to call functions located in shared libraries that are not part of the OpenSmalltalk VM nor its plugins. It also provides means to read and write memory structures that are associated with the use of those shared libraries. A typical use is to directly invoke operating system APIs. As such, applications that use FFI can only be used on the platform(s) that support the particular API being used. C conventions are used throughout, though the external function could have been written by any language capable of generating object code that follows C conventions.


For more information, read Squeak's Community Development Model and the FFI wiki page

FFI-Kernel-mt.232.mcz
FFI-Pools-mt.40.mcz
ConfigurationOfFFI-mt.63.mcz
ConfigurationOfFFI-mt.62.mcz
ConfigurationOfFFI-mt.61.mcz
ConfigurationOfFFI-mt.60.mcz
ConfigurationOfFFI-mt.59.mcz
ConfigurationOfFFI-mt.58.mcz
ConfigurationOfFFI-mt.57.mcz
ConfigurationOfFFI-mt.56.mcz
ConfigurationOfFFI-mt.55.mcz
ConfigurationOfFFI-mt.54.mcz
ConfigurationOfFFI-mt.53.mcz
ConfigurationOfFFI-mt.52.mcz
ConfigurationOfFFI-mt.51.mcz
FFI-Tests-mt.73.mcz
FFI-Libraries-cbc.5.mcz
FFI-Kernel-mt.231.mcz
FFI-Kernel-mt.230.mcz
FFI-Kernel-mt.229.mcz
FFI-Kernel-eem.228.mcz
FFI-Tests-eem.72.mcz
FFI-Tests-eem.71.mcz
FFI-Kernel-eem.227.mcz
FFI-Kernel-eem.226.mcz
FFI-Libraries-mt.4.mcz
FFI-Kernel-mt.225.mcz
FFI-Kernel-mt.224.mcz
FFI-Callbacks-mt.30.mcz
FFI-Callbacks-mt.29.mcz
FFI-Tests-mt.70.mcz
FFI-Kernel-mt.223.mcz
FFI-Tests-mt.69.mcz
FFI-Tests-mt.68.mcz
FFI-Tests-mt.67.mcz
FFI-Tests-mt.66.mcz
FFI-Libraries-mt.3.mcz
FFI-CallbacksTests-mt.7.mcz
FFI-Kernel-mt.222.mcz
FFI-Kernel-mt.221.mcz
FFI-Tools-mt.39.mcz
FFI-Tests-mt.65.mcz
FFI-Pools-mt.39.mcz
FFI-Kernel-mt.220.mcz
FFI-Pools-mt.38.mcz
FFI-Kernel-mt.219.mcz
FFI-Tests-mt.64.mcz
FFI-Kernel-mt.218.mcz
FFI-Kernel-mt.217.mcz
FFI-Callbacks-mt.28.mcz
FFI-Kernel-mt.216.mcz
FFI-Tests-mt.63.mcz
FFI-Pools-mt.37.mcz
FFI-Kernel-mt.215.mcz
FFI-Pools-mt.36.mcz
FFI-Kernel-mt.214.mcz
FFI-Kernel-mt.213.mcz
FFI-Kernel-mt.212.mcz
FFI-Tests-mt.62.mcz
FFI-Kernel-mt.211.mcz
FFI-Kernel-mt.210.mcz
FFI-Pools-mt.35.mcz
FFI-Kernel-mt.209.mcz
FFI-Tests-mt.61.mcz
FFI-Tools-mt.38.mcz
FFI-Kernel-mt.208.mcz
FFI-Pools-mt.34.mcz
FFI-Kernel-mt.207.mcz
FFI-Kernel-mt.206.mcz
FFI-Kernel-mt.205.mcz
FFI-Pools-mt.33.mcz
FFI-Kernel-eem.204.mcz
FFI-Kernel-mt.203.mcz
FFI-Kernel-mt.202.mcz
FFI-Kernel.terf-eem.202.mcz
FFI-Kernel-mt.201.mcz
FFI-Tests-mt.60.mcz
FFI-Kernel-mt.200.mcz
FFI-CallbacksTests-mt.6.mcz
FFI-Callbacks-mt.27.mcz
FFI-Tests-mt.59.mcz
FFI-Kernel-mt.199.mcz
FFI-Callbacks-mt.26.mcz
FFI-Kernel-mt.198.mcz
FFI-CallbacksTests-mt.5.mcz
FFI-Tests-mt.58.mcz
FFI-Kernel-eem.197.mcz
FFI-Kernel-mt.196.mcz
FFI-Tests-mt.57.mcz
FFI-Tests-mt.56.mcz
FFI-Kernel-mt.195.mcz
FFI-Kernel-mt.194.mcz
FFI-Kernel-mt.193.mcz
FFI-Kernel-mt.192.mcz
FFI-Kernel-mt.191.mcz
FFI-Kernel-mt.190.mcz
FFI-Pools-mt.32.mcz
FFI-Kernel-mt.189.mcz
FFI-Tests-mt.55.mcz
FFI-Kernel.terf-mt.189.mcz
FFI-Tests-mt.54.mcz
FFI-Kernel-mt.188.mcz
FFI-Tests-mt.53.mcz
FFI-Kernel-mt.187.mcz
FFI-Kernel.terf-eem.188.mcz
FFI-Kernel.terf-eem.187.mcz
FFI-Kernel-eem.186.mcz
FFI-Kernel-eem.185.mcz
FFI-Kernel-eem.184.mcz
FFI-Kernel-eem.183.mcz
FFI-Kernel-eem.182.mcz
ConfigurationOfFFI-mt.50.mcz
ConfigurationOfFFI-mt.49.mcz
ConfigurationOfFFI-mt.48.mcz
ConfigurationOfFFI-mt.47.mcz
ConfigurationOfFFI-mt.46.mcz
ConfigurationOfFFI-mt.45.mcz
ConfigurationOfFFI-mt.44.mcz
FFI-Tests-mt.52.mcz
FFI-Kernel-mt.181.mcz
FFI-Callbacks-mt.25.mcz
FFI-CallbacksTests-mt.4.mcz
FFI-Kernel-mt.180.mcz
FFI-Callbacks-mt.24.mcz
FFI-Callbacks-mt.23.mcz
FFI-Kernel-mt.179.mcz
FFI-CallbacksTests-mt.3.mcz
FFI-Callbacks-mt.22.mcz
FFI-CallbacksTests-mt.2.mcz
FFI-Callbacks-mt.21.mcz
FFI-Pools-mt.31.mcz
FFI-Libraries-mt.2.mcz
FFI-Kernel-mt.178.mcz
FFI-Tests-mt.51.mcz
FFI-Kernel-mt.177.mcz
FFI-Kernel-mt.176.mcz
FFI-Kernel-mt.175.mcz
FFI-Unix-mt.6.mcz
FFI-Win32-mt.21.mcz
FFI-MacOS-mt.7.mcz
FFI-Libraries-mt.1.mcz
FFI-Pools-mt.30.mcz
FFI-Kernel-mt.174.mcz
FFI-Pools-mt.29.mcz
FFI-PoolsTests-mt.11.mcz
FFI-Callbacks-mt.20.mcz
FFI-Kernel-mt.173.mcz
FFI-Pools-mt.28.mcz
FFI-Kernel-mt.172.mcz
FFI-CallbacksTests-mt.1.mcz
FFI-Tests-mt.50.mcz
FFI-Tools-mt.37.mcz
FFI-Callbacks-mt.19.mcz
FFI-Kernel-mt.171.mcz
FFI-Tools-mt.36.mcz
FFI-Tests-mt.49.mcz
FFI-Kernel-mt.170.mcz
FFI-Tests-mt.48.mcz
FFI-Kernel-mt.169.mcz
FFI-Examples-mt.8.mcz
FFI-Callbacks-mt.18.mcz
FFI-Kernel-mt.168.mcz
FFI-Kernel-mt.167.mcz
FFI-Pools-mt.27.mcz
FFI-Tests-mt.47.mcz
FFI-Kernel-mt.166.mcz
FFI-Callbacks-mt.17.mcz
FFI-Tests-mt.46.mcz
FFI-Kernel-mt.165.mcz
FFI-Kernel-mt.164.mcz
FFI-Kernel-mt.163.mcz
FFI-Tests-mt.45.mcz
FFI-Tools-mt.35.mcz
FFI-Tests-mt.44.mcz
FFI-Tools-mt.34.mcz
FFI-Kernel-mt.162.mcz
FFI-Tools-mt.33.mcz
FFI-Tests-mt.43.mcz
FFI-Kernel-mt.161.mcz
FFI-Tools-mt.32.mcz
FFI-Kernel-mt.160.mcz
FFI-Kernel-mt.159.mcz
FFI-Kernel-mt.158.mcz
FFI-Tests-mt.42.mcz
FFI-Kernel-mt.157.mcz
FFI-Kernel-mt.156.mcz
FFI-Callbacks-mt.16.mcz
FFI-Kernel-mt.155.mcz
FFI-Kernel-mt.154.mcz
FFI-Callbacks-mt.15.mcz
FFI-Tests-mt.41.mcz
FFI-Tools-mt.31.mcz
FFI-Tests-mt.40.mcz
FFI-Kernel-mt.153.mcz
FFI-Tests-mt.39.mcz
FFI-Kernel-mt.152.mcz
FFI-Tests-mt.38.mcz
FFI-Kernel-mt.151.mcz
FFI-Tests-mt.37.mcz
FFI-Kernel-mt.150.mcz
FFI-Tests-mt.36.mcz
FFI-Kernel-mt.149.mcz
FFI-Tests-mt.35.mcz
FFI-Kernel-mt.148.mcz
FFI-Kernel-mt.147.mcz
FFI-Tests-mt.34.mcz
FFI-Kernel-mt.146.mcz
FFI-Tests-mt.33.mcz
FFI-Callbacks-mt.14.mcz
FFI-Callbacks-mt.13.mcz
FFI-Kernel-mt.145.mcz
FFI-Callbacks-mt.12.mcz
FFI-Kernel-mt.144.mcz
FFI-Tools-mt.30.mcz
FFI-Tests-mt.32.mcz
FFI-Kernel-mt.143.mcz
FFI-Kernel-mt.142.mcz
FFI-Tests-mt.31.mcz
FFI-Tests-mt.30.mcz
FFI-Kernel-mt.141.mcz
FFI-Callbacks-mt.11.mcz
FFI-Tools-mt.29.mcz
FFI-Tests-mt.29.mcz
FFI-Kernel-mt.140.mcz
FFI-Kernel-mt.139.mcz
FFI-Tools-mt.28.mcz
FFI-Tools-mt.27.mcz
FFI-Kernel-mt.138.mcz
FFI-Kernel-mt.137.mcz
FFI-Tests-mt.28.mcz
FFI-Kernel-mt.136.mcz
FFI-Kernel-mt.135.mcz
FFI-Kernel-mt.134.mcz
FFI-Tests-mt.27.mcz
FFI-Kernel-mt.133.mcz
FFI-Tests-mt.26.mcz
FFI-Tools-mt.26.mcz
FFI-Kernel-mt.132.mcz
FFI-Kernel-mt.131.mcz
FFI-Tools-mt.25.mcz
FFI-Tests-mt.25.mcz
FFI-Kernel-mt.130.mcz
FFI-Tools-mt.24.mcz
FFI-Kernel-mt.129.mcz
FFI-Tests-mt.24.mcz
FFI-Kernel-mt.128.mcz
FFI-Tools-mt.23.mcz
FFI-Kernel-mt.127.mcz
FFI-Tests-mt.23.mcz
FFI-Kernel-mt.126.mcz
FFI-Tests-mt.22.mcz
FFI-Kernel-mt.125.mcz
FFI-Tools-mt.22.mcz
FFI-Kernel-mt.124.mcz
FFI-Callbacks-mt.9.mcz
FFI-Kernel-mt.123.mcz
FFI-Callbacks-mt.7.mcz
FFI-Callbacks-mt.6.mcz
FFI-Kernel-mt.122.mcz
FFI-Callbacks-mt.5.mcz
FFI-Callbacks-mt.4.mcz
FFI-Kernel-mt.121.mcz
FFI-Tools-mt.21.mcz
FFI-Kernel-mt.120.mcz
FFI-Unix-mt.5.mcz
FFI-Pools-eem.26.mcz
ConfigurationOfFFI-mt.43.mcz
FFI-Callbacks-mt.3.mcz
FFI-Callbacks-mt.2.mcz
FFI-Callbacks-mt.1.mcz
FFI-Tools-mt.20.mcz
FFI-Kernel-mt.119.mcz
FFI-Kernel-nice.118.mcz
FFI-Win32-nice.20.mcz
FFI-Tools-mt.19.mcz
FFI-Tests-mt.21.mcz
FFI-Kernel-mt.117.mcz
FFI-Kernel-mt.116.mcz
FFI-Kernel-mt.115.mcz
FFI-Tests-mt.20.mcz
FFI-Kernel-mt.114.mcz
FFI-Kernel-mt.113.mcz
FFI-Kernel-mt.112.mcz
FFI-Kernel-mt.110.mcz
FFI-Kernel-mt.111.mcz
FFI-Tools-mt.18.mcz
FFI-Tests-mt.19.mcz
FFI-Win32-mt.19.mcz
FFI-Kernel-mt.109.mcz
FFI-Kernel-mt.108.mcz
FFI-Tools-mt.17.mcz
FFI-Kernel-mt.107.mcz
FFI-Kernel-mt.106.mcz
FFI-Pools-mt.25.mcz
FFI-PoolsTests-mt.10.mcz
FFI-Pools-mt.24.mcz
FFI-Kernel-mt.105.mcz
FFI-Tools-mt.16.mcz
FFI-Pools-mt.23.mcz
FFI-Tests-mt.18.mcz
FFI-Tools-mt.15.mcz
FFI-Kernel-mt.104.mcz
FFI-Kernel-mt.103.mcz
FFI-Kernel-mt.102.mcz
FFI-Tools-mt.14.mcz
FFI-Kernel-mt.101.mcz
FFI-Tools-mt.13.mcz
FFI-Kernel-mt.100.mcz
FFI-Kernel-mt.99.mcz
FFI-Pools-mt.22.mcz
FFI-Kernel-mt.98.mcz
FFI-Tests-mt.17.mcz
FFI-Win32-mt.18.mcz
FFI-MacOS-mt.6.mcz
FFI-Examples-mt.7.mcz
FFI-Tests-mt.16.mcz
FFI-Tools-mt.12.mcz
FFI-Pools-mt.21.mcz
FFI-Kernel-mt.97.mcz
FFI-Kernel-mt.96.mcz
FFI-Kernel-mt.95.mcz
FFI-Kernel-mt.94.mcz
FFI-Tools-mt.11.mcz
FFI-Kernel-mt.93.mcz
FFI-Tools-mt.10.mcz
FFI-Kernel-mt.92.mcz
FFI-Kernel-mt.91.mcz
FFI-Tools-mt.9.mcz
FFI-Kernel-mt.90.mcz
FFI-Kernel-mt.89.mcz
FFI-Pools-mt.20.mcz
FFI-Kernel-mt.88.mcz
FFI-Pools-mt.19.mcz
FFI-Win32-mt.17.mcz
FFI-PoolsTests-mt.9.mcz
FFI-Kernel-mt.87.mcz
FFI-Pools-mt.18.mcz
FFI-Tests-mt.15.mcz
FFI-Examples-mt.6.mcz
FFI-Kernel-eem.86.mcz
FFI-Tools-mt.8.mcz
FFI-Kernel-mt.85.mcz
FFI-Tools-mt.7.mcz
FFI-Kernel-mt.84.mcz
FFI-Tools-mt.6.mcz
FFI-Kernel-mt.83.mcz
FFI-Kernel-mt.82.mcz
FFI-Kernel-mt.81.mcz
FFI-Kernel-mt.80.mcz
FFI-Kernel-mt.79.mcz
FFI-Pools-mt.17.mcz
FFI-Pools-mt.16.mcz
FFI-PoolsTests-mt.8.mcz
FFI-PoolsTests-monty.2.mcz
FFI-Pools-monty.9.mcz
FFI-PoolsTests-monty.1.mcz
FFI-Pools-monty.6.mcz
FFI-Kernel-mt.77.mcz
FFI-Pools-mt.15.mcz
FFI-Kernel-mt.76.mcz
FFI-PoolsTests-mt.7.mcz
FFI-Pools-mt.14.mcz
FFI-Kernel-mt.75.mcz
FFI-Kernel-mt.74.mcz
FFI-Kernel-mt.73.mcz
FFI-Tools-mt.5.mcz
FFI-Kernel-mt.72.mcz
FFI-Tools-mt.4.mcz
FFI-Examples-mt.5.mcz
FFI-Examples-mt.4.mcz
FFI-Kernel-mt.71.mcz
FFI-Examples-eem.3.mcz
FFI-Tools-mt.3.mcz
FFI-Kernel-mt.70.mcz
FFI-Tools-mt.2.mcz
FFI-Tools-mt.1.mcz
FFI-Kernel-mt.69.mcz
ConfigurationOfFFI-nice.42.mcz
FFI-Kernel-nice.68.mcz
FFI-Tests-nice.14.mcz
FFI-Kernel-nice.67.mcz
FFI-Tests-nice.13.mcz
FFI-PoolsTests-eem.6.mcz
FFI-Pools-eem.13.mcz
FFI-PoolsTests-monty.5.mcz
FFI-Pools-monty.12.mcz
FFI-Tests-nice.12.mcz
FFI-Kernel-nice.66.mcz
FFI-Tests-nice.11.mcz
FFI-Kernel-fn.65.mcz
FFI-Kernel-TorstenBergmann.64.mcz
FFI-Kernel-eem.63.mcz
FFI-Kernel-rsf.62.mcz
FFI-Tests-eem.10.mcz
FFI-Kernel-eem.61.mcz
FFI-Kernel-eem.60.mcz
FFI-Kernel-rsf.59.mcz
FFI-Kernel-rsf.58.mcz
FFI-Win32-cbc.15.mcz
FFI-Win32-cbc.14.mcz
FFI-Win32-cbc.12.mcz
FFI-Win32-cbc.13.mcz
FFI-Win32-cbc.16.mcz
FFI-Kernel-eem.56.mcz
FFI-Kernel-eem.55.mcz
FFI-Kernel-eem.54.mcz
FFI-Kernel-nice.53.mcz
FFI-Win32-nice.12.mcz
FFI-Kernel-nice.52.mcz
FFI-Kernel-nice.51.mcz
FFI-Kernel-nice.50.mcz
FFI-Kernel-nice.49.mcz
FFI-Kernel-nice.48.mcz
ConfigurationOfFFI-nice.41.mcz
FFI-Kernel-nice.47.mcz
FFI-Tests-cbc.9.mcz
FFI-Kernel-eem.46.mcz
FFI-Pools-TorstenBergmann.4.mcz
ConfigurationOfFFI-nice.40.mcz
FFI-Kernel-EstebanLorenzano.45.mcz
FFI-Kernel-eem.44.mcz
FFI-Kernel-eem.43.mcz
FFI-Kernel-EstebanLorenzano.42.mcz
FFI-Kernel-EstebanLorenzano.41.mcz
FFI-Kernel-JanVanDeSandt.40.mcz
FFI-Kernel-EstebanLorenzano.39.mcz
FFI-Kernel-EstebanLorenzano.38.mcz
FFI-Kernel-eem.37.mcz
FFI-Kernel-eem.36.mcz
FFI-Kernel-eem.35.mcz
FFI-Kernel-eem.34.mcz
FFI-Kernel-eem.33.mcz
FFI-Kernel-EstebanLorenzano.32.mcz
FFI-Kernel-eem.31.mcz
FFI-Examples-eem.2.mcz
FFI-Kernel-eem.30.mcz
ConfigurationOfFFI-EstebanLorenzano.39.mcz
FFI-Kernel-EstebanLorenzano.29.mcz
FFI-Kernel-dtl.28.mcz
ConfigurationOfFFI-EstebanLorenzano.38.mcz
ConfigurationOfFFI-EstebanLorenzano.37.mcz
FFI-Tests-EstebanLorenzano.8.mcz
FFI-Kernel-EstebanLorenzano.27.mcz
FFI-Kernel-eem.26.mcz
FFI-Tests-djm.7.mcz
FFI-Win32-tbn.11.mcz
FFI-Tests-tbn.6.mcz
FFI-Tests-tbn.5.mcz
FFI-Kernel-tbn.25.mcz
FFI-Win32-tbn.10.mcz
FFI-Win32-tbn.9.mcz
FFI-Tests-ar.5.mcz
FFI-Kernel.threaded-eem.25.mcz
FFI-Kernel-eem.24.mcz
FFI-Pools-eem.3.mcz
FFI-Win32-mtf.8.mcz
FFI-Unix-mtf.4.mcz
FFI-Kernel-mtf.23.mcz
FFI-Win32-mtf.7.mcz
FFI-Win32-mtf.6.mcz
FFI-Win32-tbn.5.mcz
FFI-Win32-tbn.4.mcz
FFI-Kernel-ar.22.mcz
FFI-Kernel-tbn.20.mcz
FFI-Pools-eem.2.mcz
FFI-Tests-jcg.4.mcz
FFI-Kernel-jcg.19.mcz
FFI-Kernel-jcg.18.mcz
FFI-MacOS-spd.5.mcz
FFI-Unix-tbn.3.mcz
FFI-Unix-tbn.2.mcz
FFI-Kernel-jcg.17.mcz
FFI-Kernel-ar.16.mcz
FFI-Examples-ar.1.mcz
FFI-MacOS-ar.3.mcz
FFI-Win32-ar.3.mcz
FFI-MacOS-abc.2.mcz
FFI-Kernel-ar.13.mcz
FFI-Kernel-ar.12.mcz
FFI-Pools-ar.1.mcz
FFI-Kernel-ar.11.mcz
FFI-Tests-ar.3.mcz
FFI-Kernel-ar.10.mcz
FFI-Kernel-ar.9.mcz
FFI-Kernel-ar.8.mcz
FFI-Kernel-ar.7.mcz
FFI-Kernel-ar.6.mcz
FFI-Kernel-ar.5.mcz
FFI-Tests-ar.2.mcz
FFI-Kernel-ar.4.mcz
FFI-Win32-ar.2.mcz
FFI-Win32-ar.1.mcz
FFI-Unix-ar.1.mcz
FFI-Tests-ar.1.mcz
FFI-MacOS-ar.1.mcz
FFI-Kernel-ar.1.mcz