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. Each item has:

name

Constant name.

Enum values

$SPEC{enum} = [ { name => "..." }, ... ];

A list of supported enum values. This is a separate list due to nuance of ExtUtils::Constant implementation. Each item has:

name

Enum value name.

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 see no_pthx tag below).

tags

Additional metadata about the function.

apidoc

POD string containing additional notes about the item.

no_pthx

When true, indicates that function does not have pTHX as a first argument.

Type sizes

$SPEC{sizeof} => [ { name => "..." }, ... ];

A list of types available via %SIZE_OF hash in Ouroboros package.