OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [rc203soc/] [sw/] [uClinux/] [include/] [net/] [ipx.h] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1633 jcastillo
 
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

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.