10 unsigned char T_U_CHAR
21 unsigned long * T_OPAQUEPTR
57 #############################################################################
63 $var = (SV*)SvRV($arg);
65 Perl_croak(aTHX_ \"$var is not a reference\")
67 if (SvROK($arg) && SvTYPE(SvRV($arg))==SVt_PVAV)
68 $var = (AV*)SvRV($arg);
70 Perl_croak(aTHX_ \"$var is not an array reference\")
72 if (SvROK($arg) && SvTYPE(SvRV($arg))==SVt_PVHV)
73 $var = (HV*)SvRV($arg);
75 Perl_croak(aTHX_ \"$var is not a hash reference\")
77 if (SvROK($arg) && SvTYPE(SvRV($arg))==SVt_PVCV)
78 $var = (CV*)SvRV($arg);
80 Perl_croak(aTHX_ \"$var is not a code reference\")
84 $var = ($type)SvUV($arg)
86 $var = ($type)SvIV($arg)
88 $var = (int)SvIV($arg)
90 $var = ($type)SvIV($arg)
92 $var = (bool)SvTRUE($arg)
94 $var = (unsigned int)SvUV($arg)
96 $var = (short)SvIV($arg)
98 $var = (unsigned short)SvUV($arg)
100 $var = (long)SvIV($arg)
102 $var = (unsigned long)SvUV($arg)
104 $var = (char)*SvPV_nolen($arg)
106 $var = (unsigned char)SvUV($arg)
108 $var = (float)SvNV($arg)
110 $var = ($type)SvNV($arg)
112 $var = (double)SvNV($arg)
114 $var = ($type)SvPV_nolen($arg)
116 $var = INT2PTR($type,SvIV($arg))
119 IV tmp = SvIV((SV*)SvRV($arg));
120 $var = INT2PTR($type,tmp);
123 Perl_croak(aTHX_ \"$var is not a reference\")
125 if (sv_isa($arg, \"${ntype}\")) {
126 IV tmp = SvIV((SV*)SvRV($arg));
127 $var = *INT2PTR($type *, tmp);
130 Perl_croak(aTHX_ \"$var is not of type ${ntype}\")
132 if (sv_isa($arg, \"${ntype}\")) {
133 IV tmp = SvIV((SV*)SvRV($arg));
134 $var = INT2PTR($type, tmp);
137 Perl_croak(aTHX_ \"$var is not of type ${ntype}\")
139 if (sv_derived_from($arg, \"${ntype}\")) {
140 IV tmp = SvIV((SV*)SvRV($arg));
141 $var = INT2PTR($type,tmp);
144 Perl_croak(aTHX_ \"$var is not of type ${ntype}\")
146 if (sv_isa($arg, \"${ntype}\")) {
147 IV tmp = SvIV((SV*)SvRV($arg));
148 ${type}_desc = (\U${type}_DESC\E*) tmp;
149 $var = ${type}_desc->ptr;
152 Perl_croak(aTHX_ \"$var is not of type ${ntype}\")
155 IV tmp = SvIV((SV*)SvRV($arg));
156 $var = *INT2PTR($type,tmp);
159 Perl_croak(aTHX_ \"$var is not a reference\")
161 if (sv_isa($arg, \"${ntype}\")) {
162 IV tmp = SvIV((SV*)SvRV($arg));
163 $var = *INT2PTR($type,tmp);
166 Perl_croak(aTHX_ \"$var is not of type ${ntype}\")
168 $var = *($type *)SvPV_nolen($arg)
170 $var = ($type)SvPV_nolen($arg)
172 $var = XS_unpack_$ntype($arg)
174 $var = XS_unpack_$ntype($arg)
176 $var = make_perl_cb_$type($arg)
178 U32 ix_$var = $argoff;
179 $var = $ntype(items -= $argoff);
184 /* this is the number of elements in the array */
187 $var = PerlIO_findFILE(IoIFP(sv_2io($arg)))
189 $var = IoIFP(sv_2io($arg))
191 $var = IoIFP(sv_2io($arg))
193 $var = IoOFP(sv_2io($arg))
194 #############################################################################
199 $arg = newRV((SV*)$var);
201 $arg = newRV((SV*)$var);
203 $arg = newRV((SV*)$var);
205 $arg = newRV((SV*)$var);
207 sv_setiv($arg, (IV)$var);
209 sv_setuv($arg, (UV)$var);
211 sv_setiv($arg, (IV)$var);
215 sv_setpvn($arg, "0 but true", 10);
217 sv_setiv($arg, (IV)$var);
220 sv_setiv($arg, (IV)$var);
224 sv_setuv($arg, (UV)$var);
226 sv_setiv($arg, (IV)$var);
228 sv_setuv($arg, (UV)$var);
230 sv_setiv($arg, (IV)$var);
232 sv_setuv($arg, (UV)$var);
234 sv_setpvn($arg, (char *)&$var, 1);
236 sv_setuv($arg, (UV)$var);
238 sv_setnv($arg, (double)$var);
240 sv_setnv($arg, (NV)$var);
242 sv_setnv($arg, (double)$var);
244 sv_setpv((SV*)$arg, $var);
246 sv_setiv($arg, PTR2IV($var));
248 sv_setref_pv($arg, Nullch, (void*)$var);
250 sv_setref_pv($arg, \"${ntype}\", (void*)new $ntype($var));
252 sv_setref_pv($arg, \"${ntype}\", (void*)$var);
254 sv_setref_pv($arg, \"${ntype}\", (void*)$var);
256 sv_setref_pv($arg, \"${ntype}\", (void*)new\U${type}_DESC\E($var));
262 sv_setpvn($arg, (char *)&$var, sizeof($var));
264 sv_setpvn($arg, (char *)$var, sizeof(*$var));
266 XS_pack_$ntype($arg, $var);
268 XS_pack_$ntype($arg, $var, count_$ntype);
270 sv_setpvn($arg, $var.chp(), $var.size());
272 sv_setpvn($arg, $var.context.value().chp(),
273 $var.context.value().size());
277 EXTEND(SP,size_$var);
278 for (ix_$var = 0; ix_$var < size_$var; ix_$var++) {
279 ST(ix_$var) = sv_newmortal();
285 GV *gv = (GV *)sv_newmortal();
286 PerlIO *fp = PerlIO_importFILE($var,0);
287 gv_init(gv, gv_stashpv("$Package",1),"__ANONIO__",10,0);
288 if ( fp && do_open(gv, "+<&", 3, FALSE, 0, 0, fp) )
289 sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1)));
295 GV *gv = (GV *)sv_newmortal();
296 gv_init(gv, gv_stashpv("$Package",1),"__ANONIO__",10,0);
297 if ( do_open(gv, "<&", 2, FALSE, 0, 0, $var) )
298 sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1)));
304 GV *gv = (GV *)sv_newmortal();
305 gv_init(gv, gv_stashpv("$Package",1),"__ANONIO__",10,0);
306 if ( do_open(gv, "+<&", 3, FALSE, 0, 0, $var) )
307 sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1)));
313 GV *gv = (GV *)sv_newmortal();
314 gv_init(gv, gv_stashpv("$Package",1),"__ANONIO__",10,0);
315 if ( do_open(gv, "+>&", 3, FALSE, 0, 0, $var) )
316 sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1)));