1*53ee8cc1Swenshuai.xi #ifndef _IPX_H_ 2*53ee8cc1Swenshuai.xi #define _IPX_H_ 3*53ee8cc1Swenshuai.xi #include <linux/sockios.h> 4*53ee8cc1Swenshuai.xi #include <linux/socket.h> 5*53ee8cc1Swenshuai.xi #define IPX_NODE_LEN 6 6*53ee8cc1Swenshuai.xi #define IPX_MTU 576 7*53ee8cc1Swenshuai.xi 8*53ee8cc1Swenshuai.xi struct sockaddr_ipx { 9*53ee8cc1Swenshuai.xi sa_family_t sipx_family; 10*53ee8cc1Swenshuai.xi __be16 sipx_port; 11*53ee8cc1Swenshuai.xi __be32 sipx_network; 12*53ee8cc1Swenshuai.xi unsigned char sipx_node[IPX_NODE_LEN]; 13*53ee8cc1Swenshuai.xi __u8 sipx_type; 14*53ee8cc1Swenshuai.xi unsigned char sipx_zero; /* 16 byte fill */ 15*53ee8cc1Swenshuai.xi }; 16*53ee8cc1Swenshuai.xi 17*53ee8cc1Swenshuai.xi /* 18*53ee8cc1Swenshuai.xi * So we can fit the extra info for SIOCSIFADDR into the address nicely 19*53ee8cc1Swenshuai.xi */ 20*53ee8cc1Swenshuai.xi #define sipx_special sipx_port 21*53ee8cc1Swenshuai.xi #define sipx_action sipx_zero 22*53ee8cc1Swenshuai.xi #define IPX_DLTITF 0 23*53ee8cc1Swenshuai.xi #define IPX_CRTITF 1 24*53ee8cc1Swenshuai.xi 25*53ee8cc1Swenshuai.xi struct ipx_route_definition { 26*53ee8cc1Swenshuai.xi __be32 ipx_network; 27*53ee8cc1Swenshuai.xi __be32 ipx_router_network; 28*53ee8cc1Swenshuai.xi unsigned char ipx_router_node[IPX_NODE_LEN]; 29*53ee8cc1Swenshuai.xi }; 30*53ee8cc1Swenshuai.xi 31*53ee8cc1Swenshuai.xi struct ipx_interface_definition { 32*53ee8cc1Swenshuai.xi __be32 ipx_network; 33*53ee8cc1Swenshuai.xi unsigned char ipx_device[16]; 34*53ee8cc1Swenshuai.xi unsigned char ipx_dlink_type; 35*53ee8cc1Swenshuai.xi #define IPX_FRAME_NONE 0 36*53ee8cc1Swenshuai.xi #define IPX_FRAME_SNAP 1 37*53ee8cc1Swenshuai.xi #define IPX_FRAME_8022 2 38*53ee8cc1Swenshuai.xi #define IPX_FRAME_ETHERII 3 39*53ee8cc1Swenshuai.xi #define IPX_FRAME_8023 4 40*53ee8cc1Swenshuai.xi #define IPX_FRAME_TR_8022 5 /* obsolete */ 41*53ee8cc1Swenshuai.xi unsigned char ipx_special; 42*53ee8cc1Swenshuai.xi #define IPX_SPECIAL_NONE 0 43*53ee8cc1Swenshuai.xi #define IPX_PRIMARY 1 44*53ee8cc1Swenshuai.xi #define IPX_INTERNAL 2 45*53ee8cc1Swenshuai.xi unsigned char ipx_node[IPX_NODE_LEN]; 46*53ee8cc1Swenshuai.xi }; 47*53ee8cc1Swenshuai.xi 48*53ee8cc1Swenshuai.xi struct ipx_config_data { 49*53ee8cc1Swenshuai.xi unsigned char ipxcfg_auto_select_primary; 50*53ee8cc1Swenshuai.xi unsigned char ipxcfg_auto_create_interfaces; 51*53ee8cc1Swenshuai.xi }; 52*53ee8cc1Swenshuai.xi 53*53ee8cc1Swenshuai.xi /* 54*53ee8cc1Swenshuai.xi * OLD Route Definition for backward compatibility. 55*53ee8cc1Swenshuai.xi */ 56*53ee8cc1Swenshuai.xi 57*53ee8cc1Swenshuai.xi struct ipx_route_def { 58*53ee8cc1Swenshuai.xi __be32 ipx_network; 59*53ee8cc1Swenshuai.xi __be32 ipx_router_network; 60*53ee8cc1Swenshuai.xi #define IPX_ROUTE_NO_ROUTER 0 61*53ee8cc1Swenshuai.xi unsigned char ipx_router_node[IPX_NODE_LEN]; 62*53ee8cc1Swenshuai.xi unsigned char ipx_device[16]; 63*53ee8cc1Swenshuai.xi unsigned short ipx_flags; 64*53ee8cc1Swenshuai.xi #define IPX_RT_SNAP 8 65*53ee8cc1Swenshuai.xi #define IPX_RT_8022 4 66*53ee8cc1Swenshuai.xi #define IPX_RT_BLUEBOOK 2 67*53ee8cc1Swenshuai.xi #define IPX_RT_ROUTED 1 68*53ee8cc1Swenshuai.xi }; 69*53ee8cc1Swenshuai.xi 70*53ee8cc1Swenshuai.xi #define SIOCAIPXITFCRT (SIOCPROTOPRIVATE) 71*53ee8cc1Swenshuai.xi #define SIOCAIPXPRISLT (SIOCPROTOPRIVATE + 1) 72*53ee8cc1Swenshuai.xi #define SIOCIPXCFGDATA (SIOCPROTOPRIVATE + 2) 73*53ee8cc1Swenshuai.xi #define SIOCIPXNCPCONN (SIOCPROTOPRIVATE + 3) 74*53ee8cc1Swenshuai.xi #endif /* _IPX_H_ */ 75