1 /*---------------------------------------------------------------------------* 2 Project: Horizon 3 File: os_Types.h 4 5 Copyright (C)2009-2012 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: 46347 $ 14 *---------------------------------------------------------------------------*/ 15 16 /* 17 @file 18 19 :include nn/os.h 20 */ 21 22 #ifndef NN_OS_OS_TYPES_H_ 23 #define NN_OS_OS_TYPES_H_ 24 25 #ifdef __cplusplus 26 27 namespace nn { 28 namespace os { 29 30 enum LimitableResource 31 { 32 LIMITABLE_RESOURCE_MAX_PRIORITY, 33 LIMITABLE_RESOURCE_MAX_COMMIT, 34 LIMITABLE_RESOURCE_MAX_THREAD, 35 LIMITABLE_RESOURCE_MAX_EVENT, 36 LIMITABLE_RESOURCE_MAX_MUTEX, 37 LIMITABLE_RESOURCE_MAX_SEMAPHORE, 38 LIMITABLE_RESOURCE_MAX_TIMER, 39 LIMITABLE_RESOURCE_MAX_SHAREDMEMORY, 40 LIMITABLE_RESOURCE_MAX_ADDRESSARBITER, 41 LIMITABLE_RESOURCE_MAX_CPUTIME, 42 LIMITABLE_RESOURCE_END, 43 44 LIMITABLE_RESOURCE_MAX_BIT = (1u << 31) 45 }; 46 47 enum SystemInfoType 48 { 49 SYSTEM_INFO_TYPE_USING_PHYSICAL_MEMORY_SIZE, 50 SYSTEM_INFO_TYPE_MAX_USING_PHYSICAL_MEMORY_SIZE, 51 SYSTEM_INFO_TYPE_KERNEL_USING_PHYSICAL_MEMORY_SIZE, 52 SYSTEM_INFO_TYPE_MAX_KERNEL_USING_PHYSICAL_MEMORY_SIZE, 53 SYSTEM_INFO_TYPE_CPU_LOAD, 54 SYSTEM_INFO_TYPE_CPU_TIME_INTERRUPTS, 55 SYSTEM_INFO_TYPE_CPU_TIME_SYSTEM, 56 SYSTEM_INFO_TYPE_CPU_TIME_USER, 57 SYSTEM_INFO_TYPE_CPU_TIME_IDLE, 58 SYSTEM_INFO_TYPE_NUM_SOFTWARE_INTERRUPTS, 59 SYSTEM_INFO_TYPE_NUM_HARDWARE_INTERRUPTS, 60 SYSTEM_INFO_TYPE_NUM_INTERRUPTS, 61 SYSTEM_INFO_TYPE_NUM_EXCEPTIONS, 62 SYSTEM_INFO_TYPE_NUM_RUNNABLE_THREADS, 63 SYSTEM_INFO_TYPE_NUM_PAGE_CLEAR, 64 SYSTEM_INFO_TYPE_NUM_THREAD_SWITCH, 65 SYSTEM_INFO_TYPE_NUM_FPU_SWITCH, 66 SYSTEM_INFO_TYPE_NUM_PROCESS_SWITCH, 67 SYSTEM_INFO_TYPE_NUM_SYSTEM_CALL, 68 SYSTEM_INFO_TYPE_NUM_IPC, 69 SYSTEM_INFO_TYPE_NUM_CREATED_THREADS, 70 SYSTEM_INFO_TYPE_NUM_CREATED_PROCESSES, 71 SYSTEM_INFO_TYPE_NUM_THREADS, 72 SYSTEM_INFO_TYPE_NUM_PROCESSES, 73 SYSTEM_INFO_TYPE_MAX_NUM_THREADS, 74 SYSTEM_INFO_TYPE_MAX_NUM_PROCESSES, 75 SYSTEM_INFO_TYPE_NUM_INITIAL_PROCESSES, 76 77 SYSTEM_INFO_TYPE_MAX_BIT = (1u << 31) 78 }; 79 80 enum ProcessInfoType 81 { 82 PROCESS_INFO_TYPE_USING_PHYSICAL_MEMORY_SIZE, 83 PROCESS_INFO_TYPE_MAX_USING_PHYSICAL_MEMORY_SIZE, 84 PROCESS_INFO_TYPE_PRIVATE_PHYSICAL_MEMORY_SIZE, 85 PROCESS_INFO_TYPE_MAX_RPIVATE_PHYSICAL_MEMORY_SIZE, 86 PROCESS_INFO_TYPE_NUM_HANDLES, 87 PROCESS_INFO_TYPE_MAX_NUM_HANDLES, 88 PROCESS_INFO_TYPE_NUM_CREATED_THREADS, 89 PROCESS_INFO_TYPE_NUM_THREADS, 90 PROCESS_INFO_TYPE_MAX_NUM_THREADS, 91 PROCESS_INFO_TYPE_CPU_TIME_SYSTEM, 92 PROCESS_INFO_TYPE_CPU_TIME_USER, 93 PROCESS_INFO_TYPE_CPU_TIME, 94 PROCESS_INFO_TYPE_NUM_THREAD_SWITCH, 95 PROCESS_INFO_TYPE_NUM_FPU_SWITCH, 96 PROCESS_INFO_TYPE_NUM_PROCESS_SWITCH, 97 PROCESS_INFO_TYPE_NUM_SYSTEM_CALL, 98 PROCESS_INFO_TYPE_NUM_IPC, 99 PROCESS_INFO_TYPE_UPTIME, 100 PROCESS_INFO_TYPE_NAME, 101 PROCESS_INFO_TYPE_REGION, 102 103 PROCESS_INFO_TYPE_MAX_BIT = (1u << 31) 104 }; 105 106 enum ThreadInfoType 107 { 108 THREAD_INFO_TYPE_CPU_TIME_SYSTEM, 109 THREAD_INFO_TYPE_CPU_TIME_USER, 110 THREAD_INFO_TYPE_CPU_TIME, 111 THREAD_INFO_TYPE_NUM_THREAD_SWITCH, 112 THREAD_INFO_TYPE_NUM_FPU_SWITCH, 113 THREAD_INFO_TYPE_NUM_SYSTEM_CALL, 114 THREAD_INFO_TYPE_NUM_IPC, 115 THREAD_INFO_TYPE_UPTIME, 116 117 THREAD_INFO_TYPE_MAX_BIT = (1u << 31) 118 }; 119 120 enum HandleInfoType 121 { 122 HANDLE_INFO_TYPE_CREATION_TIME, 123 HANDLE_INFO_TYPE_REFERENCE_COUNT, 124 HANDLE_INFO_TYPE_PARENT_PROCESS_ID, 125 126 HANDLE_INFO_TYPE_MAX_BIT = (1u << 31) 127 }; 128 129 enum ArbitrationType 130 { 131 ARBITRATION_TYPE_SIGNAL, 132 ARBITRATION_TYPE_WAIT_IF_LESS_THAN, 133 ARBITRATION_TYPE_DECREMENT_AND_WAIT_IF_LESS_THAN, 134 ARBITRATION_TYPE_WAIT_IF_LESS_THAN_WITH_TIMEOUT, 135 ARBITRATION_TYPE_DECREMENT_AND_WAIT_IF_LESS_THAN_WITH_TIMEOUT, 136 137 ARBITRATION_TYPE_MAX_BIT = (1u << 31) 138 }; 139 140 141 enum ResetType 142 { 143 RESET_TYPE_ONESHOT, 144 RESET_TYPE_STICKY, 145 RESET_TYPE_PULSE, 146 147 RESET_TYPE_MAX_BIT = (1u << 31) 148 }; 149 150 151 } // end of namespace os 152 } // end of namespace nn 153 154 #endif // __cplusplus 155 156 #endif // ifndef NN_OS_OS_TYPES_H_ 157