Linux iad1-shared-b7-18 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
Apache
: 67.205.6.31 | : 216.73.216.47
Cant Read [ /etc/named.conf ]
8.2.29
fernandoquevedo
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
share /
swig4.0 /
perl5 /
[ HOME SHELL ]
Name
Size
Permission
Action
Makefile.pl
688
B
-rw-r--r--
attribute.i
34
B
-rw-r--r--
carrays.i
33
B
-rw-r--r--
cdata.i
30
B
-rw-r--r--
cmalloc.i
32
B
-rw-r--r--
cpointer.i
33
B
-rw-r--r--
cstring.i
32
B
-rw-r--r--
director.swg
7.09
KB
-rw-r--r--
exception.i
138
B
-rw-r--r--
factory.i
32
B
-rw-r--r--
noembed.h
1.57
KB
-rw-r--r--
perl5.swg
1.44
KB
-rw-r--r--
perlerrors.swg
871
B
-rw-r--r--
perlfragments.swg
556
B
-rw-r--r--
perlhead.swg
2.55
KB
-rw-r--r--
perlinit.swg
1.99
KB
-rw-r--r--
perlkw.swg
3.78
KB
-rw-r--r--
perlmacros.swg
36
B
-rw-r--r--
perlmain.i
1.94
KB
-rw-r--r--
perlopers.swg
1.83
KB
-rw-r--r--
perlprimtypes.swg
8.15
KB
-rw-r--r--
perlrun.swg
14.69
KB
-rw-r--r--
perlruntime.swg
326
B
-rw-r--r--
perlstrings.swg
1.39
KB
-rw-r--r--
perltypemaps.swg
2.99
KB
-rw-r--r--
perluserdir.swg
36
B
-rw-r--r--
reference.i
7.08
KB
-rw-r--r--
std_common.i
654
B
-rw-r--r--
std_deque.i
28
B
-rw-r--r--
std_except.i
35
B
-rw-r--r--
std_list.i
14.23
KB
-rw-r--r--
std_map.i
2.55
KB
-rw-r--r--
std_pair.i
773
B
-rw-r--r--
std_string.i
62
B
-rw-r--r--
std_vector.i
22.81
KB
-rw-r--r--
stl.i
291
B
-rw-r--r--
typemaps.i
12.52
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : reference.i
/* ----------------------------------------------------------------------------- * reference.i * * Accept Perl references as pointers * ----------------------------------------------------------------------------- */ /* The following methods make Perl references work like simple C pointers. References can only be used for simple input/output values, not C arrays however. It should also be noted that REFERENCES are specific to Perl and not supported in other scripting languages at this time. int *REFERENCE short *REFERENCE long *REFERENCE unsigned int *REFERENCE unsigned short *REFERENCE unsigned long *REFERENCE unsigned char *REFERENCE float *REFERENCE double *REFERENCE For example, suppose you were trying to wrap the following function : void neg(double *x) { *x = -(*x); } You could wrap it with SWIG as follows : %include reference.i void neg(double *REFERENCE); or you can use the %apply directive : %include reference.i %apply double *REFERENCE { double *x }; void neg(double *x); Unlike the INOUT mapping described in typemaps.i, this approach directly modifies the value of a Perl reference. Thus, you could use it as follows : $x = 3; neg(\$x); print "$x\n"; # Should print out -3. */ %typemap(in) double *REFERENCE (double dvalue), double &REFERENCE(double dvalue) { SV *tempsv; if (!SvROK($input)) { SWIG_croak("expected a reference"); } tempsv = SvRV($input); if ((!SvNOK(tempsv)) && (!SvIOK(tempsv))) { printf("Received %d\n", SvTYPE(tempsv)); SWIG_croak("Expected a double reference."); } dvalue = SvNV(tempsv); $1 = &dvalue; } %typemap(in) float *REFERENCE (float dvalue), float &REFERENCE(float dvalue) { SV *tempsv; if (!SvROK($input)) { SWIG_croak("expected a reference"); } tempsv = SvRV($input); if ((!SvNOK(tempsv)) && (!SvIOK(tempsv))) { SWIG_croak("expected a double reference"); } dvalue = (float) SvNV(tempsv); $1 = &dvalue; } %typemap(in) int *REFERENCE (int dvalue), int &REFERENCE (int dvalue) { SV *tempsv; if (!SvROK($input)) { SWIG_croak("expected a reference"); } tempsv = SvRV($input); if (!SvIOK(tempsv)) { SWIG_croak("expected an integer reference"); } dvalue = SvIV(tempsv); $1 = &dvalue; } %typemap(in) short *REFERENCE (short dvalue), short &REFERENCE(short dvalue) { SV *tempsv; if (!SvROK($input)) { SWIG_croak("expected a reference"); } tempsv = SvRV($input); if (!SvIOK(tempsv)) { SWIG_croak("expected an integer reference"); } dvalue = (short) SvIV(tempsv); $1 = &dvalue; } %typemap(in) long *REFERENCE (long dvalue), long &REFERENCE(long dvalue) { SV *tempsv; if (!SvROK($input)) { SWIG_croak("expected a reference"); } tempsv = SvRV($input); if (!SvIOK(tempsv)) { SWIG_croak("expected an integer reference"); } dvalue = (long) SvIV(tempsv); $1 = &dvalue; } %typemap(in) unsigned int *REFERENCE (unsigned int dvalue), unsigned int &REFERENCE(unsigned int dvalue) { SV *tempsv; if (!SvROK($input)) { SWIG_croak("expected a reference"); } tempsv = SvRV($input); if (!SvIOK(tempsv)) { SWIG_croak("expected an integer reference"); } dvalue = (unsigned int) SvUV(tempsv); $1 = &dvalue; } %typemap(in) unsigned short *REFERENCE (unsigned short dvalue), unsigned short &REFERENCE(unsigned short dvalue) { SV *tempsv; if (!SvROK($input)) { SWIG_croak("expected a reference"); } tempsv = SvRV($input); if (!SvIOK(tempsv)) { SWIG_croak("expected an integer reference"); } dvalue = (unsigned short) SvUV(tempsv); $1 = &dvalue; } %typemap(in) unsigned long *REFERENCE (unsigned long dvalue), unsigned long &REFERENCE(unsigned long dvalue) { SV *tempsv; if (!SvROK($input)) { SWIG_croak("expected a reference"); } tempsv = SvRV($input); if (!SvIOK(tempsv)) { SWIG_croak("expected an integer reference"); } dvalue = (unsigned long) SvUV(tempsv); $1 = &dvalue; } %typemap(in) unsigned char *REFERENCE (unsigned char dvalue), unsigned char &REFERENCE(unsigned char dvalue) { SV *tempsv; if (!SvROK($input)) { SWIG_croak("expected a reference"); } tempsv = SvRV($input); if (!SvIOK(tempsv)) { SWIG_croak("expected an integer reference"); } dvalue = (unsigned char) SvUV(tempsv); $1 = &dvalue; } %typemap(in) signed char *REFERENCE (signed char dvalue), signed char &REFERENCE(signed char dvalue) { SV *tempsv; if (!SvROK($input)) { SWIG_croak("expected a reference"); } tempsv = SvRV($input); if (!SvIOK(tempsv)) { SWIG_croak("expected an integer reference"); } dvalue = (signed char) SvIV(tempsv); $1 = &dvalue; } %typemap(in) bool *REFERENCE (bool dvalue), bool &REFERENCE(bool dvalue) { SV *tempsv; if (!SvROK($input)) { SWIG_croak("expected a reference"); } tempsv = SvRV($input); if (!SvIOK(tempsv)) { SWIG_croak("expected an integer reference"); } dvalue = SvIV(tempsv) ? true : false; $1 = &dvalue; } %typemap(typecheck) int *REFERENCE, int &REFERENCE, short *REFERENCE, short &REFERENCE, long *REFERENCE, long &REFERENCE, signed char *REFERENCE, signed char &REFERENCE, bool *REFERENCE, bool &REFERENCE { $1 = SvROK($input) && SvIOK(SvRV($input)); } %typemap(typecheck) double *REFERENCE, double &REFERENCE, float *REFERENCE, float &REFERENCE { $1 = SvROK($input); if($1) { SV *tmpsv = SvRV($input); $1 = SvNOK(tmpsv) || SvIOK(tmpsv); } } %typemap(typecheck) unsigned int *REFERENCE, unsigned int &REFERENCE, unsigned short *REFERENCE, unsigned short &REFERENCE, unsigned long *REFERENCE, unsigned long &REFERENCE, unsigned char *REFERENCE, unsigned char &REFERENCE { $1 = SvROK($input); if($1) { SV *tmpsv = SvRV($input); $1 = SvUOK(tmpsv) || SvIOK(tmpsv); } } %typemap(argout) double *REFERENCE, double &REFERENCE, float *REFERENCE, float &REFERENCE { SV *tempsv; tempsv = SvRV($arg); if (!$1) SWIG_croak("expected a reference"); sv_setnv(tempsv, (double) *$1); } %typemap(argout) int *REFERENCE, int &REFERENCE, short *REFERENCE, short &REFERENCE, long *REFERENCE, long &REFERENCE, signed char *REFERENCE, signed char &REFERENCE, bool *REFERENCE, bool &REFERENCE { SV *tempsv; tempsv = SvRV($input); if (!$1) SWIG_croak("expected a reference"); sv_setiv(tempsv, (IV) *$1); } %typemap(argout) unsigned int *REFERENCE, unsigned int &REFERENCE, unsigned short *REFERENCE, unsigned short &REFERENCE, unsigned long *REFERENCE, unsigned long &REFERENCE, unsigned char *REFERENCE, unsigned char &REFERENCE { SV *tempsv; tempsv = SvRV($input); if (!$1) SWIG_croak("expected a reference"); sv_setuv(tempsv, (UV) *$1); }
Close