On Mon, Dec 28, 2015 at 5:11 PM, Mariano Martinez Peck <marianopeck@gmail.com> wrote:
Hi Esteban,

Previously, I was doing with NB something like this:

pointer := NativeBoost allocate: 4.
self��primitiveWhatever:��pointer

and:

primitiveWhatever: pointer
<primitive: #primitiveNativeCall module: #NativeBoostPlugin error: errorCode >
^ self nbCall: #( int void (NBExternalAddress pointer ) )


But of course that doesn't work with latest FFI. So I tried instead:

pointer := ExternalAddress allocate: 4.
primitiveWhatever: pointer
<primitive: #primitiveNativeCall module: #NativeBoostPlugin error: errorCode >
��^ self nbCall: #( int void (ExternalAddress pointer ) )


It looks like if I set "void*" rather than ExternalAddress it does work.
Is this the expected path?

��
But then I get a ExternalAddress class #asExternalTypeOn: ��which is sent in FFICallout >>��resolveType:

Any idea how can I use ExternalAddress in the signature of the FFI primitive call?
What am I doing wrong?


��
Thanks in advance,��


--



--