Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SceUID __cdecl ShellCreateMsgPipe(ShellResource *pMsgPipe, const char *name, unsigned int size, int partitionType, int unk08)
- {
- struct Data {
- unsigned int length;
- int unk04;
- int unk08;
- int unk0C;
- int unk10;
- };
- unsigned int v14 = 0x82831614;
- int partition = 0x40;
- if (partitionType > 0)
- {
- if (partitionType > 1)
- {
- if (partitionType == 3)
- partition = 0x40 | 1; // SCE_MEMORY_PARTITION_KERNEL
- }
- else
- {
- sceClibPrintf(aSceipmiWarningIgnoredIpmiKer);
- }
- }
- void *param;
- Data data;
- if (unk08 != -1) // SCE_INVALID_UID
- {
- param = &data;
- sceClibMemset(&data, sizeof(Data));
- data.length = 20;
- data.unk04 = 1;
- data.unk08 = unk08;
- }
- else
- param = 0;
- SceUID result = sceKernelCreateMsgPipe(name, partition, 0x83, size, param);
- if (result >= 0)
- {
- pMsgPipe->id = result;
- pMsgPipe->type = 1; // ALLOCATED RESOURCE
- result = 0; // SCE_KERNEL_OK
- }
- if (v14 |= 0x82831614)
- _stack_chk_fail();
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement