xref: /onnv-gate/usr/src/cmd/perl/5.8.4/distrib/ext/Devel/PPPort/PPPort.xs (revision 0:68f95e015346)
1 
2 #include "EXTERN.h"
3 #include "perl.h"
4 #include "XSUB.h"
5 
6 #define NEED_newCONSTSUB
7 #include "ppport.h"
8 
9 /* Global Data */
10 
11 #define MY_CXT_KEY "Devel::PPPort::_guts" XS_VERSION
12 
13 typedef struct {
14     /* Put Global Data in here */
15     int dummy;
16 } my_cxt_t;
17 
18 START_MY_CXT
19 
test1(void)20 void test1(void)
21 {
22 	newCONSTSUB(gv_stashpv("Devel::PPPort", FALSE), "test_value_1", newSViv(1));
23 }
24 
25 extern void test2(void);
26 extern void test3(void);
27 
28 MODULE = Devel::PPPort		PACKAGE = Devel::PPPort
29 
30 BOOT:
31 {
32     MY_CXT_INIT;
33     /* If any of the fields in the my_cxt_t struct need
34        to be initialised, do it here.
35      */
36     MY_CXT.dummy = 42 ;
37 }
38 
39 void
test1()40 test1()
41 
42 void
43 test2()
44 
45 void
46 test3()
47 
48 int
49 test4()
50 	CODE:
51 	{
52 		SV * sv = newSViv(1);
53 		newRV_inc(sv);
54 		RETVAL = (SvREFCNT(sv) == 2);
55 	}
56 	OUTPUT:
57 	RETVAL
58 
59 int
test5()60 test5()
61 	CODE:
62 	{
63 		SV * sv = newSViv(2);
64 		newRV_noinc(sv);
65 		RETVAL = (SvREFCNT(sv) == 1);
66 	}
67 	OUTPUT:
68 	RETVAL
69 
70 SV *
test6()71 test6()
72 	CODE:
73 	{
74 		RETVAL = (newSVsv(&PL_sv_undef));
75 	}
76 	OUTPUT:
77 	RETVAL
78 
79 SV *
test7()80 test7()
81 	CODE:
82 	{
83 		RETVAL = (newSVsv(&PL_sv_yes));
84 	}
85 	OUTPUT:
86 	RETVAL
87 
88 SV *
test8()89 test8()
90 	CODE:
91 	{
92 		RETVAL = (newSVsv(&PL_sv_no));
93 	}
94 	OUTPUT:
95 	RETVAL
96 
97 int
test9(string)98 test9(string)
99 	char * string;
100 	CODE:
101 	{
102 		PL_na = strlen(string);
103 		RETVAL = PL_na;
104 	}
105 	OUTPUT:
106 	RETVAL
107 
108 
109 SV*
test10(value)110 test10(value)
111 	int value
112 	CODE:
113 	{
114 		RETVAL = (newSVsv(boolSV(value)));
115 	}
116 	OUTPUT:
117 	RETVAL
118 
119 
120 SV*
test11(string,len)121 test11(string, len)
122 	char * string
123 	int    len
124 	CODE:
125 	{
126 		RETVAL = newSVpvn(string, len);
127 	}
128 	OUTPUT:
129 	RETVAL
130 
131 SV*
test12()132 test12()
133 	CODE:
134 	{
135 		RETVAL = newSVsv(DEFSV);
136 	}
137 	OUTPUT:
138 	RETVAL
139 
140 int
test13()141 test13()
142 	CODE:
143 	{
144 		RETVAL = SvTRUE(ERRSV);
145 	}
146 	OUTPUT:
147 	RETVAL
148 
149 int
test14()150 test14()
151 	CODE:
152 	{
153 		dMY_CXT;
154 		RETVAL = (MY_CXT.dummy == 42);
155 		++ MY_CXT.dummy ;
156 	}
157 	OUTPUT:
158 	RETVAL
159 
160 int
test15()161 test15()
162 	CODE:
163 	{
164 		dMY_CXT;
165 		RETVAL = (MY_CXT.dummy == 43);
166 	}
167 	OUTPUT:
168 	RETVAL
169 
170