Guest User

Untitled

a guest
Feb 19th, 2018
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.17 KB | None | 0 0
  1. #include <io/pad.h>
  2. #include <sys/thread.h>
  3. #include <sys/memory.h>
  4. #include <sysutil/video.h>
  5. #include <sysutil/sysutil.h>
  6. #include <sysutil/save.h>
  7. #include <string.h>
  8. #include <stdio.h>
  9. #include <malloc.h>
  10.  
  11.  
  12. s32 result_i = -6;
  13.  
  14. void SaveFixedCallback(sysSaveCallbackResult *result, sysSaveListIn *in, sysSaveFixedOut *out)
  15. {
  16. printf("*** fixed callback ***\n");
  17.  
  18. printf("in->maxDirectories = %d\n", in->maxDirectories);
  19. printf("in->numDirectories = %d\n", in->numDirectories);
  20. printf("in->directoryList = 0x%08X\n", in->directoryList);
  21.  
  22. int i;
  23. for (i = 0; i < in->numDirectories; i++)
  24. {
  25. printf(" %2d: directoryName = '%s', listParameter = '%s'\n", i, in->directoryList[i].directoryName, in->directoryList[i].listParameter);
  26. }
  27.  
  28. if (in->numDirectories > 0)
  29. {
  30. out->directoryName = in->directoryList[0].directoryName;
  31. out->icon = NULL;
  32. out->reserved = NULL;
  33. }
  34.  
  35. result->result = result_i;
  36. result_i++;
  37. printf("=> result->result = %d\n", result->result);
  38.  
  39. sleep(1);
  40. }
  41.  
  42.  
  43. void SaveStatusCallback(sysSaveCallbackResult *result, sysSaveStatusIn *in, sysSaveStatusOut *out)
  44. {
  45. printf("*** status callback ***\n");
  46.  
  47. printf("in->freeSpaceKB = %d\n", in->freeSpaceKB);
  48. printf("in->isNew = %d\n", in->isNew);
  49. printf("in->directoryStatus.directoryName = '%s'\n", in->directoryStatus.directoryName);
  50. printf("in->getParam.title = '%s'\n", in->getParam.title);
  51. printf("in->getParam.subtitle = '%s'\n", in->getParam.subtitle);
  52. printf("in->getParam.detail = '%s'\n", in->getParam.detail);
  53. printf("in->getParam.copyProtected = %d\n", in->getParam.copyProtected);
  54. printf("in->getParam.parentalLevel = %d\n", in->getParam.parentalLevel);
  55. printf("in->getParam.listParameter = '%s'\n", in->getParam.listParameter);
  56. printf("in->bindingInformation = %d\n", in->bindingInformation);
  57. printf("in->sizeKB = %d\n", in->sizeKB);
  58. printf("in->systemSizeKB = %d\n", in->systemSizeKB);
  59. printf("in->totalFiles = %d\n", in->totalFiles);
  60. printf("in->numFiles = %d\n", in->numFiles);
  61. printf("in->fileList = 0x%08X\n", in->fileList);
  62.  
  63. int i;
  64. for (i = 0; i < in->numFiles; i++)
  65. {
  66. printf(" %2d: fileType = %d, fileSize = %d, filename = '%s'\n", i, in->fileList[i].fileType, in->fileList[i].fileSize, in->fileList[i].filename);
  67. }
  68.  
  69. out->setParam = &in->getParam;
  70. out->recreateMode = SYS_SAVE_RECREATE_MODE_OVERWRITE_CORRUPTED;
  71.  
  72. result->result = 0;
  73. printf("=> result->result = %d\n", result->result);
  74.  
  75. sleep(1);
  76. }
  77.  
  78.  
  79. void SaveFileCallback(sysSaveCallbackResult *result, sysSaveFileIn *in, sysSaveFileOut *out)
  80. {
  81. printf("*** file callback ***\n");
  82. printf("in->previousOperationResultSize = %d\n", in->previousOperationResultSize);
  83.  
  84. result->result = 0;
  85. printf("=> result->result = %d\n", result->result);
  86.  
  87. sleep(1);
  88. }
  89.  
  90.  
  91.  
  92. int main (int argc, char *argv[])
  93. {
  94. #if 0
  95. printf("sysSaveAutoLoad2 test\n");
  96.  
  97. sysSaveBufferSettings bufferSettings;
  98. memset(&bufferSettings, 0, sizeof(bufferSettings));
  99. bufferSettings.maxDirectories = 2;
  100. bufferSettings.maxFiles = 2;
  101. bufferSettings.bufferSize = 1024;
  102. bufferSettings.buffer = malloc(1024);
  103.  
  104. s32 result = sysSaveAutoLoad2(
  105. 1,
  106. "DOES_NOT_EXIST",
  107. 0,
  108. &bufferSettings,
  109. &SaveStatusCallback,
  110. &SaveFileCallback,
  111. 0xffffffff,
  112. (void*)0x5);
  113.  
  114. printf("sysSaveAutoLoad2 returns 0x%08X\n", result);
  115.  
  116. #else
  117. // cellSaveDataListAutoLoad(version=1, errDialog=0, setList=*0xd014ebb0, setBuf=*0xd014ebc0, funcFixed=*0xe9def0, funcStat=*0xe9def8, funcFile=*0xe9df00, container=0xffffffff, userdata=*0x5)
  118.  
  119. int i;
  120. for (i = 0; i < 10; i++)
  121. {
  122. printf("sysSaveListAutoLoad test\n");
  123.  
  124. sysSaveListSettings listSettings;
  125. memset(&listSettings, 0, sizeof(listSettings));
  126. listSettings.sortType = 0;
  127. listSettings.sortOrder = 0;
  128. listSettings.pathPrefix = "BLES01783-OPTION";
  129.  
  130. sysSaveBufferSettings bufferSettings;
  131. memset(&bufferSettings, 0, sizeof(bufferSettings));
  132. bufferSettings.maxDirectories = 2;
  133. bufferSettings.maxFiles = 2;
  134. bufferSettings.bufferSize = 0x70;
  135. bufferSettings.buffer = malloc(bufferSettings.bufferSize);
  136.  
  137. s32 result = sysSaveListAutoLoad(
  138. 1,
  139. 0,
  140. &listSettings,
  141. &bufferSettings,
  142. &SaveFixedCallback,
  143. &SaveStatusCallback,
  144. &SaveFileCallback,
  145. 0xffffffff,
  146. (void*)0x5);
  147.  
  148. printf("sysSaveListAutoLoad returns 0x%08X\n", result);
  149. }
  150. #endif
  151.  
  152. return 0;
  153. }
Add Comment
Please, Sign In to add comment