36 u32 i, addr, core_end, NextMod;
54 if(SifRpcGetOtherData(&RData, (
void*)(core_end - 512), &
smem_buf, 512, 0)>=0){
55 void *pGetLoadcoreInternalData;
58 for (i = 0; i < 512; i += 4) {
61 if (
smem_buf.words[i /
sizeof(u32)] == 0x830) {
62 if (!__memcmp(
smem_buf.bytes + i + 12,
"loadcore", 8))
72 pGetLoadcoreInternalData = core_exps->exports[3];
75 if(SifRpcGetOtherData(&RData, pGetLoadcoreInternalData, &
smem_buf, 8, 0)>=0){
80 if ((exp_func[0] & 0xffff0000) != 0x3c020000)
82 if ((exp_func[1] & 0xffff0000) != 0x24420000)
85 addr = (u32) ((exp_func[0] & 0xFFFF) << 16) + (s16) (exp_func[1] & 0xFFFF);
88 if(SifRpcGetOtherData(&RData, (
void*)addr, &
smem_buf, 8, 0)>=0){
91 exp_lib_list = &_slib_cur_exp_lib_list;
109 int len = strlen(name),
count = 0;
115 cur_lib = exp_lib_list->tail;
119 if(SifRpcGetOtherData(&RData, cur_lib, exp_lib, EXP_LIB_MAX, 0)>=0){
120 if (!__memcmp(exp_lib->name, name, len)) {
121 while (exp_lib->exports[
count] != 0)
130 cur_lib = exp_lib->prev;