~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/include/net/ipx.h

Version: ~ [ 2.2.5 ] ~ [ 2.4.1 ] ~ [ 2.4.9 ] ~ [ 2.6.17.10 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /*
  2  *      The following information is in its entirety obtained from:
  3  *
  4  *      Novell 'IPX Router Specification' Version 1.10 
  5  *              Part No. 107-000029-001
  6  *
  7  *      Which is available from ftp.novell.com
  8  */
  9 
 10 #ifndef _NET_INET_IPX_H_
 11 #define _NET_INET_IPX_H_
 12 
 13 #include <linux/netdevice.h>
 14 #include <net/datalink.h>
 15 #include <linux/ipx.h>
 16 
 17 typedef struct
 18 {
 19         __u32   net;
 20         __u8    node[IPX_NODE_LEN]; 
 21         __u16   sock;
 22 } ipx_address;
 23 
 24 #define ipx_broadcast_node      "\377\377\377\377\377\377"
 25 #define ipx_this_node           "\0\0\0\0\0\0"
 26 
 27 struct ipxhdr
 28 {
 29         __u16           ipx_checksum __attribute__ ((packed));
 30 #define IPX_NO_CHECKSUM 0xFFFF
 31         __u16           ipx_pktsize __attribute__ ((packed));
 32         __u8            ipx_tctrl;
 33         __u8            ipx_type;
 34 #define IPX_TYPE_UNKNOWN        0x00
 35 #define IPX_TYPE_RIP            0x01    /* may also be 0 */
 36 #define IPX_TYPE_SAP            0x04    /* may also be 0 */
 37 #define IPX_TYPE_SPX            0x05    /* SPX protocol */
 38 #define IPX_TYPE_NCP            0x11    /* $lots for docs on this (SPIT) */
 39 #define IPX_TYPE_PPROP          0x14    /* complicated flood fill brdcast [Not supported] */
 40         ipx_address     ipx_dest __attribute__ ((packed));
 41         ipx_address     ipx_source __attribute__ ((packed));
 42 };
 43 
 44 typedef struct ipx_interface {
 45         /* IPX address */
 46         __u32           if_netnum;
 47         unsigned char   if_node[IPX_NODE_LEN];
 48         atomic_t        refcnt;
 49 
 50         /* physical device info */
 51         struct net_device       *if_dev;
 52         struct datalink_proto   *if_dlink;
 53         unsigned short  if_dlink_type;
 54 
 55         /* socket support */
 56         unsigned short  if_sknum;
 57         struct sock     *if_sklist;
 58         spinlock_t      if_sklist_lock;
 59 
 60         /* administrative overhead */
 61         int             if_ipx_offset;
 62         unsigned char   if_internal;
 63         unsigned char   if_primary;
 64         
 65         struct ipx_interface    *if_next;
 66 }       ipx_interface;
 67 
 68 typedef struct ipx_route {
 69         __u32         ir_net;
 70         ipx_interface *ir_intrfc;
 71         unsigned char ir_routed;
 72         unsigned char ir_router_node[IPX_NODE_LEN];
 73         struct ipx_route *ir_next;
 74 }       ipx_route;
 75 
 76 #ifdef __KERNEL__
 77 struct ipx_cb {
 78         u8 ipx_tctrl;
 79         u32 ipx_dest_net;
 80         u32 ipx_source_net;
 81         int last_hop_index;
 82 };
 83 #endif
 84 #define IPX_MIN_EPHEMERAL_SOCKET        0x4000
 85 #define IPX_MAX_EPHEMERAL_SOCKET        0x7fff
 86 
 87 extern int ipx_register_spx(struct proto_ops **, struct net_proto_family *);
 88 extern int ipx_unregister_spx(void);
 89 
 90 #endif /* def _NET_INET_IPX_H_ */
 91 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.