111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/****************************************************************************
211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   This header was automatically generated from a Linux kernel header
511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   of the same name, to make information necessary for userspace to
611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   call into the kernel available to libc.  It contains only constants,
711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   structures, and macros generated from the original header, and thus,
811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   contains no copyrightable information.
911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/
1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _IPX_H_
1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _IPX_H_
1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/sockios.h>
1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/socket.h>
1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IPX_NODE_LEN 6
1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IPX_MTU 576
1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct sockaddr_ipx {
2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert sa_family_t sipx_family;
2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 sipx_port;
2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 sipx_network;
2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char sipx_node[IPX_NODE_LEN];
2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 sipx_type;
2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char sipx_zero;
2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define sipx_special sipx_port
2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define sipx_action sipx_zero
3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IPX_DLTITF 0
3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IPX_CRTITF 1
3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct ipx_route_definition {
3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 ipx_network;
3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 ipx_router_network;
3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char ipx_router_node[IPX_NODE_LEN];
3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct ipx_interface_definition {
4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 ipx_network;
4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char ipx_device[16];
4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char ipx_dlink_type;
4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IPX_FRAME_NONE 0
4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IPX_FRAME_SNAP 1
4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IPX_FRAME_8022 2
4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IPX_FRAME_ETHERII 3
4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IPX_FRAME_8023 4
4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IPX_FRAME_TR_8022 5
4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char ipx_special;
5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IPX_SPECIAL_NONE 0
5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IPX_PRIMARY 1
5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IPX_INTERNAL 2
5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char ipx_node[IPX_NODE_LEN];
5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct ipx_config_data {
5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char ipxcfg_auto_select_primary;
5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char ipxcfg_auto_create_interfaces;
5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct ipx_route_def {
6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 ipx_network;
6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 ipx_router_network;
6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IPX_ROUTE_NO_ROUTER 0
6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char ipx_router_node[IPX_NODE_LEN];
6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned char ipx_device[16];
6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert unsigned short ipx_flags;
6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IPX_RT_SNAP 8
6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IPX_RT_8022 4
7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IPX_RT_BLUEBOOK 2
7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define IPX_RT_ROUTED 1
7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCAIPXITFCRT (SIOCPROTOPRIVATE)
7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCAIPXPRISLT (SIOCPROTOPRIVATE + 1)
7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCIPXCFGDATA (SIOCPROTOPRIVATE + 2)
7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCIPXNCPCONN (SIOCPROTOPRIVATE + 3)
7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
79