Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / tools / perl-5.8.0 / man / man3 / Devel::PPPort.3
CommitLineData
86530b38
AT
1.\" Automatically generated by Pod::Man v1.34, Pod::Parser v1.13
2.\"
3.\" Standard preamble:
4.\" ========================================================================
5.de Sh \" Subsection heading
6.br
7.if t .Sp
8.ne 5
9.PP
10\fB\\$1\fR
11.PP
12..
13.de Sp \" Vertical space (when we can't use .PP)
14.if t .sp .5v
15.if n .sp
16..
17.de Vb \" Begin verbatim text
18.ft CW
19.nf
20.ne \\$1
21..
22.de Ve \" End verbatim text
23.ft R
24.fi
25..
26.\" Set up some character translations and predefined strings. \*(-- will
27.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28.\" double quote, and \*(R" will give a right double quote. | will give a
29.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
30.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
31.\" expand to `' in nroff, nothing in troff, for use with C<>.
32.tr \(*W-|\(bv\*(Tr
33.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34.ie n \{\
35. ds -- \(*W-
36. ds PI pi
37. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
39. ds L" ""
40. ds R" ""
41. ds C` ""
42. ds C' ""
43'br\}
44.el\{\
45. ds -- \|\(em\|
46. ds PI \(*p
47. ds L" ``
48. ds R" ''
49'br\}
50.\"
51.\" If the F register is turned on, we'll generate index entries on stderr for
52.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53.\" entries marked with X<> in POD. Of course, you'll have to process the
54.\" output yourself in some meaningful fashion.
55.if \nF \{\
56. de IX
57. tm Index:\\$1\t\\n%\t"\\$2"
58..
59. nr % 0
60. rr F
61.\}
62.\"
63.\" For nroff, turn off justification. Always turn off hyphenation; it makes
64.\" way too many mistakes in technical documents.
65.hy 0
66.if n .na
67.\"
68.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69.\" Fear. Run. Save yourself. No user-serviceable parts.
70. \" fudge factors for nroff and troff
71.if n \{\
72. ds #H 0
73. ds #V .8m
74. ds #F .3m
75. ds #[ \f1
76. ds #] \fP
77.\}
78.if t \{\
79. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
80. ds #V .6m
81. ds #F 0
82. ds #[ \&
83. ds #] \&
84.\}
85. \" simple accents for nroff and troff
86.if n \{\
87. ds ' \&
88. ds ` \&
89. ds ^ \&
90. ds , \&
91. ds ~ ~
92. ds /
93.\}
94.if t \{\
95. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
101.\}
102. \" troff and (daisy-wheel) nroff accents
103.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110.ds ae a\h'-(\w'a'u*4/10)'e
111.ds Ae A\h'-(\w'A'u*4/10)'E
112. \" corrections for vroff
113.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115. \" for low resolution devices (crt and lpr)
116.if \n(.H>23 .if \n(.V>19 \
117\{\
118. ds : e
119. ds 8 ss
120. ds o a
121. ds d- d\h'-1'\(ga
122. ds D- D\h'-1'\(hy
123. ds th \o'bp'
124. ds Th \o'LP'
125. ds ae ae
126. ds Ae AE
127.\}
128.rm #[ #] #H #V #F C
129.\" ========================================================================
130.\"
131.IX Title "Devel::PPPort 3"
132.TH Devel::PPPort 3 "2002-06-01" "perl v5.8.0" "Perl Programmers Reference Guide"
133.SH "NAME"
134Perl/Pollution/Portability
135.SH "SYNOPSIS"
136.IX Header "SYNOPSIS"
137.Vb 2
138\& Devel::PPPort::WriteFile() ; # defaults to ./ppport.h
139\& Devel::PPPort::WriteFile('someheader.h') ;
140.Ve
141.SH "DESCRIPTION"
142.IX Header "DESCRIPTION"
143Perl has changed over time, gaining new features, new functions,
144increasing its flexibility, and reducing the impact on the C namespace
145environment (reduced pollution). The header file, typicaly \f(CW\*(C`ppport.h\*(C'\fR,
146written by this module attempts to bring some of the newer Perl
147features to older versions of Perl, so that you can worry less about
148keeping track of old releases, but users can still reap the benefit.
149.PP
150Why you should use \f(CW\*(C`ppport.h\*(C'\fR in modern code: so that your code will work
151with the widest range of Perl interpreters possible, without significant
152additional work.
153.PP
154Why you should attempt older code to fully use \f(CW\*(C`ppport.h\*(C'\fR: because
155the reduced pollution of newer Perl versions is an important thing, so
156important that the old polluting ways of original Perl modules will not be
157supported very far into the future, and your module will almost certainly
158break! By adapting to it now, you'll gained compatibility and a sense of
159having done the electronic ecology some good.
160.PP
161How to use ppport.h: Don't direct the user to download \f(CW\*(C`Devel::PPPort\*(C'\fR,
162and don't make \f(CW\*(C`ppport.h\*(C'\fR optional. Rather, just take the most recent
163copy of \f(CW\*(C`ppport.h\*(C'\fR that you can find (probably in \f(CW\*(C`Devel::PPPort\*(C'\fR
164on \s-1CPAN\s0), copy it into your project, adjust your project to use it,
165and distribute the header along with your module.
166.PP
167\&\f(CW\*(C`Devel::PPPort\*(C'\fR contains a single function, called \f(CW\*(C`WriteFile\*(C'\fR. It's
168purpose is to write a 'C' header file that is used when writing \s-1XS\s0
169modules. The file contains a series of macros that allow \s-1XS\s0 modules to
170be built using older versions of Perl.
171.PP
172This module is used by h2xs to write the file \fIppport.h\fR.
173.Sh "WriteFile"
174.IX Subsection "WriteFile"
175\&\f(CW\*(C`WriteFile\*(C'\fR takes a zero or one parameters. When called with one
176parameter it expects to be passed a filename. When called with no
177parameters, it defults to the filename \f(CW\*(C`./pport.h\*(C'\fR.
178.PP
179The function returns \s-1TRUE\s0 if the file was written successfully. Otherwise
180it returns \s-1FALSE\s0.
181.SH "ppport.h"
182.IX Header "ppport.h"
183The file written by this module, typically \f(CW\*(C`ppport.h\*(C'\fR, provides access
184to the following Perl \s-1API\s0 if not already available (and in some cases [*]
185even if available, access to a fixed interface):
186.PP
187.Vb 68
188\& aMY_CXT
189\& aMY_CXT_
190\& _aMY_CXT
191\& aTHX
192\& aTHX_
193\& AvFILLp
194\& boolSV(b)
195\& DEFSV
196\& dMY_CXT
197\& dMY_CXT_SV
198\& dNOOP
199\& dTHR
200\& dTHX
201\& dTHXa
202\& dTHXoa
203\& ERRSV
204\& gv_stashpvn(str,len,flags)
205\& INT2PTR(type,int)
206\& IVdf
207\& MY_CXT
208\& MY_CXT_INIT
209\& newCONSTSUB(stash,name,sv)
210\& newRV_inc(sv)
211\& newRV_noinc(sv)
212\& newSVpvn(data,len)
213\& NOOP
214\& NV
215\& NVef
216\& NVff
217\& NVgf
218\& PERL_REVISION
219\& PERL_SUBVERSION
220\& PERL_UNUSED_DECL
221\& PERL_UNUSED_DECL
222\& PERL_VERSION
223\& PL_compiling
224\& PL_copline
225\& PL_curcop
226\& PL_curstash
227\& PL_defgv
228\& PL_dirty
229\& PL_hints
230\& PL_na
231\& PL_perldb
232\& PL_rsfp_filters
233\& PL_rsfpv
234\& PL_stdingv
235\& PL_Sv
236\& PL_sv_no
237\& PL_sv_undef
238\& PL_sv_yes
239\& pMY_CXT
240\& pMY_CXT_
241\& _pMY_CXT
242\& pTHX
243\& pTHX_
244\& PTR2IV(ptr)
245\& PTR2NV(ptr)
246\& PTR2ul(ptr)
247\& PTR2UV(ptr)
248\& SAVE_DEFSV
249\& START_MY_CXT
250\& SvPVbyte(sv,lp) [*]
251\& UVof
252\& UVSIZE
253\& UVuf
254\& UVxf
255\& UVXf
256.Ve
257.SH "AUTHOR"
258.IX Header "AUTHOR"
259Version 1.x of Devel::PPPort was written by Kenneth Albanowski.
260.PP
261Version 2.x was ported to the Perl core by Paul Marquess.
262.SH "SEE ALSO"
263.IX Header "SEE ALSO"
264See h2xs.