NAME
Dyn::Callback::Args - dyncall args C API
DESCRIPTION
dyncall args provides serialized access to arguments of a function call.
These functions are used in hand rolled Dyn::Callback systems.
Methods
This package exposes the following functions...
dcbArgBool( $args )
Returns the next value on the stack and assumes it is a bool
.
dcbArgChar( $args )
Returns the next value on the stack and assumes it is a char
.
dcbArgUChar( $args )
Returns the next value on the stack and assumes it is an unsigned char
.
dcbArgShort( $args )
Returns the next value on the stack and assumes it is a short
.
dcbArgUShort( $args )
Returns the next value on the stack and assumes it is a unsigned short
.
dcbArgInt( $args )
Returns the next value on the stack and assumes it is an int
.
dcbArgUInt( $args )
Returns the next value on the stack and assumes it is an unsigned int
.
dcbArgLong( $args )
Returns the next value on the stack and assumes it is a long
.
dcbArgULong( $args )
Returns the next value on the stack and assumes it is a unsigned long
.
dcbArgLongLong( $args )
Returns the next value on the stack and assumes it is a long long
.
dcbArgULongLong( $args )
Returns the next value on the stack and assumes it is an unsigned long long
.
dcbArgFloat( $args )
Returns the next value on the stack and assumes it is a float
.
dcbArgDouble( $args )
Returns the next value on the stack and assumes it is a double
.
dcbArgPointer( $args )
Returns the next value on the stack and assumes it is a pointer (void *
).
dcbArgAggr( $args, $target )
Returns the next value on the stack and assumes it is an aggregate.
For trivial aggrs, $target
points to space to copy the aggregate to, and $target
is returned.
For C++ non-trivial aggrs, $target
is ignored, and a pointer to the aggregate is returned.
dcbArgString( $args )
Returns the next value on the stack and assumes it is a string (const char *
).
dcbReturnAggr( $args, $result, $ret )
This is a helper function to put a to be returned struct-by-value into the $result
param of the callback handler; for C++ non-trivial aggrs, pass undef
in $ret
, then copy the aggregate into $result->p
.
LICENSE
Copyright (C) Sanko Robinson.
This library is free software; you can redistribute it and/or modify it under the terms found in the Artistic License 2. Other copyrights, terms, and conditions may apply to data transmitted through this module.
AUTHOR
Sanko Robinson <sanko@cpan.org>