1 /*---------------------------------------------------------------------------* 2 Project: Horizon 3 File: nsoc_stat.h 4 5 Copyright (C)2010 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: 27829 $ 14 *---------------------------------------------------------------------------*/ 15 16 /** 17 * @file nsoc_stat.h 18 * NSOC_GetInterfaceOpt(), NSOC_SetInterfaceOpt()で使用する各プロトコルの統計情報構造体 19 */ 20 21 #ifndef __NSOC_STAT_H__ 22 #define __NSOC_STAT_H__ 23 24 #ifdef __cplusplus 25 extern "C" { 26 #endif 27 28 /** 29 * NSOC_GetInstanceOpt(), NSOC_SetInstanceOpt()でNSOC_CONFIG_INTERFACE_STATISTICS使用時の構造体 30 */ 31 typedef struct NSOCInstanceStat 32 { 33 u64 inOctets; /**< 受信したパケット数 */ 34 u32 inUcastPkts; /**< 受信したユニキャストパケット数 */ 35 u32 inNUcastPkts; /**< 受信した非ユニキャストパケット数 */ 36 u32 inDiscards; /**< 破棄した受信パケット数 */ 37 u32 inErrors; /**< エラーだった受信パケット数 */ 38 u32 inUnknownProtos; /**< 不明なプロトコルだった受信パケット数 */ 39 u32 outUcastPkts; /**< 送信したユニキャストパケット数 */ 40 u64 outOctets; /**< 送信した総バイト数 */ 41 u32 outNUcastPkts; /**< 送信した非ユニキャストパケット数 */ 42 u32 outDiscards; /**< 破棄した送信パケット数 */ 43 u32 outErrors; /**< エラーとなった送信パケット数 */ 44 u32 outCollisions; /**< Ethernetでコリジョンエラーとなったパケット数 */ 45 } NSOCInstanceStat; 46 47 48 /** 49 * NSOC_GetInstanceOpt(), NSOC_SetInstanceOpt()でNSOC_CONFIG_IP_STATISTICS使用時の構造体 50 */ 51 typedef struct NSOCIPStat 52 { 53 u32 inReceives; /**< 受信したIPパケット数 */ 54 u32 inHdrErrors; /**< ヘッダエラーだったIPパケット数 */ 55 u32 inAddrErrors; /**< IPアドレスエラーだったIPパケット数 */ 56 u32 inUnknownProtos; /**< プロトコルが不明だったIPパケット数 */ 57 u32 inDiscards; /**< 破棄したIPパケット数 */ 58 u32 inDelivers; /**< 上位プロトコルに渡したIPパケット数 */ 59 u32 outRequests; /**< 送信要求のあったIPパケット数 */ 60 u32 outDiscards; /**< 破棄された送信IPパケット数 */ 61 u32 outNoRoutes; /**< 到達不可だったIPパケット数 */ 62 u32 reasmTimeout; /**< 再構築タイムアウトだったIPパケット数 */ 63 u32 reasmReqds; /**< 受信したIPフラグメントパケット数 */ 64 u32 reasmOKs; /**< 再構築に成功したIPパケット数 */ 65 u32 reasmFails; /**< 再構築に失敗したIPパケット数 */ 66 u32 fragOKs; /**< フラグメントに成功した送信IPパケット数 */ 67 u32 fragFails; /**< フラグメントに失敗した送信IPパケット数 */ 68 u32 fragCreates; /**< 作成されたIPフラグメントパケット数 */ 69 } NSOCIPStat; 70 71 /** 72 * NSOC_GetInstanceOpt(), NSOC_SetInstanceOpt()でNSOC_CONFIG_ICMP_STATISTICS使用時の構造体 73 */ 74 typedef struct NSOCICMPStat 75 { 76 u32 inMsgs; /**< 受信したICMPパケット数 */ 77 u32 inErrors; /**< 受信エラーとなったICMPパケット数 */ 78 u32 inDestUnreachs; /**< 受信したDestination Unreachableパケット数 */ 79 u32 inTimeExcds; /**< 受信したTime Exceededパケット数 */ 80 u32 inParmProbs; /**< 受信したParameter Problemパケット数 */ 81 u32 inSrcQuenchs; /**< 受信したSource Quenchパケット数 */ 82 u32 inRedirects; /**< 受信したRedirectパケット数 */ 83 u32 inEchos; /**< 受信したEcho Requestパケット数 */ 84 u32 inEchoReps; /**< 受信したEcho Responseパケット数 */ 85 u32 inTimestamps; /**< 受信したTimestamp Requestパケット数 */ 86 u32 inTimestampReps; /**< 受信したTimestamp Replyパケット数 */ 87 u32 inAddrMasks; /**< 受信したAddress Mask Requestパケット数 */ 88 u32 inAddrMaskReps; /**< 受信したAddress Mask Replyパケット数 */ 89 u32 outMsgs; /**< 送信したICMPパケット数 */ 90 u32 outErrors; /**< 送信エラーとなったICMPパケット数 */ 91 u32 outDestUnreachs; /**< 送信したDestination Unreachableパケット数 */ 92 u32 outTimeExcds; /**< 送信したTime Exceededパケット数 */ 93 u32 outParmProbs; /**< 送信したParameter Problemパケット数 */ 94 u32 outSrcQuenchs; /**< 送信したSource Quenchパケット数 */ 95 u32 outRedirects; /**< 送信したRedirectパケット数 */ 96 u32 outEchos; /**< 送信したEcho Requestパケット数 */ 97 u32 outEchoReps; /**< 送信したEcho Responseパケット数 */ 98 u32 outTimestamps; /**< 送信したTimestamp Requestパケット数(現在未使用) */ 99 u32 outTimestampReps; /**< 送信したTimestamp Replyパケット数(現在未使用) */ 100 u32 outAddrMasks; /**< 送信したAddress Mask Requestパケット数(現在未使用) */ 101 u32 outAddrMaskReps; /**< 送信したAddress Mask Replyパケット数(現在未使用) */ 102 } NSOCICMPStat; 103 104 /** 105 * NSOC_GetInstanceOpt(), NSOC_SetInstanceOpt()でNSOC_CONFIG_UDP_STATISTICS使用時の構造体 106 */ 107 typedef struct NSOCUDPStat 108 { 109 u32 inDatagrams; /**< 受信したUDPパケット数 */ 110 u32 inErrors; /**< 受信したエラーUDPパケット数 */ 111 u32 noPorts; /**< 該当ポートがオープンされていなかった受信UDPパケット数 */ 112 u32 outDatagrams; /**< 送信したUDPパケット数 */ 113 u32 outErrors; /**< 送信エラーとなったUDPパケット数 */ 114 } NSOCUDPStat; 115 116 /** 117 * NSOC_GetInstanceOpt(), NSOC_SetInstanceOpt()でNSOC_CONFIG_TCP_STATISTICS使用時の構造体 118 */ 119 typedef struct NSOCTCPStat 120 { 121 u32 activeOpens; /**< NSOC_Connect()による接続回数 */ 122 u32 passiveOpens; /**< NSOC_Accept()による着信回数 */ 123 u32 attemptFails; /**< 接続失敗回数 */ 124 u32 estabResets; /**< RSTによる切断回数 */ 125 u32 currEstab; /**< 現在接続確立しているソケット数 */ 126 u32 inSegs; /**< 受信したTCPパケット数 */ 127 u32 outSegs; /**< 送信したTCPパケット数 */ 128 u32 retransSegs; /**< 再送したTCPパケット数 */ 129 u32 inErrs; /**< 受信したエラーTCPパケット数 */ 130 u32 outErrs; /**< 送信エラーとなったTCPパケット数 */ 131 u32 outRsts; /**< RST送信数 */ 132 } NSOCTCPStat; 133 134 #ifdef NSOC_IP6_ENABLE 135 typedef struct NSOCIP6Stat 136 { 137 u32 inReceives; /**< 受信したIPv6パケット数 */ 138 u32 inHdrErrors; /**< ヘッダエラーだった受信IPv6パケット数 */ 139 u32 inAddrErrors; /**< IPアドレスエラーだった受信IPv6パケット数 */ 140 u32 inUnknownProtos; /**< プロトコルが不明だった受信IPv6パケット数 */ 141 u32 inTruncatedPkts; /**< 長さ不足の受信IPv6パケット数 */ 142 u32 inDiscards; /**< IP層で破棄した受信IPv6パケット数 */ 143 u32 inDelivers; /**< 上位プロトコルに渡したIPv6パケット数 */ 144 u32 outRequests; /**< 送信要求のあったIPv6パケット数 */ 145 u32 outDiscards; /**< IP層で破棄した送信IPv6パケット数 */ 146 u32 outFragOKs; /**< フラグメントに成功した送信IPv6パケット数 */ 147 u32 outFragFails; /**< フラグメントに失敗した送信IPv6パケット数 */ 148 u32 outFragCreates; /**< 作成されたIPv6フラグメントパケット数 */ 149 u32 reasmReqds; /**< 受信したIPv6フラグメントパケット数 */ 150 u32 reasmOKs; /**< 再構築に成功したIPv6パケット数 */ 151 u32 reasmFails; /**< 再構築に失敗したIPv6パケット数 */ 152 u32 inMcastPkts; /**< 受信したIPv6マルチキャストパケット数 */ 153 u32 outMcastPkts; /**< 送信したIPv6マルチキャストパケット数 */ 154 } NSOCIP6Stat; 155 156 typedef struct NSOCICMP6Stat 157 { 158 u32 inMsgs; /**< 受信したICMPv6パケット数 */ 159 u32 inErrors; /**< 受信エラーとなったICMPv6パケット数 */ 160 u32 inDestUnreachs; /**< 受信したDestination Unreachableエラーパケット数 */ 161 u32 inAdminProhibs; /**< 受信したadministratively prohibitedエラーパケット数 */ 162 u32 inTimeExcds; /**< 受信したTime Exceededエラーパケット数 */ 163 u32 inParmProblems; /**< 受信したParameter Problemエラーパケット数 */ 164 u32 inPktTooBigs; /**< 受信したPacket Too Bigエラーパケット数 */ 165 u32 inEchos; /**< 受信したEcho Requestパケット数 */ 166 u32 inEchoReplies; /**< 受信したEcho Replyパケット数 */ 167 u32 inRouterSolicits; /**< 受信したRouter Solicitパケット数 */ 168 u32 inRouterAdvertisements; /**< 受信したRouter Advertisementパケット数 */ 169 u32 inNeighborSolicits; /**< 受信したNeighbor Solicitパケット数 */ 170 u32 inNeighborAdvertisements; /**< 受信したNeighbor Advertisementパケット数 */ 171 u32 inRedirects; /**< 受信したRedirectパケット数 */ 172 u32 inGroupMembQueries; /**< 受信したMLD Listener Queryパケット数 */ 173 u32 inGroupMembResponses; /**< 受信したMLD Listener Reportパケット数 */ 174 u32 inGroupMembResponsesV1; /**< 受信したMLD Listener Report V1パケット数 */ 175 u32 inGroupMembReductions; /**< 受信したMLD Listener Reductionパケット数 */ 176 u32 outMsgs; /**< 送信したICMPv6パケット数 */ 177 u32 outErrors; /**< 送信エラーとなったICMPv6パケット数 */ 178 u32 outDestUnreachs; /**< 送信したDestination Unreachableパケット数 */ 179 u32 outAdminProhibs; /**< 送信したadministratively prohibitedエラーパケット数 */ 180 u32 outTimeExcds; /**< 送信したTime Exceededエラーパケット数 */ 181 u32 outParmProblems; /**< 送信したParameter Problemエラーパケット数 */ 182 u32 outPktTooBigs; /**< 送信したPacket Too Bigエラーパケット数 */ 183 u32 outEchos; /**< 送信したEcho Requestパケット数 */ 184 u32 outEchoReplies; /**< 送信したEcho Replyパケット数 */ 185 u32 outRouterSolicits; /**< 送信したRouter Solicitパケット数 */ 186 u32 outRouterAdvertisements; /**< 送信したRouter Advertisementパケット数 */ 187 u32 outNeighborSolicits; /**< 送信したNeighbor Solicitパケット数 */ 188 u32 outNeighborAdvertisements; /**< 送信したNeighbor Advertisementパケット数 */ 189 u32 outRedirects; /**< 送信したRedirectパケット数 */ 190 u32 outGroupMembQueries; /**< 送信したMLD Listener Queryパケット数 */ 191 u32 outGroupMembResponses; /**< 送信したMLD Listener Reportパケット数 */ 192 u32 outGroupMembResponsesV1; /**< 送信したMLD Listener Report V1パケット数 */ 193 u32 outGroupMembReductions; /**< 送信したMLD Listener Reductionパケット数 */ 194 } NSOCICMP6Stat; 195 #endif 196 197 #ifdef __cplusplus 198 } 199 #endif 200 201 #endif /* __NSOC_STAT_H__ */ 202