// Copyright 2015 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.

#include "core/hle/service/cfg/cfg.h"
#include "core/hle/service/cfg/cfg_s.h"

namespace Service {
namespace CFG {

const Interface::FunctionInfo FunctionTable[] = {
    // cfg common
    {0x00010082, GetConfigInfoBlk2, "GetConfigInfoBlk2"},
    {0x00020000, SecureInfoGetRegion, "SecureInfoGetRegion"},
    {0x00030040, GenHashConsoleUnique, "GenHashConsoleUnique"},
    {0x00040000, GetRegionCanadaUSA, "GetRegionCanadaUSA"},
    {0x00050000, GetSystemModel, "GetSystemModel"},
    {0x00060000, GetModelNintendo2DS, "GetModelNintendo2DS"},
    {0x00070040, nullptr, "WriteToFirstByteCfgSavegame"},
    {0x00080080, nullptr, "GoThroughTable"},
    {0x00090040, GetCountryCodeString, "GetCountryCodeString"},
    {0x000A0040, GetCountryCodeID, "GetCountryCodeID"},
    {0x000B0000, nullptr, "IsFangateSupported"},
    // cfg:s
    {0x04010082, GetConfigInfoBlk8, "GetConfigInfoBlk8"},
    {0x04020082, SetConfigInfoBlk4, "SetConfigInfoBlk4"},
    {0x04030000, UpdateConfigNANDSavegame, "UpdateConfigNANDSavegame"},
    {0x04040042, nullptr, "GetLocalFriendCodeSeedData"},
    {0x04050000, nullptr, "GetLocalFriendCodeSeed"},
    {0x04060000, nullptr, "SecureInfoGetRegion"},
    {0x04070000, nullptr, "SecureInfoGetByte101"},
    {0x04080042, nullptr, "SecureInfoGetSerialNo"},
    {0x04090000, nullptr, "UpdateConfigBlk00040003"},
};

CFG_S::CFG_S() {
    Register(FunctionTable);
}

} // namespace CFG
} // namespace Service
