includes { client_header: "nn/Handle.h", "nn/Result.h", "nn/types.h", "nn/ndm/CTR/ndm_Types.h"; client_source: "nn/ndm/CTR/ndm_Interface.h"; server_header: "nn/Handle.h", "nn/Result.h", "nn/types.h", "ndm_InterfaceImpl.h"; server_source: "nn/ndm/CTR/ndm_Interface.h", "ndm_InterfaceServer.h", "nn/svc.h"; } types nn { abstract struct Result { bit32 value; }; abstract struct Handle { bit32 value; }; abstract struct MoveHandle { bit32 value; }; abstract struct ProcessId { bit32 value; }; } types nn::ndm::CTR { abstract struct DaemonName { s32 value; }; } module nn::ndm::CTR::Interface { Result EnterExclusiveState( in ProcessId processId, in s32 mode ); Result LeaveExclusiveState( in ProcessId processId ); Result QueryExclusiveMode( out s32 pMode ); Result LockState( in ProcessId processId ); Result UnlockState( in ProcessId processId ); Result SuspendDaemons( in bit32 mask ); Result ResumeDaemons( in bit32 mask ); Result SuspendScheduler( in bool bAsync ); Result ResumeScheduler( ); // Debug Result GetCurrentState( out s32 pState ); Result GetTargetState( out s32 pState ); Result GetStateChangedEvent( out Handle hEvent ); Result QueryStatus( in DaemonName name, out s32 pStatus ); Result GetDaemonDisableCount( in DaemonName name, out s32 pCount, out s32 pCountTotal ); Result GetSchedulerDisableCount( out s32 pCount, out s32 pCountTotal ); Result SetScanInterval( in s32 interval ); Result GetScanInterval( out s32 pInterval ); Result SetRetryInterval( in s32 interval ); Result GetRetryInterval( out s32 pInterval ); // SDK 2.2 Result OverrideDefaultDaemons( in bit32 mask ); Result ResetDefaultDaemons( ); Result GetDefaultDaemons( out bit32 pMask ); }