2005-05-06 Paul Jakma <paul.jakma@sun.com>

        * (general) extern and static qualifiers added.
          unspecified arguments in definitions fixed, typically they should
          be 'void'.
          function casts added for callbacks.
          Guards added to headers which lacked them.
          Proper headers included rather than relying on incomplete
          definitions.
          gcc noreturn function attribute where appropriate.
        * ospf_opaque.c: remove the private definition of ospf_lsa's
          ospf_lsa_refresh_delay.
        * ospf_lsa.h: export ospf_lsa_refresh_delay
        * ospf_packet.c: (ospf_make_md5_digest) make *auth_key const,
          correct thing to do - removes need for the casts later.
        * ospf_vty.c: Use vty.h's VTY_GET_INTEGER rather than ospf_vty's
          home-brewed versions, shuts up several warnings.
        * ospf_vty.h: remove VTY_GET_UINT32. VTY_GET_IPV4_ADDRESS and
          VTY_GET_IPV4_PREFIX moved to lib/vty.h.
        * ospf_zebra.c: (ospf_distribute_list_update_timer) hacky
          overloading of the THREAD_ARG pointer should at least use
          uintptr_t.
diff --git a/ospfd/ospf_ism.h b/ospfd/ospf_ism.h
index b04865a..58f80c3 100644
--- a/ospfd/ospf_ism.h
+++ b/ospfd/ospf_ism.h
@@ -46,17 +46,17 @@
 #define ISM_InterfaceDown                 7
 #define OSPF_ISM_EVENT_MAX                8
 
-#define OSPF_ISM_WRITE_ON()                                                   \
+#define OSPF_ISM_WRITE_ON(O)                                                  \
       do                                                                      \
         {                                                                     \
           if (oi->on_write_q == 0)                                            \
 	    {                                                                 \
-              listnode_add (ospf_top->oi_write_q, oi);                        \
+              listnode_add ((O)->oi_write_q, oi);                             \
 	      oi->on_write_q = 1;                                             \
 	    }                                                                 \
-	  if (ospf_top->t_write == NULL)                                      \
-	    ospf_top->t_write =                                               \
-	      thread_add_write (master, ospf_write, ospf_top, ospf_top->fd);  \
+	  if ((O)->t_write == NULL)                                           \
+	    (O)->t_write =                                                    \
+	      thread_add_write (master, ospf_write, (O), (O)->fd);            \
         } while (0)
      
 /* Macro for OSPF ISM timer turn on. */
@@ -81,8 +81,8 @@
       thread_execute (master, ospf_ism_event, (I), (E))
 
 /* Prototypes. */
-int ospf_ism_event (struct thread *);
-void ism_change_status (struct ospf_interface *, int);
-int ospf_hello_timer (struct thread *thread);
+extern int ospf_ism_event (struct thread *);
+extern void ism_change_status (struct ospf_interface *, int);
+extern int ospf_hello_timer (struct thread *thread);
 
 #endif /* _ZEBRA_OSPF_ISM_H */