1includes 2{ 3 client_header: 4 "nn/Handle.h", 5 "nn/Result.h", 6 "nn/types.h", 7 "nn/ndm/CTR/ndm_Types.h"; 8 9 client_source: 10 "nn/ndm/CTR/ndm_Interface.h"; 11 12 server_header: 13 "nn/Handle.h", 14 "nn/Result.h", 15 "nn/types.h", 16 "ndm_InterfaceImpl.h"; 17 18 server_source: 19 "nn/ndm/CTR/ndm_Interface.h", 20 "ndm_InterfaceServer.h", 21 "nn/svc.h"; 22} 23 24types nn 25{ 26 abstract struct Result 27 { 28 bit32 value; 29 }; 30 31 abstract struct Handle 32 { 33 bit32 value; 34 }; 35 36 abstract struct MoveHandle 37 { 38 bit32 value; 39 }; 40 41 abstract struct ProcessId 42 { 43 bit32 value; 44 }; 45} 46 47types nn::ndm::CTR 48{ 49 abstract struct DaemonName 50 { 51 s32 value; 52 }; 53} 54 55module nn::ndm::CTR::Interface 56{ 57 Result EnterExclusiveState( 58 in ProcessId processId, 59 in s32 mode 60 ); 61 62 Result LeaveExclusiveState( 63 in ProcessId processId 64 ); 65 66 Result QueryExclusiveMode( 67 out s32 pMode 68 ); 69 70 Result LockState( 71 in ProcessId processId 72 ); 73 74 Result UnlockState( 75 in ProcessId processId 76 ); 77 78 Result SuspendDaemons( 79 in bit32 mask 80 ); 81 82 Result ResumeDaemons( 83 in bit32 mask 84 ); 85 86 Result SuspendScheduler( 87 in bool bAsync 88 ); 89 90 Result ResumeScheduler( 91 ); 92 93 // Debug 94 Result GetCurrentState( 95 out s32 pState 96 ); 97 Result GetTargetState( 98 out s32 pState 99 ); 100 Result GetStateChangedEvent( 101 out Handle hEvent 102 ); 103 104 Result QueryStatus( 105 in DaemonName name, 106 out s32 pStatus 107 ); 108 109 Result GetDaemonDisableCount( 110 in DaemonName name, 111 out s32 pCount, 112 out s32 pCountTotal 113 ); 114 Result GetSchedulerDisableCount( 115 out s32 pCount, 116 out s32 pCountTotal 117 ); 118 119 Result SetScanInterval( 120 in s32 interval 121 ); 122 Result GetScanInterval( 123 out s32 pInterval 124 ); 125 Result SetRetryInterval( 126 in s32 interval 127 ); 128 Result GetRetryInterval( 129 out s32 pInterval 130 ); 131} 132