1#include "EXTERN.h"
2#include "perl.h"
3#include "XSUB.h"
4
5void
6xstest_something (char * some_thing)
7{
8	some_thing = some_thing;
9}
10
11void
12xstest_something2 (char * some_thing)
13{
14	some_thing = some_thing;
15}
16
17
18MODULE = XSTest         PACKAGE = XSTest	PREFIX = xstest_
19
20PROTOTYPES: DISABLE
21
22int
23is_even(input)
24	int     input
25    CODE:
26	RETVAL = (input % 2 == 0);
27    OUTPUT:
28	RETVAL
29
30void
31xstest_something (myclass, some_thing)
32	char * some_thing
33    C_ARGS:
34	some_thing
35
36void
37xstest_something2 (some_thing)
38	char * some_thing
39
40void
41xstest_something3 (myclass, some_thing)
42	SV   * myclass
43	char * some_thing
44    PREINIT:
45    	int i = 0;
46    PPCODE:
47    	/* it's up to us clear these warnings */
48	myclass = myclass;
49	some_thing = some_thing;
50	i = i;
51	XSRETURN_UNDEF;
52
53int
54consts (myclass)
55	SV * myclass
56    ALIAS:
57	const_one = 1
58	const_two = 2
59	const_three = 3
60    CODE:
61    	/* it's up to us clear these warnings */
62    	myclass = myclass;
63	ix = ix;
64    	RETVAL = 1;
65    OUTPUT:
66	RETVAL
67
68bool
69T_BOOL(in)
70        bool in
71    CODE:
72        RETVAL = in;
73    OUTPUT: RETVAL
74
75bool
76T_BOOL_2(in)
77        bool in
78    CODE:
79	PERL_UNUSED_VAR(RETVAL);
80    OUTPUT: in
81
82void
83T_BOOL_OUT( out, in )
84        bool out
85        bool in
86    CODE:
87        out = in;
88    OUTPUT: out
89