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