1
0
Fork 0
mirror of https://github.com/DarkMatterCore/nxdumptool.git synced 2024-10-19 03:41:44 +01:00
nxdumptool/source/dumper.h

34 lines
1.6 KiB
C
Raw Normal View History

2018-05-15 17:00:19 +01:00
#pragma once
#ifndef __DUMPER_H__
#define __DUMPER_H__
2018-05-15 17:00:19 +01:00
#include <switch.h>
2019-06-05 23:44:18 +01:00
#include "util.h"
2018-05-15 17:00:19 +01:00
2019-05-01 21:24:13 +01:00
#define DUMP_BUFFER_SIZE (u64)0x100000 // 1 MiB (1048576 bytes)
2019-04-21 17:27:33 +01:00
#define ISTORAGE_PARTITION_CNT 2
2019-05-01 21:24:13 +01:00
#define FAT32_FILESIZE_LIMIT (u64)0xFFFFFFFF // 4 GiB - 1 (4294967295 bytes)
#define SPLIT_FILE_XCI_PART_SIZE (u64)0xFFFF8000 // 4 GiB - 0x8000 (4294934528 bytes) (based on XCI-Cutter)
#define SPLIT_FILE_NSP_PART_SIZE (u64)0xFFFF0000 // 4 GiB - 0x10000 (4294901760 bytes) (based on splitNSP.py)
#define SPLIT_FILE_GENERIC_PART_SIZE SPLIT_FILE_XCI_PART_SIZE
2019-04-21 17:27:33 +01:00
#define CERT_OFFSET 0x7000
#define CERT_SIZE 0x200
2019-06-05 23:44:18 +01:00
#define SMOOTHING_FACTOR (double)0.05
2018-06-26 02:11:18 +01:00
2019-05-01 21:24:13 +01:00
void workaroundPartitionZeroAccess(FsDeviceOperator* fsOperator);
2019-06-05 23:44:18 +01:00
bool dumpCartridgeImage(FsDeviceOperator* fsOperator, bool isFat32, bool setXciArchiveBit, bool dumpCert, bool trimDump, bool calcCrc);
bool dumpNintendoSubmissionPackage(FsDeviceOperator* fsOperator, nspDumpType selectedNspDumpType, u32 titleIndex, bool isFat32, bool calcCrc);
bool dumpRawHfs0Partition(FsDeviceOperator* fsOperator, u32 partition, bool doSplitting);
bool dumpHfs0PartitionData(FsDeviceOperator* fsOperator, u32 partition);
bool dumpFileFromHfs0Partition(FsDeviceOperator* fsOperator, u32 partition, u32 file, char *filename);
bool dumpRomFsSectionData(FsDeviceOperator* fsOperator, u32 appIndex);
bool dumpFileFromRomFsSection(u32 appIndex, u32 file_offset, bool doSplitting);
bool dumpGameCertificate(FsDeviceOperator *fsOperator);
#endif