diff options
Diffstat (limited to 'contrib/perl5/pod/perlapi.pod')
-rw-r--r-- | contrib/perl5/pod/perlapi.pod | 3546 |
1 files changed, 0 insertions, 3546 deletions
diff --git a/contrib/perl5/pod/perlapi.pod b/contrib/perl5/pod/perlapi.pod deleted file mode 100644 index 67009d0..0000000 --- a/contrib/perl5/pod/perlapi.pod +++ /dev/null @@ -1,3546 +0,0 @@ -=head1 NAME - -perlapi - autogenerated documentation for the perl public API - -=head1 DESCRIPTION - -This file contains the documentation of the perl public API generated by -embed.pl, specifically a listing of functions, macros, flags, and variables -that may be used by extension writers. The interfaces of any functions that -are not listed here are subject to change without notice. For this reason, -blindly using functions listed in proto.h is to be avoided when writing -extensions. - -Note that all Perl API global variables must be referenced with the C<PL_> -prefix. Some macros are provided for compatibility with the older, -unadorned names, but this support may be disabled in a future release. - -The listing is alphabetical, case insensitive. - -=over 8 - -=item AvFILL - -Same as C<av_len()>. Deprecated, use C<av_len()> instead. - - int AvFILL(AV* av) - -=for hackers -Found in file av.h - -=item av_clear - -Clears an array, making it empty. Does not free the memory used by the -array itself. - - void av_clear(AV* ar) - -=for hackers -Found in file av.c - -=item av_delete - -Deletes the element indexed by C<key> from the array. Returns the -deleted element. C<flags> is currently ignored. - - SV* av_delete(AV* ar, I32 key, I32 flags) - -=for hackers -Found in file av.c - -=item av_exists - -Returns true if the element indexed by C<key> has been initialized. - -This relies on the fact that uninitialized array elements are set to -C<&PL_sv_undef>. - - bool av_exists(AV* ar, I32 key) - -=for hackers -Found in file av.c - -=item av_extend - -Pre-extend an array. The C<key> is the index to which the array should be -extended. - - void av_extend(AV* ar, I32 key) - -=for hackers -Found in file av.c - -=item av_fetch - -Returns the SV at the specified index in the array. The C<key> is the -index. If C<lval> is set then the fetch will be part of a store. Check -that the return value is non-null before dereferencing it to a C<SV*>. - -See L<perlguts/"Understanding the Magic of Tied Hashes and Arrays"> for -more information on how to use this function on tied arrays. - - SV** av_fetch(AV* ar, I32 key, I32 lval) - -=for hackers -Found in file av.c - -=item av_fill - -Ensure than an array has a given number of elements, equivalent to -Perl's C<$#array = $fill;>. - - void av_fill(AV* ar, I32 fill) - -=for hackers -Found in file av.c - -=item av_len - -Returns the highest index in the array. Returns -1 if the array is -empty. - - I32 av_len(AV* ar) - -=for hackers -Found in file av.c - -=item av_make - -Creates a new AV and populates it with a list of SVs. The SVs are copied -into the array, so they may be freed after the call to av_make. The new AV -will have a reference count of 1. - - AV* av_make(I32 size, SV** svp) - -=for hackers -Found in file av.c - -=item av_pop - -Pops an SV off the end of the array. Returns C<&PL_sv_undef> if the array -is empty. - - SV* av_pop(AV* ar) - -=for hackers -Found in file av.c - -=item av_push - -Pushes an SV onto the end of the array. The array will grow automatically -to accommodate the addition. - - void av_push(AV* ar, SV* val) - -=for hackers -Found in file av.c - -=item av_shift - -Shifts an SV off the beginning of the array. - - SV* av_shift(AV* ar) - -=for hackers -Found in file av.c - -=item av_store - -Stores an SV in an array. The array index is specified as C<key>. The -return value will be NULL if the operation failed or if the value did not -need to be actually stored within the array (as in the case of tied -arrays). Otherwise it can be dereferenced to get the original C<SV*>. Note -that the caller is responsible for suitably incrementing the reference -count of C<val> before the call, and decrementing it if the function -returned NULL. - -See L<perlguts/"Understanding the Magic of Tied Hashes and Arrays"> for -more information on how to use this function on tied arrays. - - SV** av_store(AV* ar, I32 key, SV* val) - -=for hackers -Found in file av.c - -=item av_undef - -Undefines the array. Frees the memory used by the array itself. - - void av_undef(AV* ar) - -=for hackers -Found in file av.c - -=item av_unshift - -Unshift the given number of C<undef> values onto the beginning of the -array. The array will grow automatically to accommodate the addition. You -must then use C<av_store> to assign values to these new elements. - - void av_unshift(AV* ar, I32 num) - -=for hackers -Found in file av.c - -=item bytes_from_utf8 - -Converts a string C<s> of length C<len> from UTF8 into byte encoding. -Unlike <utf8_to_bytes> but like C<bytes_to_utf8>, returns a pointer to -the newly-created string, and updates C<len> to contain the new -length. Returns the original string if no conversion occurs, C<len> -is unchanged. Do nothing if C<is_utf8> points to 0. Sets C<is_utf8> to -0 if C<s> is converted or contains all 7bit characters. - -NOTE: this function is experimental and may change or be -removed without notice. - - U8* bytes_from_utf8(U8 *s, STRLEN *len, bool *is_utf8) - -=for hackers -Found in file utf8.c - -=item bytes_to_utf8 - -Converts a string C<s> of length C<len> from ASCII into UTF8 encoding. -Returns a pointer to the newly-created string, and sets C<len> to -reflect the new length. - -NOTE: this function is experimental and may change or be -removed without notice. - - U8* bytes_to_utf8(U8 *s, STRLEN *len) - -=for hackers -Found in file utf8.c - -=item call_argv - -Performs a callback to the specified Perl sub. See L<perlcall>. - -NOTE: the perl_ form of this function is deprecated. - - I32 call_argv(const char* sub_name, I32 flags, char** argv) - -=for hackers -Found in file perl.c - -=item call_method - -Performs a callback to the specified Perl method. The blessed object must -be on the stack. See L<perlcall>. - -NOTE: the perl_ form of this function is deprecated. - - I32 call_method(const char* methname, I32 flags) - -=for hackers -Found in file perl.c - -=item call_pv - -Performs a callback to the specified Perl sub. See L<perlcall>. - -NOTE: the perl_ form of this function is deprecated. - - I32 call_pv(const char* sub_name, I32 flags) - -=for hackers -Found in file perl.c - -=item call_sv - -Performs a callback to the Perl sub whose name is in the SV. See -L<perlcall>. - -NOTE: the perl_ form of this function is deprecated. - - I32 call_sv(SV* sv, I32 flags) - -=for hackers -Found in file perl.c - -=item CLASS - -Variable which is setup by C<xsubpp> to indicate the -class name for a C++ XS constructor. This is always a C<char*>. See C<THIS>. - - char* CLASS - -=for hackers -Found in file XSUB.h - -=item Copy - -The XSUB-writer's interface to the C C<memcpy> function. The C<src> is the -source, C<dest> is the destination, C<nitems> is the number of items, and C<type> is -the type. May fail on overlapping copies. See also C<Move>. - - void Copy(void* src, void* dest, int nitems, type) - -=for hackers -Found in file handy.h - -=item croak - -This is the XSUB-writer's interface to Perl's C<die> function. -Normally use this function the same way you use the C C<printf> -function. See C<warn>. - -If you want to throw an exception object, assign the object to -C<$@> and then pass C<Nullch> to croak(): - - errsv = get_sv("@", TRUE); - sv_setsv(errsv, exception_object); - croak(Nullch); - - void croak(const char* pat, ...) - -=for hackers -Found in file util.c - -=item CvSTASH - -Returns the stash of the CV. - - HV* CvSTASH(CV* cv) - -=for hackers -Found in file cv.h - -=item dMARK - -Declare a stack marker variable, C<mark>, for the XSUB. See C<MARK> and -C<dORIGMARK>. - - dMARK; - -=for hackers -Found in file pp.h - -=item dORIGMARK - -Saves the original stack mark for the XSUB. See C<ORIGMARK>. - - dORIGMARK; - -=for hackers -Found in file pp.h - -=item dSP - -Declares a local copy of perl's stack pointer for the XSUB, available via -the C<SP> macro. See C<SP>. - - dSP; - -=for hackers -Found in file pp.h - -=item dXSARGS - -Sets up stack and mark pointers for an XSUB, calling dSP and dMARK. This -is usually handled automatically by C<xsubpp>. Declares the C<items> -variable to indicate the number of items on the stack. - - dXSARGS; - -=for hackers -Found in file XSUB.h - -=item dXSI32 - -Sets up the C<ix> variable for an XSUB which has aliases. This is usually -handled automatically by C<xsubpp>. - - dXSI32; - -=for hackers -Found in file XSUB.h - -=item ENTER - -Opening bracket on a callback. See C<LEAVE> and L<perlcall>. - - ENTER; - -=for hackers -Found in file scope.h - -=item eval_pv - -Tells Perl to C<eval> the given string and return an SV* result. - -NOTE: the perl_ form of this function is deprecated. - - SV* eval_pv(const char* p, I32 croak_on_error) - -=for hackers -Found in file perl.c - -=item eval_sv - -Tells Perl to C<eval> the string in the SV. - -NOTE: the perl_ form of this function is deprecated. - - I32 eval_sv(SV* sv, I32 flags) - -=for hackers -Found in file perl.c - -=item EXTEND - -Used to extend the argument stack for an XSUB's return values. Once -used, guarantees that there is room for at least C<nitems> to be pushed -onto the stack. - - void EXTEND(SP, int nitems) - -=for hackers -Found in file pp.h - -=item fbm_compile - -Analyses the string in order to make fast searches on it using fbm_instr() --- the Boyer-Moore algorithm. - - void fbm_compile(SV* sv, U32 flags) - -=for hackers -Found in file util.c - -=item fbm_instr - -Returns the location of the SV in the string delimited by C<str> and -C<strend>. It returns C<Nullch> if the string can't be found. The C<sv> -does not have to be fbm_compiled, but the search will not be as fast -then. - - char* fbm_instr(unsigned char* big, unsigned char* bigend, SV* littlesv, U32 flags) - -=for hackers -Found in file util.c - -=item FREETMPS - -Closing bracket for temporaries on a callback. See C<SAVETMPS> and -L<perlcall>. - - FREETMPS; - -=for hackers -Found in file scope.h - -=item get_av - -Returns the AV of the specified Perl array. If C<create> is set and the -Perl variable does not exist then it will be created. If C<create> is not -set and the variable does not exist then NULL is returned. - -NOTE: the perl_ form of this function is deprecated. - - AV* get_av(const char* name, I32 create) - -=for hackers -Found in file perl.c - -=item get_cv - -Returns the CV of the specified Perl subroutine. If C<create> is set and -the Perl subroutine does not exist then it will be declared (which has the -same effect as saying C<sub name;>). If C<create> is not set and the -subroutine does not exist then NULL is returned. - -NOTE: the perl_ form of this function is deprecated. - - CV* get_cv(const char* name, I32 create) - -=for hackers -Found in file perl.c - -=item get_hv - -Returns the HV of the specified Perl hash. If C<create> is set and the -Perl variable does not exist then it will be created. If C<create> is not -set and the variable does not exist then NULL is returned. - -NOTE: the perl_ form of this function is deprecated. - - HV* get_hv(const char* name, I32 create) - -=for hackers -Found in file perl.c - -=item get_sv - -Returns the SV of the specified Perl scalar. If C<create> is set and the -Perl variable does not exist then it will be created. If C<create> is not -set and the variable does not exist then NULL is returned. - -NOTE: the perl_ form of this function is deprecated. - - SV* get_sv(const char* name, I32 create) - -=for hackers -Found in file perl.c - -=item GIMME - -A backward-compatible version of C<GIMME_V> which can only return -C<G_SCALAR> or C<G_ARRAY>; in a void context, it returns C<G_SCALAR>. -Deprecated. Use C<GIMME_V> instead. - - U32 GIMME - -=for hackers -Found in file op.h - -=item GIMME_V - -The XSUB-writer's equivalent to Perl's C<wantarray>. Returns C<G_VOID>, -C<G_SCALAR> or C<G_ARRAY> for void, scalar or list context, -respectively. - - U32 GIMME_V - -=for hackers -Found in file op.h - -=item GvSV - -Return the SV from the GV. - - SV* GvSV(GV* gv) - -=for hackers -Found in file gv.h - -=item gv_fetchmeth - -Returns the glob with the given C<name> and a defined subroutine or -C<NULL>. The glob lives in the given C<stash>, or in the stashes -accessible via @ISA and @UNIVERSAL. - -The argument C<level> should be either 0 or -1. If C<level==0>, as a -side-effect creates a glob with the given C<name> in the given C<stash> -which in the case of success contains an alias for the subroutine, and sets -up caching info for this glob. Similarly for all the searched stashes. - -This function grants C<"SUPER"> token as a postfix of the stash name. The -GV returned from C<gv_fetchmeth> may be a method cache entry, which is not -visible to Perl code. So when calling C<call_sv>, you should not use -the GV directly; instead, you should use the method's CV, which can be -obtained from the GV with the C<GvCV> macro. - - GV* gv_fetchmeth(HV* stash, const char* name, STRLEN len, I32 level) - -=for hackers -Found in file gv.c - -=item gv_fetchmethod - -See L<gv_fetchmethod_autoload>. - - GV* gv_fetchmethod(HV* stash, const char* name) - -=for hackers -Found in file gv.c - -=item gv_fetchmethod_autoload - -Returns the glob which contains the subroutine to call to invoke the method -on the C<stash>. In fact in the presence of autoloading this may be the -glob for "AUTOLOAD". In this case the corresponding variable $AUTOLOAD is -already setup. - -The third parameter of C<gv_fetchmethod_autoload> determines whether -AUTOLOAD lookup is performed if the given method is not present: non-zero -means yes, look for AUTOLOAD; zero means no, don't look for AUTOLOAD. -Calling C<gv_fetchmethod> is equivalent to calling C<gv_fetchmethod_autoload> -with a non-zero C<autoload> parameter. - -These functions grant C<"SUPER"> token as a prefix of the method name. Note -that if you want to keep the returned glob for a long time, you need to -check for it being "AUTOLOAD", since at the later time the call may load a -different subroutine due to $AUTOLOAD changing its value. Use the glob -created via a side effect to do this. - -These functions have the same side-effects and as C<gv_fetchmeth> with -C<level==0>. C<name> should be writable if contains C<':'> or C<' -''>. The warning against passing the GV returned by C<gv_fetchmeth> to -C<call_sv> apply equally to these functions. - - GV* gv_fetchmethod_autoload(HV* stash, const char* name, I32 autoload) - -=for hackers -Found in file gv.c - -=item gv_stashpv - -Returns a pointer to the stash for a specified package. C<name> should -be a valid UTF-8 string. If C<create> is set then the package will be -created if it does not already exist. If C<create> is not set and the -package does not exist then NULL is returned. - - HV* gv_stashpv(const char* name, I32 create) - -=for hackers -Found in file gv.c - -=item gv_stashsv - -Returns a pointer to the stash for a specified package, which must be a -valid UTF-8 string. See C<gv_stashpv>. - - HV* gv_stashsv(SV* sv, I32 create) - -=for hackers -Found in file gv.c - -=item G_ARRAY - -Used to indicate list context. See C<GIMME_V>, C<GIMME> and -L<perlcall>. - -=for hackers -Found in file cop.h - -=item G_DISCARD - -Indicates that arguments returned from a callback should be discarded. See -L<perlcall>. - -=for hackers -Found in file cop.h - -=item G_EVAL - -Used to force a Perl C<eval> wrapper around a callback. See -L<perlcall>. - -=for hackers -Found in file cop.h - -=item G_NOARGS - -Indicates that no arguments are being sent to a callback. See -L<perlcall>. - -=for hackers -Found in file cop.h - -=item G_SCALAR - -Used to indicate scalar context. See C<GIMME_V>, C<GIMME>, and -L<perlcall>. - -=for hackers -Found in file cop.h - -=item G_VOID - -Used to indicate void context. See C<GIMME_V> and L<perlcall>. - -=for hackers -Found in file cop.h - -=item HEf_SVKEY - -This flag, used in the length slot of hash entries and magic structures, -specifies the structure contains a C<SV*> pointer where a C<char*> pointer -is to be expected. (For information only--not to be used). - -=for hackers -Found in file hv.h - -=item HeHASH - -Returns the computed hash stored in the hash entry. - - U32 HeHASH(HE* he) - -=for hackers -Found in file hv.h - -=item HeKEY - -Returns the actual pointer stored in the key slot of the hash entry. The -pointer may be either C<char*> or C<SV*>, depending on the value of -C<HeKLEN()>. Can be assigned to. The C<HePV()> or C<HeSVKEY()> macros are -usually preferable for finding the value of a key. - - void* HeKEY(HE* he) - -=for hackers -Found in file hv.h - -=item HeKLEN - -If this is negative, and amounts to C<HEf_SVKEY>, it indicates the entry -holds an C<SV*> key. Otherwise, holds the actual length of the key. Can -be assigned to. The C<HePV()> macro is usually preferable for finding key -lengths. - - STRLEN HeKLEN(HE* he) - -=for hackers -Found in file hv.h - -=item HePV - -Returns the key slot of the hash entry as a C<char*> value, doing any -necessary dereferencing of possibly C<SV*> keys. The length of the string -is placed in C<len> (this is a macro, so do I<not> use C<&len>). If you do -not care about what the length of the key is, you may use the global -variable C<PL_na>, though this is rather less efficient than using a local -variable. Remember though, that hash keys in perl are free to contain -embedded nulls, so using C<strlen()> or similar is not a good way to find -the length of hash keys. This is very similar to the C<SvPV()> macro -described elsewhere in this document. - - char* HePV(HE* he, STRLEN len) - -=for hackers -Found in file hv.h - -=item HeSVKEY - -Returns the key as an C<SV*>, or C<Nullsv> if the hash entry does not -contain an C<SV*> key. - - SV* HeSVKEY(HE* he) - -=for hackers -Found in file hv.h - -=item HeSVKEY_force - -Returns the key as an C<SV*>. Will create and return a temporary mortal -C<SV*> if the hash entry contains only a C<char*> key. - - SV* HeSVKEY_force(HE* he) - -=for hackers -Found in file hv.h - -=item HeSVKEY_set - -Sets the key to a given C<SV*>, taking care to set the appropriate flags to -indicate the presence of an C<SV*> key, and returns the same -C<SV*>. - - SV* HeSVKEY_set(HE* he, SV* sv) - -=for hackers -Found in file hv.h - -=item HeVAL - -Returns the value slot (type C<SV*>) stored in the hash entry. - - SV* HeVAL(HE* he) - -=for hackers -Found in file hv.h - -=item HvNAME - -Returns the package name of a stash. See C<SvSTASH>, C<CvSTASH>. - - char* HvNAME(HV* stash) - -=for hackers -Found in file hv.h - -=item hv_clear - -Clears a hash, making it empty. - - void hv_clear(HV* tb) - -=for hackers -Found in file hv.c - -=item hv_delete - -Deletes a key/value pair in the hash. The value SV is removed from the -hash and returned to the caller. The C<klen> is the length of the key. -The C<flags> value will normally be zero; if set to G_DISCARD then NULL -will be returned. - - SV* hv_delete(HV* tb, const char* key, U32 klen, I32 flags) - -=for hackers -Found in file hv.c - -=item hv_delete_ent - -Deletes a key/value pair in the hash. The value SV is removed from the -hash and returned to the caller. The C<flags> value will normally be zero; -if set to G_DISCARD then NULL will be returned. C<hash> can be a valid -precomputed hash value, or 0 to ask for it to be computed. - - SV* hv_delete_ent(HV* tb, SV* key, I32 flags, U32 hash) - -=for hackers -Found in file hv.c - -=item hv_exists - -Returns a boolean indicating whether the specified hash key exists. The -C<klen> is the length of the key. - - bool hv_exists(HV* tb, const char* key, U32 klen) - -=for hackers -Found in file hv.c - -=item hv_exists_ent - -Returns a boolean indicating whether the specified hash key exists. C<hash> -can be a valid precomputed hash value, or 0 to ask for it to be -computed. - - bool hv_exists_ent(HV* tb, SV* key, U32 hash) - -=for hackers -Found in file hv.c - -=item hv_fetch - -Returns the SV which corresponds to the specified key in the hash. The -C<klen> is the length of the key. If C<lval> is set then the fetch will be -part of a store. Check that the return value is non-null before -dereferencing it to a C<SV*>. - -See L<perlguts/"Understanding the Magic of Tied Hashes and Arrays"> for more -information on how to use this function on tied hashes. - - SV** hv_fetch(HV* tb, const char* key, U32 klen, I32 lval) - -=for hackers -Found in file hv.c - -=item hv_fetch_ent - -Returns the hash entry which corresponds to the specified key in the hash. -C<hash> must be a valid precomputed hash number for the given C<key>, or 0 -if you want the function to compute it. IF C<lval> is set then the fetch -will be part of a store. Make sure the return value is non-null before -accessing it. The return value when C<tb> is a tied hash is a pointer to a -static location, so be sure to make a copy of the structure if you need to -store it somewhere. - -See L<perlguts/"Understanding the Magic of Tied Hashes and Arrays"> for more -information on how to use this function on tied hashes. - - HE* hv_fetch_ent(HV* tb, SV* key, I32 lval, U32 hash) - -=for hackers -Found in file hv.c - -=item hv_iterinit - -Prepares a starting point to traverse a hash table. Returns the number of -keys in the hash (i.e. the same as C<HvKEYS(tb)>). The return value is -currently only meaningful for hashes without tie magic. - -NOTE: Before version 5.004_65, C<hv_iterinit> used to return the number of -hash buckets that happen to be in use. If you still need that esoteric -value, you can get it through the macro C<HvFILL(tb)>. - - I32 hv_iterinit(HV* tb) - -=for hackers -Found in file hv.c - -=item hv_iterkey - -Returns the key from the current position of the hash iterator. See -C<hv_iterinit>. - - char* hv_iterkey(HE* entry, I32* retlen) - -=for hackers -Found in file hv.c - -=item hv_iterkeysv - -Returns the key as an C<SV*> from the current position of the hash -iterator. The return value will always be a mortal copy of the key. Also -see C<hv_iterinit>. - - SV* hv_iterkeysv(HE* entry) - -=for hackers -Found in file hv.c - -=item hv_iternext - -Returns entries from a hash iterator. See C<hv_iterinit>. - - HE* hv_iternext(HV* tb) - -=for hackers -Found in file hv.c - -=item hv_iternextsv - -Performs an C<hv_iternext>, C<hv_iterkey>, and C<hv_iterval> in one -operation. - - SV* hv_iternextsv(HV* hv, char** key, I32* retlen) - -=for hackers -Found in file hv.c - -=item hv_iterval - -Returns the value from the current position of the hash iterator. See -C<hv_iterkey>. - - SV* hv_iterval(HV* tb, HE* entry) - -=for hackers -Found in file hv.c - -=item hv_magic - -Adds magic to a hash. See C<sv_magic>. - - void hv_magic(HV* hv, GV* gv, int how) - -=for hackers -Found in file hv.c - -=item hv_store - -Stores an SV in a hash. The hash key is specified as C<key> and C<klen> is -the length of the key. The C<hash> parameter is the precomputed hash -value; if it is zero then Perl will compute it. The return value will be -NULL if the operation failed or if the value did not need to be actually -stored within the hash (as in the case of tied hashes). Otherwise it can -be dereferenced to get the original C<SV*>. Note that the caller is -responsible for suitably incrementing the reference count of C<val> before -the call, and decrementing it if the function returned NULL. - -See L<perlguts/"Understanding the Magic of Tied Hashes and Arrays"> for more -information on how to use this function on tied hashes. - - SV** hv_store(HV* tb, const char* key, U32 klen, SV* val, U32 hash) - -=for hackers -Found in file hv.c - -=item hv_store_ent - -Stores C<val> in a hash. The hash key is specified as C<key>. The C<hash> -parameter is the precomputed hash value; if it is zero then Perl will -compute it. The return value is the new hash entry so created. It will be -NULL if the operation failed or if the value did not need to be actually -stored within the hash (as in the case of tied hashes). Otherwise the -contents of the return value can be accessed using the C<He???> macros -described here. Note that the caller is responsible for suitably -incrementing the reference count of C<val> before the call, and -decrementing it if the function returned NULL. - -See L<perlguts/"Understanding the Magic of Tied Hashes and Arrays"> for more -information on how to use this function on tied hashes. - - HE* hv_store_ent(HV* tb, SV* key, SV* val, U32 hash) - -=for hackers -Found in file hv.c - -=item hv_undef - -Undefines the hash. - - void hv_undef(HV* tb) - -=for hackers -Found in file hv.c - -=item isALNUM - -Returns a boolean indicating whether the C C<char> is an ASCII alphanumeric -character (including underscore) or digit. - - bool isALNUM(char ch) - -=for hackers -Found in file handy.h - -=item isALPHA - -Returns a boolean indicating whether the C C<char> is an ASCII alphabetic -character. - - bool isALPHA(char ch) - -=for hackers -Found in file handy.h - -=item isDIGIT - -Returns a boolean indicating whether the C C<char> is an ASCII -digit. - - bool isDIGIT(char ch) - -=for hackers -Found in file handy.h - -=item isLOWER - -Returns a boolean indicating whether the C C<char> is a lowercase -character. - - bool isLOWER(char ch) - -=for hackers -Found in file handy.h - -=item isSPACE - -Returns a boolean indicating whether the C C<char> is whitespace. - - bool isSPACE(char ch) - -=for hackers -Found in file handy.h - -=item isUPPER - -Returns a boolean indicating whether the C C<char> is an uppercase -character. - - bool isUPPER(char ch) - -=for hackers -Found in file handy.h - -=item is_utf8_char - -Tests if some arbitrary number of bytes begins in a valid UTF-8 character. -The actual number of bytes in the UTF-8 character will be returned if it -is valid, otherwise 0. - - STRLEN is_utf8_char(U8 *p) - -=for hackers -Found in file utf8.c - -=item is_utf8_string - -Returns true if first C<len> bytes of the given string form valid a UTF8 -string, false otherwise. - - bool is_utf8_string(U8 *s, STRLEN len) - -=for hackers -Found in file utf8.c - -=item items - -Variable which is setup by C<xsubpp> to indicate the number of -items on the stack. See L<perlxs/"Variable-length Parameter Lists">. - - I32 items - -=for hackers -Found in file XSUB.h - -=item ix - -Variable which is setup by C<xsubpp> to indicate which of an -XSUB's aliases was used to invoke it. See L<perlxs/"The ALIAS: Keyword">. - - I32 ix - -=for hackers -Found in file XSUB.h - -=item LEAVE - -Closing bracket on a callback. See C<ENTER> and L<perlcall>. - - LEAVE; - -=for hackers -Found in file scope.h - -=item looks_like_number - -Test if an the content of an SV looks like a number (or is a -number). - - I32 looks_like_number(SV* sv) - -=for hackers -Found in file sv.c - -=item MARK - -Stack marker variable for the XSUB. See C<dMARK>. - -=for hackers -Found in file pp.h - -=item mg_clear - -Clear something magical that the SV represents. See C<sv_magic>. - - int mg_clear(SV* sv) - -=for hackers -Found in file mg.c - -=item mg_copy - -Copies the magic from one SV to another. See C<sv_magic>. - - int mg_copy(SV* sv, SV* nsv, const char* key, I32 klen) - -=for hackers -Found in file mg.c - -=item mg_find - -Finds the magic pointer for type matching the SV. See C<sv_magic>. - - MAGIC* mg_find(SV* sv, int type) - -=for hackers -Found in file mg.c - -=item mg_free - -Free any magic storage used by the SV. See C<sv_magic>. - - int mg_free(SV* sv) - -=for hackers -Found in file mg.c - -=item mg_get - -Do magic after a value is retrieved from the SV. See C<sv_magic>. - - int mg_get(SV* sv) - -=for hackers -Found in file mg.c - -=item mg_length - -Report on the SV's length. See C<sv_magic>. - - U32 mg_length(SV* sv) - -=for hackers -Found in file mg.c - -=item mg_magical - -Turns on the magical status of an SV. See C<sv_magic>. - - void mg_magical(SV* sv) - -=for hackers -Found in file mg.c - -=item mg_set - -Do magic after a value is assigned to the SV. See C<sv_magic>. - - int mg_set(SV* sv) - -=for hackers -Found in file mg.c - -=item Move - -The XSUB-writer's interface to the C C<memmove> function. The C<src> is the -source, C<dest> is the destination, C<nitems> is the number of items, and C<type> is -the type. Can do overlapping moves. See also C<Copy>. - - void Move(void* src, void* dest, int nitems, type) - -=for hackers -Found in file handy.h - -=item New - -The XSUB-writer's interface to the C C<malloc> function. - - void New(int id, void* ptr, int nitems, type) - -=for hackers -Found in file handy.h - -=item newAV - -Creates a new AV. The reference count is set to 1. - - AV* newAV() - -=for hackers -Found in file av.c - -=item Newc - -The XSUB-writer's interface to the C C<malloc> function, with -cast. - - void Newc(int id, void* ptr, int nitems, type, cast) - -=for hackers -Found in file handy.h - -=item newCONSTSUB - -Creates a constant sub equivalent to Perl C<sub FOO () { 123 }> which is -eligible for inlining at compile-time. - - void newCONSTSUB(HV* stash, char* name, SV* sv) - -=for hackers -Found in file op.c - -=item newHV - -Creates a new HV. The reference count is set to 1. - - HV* newHV() - -=for hackers -Found in file hv.c - -=item newRV_inc - -Creates an RV wrapper for an SV. The reference count for the original SV is -incremented. - - SV* newRV_inc(SV* sv) - -=for hackers -Found in file sv.h - -=item newRV_noinc - -Creates an RV wrapper for an SV. The reference count for the original -SV is B<not> incremented. - - SV* newRV_noinc(SV *sv) - -=for hackers -Found in file sv.c - -=item NEWSV - -Creates a new SV. A non-zero C<len> parameter indicates the number of -bytes of preallocated string space the SV should have. An extra byte for a -tailing NUL is also reserved. (SvPOK is not set for the SV even if string -space is allocated.) The reference count for the new SV is set to 1. -C<id> is an integer id between 0 and 1299 (used to identify leaks). - - SV* NEWSV(int id, STRLEN len) - -=for hackers -Found in file handy.h - -=item newSViv - -Creates a new SV and copies an integer into it. The reference count for the -SV is set to 1. - - SV* newSViv(IV i) - -=for hackers -Found in file sv.c - -=item newSVnv - -Creates a new SV and copies a floating point value into it. -The reference count for the SV is set to 1. - - SV* newSVnv(NV n) - -=for hackers -Found in file sv.c - -=item newSVpv - -Creates a new SV and copies a string into it. The reference count for the -SV is set to 1. If C<len> is zero, Perl will compute the length using -strlen(). For efficiency, consider using C<newSVpvn> instead. - - SV* newSVpv(const char* s, STRLEN len) - -=for hackers -Found in file sv.c - -=item newSVpvf - -Creates a new SV an initialize it with the string formatted like -C<sprintf>. - - SV* newSVpvf(const char* pat, ...) - -=for hackers -Found in file sv.c - -=item newSVpvn - -Creates a new SV and copies a string into it. The reference count for the -SV is set to 1. Note that if C<len> is zero, Perl will create a zero length -string. You are responsible for ensuring that the source string is at least -C<len> bytes long. - - SV* newSVpvn(const char* s, STRLEN len) - -=for hackers -Found in file sv.c - -=item newSVrv - -Creates a new SV for the RV, C<rv>, to point to. If C<rv> is not an RV then -it will be upgraded to one. If C<classname> is non-null then the new SV will -be blessed in the specified package. The new SV is returned and its -reference count is 1. - - SV* newSVrv(SV* rv, const char* classname) - -=for hackers -Found in file sv.c - -=item newSVsv - -Creates a new SV which is an exact duplicate of the original SV. - - SV* newSVsv(SV* old) - -=for hackers -Found in file sv.c - -=item newSVuv - -Creates a new SV and copies an unsigned integer into it. -The reference count for the SV is set to 1. - - SV* newSVuv(UV u) - -=for hackers -Found in file sv.c - -=item newXS - -Used by C<xsubpp> to hook up XSUBs as Perl subs. - -=for hackers -Found in file op.c - -=item newXSproto - -Used by C<xsubpp> to hook up XSUBs as Perl subs. Adds Perl prototypes to -the subs. - -=for hackers -Found in file XSUB.h - -=item Newz - -The XSUB-writer's interface to the C C<malloc> function. The allocated -memory is zeroed with C<memzero>. - - void Newz(int id, void* ptr, int nitems, type) - -=for hackers -Found in file handy.h - -=item Nullav - -Null AV pointer. - -=for hackers -Found in file av.h - -=item Nullch - -Null character pointer. - -=for hackers -Found in file handy.h - -=item Nullcv - -Null CV pointer. - -=for hackers -Found in file cv.h - -=item Nullhv - -Null HV pointer. - -=for hackers -Found in file hv.h - -=item Nullsv - -Null SV pointer. - -=for hackers -Found in file handy.h - -=item ORIGMARK - -The original stack mark for the XSUB. See C<dORIGMARK>. - -=for hackers -Found in file pp.h - -=item perl_alloc - -Allocates a new Perl interpreter. See L<perlembed>. - - PerlInterpreter* perl_alloc() - -=for hackers -Found in file perl.c - -=item perl_construct - -Initializes a new Perl interpreter. See L<perlembed>. - - void perl_construct(PerlInterpreter* interp) - -=for hackers -Found in file perl.c - -=item perl_destruct - -Shuts down a Perl interpreter. See L<perlembed>. - - void perl_destruct(PerlInterpreter* interp) - -=for hackers -Found in file perl.c - -=item perl_free - -Releases a Perl interpreter. See L<perlembed>. - - void perl_free(PerlInterpreter* interp) - -=for hackers -Found in file perl.c - -=item perl_parse - -Tells a Perl interpreter to parse a Perl script. See L<perlembed>. - - int perl_parse(PerlInterpreter* interp, XSINIT_t xsinit, int argc, char** argv, char** env) - -=for hackers -Found in file perl.c - -=item perl_run - -Tells a Perl interpreter to run. See L<perlembed>. - - int perl_run(PerlInterpreter* interp) - -=for hackers -Found in file perl.c - -=item PL_modglobal - -C<PL_modglobal> is a general purpose, interpreter global HV for use by -extensions that need to keep information on a per-interpreter basis. -In a pinch, it can also be used as a symbol table for extensions -to share data among each other. It is a good idea to use keys -prefixed by the package name of the extension that owns the data. - - HV* PL_modglobal - -=for hackers -Found in file intrpvar.h - -=item PL_na - -A convenience variable which is typically used with C<SvPV> when one -doesn't care about the length of the string. It is usually more efficient -to either declare a local variable and use that instead or to use the -C<SvPV_nolen> macro. - - STRLEN PL_na - -=for hackers -Found in file thrdvar.h - -=item PL_sv_no - -This is the C<false> SV. See C<PL_sv_yes>. Always refer to this as -C<&PL_sv_no>. - - SV PL_sv_no - -=for hackers -Found in file intrpvar.h - -=item PL_sv_undef - -This is the C<undef> SV. Always refer to this as C<&PL_sv_undef>. - - SV PL_sv_undef - -=for hackers -Found in file intrpvar.h - -=item PL_sv_yes - -This is the C<true> SV. See C<PL_sv_no>. Always refer to this as -C<&PL_sv_yes>. - - SV PL_sv_yes - -=for hackers -Found in file intrpvar.h - -=item POPi - -Pops an integer off the stack. - - IV POPi - -=for hackers -Found in file pp.h - -=item POPl - -Pops a long off the stack. - - long POPl - -=for hackers -Found in file pp.h - -=item POPn - -Pops a double off the stack. - - NV POPn - -=for hackers -Found in file pp.h - -=item POPp - -Pops a string off the stack. - - char* POPp - -=for hackers -Found in file pp.h - -=item POPs - -Pops an SV off the stack. - - SV* POPs - -=for hackers -Found in file pp.h - -=item PUSHi - -Push an integer onto the stack. The stack must have room for this element. -Handles 'set' magic. See C<XPUSHi>. - - void PUSHi(IV iv) - -=for hackers -Found in file pp.h - -=item PUSHMARK - -Opening bracket for arguments on a callback. See C<PUTBACK> and -L<perlcall>. - - PUSHMARK; - -=for hackers -Found in file pp.h - -=item PUSHn - -Push a double onto the stack. The stack must have room for this element. -Handles 'set' magic. See C<XPUSHn>. - - void PUSHn(NV nv) - -=for hackers -Found in file pp.h - -=item PUSHp - -Push a string onto the stack. The stack must have room for this element. -The C<len> indicates the length of the string. Handles 'set' magic. See -C<XPUSHp>. - - void PUSHp(char* str, STRLEN len) - -=for hackers -Found in file pp.h - -=item PUSHs - -Push an SV onto the stack. The stack must have room for this element. -Does not handle 'set' magic. See C<XPUSHs>. - - void PUSHs(SV* sv) - -=for hackers -Found in file pp.h - -=item PUSHu - -Push an unsigned integer onto the stack. The stack must have room for this -element. See C<XPUSHu>. - - void PUSHu(UV uv) - -=for hackers -Found in file pp.h - -=item PUTBACK - -Closing bracket for XSUB arguments. This is usually handled by C<xsubpp>. -See C<PUSHMARK> and L<perlcall> for other uses. - - PUTBACK; - -=for hackers -Found in file pp.h - -=item Renew - -The XSUB-writer's interface to the C C<realloc> function. - - void Renew(void* ptr, int nitems, type) - -=for hackers -Found in file handy.h - -=item Renewc - -The XSUB-writer's interface to the C C<realloc> function, with -cast. - - void Renewc(void* ptr, int nitems, type, cast) - -=for hackers -Found in file handy.h - -=item require_pv - -Tells Perl to C<require> a module. - -NOTE: the perl_ form of this function is deprecated. - - void require_pv(const char* pv) - -=for hackers -Found in file perl.c - -=item RETVAL - -Variable which is setup by C<xsubpp> to hold the return value for an -XSUB. This is always the proper type for the XSUB. See -L<perlxs/"The RETVAL Variable">. - - (whatever) RETVAL - -=for hackers -Found in file XSUB.h - -=item Safefree - -The XSUB-writer's interface to the C C<free> function. - - void Safefree(void* ptr) - -=for hackers -Found in file handy.h - -=item savepv - -Copy a string to a safe spot. This does not use an SV. - - char* savepv(const char* sv) - -=for hackers -Found in file util.c - -=item savepvn - -Copy a string to a safe spot. The C<len> indicates number of bytes to -copy. This does not use an SV. - - char* savepvn(const char* sv, I32 len) - -=for hackers -Found in file util.c - -=item SAVETMPS - -Opening bracket for temporaries on a callback. See C<FREETMPS> and -L<perlcall>. - - SAVETMPS; - -=for hackers -Found in file scope.h - -=item SP - -Stack pointer. This is usually handled by C<xsubpp>. See C<dSP> and -C<SPAGAIN>. - -=for hackers -Found in file pp.h - -=item SPAGAIN - -Refetch the stack pointer. Used after a callback. See L<perlcall>. - - SPAGAIN; - -=for hackers -Found in file pp.h - -=item ST - -Used to access elements on the XSUB's stack. - - SV* ST(int ix) - -=for hackers -Found in file XSUB.h - -=item strEQ - -Test two strings to see if they are equal. Returns true or false. - - bool strEQ(char* s1, char* s2) - -=for hackers -Found in file handy.h - -=item strGE - -Test two strings to see if the first, C<s1>, is greater than or equal to -the second, C<s2>. Returns true or false. - - bool strGE(char* s1, char* s2) - -=for hackers -Found in file handy.h - -=item strGT - -Test two strings to see if the first, C<s1>, is greater than the second, -C<s2>. Returns true or false. - - bool strGT(char* s1, char* s2) - -=for hackers -Found in file handy.h - -=item strLE - -Test two strings to see if the first, C<s1>, is less than or equal to the -second, C<s2>. Returns true or false. - - bool strLE(char* s1, char* s2) - -=for hackers -Found in file handy.h - -=item strLT - -Test two strings to see if the first, C<s1>, is less than the second, -C<s2>. Returns true or false. - - bool strLT(char* s1, char* s2) - -=for hackers -Found in file handy.h - -=item strNE - -Test two strings to see if they are different. Returns true or -false. - - bool strNE(char* s1, char* s2) - -=for hackers -Found in file handy.h - -=item strnEQ - -Test two strings to see if they are equal. The C<len> parameter indicates -the number of bytes to compare. Returns true or false. (A wrapper for -C<strncmp>). - - bool strnEQ(char* s1, char* s2, STRLEN len) - -=for hackers -Found in file handy.h - -=item strnNE - -Test two strings to see if they are different. The C<len> parameter -indicates the number of bytes to compare. Returns true or false. (A -wrapper for C<strncmp>). - - bool strnNE(char* s1, char* s2, STRLEN len) - -=for hackers -Found in file handy.h - -=item StructCopy - -This is an architecture-independent macro to copy one structure to another. - - void StructCopy(type src, type dest, type) - -=for hackers -Found in file handy.h - -=item SvCUR - -Returns the length of the string which is in the SV. See C<SvLEN>. - - STRLEN SvCUR(SV* sv) - -=for hackers -Found in file sv.h - -=item SvCUR_set - -Set the length of the string which is in the SV. See C<SvCUR>. - - void SvCUR_set(SV* sv, STRLEN len) - -=for hackers -Found in file sv.h - -=item SvEND - -Returns a pointer to the last character in the string which is in the SV. -See C<SvCUR>. Access the character as *(SvEND(sv)). - - char* SvEND(SV* sv) - -=for hackers -Found in file sv.h - -=item SvGETMAGIC - -Invokes C<mg_get> on an SV if it has 'get' magic. This macro evaluates its -argument more than once. - - void SvGETMAGIC(SV* sv) - -=for hackers -Found in file sv.h - -=item SvGROW - -Expands the character buffer in the SV so that it has room for the -indicated number of bytes (remember to reserve space for an extra trailing -NUL character). Calls C<sv_grow> to perform the expansion if necessary. -Returns a pointer to the character buffer. - - void SvGROW(SV* sv, STRLEN len) - -=for hackers -Found in file sv.h - -=item SvIOK - -Returns a boolean indicating whether the SV contains an integer. - - bool SvIOK(SV* sv) - -=for hackers -Found in file sv.h - -=item SvIOKp - -Returns a boolean indicating whether the SV contains an integer. Checks -the B<private> setting. Use C<SvIOK>. - - bool SvIOKp(SV* sv) - -=for hackers -Found in file sv.h - -=item SvIOK_notUV - -Returns a boolean indicating whether the SV contains an signed integer. - - void SvIOK_notUV(SV* sv) - -=for hackers -Found in file sv.h - -=item SvIOK_off - -Unsets the IV status of an SV. - - void SvIOK_off(SV* sv) - -=for hackers -Found in file sv.h - -=item SvIOK_on - -Tells an SV that it is an integer. - - void SvIOK_on(SV* sv) - -=for hackers -Found in file sv.h - -=item SvIOK_only - -Tells an SV that it is an integer and disables all other OK bits. - - void SvIOK_only(SV* sv) - -=for hackers -Found in file sv.h - -=item SvIOK_only_UV - -Tells and SV that it is an unsigned integer and disables all other OK bits. - - void SvIOK_only_UV(SV* sv) - -=for hackers -Found in file sv.h - -=item SvIOK_UV - -Returns a boolean indicating whether the SV contains an unsigned integer. - - void SvIOK_UV(SV* sv) - -=for hackers -Found in file sv.h - -=item SvIV - -Coerces the given SV to an integer and returns it. - - IV SvIV(SV* sv) - -=for hackers -Found in file sv.h - -=item SvIVX - -Returns the integer which is stored in the SV, assuming SvIOK is -true. - - IV SvIVX(SV* sv) - -=for hackers -Found in file sv.h - -=item SvLEN - -Returns the size of the string buffer in the SV, not including any part -attributable to C<SvOOK>. See C<SvCUR>. - - STRLEN SvLEN(SV* sv) - -=for hackers -Found in file sv.h - -=item SvNIOK - -Returns a boolean indicating whether the SV contains a number, integer or -double. - - bool SvNIOK(SV* sv) - -=for hackers -Found in file sv.h - -=item SvNIOKp - -Returns a boolean indicating whether the SV contains a number, integer or -double. Checks the B<private> setting. Use C<SvNIOK>. - - bool SvNIOKp(SV* sv) - -=for hackers -Found in file sv.h - -=item SvNIOK_off - -Unsets the NV/IV status of an SV. - - void SvNIOK_off(SV* sv) - -=for hackers -Found in file sv.h - -=item SvNOK - -Returns a boolean indicating whether the SV contains a double. - - bool SvNOK(SV* sv) - -=for hackers -Found in file sv.h - -=item SvNOKp - -Returns a boolean indicating whether the SV contains a double. Checks the -B<private> setting. Use C<SvNOK>. - - bool SvNOKp(SV* sv) - -=for hackers -Found in file sv.h - -=item SvNOK_off - -Unsets the NV status of an SV. - - void SvNOK_off(SV* sv) - -=for hackers -Found in file sv.h - -=item SvNOK_on - -Tells an SV that it is a double. - - void SvNOK_on(SV* sv) - -=for hackers -Found in file sv.h - -=item SvNOK_only - -Tells an SV that it is a double and disables all other OK bits. - - void SvNOK_only(SV* sv) - -=for hackers -Found in file sv.h - -=item SvNV - -Coerce the given SV to a double and return it. - - NV SvNV(SV* sv) - -=for hackers -Found in file sv.h - -=item SvNVX - -Returns the double which is stored in the SV, assuming SvNOK is -true. - - NV SvNVX(SV* sv) - -=for hackers -Found in file sv.h - -=item SvOK - -Returns a boolean indicating whether the value is an SV. - - bool SvOK(SV* sv) - -=for hackers -Found in file sv.h - -=item SvOOK - -Returns a boolean indicating whether the SvIVX is a valid offset value for -the SvPVX. This hack is used internally to speed up removal of characters -from the beginning of a SvPV. When SvOOK is true, then the start of the -allocated string buffer is really (SvPVX - SvIVX). - - bool SvOOK(SV* sv) - -=for hackers -Found in file sv.h - -=item SvPOK - -Returns a boolean indicating whether the SV contains a character -string. - - bool SvPOK(SV* sv) - -=for hackers -Found in file sv.h - -=item SvPOKp - -Returns a boolean indicating whether the SV contains a character string. -Checks the B<private> setting. Use C<SvPOK>. - - bool SvPOKp(SV* sv) - -=for hackers -Found in file sv.h - -=item SvPOK_off - -Unsets the PV status of an SV. - - void SvPOK_off(SV* sv) - -=for hackers -Found in file sv.h - -=item SvPOK_on - -Tells an SV that it is a string. - - void SvPOK_on(SV* sv) - -=for hackers -Found in file sv.h - -=item SvPOK_only - -Tells an SV that it is a string and disables all other OK bits. - - void SvPOK_only(SV* sv) - -=for hackers -Found in file sv.h - -=item SvPOK_only_UTF8 - -Tells an SV that it is a UTF8 string (do not use frivolously) -and disables all other OK bits. - - void SvPOK_only_UTF8(SV* sv) - -=for hackers -Found in file sv.h - -=item SvPV - -Returns a pointer to the string in the SV, or a stringified form of the SV -if the SV does not contain a string. Handles 'get' magic. - - char* SvPV(SV* sv, STRLEN len) - -=for hackers -Found in file sv.h - -=item SvPVX - -Returns a pointer to the string in the SV. The SV must contain a -string. - - char* SvPVX(SV* sv) - -=for hackers -Found in file sv.h - -=item SvPV_force - -Like <SvPV> but will force the SV into becoming a string (SvPOK). You want -force if you are going to update the SvPVX directly. - - char* SvPV_force(SV* sv, STRLEN len) - -=for hackers -Found in file sv.h - -=item SvPV_nolen - -Returns a pointer to the string in the SV, or a stringified form of the SV -if the SV does not contain a string. Handles 'get' magic. - - char* SvPV_nolen(SV* sv) - -=for hackers -Found in file sv.h - -=item SvREFCNT - -Returns the value of the object's reference count. - - U32 SvREFCNT(SV* sv) - -=for hackers -Found in file sv.h - -=item SvREFCNT_dec - -Decrements the reference count of the given SV. - - void SvREFCNT_dec(SV* sv) - -=for hackers -Found in file sv.h - -=item SvREFCNT_inc - -Increments the reference count of the given SV. - - SV* SvREFCNT_inc(SV* sv) - -=for hackers -Found in file sv.h - -=item SvROK - -Tests if the SV is an RV. - - bool SvROK(SV* sv) - -=for hackers -Found in file sv.h - -=item SvROK_off - -Unsets the RV status of an SV. - - void SvROK_off(SV* sv) - -=for hackers -Found in file sv.h - -=item SvROK_on - -Tells an SV that it is an RV. - - void SvROK_on(SV* sv) - -=for hackers -Found in file sv.h - -=item SvRV - -Dereferences an RV to return the SV. - - SV* SvRV(SV* sv) - -=for hackers -Found in file sv.h - -=item SvSETMAGIC - -Invokes C<mg_set> on an SV if it has 'set' magic. This macro evaluates its -argument more than once. - - void SvSETMAGIC(SV* sv) - -=for hackers -Found in file sv.h - -=item SvSetSV - -Calls C<sv_setsv> if dsv is not the same as ssv. May evaluate arguments -more than once. - - void SvSetSV(SV* dsb, SV* ssv) - -=for hackers -Found in file sv.h - -=item SvSetSV_nosteal - -Calls a non-destructive version of C<sv_setsv> if dsv is not the same as -ssv. May evaluate arguments more than once. - - void SvSetSV_nosteal(SV* dsv, SV* ssv) - -=for hackers -Found in file sv.h - -=item SvSTASH - -Returns the stash of the SV. - - HV* SvSTASH(SV* sv) - -=for hackers -Found in file sv.h - -=item SvTAINT - -Taints an SV if tainting is enabled - - void SvTAINT(SV* sv) - -=for hackers -Found in file sv.h - -=item SvTAINTED - -Checks to see if an SV is tainted. Returns TRUE if it is, FALSE if -not. - - bool SvTAINTED(SV* sv) - -=for hackers -Found in file sv.h - -=item SvTAINTED_off - -Untaints an SV. Be I<very> careful with this routine, as it short-circuits -some of Perl's fundamental security features. XS module authors should not -use this function unless they fully understand all the implications of -unconditionally untainting the value. Untainting should be done in the -standard perl fashion, via a carefully crafted regexp, rather than directly -untainting variables. - - void SvTAINTED_off(SV* sv) - -=for hackers -Found in file sv.h - -=item SvTAINTED_on - -Marks an SV as tainted. - - void SvTAINTED_on(SV* sv) - -=for hackers -Found in file sv.h - -=item SvTRUE - -Returns a boolean indicating whether Perl would evaluate the SV as true or -false, defined or undefined. Does not handle 'get' magic. - - bool SvTRUE(SV* sv) - -=for hackers -Found in file sv.h - -=item svtype - -An enum of flags for Perl types. These are found in the file B<sv.h> -in the C<svtype> enum. Test these flags with the C<SvTYPE> macro. - -=for hackers -Found in file sv.h - -=item SvTYPE - -Returns the type of the SV. See C<svtype>. - - svtype SvTYPE(SV* sv) - -=for hackers -Found in file sv.h - -=item SVt_IV - -Integer type flag for scalars. See C<svtype>. - -=for hackers -Found in file sv.h - -=item SVt_NV - -Double type flag for scalars. See C<svtype>. - -=for hackers -Found in file sv.h - -=item SVt_PV - -Pointer type flag for scalars. See C<svtype>. - -=for hackers -Found in file sv.h - -=item SVt_PVAV - -Type flag for arrays. See C<svtype>. - -=for hackers -Found in file sv.h - -=item SVt_PVCV - -Type flag for code refs. See C<svtype>. - -=for hackers -Found in file sv.h - -=item SVt_PVHV - -Type flag for hashes. See C<svtype>. - -=for hackers -Found in file sv.h - -=item SVt_PVMG - -Type flag for blessed scalars. See C<svtype>. - -=for hackers -Found in file sv.h - -=item SvUPGRADE - -Used to upgrade an SV to a more complex form. Uses C<sv_upgrade> to -perform the upgrade if necessary. See C<svtype>. - - void SvUPGRADE(SV* sv, svtype type) - -=for hackers -Found in file sv.h - -=item SvUTF8 - -Returns a boolean indicating whether the SV contains UTF-8 encoded data. - - void SvUTF8(SV* sv) - -=for hackers -Found in file sv.h - -=item SvUTF8_off - -Unsets the UTF8 status of an SV. - - void SvUTF8_off(SV *sv) - -=for hackers -Found in file sv.h - -=item SvUTF8_on - -Tells an SV that it is a string and encoded in UTF8. Do not use frivolously. - - void SvUTF8_on(SV *sv) - -=for hackers -Found in file sv.h - -=item SvUV - -Coerces the given SV to an unsigned integer and returns it. - - UV SvUV(SV* sv) - -=for hackers -Found in file sv.h - -=item SvUVX - -Returns the unsigned integer which is stored in the SV, assuming SvIOK is -true. - - UV SvUVX(SV* sv) - -=for hackers -Found in file sv.h - -=item sv_2mortal - -Marks an SV as mortal. The SV will be destroyed when the current context -ends. - - SV* sv_2mortal(SV* sv) - -=for hackers -Found in file sv.c - -=item sv_bless - -Blesses an SV into a specified package. The SV must be an RV. The package -must be designated by its stash (see C<gv_stashpv()>). The reference count -of the SV is unaffected. - - SV* sv_bless(SV* sv, HV* stash) - -=for hackers -Found in file sv.c - -=item sv_catpv - -Concatenates the string onto the end of the string which is in the SV. -Handles 'get' magic, but not 'set' magic. See C<sv_catpv_mg>. - - void sv_catpv(SV* sv, const char* ptr) - -=for hackers -Found in file sv.c - -=item sv_catpvf - -Processes its arguments like C<sprintf> and appends the formatted output -to an SV. Handles 'get' magic, but not 'set' magic. C<SvSETMAGIC()> must -typically be called after calling this function to handle 'set' magic. - - void sv_catpvf(SV* sv, const char* pat, ...) - -=for hackers -Found in file sv.c - -=item sv_catpvf_mg - -Like C<sv_catpvf>, but also handles 'set' magic. - - void sv_catpvf_mg(SV *sv, const char* pat, ...) - -=for hackers -Found in file sv.c - -=item sv_catpvn - -Concatenates the string onto the end of the string which is in the SV. The -C<len> indicates number of bytes to copy. Handles 'get' magic, but not -'set' magic. See C<sv_catpvn_mg>. - - void sv_catpvn(SV* sv, const char* ptr, STRLEN len) - -=for hackers -Found in file sv.c - -=item sv_catpvn_mg - -Like C<sv_catpvn>, but also handles 'set' magic. - - void sv_catpvn_mg(SV *sv, const char *ptr, STRLEN len) - -=for hackers -Found in file sv.c - -=item sv_catpv_mg - -Like C<sv_catpv>, but also handles 'set' magic. - - void sv_catpv_mg(SV *sv, const char *ptr) - -=for hackers -Found in file sv.c - -=item sv_catsv - -Concatenates the string from SV C<ssv> onto the end of the string in -SV C<dsv>. Modifies C<dsv> but not C<ssv>. Handles 'get' magic, but -not 'set' magic. See C<sv_catsv_mg>. - - void sv_catsv(SV* dsv, SV* ssv) - -=for hackers -Found in file sv.c - -=item sv_catsv_mg - -Like C<sv_catsv>, but also handles 'set' magic. - - void sv_catsv_mg(SV *dstr, SV *sstr) - -=for hackers -Found in file sv.c - -=item sv_chop - -Efficient removal of characters from the beginning of the string buffer. -SvPOK(sv) must be true and the C<ptr> must be a pointer to somewhere inside -the string buffer. The C<ptr> becomes the first character of the adjusted -string. - - void sv_chop(SV* sv, char* ptr) - -=for hackers -Found in file sv.c - -=item sv_clear - -Clear an SV, making it empty. Does not free the memory used by the SV -itself. - - void sv_clear(SV* sv) - -=for hackers -Found in file sv.c - -=item sv_cmp - -Compares the strings in two SVs. Returns -1, 0, or 1 indicating whether the -string in C<sv1> is less than, equal to, or greater than the string in -C<sv2>. - - I32 sv_cmp(SV* sv1, SV* sv2) - -=for hackers -Found in file sv.c - -=item sv_cmp_locale - -Compares the strings in two SVs in a locale-aware manner. See -L</sv_cmp_locale> - - I32 sv_cmp_locale(SV* sv1, SV* sv2) - -=for hackers -Found in file sv.c - -=item sv_dec - -Auto-decrement of the value in the SV. - - void sv_dec(SV* sv) - -=for hackers -Found in file sv.c - -=item sv_derived_from - -Returns a boolean indicating whether the SV is derived from the specified -class. This is the function that implements C<UNIVERSAL::isa>. It works -for class names as well as for objects. - - bool sv_derived_from(SV* sv, const char* name) - -=for hackers -Found in file universal.c - -=item sv_eq - -Returns a boolean indicating whether the strings in the two SVs are -identical. - - I32 sv_eq(SV* sv1, SV* sv2) - -=for hackers -Found in file sv.c - -=item sv_free - -Free the memory used by an SV. - - void sv_free(SV* sv) - -=for hackers -Found in file sv.c - -=item sv_gets - -Get a line from the filehandle and store it into the SV, optionally -appending to the currently-stored string. - - char* sv_gets(SV* sv, PerlIO* fp, I32 append) - -=for hackers -Found in file sv.c - -=item sv_grow - -Expands the character buffer in the SV. This will use C<sv_unref> and will -upgrade the SV to C<SVt_PV>. Returns a pointer to the character buffer. -Use C<SvGROW>. - - char* sv_grow(SV* sv, STRLEN newlen) - -=for hackers -Found in file sv.c - -=item sv_inc - -Auto-increment of the value in the SV. - - void sv_inc(SV* sv) - -=for hackers -Found in file sv.c - -=item sv_insert - -Inserts a string at the specified offset/length within the SV. Similar to -the Perl substr() function. - - void sv_insert(SV* bigsv, STRLEN offset, STRLEN len, char* little, STRLEN littlelen) - -=for hackers -Found in file sv.c - -=item sv_isa - -Returns a boolean indicating whether the SV is blessed into the specified -class. This does not check for subtypes; use C<sv_derived_from> to verify -an inheritance relationship. - - int sv_isa(SV* sv, const char* name) - -=for hackers -Found in file sv.c - -=item sv_isobject - -Returns a boolean indicating whether the SV is an RV pointing to a blessed -object. If the SV is not an RV, or if the object is not blessed, then this -will return false. - - int sv_isobject(SV* sv) - -=for hackers -Found in file sv.c - -=item sv_len - -Returns the length of the string in the SV. See also C<SvCUR>. - - STRLEN sv_len(SV* sv) - -=for hackers -Found in file sv.c - -=item sv_len_utf8 - -Returns the number of characters in the string in an SV, counting wide -UTF8 bytes as a single character. - - STRLEN sv_len_utf8(SV* sv) - -=for hackers -Found in file sv.c - -=item sv_magic - -Adds magic to an SV. - - void sv_magic(SV* sv, SV* obj, int how, const char* name, I32 namlen) - -=for hackers -Found in file sv.c - -=item sv_mortalcopy - -Creates a new SV which is a copy of the original SV. The new SV is marked -as mortal. - - SV* sv_mortalcopy(SV* oldsv) - -=for hackers -Found in file sv.c - -=item sv_newmortal - -Creates a new SV which is mortal. The reference count of the SV is set to 1. - - SV* sv_newmortal() - -=for hackers -Found in file sv.c - -=item sv_pvn_force - -Get a sensible string out of the SV somehow. - - char* sv_pvn_force(SV* sv, STRLEN* lp) - -=for hackers -Found in file sv.c - -=item sv_pvutf8n_force - -Get a sensible UTF8-encoded string out of the SV somehow. See -L</sv_pvn_force>. - - char* sv_pvutf8n_force(SV* sv, STRLEN* lp) - -=for hackers -Found in file sv.c - -=item sv_reftype - -Returns a string describing what the SV is a reference to. - - char* sv_reftype(SV* sv, int ob) - -=for hackers -Found in file sv.c - -=item sv_replace - -Make the first argument a copy of the second, then delete the original. - - void sv_replace(SV* sv, SV* nsv) - -=for hackers -Found in file sv.c - -=item sv_rvweaken - -Weaken a reference. - - SV* sv_rvweaken(SV *sv) - -=for hackers -Found in file sv.c - -=item sv_setiv - -Copies an integer into the given SV. Does not handle 'set' magic. See -C<sv_setiv_mg>. - - void sv_setiv(SV* sv, IV num) - -=for hackers -Found in file sv.c - -=item sv_setiv_mg - -Like C<sv_setiv>, but also handles 'set' magic. - - void sv_setiv_mg(SV *sv, IV i) - -=for hackers -Found in file sv.c - -=item sv_setnv - -Copies a double into the given SV. Does not handle 'set' magic. See -C<sv_setnv_mg>. - - void sv_setnv(SV* sv, NV num) - -=for hackers -Found in file sv.c - -=item sv_setnv_mg - -Like C<sv_setnv>, but also handles 'set' magic. - - void sv_setnv_mg(SV *sv, NV num) - -=for hackers -Found in file sv.c - -=item sv_setpv - -Copies a string into an SV. The string must be null-terminated. Does not -handle 'set' magic. See C<sv_setpv_mg>. - - void sv_setpv(SV* sv, const char* ptr) - -=for hackers -Found in file sv.c - -=item sv_setpvf - -Processes its arguments like C<sprintf> and sets an SV to the formatted -output. Does not handle 'set' magic. See C<sv_setpvf_mg>. - - void sv_setpvf(SV* sv, const char* pat, ...) - -=for hackers -Found in file sv.c - -=item sv_setpvf_mg - -Like C<sv_setpvf>, but also handles 'set' magic. - - void sv_setpvf_mg(SV *sv, const char* pat, ...) - -=for hackers -Found in file sv.c - -=item sv_setpviv - -Copies an integer into the given SV, also updating its string value. -Does not handle 'set' magic. See C<sv_setpviv_mg>. - - void sv_setpviv(SV* sv, IV num) - -=for hackers -Found in file sv.c - -=item sv_setpviv_mg - -Like C<sv_setpviv>, but also handles 'set' magic. - - void sv_setpviv_mg(SV *sv, IV iv) - -=for hackers -Found in file sv.c - -=item sv_setpvn - -Copies a string into an SV. The C<len> parameter indicates the number of -bytes to be copied. Does not handle 'set' magic. See C<sv_setpvn_mg>. - - void sv_setpvn(SV* sv, const char* ptr, STRLEN len) - -=for hackers -Found in file sv.c - -=item sv_setpvn_mg - -Like C<sv_setpvn>, but also handles 'set' magic. - - void sv_setpvn_mg(SV *sv, const char *ptr, STRLEN len) - -=for hackers -Found in file sv.c - -=item sv_setpv_mg - -Like C<sv_setpv>, but also handles 'set' magic. - - void sv_setpv_mg(SV *sv, const char *ptr) - -=for hackers -Found in file sv.c - -=item sv_setref_iv - -Copies an integer into a new SV, optionally blessing the SV. The C<rv> -argument will be upgraded to an RV. That RV will be modified to point to -the new SV. The C<classname> argument indicates the package for the -blessing. Set C<classname> to C<Nullch> to avoid the blessing. The new SV -will be returned and will have a reference count of 1. - - SV* sv_setref_iv(SV* rv, const char* classname, IV iv) - -=for hackers -Found in file sv.c - -=item sv_setref_nv - -Copies a double into a new SV, optionally blessing the SV. The C<rv> -argument will be upgraded to an RV. That RV will be modified to point to -the new SV. The C<classname> argument indicates the package for the -blessing. Set C<classname> to C<Nullch> to avoid the blessing. The new SV -will be returned and will have a reference count of 1. - - SV* sv_setref_nv(SV* rv, const char* classname, NV nv) - -=for hackers -Found in file sv.c - -=item sv_setref_pv - -Copies a pointer into a new SV, optionally blessing the SV. The C<rv> -argument will be upgraded to an RV. That RV will be modified to point to -the new SV. If the C<pv> argument is NULL then C<PL_sv_undef> will be placed -into the SV. The C<classname> argument indicates the package for the -blessing. Set C<classname> to C<Nullch> to avoid the blessing. The new SV -will be returned and will have a reference count of 1. - -Do not use with other Perl types such as HV, AV, SV, CV, because those -objects will become corrupted by the pointer copy process. - -Note that C<sv_setref_pvn> copies the string while this copies the pointer. - - SV* sv_setref_pv(SV* rv, const char* classname, void* pv) - -=for hackers -Found in file sv.c - -=item sv_setref_pvn - -Copies a string into a new SV, optionally blessing the SV. The length of the -string must be specified with C<n>. The C<rv> argument will be upgraded to -an RV. That RV will be modified to point to the new SV. The C<classname> -argument indicates the package for the blessing. Set C<classname> to -C<Nullch> to avoid the blessing. The new SV will be returned and will have -a reference count of 1. - -Note that C<sv_setref_pv> copies the pointer while this copies the string. - - SV* sv_setref_pvn(SV* rv, const char* classname, char* pv, STRLEN n) - -=for hackers -Found in file sv.c - -=item sv_setsv - -Copies the contents of the source SV C<ssv> into the destination SV C<dsv>. -The source SV may be destroyed if it is mortal. Does not handle 'set' -magic. See the macro forms C<SvSetSV>, C<SvSetSV_nosteal> and -C<sv_setsv_mg>. - - void sv_setsv(SV* dsv, SV* ssv) - -=for hackers -Found in file sv.c - -=item sv_setsv_mg - -Like C<sv_setsv>, but also handles 'set' magic. - - void sv_setsv_mg(SV *dstr, SV *sstr) - -=for hackers -Found in file sv.c - -=item sv_setuv - -Copies an unsigned integer into the given SV. Does not handle 'set' magic. -See C<sv_setuv_mg>. - - void sv_setuv(SV* sv, UV num) - -=for hackers -Found in file sv.c - -=item sv_setuv_mg - -Like C<sv_setuv>, but also handles 'set' magic. - - void sv_setuv_mg(SV *sv, UV u) - -=for hackers -Found in file sv.c - -=item sv_true - -Returns true if the SV has a true value by Perl's rules. - - I32 sv_true(SV *sv) - -=for hackers -Found in file sv.c - -=item sv_unmagic - -Removes magic from an SV. - - int sv_unmagic(SV* sv, int type) - -=for hackers -Found in file sv.c - -=item sv_unref - -Unsets the RV status of the SV, and decrements the reference count of -whatever was being referenced by the RV. This can almost be thought of -as a reversal of C<newSVrv>. See C<SvROK_off>. - - void sv_unref(SV* sv) - -=for hackers -Found in file sv.c - -=item sv_upgrade - -Upgrade an SV to a more complex form. Use C<SvUPGRADE>. See -C<svtype>. - - bool sv_upgrade(SV* sv, U32 mt) - -=for hackers -Found in file sv.c - -=item sv_usepvn - -Tells an SV to use C<ptr> to find its string value. Normally the string is -stored inside the SV but sv_usepvn allows the SV to use an outside string. -The C<ptr> should point to memory that was allocated by C<malloc>. The -string length, C<len>, must be supplied. This function will realloc the -memory pointed to by C<ptr>, so that pointer should not be freed or used by -the programmer after giving it to sv_usepvn. Does not handle 'set' magic. -See C<sv_usepvn_mg>. - - void sv_usepvn(SV* sv, char* ptr, STRLEN len) - -=for hackers -Found in file sv.c - -=item sv_usepvn_mg - -Like C<sv_usepvn>, but also handles 'set' magic. - - void sv_usepvn_mg(SV *sv, char *ptr, STRLEN len) - -=for hackers -Found in file sv.c - -=item sv_utf8_downgrade - -Attempt to convert the PV of an SV from UTF8-encoded to byte encoding. -This may not be possible if the PV contains non-byte encoding characters; -if this is the case, either returns false or, if C<fail_ok> is not -true, croaks. - -NOTE: this function is experimental and may change or be -removed without notice. - - bool sv_utf8_downgrade(SV *sv, bool fail_ok) - -=for hackers -Found in file sv.c - -=item sv_utf8_encode - -Convert the PV of an SV to UTF8-encoded, but then turn off the C<SvUTF8> -flag so that it looks like bytes again. Nothing calls this. - -NOTE: this function is experimental and may change or be -removed without notice. - - void sv_utf8_encode(SV *sv) - -=for hackers -Found in file sv.c - -=item sv_utf8_upgrade - -Convert the PV of an SV to its UTF8-encoded form. - -NOTE: this function is experimental and may change or be -removed without notice. - - void sv_utf8_upgrade(SV *sv) - -=for hackers -Found in file sv.c - -=item sv_vcatpvfn - -Processes its arguments like C<vsprintf> and appends the formatted output -to an SV. Uses an array of SVs if the C style variable argument list is -missing (NULL). When running with taint checks enabled, indicates via -C<maybe_tainted> if results are untrustworthy (often due to the use of -locales). - - void sv_vcatpvfn(SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *maybe_tainted) - -=for hackers -Found in file sv.c - -=item sv_vsetpvfn - -Works like C<vcatpvfn> but copies the text into the SV instead of -appending it. - - void sv_vsetpvfn(SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *maybe_tainted) - -=for hackers -Found in file sv.c - -=item THIS - -Variable which is setup by C<xsubpp> to designate the object in a C++ -XSUB. This is always the proper type for the C++ object. See C<CLASS> and -L<perlxs/"Using XS With C++">. - - (whatever) THIS - -=for hackers -Found in file XSUB.h - -=item toLOWER - -Converts the specified character to lowercase. - - char toLOWER(char ch) - -=for hackers -Found in file handy.h - -=item toUPPER - -Converts the specified character to uppercase. - - char toUPPER(char ch) - -=for hackers -Found in file handy.h - -=item utf8_distance - -Returns the number of UTF8 characters between the UTF-8 pointers C<a> -and C<b>. - -WARNING: use only if you *know* that the pointers point inside the -same UTF-8 buffer. - -NOTE: this function is experimental and may change or be -removed without notice. - - IV utf8_distance(U8 *a, U8 *b) - -=for hackers -Found in file utf8.c - -=item utf8_hop - -Return the UTF-8 pointer C<s> displaced by C<off> characters, either -forward or backward. - -WARNING: do not use the following unless you *know* C<off> is within -the UTF-8 data pointed to by C<s> *and* that on entry C<s> is aligned -on the first byte of character or just after the last byte of a character. - -NOTE: this function is experimental and may change or be -removed without notice. - - U8* utf8_hop(U8 *s, I32 off) - -=for hackers -Found in file utf8.c - -=item utf8_length - -Return the length of the UTF-8 char encoded string C<s> in characters. -Stops at C<e> (inclusive). If C<e E<lt> s> or if the scan would end -up past C<e>, croaks. - -NOTE: this function is experimental and may change or be -removed without notice. - - STRLEN utf8_length(U8* s, U8 *e) - -=for hackers -Found in file utf8.c - -=item utf8_to_bytes - -Converts a string C<s> of length C<len> from UTF8 into byte encoding. -Unlike C<bytes_to_utf8>, this over-writes the original string, and -updates len to contain the new length. -Returns zero on failure, setting C<len> to -1. - -NOTE: this function is experimental and may change or be -removed without notice. - - U8* utf8_to_bytes(U8 *s, STRLEN *len) - -=for hackers -Found in file utf8.c - -=item utf8_to_uv - -Returns the character value of the first character in the string C<s> -which is assumed to be in UTF8 encoding and no longer than C<curlen>; -C<retlen> will be set to the length, in bytes, of that character. - -If C<s> does not point to a well-formed UTF8 character, the behaviour -is dependent on the value of C<flags>: if it contains UTF8_CHECK_ONLY, -it is assumed that the caller will raise a warning, and this function -will silently just set C<retlen> to C<-1> and return zero. If the -C<flags> does not contain UTF8_CHECK_ONLY, warnings about -malformations will be given, C<retlen> will be set to the expected -length of the UTF-8 character in bytes, and zero will be returned. - -The C<flags> can also contain various flags to allow deviations from -the strict UTF-8 encoding (see F<utf8.h>). - -NOTE: this function is experimental and may change or be -removed without notice. - - UV utf8_to_uv(U8 *s, STRLEN curlen, STRLEN* retlen, U32 flags) - -=for hackers -Found in file utf8.c - -=item utf8_to_uv_simple - -Returns the character value of the first character in the string C<s> -which is assumed to be in UTF8 encoding; C<retlen> will be set to the -length, in bytes, of that character. - -If C<s> does not point to a well-formed UTF8 character, zero is -returned and retlen is set, if possible, to -1. - -NOTE: this function is experimental and may change or be -removed without notice. - - UV utf8_to_uv_simple(U8 *s, STRLEN* retlen) - -=for hackers -Found in file utf8.c - -=item uv_to_utf8 - -Adds the UTF8 representation of the Unicode codepoint C<uv> to the end -of the string C<d>; C<d> should be have at least C<UTF8_MAXLEN+1> free -bytes available. The return value is the pointer to the byte after the -end of the new character. In other words, - - d = uv_to_utf8(d, uv); - -is the recommended Unicode-aware way of saying - - *(d++) = uv; - -NOTE: this function is experimental and may change or be -removed without notice. - - U8* uv_to_utf8(U8 *d, UV uv) - -=for hackers -Found in file utf8.c - -=item warn - -This is the XSUB-writer's interface to Perl's C<warn> function. Use this -function the same way you use the C C<printf> function. See -C<croak>. - - void warn(const char* pat, ...) - -=for hackers -Found in file util.c - -=item XPUSHi - -Push an integer onto the stack, extending the stack if necessary. Handles -'set' magic. See C<PUSHi>. - - void XPUSHi(IV iv) - -=for hackers -Found in file pp.h - -=item XPUSHn - -Push a double onto the stack, extending the stack if necessary. Handles -'set' magic. See C<PUSHn>. - - void XPUSHn(NV nv) - -=for hackers -Found in file pp.h - -=item XPUSHp - -Push a string onto the stack, extending the stack if necessary. The C<len> -indicates the length of the string. Handles 'set' magic. See -C<PUSHp>. - - void XPUSHp(char* str, STRLEN len) - -=for hackers -Found in file pp.h - -=item XPUSHs - -Push an SV onto the stack, extending the stack if necessary. Does not -handle 'set' magic. See C<PUSHs>. - - void XPUSHs(SV* sv) - -=for hackers -Found in file pp.h - -=item XPUSHu - -Push an unsigned integer onto the stack, extending the stack if necessary. -See C<PUSHu>. - - void XPUSHu(UV uv) - -=for hackers -Found in file pp.h - -=item XS - -Macro to declare an XSUB and its C parameter list. This is handled by -C<xsubpp>. - -=for hackers -Found in file XSUB.h - -=item XSRETURN - -Return from XSUB, indicating number of items on the stack. This is usually -handled by C<xsubpp>. - - void XSRETURN(int nitems) - -=for hackers -Found in file XSUB.h - -=item XSRETURN_EMPTY - -Return an empty list from an XSUB immediately. - - XSRETURN_EMPTY; - -=for hackers -Found in file XSUB.h - -=item XSRETURN_IV - -Return an integer from an XSUB immediately. Uses C<XST_mIV>. - - void XSRETURN_IV(IV iv) - -=for hackers -Found in file XSUB.h - -=item XSRETURN_NO - -Return C<&PL_sv_no> from an XSUB immediately. Uses C<XST_mNO>. - - XSRETURN_NO; - -=for hackers -Found in file XSUB.h - -=item XSRETURN_NV - -Return an double from an XSUB immediately. Uses C<XST_mNV>. - - void XSRETURN_NV(NV nv) - -=for hackers -Found in file XSUB.h - -=item XSRETURN_PV - -Return a copy of a string from an XSUB immediately. Uses C<XST_mPV>. - - void XSRETURN_PV(char* str) - -=for hackers -Found in file XSUB.h - -=item XSRETURN_UNDEF - -Return C<&PL_sv_undef> from an XSUB immediately. Uses C<XST_mUNDEF>. - - XSRETURN_UNDEF; - -=for hackers -Found in file XSUB.h - -=item XSRETURN_YES - -Return C<&PL_sv_yes> from an XSUB immediately. Uses C<XST_mYES>. - - XSRETURN_YES; - -=for hackers -Found in file XSUB.h - -=item XST_mIV - -Place an integer into the specified position C<pos> on the stack. The -value is stored in a new mortal SV. - - void XST_mIV(int pos, IV iv) - -=for hackers -Found in file XSUB.h - -=item XST_mNO - -Place C<&PL_sv_no> into the specified position C<pos> on the -stack. - - void XST_mNO(int pos) - -=for hackers -Found in file XSUB.h - -=item XST_mNV - -Place a double into the specified position C<pos> on the stack. The value -is stored in a new mortal SV. - - void XST_mNV(int pos, NV nv) - -=for hackers -Found in file XSUB.h - -=item XST_mPV - -Place a copy of a string into the specified position C<pos> on the stack. -The value is stored in a new mortal SV. - - void XST_mPV(int pos, char* str) - -=for hackers -Found in file XSUB.h - -=item XST_mUNDEF - -Place C<&PL_sv_undef> into the specified position C<pos> on the -stack. - - void XST_mUNDEF(int pos) - -=for hackers -Found in file XSUB.h - -=item XST_mYES - -Place C<&PL_sv_yes> into the specified position C<pos> on the -stack. - - void XST_mYES(int pos) - -=for hackers -Found in file XSUB.h - -=item XS_VERSION - -The version identifier for an XS module. This is usually -handled automatically by C<ExtUtils::MakeMaker>. See C<XS_VERSION_BOOTCHECK>. - -=for hackers -Found in file XSUB.h - -=item XS_VERSION_BOOTCHECK - -Macro to verify that a PM module's $VERSION variable matches the XS -module's C<XS_VERSION> variable. This is usually handled automatically by -C<xsubpp>. See L<perlxs/"The VERSIONCHECK: Keyword">. - - XS_VERSION_BOOTCHECK; - -=for hackers -Found in file XSUB.h - -=item Zero - -The XSUB-writer's interface to the C C<memzero> function. The C<dest> is the -destination, C<nitems> is the number of items, and C<type> is the type. - - void Zero(void* dest, int nitems, type) - -=for hackers -Found in file handy.h - -=back - -=head1 AUTHORS - -Until May 1997, this document was maintained by Jeff Okamoto -<okamoto@corp.hp.com>. It is now maintained as part of Perl itself. - -With lots of help and suggestions from Dean Roehrich, Malcolm Beattie, -Andreas Koenig, Paul Hudson, Ilya Zakharevich, Paul Marquess, Neil -Bowers, Matthew Green, Tim Bunce, Spider Boardman, Ulrich Pfeifer, -Stephen McCamant, and Gurusamy Sarathy. - -API Listing originally by Dean Roehrich <roehrich@cray.com>. - -Updated to be autogenerated from comments in the source by Benjamin Stuhl. - -=head1 SEE ALSO - -perlguts(1), perlxs(1), perlxstut(1), perlintern(1) - |