1 /*---------------------------------------------------------------------------* 2 Project: Nintendo IO Profiler Shim Library 3 File: io_profstat.h 4 Description: This file provides datastructure definitions for the 5 IO Profiler APIs. 6 7 Copyright (C) 2012 Nintendo. All rights reserved. 8 9 These coded instructions, statements, and computer programs contain 10 proprietary information of Nintendo of America Inc. and/or Nintendo 11 Company Ltd., and are protected by Federal copyright law. They may 12 not be disclosed to third parties or copied or duplicated in any form, 13 in whole or in part, without the prior written consent of Nintendo. 14 15 *---------------------------------------------------------------------------*/ 16 17 18 #ifdef __ghs__ 19 #include <types.h> 20 #endif 21 22 #ifndef IO_PROFSTAT_H 23 #define IO_PROFSTAT_H 24 25 #ifdef __cplusplus 26 extern "C" { 27 #endif 28 29 /*---------------------------------------------------------------------------* 30 31 Constants defined for this file 32 -- #Defines -- 33 34 -----------------------------------------------------------------------------*/ 35 36 37 /*---------------------------------------------------------------------------* 38 39 Data types defined for this file 40 -- Structs, Typedefs, Enums -- 41 42 ---------------------------------------------------------------------------*/ 43 typedef enum 44 { 45 IO_CHANNEL_USB = 0, 46 IO_CHANNEL_NET = 1, /* Network */ 47 IO_CHANNEL_CONTROLLER = 2, 48 IO_CHANNEL_SECIO = 3, /* Secure IO(SSL) */ 49 IO_CHANNEL_FS = 4, /* File System */ 50 IO_CHANNEL_SYS = 5, /* System services */ 51 IO_CHANNEL_FIRST_UNUSED = 6 52 } IOChannelID; 53 54 #define IO_PROF_MAX_IO_CHANNELS (IO_CHANNEL_FIRST_UNUSED) 55 56 typedef struct io_profstat_ { 57 /* IO Channel ID */ 58 IOChannelID channel; 59 60 /* Percentage IO bandwidth consumed by the channel */ 61 float percentBandwidth; 62 } PACKED_STRUCT_ATTRIBUTE IO_ProfStat; 63 64 65 #ifdef __cplusplus 66 } 67 #endif 68 69 #endif /* IO_PROFSTAT_H */ 70