25 #ifdef F_SifInitIopHeap
39 while ((res = sceSifBindRpc(&_ih_cd, 0x80000003, 0)) >= 0 && !_ih_cd.server)
49 #ifdef F_SifExitIopHeap
52 memset(&_ih_cd, 0,
sizeof _ih_cd);
56 #ifdef F_SifAllocIopHeap
57 void *SifAllocIopHeap(
int size)
65 if (SifInitIopHeap() < 0)
70 if (sceSifCallRpc(&_ih_cd, 1, 0, &arg, 4, &arg, 4, NULL, NULL) < 0)
73 return (
void *)arg.addr;
77 #ifdef F_SifFreeIopHeap
78 int SifFreeIopHeap(
void *addr)
86 if (SifInitIopHeap() < 0)
91 if (sceSifCallRpc(&_ih_cd, 2, 0, &arg, 4, &arg, 4, NULL, NULL) < 0)
98 #ifdef F_SifLoadIopHeap
99 int SifLoadIopHeap(
const char *path,
void *addr)
103 if (SifInitIopHeap() < 0)
107 strlcpy(arg.path, path,
sizeof(arg.path));
109 if (sceSifCallRpc(&_ih_cd, 3, 0, &arg,
sizeof arg, &arg, 4, NULL, NULL) < 0)