| [3181] | 1 | /* XSUB.h
|
|---|
| 2 | *
|
|---|
| 3 | * Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999,
|
|---|
| 4 | * 2000, 2001, 2002, 2003, 2004, 2005, 2006 by Larry Wall and others
|
|---|
| 5 | *
|
|---|
| 6 | * You may distribute under the terms of either the GNU General Public
|
|---|
| 7 | * License or the Artistic License, as specified in the README file.
|
|---|
| 8 | *
|
|---|
| 9 | */
|
|---|
| 10 |
|
|---|
| 11 | #ifndef _INC_PERL_XSUB_H
|
|---|
| 12 | #define _INC_PERL_XSUB_H 1
|
|---|
| 13 |
|
|---|
| 14 | /* first, some documentation for xsubpp-generated items */
|
|---|
| 15 |
|
|---|
| 16 | /*
|
|---|
| 17 | =head1 Variables created by C<xsubpp> and C<xsubpp> internal functions
|
|---|
| 18 |
|
|---|
| 19 | =for apidoc Amn|char*|CLASS
|
|---|
| 20 | Variable which is setup by C<xsubpp> to indicate the
|
|---|
| 21 | class name for a C++ XS constructor. This is always a C<char*>. See C<THIS>.
|
|---|
| 22 |
|
|---|
| 23 | =for apidoc Amn|(whatever)|RETVAL
|
|---|
| 24 | Variable which is setup by C<xsubpp> to hold the return value for an
|
|---|
| 25 | XSUB. This is always the proper type for the XSUB. See
|
|---|
| 26 | L<perlxs/"The RETVAL Variable">.
|
|---|
| 27 |
|
|---|
| 28 | =for apidoc Amn|(whatever)|THIS
|
|---|
| 29 | Variable which is setup by C<xsubpp> to designate the object in a C++
|
|---|
| 30 | XSUB. This is always the proper type for the C++ object. See C<CLASS> and
|
|---|
| 31 | L<perlxs/"Using XS With C++">.
|
|---|
| 32 |
|
|---|
| 33 | =for apidoc Amn|I32|ax
|
|---|
| 34 | Variable which is setup by C<xsubpp> to indicate the stack base offset,
|
|---|
| 35 | used by the C<ST>, C<XSprePUSH> and C<XSRETURN> macros. The C<dMARK> macro
|
|---|
| 36 | must be called prior to setup the C<MARK> variable.
|
|---|
| 37 |
|
|---|
| 38 | =for apidoc Amn|I32|items
|
|---|
| 39 | Variable which is setup by C<xsubpp> to indicate the number of
|
|---|
| 40 | items on the stack. See L<perlxs/"Variable-length Parameter Lists">.
|
|---|
| 41 |
|
|---|
| 42 | =for apidoc Amn|I32|ix
|
|---|
| 43 | Variable which is setup by C<xsubpp> to indicate which of an
|
|---|
| 44 | XSUB's aliases was used to invoke it. See L<perlxs/"The ALIAS: Keyword">.
|
|---|
| 45 |
|
|---|
| 46 | =for apidoc Am|SV*|ST|int ix
|
|---|
| 47 | Used to access elements on the XSUB's stack.
|
|---|
| 48 |
|
|---|
| 49 | =for apidoc AmU||XS
|
|---|
| 50 | Macro to declare an XSUB and its C parameter list. This is handled by
|
|---|
| 51 | C<xsubpp>.
|
|---|
| 52 |
|
|---|
| 53 | =for apidoc Ams||dAX
|
|---|
| 54 | Sets up the C<ax> variable.
|
|---|
| 55 | This is usually handled automatically by C<xsubpp> by calling C<dXSARGS>.
|
|---|
| 56 |
|
|---|
| 57 | =for apidoc Ams||dAXMARK
|
|---|
| 58 | Sets up the C<ax> variable and stack marker variable C<mark>.
|
|---|
| 59 | This is usually handled automatically by C<xsubpp> by calling C<dXSARGS>.
|
|---|
| 60 |
|
|---|
| 61 | =for apidoc Ams||dITEMS
|
|---|
| 62 | Sets up the C<items> variable.
|
|---|
| 63 | This is usually handled automatically by C<xsubpp> by calling C<dXSARGS>.
|
|---|
| 64 |
|
|---|
| 65 | =for apidoc Ams||dXSARGS
|
|---|
| |
|---|