1
2
3
4
5
6
7
8
9
10
11 #ifndef _NET_INET_IPX_H_
12 #define _NET_INET_IPX_H_
13
14 #include <linux/ipx.h>
15 #include "datalink.h"
16
17 typedef struct
18 {
19 unsigned long net;
20 unsigned char node[6];
21 unsigned short sock;
22 } ipx_address;
23
24 #define ipx_broadcast_node "\377\377\377\377\377\377"
25
26 typedef struct ipx_packet
27 {
28 unsigned short ipx_checksum;
29 #define IPX_NO_CHECKSUM 0xFFFF
30 unsigned short ipx_pktsize;
31 unsigned char ipx_tctrl;
32 unsigned char ipx_type;
33 #define IPX_TYPE_UNKNOWN 0x00
34 #define IPX_TYPE_RIP 0x01
35 #define IPX_TYPE_SAP 0x04
36 #define IPX_TYPE_SPX 0x05
37 #define IPX_TYPE_NCP 0x11
38 #define IPX_TYPE_PPROP 0x14
39 ipx_address ipx_dest __attribute__ ((packed));
40 ipx_address ipx_source __attribute__ ((packed));
41 } ipx_packet;
42
43
44 typedef struct ipx_route
45 {
46 unsigned long net;
47 unsigned char router_node[6];
48 unsigned long router_net;
49 unsigned short flags;
50 #define IPX_RT_ROUTED 1
51 #define IPX_RT_BLUEBOOK 2
52 #define IPX_RT_8022 4
53 #define IPX_RT_SNAP 8
54 unsigned short dlink_type;
55 struct device *dev;
56 struct datalink_proto *datalink;
57 struct ipx_route *next;
58 struct ipx_route *nextlocal;
59 } ipx_route;
60
61
62 typedef struct sock ipx_socket;
63
64
65 #include "ipxcall.h"
66 extern int ipx_rcv(struct sk_buff *skb, struct device *dev, struct packet_type *pt);
67 extern void ipxrtr_device_down(struct device *dev);
68
69
70
71 #endif