Files
Project_CTR/makerom/src/cia.h
T
Jack cc707c160f Modernize MakeROM build system + bug fixes (#120)
* Move files around to new directory structure

* Rework libyaml into a stand-alone dep for makerom.

* Rework libpolarssl to be standalone dependency for makerom.

* Update includes.

* Delete makefile

* Add new makefile for makerom.

* Update MakeROM github actions script.

* Fix again.

* Update MakeROM's makefile

* Tweak makerom build script

* Tweak MakeROM build script.

* Fix typo

* Update MakeROM makefiles.

* Tweak CTRTool build script.

* Tweak build script

* Tweak CTRTool build script.

* Tweak CTRTool build script

* Add libmbedtls to makerom deps

* Partially migrate makerom to libmbedtls

* Break out libblz as an external dependency for makerom.

* Tweak makerom build script.

* Move dependencies to the top level.

* Put everything back.

* misc

* Update makerom documentation.

* Link to ctrtool/makerom readmes from the root readme.

* Update root readme again.

* Migrate makerom to modern mbedtls

* Bump makerom version to 0.18.1

* Change signing errors to be warnings when they fail.

* Add error verbosity to errors when generating CIA files.

* Fix bug in RSA code.

* misc.

* Remove polarssl now migration to mbedtls complete.

* Surface more makerom errors.

* [makerom] Tolerate CCI signing errors as a warning.

* Add missing return.

* Import initial data key_x (prod/dev included)

* [makerom] Fix initial data generation.
2022-04-17 10:49:05 +08:00

27 lines
428 B
C

#pragma once
// Structs
typedef struct
{
u8 hdrSize[4];
u8 type[2];
u8 version[2];
u8 certChainSize[4];
u8 tikSize[4];
u8 tmdSize[4];
u8 metaSize[4];
u8 contentSize[8];
u8 contentIndex[0x2000];
} cia_hdr;
typedef struct
{
u8 dependencyList[0x30*0x8];
u8 padding0[0x180];
u8 coreVersion[4];
u8 padding1[0xfc];
} cia_metadata;
int CryptContent(u8 *input, u8 *output, u64 size, u8 *title_key, u16 index, u8 mode);