NAME
FFI::Platypus::Type::PointerSizeBuffer - Convert string scalar to a buffer as a pointer / size_t combination
VERSION
version 0.31
SYNOPSIS
In your C code:
void
function_with_buffer(void *pointer, size_t size)
{
...
}
In your Platypus::FFI code:
use FFI::Platypus::Declare
'void',
[ '::PointerSizeBuffer' => 'buffer' ];
attach function_with_buffer => [buffer] => void;
my $string = "content of buffer";
function_with_buffer($string);
DESCRIPTION
A common pattern in C code is to pass in a region of memory as a buffer, consisting of a pointer and a size of the memory region. In Perl, string scalars also point to a contiguous series of bytes that has a size, so when interfacing with C libraries it is handy to be able to pass in a string scalar as a pointer / size buffer pair.
SEE ALSO
- FFI::Platypus
-
Main Platypus documentation.
- FFI::Platypus::Declare
-
Declarative interface for Platypus.
- FFI::Platypus::Type
-
Platypus types documentation.
AUTHOR
Author: Graham Ollis <plicease@cpan.org>
Contributors:
Bakkiaraj Murugesan (bakkiaraj)
pipcet
Zaki Mughal (zmughal)
COPYRIGHT AND LICENSE
This software is copyright (c) 2015 by Graham Ollis.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.