On 17/04/2016 16:14, Dar Scott wrote:
I'm using LiveCode 8.0.0 RC 1 on the Mac.  I'm tinkering with LiveCode Builder 
to make library extensions.

I want to pass a buffer pointer to a foreign handler, in a hardware vendor 
supplied dynamic library  Then I want to access the bytes/words in that buffer.

What's the best way to do this?

I thought about building up a value of type data of the right length.  Is the 
data value contiguous?  Does it stay in one place?  Is the value allowed to 
change?  I think breaking equality is OK.  How do I get the pointer to the 
underlying first byte?  (MCDataGetBytePtr()?)  Or is a data ref automatically 
converted to pointer as needed?

Or do I need to allocate my own memory?  Are any <builtin> functions are 
available to do this?  How do I get to the bytes after I make the call to the foreign 
function?  (MCMemoryAllocate()?)

If you want a particularly horrible example, check out my wrapper for the poll(2) system call:

https://github.com/peter-b/undergrowth/blob/master/_poll.lcb

I won't claim it's the "best way to do this" but it appears to mostly work!

Is this noise on this list?  Should this question be elsewhere?

No, it's completely on-topic.

                                   Peter

--
Dr Peter Brett <[email protected]>
LiveCode Open Source Team

LiveCode 2016 Conference: https://livecode.com/edinburgh-2016/

_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to