Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <io/pad.h>
- #include <sys/thread.h>
- #include <sys/memory.h>
- #include <sysutil/video.h>
- #include <sysutil/sysutil.h>
- #include <sysutil/save.h>
- #include <string.h>
- #include <stdio.h>
- #include <malloc.h>
- s32 result_i = -6;
- void SaveFixedCallback(sysSaveCallbackResult *result, sysSaveListIn *in, sysSaveFixedOut *out)
- {
- printf("*** fixed callback ***\n");
- printf("in->maxDirectories = %d\n", in->maxDirectories);
- printf("in->numDirectories = %d\n", in->numDirectories);
- printf("in->directoryList = 0x%08X\n", in->directoryList);
- int i;
- for (i = 0; i < in->numDirectories; i++)
- {
- printf(" %2d: directoryName = '%s', listParameter = '%s'\n", i, in->directoryList[i].directoryName, in->directoryList[i].listParameter);
- }
- if (in->numDirectories > 0)
- {
- out->directoryName = in->directoryList[0].directoryName;
- out->icon = NULL;
- out->reserved = NULL;
- }
- result->result = result_i;
- result_i++;
- printf("=> result->result = %d\n", result->result);
- sleep(1);
- }
- void SaveStatusCallback(sysSaveCallbackResult *result, sysSaveStatusIn *in, sysSaveStatusOut *out)
- {
- printf("*** status callback ***\n");
- printf("in->freeSpaceKB = %d\n", in->freeSpaceKB);
- printf("in->isNew = %d\n", in->isNew);
- printf("in->directoryStatus.directoryName = '%s'\n", in->directoryStatus.directoryName);
- printf("in->getParam.title = '%s'\n", in->getParam.title);
- printf("in->getParam.subtitle = '%s'\n", in->getParam.subtitle);
- printf("in->getParam.detail = '%s'\n", in->getParam.detail);
- printf("in->getParam.copyProtected = %d\n", in->getParam.copyProtected);
- printf("in->getParam.parentalLevel = %d\n", in->getParam.parentalLevel);
- printf("in->getParam.listParameter = '%s'\n", in->getParam.listParameter);
- printf("in->bindingInformation = %d\n", in->bindingInformation);
- printf("in->sizeKB = %d\n", in->sizeKB);
- printf("in->systemSizeKB = %d\n", in->systemSizeKB);
- printf("in->totalFiles = %d\n", in->totalFiles);
- printf("in->numFiles = %d\n", in->numFiles);
- printf("in->fileList = 0x%08X\n", in->fileList);
- int i;
- for (i = 0; i < in->numFiles; i++)
- {
- printf(" %2d: fileType = %d, fileSize = %d, filename = '%s'\n", i, in->fileList[i].fileType, in->fileList[i].fileSize, in->fileList[i].filename);
- }
- out->setParam = &in->getParam;
- out->recreateMode = SYS_SAVE_RECREATE_MODE_OVERWRITE_CORRUPTED;
- result->result = 0;
- printf("=> result->result = %d\n", result->result);
- sleep(1);
- }
- void SaveFileCallback(sysSaveCallbackResult *result, sysSaveFileIn *in, sysSaveFileOut *out)
- {
- printf("*** file callback ***\n");
- printf("in->previousOperationResultSize = %d\n", in->previousOperationResultSize);
- result->result = 0;
- printf("=> result->result = %d\n", result->result);
- sleep(1);
- }
- int main (int argc, char *argv[])
- {
- #if 0
- printf("sysSaveAutoLoad2 test\n");
- sysSaveBufferSettings bufferSettings;
- memset(&bufferSettings, 0, sizeof(bufferSettings));
- bufferSettings.maxDirectories = 2;
- bufferSettings.maxFiles = 2;
- bufferSettings.bufferSize = 1024;
- bufferSettings.buffer = malloc(1024);
- s32 result = sysSaveAutoLoad2(
- 1,
- "DOES_NOT_EXIST",
- 0,
- &bufferSettings,
- &SaveStatusCallback,
- &SaveFileCallback,
- 0xffffffff,
- (void*)0x5);
- printf("sysSaveAutoLoad2 returns 0x%08X\n", result);
- #else
- // cellSaveDataListAutoLoad(version=1, errDialog=0, setList=*0xd014ebb0, setBuf=*0xd014ebc0, funcFixed=*0xe9def0, funcStat=*0xe9def8, funcFile=*0xe9df00, container=0xffffffff, userdata=*0x5)
- int i;
- for (i = 0; i < 10; i++)
- {
- printf("sysSaveListAutoLoad test\n");
- sysSaveListSettings listSettings;
- memset(&listSettings, 0, sizeof(listSettings));
- listSettings.sortType = 0;
- listSettings.sortOrder = 0;
- listSettings.pathPrefix = "BLES01783-OPTION";
- sysSaveBufferSettings bufferSettings;
- memset(&bufferSettings, 0, sizeof(bufferSettings));
- bufferSettings.maxDirectories = 2;
- bufferSettings.maxFiles = 2;
- bufferSettings.bufferSize = 0x70;
- bufferSettings.buffer = malloc(bufferSettings.bufferSize);
- s32 result = sysSaveListAutoLoad(
- 1,
- 0,
- &listSettings,
- &bufferSettings,
- &SaveFixedCallback,
- &SaveStatusCallback,
- &SaveFileCallback,
- 0xffffffff,
- (void*)0x5);
- printf("sysSaveListAutoLoad returns 0x%08X\n", result);
- }
- #endif
- return 0;
- }
Add Comment
Please, Sign In to add comment