1 /*---------------------------------------------------------------------------*
2   Project:  Horizon
3   File:     socket_Entry.autogen.h
4 
5   Copyright (C)2009-2012 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: 46347 $
14  *---------------------------------------------------------------------------*/
15 
16 #ifndef NN_SOCKET_SOCKET_ENTRY_AUTOGEN_H_
17 #define NN_SOCKET_SOCKET_ENTRY_AUTOGEN_H_
18 
19 #include <nn/socket/socket_User.autogen.h>	/* for NN_SOCKET_IP_ALEN, NN_SOCKET_ETH_ALEN */
20 
21 namespace nn {
22 namespace socket {
23 
24 /* Please see man pages for details
25 
26  */
27 enum ArpState {
28 	ARP_STATE_INCOMPLETE              = 1, //
29 	ARP_STATE_REACHABLE               = 2, //
30 	ARP_STATE_PROBE                   = 3  //
31 };
32 
33 /* Please see man pages for details
34 
35  */
36 struct ArpEntry
37 {
38     int             state;                      //
39     u8              prAddr[NN_SOCKET_IP_ALEN];       //
40     u8              hwAddr[NN_SOCKET_ETH_ALEN];      //
41 };
42 
43 
44 /* Please see man pages for details
45 
46  */
47 struct IpAddrEntry
48 {
49     u8              addr[NN_SOCKET_IP_ALEN];         //
50     u8              netMask[NN_SOCKET_IP_ALEN];      //
51     u8              bcastAddr[NN_SOCKET_IP_ALEN];    //
52 };
53 
54 enum IpRouteFlag {
55 	IP_ROUTE_FLAG_G                   = 0x01,    //
56 	IP_ROUTE_FLAG_D                   = 0x02,    //
57 	IP_ROUTE_FLAG_M                   = 0x04     //
58 };
59 
60 /* Please see man pages for details
61 
62  */
63 struct IpRouteEntry
64 {
65     u8           dst[NN_SOCKET_IP_ALEN];          //
66     u8           netmask[NN_SOCKET_IP_ALEN];      //
67     u8           gateway[NN_SOCKET_IP_ALEN];      //
68     u32          flag;                       //
69     s64      time;                       //
70 };
71 
72 #ifdef NN_SOCKET_IP6_ENABLE
73 /* Please see man pages for details
74 
75  */
76 struct Ip6RouteEntry
77 {
78     u8              prefix[NN_SOCKET_IP6_ALEN];      //
79     u32             prefixLen;                  //
80     u32             flag;                       //
81     u32             expireTime;                 //
82 };
83 
84 /* Please see man pages for details
85 
86 
87  */
88 struct Ip6MyAddrEntry
89 {
90     u8              addr[NN_SOCKET_IP6_ALEN];    //
91     u32             preferredTime;          //
92     u32             validTime;              //
93     u32             state;                  //
94     Bool            anycast;                //
95 };
96 
97 /* Please see man pages for details
98 
99 
100  */
101 struct Ip6PrefixEntry
102 {
103     u8              prefix[NN_SOCKET_IP6_ALEN];  //
104     u32             prefixLen;              //
105     u32             preferredTime;          //
106     u32             validTime;              //
107     u8              flags;                  //
108 };
109 
110 /* Please see man pages for details
111 
112 
113  */
114 struct Ip6NeighborCacheEntry
115 {
116     u8              addr[NN_SOCKET_IP6_ALEN];    //
117     u32             state;                  //
118     Bool            isRouter;               //
119 };
120 
121 /* Please see man pages for details
122 
123 
124  */
125 struct Ip6DestinationCacheEntry
126 {
127     u8              dst[NN_SOCKET_IP6_ALEN];     //
128     u8              nextHop[NN_SOCKET_IP6_ALEN]; //
129     u32             pmtu;                   //
130 };
131 
132 /* Please see man pages for details
133 
134 
135  */
136 struct Ip6DefaultRouterEntry
137 {
138     u8              addr[NN_SOCKET_IP6_ALEN];     //
139 };
140 
141 #endif /* NN_SOCKET_IP6_ENABLE */
142 
143 /* Please see man pages for details
144 
145  */
146 struct UdpEntry
147 {
148     SockAddrStorage    local;         //
149     SockAddrStorage    remote;        //
150 };
151 
152 
153 #define TCP_STATE_CLOSED        1    //
154 #define TCP_STATE_LISTEN        2    //
155 #define TCP_STATE_SYN_SENT      3    //
156 #define TCP_STATE_SYN_RECEIVED  4    //
157 #define TCP_STATE_ESTABLISHED   5    //
158 #define TCP_STATE_FINWAIT1      6    //
159 #define TCP_STATE_FINWAIT2      7    //
160 #define TCP_STATE_CLOSE_WAIT    8    //
161 #define TCP_STATE_LAST_ACK      9    //
162 #define TCP_STATE_CLOSING       10   //
163 #define TCP_STATE_TIME_WAIT     11   //
164 
165 /* Please see man pages for details
166 
167  */
168 struct TcpEntry
169 {
170     s32                    state;         //
171     SockAddrStorage    local;         //
172     SockAddrStorage    remote;        //
173 };
174 
175 
176 } // socket
177 } // nn
178 #endif  /* NN_SOCKET_SOCKET_ENTRY_AUTOGEN_H_ */
179