File: typemap

package info (click to toggle)
libapache2-mod-perl2 2.0.9~1624218-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 11,840 kB
  • sloc: perl: 95,064; ansic: 14,522; makefile: 49; sh: 18
file content (89 lines) | stat: -rw-r--r-- 2,290 bytes parent folder | download | duplicates (11)
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
TYPEMAP
void *                  T_VPTR
char_len *              T_CHAR_LEN
const char_len *        T_CONST_CHAR_LEN

######################################################################
OUTPUT
T_POOLOBJ
	sv_setref_pv($arg, \"${ntype}\", (void*)$var);

T_APACHEOBJ
	sv_setref_pv($arg, \"${ntype}\", (void*)$var);

T_HASHOBJ
	$arg = modperl_hash_tie(aTHX_ \"${ntype}\", $arg, $var);

T_VPTR
	sv_setiv($arg, PTR2IV($var));

T_UVPTR
	sv_setuv($arg, PTR2UV($var));

T_APR_TIME
	sv_setnv($arg, (NV)(apr_time_sec($var)));

T_UVOBJ
	modperl_perl_sv_setref_uv(aTHX_ $arg, \"${ntype}\", (UV)$var);

######################################################################
INPUT
T_PTROBJ
	if (SvROK($arg) && sv_derived_from($arg, \"${ntype}\")) {
	    IV tmp = SvIV((SV*)SvRV($arg));
	    $var = INT2PTR($type, tmp);
	}
	else {
	    Perl_croak(aTHX_ SvROK($arg) ?
                       \"$var is not of type ${ntype}\" :
                       \"$var is not a blessed reference\");
        }

T_POOLOBJ
	if (SvROK($arg) && sv_derived_from($arg, \"${ntype}\")) {
	    IV tmp = SvIV((SV*)SvRV($arg));
            if (tmp == 0) {
                Perl_croak(aTHX_ \"invalid pool object (already destroyed?)\");
            }
	    $var = INT2PTR($type, tmp);
	}
	else {
	    Perl_croak(aTHX_ SvROK($arg) ?
                       \"$var is not of type ${ntype}\" :
                       \"$var is not a blessed reference\");
        }

T_UVOBJ
	if (SvROK($arg) && sv_derived_from($arg, \"${ntype}\")) {
	    UV tmp = SvUV((SV*)SvRV($arg));
	    $var = INT2PTR($type, tmp);
	}
	else {
	    Perl_croak(aTHX_ SvROK($arg) ?
                       \"$var is not of type ${ntype}\" :
                       \"$var is not a blessed reference\");
        }

T_APACHEOBJ
	$var = modperl_xs_sv2request_rec(aTHX_ $arg, \"$ntype\", cv)
    
T_HASHOBJ
	$var = modperl_hash_tied_object(aTHX_ \"${ntype}\", $arg)

T_APACHEREF
	$var = modperl_xs_sv2request_rec(aTHX_ $arg, \"$ntype\", cv)

T_VPTR
	$var = INT2PTR($type, SvIV(SvROK($arg) ? SvRV($arg) : $arg))

T_UVPTR
	$var = INT2PTR($type, SvUV(SvROK($arg) ? SvRV($arg) : $arg))

T_APR_TIME
	$var = (apr_time_t)(apr_time_from_sec(SvNV($arg)))

T_CHAR_LEN
        $var = (char *)SvPV($arg, ${var}_len)

T_CONST_CHAR_LEN
        $var = (const char *)SvPV($arg, ${var}_len)