base/config/kconfig/kconfig_load.c

Go to the documentation of this file.
00001 #include <dlfcn.h>
00002 #include <stdio.h>
00003 #include <stdlib.h>
00004 
00005 #include "lkc.h"
00006 
00007 #define P(name,type,arg)    type (*name ## _p) arg
00008 #include "lkc_proto.h"
00009 #undef P
00010 
00011 void kconfig_load(void)
00012 {
00013     void *handle;
00014     char *error;
00015 
00016     handle = dlopen("./libkconfig.so", RTLD_LAZY);
00017     if (!handle) {
00018         handle = dlopen("./base/config/kconfig/libkconfig.so", RTLD_LAZY);
00019         if (!handle) {
00020             fprintf(stderr, "%s\n", dlerror());
00021             exit(1);
00022         }
00023     }
00024 
00025 #define P(name,type,arg)            \
00026 {                       \
00027     name ## _p = dlsym(handle, #name);  \
00028         if ((error = dlerror()))  {     \
00029                 fprintf(stderr, "%s\n", error); \
00030         exit(1);            \
00031     }                   \
00032 }
00033 #include "lkc_proto.h"
00034 #undef P
00035 }

Generated on Tue Feb 2 17:46:04 2010 for RTAI API by  doxygen 1.4.7