NAME
Ouroboros::Spec - Ouroboros API specification
DESCRIPTION
This package contains a single global variable, %SPEC
that describes API provided by the Ouroboros package. Each key in this hash corresponds to a certain item type described below, and values are all arrayrefs of hashrefs.
CONTENTS
Constants
$SPEC
{const} = [ {
name
=>
"..."
}, ... ];
A list of supported numeric constants.
Keys
- name
-
Constant name.
- c_type
-
Actual C type.
- perl_type
-
Perl scalar variant used to export the constant value to Perl. One of: "IV" or "UV".
Enum values
$SPEC
{enum} = [ {
name
=>
"..."
}, ... ];
A list of supported enum values. This is a separate list due to nuance of ExtUtils::Constant
implementation.
Keys
- name
-
Enum value name.
- c_type
-
Actual C name of the enum.
- perl_type
-
Perl scalar variant used to export the constant value to Perl. One of: "IV" or "UV".
Functions
$SPEC
{fn} = [ {
name
=>
"..."
, ... }, ... ];
Keys
- name
-
Name of the C function.
- ptr_name
-
Name of the pointer getter in Ouroboros package.
- c_decl
-
C header declaration.
- type
-
Return type of the function.
- params
-
Arrayref containing C types of each of function argument, excluding
pTHX
argument present by default (but seeno_pthx
tag below). -
Additional metadata about the function.
Type sizes
$SPEC
{sizeof} => [ {
type
=>
"..."
}, ... ];
A list of types available via %SIZE_OF hash in Ouroboros package.