blob: 4f29c60964c4d66be51c4f5553e4059d42b3ac36 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#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
8struct 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
25struct ipx_route_definition {
26 __u32 ipx_network;
27 __u32 ipx_router_network;
28 unsigned char ipx_router_node[IPX_NODE_LEN];
29};
30
31struct 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
48struct 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
57struct 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_ */