Name
C_constant
Synopsis
C_constantpackage,subname,default_type,types,indent,breakout, item ...
Returns a list of C subroutine definitions that return the
value and type of constants when passed the name by the XS
wrapper. item... gives a list of
constant names. These can be strings, which are taken as a C macro
name, or references to a hash with the following keys:
nameThe name of the constant, as seen by the Perl code.
typeThe type of the constant (
IV,NV, etc.).valueA C expression for the value of the constant, or a list of C expressions if the type is aggregate. Defaults to
nameif not given.macroThe C preprocessor macro to use in the
#ifdef. Defaults tonameand is primarily used ifvalueis anenum. If a reference or an array is passed, then the first element is used in place of the#ifdefline, and the second element is used in place of the#endif. This allows preprocessor constructions such as:#if defined (foo) #if !defined (bar) ... #endif #endif
which are used to determine if a constant will be defined.
A
macroof1signals that the constant is always defined, so the#if/#endiftest is omitted.defaultDefault value to use (instead of
croaking with “your vendor has not defined . . . ) if the macro isn’t defined. Specifies a reference to an array with type followed by value(s).preC code to use before the assignment of the value of the constant. This allows you to use temporary variables to extract a value from part of a
structand return this asvalue. This C code is placed ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access