root/include/net/ipx.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   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

/* [previous][next][first][last][top][bottom][index][help] */