ksyms.h 439 B

1234567891011121314151617
  1. #ifndef _KSYM_H
  2. #define _KSYM_H
  3. #include <linux/kallsyms.h>
  4. #define KSYM(name) __ksym_##name
  5. #define IMPORT_KSYM(name) __typeof(name) * KSYM(name)
  6. #define IMPORT_KSYM_PROTO(name, ret, ...) ret (*KSYM(name)) (__VA_ARGS__)
  7. #define LOOKUP_KSYM(name) \
  8. ({ \
  9. KSYM(name) = (void *) kallsyms_lookup_name(#name); \
  10. if (!KSYM(name)) \
  11. pr_err("Unknown symbol: " #name "\n"); \
  12. KSYM(name) ? 0 : -EINVAL; \
  13. })
  14. #endif