Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. #include"ld-dll.h"
  2.  
  3. #define EX(x) \
  4.     { "_"#x , (unsigned long)&x }
  5.  
  6. extern void * sbrk(int);
  7.  
  8. extern void _exit(int);
  9.  
  10. static struct {
  11.  char * name;
  12.  unsigned long ptr;
  13. } kextable[]={
  14.  EX(sbrk),
  15.  EX(errno),
  16.  EX(malloc),
  17.  EX(free),
  18.  EX(realloc),
  19.  EX(atexit),
  20.  EX(exit),
  21.  EX(getenv),
  22.  EX(_exit),
  23. };
  24.  
  25. #define NR_KEX  (sizeof(kextable)/sizeof(kextable[0]))
  26.  
  27. unsigned long kexport_lookup(char * name)
  28. {
  29.  int i,j;
  30.  j=strlen(name);
  31.  for(i=0;i<NR_KEX;i++)
  32.  {
  33.   if(strlen(kextable[i].name)==j &&
  34.      !strncmp(kextable[i].name,name,j)) return kextable[i].ptr;
  35.  }
  36.  return 0;
  37. }
  38.