home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6-686 / scripts / kconfig / kconfig_load.c < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  644 b   |  36 lines

  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("./scripts/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. }
  36.