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