64 lines
1.8 KiB
C
64 lines
1.8 KiB
C
/**
|
|
* @file fsReg.h
|
|
* @brief Filesystem registry service
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <3ds/exheader.h>
|
|
#include <3ds/services/fs.h>
|
|
|
|
/// Initializes fs:REG.
|
|
Result fsRegInit(void);
|
|
|
|
/// Exits fs:REG.
|
|
void fsRegExit(void);
|
|
|
|
/**
|
|
* @brief Gets the current fs:REG session handle.
|
|
* @return The current fs:REG session handle.
|
|
*/
|
|
Handle *fsRegGetSessionHandle(void);
|
|
|
|
/**
|
|
* @brief Registers a program's storage information.
|
|
* @param pid The Process ID of the program.
|
|
* @param programHandle The program handle.
|
|
* @param programInfo Information about the program.
|
|
* @param storageInfo Storage information to register.
|
|
*/
|
|
Result FSREG_Register(u32 pid, u64 programHandle, const FS_ProgramInfo *programInfo, const ExHeader_Arm11StorageInfo *storageInfo);
|
|
|
|
/**
|
|
* @brief Unregisters a program's storage information.
|
|
* @param pid The Process ID of the program.
|
|
*/
|
|
Result FSREG_Unregister(u32 pid);
|
|
|
|
/**
|
|
* @brief Retrives the exheader information set(s) (SCI+ACI) about a program.
|
|
* @param exheaderInfos[out] Pointer to the output exheader information set(s).
|
|
* @param maxNumEntries The maximum number of entries.
|
|
* @param programHandle The program handle.
|
|
*/
|
|
Result FSREG_GetProgramInfo(ExHeader_Info *exheaderInfos, u32 maxNumEntries, u64 programHandle);
|
|
|
|
/**
|
|
* @brief Loads a program.
|
|
* @param programHandle[out] Pointer to the output the program handle to.
|
|
* @param programInfo Information about the program to load.
|
|
*/
|
|
Result FSREG_LoadProgram(u64 *programHandle, const FS_ProgramInfo *programInfo);
|
|
|
|
/**
|
|
* @brief Unloads a program.
|
|
* @param programHandle The program handle.
|
|
*/
|
|
Result FSREG_UnloadProgram(u64 programHandle);
|
|
|
|
/**
|
|
* @brief Checks if a program has been loaded by fs:REG.
|
|
* @param programHandle The program handle.
|
|
*/
|
|
Result FSREG_CheckHostLoadId(u64 programHandle);
|