1 /*---------------------------------------------------------------------------* 2 Project: Horizon 3 File: nsoc_entry.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_ENTRY_H__ 22 #define __NSOC_ENTRY_H__ 23 24 #include <nn/net/compatible/nsoc/nsoc_user.h> /* for NSOC_IP_ALEN, NSOC_ETH_ALEN */ 25 26 #ifdef __cplusplus 27 extern "C" { 28 #endif 29 30 enum NSOCARPState { 31 NSOC_ARP_STATE_INCOMPLETE = 1, /* Please see man pages for details */ 32 NSOC_ARP_STATE_REACHABLE = 2, /* Please see man pages for details */ 33 NSOC_ARP_STATE_PROBE = 3 /* Please see man pages for details */ 34 }; 35 36 /* Please see man pages for details 37 38 */ 39 typedef struct NSOCARPEntry 40 { 41 int state; /* Please see man pages for details */ 42 u8 prAddr[NSOC_IP_ALEN]; /* Please see man pages for details */ 43 u8 hwAddr[NSOC_ETH_ALEN]; /* Please see man pages for details */ 44 } NSOCARPEntry; 45 46 47 /* Please see man pages for details 48 49 */ 50 typedef struct NSOCIPAddrEntry 51 { 52 u8 addr[NSOC_IP_ALEN]; /* Please see man pages for details */ 53 u8 netMask[NSOC_IP_ALEN]; /* Please see man pages for details */ 54 u8 bcastAddr[NSOC_IP_ALEN]; /* Please see man pages for details */ 55 } NSOCIPAddrEntry; 56 57 enum NSOCIPRouteFlag { 58 NSOC_IP_ROUTE_FLAG_G = 0x01, /* Please see man pages for details */ 59 NSOC_IP_ROUTE_FLAG_D = 0x02, /* Please see man pages for details */ 60 NSOC_IP_ROUTE_FLAG_M = 0x04 /* Please see man pages for details */ 61 }; 62 63 /* Please see man pages for details 64 65 */ 66 typedef struct NSOCIPRouteEntry 67 { 68 u8 dst[NSOC_IP_ALEN]; /* Please see man pages for details */ 69 u8 netmask[NSOC_IP_ALEN]; /* Please see man pages for details */ 70 u8 gateway[NSOC_IP_ALEN]; /* Please see man pages for details */ 71 u32 flag; /* Please see man pages for details */ 72 NOSTick time; /* Please see man pages for details */ 73 } NSOCIPRouteEntry; 74 75 #ifdef NSOC_IP6_ENABLE 76 /* Please see man pages for details 77 78 */ 79 typedef struct NSOCIP6RouteEntry 80 { 81 u8 prefix[NSOC_IP6_ALEN]; /* Please see man pages for details */ 82 u32 prefixLen; /* Please see man pages for details */ 83 u32 flag; /* Please see man pages for details */ 84 u32 expireTime; /* Please see man pages for details */ 85 } NSOCIP6RouteEntry; 86 87 /* Please see man pages for details 88 89 90 */ 91 typedef struct NSOCIP6MyAddrEntry 92 { 93 u8 addr[NSOC_IP6_ALEN]; /* Please see man pages for details */ 94 u32 preferredTime; /* Please see man pages for details */ 95 u32 validTime; /* Please see man pages for details */ 96 u32 state; /* Please see man pages for details */ 97 BOOL anycast; /* Please see man pages for details */ 98 } NSOCIP6MyAddrEntry; 99 100 /* Please see man pages for details 101 102 103 */ 104 typedef struct NSOCIP6PrefixEntry 105 { 106 u8 prefix[NSOC_IP6_ALEN]; /* Please see man pages for details */ 107 u32 prefixLen; /* Please see man pages for details */ 108 u32 preferredTime; /* Please see man pages for details */ 109 u32 validTime; /* Please see man pages for details */ 110 u8 flags; /* Please see man pages for details */ 111 } NSOCIP6PrefixEntry; 112 113 /* Please see man pages for details 114 115 116 */ 117 typedef struct NSOCIP6NeighborCacheEntry 118 { 119 u8 addr[NSOC_IP6_ALEN]; /* Please see man pages for details */ 120 u32 state; /* Please see man pages for details */ 121 BOOL isRouter; /* Please see man pages for details */ 122 } NSOCIP6NeighborCacheEntry; 123 124 /* Please see man pages for details 125 126 127 */ 128 typedef struct NSOCIP6DestinationCacheEntry 129 { 130 u8 dst[NSOC_IP6_ALEN]; /* Please see man pages for details */ 131 u8 nextHop[NSOC_IP6_ALEN]; /* Please see man pages for details */ 132 u32 pmtu; /* Please see man pages for details */ 133 } NSOCIP6DestinationCacheEntry; 134 135 /* Please see man pages for details 136 137 138 */ 139 typedef struct NSOCIP6DefaultRouterEntry 140 { 141 u8 addr[NSOC_IP6_ALEN]; /* Please see man pages for details */ 142 } NSOCIP6DefaultRouterEntry; 143 144 #endif /* NSOC_IP6_ENABLE */ 145 146 /* Please see man pages for details 147 148 */ 149 typedef struct NSOCUDPEntry 150 { 151 NSOCSockAddrStorage local; /* Please see man pages for details */ 152 NSOCSockAddrStorage remote; /* Please see man pages for details */ 153 } NSOCUDPEntry; 154 155 156 #define NSOC_TCP_STATE_CLOSED 1 /* Please see man pages for details */ 157 #define NSOC_TCP_STATE_LISTEN 2 /* Please see man pages for details */ 158 #define NSOC_TCP_STATE_SYN_SENT 3 /* Please see man pages for details */ 159 #define NSOC_TCP_STATE_SYN_RECEIVED 4 /* Please see man pages for details */ 160 #define NSOC_TCP_STATE_ESTABLISHED 5 /* Please see man pages for details */ 161 #define NSOC_TCP_STATE_FINWAIT1 6 /* Please see man pages for details */ 162 #define NSOC_TCP_STATE_FINWAIT2 7 /* Please see man pages for details */ 163 #define NSOC_TCP_STATE_CLOSE_WAIT 8 /* Please see man pages for details */ 164 #define NSOC_TCP_STATE_LAST_ACK 9 /* Please see man pages for details */ 165 #define NSOC_TCP_STATE_CLOSING 10 /* Please see man pages for details */ 166 #define NSOC_TCP_STATE_TIME_WAIT 11 /* Please see man pages for details */ 167 168 /* Please see man pages for details 169 170 */ 171 typedef struct NSOCTCPEntry 172 { 173 s32 state; /* Please see man pages for details */ 174 NSOCSockAddrStorage local; /* Please see man pages for details */ 175 NSOCSockAddrStorage remote; /* Please see man pages for details */ 176 } NSOCTCPEntry; 177 178 #ifdef __cplusplus 179 } 180 #endif 181 182 #endif /* __NSOC_ENTRY_H__ */ 183