File: person.pl

package info (click to toggle)
libffi-platypus-perl 2.10-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,860 kB
  • sloc: perl: 7,388; ansic: 6,862; cpp: 53; sh: 19; makefile: 14
file content (22 lines) | stat: -rw-r--r-- 636 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
use strict;
use warnings;
use FFI::Platypus 2.00;

my $ffi = FFI::Platypus->new(
  api => 2,
  lib => './person.so',
);

$ffi->type( 'opaque' => 'person_t' );

$ffi->attach( person_new =>  ['string','unsigned int'] => 'person_t'       );
$ffi->attach( person_name => ['person_t']              => 'string'       );
$ffi->attach( person_age =>  ['person_t']              => 'unsigned int' );
$ffi->attach( person_free => ['person_t']                                  );

my $person = person_new( 'Roger Frooble Bits', 35 );

print "name = ", person_name($person), "\n";
print "age  = ", person_age($person),  "\n";

person_free($person);