libctru/libctru/include/3ds/services/ns.h
2018-03-09 12:22:38 +01:00

51 lines
1.6 KiB
C

/**
* @file ns.h
* @brief NS (Nintendo Shell) service.
*/
#pragma once
/// Initializes NS.
Result nsInit(void);
/// Exits NS.
void nsExit(void);
/**
* @brief Launches a title and the required firmware (only if necessary).
* @param titleid ID of the title to launch, 0 for gamecard, JPN System Settings' titleID for System Settings.
*/
Result NS_LaunchFIRM(u64 titleid);
/**
* @brief Launches a title.
* @param titleid ID of the title to launch, or 0 for gamecard.
* @param launch_flags Flags used when launching the title.
* @param procid Pointer to write the process ID of the launched title to.
*/
Result NS_LaunchTitle(u64 titleid, u32 launch_flags, u32 *procid);
/// Terminates the application from which this function is called
Result NS_TerminateTitle(void);
/**
* @brief Launches a title and the required firmware.
* @param titleid ID of the title to launch, 0 for gamecard.
* @param flags Flags for firm-launch. bit0: require an application title-info structure in FIRM paramters to be specified via FIRM parameters. bit1: if clear, NS will check certain Configuration Memory fields.
*/
Result NS_LaunchApplicationFIRM(u64 titleid, u32 flags);
/**
* @brief Reboots to a title.
* @param mediatype Mediatype of the title.
* @param titleid ID of the title to launch.
*/
Result NS_RebootToTitle(u8 mediatype, u64 titleid);
/**
* @brief Terminates the process with the specified titleid.
* @param titleid ID of the title to terminate.
* @param timeout Timeout in nanoseconds. Pass 0 if not required.
*/
Result NS_TerminateProcessTID(u64 titleid, u64 timeout);
/// Reboots the system
Result NS_RebootSystem(void);