NAME
src/pmc/nci.pmc - NCI PMC
DESCRIPTION
The vtable functions for the Native Call Interface, to call native C functions.
Methods
static nci_thunk_t build_func(PARROT_INTERP, PMC *obj, Parrot_NCI_attributes *nci)
Actually build the NCI thunk.
METHOD get_multisig()
Return the MMD signature PMC,
if any or void init()
Initializes the NCI with a void set_pmc_keyed(PMC *key, PMC *p)
void set_pmc_keyed_str(STRING *key, PMC *p)
Call the equivalent void set_pointer_keyed(PMC *key, void *func)
Sets the specified function pointer and signature (void set_pointer_keyed_str(STRING *key, void *func)
Sets the specified function pointer and siganture as described in the string void mark()
Mark any referenced strings and PMCs.
PMC *clone()
Creates and returns a clone of the NCI.
INTVAL defined()
Returns whether the NCI is defined.
opcode_t *invoke(void *next)
Calls the associated C function,
returning INTVAL get_integer()
Returns the function pointer as an integer.
INTVAL get_bool()
Returns the boolean value of the pointer.
METHOD arity()
Return the arity of the NCI (the number of arguments).
PMCNULL
.
NULL
function pointer.
set_pointer*
function.
*key
).
key
.
*next
.
If the invocant is a class,
the PMC arguments are shifted down.
SEE ALSO
docs/pdds/pdd03_calling_conventions.pod.