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