10 unsigned char T_U_CHAR
20 unsigned long * T_OPAQUEPTR
52 #############################################################################
57 if (sv_isa($arg, \"${ntype}\"))
58 $var = (SV*)SvRV($arg);
60 Perl_croak(aTHX_ \"$var is not of type ${ntype}\")
62 if (sv_isa($arg, \"${ntype}\"))
63 $var = (AV*)SvRV($arg);
65 Perl_croak(aTHX_ \"$var is not of type ${ntype}\")
67 if (sv_isa($arg, \"${ntype}\"))
68 $var = (HV*)SvRV($arg);
70 Perl_croak(aTHX_ \"$var is not of type ${ntype}\")
72 if (sv_isa($arg, \"${ntype}\"))
73 $var = (CV*)SvRV($arg);
75 Perl_croak(aTHX_ \"$var is not of type ${ntype}\")
79 $var = ($type)SvUV($arg)
81 $var = ($type)SvIV($arg)
83 $var = (int)SvIV($arg)
85 $var = ($type)SvIV($arg)
87 $var = (int)SvIV($arg)
89 $var = (unsigned int)SvUV($arg)
91 $var = (short)SvIV($arg)
93 $var = (unsigned short)SvUV($arg)
95 $var = (long)SvIV($arg)
97 $var = (unsigned long)SvUV($arg)
99 $var = (char)*SvPV($arg,PL_na)
101 $var = (unsigned char)SvUV($arg)
103 $var = (float)SvNV($arg)
105 $var = ($type)SvNV($arg)
107 $var = (double)SvNV($arg)
109 $var = ($type)SvPV($arg,PL_na)
111 $var = INT2PTR($type,SvIV($arg))
114 IV tmp = SvIV((SV*)SvRV($arg));
115 $var = INT2PTR($type,tmp);
118 Perl_croak(aTHX_ \"$var is not a reference\")
120 if (sv_isa($arg, \"${type}\")) {
121 IV tmp = SvIV((SV*)SvRV($arg));
122 $var = *($type *) tmp;
125 Perl_croak(aTHX_ \"$var is not of type ${ntype}\")
127 if (sv_isa($arg, \"${type}\")) {
128 IV tmp = SvIV((SV*)SvRV($arg));
132 Perl_croak(aTHX_ \"$var is not of type ${ntype}\")
134 if (sv_derived_from($arg, \"${ntype}\")) {
135 IV tmp = SvIV((SV*)SvRV($arg));
136 $var = INT2PTR($type,tmp);
139 Perl_croak(aTHX_ \"$var is not of type ${ntype}\")
141 if (sv_isa($arg, \"${ntype}\")) {
142 IV tmp = SvIV((SV*)SvRV($arg));
143 ${type}_desc = (\U${type}_DESC\E*) tmp;
144 $var = ${type}_desc->ptr;
147 Perl_croak(aTHX_ \"$var is not of type ${ntype}\")
150 IV tmp = SvIV((SV*)SvRV($arg));
151 $var = *INT2PTR($type,tmp);
154 Perl_croak(aTHX_ \"$var is not a reference\")
156 if (sv_isa($arg, \"${ntype}\")) {
157 IV tmp = SvIV((SV*)SvRV($arg));
158 $var = *INT2PTR($type,tmp);
161 Perl_croak(aTHX_ \"$var is not of type ${ntype}\")
165 $var = ($type)SvPV($arg,PL_na)
167 $var = XS_unpack_$ntype($arg)
169 $var = XS_unpack_$ntype($arg)
171 $var = make_perl_cb_$type($arg)
173 $var = $ntype(items -= $argoff);
174 U32 ix_$var = $argoff;
179 $var = PerlIO_findFILE(IoIFP(sv_2io($arg)))
181 $var = IoIFP(sv_2io($arg))
183 $var = IoIFP(sv_2io($arg))
185 $var = IoOFP(sv_2io($arg))
186 #############################################################################
191 $arg = newRV((SV*)$var);
193 $arg = newRV((SV*)$var);
195 $arg = newRV((SV*)$var);
197 $arg = newRV((SV*)$var);
199 sv_setiv($arg, (IV)$var);
201 sv_setuv($arg, (UV)$var);
203 sv_setiv($arg, (IV)$var);
207 sv_setpvn($arg, "0 but true", 10);
209 sv_setiv($arg, (IV)$var);
212 sv_setiv($arg, (IV)$var);
216 sv_setuv($arg, (UV)$var);
218 sv_setiv($arg, (IV)$var);
220 sv_setuv($arg, (UV)$var);
222 sv_setiv($arg, (IV)$var);
224 sv_setuv($arg, (UV)$var);
226 sv_setpvn($arg, (char *)&$var, 1);
228 sv_setuv($arg, (UV)$var);
230 sv_setnv($arg, (double)$var);
232 sv_setnv($arg, (NV)$var);
234 sv_setnv($arg, (double)$var);
236 sv_setpv((SV*)$arg, $var);
238 sv_setiv($arg, PTR2IV($var));
240 sv_setref_pv($arg, Nullch, (void*)$var);
242 sv_setref_pv($arg, \"${ntype}\", (void*)new $ntype($var));
244 sv_setref_pv($arg, \"${ntype}\", (void*)$var);
246 sv_setref_pv($arg, \"${ntype}\", (void*)$var);
248 sv_setref_pv($arg, \"${ntype}\", (void*)new\U${type}_DESC\E($var));
250 sv_setrefref($arg, \"${ntype}\", XS_service_$ntype,
251 ($var ? (void*)new $ntype($var) : 0));
255 sv_setpvn($arg, (char *)&$var, sizeof($var));
257 sv_setpvn($arg, (char *)$var, sizeof(*$var));
259 XS_pack_$ntype($arg, $var);
261 XS_pack_$ntype($arg, $var, count_$ntype);
263 sv_setpvn($arg, $var.chp(), $var.size());
265 sv_setpvn($arg, $var.context.value().chp(),
266 $var.context.value().size());
268 ST_EXTEND($var.size);
269 for (U32 ix_$var = 0; ix_$var < $var.size; ix_$var++) {
270 ST(ix_$var) = sv_newmortal();
276 GV *gv = newGVgen("$Package");
277 PerlIO *fp = PerlIO_importFILE($var,0);
278 if ( fp && do_open(gv, "+<&", 3, FALSE, 0, 0, fp) )
279 sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1)));
285 GV *gv = newGVgen("$Package");
286 if ( do_open(gv, "<&", 2, FALSE, 0, 0, $var) )
287 sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1)));
293 GV *gv = newGVgen("$Package");
294 if ( do_open(gv, "+<&", 3, FALSE, 0, 0, $var) )
295 sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1)));
301 GV *gv = newGVgen("$Package");
302 if ( do_open(gv, "+>&", 3, FALSE, 0, 0, $var) )
303 sv_setsv($arg, sv_bless(newRV((SV*)gv), gv_stashpv("$Package",1)));