FFI::Platypus - Write Perl bindings to non-Perl libraries with FFI. No XS required. River stage two • 34 direct dependents • 45 total dependents

Platypus is a library for creating interfaces to machine code libraries written in languages like C, C++, Fortran, Rust, Pascal. Essentially anything that gets compiled into machine code. This implementation uses "libffi" to accomplish this task. "li...

PLICEASE/FFI-Platypus-0.96 - 19 Aug 2019 22:36:18 GMT

FFI::Platypus::Legacy - Legacy Platypus interfaces River stage two • 34 direct dependents • 45 total dependents

This class is private to FFI::Platypus....

PLICEASE/FFI-Platypus-0.96 - 19 Aug 2019 22:36:18 GMT

FFI::Platypus::Bundle - Bundle foreign code with your Perl module River stage two • 34 direct dependents • 45 total dependents

This document serves as a tutorial for using the new bundling interface provided by FFI::Platypus as of api version 1. It requires FFI::Platypus of at least 1.00. Sometimes when writing FFI bindings you need to include a little C code (or your favori...

PLICEASE/FFI-Platypus-0.96 - 19 Aug 2019 22:36:18 GMT

FFI::Platypus::Legacy::Raw::Platypus - Private class for FFI::Platypus::Legacy::Raw River stage one • 1 direct dependent • 1 total dependent

PLICEASE/FFI-Platypus-Legacy-Raw-0.06 - 03 Mar 2019 13:17:34 GMT

FFI::Platypus::DL - Slightly non-portable interface to libdl River stage two • 34 direct dependents • 45 total dependents

This module provides an interface to libdl, the dynamic loader on UNIX. The underlying interface has always been used by FFI::Platypus, but it wasn't a public interface until version 0.52. The name was changed with that version when it became a publi...

PLICEASE/FFI-Platypus-0.96 - 19 Aug 2019 22:36:18 GMT

FFI::Platypus::API - Platypus arguments and return value API for custom types River stage two • 34 direct dependents • 45 total dependents

NOTE: I added this interface early on to FFI::Platypus, but haven't used it much, generally finding function wrappers to be a more powerful (although possibly not as fast) interface. It has thus not been tested as much as the rest of Platypus. If you...

PLICEASE/FFI-Platypus-0.96 - 19 Aug 2019 22:36:18 GMT

FFI::Platypus::Closure - Platypus closure object River stage two • 34 direct dependents • 45 total dependents

This class represents a Perl code reference that can be called from compiled code. When you create a closure object, you can pass it into any function that expects a function pointer. Care needs to be taken with closures because compiled languages ty...

PLICEASE/FFI-Platypus-0.96 - 19 Aug 2019 22:36:18 GMT

FFI::Platypus::Type - Defining types for FFI::Platypus River stage two • 34 direct dependents • 45 total dependents

This document describes how to define types using FFI::Platypus. Types may be "defined" ahead of time, or simply used when defining or attaching functions. # OO example of defining types use FFI::Platypus; my $ffi = FFI::Platypus->new; $ffi->type('in...

PLICEASE/FFI-Platypus-0.96 - 19 Aug 2019 22:36:18 GMT

FFI::Platypus::Lang - Language specific customizations River stage two • 34 direct dependents • 45 total dependents

This namespace is reserved for language specific customizations of FFI::Platypus. This usually involves providing native type maps. It can also involve computing mangled names. The default language is C, and is defined in FFI::Platypus::Lang::C. This...

PLICEASE/FFI-Platypus-0.96 - 19 Aug 2019 22:36:18 GMT

FFI::Platypus::Record - FFI support for structured records data River stage two • 34 direct dependents • 45 total dependents

[version 0.21] This module provides a mechanism for building classes that can be used to mange structured data records (known as C as "structs" and in some languages as "records"). A structured record is a series of bytes that have structure understo...

PLICEASE/FFI-Platypus-0.96 - 19 Aug 2019 22:36:18 GMT

FFI::Platypus::Memory - Memory functions for FFI River stage two • 34 direct dependents • 45 total dependents

This module provides an interface to common memory functions provided by the standard C library. They may be useful when constructing interfaces to C libraries with FFI. It works mostly with the "opaque" type and it is worth reviewing the section on ...

PLICEASE/FFI-Platypus-0.96 - 19 Aug 2019 22:36:18 GMT

FFI::Platypus::Buffer - Convert scalars to C buffers River stage two • 34 direct dependents • 45 total dependents

A common pattern in C is to pass a "buffer" or region of memory into a function with a pair of arguments, an opaque pointer and the size of the memory region. In Perl the equivalent structure is a scalar containing a string of bytes. This module prov...

PLICEASE/FFI-Platypus-0.96 - 19 Aug 2019 22:36:18 GMT

FFI::Platypus::Declare - Declarative interface to FFI::Platypus River stage two • 34 direct dependents • 45 total dependents

This module is officially discouraged. The idea was to provide a simpler declarative interface without the need of (directly) creating an FFI::Platypus instance. In practice it is almost as complicated and makes it difficult to upgrade to the proper ...

PLICEASE/FFI-Platypus-0.96 - 19 Aug 2019 22:36:18 GMT

FFI::Platypus::Lang::C - Documentation and tools for using Platypus with the C programming language River stage two • 34 direct dependents • 45 total dependents

This module provides some hooks for Platypus to interact with the C programming language. It is generally used by default if you do not specify another foreign programming language with the FFI::Platypus#lang attribute....

PLICEASE/FFI-Platypus-0.96 - 19 Aug 2019 22:36:18 GMT

Alt::FFI::Raw::Platypus - Alternate FFI::Raw implementation powered by FFI::Platypus River stage zero No dependents

This distribution provides an alternative implementation of FFI::Raw that uses FFI::Platypus instead of its own XS code. This may be useful in situations that you want to use modules that rely on FFI::Raw on platforms that are not supported by the or...

PLICEASE/Alt-FFI-Raw-Platypus-0.03 - 16 Feb 2019 23:22:02 GMT

FFI::Platypus::Internal - For internal use only River stage two • 34 direct dependents • 45 total dependents

This module is for internal use only. Do not rely on it having any particular behavior, or even existing in future versions. You have been warned....

PLICEASE/FFI-Platypus-0.96 - 19 Aug 2019 22:36:18 GMT

FFI::Platypus::Constant - Define constants in C space for Perl River stage two • 34 direct dependents • 45 total dependents

The Platypus bundle interface (see FFI::Platypus::Bundle) has an entry point "ffi_pl_bundle_constant" that lets you define constants in Perl space from C. void ffi_pl_bundle_constant(const char *package, ffi_platypus_constant_t *c); The first argumen...

PLICEASE/FFI-Platypus-0.96 - 19 Aug 2019 22:36:18 GMT

FFI::Platypus::Lang::CPP - Documentation and tools for using Platypus with the C++ programming language River stage zero No dependents

This module provides some hooks for Platypus so that C++ names can be mangled for you. It uses the same primitive types as C. This document also documents issues and caveats that I have discovered in my attempts to work with C++ and FFI. This module ...

PLICEASE/FFI-Platypus-Lang-CPP-0.04 - 02 Feb 2015 11:12:08 GMT

FFI::Platypus::Lang::ASM - Documentation and tools for using Platypus with the Assembly River stage two • 34 direct dependents • 45 total dependents

Setting your lang to "ASM" includes no native type aliases, so types like "int" or "unsigned long" will not work. You need to specify instead "sint32" or "sint64". Although intended for use with Assembly it could also be used for other languages if y...

PLICEASE/FFI-Platypus-0.96 - 19 Aug 2019 22:36:18 GMT

FFI::Platypus::Lang::Raw - Types for use with FFI::Platypus::Legacy::Raw River stage one • 1 direct dependent • 1 total dependent

This is a "language" plugin for FFI::Platypus::Legacy::Raw integration. Included are the same types provided by FFI::Platypus::Lang::C, plus the types understood by Raw such as "FFI::Platypus::Legacy::Raw::int()"....

PLICEASE/FFI-Platypus-Legacy-Raw-0.06 - 03 Mar 2019 13:17:34 GMT

97 results (0.035 seconds)