1 #include <linux/module.h>
2 #include <linux/kernel.h>
3 #include <linux/init.h>
4 #include <linux/sched.h>
6 void ffi_test_void(void)
9 EXPORT_SYMBOL(ffi_test_void);
11 int ffi_test_int1(unsigned char a, char b, unsigned short c, short d)
15 EXPORT_SYMBOL(ffi_test_int1);
17 long long ffi_test_int2(unsigned int a, int b, unsigned long c, long d,
18 unsigned long long e, long long f, long long g)
20 return a + b + c + d + e + f + g;
22 EXPORT_SYMBOL(ffi_test_int2);
24 void *ffi_test_pointer1(char *a) {
27 EXPORT_SYMBOL(ffi_test_pointer1);
29 long long ffi_test_var_arg(int n, ...) {
34 for (i = 0; i < n; i++) {
35 sum += va_arg(ap, long long);
40 EXPORT_SYMBOL(ffi_test_var_arg);
42 unsigned long long ffi_test_sched_clock(void)
46 EXPORT_SYMBOL(ffi_test_sched_clock);
50 static int __init ffi_test_init(void)
55 static void __exit ffi_test_exit(void)
60 MODULE_DESCRIPTION("ktap ffi test module");
61 MODULE_LICENSE("GPL");
63 module_init(ffi_test_init);
64 module_exit(ffi_test_exit);