| #ifndef _PELDSO_H_ |
| #define _PELDSO_H_ |
| |
| |
| #define PE_LDSO_INTEGRAL_ONLY 0x00000000 |
| #define PE_LDSO_DEFAULT_EXECUTABLE 0x00000001 |
| #define PE_LDSO_STANDALONE_EXECUTABLE 0x00000002 |
| |
| |
| #define NT_STATUS_NOINTERFACE 0xC00002B9 |
| |
| |
| #define NT_PROCESS_GUID_RTDATA {0x3e43ec84,0x1af1,0x4ede,{0xac,0xd8,0xc3,0xd9,0x20,0xaf,0xc8,0x68}} |
| |
| |
| struct __guid { |
| unsigned int data1; |
| unsigned short data2; |
| unsigned short data3; |
| unsigned char data4[8]; |
| }; |
| |
| |
| __attribute__((__visibility__("hidden"))) int __ldso_terminate_current_process( |
| int estatus); |
| |
| __attribute__((__visibility__("hidden"))) void * __ldso_get_procedure_address( |
| const void * base, |
| const char * name); |
| |
| __attribute__((__visibility__("hidden"))) int __ldso_load_framework_loader_ex( |
| void ** baseaddr, |
| void ** hroot, |
| void ** hdsodir, |
| const struct __guid * abi, |
| const unsigned short * basename, |
| const unsigned short * rrelname, |
| void * refaddr, |
| unsigned long * buffer, |
| unsigned int bufsize, |
| unsigned int flags, |
| unsigned int * sysflags); |
| |
| __attribute__((__visibility__("hidden"))) int __ldso_load_framework_library( |
| void ** baseaddr, |
| void * hat, |
| const unsigned short * atrelname, |
| unsigned long * buffer, |
| unsigned int bufsize, |
| unsigned int * sysflags); |
| |
| #endif |