2017-11-01 21:08:43 +07:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
2005-04-17 05:20:36 +07:00
|
|
|
#ifndef _IPX_H_
|
|
|
|
#define _IPX_H_
|
2016-08-23 01:33:21 +07:00
|
|
|
#include <linux/libc-compat.h> /* for compatibility with glibc netipx/ipx.h */
|
2009-01-30 23:19:07 +07:00
|
|
|
#include <linux/types.h>
|
2005-04-17 05:20:36 +07:00
|
|
|
#include <linux/sockios.h>
|
|
|
|
#include <linux/socket.h>
|
|
|
|
#define IPX_NODE_LEN 6
|
|
|
|
#define IPX_MTU 576
|
|
|
|
|
2016-08-23 01:33:21 +07:00
|
|
|
#if __UAPI_DEF_SOCKADDR_IPX
|
2005-04-17 05:20:36 +07:00
|
|
|
struct sockaddr_ipx {
|
2011-08-25 01:43:55 +07:00
|
|
|
__kernel_sa_family_t sipx_family;
|
2006-11-03 15:27:06 +07:00
|
|
|
__be16 sipx_port;
|
|
|
|
__be32 sipx_network;
|
2005-04-17 05:20:36 +07:00
|
|
|
unsigned char sipx_node[IPX_NODE_LEN];
|
|
|
|
__u8 sipx_type;
|
|
|
|
unsigned char sipx_zero; /* 16 byte fill */
|
|
|
|
};
|
2016-08-23 01:33:21 +07:00
|
|
|
#endif /* __UAPI_DEF_SOCKADDR_IPX */
|
2005-04-17 05:20:36 +07:00
|
|
|
|
|
|
|
/*
|
|
|
|
* So we can fit the extra info for SIOCSIFADDR into the address nicely
|
|
|
|
*/
|
|
|
|
#define sipx_special sipx_port
|
|
|
|
#define sipx_action sipx_zero
|
|
|
|
#define IPX_DLTITF 0
|
|
|
|
#define IPX_CRTITF 1
|
|
|
|
|
2016-08-23 01:33:21 +07:00
|
|
|
#if __UAPI_DEF_IPX_ROUTE_DEFINITION
|
2005-04-17 05:20:36 +07:00
|
|
|
struct ipx_route_definition {
|
2006-11-03 15:27:06 +07:00
|
|
|
__be32 ipx_network;
|
|
|
|
__be32 ipx_router_network;
|
2005-04-17 05:20:36 +07:00
|
|
|
unsigned char ipx_router_node[IPX_NODE_LEN];
|
|
|
|
};
|
2016-08-23 01:33:21 +07:00
|
|
|
#endif /* __UAPI_DEF_IPX_ROUTE_DEFINITION */
|
2005-04-17 05:20:36 +07:00
|
|
|
|
2016-08-23 01:33:21 +07:00
|
|
|
#if __UAPI_DEF_IPX_INTERFACE_DEFINITION
|
2005-04-17 05:20:36 +07:00
|
|
|
struct ipx_interface_definition {
|
2006-11-03 15:27:06 +07:00
|
|
|
__be32 ipx_network;
|
2005-04-17 05:20:36 +07:00
|
|
|
unsigned char ipx_device[16];
|
|
|
|
unsigned char ipx_dlink_type;
|
|
|
|
#define IPX_FRAME_NONE 0
|
|
|
|
#define IPX_FRAME_SNAP 1
|
|
|
|
#define IPX_FRAME_8022 2
|
|
|
|
#define IPX_FRAME_ETHERII 3
|
|
|
|
#define IPX_FRAME_8023 4
|
2012-05-23 11:43:45 +07:00
|
|
|
#define IPX_FRAME_TR_8022 5 /* obsolete */
|
2005-04-17 05:20:36 +07:00
|
|
|
unsigned char ipx_special;
|
|
|
|
#define IPX_SPECIAL_NONE 0
|
|
|
|
#define IPX_PRIMARY 1
|
|
|
|
#define IPX_INTERNAL 2
|
|
|
|
unsigned char ipx_node[IPX_NODE_LEN];
|
|
|
|
};
|
2016-08-23 01:33:21 +07:00
|
|
|
#endif /* __UAPI_DEF_IPX_INTERFACE_DEFINITION */
|
|
|
|
|
|
|
|
#if __UAPI_DEF_IPX_CONFIG_DATA
|
2005-04-17 05:20:36 +07:00
|
|
|
struct ipx_config_data {
|
|
|
|
unsigned char ipxcfg_auto_select_primary;
|
|
|
|
unsigned char ipxcfg_auto_create_interfaces;
|
|
|
|
};
|
2016-08-23 01:33:21 +07:00
|
|
|
#endif /* __UAPI_DEF_IPX_CONFIG_DATA */
|
2005-04-17 05:20:36 +07:00
|
|
|
|
|
|
|
/*
|
|
|
|
* OLD Route Definition for backward compatibility.
|
|
|
|
*/
|
|
|
|
|
2016-08-23 01:33:21 +07:00
|
|
|
#if __UAPI_DEF_IPX_ROUTE_DEF
|
2005-04-17 05:20:36 +07:00
|
|
|
struct ipx_route_def {
|
2006-11-03 15:27:06 +07:00
|
|
|
__be32 ipx_network;
|
|
|
|
__be32 ipx_router_network;
|
2005-04-17 05:20:36 +07:00
|
|
|
#define IPX_ROUTE_NO_ROUTER 0
|
|
|
|
unsigned char ipx_router_node[IPX_NODE_LEN];
|
|
|
|
unsigned char ipx_device[16];
|
|
|
|
unsigned short ipx_flags;
|
|
|
|
#define IPX_RT_SNAP 8
|
|
|
|
#define IPX_RT_8022 4
|
|
|
|
#define IPX_RT_BLUEBOOK 2
|
|
|
|
#define IPX_RT_ROUTED 1
|
|
|
|
};
|
2016-08-23 01:33:21 +07:00
|
|
|
#endif /* __UAPI_DEF_IPX_ROUTE_DEF */
|
2005-04-17 05:20:36 +07:00
|
|
|
|
|
|
|
#define SIOCAIPXITFCRT (SIOCPROTOPRIVATE)
|
|
|
|
#define SIOCAIPXPRISLT (SIOCPROTOPRIVATE + 1)
|
|
|
|
#define SIOCIPXCFGDATA (SIOCPROTOPRIVATE + 2)
|
|
|
|
#define SIOCIPXNCPCONN (SIOCPROTOPRIVATE + 3)
|
|
|
|
#endif /* _IPX_H_ */
|