#include "linux/kallsyms.h" #define RE_EXPORT_SYMBOL1(ret, func, t1, v1) \ ret ksu_##func(t1 v1) \ { \ return func(v1); \ } \ EXPORT_SYMBOL(ksu_##func); #define RE_EXPORT_SYMBOL2(ret, func, t1, v1, t2, v2) \ ret ksu_##func(t1 v1, t2 v2) \ { \ return func(v1, v2); \ } \ EXPORT_SYMBOL(ksu_##func); RE_EXPORT_SYMBOL1(unsigned long, kallsyms_lookup_name, const char *, name) // RE_EXPORT_SYMBOL2(int, register_kprobe, struct kprobe *, p) // RE_EXPORT_SYMBOL2(void, unregister_kprobe, struct kprobe *, p) // RE_EXPORT_SYMBOL2(int, register_kprobe, struct kprobe *, p) // RE_EXPORT_SYMBOL2(void, unregister_kprobe, struct kprobe *, p) // int ksu_register_kprobe(struct kprobe *p); // void ksu_unregister_kprobe(struct kprobe *p); // int ksu_register_kprobes(struct kprobe **kps, int num); // void ksu_unregister_kprobes(struct kprobe **kps, int num); // int ksu_register_kretprobe(struct kretprobe *rp); // void unregister_kretprobe(struct kretprobe *rp); // int register_kretprobes(struct kretprobe **rps, int num); // void unregister_kretprobes(struct kretprobe **rps, int num);