moved rsf stuff from user_set to rsf_set

This commit is contained in:
applestash
2014-07-15 21:19:58 +10:00
parent fc2ed91ad1
commit 83ac682594
6 changed files with 208 additions and 212 deletions
+2 -1
View File
@@ -30,7 +30,8 @@
#include "keyset.h"
#include "user_settings.h"
#include "libyaml/yaml.h"
#include "yaml_parser.h"
#include "rsf_settings.h"
+186 -1
View File
@@ -1,5 +1,4 @@
#include "lib.h"
#include "rsf_settings.h"
void EvaluateRSF(rsf_settings *rsf, ctr_yaml_context *ctx)
{
@@ -372,4 +371,190 @@ void GET_CommonHeaderKey(ctr_yaml_context *ctx, rsf_settings *rsf)
GetEvent(ctx);
}
FinishEvent(ctx);
}
void free_RsfSettings(rsf_settings *set)
{
//Option
free(set->Option.PageSize);
/*
for(u32 i = 0; i < set->Option.AppendSystemCallNum; i++){
free(set->Option.AppendSystemCall[i]);
}
free(set->Option.AppendSystemCall);
*/
//AccessControlInfo
//free(set->AccessControlInfo.ProgramId);
free(set->AccessControlInfo.IdealProcessor);
free(set->AccessControlInfo.Priority);
free(set->AccessControlInfo.MemoryType);
free(set->AccessControlInfo.SystemMode);
free(set->AccessControlInfo.CoreVersion);
free(set->AccessControlInfo.HandleTableSize);
free(set->AccessControlInfo.SystemSaveDataId1);
free(set->AccessControlInfo.SystemSaveDataId2);
free(set->AccessControlInfo.OtherUserSaveDataId1);
free(set->AccessControlInfo.OtherUserSaveDataId2);
free(set->AccessControlInfo.OtherUserSaveDataId3);
free(set->AccessControlInfo.ExtSaveDataId);
free(set->AccessControlInfo.SystemMode);
free(set->AccessControlInfo.AffinityMask);
free(set->AccessControlInfo.DescVersion);
//free(set->AccessControlInfo.CryptoKey);
free(set->AccessControlInfo.ResourceLimitCategory);
free(set->AccessControlInfo.ReleaseKernelMajor);
free(set->AccessControlInfo.ReleaseKernelMinor);
free(set->AccessControlInfo.MaxCpu);
for(u32 i = 0; i < set->AccessControlInfo.MemoryMappingNum; i++){
free(set->AccessControlInfo.MemoryMapping[i]);
}
free(set->AccessControlInfo.MemoryMapping);
for(u32 i = 0; i < set->AccessControlInfo.IORegisterMappingNum; i++){
free(set->AccessControlInfo.IORegisterMapping[i]);
}
free(set->AccessControlInfo.IORegisterMapping);
for(u32 i = 0; i < set->AccessControlInfo.FileSystemAccessNum; i++){
free(set->AccessControlInfo.FileSystemAccess[i]);
}
free(set->AccessControlInfo.FileSystemAccess);
for(u32 i = 0; i < set->AccessControlInfo.IoAccessControlNum; i++){
free(set->AccessControlInfo.IoAccessControl[i]);
}
free(set->AccessControlInfo.IoAccessControl);
for(u32 i = 0; i < set->AccessControlInfo.InterruptNumbersNum; i++){
free(set->AccessControlInfo.InterruptNumbers[i]);
}
free(set->AccessControlInfo.InterruptNumbers);
for(u32 i = 0; i < set->AccessControlInfo.SystemCallAccessNum; i++){
free(set->AccessControlInfo.SystemCallAccess[i]);
}
free(set->AccessControlInfo.SystemCallAccess);
for(u32 i = 0; i < set->AccessControlInfo.ServiceAccessControlNum; i++){
free(set->AccessControlInfo.ServiceAccessControl[i]);
}
free(set->AccessControlInfo.ServiceAccessControl);
for(u32 i = 0; i < set->AccessControlInfo.StorageIdNum; i++){
free(set->AccessControlInfo.StorageId[i]);
}
free(set->AccessControlInfo.StorageId);
for(u32 i = 0; i < set->AccessControlInfo.AccessibleSaveDataIdsNum; i++){
free(set->AccessControlInfo.AccessibleSaveDataIds[i]);
}
free(set->AccessControlInfo.AccessibleSaveDataIds);
//SystemControlInfo
free(set->SystemControlInfo.AppType);
free(set->SystemControlInfo.StackSize);
free(set->SystemControlInfo.RemasterVersion);
free(set->SystemControlInfo.SaveDataSize);
free(set->SystemControlInfo.JumpId);
for(u32 i = 0; i < set->SystemControlInfo.DependencyNum; i++){
free(set->SystemControlInfo.Dependency[i]);
}
free(set->SystemControlInfo.Dependency);
//BasicInfo
free(set->BasicInfo.Title);
free(set->BasicInfo.CompanyCode);
free(set->BasicInfo.ProductCode);
free(set->BasicInfo.ContentType);
free(set->BasicInfo.Logo);
//free(set->BasicInfo.BackupMemoryType);
//free(set->BasicInfo.InitialCode);
//Rom
free(set->Rom.HostRoot);
//free(set->Rom.Padding);
for(u32 i = 0; i < set->Rom.DefaultRejectNum; i++){
free(set->Rom.DefaultReject[i]);
}
free(set->Rom.DefaultReject);
for(u32 i = 0; i < set->Rom.RejectNum; i++){
free(set->Rom.Reject[i]);
}
free(set->Rom.Reject);
for(u32 i = 0; i < set->Rom.IncludeNum; i++){
free(set->Rom.Include[i]);
}
free(set->Rom.Include);
for(u32 i = 0; i < set->Rom.FileNum; i++){
free(set->Rom.File[i]);
}
free(set->Rom.File);
//ExeFs
for(u32 i = 0; i < set->ExeFs.TextNum; i++){
free(set->ExeFs.Text[i]);
}
free(set->ExeFs.Text);
for(u32 i = 0; i < set->ExeFs.ReadOnlyNum; i++){
free(set->ExeFs.ReadOnly[i]);
}
free(set->ExeFs.ReadOnly);
for(u32 i = 0; i < set->ExeFs.ReadWriteNum; i++){
free(set->ExeFs.ReadWrite[i]);
}
free(set->ExeFs.ReadWrite);
//PlainRegion
for(u32 i = 0; i < set->PlainRegionNum; i++){
free(set->PlainRegion[i]);
}
free(set->PlainRegion);
//TitleInfo
//free(set->TitleInfo.Platform);
free(set->TitleInfo.Category);
free(set->TitleInfo.UniqueId);
free(set->TitleInfo.Version);
free(set->TitleInfo.ContentsIndex);
free(set->TitleInfo.Variation);
//free(set->TitleInfo.Use);
free(set->TitleInfo.ChildIndex);
free(set->TitleInfo.DemoIndex);
free(set->TitleInfo.TargetCategory);
for(u32 i = 0; i < set->TitleInfo.CategoryFlagsNum; i++){
free(set->TitleInfo.CategoryFlags[i]);
}
free(set->TitleInfo.CategoryFlags);
//CardInfo
free(set->CardInfo.WritableAddress);
free(set->CardInfo.CardType);
free(set->CardInfo.CryptoType);
free(set->CardInfo.CardDevice);
free(set->CardInfo.MediaType);
free(set->CardInfo.MediaSize);
free(set->CardInfo.BackupWriteWaitTime);
free(set->CardInfo.SaveCrypto);
//CommonHeaderKey
free(set->CommonHeaderKey.D);
free(set->CommonHeaderKey.P);
free(set->CommonHeaderKey.Q);
free(set->CommonHeaderKey.DP);
free(set->CommonHeaderKey.DQ);
free(set->CommonHeaderKey.InverseQ);
free(set->CommonHeaderKey.Modulus);
free(set->CommonHeaderKey.Exponent);
free(set->CommonHeaderKey.AccCtlDescSign);
free(set->CommonHeaderKey.AccCtlDescBin);
}
+3 -2
View File
@@ -1,6 +1,5 @@
#pragma once
int MergeSpecData(rsf_settings *out, rsf_settings *desc, rsf_settings *rsf);
void EvaluateRSF(rsf_settings *rsf, ctr_yaml_context *ctx);
void GET_Option(ctr_yaml_context *ctx, rsf_settings *rsf);
@@ -12,4 +11,6 @@ void GET_ExeFs(ctr_yaml_context *ctx, rsf_settings *rsf);
void GET_PlainRegion(ctr_yaml_context *ctx, rsf_settings *rsf);
void GET_TitleInfo(ctr_yaml_context *ctx, rsf_settings *rsf);
void GET_CardInfo(ctr_yaml_context *ctx, rsf_settings *rsf);
void GET_CommonHeaderKey(ctr_yaml_context *ctx, rsf_settings *rsf);
void GET_CommonHeaderKey(ctr_yaml_context *ctx, rsf_settings *rsf);
void free_RsfSettings(rsf_settings *set);
-187
View File
@@ -715,193 +715,6 @@ void init_UserSettings(user_settings *usr_settings)
memset(usr_settings,0,sizeof(user_settings));
}
void free_RsfSettings(rsf_settings *set)
{
//Option
free(set->Option.PageSize);
/*
for(u32 i = 0; i < set->Option.AppendSystemCallNum; i++){
free(set->Option.AppendSystemCall[i]);
}
free(set->Option.AppendSystemCall);
*/
//AccessControlInfo
//free(set->AccessControlInfo.ProgramId);
free(set->AccessControlInfo.IdealProcessor);
free(set->AccessControlInfo.Priority);
free(set->AccessControlInfo.MemoryType);
free(set->AccessControlInfo.SystemMode);
free(set->AccessControlInfo.CoreVersion);
free(set->AccessControlInfo.HandleTableSize);
free(set->AccessControlInfo.SystemSaveDataId1);
free(set->AccessControlInfo.SystemSaveDataId2);
free(set->AccessControlInfo.OtherUserSaveDataId1);
free(set->AccessControlInfo.OtherUserSaveDataId2);
free(set->AccessControlInfo.OtherUserSaveDataId3);
free(set->AccessControlInfo.ExtSaveDataId);
free(set->AccessControlInfo.SystemMode);
free(set->AccessControlInfo.AffinityMask);
free(set->AccessControlInfo.DescVersion);
//free(set->AccessControlInfo.CryptoKey);
free(set->AccessControlInfo.ResourceLimitCategory);
free(set->AccessControlInfo.ReleaseKernelMajor);
free(set->AccessControlInfo.ReleaseKernelMinor);
free(set->AccessControlInfo.MaxCpu);
for(u32 i = 0; i < set->AccessControlInfo.MemoryMappingNum; i++){
free(set->AccessControlInfo.MemoryMapping[i]);
}
free(set->AccessControlInfo.MemoryMapping);
for(u32 i = 0; i < set->AccessControlInfo.IORegisterMappingNum; i++){
free(set->AccessControlInfo.IORegisterMapping[i]);
}
free(set->AccessControlInfo.IORegisterMapping);
for(u32 i = 0; i < set->AccessControlInfo.FileSystemAccessNum; i++){
free(set->AccessControlInfo.FileSystemAccess[i]);
}
free(set->AccessControlInfo.FileSystemAccess);
for(u32 i = 0; i < set->AccessControlInfo.IoAccessControlNum; i++){
free(set->AccessControlInfo.IoAccessControl[i]);
}
free(set->AccessControlInfo.IoAccessControl);
for(u32 i = 0; i < set->AccessControlInfo.InterruptNumbersNum; i++){
free(set->AccessControlInfo.InterruptNumbers[i]);
}
free(set->AccessControlInfo.InterruptNumbers);
for(u32 i = 0; i < set->AccessControlInfo.SystemCallAccessNum; i++){
free(set->AccessControlInfo.SystemCallAccess[i]);
}
free(set->AccessControlInfo.SystemCallAccess);
for(u32 i = 0; i < set->AccessControlInfo.ServiceAccessControlNum; i++){
free(set->AccessControlInfo.ServiceAccessControl[i]);
}
free(set->AccessControlInfo.ServiceAccessControl);
for(u32 i = 0; i < set->AccessControlInfo.StorageIdNum; i++){
free(set->AccessControlInfo.StorageId[i]);
}
free(set->AccessControlInfo.StorageId);
for(u32 i = 0; i < set->AccessControlInfo.AccessibleSaveDataIdsNum; i++){
free(set->AccessControlInfo.AccessibleSaveDataIds[i]);
}
free(set->AccessControlInfo.AccessibleSaveDataIds);
//SystemControlInfo
free(set->SystemControlInfo.AppType);
free(set->SystemControlInfo.StackSize);
free(set->SystemControlInfo.RemasterVersion);
free(set->SystemControlInfo.SaveDataSize);
free(set->SystemControlInfo.JumpId);
for(u32 i = 0; i < set->SystemControlInfo.DependencyNum; i++){
free(set->SystemControlInfo.Dependency[i]);
}
free(set->SystemControlInfo.Dependency);
//BasicInfo
free(set->BasicInfo.Title);
free(set->BasicInfo.CompanyCode);
free(set->BasicInfo.ProductCode);
free(set->BasicInfo.ContentType);
free(set->BasicInfo.Logo);
//free(set->BasicInfo.BackupMemoryType);
//free(set->BasicInfo.InitialCode);
//Rom
free(set->Rom.HostRoot);
//free(set->Rom.Padding);
for(u32 i = 0; i < set->Rom.DefaultRejectNum; i++){
free(set->Rom.DefaultReject[i]);
}
free(set->Rom.DefaultReject);
for(u32 i = 0; i < set->Rom.RejectNum; i++){
free(set->Rom.Reject[i]);
}
free(set->Rom.Reject);
for(u32 i = 0; i < set->Rom.IncludeNum; i++){
free(set->Rom.Include[i]);
}
free(set->Rom.Include);
for(u32 i = 0; i < set->Rom.FileNum; i++){
free(set->Rom.File[i]);
}
free(set->Rom.File);
//ExeFs
for(u32 i = 0; i < set->ExeFs.TextNum; i++){
free(set->ExeFs.Text[i]);
}
free(set->ExeFs.Text);
for(u32 i = 0; i < set->ExeFs.ReadOnlyNum; i++){
free(set->ExeFs.ReadOnly[i]);
}
free(set->ExeFs.ReadOnly);
for(u32 i = 0; i < set->ExeFs.ReadWriteNum; i++){
free(set->ExeFs.ReadWrite[i]);
}
free(set->ExeFs.ReadWrite);
//PlainRegion
for(u32 i = 0; i < set->PlainRegionNum; i++){
free(set->PlainRegion[i]);
}
free(set->PlainRegion);
//TitleInfo
//free(set->TitleInfo.Platform);
free(set->TitleInfo.Category);
free(set->TitleInfo.UniqueId);
free(set->TitleInfo.Version);
free(set->TitleInfo.ContentsIndex);
free(set->TitleInfo.Variation);
//free(set->TitleInfo.Use);
free(set->TitleInfo.ChildIndex);
free(set->TitleInfo.DemoIndex);
free(set->TitleInfo.TargetCategory);
for(u32 i = 0; i < set->TitleInfo.CategoryFlagsNum; i++){
free(set->TitleInfo.CategoryFlags[i]);
}
free(set->TitleInfo.CategoryFlags);
//CardInfo
free(set->CardInfo.WritableAddress);
free(set->CardInfo.CardType);
free(set->CardInfo.CryptoType);
free(set->CardInfo.CardDevice);
free(set->CardInfo.MediaType);
free(set->CardInfo.MediaSize);
free(set->CardInfo.BackupWriteWaitTime);
free(set->CardInfo.SaveCrypto);
//CommonHeaderKey
free(set->CommonHeaderKey.D);
free(set->CommonHeaderKey.P);
free(set->CommonHeaderKey.Q);
free(set->CommonHeaderKey.DP);
free(set->CommonHeaderKey.DQ);
free(set->CommonHeaderKey.InverseQ);
free(set->CommonHeaderKey.Modulus);
free(set->CommonHeaderKey.Exponent);
free(set->CommonHeaderKey.AccCtlDescSign);
free(set->CommonHeaderKey.AccCtlDescBin);
}
void free_UserSettings(user_settings *usr_settings)
{
// Free Content Paths
+15 -21
View File
@@ -49,20 +49,6 @@ typedef enum
NCCH
} output_format;
typedef struct
{
char *name;
char *value;
} dname_item;
typedef struct
{
dname_item *items;
u32 m_items;
u32 u_items;
} dname_struct;
static const char output_extention[4][5] = {".cxi",".cfa",".cci",".cia"};
/* This does not follow style, so the rsf string names match the variables where they're stored */
@@ -244,6 +230,19 @@ typedef struct
} CommonHeaderKey;
} rsf_settings;
typedef struct
{
char *name;
char *value;
} dname_item;
typedef struct
{
dname_item *items;
u32 m_items;
u32 u_items;
} dname_struct;
typedef struct
{
struct{
@@ -302,16 +301,11 @@ typedef struct
u16 titleVersion[3];
u64 contentId[CIA_MAX_CONTENT]; // For CIA
} cia; // CIA Settings
} cia; // CIA Settings
} user_settings;
// Prototypes
void init_UserSettings(user_settings *usr_settings);
void free_UserSettings(user_settings *usr_settings);
int ParseArgs(int argc, char *argv[], user_settings *usr_settings);
void ReadYAMLtest(char *filepath);
void free_RsfSettings(rsf_settings *set);
int ParseArgs(int argc, char *argv[], user_settings *usr_settings);
+2
View File
@@ -1,5 +1,7 @@
#pragma once
#include "libyaml/yaml.h"
typedef enum
{
YAML_API_ERROR = -1,