[ Index ] |
PHP Cross Reference of Unnamed Project |
[Source view] [Print] [Project Stats]
(no description)
File Size: | 2122 lines (74 kb) |
Included or required: | 0 times |
Referenced: | 0 times |
Includes or requires: | 0 files |
arguments(values may be passed back to Perl either by putting them on thePerl stack, or by modifying the arguments supplied from the Perl side.The above is a somewhat simplified view of what really happens. SincePerl allows more flexible calling conventions than C, XSUBs may do muchmore in practice, such as checking input parameters for validity,throwing exceptions (or returning undef/empty list) X-Ref |
No description |
is(function has two parameters; the first is an input parameter and the secondis an output parameter. The function also returns a status value.bool_t rpcb_gettime(const char *host, time_t *timep) X-Ref |
No description |
is(allow the programmer to create a more Perl-like interface to the Cfunction.=head2 The Anatomy of an XSUBThe simplest XSUBs consist of 3 parts: a description of the returnvalue, the name of the XSUB routine and the names of its arguments,and a description of types or formats of the arguments.The following XSUB allows a Perl program to access a C library functioncalled sin() X-Ref |
No description |
will(XSUBs refer to their stack arguments with the macro B<ST(x) X-Ref |
No description |
would(parameters and outgoing return values always begin at ST(0) X-Ref |
No description |
parameters(quotes by the compiler before it is added to the output so anythingwhich should be interpreted literally [mainly C<$>, C<@>, or C<\\>]must be protected with backslashes. The variables $var, $arg,and $type can be used as in typemaps.bool_trpcb_gettime(host,timep) X-Ref |
No description |
has(will be defined in the c file generated by xsubpp in order to register with the overload magic.Since blessed objects are actually stored as RV's, it is usefulto use the typemap features to preprocess parameters and extractthe actual SV stored within the blessed RV. See the sample forT_PTROBJ_SPECIAL below.To use the OVERLOAD: keyword, create an XS function which takesthree input parameters ( or use the c style '...' definition) X-Ref |
No description |
pointer(and C<XSANY.any_dptr> for this C<CV*>. The setter macro is given cv,and the function pointer.The default value is C<XSINTERFACE_FUNC> and C<XSINTERFACE_FUNC_SET>.An INTERFACE keyword with an empty list of functions can be omitted ifINTERFACE_MACRO keyword is used.Suppose that in the previous example functions pointers for multiply() X-Ref |
No description |
using(the function will be called using the THIS-E<gt>method() X-Ref |
No description |
returns(failure. In more complicated cases use CODE: or PPCODE: sections.If many functions use the same failure indication based on the return value,you may want to create a special typedef to handle this situation. Puttypedef int negative_is_failure;near the beginning of XS file, and create an OUTPUT typemap entryfor C<negative_is_failure> which converts negative values to C<undef>, ormaybe croak() X-Ref |
No description |
Generated: Tue Mar 17 22:47:18 2015 | Cross-referenced by PHPXref 0.7.1 |