


ext::Devel::PPPortP:e:rPlPPPorrotg(r3apm)mers Reefxetr:e:nDceeveGlu:i:dPePPort::PPPort(3p)


NNAAMMEE
       Devel::PPPort - Perl/Pollution/Portability

SSYYNNOOPPSSIISS
           Devel::PPPort::WriteFile() ; # defaults to ./ppport.h
           Devel::PPPort::WriteFile('someheader.h') ;

DDEESSCCRRIIPPTTIIOONN
       Perl has changed over time, gaining new features, new
       functions, increasing its flexibility, and reducing the
       impact on the C namespace environment (reduced pollution).
       The header file, typicaly "ppport.h", written by this mod-
       ule attempts to bring some of the newer Perl features to
       older versions of Perl, so that you can worry less about
       keeping track of old releases, but users can still reap
       the benefit.

       Why you should use "ppport.h" in modern code: so that your
       code will work with the widest range of Perl interpreters
       possible, without significant additional work.

       Why you should attempt older code to fully use "ppport.h":
       because the reduced pollution of newer Perl versions is an
       important thing, so important that the old polluting ways
       of original Perl modules will not be supported very far
       into the future, and your module will almost certainly
       break! By adapting to it now, you'll gained compatibility
       and a sense of having done the electronic ecology some
       good.

       How to use ppport.h: Don't direct the user to download
       "Devel::PPPort", and don't make "ppport.h" optional.
       Rather, just take the most recent copy of "ppport.h" that
       you can find (probably in "Devel::PPPort" on CPAN), copy
       it into your project, adjust your project to use it, and
       distribute the header along with your module.

       "Devel::PPPort" contains a single function, called "Write-
       File". It's purpose is to write a 'C' header file that is
       used when writing XS modules. The file contains a series
       of macros that allow XS modules to be built using older
       versions of Perl.

       This module is used by h2xs to write the file _p_p_p_o_r_t_._h.

       WWrriitteeFFiillee

       "WriteFile" takes a zero or one parameters. When called
       with one parameter it expects to be passed a filename.
       When called with no parameters, it defults to the filename
       "./pport.h".

       The function returns TRUE if the file was written success-
       fully. Otherwise it returns FALSE.



perl v5.8.2                 2002-11-06                          1





ext::Devel::PPPortP:e:rPlPPPorrotg(r3apm)mers Reefxetr:e:nDceeveGlu:i:dPePPort::PPPort(3p)


ppppppoorrtt..hh
       The file written by this module, typically "ppport.h",
       provides access to the following Perl API if not already
       available (and in some cases [*] even if available, access
       to a fixed interface):




















































perl v5.8.2                 2002-11-06                          2





ext::Devel::PPPortP:e:rPlPPPorrotg(r3apm)mers Reefxetr:e:nDceeveGlu:i:dPePPort::PPPort(3p)


           aMY_CXT
           aMY_CXT_
           _aMY_CXT
           aTHX
           aTHX_
           AvFILLp
           boolSV(b)
           call_argv
           call_method
           call_pv
           call_sv
           DEFSV
           dMY_CXT
           dMY_CXT_SV
           dNOOP
           dTHR
           dTHX
           dTHXa
           dTHXoa
           ERRSV
           get_av
           get_cv
           get_hv
           get_sv
           grok_hex
           grok_oct
           grok_bin
           grok_number
           grok_numeric_radix
           gv_stashpvn(str,len,flags)
           INT2PTR(type,int)
           IVdf
           MY_CXT
           MY_CXT_INIT
           newCONSTSUB(stash,name,sv)
           newRV_inc(sv)
           newRV_noinc(sv)
           newSVpvn(data,len)
           NOOP
           NV
           NVef
           NVff
           NVgf
           PERL_REVISION
           PERL_SUBVERSION
           PERL_UNUSED_DECL
           PERL_VERSION
           PL_compiling
           PL_copline
           PL_curcop
           PL_curstash
           PL_defgv
           PL_dirty
           PL_hints



perl v5.8.2                 2002-11-06                          3





ext::Devel::PPPortP:e:rPlPPPorrotg(r3apm)mers Reefxetr:e:nDceeveGlu:i:dPePPort::PPPort(3p)


           PL_na
           PL_perldb
           PL_rsfp_filters
           PL_rsfpv
           PL_stdingv
           PL_Sv
           PL_sv_no
           PL_sv_undef
           PL_sv_yes
           pMY_CXT
           pMY_CXT_
           _pMY_CXT
           pTHX
           pTHX_
           PTR2IV(ptr)
           PTR2NV(ptr)
           PTR2ul(ptr)
           PTR2UV(ptr)
           SAVE_DEFSV
           START_MY_CXT
           SvPVbyte(sv,lp) [*]
           UVof
           UVSIZE
           UVuf
           UVxf
           UVXf

AAUUTTHHOORR
       Version 1.x of Devel::PPPort was written by Kenneth
       Albanowski.

       Version 2.x was ported to the Perl core by Paul Marquess.

SSEEEE AALLSSOO
       See h2xs.






















perl v5.8.2                 2002-11-06                          4


