|
|
1.1 ! root 1: #include <dlfcn.h> ! 2: #include <stdio.h> ! 3: #include <stdlib.h> ! 4: ! 5: #include "lkc.h" ! 6: ! 7: #define P(name,type,arg) type (*name ## _p) arg ! 8: #include "lkc_proto.h" ! 9: #undef P ! 10: ! 11: void kconfig_load(void) ! 12: { ! 13: void *handle; ! 14: char *error; ! 15: ! 16: handle = dlopen("./libkconfig.so", RTLD_LAZY); ! 17: if (!handle) { ! 18: handle = dlopen("./tools/kconfig/libkconfig.so", RTLD_LAZY); ! 19: if (!handle) { ! 20: fprintf(stderr, "%s\n", dlerror()); ! 21: exit(1); ! 22: } ! 23: } ! 24: ! 25: #define P(name,type,arg) \ ! 26: { \ ! 27: name ## _p = dlsym(handle, #name); \ ! 28: if ((error = dlerror())) { \ ! 29: fprintf(stderr, "%s\n", error); \ ! 30: exit(1); \ ! 31: } \ ! 32: } ! 33: #include "lkc_proto.h" ! 34: #undef P ! 35: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.