psl1ght
A free SDK for Sony's PS3 console
Loading...
Searching...
No Matches
save.h
Go to the documentation of this file.
1#ifndef __LV2_SYSUTIL_SAVE_H__
2#define __LV2_SYSUTIL_SAVE_H__
3
4#include <ppu-types.h>
5#include <time.h>
6
7/* Maximum string/array sizes */
8#define SYS_SAVE_MAX_DIRECTORY_NAME 32
9#define SYS_SAVE_MAX_FILE_NAME 13
10#define SYS_SAVE_DIRECTORY_LIST_MAX 2048
11#define SYS_SAVE_CUSTOM_ERROR_MESSAGE_MAX 256
12#define SYS_SAVE_MAX_LIST_PARAMETER 8
13#define SYS_SAVE_MAX_TITLE 128
14#define SYS_SAVE_MAX_SUBTITLE 128
15#define SYS_SAVE_MAX_DETAIL 1024
16#define SYS_SAVE_MAX_PROTECTED_FILE_ID 16
17
18/* Current version value for the save data */
19#define SYS_SAVE_CURRENT_VERSION 0
20
21/* Result values for the callback */
22#define SYS_SAVE_CALLBACK_RESULT_DONE 1
23#define SYS_SAVE_CALLBACK_RESULT_CONTINUE 0
24#define SYS_SAVE_CALLBACK_RESULT_NO_SPACE_LEFT -1
25#define SYS_SAVE_CALLBACK_RESULT_ERROR -2
26#define SYS_SAVE_CALLBACK_RESULT_CORRUPTED -3
27#define SYS_SAVE_CALLBACK_RESULT_NOT_FOUND -4
28#define SYS_SAVE_CALLBACK_RESULT_ERROR_CUSTOM -5
29
30/* Flags for the binding information */
31#define SYS_SAVE_BIND_NO_ERROR 0x00
32#define SYS_SAVE_BIND_ANOTHER_CONSOLE 0x01
33#define SYS_SAVE_BIND_ANOTHER_DISC 0x02
34#define SYS_SAVE_BIND_ANOTHER_APP 0x04
35#define SYS_SAVE_BIND_NO_USER_INFO 0x08
36#define SYS_SAVE_BIND_OTHER_USER 0x10
37
38/* Return values from the API calls */
39#define SYS_SAVE_RETURN_DONE 0
40#define SYS_SAVE_RETURN_CANCELED 1
41#define SYS_SAVE_RETURN_ERROR 0x8002b400
42
43#define SYS_SAVE_RETURN_ERROR_CALLBACK (SYS_SAVE_RETURN_ERROR | 1)
44#define SYS_SAVE_RETURN_ERROR_HDD_ERROR (SYS_SAVE_RETURN_ERROR | 2)
45#define SYS_SAVE_RETURN_ERROR_INTERNAL (SYS_SAVE_RETURN_ERROR | 3)
46#define SYS_SAVE_RETURN_ERROR_INVALID_ARG (SYS_SAVE_RETURN_ERROR | 4)
47#define SYS_SAVE_RETURN_ERROR_NO_SPACE_LEFT (SYS_SAVE_RETURN_ERROR | 5)
48#define SYS_SAVE_RETURN_ERROR_CORRUPTED (SYS_SAVE_RETURN_ERROR | 6)
49#define SYS_SAVE_RETURN_ERROR_FAILED (SYS_SAVE_RETURN_ERROR | 7)
50#define SYS_SAVE_RETURN_ERROR_ALREADY_IN_USE (SYS_SAVE_RETURN_ERROR | 8)
51
52#ifdef __cplusplus
53extern "C" {
54#endif
55
60
65
74
79
80
89
95
101
107
114
115typedef struct {
118 u32 reserved[6];
120 void *buffer ATTRIBUTE_PRXPTR;
122
123
124typedef struct {
128 char *customErrorMessage ATTRIBUTE_PRXPTR;
129 void *user_data ATTRIBUTE_PRXPTR;
131
132typedef struct {
133 char directoryName[SYS_SAVE_MAX_DIRECTORY_NAME];
134 char listParameter[SYS_SAVE_MAX_LIST_PARAMETER];
135 u8 reserved[8];
137
138typedef struct {
139 char *title ATTRIBUTE_PRXPTR;
141 void *iconBuffer ATTRIBUTE_PRXPTR;
142 void *reserved ATTRIBUTE_PRXPTR;
144
151
152typedef struct {
153 /* total directories found */
155 /* number of directories in directoryList */
157 /* list of directories found */
159 u8 reserved[64];
161
162typedef struct {
163 /* Where to put the focus of the cursor */
165 /* The name of the directory to focus to */
166 char *focusDirectoryName ATTRIBUTE_PRXPTR;
170 void *reserved ATTRIBUTE_PRXPTR;
172
173typedef struct {
174 time_t atime;
175 time_t mtime;
176 time_t ctime;
177 char directoryName[SYS_SAVE_MAX_DIRECTORY_NAME];
179
180typedef struct {
182 char subtitle[SYS_SAVE_MAX_SUBTITLE];
186 char listParameter[SYS_SAVE_MAX_LIST_PARAMETER];
187 u8 reserved[256];
189
190typedef struct {
192 u8 reserved1[4];
194 time_t atime;
195 time_t mtime;
196 time_t ctime;
198 u8 reserved2[3];
200
201typedef struct {
203 u32 isNew;
207 /* Size of the save data */
209 /* Size of system file */
211 /* total files in the save data */
213 /* Number of files in the the file list */
216 u8 reserved[64];
218
224
225typedef struct {
227 u8 reserved[64];
229
241
242typedef struct {
243 char *directoryName ATTRIBUTE_PRXPTR;
245 void *reserved ATTRIBUTE_PRXPTR;
247
249 sysSaveListIn *in, sysSaveListOut *out);
250
253
255 sysSaveFileIn *in, sysSaveFileOut *out);
256
259
260
261s32 sysSaveListLoad2 (u32 version,
262 sysSaveListSettings *listSettings,
263 sysSaveBufferSettings *bufferSettings,
264 sysSaveListCallback listCb,
265 sysSaveStatusCallback statusCb,
266 sysSaveFileCallback fileCb,
267 sys_mem_container_t container,
268 void *user_data);
269
270s32 sysSaveListSave2 (u32 version,
271 sysSaveListSettings *listSettings,
272 sysSaveBufferSettings *bufferSettings,
273 sysSaveListCallback listCb,
274 sysSaveStatusCallback statusCb,
275 sysSaveFileCallback fileCb,
276 sys_mem_container_t container,
277 void *user_data);
278
279s32 sysSaveListAutoLoad (u32 version,
280 sysSaveErrorDialogMode errorDialogMode,
281 sysSaveListSettings *listSettings,
282 sysSaveBufferSettings *bufferSettings,
283 sysSaveFixedCallback fixedCb,
284 sysSaveStatusCallback statusCb,
285 sysSaveFileCallback fileCb,
286 sys_mem_container_t container,
287 void *user_data);
288
289s32 sysSaveListAutoSave (u32 version,
290 sysSaveErrorDialogMode errorDialogMode,
291 sysSaveListSettings *listSettings,
292 sysSaveBufferSettings *bufferSettings,
293 sysSaveFixedCallback fixedCb,
294 sysSaveStatusCallback statusCb,
295 sysSaveFileCallback fileCb,
296 sys_mem_container_t container,
297 void *user_data);
298
299s32 sysSaveFixedLoad2 (u32 version,
300 sysSaveListSettings *listSettings,
301 sysSaveBufferSettings *bufferSettings,
302 sysSaveFixedCallback fixedCb,
303 sysSaveStatusCallback statusCb,
304 sysSaveFileCallback fileCb,
305 sys_mem_container_t container,
306 void *user_data);
307
308s32 sysSaveFixedSave2 (u32 version,
309 sysSaveListSettings *listSettings,
310 sysSaveBufferSettings *bufferSettings,
311 sysSaveFixedCallback fixedCb,
312 sysSaveStatusCallback statusCb,
313 sysSaveFileCallback fileCb,
314 sys_mem_container_t container,
315 void *user_data);
316
317s32 sysSaveAutoLoad2 (s32 version,
318 const char *directoryName,
319 sysSaveErrorDialogMode errorDialogMode,
320 sysSaveBufferSettings *bufferSettings,
321 sysSaveStatusCallback statusCb,
322 sysSaveFileCallback fileCb,
323 sys_mem_container_t container,
324 void *user_data);
325
326s32 sysSaveAutoSave2 (s32 version,
327 const char *directoryName,
328 sysSaveErrorDialogMode errorDialogMode,
329 sysSaveBufferSettings *bufferSettings,
330 sysSaveStatusCallback statusCb,
331 sysSaveFileCallback fileCb,
332 sys_mem_container_t container,
333 void *user_data);
334
335s32 sysSaveDelete2(sys_mem_container_t container);
336
337#ifdef __cplusplus
338 }
339#endif
340
341#endif
s32 sysSaveDelete2(sys_mem_container_t container)
#define SYS_SAVE_MAX_TITLE
Definition save.h:13
#define SYS_SAVE_MAX_PROTECTED_FILE_ID
Definition save.h:16
void(* sysSaveFileCallback)(sysSaveCallbackResult *result, sysSaveFileIn *in, sysSaveFileOut *out)
Definition save.h:254
s32 sysSaveListSave2(u32 version, sysSaveListSettings *listSettings, sysSaveBufferSettings *bufferSettings, sysSaveListCallback listCb, sysSaveStatusCallback statusCb, sysSaveFileCallback fileCb, sys_mem_container_t container, void *user_data)
s32 sysSaveListAutoSave(u32 version, sysSaveErrorDialogMode errorDialogMode, sysSaveListSettings *listSettings, sysSaveBufferSettings *bufferSettings, sysSaveFixedCallback fixedCb, sysSaveStatusCallback statusCb, sysSaveFileCallback fileCb, sys_mem_container_t container, void *user_data)
s32 sysSaveListAutoLoad(u32 version, sysSaveErrorDialogMode errorDialogMode, sysSaveListSettings *listSettings, sysSaveBufferSettings *bufferSettings, sysSaveFixedCallback fixedCb, sysSaveStatusCallback statusCb, sysSaveFileCallback fileCb, sys_mem_container_t container, void *user_data)
void(* sysSaveFixedCallback)(sysSaveCallbackResult *result, sysSaveListIn *in, sysSaveFixedOut *out)
Definition save.h:257
s32 sysSaveFixedLoad2(u32 version, sysSaveListSettings *listSettings, sysSaveBufferSettings *bufferSettings, sysSaveFixedCallback fixedCb, sysSaveStatusCallback statusCb, sysSaveFileCallback fileCb, sys_mem_container_t container, void *user_data)
s32 sysSaveFixedSave2(u32 version, sysSaveListSettings *listSettings, sysSaveBufferSettings *bufferSettings, sysSaveFixedCallback fixedCb, sysSaveStatusCallback statusCb, sysSaveFileCallback fileCb, sys_mem_container_t container, void *user_data)
sysSaveSortOrder
Definition save.h:61
@ SYS_SAVE_SORT_ORDER_ASCENDING
Definition save.h:63
@ SYS_SAVE_SORT_ORDER_DESCENDING
Definition save.h:62
void(* sysSaveStatusCallback)(sysSaveCallbackResult *result, sysSaveStatusIn *in, sysSaveStatusOut *out)
Definition save.h:251
void(* sysSaveListCallback)(sysSaveCallbackResult *result, sysSaveListIn *in, sysSaveListOut *out)
Definition save.h:248
#define SYS_SAVE_MAX_DIRECTORY_NAME
Definition save.h:8
s32 sysSaveAutoSave2(s32 version, const char *directoryName, sysSaveErrorDialogMode errorDialogMode, sysSaveBufferSettings *bufferSettings, sysSaveStatusCallback statusCb, sysSaveFileCallback fileCb, sys_mem_container_t container, void *user_data)
sysSaveRecreateMode
Definition save.h:90
@ SYS_SAVE_RECREATE_MODE_OVERWRITE_NOT_CORRUPTED
Definition save.h:92
@ SYS_SAVE_RECREATE_MODE_OVERWRITE_CORRUPTED
Definition save.h:91
@ SYS_SAVE_RECREATE_MODE_DELETE
Definition save.h:93
sysSaveNewSavePosition
Definition save.h:75
@ SYS_SAVE_NEW_SAVE_POSITION_BOTTOM
Definition save.h:77
@ SYS_SAVE_NEW_SAVE_POSITION_TOP
Definition save.h:76
sysSaveFileOperation
Definition save.h:96
@ SYS_SAVE_FILE_OPERATION_DELETE
Definition save.h:99
@ SYS_SAVE_FILE_OPERATION_READ
Definition save.h:97
@ SYS_SAVE_FILE_OPERATION_WRITE
Definition save.h:98
sysSaveFileType
Definition save.h:81
@ SYS_SAVE_FILETYPE_CONTENT_SND0
Definition save.h:87
@ SYS_SAVE_FILETYPE_CONTENT_ICON0
Definition save.h:84
@ SYS_SAVE_FILETYPE_CONTENT_PIC1
Definition save.h:86
@ SYS_SAVE_FILETYPE_PROTECTED_FILE
Definition save.h:82
@ SYS_SAVE_FILETYPE_STANDARD_FILE
Definition save.h:83
@ SYS_SAVE_FILETYPE_CONTENT_ICON1
Definition save.h:85
s32 sysSaveAutoLoad2(s32 version, const char *directoryName, sysSaveErrorDialogMode errorDialogMode, sysSaveBufferSettings *bufferSettings, sysSaveStatusCallback statusCb, sysSaveFileCallback fileCb, sys_mem_container_t container, void *user_data)
#define SYS_SAVE_MAX_FILE_NAME
Definition save.h:9
sysSaveFocusPosition
Definition save.h:66
@ SYS_SAVE_FOCUS_POSITION_DIRECTORY_NAME
Definition save.h:67
@ SYS_SAVE_FOCUS_POSITION_NEW_SAVE
Definition save.h:72
@ SYS_SAVE_FOCUS_POSITION_OLDEST
Definition save.h:71
@ SYS_SAVE_FOCUS_POSITION_LIST_TAIL
Definition save.h:69
@ SYS_SAVE_FOCUS_POSITION_LIST_HEAD
Definition save.h:68
@ SYS_SAVE_FOCUS_POSITION_LATEST
Definition save.h:70
sysSaveErrorDialogMode
Definition save.h:102
@ SYS_SAVE_ERROR_DIALOG_NONE
Definition save.h:103
@ SYS_SAVE_ERROR_DIALOG_SHOW_ONCE
Definition save.h:105
@ SYS_SAVE_ERROR_DIALOG_SHOW
Definition save.h:104
sysSaveSortType
Definition save.h:56
@ SYS_SAVE_SORT_TYPE_TITLE
Definition save.h:58
@ SYS_SAVE_SORT_TYPE_TIMESTAMP
Definition save.h:57
#define SYS_SAVE_MAX_SUBTITLE
Definition save.h:14
s32 sysSaveListLoad2(u32 version, sysSaveListSettings *listSettings, sysSaveBufferSettings *bufferSettings, sysSaveListCallback listCb, sysSaveStatusCallback statusCb, sysSaveFileCallback fileCb, sys_mem_container_t container, void *user_data)
#define SYS_SAVE_MAX_LIST_PARAMETER
Definition save.h:12
#define SYS_SAVE_MAX_DETAIL
Definition save.h:15
void *buffer ATTRIBUTE_PRXPTR
Definition save.h:120
char *customErrorMessage ATTRIBUTE_PRXPTR
Definition save.h:128
void *user_data ATTRIBUTE_PRXPTR
Definition save.h:129
u32 previousOperationResultSize
Definition save.h:226
u32 bufferSize
Definition save.h:238
void *reserved ATTRIBUTE_PRXPTR
Definition save.h:232
sysSaveFileOperation fileOperation
Definition save.h:231
void *buffer ATTRIBUTE_PRXPTR
Definition save.h:239
char *filename ATTRIBUTE_PRXPTR
Definition save.h:235
sysSaveFileType fileType
Definition save.h:233
time_t mtime
Definition save.h:195
time_t ctime
Definition save.h:196
time_t atime
Definition save.h:194
sysSaveFileType fileType
Definition save.h:191
char *directoryName ATTRIBUTE_PRXPTR
Definition save.h:243
sysSaveNewSaveGameIcon *icon ATTRIBUTE_PRXPTR
Definition save.h:244
void *reserved ATTRIBUTE_PRXPTR
Definition save.h:245
sysSaveDirectoryList *directoryList ATTRIBUTE_PRXPTR
Definition save.h:158
u32 maxDirectories
Definition save.h:154
u32 numDirectories
Definition save.h:156
void *reserved ATTRIBUTE_PRXPTR
Definition save.h:170
u32 numDirectories
Definition save.h:167
sysSaveNewSaveGame *newSaveGame ATTRIBUTE_PRXPTR
Definition save.h:169
char *focusDirectoryName ATTRIBUTE_PRXPTR
Definition save.h:166
sysSaveDirectoryList *directoryList ATTRIBUTE_PRXPTR
Definition save.h:168
sysSaveFocusPosition focus
Definition save.h:164
sysSaveSortType sortType
Definition save.h:109
char *pathPrefix ATTRIBUTE_PRXPTR
Definition save.h:111
void *reserved ATTRIBUTE_PRXPTR
Definition save.h:112
sysSaveSortOrder sortOrder
Definition save.h:110
void *iconBuffer ATTRIBUTE_PRXPTR
Definition save.h:141
void *reserved ATTRIBUTE_PRXPTR
Definition save.h:142
char *title ATTRIBUTE_PRXPTR
Definition save.h:139
char *directoryName ATTRIBUTE_PRXPTR
Definition save.h:147
sysSaveNewSavePosition position
Definition save.h:146
sysSaveNewSaveGameIcon *icon ATTRIBUTE_PRXPTR
Definition save.h:148
void *reserved ATTRIBUTE_PRXPTR
Definition save.h:149
sysSaveFileStatus *fileList ATTRIBUTE_PRXPTR
Definition save.h:215
sysSaveSystemFileParam getParam
Definition save.h:205
s32 systemSizeKB
Definition save.h:210
s32 freeSpaceKB
Definition save.h:202
u32 totalFiles
Definition save.h:212
sysSaveDirectoryStatus directoryStatus
Definition save.h:204
u32 bindingInformation
Definition save.h:206
sysSaveSystemFileParam *setParam ATTRIBUTE_PRXPTR
Definition save.h:220
sysSaveRecreateMode recreateMode
Definition save.h:221
void *reserved ATTRIBUTE_PRXPTR
Definition save.h:222