root/net/inet/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 "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 
  27 typedef struct ipx_packet
  28 {
  29         unsigned short  ipx_checksum;
  30 #define IPX_NO_CHECKSUM 0xFFFF
  31         unsigned short  ipx_pktsize;
  32         unsigned char   ipx_tctrl;
  33         unsigned char   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    /* Not yet implemented */
  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 } ipx_packet;
  43 
  44 
  45 typedef struct sock ipx_socket;
  46 
  47 #include "ipxcall.h"
  48 extern int ipx_rcv(struct sk_buff *skb, struct device *dev, struct packet_type *pt);
  49 extern void ipxrtr_device_down(struct device *dev);
  50 
  51 typedef struct ipx_interface {
  52         /* IPX address */
  53         unsigned long   if_netnum;
  54         unsigned char   if_node[IPX_NODE_LEN];
  55 
  56         /* physical device info */
  57         struct device   *if_dev;
  58         struct datalink_proto   *if_dlink;
  59         unsigned short  if_dlink_type;
  60 
  61         /* socket support */
  62         unsigned short  if_sknum;
  63         ipx_socket      *if_sklist;
  64 
  65         /* administrative overhead */
  66         int             if_ipx_offset;
  67         unsigned char   if_internal;
  68         unsigned char   if_primary;
  69         
  70         struct ipx_interface    *if_next;
  71 }       ipx_interface;
  72 
  73 typedef struct ipx_route {
  74         unsigned long ir_net;
  75         ipx_interface *ir_intrfc;
  76         unsigned char ir_routed;
  77         unsigned char ir_router_node[IPX_NODE_LEN];
  78         struct ipx_route *ir_next;
  79 }       ipx_route;
  80 
  81 #define IPX_MIN_EPHEMERAL_SOCKET        0x4000
  82 #define IPX_MAX_EPHEMERAL_SOCKET        0x7fff
  83 
  84 #endif

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