1 /*---------------------------------------------------------------------------* 2 Project: Horizon 3 File: os_Types.h 4 5 Copyright (C)2009 Nintendo Co., Ltd. All rights reserved. 6 7 These coded instructions, statements, and computer programs contain 8 proprietary information of Nintendo of America Inc. and/or Nintendo 9 Company Ltd., and are protected by Federal copyright law. They may 10 not be disclosed to third parties or copied or duplicated in any form, 11 in whole or in part, without the prior written consent of Nintendo. 12 13 $Rev: 29093 $ 14 *---------------------------------------------------------------------------*/ 15 /* 16 @file 17 18 :include nn/os.h 19 */ 20 21 #ifndef NN_OS_OS_TYPES_H_ 22 #define NN_OS_OS_TYPES_H_ 23 24 #ifdef __cplusplus 25 26 namespace nn { 27 namespace os { 28 29 /* 30 31 32 33 */ 34 enum LimitableResource 35 { 36 LIMITABLE_RESOURCE_MAX_PRIORITY, // 37 LIMITABLE_RESOURCE_MAX_COMMIT, // 38 LIMITABLE_RESOURCE_MAX_THREAD, // 39 LIMITABLE_RESOURCE_MAX_EVENT, 40 LIMITABLE_RESOURCE_MAX_MUTEX, 41 LIMITABLE_RESOURCE_MAX_SEMAPHORE, 42 LIMITABLE_RESOURCE_MAX_TIMER, 43 LIMITABLE_RESOURCE_MAX_SHAREDMEMORY, 44 LIMITABLE_RESOURCE_MAX_ADDRESSARBITER, 45 LIMITABLE_RESOURCE_END, 46 47 LIMITABLE_RESOURCE_MAX_BIT = (1u << 31) 48 }; 49 50 /* 51 52 53 54 */ 55 enum SystemInfoType 56 { 57 SYSTEM_INFO_TYPE_USING_PHYSICAL_MEMORY_SIZE, // 58 SYSTEM_INFO_TYPE_MAX_USING_PHYSICAL_MEMORY_SIZE, // 59 SYSTEM_INFO_TYPE_KERNEL_USING_PHYSICAL_MEMORY_SIZE, // 60 SYSTEM_INFO_TYPE_MAX_KERNEL_USING_PHYSICAL_MEMORY_SIZE, // 61 SYSTEM_INFO_TYPE_CPU_LOAD, // 62 SYSTEM_INFO_TYPE_CPU_TIME_INTERRUPTS, // 63 SYSTEM_INFO_TYPE_CPU_TIME_SYSTEM, // 64 SYSTEM_INFO_TYPE_CPU_TIME_USER, // 65 SYSTEM_INFO_TYPE_CPU_TIME_IDLE, // 66 SYSTEM_INFO_TYPE_NUM_SOFTWARE_INTERRUPTS, // 67 SYSTEM_INFO_TYPE_NUM_HARDWARE_INTERRUPTS, // 68 SYSTEM_INFO_TYPE_NUM_INTERRUPTS, // 69 SYSTEM_INFO_TYPE_NUM_EXCEPTIONS, // 70 SYSTEM_INFO_TYPE_NUM_RUNNABLE_THREADS, // 71 SYSTEM_INFO_TYPE_NUM_PAGE_CLEAR, // 72 SYSTEM_INFO_TYPE_NUM_THREAD_SWITCH, // 73 SYSTEM_INFO_TYPE_NUM_FPU_SWITCH, // 74 SYSTEM_INFO_TYPE_NUM_PROCESS_SWITCH, // 75 SYSTEM_INFO_TYPE_NUM_SYSTEM_CALL, // 76 SYSTEM_INFO_TYPE_NUM_IPC, // 77 SYSTEM_INFO_TYPE_NUM_CREATED_THREADS, // 78 SYSTEM_INFO_TYPE_NUM_CREATED_PROCESSES, // 79 SYSTEM_INFO_TYPE_NUM_THREADS, // 80 SYSTEM_INFO_TYPE_NUM_PROCESSES, // 81 SYSTEM_INFO_TYPE_MAX_NUM_THREADS, // 82 SYSTEM_INFO_TYPE_MAX_NUM_PROCESSES, // 83 SYSTEM_INFO_TYPE_NUM_INITIAL_PROCESSES, // 84 85 SYSTEM_INFO_TYPE_MAX_BIT = (1u << 31) 86 }; 87 88 /* 89 90 91 92 */ 93 enum ProcessInfoType 94 { 95 PROCESS_INFO_TYPE_USING_PHYSICAL_MEMORY_SIZE, // 96 PROCESS_INFO_TYPE_MAX_USING_PHYSICAL_MEMORY_SIZE, // 97 PROCESS_INFO_TYPE_PRIVATE_PHYSICAL_MEMORY_SIZE, // 98 PROCESS_INFO_TYPE_MAX_RPIVATE_PHYSICAL_MEMORY_SIZE, // 99 PROCESS_INFO_TYPE_NUM_HANDLES, // 100 PROCESS_INFO_TYPE_MAX_NUM_HANDLES, // 101 PROCESS_INFO_TYPE_NUM_CREATED_THREADS, // 102 PROCESS_INFO_TYPE_NUM_THREADS, // 103 PROCESS_INFO_TYPE_MAX_NUM_THREADS, // 104 PROCESS_INFO_TYPE_CPU_TIME_SYSTEM, // 105 PROCESS_INFO_TYPE_CPU_TIME_USER, // 106 PROCESS_INFO_TYPE_CPU_TIME, // 107 PROCESS_INFO_TYPE_NUM_THREAD_SWITCH, // 108 PROCESS_INFO_TYPE_NUM_FPU_SWITCH, // 109 PROCESS_INFO_TYPE_NUM_PROCESS_SWITCH, // 110 PROCESS_INFO_TYPE_NUM_SYSTEM_CALL, // 111 PROCESS_INFO_TYPE_NUM_IPC, // 112 PROCESS_INFO_TYPE_UPTIME, // 113 PROCESS_INFO_TYPE_NAME, 114 115 PROCESS_INFO_TYPE_MAX_BIT = (1u << 31) 116 }; 117 118 /* 119 120 121 122 */ 123 enum ThreadInfoType 124 { 125 THREAD_INFO_TYPE_CPU_TIME_SYSTEM, // 126 THREAD_INFO_TYPE_CPU_TIME_USER, // 127 THREAD_INFO_TYPE_CPU_TIME, // 128 THREAD_INFO_TYPE_NUM_THREAD_SWITCH, // 129 THREAD_INFO_TYPE_NUM_FPU_SWITCH, // 130 THREAD_INFO_TYPE_NUM_SYSTEM_CALL, // 131 THREAD_INFO_TYPE_NUM_IPC, // 132 THREAD_INFO_TYPE_UPTIME, // 133 134 THREAD_INFO_TYPE_MAX_BIT = (1u << 31) 135 }; 136 137 /* 138 139 140 141 */ 142 enum HandleInfoType 143 { 144 HANDLE_INFO_TYPE_CREATION_TIME, // 145 HANDLE_INFO_TYPE_REFERENCE_COUNT, // 146 HANDLE_INFO_TYPE_PARENT_PROCESS_ID, // 147 148 HANDLE_INFO_TYPE_MAX_BIT = (1u << 31) 149 }; 150 151 /* 152 153 154 155 */ 156 enum ArbitrationType 157 { 158 ARBITRATION_TYPE_SIGNAL, 159 ARBITRATION_TYPE_WAIT_IF_LESS_THAN, 160 ARBITRATION_TYPE_DECREMENT_AND_WAIT_IF_LESS_THAN, 161 162 ARBITRATION_TYPE_MAX_BIT = (1u << 31) 163 }; 164 165 166 enum ResetType 167 { 168 RESET_TYPE_ONESHOT, 169 RESET_TYPE_STICKY, 170 RESET_TYPE_PULSE, 171 172 RESET_TYPE_MAX_BIT = (1u << 31) 173 }; 174 175 176 } // end of namespace os 177 } // end of namespace nn 178 179 #endif // __cplusplus 180 181 #endif // ifndef NN_OS_OS_TYPES_H_ 182