Nn vctl.rpl

From WiiUBrew
Jump to navigation Jump to search

nn_vctl.rpl is the Cafe OS library for version control.

Known Source Files

vctl_Entry.cpp
vctl_Accessor.cpp
vctl_Api.cpp
vctl_Install.cpp
vctl_VersionControl.cpp

Possible source directory: cafe_sdk/system/src/cafe/cos/nn/vctl/

Old source directory (pre 2.08): cafe_sdk/system/src/iop/lib/nn/vctl/

Functions

Function names listed below are under the namespace nn::vctl.

Name Prototype Description
Initialize nn::vctl::Initialize(void) Initialises the version control library.
Finalize nn::vctl::Finalize(void) Cleans up and closes the version control library.
GetTentativeUpdateInfo nn::vctl::GetTentativeUpdateInfo(nn::vctl::UpdateInfo* updateInfo, u64 titleId, nn::Cafe::MediaType mediaType)
GetUpdateInfo nn::vctl::GetUpdateInfo(nn::vctl::UpdateInfo* updateInfo, u64 titleId, nn::Cafe::MediaType mediaType, nn::vctl::UpdateInfoOption option)
GetUpdateInfo nn::vctl::GetUpdateInfo(nn::vctl::UpdateInfo* updateInfo, u64 titleId, nn::Cafe::MediaType mediaType)
GetTitleVersionInfo nn::vctl::GetTitleVersionInfo(nn::vctl::TitleVersionInfo* versionInfo, u64 titleId, nn::Cafe::MediaType mediaType Gets version info about a specified title.
GetInstallContentIndicies nn::vctl::GetInstallContentIndicies(u32*, u16*, u32, const char*, u64 titleId, nn::Cafe::MediaType mediaType
GetInstalledContentIds nn::vctl::GetInstallContentIds(u32*, u32*, u32, const char*, u64 titleId, nn::Cafe::MediaType mediaType
GetInstallRequiredSize nn::vctl::GetInstallRequiredSize(u64* pSize, const char*, u64 titleId, nn::Cafe::MediaType mediaType

Definitions

Definitions listed below are under the namespace nn::vctl.

Structs

UpdateInfo

typedef struct {
   u64 updateTitleId;
   nn::Cafe::MediaType updateMediaType;
   nn::Cafe::TitleType updateTitleType;
   u16 latestVersion;
   u16 oldVersion;
   u16 hasUpdateTitle;
   u32 versionState;
   u8 unk[6]; // seemingly unused - memcpy confirms that the size of the struct is 0x20.
} UpdateInfo;

TitleVersionInfo

typedef struct {
   u16 currentVersion;
   u16 requiredVersion;
   bool needUpdate;
} TitleVersionInfo;

Enums

UpdateInfoOption

typdef enum {
   UPDATE_INFO_OPTION_NORMAL = 0,
   UPDATE_INFO_OPTION_SKIP_TARGET_CHECK = (1 << 0), // unattested: skips GetTargetTitleInfo when no MediaType given.
   UPDATE_INFO_OPTION_TENTATIVE = (1 << 1),
} UpdateInfoOption