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