1 #include "scePspNpDrm_user.h"
2 
3 #include "Core/HLE/HLE.h"
4 #include "Core/HLE/FunctionWrappers.h"
5 #include "Core/HLE/sceIo.h"
6 
sceNpDrmSetLicenseeKey(u32 npDrmKeyAddr)7 static int sceNpDrmSetLicenseeKey(u32 npDrmKeyAddr)
8 {
9 	INFO_LOG(HLE, "call sceNpDrmSetLicenseeKey(%08x)", npDrmKeyAddr);
10 	return 0;
11 }
12 
sceNpDrmClearLicenseeKey()13 static int sceNpDrmClearLicenseeKey()
14 {
15 	INFO_LOG(HLE, "call sceNpDrmClearLicenseeKey()");
16 	return 0;
17 }
18 
sceNpDrmRenameCheck(const char * filename)19 static int sceNpDrmRenameCheck(const char *filename)
20 {
21 	INFO_LOG(HLE, "call sceNpDrmRenameCheck(%s)", filename);
22 	return 0;
23 }
24 
sceNpDrmEdataSetupKey(u32 edataFd)25 static int sceNpDrmEdataSetupKey(u32 edataFd)
26 {
27 	INFO_LOG(HLE, "call sceNpDrmEdataSetupKey %x", edataFd);
28 	/* set PGD offset */
29 	sceIoIoctl(edataFd, 0x04100002, 0x90, 0, 0, 0);
30 	/* call PGD open */
31 	return sceIoIoctl(edataFd, 0x04100001, 0, 0, 0, 0);
32 }
33 
sceNpDrmEdataGetDataSize(u32 edataFd)34 static int sceNpDrmEdataGetDataSize(u32 edataFd)
35 {
36 	INFO_LOG(HLE, "call sceNpDrmEdataGetDataSize %x", edataFd);
37 	return sceIoIoctl(edataFd, 0x04100010, 0, 0, 0, 0);
38 }
39 
sceNpDrmOpen()40 static int sceNpDrmOpen()
41 {
42 	ERROR_LOG(HLE, "UNIMPL sceNpDrmOpen");
43 	return 0;
44 }
45 
46 const HLEFunction sceNpDrm[] =
47 {
48 	{0XA1336091, &WrapI_U<sceNpDrmSetLicenseeKey>,   "sceNpDrmSetLicenseeKey",   'i', "x"},
49 	{0X9B745542, &WrapI_V<sceNpDrmClearLicenseeKey>, "sceNpDrmClearLicenseeKey", 'i', "" },
50 	{0X275987D1, &WrapI_C<sceNpDrmRenameCheck>,      "sceNpDrmRenameCheck",      'i', "s"},
51 	{0X08D98894, &WrapI_U<sceNpDrmEdataSetupKey>,    "sceNpDrmEdataSetupKey",    'i', "x"},
52 	{0X219EF5CC, &WrapI_U<sceNpDrmEdataGetDataSize>, "sceNpDrmEdataGetDataSize", 'i', "x"},
53 	{0X2BAA4294, &WrapI_V<sceNpDrmOpen>,             "sceNpDrmOpen",             'i', "" },
54 };
55 
Register_sceNpDrm()56 void Register_sceNpDrm()
57 {
58 	RegisterModule("sceNpDrm", ARRAY_SIZE(sceNpDrm), sceNpDrm);
59 	RegisterModule("scePspNpDrm_user", ARRAY_SIZE(sceNpDrm), sceNpDrm);
60 }
61 
62