```{index} single: ffi_alloc; Peta::FFI function ``` ```{index} single: Peta::FFI::ffi_alloc; Perl function ``` # ffi_alloc Allocate `$len` zeroed bytes of C memory; returns the address. ## Synopsis ```perl my $out = Peta::FFI::alloc(8); # e.g. a sqlite3** out-param cell Peta::FFI::call($lib, "sqlite3_open", "(po)i", ":memory:", $out); my $db = Peta::FFI::unpack_ptr(Peta::FFI::peek($out, 8)); Peta::FFI::free($out); ``` ## What you get back The address of a zeroed `calloc` block, as an integer for `o` arguments. The caller owns it: every `alloc` needs a matching `free`. A `$len` of `0` still returns a valid 1-byte allocation.