/*---------------------------------------------------------------------------* Project: Horizon File: nsoc_entry.h Copyright (C)2010 Nintendo Co., Ltd. All rights reserved. These coded instructions, statements, and computer programs contain proprietary information of Nintendo of America Inc. and/or Nintendo Company Ltd., and are protected by Federal copyright law. They may not be disclosed to third parties or copied or duplicated in any form, in whole or in part, without the prior written consent of Nintendo. $Rev: 27829 $ *--------------------------------------------------------------------------- */ /* Please see man pages for details */ #ifndef __NSOC_ENTRY_H__ #define __NSOC_ENTRY_H__ #include /* for NSOC_IP_ALEN, NSOC_ETH_ALEN */ #ifdef __cplusplus extern "C" { #endif enum NSOCARPState { NSOC_ARP_STATE_INCOMPLETE = 1, /* Please see man pages for details */ NSOC_ARP_STATE_REACHABLE = 2, /* Please see man pages for details */ NSOC_ARP_STATE_PROBE = 3 /* Please see man pages for details */ }; /* Please see man pages for details */ typedef struct NSOCARPEntry { int state; /* Please see man pages for details */ u8 prAddr[NSOC_IP_ALEN]; /* Please see man pages for details */ u8 hwAddr[NSOC_ETH_ALEN]; /* Please see man pages for details */ } NSOCARPEntry; /* Please see man pages for details */ typedef struct NSOCIPAddrEntry { u8 addr[NSOC_IP_ALEN]; /* Please see man pages for details */ u8 netMask[NSOC_IP_ALEN]; /* Please see man pages for details */ u8 bcastAddr[NSOC_IP_ALEN]; /* Please see man pages for details */ } NSOCIPAddrEntry; enum NSOCIPRouteFlag { NSOC_IP_ROUTE_FLAG_G = 0x01, /* Please see man pages for details */ NSOC_IP_ROUTE_FLAG_D = 0x02, /* Please see man pages for details */ NSOC_IP_ROUTE_FLAG_M = 0x04 /* Please see man pages for details */ }; /* Please see man pages for details */ typedef struct NSOCIPRouteEntry { u8 dst[NSOC_IP_ALEN]; /* Please see man pages for details */ u8 netmask[NSOC_IP_ALEN]; /* Please see man pages for details */ u8 gateway[NSOC_IP_ALEN]; /* Please see man pages for details */ u32 flag; /* Please see man pages for details */ NOSTick time; /* Please see man pages for details */ } NSOCIPRouteEntry; #ifdef NSOC_IP6_ENABLE /* Please see man pages for details */ typedef struct NSOCIP6RouteEntry { u8 prefix[NSOC_IP6_ALEN]; /* Please see man pages for details */ u32 prefixLen; /* Please see man pages for details */ u32 flag; /* Please see man pages for details */ u32 expireTime; /* Please see man pages for details */ } NSOCIP6RouteEntry; /* Please see man pages for details */ typedef struct NSOCIP6MyAddrEntry { u8 addr[NSOC_IP6_ALEN]; /* Please see man pages for details */ u32 preferredTime; /* Please see man pages for details */ u32 validTime; /* Please see man pages for details */ u32 state; /* Please see man pages for details */ BOOL anycast; /* Please see man pages for details */ } NSOCIP6MyAddrEntry; /* Please see man pages for details */ typedef struct NSOCIP6PrefixEntry { u8 prefix[NSOC_IP6_ALEN]; /* Please see man pages for details */ u32 prefixLen; /* Please see man pages for details */ u32 preferredTime; /* Please see man pages for details */ u32 validTime; /* Please see man pages for details */ u8 flags; /* Please see man pages for details */ } NSOCIP6PrefixEntry; /* Please see man pages for details */ typedef struct NSOCIP6NeighborCacheEntry { u8 addr[NSOC_IP6_ALEN]; /* Please see man pages for details */ u32 state; /* Please see man pages for details */ BOOL isRouter; /* Please see man pages for details */ } NSOCIP6NeighborCacheEntry; /* Please see man pages for details */ typedef struct NSOCIP6DestinationCacheEntry { u8 dst[NSOC_IP6_ALEN]; /* Please see man pages for details */ u8 nextHop[NSOC_IP6_ALEN]; /* Please see man pages for details */ u32 pmtu; /* Please see man pages for details */ } NSOCIP6DestinationCacheEntry; /* Please see man pages for details */ typedef struct NSOCIP6DefaultRouterEntry { u8 addr[NSOC_IP6_ALEN]; /* Please see man pages for details */ } NSOCIP6DefaultRouterEntry; #endif /* NSOC_IP6_ENABLE */ /* Please see man pages for details */ typedef struct NSOCUDPEntry { NSOCSockAddrStorage local; /* Please see man pages for details */ NSOCSockAddrStorage remote; /* Please see man pages for details */ } NSOCUDPEntry; #define NSOC_TCP_STATE_CLOSED 1 /* Please see man pages for details */ #define NSOC_TCP_STATE_LISTEN 2 /* Please see man pages for details */ #define NSOC_TCP_STATE_SYN_SENT 3 /* Please see man pages for details */ #define NSOC_TCP_STATE_SYN_RECEIVED 4 /* Please see man pages for details */ #define NSOC_TCP_STATE_ESTABLISHED 5 /* Please see man pages for details */ #define NSOC_TCP_STATE_FINWAIT1 6 /* Please see man pages for details */ #define NSOC_TCP_STATE_FINWAIT2 7 /* Please see man pages for details */ #define NSOC_TCP_STATE_CLOSE_WAIT 8 /* Please see man pages for details */ #define NSOC_TCP_STATE_LAST_ACK 9 /* Please see man pages for details */ #define NSOC_TCP_STATE_CLOSING 10 /* Please see man pages for details */ #define NSOC_TCP_STATE_TIME_WAIT 11 /* Please see man pages for details */ /* Please see man pages for details */ typedef struct NSOCTCPEntry { s32 state; /* Please see man pages for details */ NSOCSockAddrStorage local; /* Please see man pages for details */ NSOCSockAddrStorage remote; /* Please see man pages for details */ } NSOCTCPEntry; #ifdef __cplusplus } #endif #endif /* __NSOC_ENTRY_H__ */