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