|
|
1.1 root 1:
2: /*
3: * The following information is in its entirety obtained from:
4: *
5: * Novell 'IPX Router Specification' Version 1.10
6: * Part No. 107-000029-001
7: *
8: * Which is available from ftp.novell.com
9: */
10:
11: #ifndef _NET_INET_IPX_H_
12: #define _NET_INET_IPX_H_
13:
14: #include <linux/skbuff.h>
15: #include <net/datalink.h>
16: #include <linux/ipx.h>
17:
18: typedef struct
19: {
20: unsigned long net;
21: unsigned char node[IPX_NODE_LEN];
22: unsigned short sock;
23: } ipx_address;
24:
25: #define ipx_broadcast_node "\377\377\377\377\377\377"
26: #define ipx_this_node "\0\0\0\0\0\0"
27:
28: typedef struct ipx_packet
29: {
30: unsigned short ipx_checksum;
31: #define IPX_NO_CHECKSUM 0xFFFF
32: unsigned short ipx_pktsize;
33: unsigned char ipx_tctrl;
34: unsigned char ipx_type;
35: #define IPX_TYPE_UNKNOWN 0x00
36: #define IPX_TYPE_RIP 0x01 /* may also be 0 */
37: #define IPX_TYPE_SAP 0x04 /* may also be 0 */
38: #define IPX_TYPE_SPX 0x05 /* Not yet implemented */
39: #define IPX_TYPE_NCP 0x11 /* $lots for docs on this (SPIT) */
40: #define IPX_TYPE_PPROP 0x14 /* complicated flood fill brdcast [Not supported] */
41: ipx_address ipx_dest __attribute__ ((packed));
42: ipx_address ipx_source __attribute__ ((packed));
43: } ipx_packet;
44:
45:
46: typedef struct sock ipx_socket;
47:
48: #include <net/ipxcall.h>
49: extern int ipx_rcv(struct sk_buff *skb, struct device *dev, struct packet_type *pt);
50: extern void ipxrtr_device_down(struct device *dev);
51:
52: typedef struct ipx_interface {
53: /* IPX address */
54: unsigned long if_netnum;
55: unsigned char if_node[IPX_NODE_LEN];
56:
57: /* physical device info */
58: struct device *if_dev;
59: struct datalink_proto *if_dlink;
60: unsigned short if_dlink_type;
61:
62: /* socket support */
63: unsigned short if_sknum;
64: ipx_socket *if_sklist;
65:
66: /* administrative overhead */
67: int if_ipx_offset;
68: unsigned char if_internal;
69: unsigned char if_primary;
70:
71: struct ipx_interface *if_next;
72: } ipx_interface;
73:
74: typedef struct ipx_route {
75: unsigned long ir_net;
76: ipx_interface *ir_intrfc;
77: unsigned char ir_routed;
78: unsigned char ir_router_node[IPX_NODE_LEN];
79: struct ipx_route *ir_next;
80: } ipx_route;
81:
82: #define IPX_MIN_EPHEMERAL_SOCKET 0x4000
83: #define IPX_MAX_EPHEMERAL_SOCKET 0x7fff
84:
85: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.