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