File: typemap

package info (click to toggle)
perl 5.42.0-2
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 128,392 kB
  • sloc: perl: 534,963; ansic: 240,563; sh: 72,042; pascal: 6,934; xml: 2,428; yacc: 1,360; makefile: 1,197; cpp: 208; lisp: 1
file content (43 lines) | stat: -rw-r--r-- 904 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Mode_t			T_IV
pid_t			T_IV
Uid_t			T_UV
Time_t			T_IV
Gid_t			T_UV
Off_t			T_NV
speed_t			T_IV
tcflag_t		T_IV
cc_t			T_IV
POSIX::SigSet		T_OPAQUEPTROBJ
POSIX::Termios		T_OPAQUEPTROBJ
POSIX::SigAction	T_HVREF
POSIX::SigNo		T_SIGNO
POSIX::Fd		T_FD

INPUT
T_OPAQUEPTROBJ
	{
	    SV * sv = $arg;
	    if (SvROK(sv) && sv_derived_from(sv, \"${ntype}\"))
		$var = ($type)SvPV_nolen(SvRV(sv));
	    else
		croak(\"%s: %s is not of type %s\",
			    ${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
			\"$var\", \"$ntype\");
	}

T_SIGNO
	if (($var = SvIV($arg)) < 0) {
	   croak(\"%s: Negative signals are not allowed %d\",
		${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
                                   $var);
	}

T_FD
	if (($var = (int)SvIV($arg)) < 0) {
	     SETERRNO(EBADF, RMS_IFI);
	     XSRETURN_IV(-1);
	}

OUTPUT
T_OPAQUEPTROBJ
	sv_setref_pvn($arg, \"${ntype}\", (const char*)$var, sizeof(*$var));