get rid of obsolete structures and allow timer-setting routines to be macros
[unix-history] / usr / src / sys / netiso / clnp.h
index 38113fa..8b321fd 100644 (file)
@@ -1,3 +1,11 @@
+/*-
+ * Copyright (c) 1991 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * %sccs.include.redist.c%
+ *
+ *     @(#)clnp.h      7.8 (Berkeley) %G%
+ */
 
 /***********************************************************
                Copyright IBM Corporation 1987
 
 /***********************************************************
                Copyright IBM Corporation 1987
@@ -27,7 +35,6 @@ SOFTWARE.
  */
 /* $Header: /var/src/sys/netiso/RCS/clnp.h,v 5.1 89/02/09 16:17:22 hagens Exp $ */
 /* $Source: /var/src/sys/netiso/RCS/clnp.h,v $ */
  */
 /* $Header: /var/src/sys/netiso/RCS/clnp.h,v 5.1 89/02/09 16:17:22 hagens Exp $ */
 /* $Source: /var/src/sys/netiso/RCS/clnp.h,v $ */
-/*     @(#)clnp.h      7.5 (Berkeley) %G% */
 
 #ifndef BYTE_ORDER
 /*
 
 #ifndef BYTE_ORDER
 /*
@@ -364,10 +371,11 @@ struct troll {
 };
 
 #define        SN_OUTPUT(clcp, m)\
 };
 
 #define        SN_OUTPUT(clcp, m)\
-       troll_output(clcp->clc_ifa->ia_ifp, m, clcp->clc_firsthop)
+       troll_output(clcp->clc_ifp, m, clcp->clc_firsthop, clcp->clc_rt)
 
 
-#define        SN_MTU(ifp)\
-       (ifp->if_mtu - trollctl.tr_mtu_adj)
+#define        SN_MTU(ifp, rt) (((rt && rt->rt_rmx.rmx_mtu) ?\
+       rt->rt_rmx.rmx_mtu : clnp_badmtu(ifp, rt, __LINE__, __FILE__))\
+               - trollctl.tr_mtu_adj)
 
 #ifdef KERNEL
 extern float troll_random;
 
 #ifdef KERNEL
 extern float troll_random;
@@ -376,10 +384,10 @@ extern float troll_random;
 #else  /* NO TROLL */
 
 #define        SN_OUTPUT(clcp, m)\
 #else  /* NO TROLL */
 
 #define        SN_OUTPUT(clcp, m)\
-       (*clcp->clc_ifa->ia_ifp->if_output)(clcp->clc_ifa->ia_ifp, m, clcp->clc_firsthop)
+       (*clcp->clc_ifp->if_output)(clcp->clc_ifp, m, clcp->clc_firsthop, clcp->clc_rt)
 
 
-#define        SN_MTU(ifp)\
-       (ifp->if_mtu)
+#define        SN_MTU(ifp, rt) (((rt && rt->rt_rmx.rmx_mtu) ?\
+       rt->rt_rmx.rmx_mtu : clnp_badmtu(ifp, rt, __LINE__, __FILE__)))
 
 #endif TROLL
 
 
 #endif TROLL
 
@@ -421,10 +429,11 @@ struct clnp_cache {
 
        /* these fields are state that clnp_output requires to finish the pkt */
        int                                     clc_segoff;             /* offset of seg part of header */
 
        /* these fields are state that clnp_output requires to finish the pkt */
        int                                     clc_segoff;             /* offset of seg part of header */
-       struct sockaddr         *clc_firsthop;  /* first hop of packet (points into
-                                                                                       the route structure) */
-       struct iso_ifaddr       *clc_ifa;               /* ptr to interface (points into
+       struct rtentry          *clc_rt;                /* ptr to rtentry (points into
                                                                                        the route structure) */
                                                                                        the route structure) */
+       struct sockaddr         *clc_firsthop;  /* first hop of packet */
+       struct ifnet            *clc_ifp;               /* ptr to interface structure */
+       struct iso_ifaddr       *clc_ifa;               /* ptr to interface address */
        struct mbuf             *clc_hdr;               /* cached pkt hdr (finally)! */
 };
 
        struct mbuf             *clc_hdr;               /* cached pkt hdr (finally)! */
 };