X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2Fld-acess.so_src%2Fcommon.h;h=eb9b83b98d2609239270b3d9f64f16a0bc6879ab;hb=cbed08fec9c6d62f8fa4fc13a71102c799d96640;hp=d44008f163c6b65bdfe933ff70ea47a1a7a52cc1;hpb=c43c05ef3234d6118ce601d299df60383d54ac7b;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/ld-acess.so_src/common.h b/Usermode/Libraries/ld-acess.so_src/common.h index d44008f1..eb9b83b9 100644 --- a/Usermode/Libraries/ld-acess.so_src/common.h +++ b/Usermode/Libraries/ld-acess.so_src/common.h @@ -39,8 +39,8 @@ extern void *DoRelocate(void *Base, char **envp, const char *Filename); // === Library/Symbol Manipulation == extern void *LoadLibrary(const char *Filename, const char *SearchDir, char **envp); extern void AddLoaded(const char *File, void *base); -extern void *GetSymbol(const char *name); -extern int GetSymbolFromBase(void *base, const char *name, void **ret); +extern int GetSymbol(const char *Name, void **Value, size_t *size); +extern int GetSymbolFromBase(void *base, const char *name, void **ret, size_t *size); // === Library Functions === extern char *strcpy(char *dest, const char *src); @@ -48,6 +48,7 @@ extern char *strcat(char *dest, const char *src); extern int strcmp(const char *s1, const char *s2); extern int strlen(const char *str); extern int file_exists(const char *filename); +extern void *memcpy(void *dest, const void *src, size_t len); // === System Calls === extern void _exit(int retval); @@ -56,13 +57,15 @@ extern void SysDebugV(const char *fmt, ...); extern void *SysLoadBin(const char *path, void **entry); extern int SysUnloadBin(void *Base); extern void SysSetFaultHandler(int (*Hanlder)(int)); -extern int open(const char *filename, int flags); +extern int open(const char *filename, int flags, ...); extern int close(int fd); // === ELF Loader === -extern int ElfGetSymbol(void *Base, const char *name, void **ret); +extern void *ElfRelocate(void *Base, char **envp, const char *Filename); +extern int ElfGetSymbol(void *Base, const char *name, void **ret, size_t *Size); // === PE Loader === -extern int PE_GetSymbol(void *Base, const char *Name, void **ret); +extern void *PE_Relocate(void *Base, char **envp, const char *Filename); +extern int PE_GetSymbol(void *Base, const char *Name, void **ret, size_t *Size); #endif