2016-04-10 19:04:50 -07:00

86 lines
1.9 KiB
C

#pragma once
#include <sys/syslimits.h>
#include "../../list.h"
typedef struct {
char shortDescription[0x100];
char longDescription[0x200];
char publisher[0x100];
u32 texture;
} smdh_info;
typedef struct {
u64 titleId;
u16 version;
u64 installedSizeSD;
u64 installedSizeNAND;
bool hasSmdh;
smdh_info smdhInfo;
} cia_info;
typedef struct {
FS_Archive* archive;
char name[NAME_MAX];
char path[PATH_MAX];
bool isDirectory;
bool containsCias;
u64 size;
bool isCia;
cia_info ciaInfo;
} file_info;
typedef struct {
FS_MediaType mediaType;
u64 titleId;
char productCode[0x10];
u16 version;
u64 installedSize;
bool hasSmdh;
smdh_info smdhInfo;
} title_info;
typedef struct {
FS_MediaType mediaType;
u64 titleId;
u16 version;
} pending_title_info;
typedef struct {
u64 ticketId;
} ticket_info;
typedef struct {
FS_MediaType mediaType;
u64 extSaveDataId;
bool shared;
bool hasSmdh;
smdh_info smdhInfo;
} ext_save_data_info;
typedef struct {
u32 systemSaveDataId;
} system_save_data_info;
typedef struct {
bool finished;
bool failed;
bool cancelled;
bool ioerr;
bool wrongSystem;
Result result;
int ioerrno;
} install_cia_result;
bool task_is_quit_all();
void task_quit_all();
Handle task_populate_ext_save_data(list_item* items, u32* count, u32 max);
Handle task_populate_files(list_item* items, u32* count, u32 max, FS_Archive* archive, const char* path);
Handle task_populate_pending_titles(list_item* items, u32* count, u32 max);
Handle task_populate_system_save_data(list_item* items, u32* count, u32 max);
Handle task_populate_tickets(list_item* items, u32* count, u32 max);
Handle task_populate_titles(list_item* items, u32* count, u32 max);
Handle task_install_cia(install_cia_result* result, FS_MediaType dest, u64 size, void* data, Result (*read)(void* data, u32* bytesRead, void* buffer, u32 size));