libnx  v4.6.0
Data Structures | Enumerations | Functions
pm.h File Reference

Process management (pm*) service IPC wrapper. More...

#include "../types.h"
#include "../kernel/event.h"
#include "../sf/service.h"
#include "../services/ncm_types.h"

Go to the source code of this file.

Data Structures

struct  PmProcessEventInfo
 ProcessEventInfo. More...
 
struct  PmResourceLimitValues
 ResourceLimitValues. More...
 

Enumerations

enum  PmLaunchFlag {
  PmLaunchFlag_None = 0 ,
  PmLaunchFlag_SignalOnExit = (1 << 0) ,
  PmLaunchFlag_SignalOnStart = (1 << 1) ,
  PmLaunchFlag_SignalOnCrash = (1 << 2) ,
  PmLaunchFlag_SignalOnDebug = (1 << 3) ,
  PmLaunchFlag_StartSuspended = (1 << 4) ,
  PmLaunchFlag_DisableAslr = (1 << 5) ,
  PmLaunchFlagOld_SignalOnExit = (1 << 0) ,
  PmLaunchFlagOld_StartSuspended = (1 << 1) ,
  PmLaunchFlagOld_SignalOnCrash = (1 << 2) ,
  PmLaunchFlagOld_DisableAslr = (1 << 3) ,
  PmLaunchFlagOld_SignalOnDebug = (1 << 4) ,
  PmLaunchFlagOld_SignalOnStart = (1 << 5)
}
 LaunchFlag. More...
 
enum  PmProcessEvent {
  PmProcessEvent_None = 0 ,
  PmProcessEvent_Exit = 1 ,
  PmProcessEvent_Start = 2 ,
  PmProcessEvent_Crash = 3 ,
  PmProcessEvent_DebugStart = 4 ,
  PmProcessEvent_DebugBreak = 5
}
 ProcessEvent.
 
enum  PmBootMode {
  PmBootMode_Normal = 0 ,
  PmBootMode_Maintenance = 1 ,
  PmBootMode_SafeMode = 2
}
 BootMode. More...
 

Functions

Result pmdmntInitialize (void)
 Initialize pm:dmnt.
 
void pmdmntExit (void)
 Exit pm:dmnt.
 
ServicepmdmntGetServiceSession (void)
 Gets the Service object for the actual pm:dmnt service session.
 
Result pminfoInitialize (void)
 Initialize pm:info.
 
void pminfoExit (void)
 Exit pm:info.
 
ServicepminfoGetServiceSession (void)
 Gets the Service object for the actual pm:info service session.
 
Result pmshellInitialize (void)
 Initialize pm:shell.
 
void pmshellExit (void)
 Exit pm:shell.
 
ServicepmshellGetServiceSession (void)
 Gets the Service object for the actual pm:shell service session.
 
Result pmbmInitialize (void)
 Initialize pm:bm.
 
void pmbmExit (void)
 Exit pm:bm.
 
ServicepmbmGetServiceSession (void)
 Gets the Service object for the actual pm:bm service session.
 
Result pmbmGetBootMode (PmBootMode *out)
 Gets the PmBootMode. More...
 
Result pmbmSetMaintenanceBoot (void)
 Sets the PmBootMode to PmBootMode_Maintenance.
 
Result pmdmntGetJitDebugProcessIdList (u32 *out_count, u64 *out_pids, size_t max_pids)
 
Result pmdmntStartProcess (u64 pid)
 
Result pmdmntGetProcessId (u64 *pid_out, u64 program_id)
 
Result pmdmntHookToCreateProcess (Event *out, u64 program_id)
 
Result pmdmntGetApplicationProcessId (u64 *pid_out)
 
Result pmdmntHookToCreateApplicationProcess (Event *out)
 
Result pmdmntClearHook (u32 which)
 
Result pmdmntGetProgramId (u64 *program_id_out, u64 pid)
 
Result pminfoGetProgramId (u64 *program_id_out, u64 pid)
 
Result pminfoGetAppletCurrentResourceLimitValues (PmResourceLimitValues *out)
 
Result pminfoGetAppletPeakResourceLimitValues (PmResourceLimitValues *out)
 
Result pmshellLaunchProgram (u32 launch_flags, const NcmProgramLocation *location, u64 *pid)
 
Result pmshellTerminateProcess (u64 processID)
 
Result pmshellTerminateProgram (u64 program_id)
 
Result pmshellGetProcessEventHandle (Event *out)
 
Result pmshellGetProcessEventInfo (PmProcessEventInfo *out)
 
Result pmshellCleanupProcess (u64 pid)
 
Result pmshellClearJitDebugOccured (u64 pid)
 
Result pmshellNotifyBootFinished (void)
 
Result pmshellGetApplicationProcessIdForShell (u64 *pid_out)
 
Result pmshellBoostSystemMemoryResourceLimit (u64 boost_size)
 
Result pmshellBoostApplicationThreadResourceLimit (void)
 
Result pmshellBoostSystemThreadResourceLimit (void)
 

Detailed Description

Process management (pm*) service IPC wrapper.

Author
plutoo
yellows8
mdbell

Enumeration Type Documentation

◆ PmBootMode

enum PmBootMode

BootMode.

Enumerator
PmBootMode_Normal 

Normal.

PmBootMode_Maintenance 

Maintenance.

PmBootMode_SafeMode 

SafeMode.

◆ PmLaunchFlag

LaunchFlag.

Enumerator
PmLaunchFlag_None 

PmLaunchFlag_* should be used on [5.0.0+].

PmLaunchFlag_DisableAslr 

PmLaunchFlagOld_* should be used on [1.0.0-4.1.0].

PmLaunchFlagOld_SignalOnDebug 

PmLaunchFlagOld_SignalOnStart is only available on [2.0.0+].

Function Documentation

◆ pmbmGetBootMode()

Result pmbmGetBootMode ( PmBootMode out)

Gets the PmBootMode.

Parameters
[out]outPmBootMode