1 /*---------------------------------------------------------------------------*
2   Project:  Horizon
3   File:     nsoc_stat.h
4   Copyright (C)2010 Nintendo Co., Ltd.  All rights reserved.
5   These coded instructions, statements, and computer programs contain
6   proprietary information of Nintendo of America Inc. and/or Nintendo
7   Company Ltd., and are protected by Federal copyright law. They may
8   not be disclosed to third parties or copied or duplicated in any form,
9   in whole or in part, without the prior written consent of Nintendo.
10   $Rev: 27829 $
11  *---------------------------------------------------------------------------
12 
13 
14 */
15 
16 /* Please see man pages for details
17 
18 
19  */
20 
21 #ifndef __NSOC_STAT_H__
22 #define __NSOC_STAT_H__
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
28 /* Please see man pages for details
29 
30  */
31 typedef struct NSOCInstanceStat
32 {
33     u64             inOctets;           /* Please see man pages for details */
34     u32             inUcastPkts;        /* Please see man pages for details */
35     u32             inNUcastPkts;       /* Please see man pages for details */
36     u32             inDiscards;         /* Please see man pages for details */
37     u32             inErrors;           /* Please see man pages for details */
38     u32             inUnknownProtos;    /* Please see man pages for details */
39     u32             outUcastPkts;       /* Please see man pages for details */
40     u64             outOctets;          /* Please see man pages for details */
41     u32             outNUcastPkts;      /* Please see man pages for details */
42     u32             outDiscards;        /* Please see man pages for details */
43     u32             outErrors;          /* Please see man pages for details */
44     u32             outCollisions;      /* Please see man pages for details */
45 } NSOCInstanceStat;
46 
47 
48 /* Please see man pages for details
49 
50  */
51 typedef struct NSOCIPStat
52 {
53     u32             inReceives;         /* Please see man pages for details */
54     u32             inHdrErrors;        /* Please see man pages for details */
55     u32             inAddrErrors;       /* Please see man pages for details */
56     u32             inUnknownProtos;    /* Please see man pages for details */
57     u32             inDiscards;         /* Please see man pages for details */
58     u32             inDelivers;         /* Please see man pages for details */
59     u32             outRequests;        /* Please see man pages for details */
60     u32             outDiscards;        /* Please see man pages for details */
61     u32             outNoRoutes;        /* Please see man pages for details */
62     u32             reasmTimeout;       /* Please see man pages for details */
63     u32             reasmReqds;         /* Please see man pages for details */
64     u32             reasmOKs;           /* Please see man pages for details */
65     u32             reasmFails;         /* Please see man pages for details */
66     u32             fragOKs;            /* Please see man pages for details */
67     u32             fragFails;          /* Please see man pages for details */
68     u32             fragCreates;        /* Please see man pages for details */
69 } NSOCIPStat;
70 
71 /* Please see man pages for details
72 
73  */
74 typedef struct NSOCICMPStat
75 {
76     u32             inMsgs;             /* Please see man pages for details */
77     u32             inErrors;           /* Please see man pages for details */
78     u32             inDestUnreachs;     /* Please see man pages for details */
79     u32             inTimeExcds;        /* Please see man pages for details */
80     u32             inParmProbs;        /* Please see man pages for details */
81     u32             inSrcQuenchs;       /* Please see man pages for details */
82     u32             inRedirects;        /* Please see man pages for details */
83     u32             inEchos;            /* Please see man pages for details */
84     u32             inEchoReps;         /* Please see man pages for details */
85     u32             inTimestamps;       /* Please see man pages for details */
86     u32             inTimestampReps;    /* Please see man pages for details */
87     u32             inAddrMasks;        /* Please see man pages for details */
88     u32             inAddrMaskReps;     /* Please see man pages for details */
89     u32             outMsgs;            /* Please see man pages for details */
90     u32             outErrors;          /* Please see man pages for details */
91     u32             outDestUnreachs;    /* Please see man pages for details */
92     u32             outTimeExcds;       /* Please see man pages for details */
93     u32             outParmProbs;       /* Please see man pages for details */
94     u32             outSrcQuenchs;      /* Please see man pages for details */
95     u32             outRedirects;       /* Please see man pages for details */
96     u32             outEchos;           /* Please see man pages for details */
97     u32             outEchoReps;        /* Please see man pages for details */
98     u32             outTimestamps;      /* Please see man pages for details */
99     u32             outTimestampReps;   /* Please see man pages for details */
100     u32             outAddrMasks;       /* Please see man pages for details */
101     u32             outAddrMaskReps;    /* Please see man pages for details */
102 } NSOCICMPStat;
103 
104 /* Please see man pages for details
105 
106  */
107 typedef struct NSOCUDPStat
108 {
109     u32             inDatagrams;         /* Please see man pages for details */
110     u32             inErrors;            /* Please see man pages for details */
111     u32             noPorts;             /* Please see man pages for details */
112     u32             outDatagrams;        /* Please see man pages for details */
113     u32             outErrors;          /* Please see man pages for details */
114 } NSOCUDPStat;
115 
116 /* Please see man pages for details
117 
118  */
119 typedef struct NSOCTCPStat
120 {
121     u32             activeOpens;         /* Please see man pages for details */
122     u32             passiveOpens;        /* Please see man pages for details */
123     u32             attemptFails;        /* Please see man pages for details */
124     u32             estabResets;         /* Please see man pages for details */
125     u32             currEstab;           /* Please see man pages for details */
126     u32             inSegs;              /* Please see man pages for details */
127     u32             outSegs;             /* Please see man pages for details */
128     u32             retransSegs;         /* Please see man pages for details */
129     u32             inErrs;              /* Please see man pages for details */
130     u32             outErrs;             /* Please see man pages for details */
131     u32             outRsts;             /* Please see man pages for details */
132 } NSOCTCPStat;
133 
134 #ifdef NSOC_IP6_ENABLE
135 typedef struct NSOCIP6Stat
136 {
137     u32             inReceives;         /* Please see man pages for details */
138     u32             inHdrErrors;        /* Please see man pages for details */
139     u32             inAddrErrors;       /* Please see man pages for details */
140     u32             inUnknownProtos;    /* Please see man pages for details */
141     u32             inTruncatedPkts;    /* Please see man pages for details */
142     u32             inDiscards;         /* Please see man pages for details */
143     u32             inDelivers;         /* Please see man pages for details */
144     u32             outRequests;        /* Please see man pages for details */
145     u32             outDiscards;        /* Please see man pages for details */
146     u32             outFragOKs;         /* Please see man pages for details */
147     u32             outFragFails;       /* Please see man pages for details */
148     u32             outFragCreates;     /* Please see man pages for details */
149     u32             reasmReqds;         /* Please see man pages for details */
150     u32             reasmOKs;           /* Please see man pages for details */
151     u32             reasmFails;         /* Please see man pages for details */
152     u32             inMcastPkts;        /* Please see man pages for details */
153     u32             outMcastPkts;       /* Please see man pages for details */
154 } NSOCIP6Stat;
155 
156 typedef struct NSOCICMP6Stat
157 {
158     u32             inMsgs;             /* Please see man pages for details */
159     u32             inErrors;           /* Please see man pages for details */
160     u32             inDestUnreachs;     /* Please see man pages for details */
161     u32             inAdminProhibs;     /* Please see man pages for details */
162     u32             inTimeExcds;        /* Please see man pages for details */
163     u32             inParmProblems;     /* Please see man pages for details */
164     u32             inPktTooBigs;       /* Please see man pages for details */
165     u32             inEchos;            /* Please see man pages for details */
166     u32             inEchoReplies;      /* Please see man pages for details */
167     u32             inRouterSolicits;   /* Please see man pages for details */
168     u32             inRouterAdvertisements; /* Please see man pages for details */
169     u32             inNeighborSolicits; /* Please see man pages for details */
170     u32             inNeighborAdvertisements; /* Please see man pages for details */
171     u32             inRedirects;        /* Please see man pages for details */
172     u32             inGroupMembQueries; /* Please see man pages for details */
173     u32             inGroupMembResponses; /* Please see man pages for details */
174     u32             inGroupMembResponsesV1; /* Please see man pages for details */
175     u32             inGroupMembReductions; /* Please see man pages for details */
176     u32             outMsgs;            /* Please see man pages for details */
177     u32             outErrors;          /* Please see man pages for details */
178     u32             outDestUnreachs;    /* Please see man pages for details */
179     u32             outAdminProhibs;    /* Please see man pages for details */
180     u32             outTimeExcds;       /* Please see man pages for details */
181     u32             outParmProblems;    /* Please see man pages for details */
182     u32             outPktTooBigs;      /* Please see man pages for details */
183     u32             outEchos;           /* Please see man pages for details */
184     u32             outEchoReplies;     /* Please see man pages for details */
185     u32             outRouterSolicits;  /* Please see man pages for details */
186     u32             outRouterAdvertisements; /* Please see man pages for details */
187     u32             outNeighborSolicits; /* Please see man pages for details */
188     u32             outNeighborAdvertisements; /* Please see man pages for details */
189     u32             outRedirects;       /* Please see man pages for details */
190     u32             outGroupMembQueries; /* Please see man pages for details */
191     u32             outGroupMembResponses; /* Please see man pages for details */
192     u32             outGroupMembResponsesV1; /* Please see man pages for details */
193     u32             outGroupMembReductions; /* Please see man pages for details */
194 } NSOCICMP6Stat;
195 #endif
196 
197 #ifdef __cplusplus
198 }
199 #endif
200 
201 #endif  /* __NSOC_STAT_H__ */
202