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