- dMARK
-
Declare a stack marker variable, mark, for the XSUB. See MARK
and dORIGMARK.
- dORIGMARK
-
Saves the original stack mark for the XSUB. See ORIGMARK.
- dSP
-
Declares a local copy of perl's stack pointer for the XSUB, available via the SP
macro. See SP.
- EXTEND
-
Used to extend the argument stack for an XSUB's return values. Once used, guarantees
that there is room for at least nitems to be pushed onto the stack.
void EXTEND(SP, int nitems)
|
|
- MARK
-
Stack marker variable for the XSUB. See dMARK.
- ORIGMARK
-
The original stack mark for the XSUB. See dORIGMARK.
- POPi
-
Pops an integer off the stack.
- POPl
-
Pops a long off the stack.
- POPn
-
Pops a double off the stack.
- POPp
-
Pops a string off the stack. Deprecated. New code should provide a STRLEN n_a and use
POPpx.
- POPpbytex
-
Pops a string off the stack which must consist of bytes i.e. characters < 256.
Requires a variable STRLEN n_a in scope.
- POPpx
-
Pops a string off the stack. Requires a variable STRLEN n_a in scope.
- POPs
-
Pops an SV off the stack.
- PUSHi
-
Push an integer onto the stack. The stack must have room for this element. Handles
'set' magic. See XPUSHi.
- PUSHMARK
-
Opening bracket for arguments on a callback. See PUTBACK and perlcall.
- PUSHn
-
Push a double onto the stack. The stack must have room for this element. Handles 'set'
magic. See XPUSHn.
- PUSHp
-
Push a string onto the stack. The stack must have room for this element. The len
indicates the length of the string. Handles 'set' magic. See XPUSHp.
void PUSHp(char* str, STRLEN len)
|
|
- PUSHs
-
Push an SV onto the stack. The stack must have room for this element. Does not handle
'set' magic. See XPUSHs.
- PUSHu
-
Push an unsigned integer onto the stack. The stack must have room for this element. See
XPUSHu.
- PUTBACK
-
Closing bracket for XSUB arguments. This is usually handled by xsubpp. See
PUSHMARK and perlcall
for other uses.
- SP
-
Stack pointer. This is usually handled by xsubpp. See dSP and
SPAGAIN.
- SPAGAIN
-
Refetch the stack pointer. Used after a callback. See perlcall.
- XPUSHi
-
Push an integer onto the stack, extending the stack if necessary. Handles 'set' magic.
See PUSHi.
- XPUSHn
-
Push a double onto the stack, extending the stack if necessary. Handles 'set' magic.
See PUSHn.
- XPUSHp
-
Push a string onto the stack, extending the stack if necessary. The len
indicates the length of the string. Handles 'set' magic. See PUSHp.
void XPUSHp(char* str, STRLEN len)
|
|
- XPUSHs
-
Push an SV onto the stack, extending the stack if necessary. Does not handle 'set'
magic. See PUSHs.
- XPUSHu
-
Push an unsigned integer onto the stack, extending the stack if necessary. See PUSHu.
- XSRETURN
-
Return from XSUB, indicating number of items on the stack. This is usually handled by xsubpp.
void XSRETURN(int nitems)
|
|
- XSRETURN_IV
-
Return an integer from an XSUB immediately. Uses XST_mIV.
- XSRETURN_NO
-
Return &PL_sv_no from an XSUB immediately. Uses XST_mNO.
- XSRETURN_NV
-
Return a double from an XSUB immediately. Uses XST_mNV.
- XSRETURN_PV
-
Return a copy of a string from an XSUB immediately. Uses XST_mPV.
void XSRETURN_PV(char* str)
|
|
- XSRETURN_UNDEF
-
Return &PL_sv_undef from an XSUB immediately. Uses XST_mUNDEF.
- XSRETURN_YES
-
Return &PL_sv_yes from an XSUB immediately. Uses XST_mYES.
- XST_mIV
-
Place an integer into the specified position pos on the stack. The value
is stored in a new mortal SV.
void XST_mIV(int pos, IV iv)
|
|
- XST_mNO
-
Place &PL_sv_no into the specified position pos on the
stack.
- XST_mNV
-
Place a double into the specified position pos on the stack. The value is
stored in a new mortal SV.
void XST_mNV(int pos, NV nv)
|
|
- XST_mPV
-
Place a copy of a string into the specified position pos on the stack. The
value is stored in a new mortal SV.
void XST_mPV(int pos, char* str)
|
|
- XST_mUNDEF
-
Place &PL_sv_undef into the specified position pos on the
stack.
- XST_mYES
-
Place &PL_sv_yes into the specified position pos on the
stack.