diff --git a/ospfd/ospf_flood.h b/ospfd/ospf_flood.h
index 1a6ab97..5382e8f 100644
--- a/ospfd/ospf_flood.h
+++ b/ospfd/ospf_flood.h
@@ -20,46 +20,54 @@
  * Boston, MA 02111-1307, USA.
  */
 
-#ifndef _ZEBRA_OSPF_FLOODING_H
-#define _ZEBRA_OSPF_FLOODING_H
+#ifndef _ZEBRA_OSPF_FLOOD_H
+#define _ZEBRA_OSPF_FLOOD_H
 
-int ospf_flood (struct ospf_neighbor *, struct ospf_lsa *, struct ospf_lsa *);
-int ospf_flood_through (struct ospf_neighbor *, struct ospf_lsa *);
-int ospf_flood_through_area (struct ospf_area *, struct ospf_neighbor *,
-			     struct ospf_lsa *);
-int ospf_flood_through_as (struct ospf_neighbor *, struct ospf_lsa *);
+extern int ospf_flood (struct ospf *, struct ospf_neighbor *,
+		       struct ospf_lsa *, struct ospf_lsa *);
+extern int ospf_flood_through (struct ospf *, struct ospf_neighbor *,
+			       struct ospf_lsa *);
+extern int ospf_flood_through_area (struct ospf_area *,
+				    struct ospf_neighbor *,
+				    struct ospf_lsa *);
+extern int ospf_flood_through_as (struct ospf *, struct ospf_neighbor *,
+				  struct ospf_lsa *);
 
-unsigned long ospf_ls_request_count (struct ospf_neighbor *);
-int ospf_ls_request_isempty (struct ospf_neighbor *);
-struct ospf_lsa *ospf_ls_request_new (struct lsa_header *);
-void ospf_ls_request_free (struct ospf_lsa *);
-void ospf_ls_request_add (struct ospf_neighbor *, struct ospf_lsa *);
-void ospf_ls_request_delete (struct ospf_neighbor *, struct ospf_lsa *);
-void ospf_ls_request_delete_all (struct ospf_neighbor *);
-struct ospf_lsa *ospf_ls_request_lookup (struct ospf_neighbor *,
-					 struct ospf_lsa *);
+extern unsigned long ospf_ls_request_count (struct ospf_neighbor *);
+extern int ospf_ls_request_isempty (struct ospf_neighbor *);
+extern struct ospf_lsa *ospf_ls_request_new (struct lsa_header *);
+extern void ospf_ls_request_free (struct ospf_lsa *);
+extern void ospf_ls_request_add (struct ospf_neighbor *, struct ospf_lsa *);
+extern void ospf_ls_request_delete (struct ospf_neighbor *,
+				    struct ospf_lsa *);
+extern void ospf_ls_request_delete_all (struct ospf_neighbor *);
+extern struct ospf_lsa *ospf_ls_request_lookup (struct ospf_neighbor *,
+						struct ospf_lsa *);
 
-unsigned long ospf_ls_retransmit_count (struct ospf_neighbor *);
-unsigned long ospf_ls_retransmit_count_self (struct ospf_neighbor *, int);
-int ospf_ls_retransmit_isempty (struct ospf_neighbor *);
-void ospf_ls_retransmit_add (struct ospf_neighbor *, struct ospf_lsa *);
-void ospf_ls_retransmit_delete (struct ospf_neighbor *, struct ospf_lsa *);
-void ospf_ls_retransmit_clear (struct ospf_neighbor *);
-struct ospf_lsa *ospf_ls_retransmit_lookup (struct ospf_neighbor *,
+extern unsigned long ospf_ls_retransmit_count (struct ospf_neighbor *);
+extern unsigned long ospf_ls_retransmit_count_self (struct ospf_neighbor *,
+						    int);
+extern int ospf_ls_retransmit_isempty (struct ospf_neighbor *);
+extern void ospf_ls_retransmit_add (struct ospf_neighbor *,
+				    struct ospf_lsa *);
+extern void ospf_ls_retransmit_delete (struct ospf_neighbor *,
+				       struct ospf_lsa *);
+extern void ospf_ls_retransmit_clear (struct ospf_neighbor *);
+extern struct ospf_lsa *ospf_ls_retransmit_lookup (struct ospf_neighbor *,
+						   struct ospf_lsa *);
+extern void ospf_ls_retransmit_delete_nbr_area (struct ospf_area *,
+						struct ospf_lsa *);
+extern void ospf_ls_retransmit_delete_nbr_as (struct ospf *,
+					      struct ospf_lsa *);
+extern void ospf_ls_retransmit_add_nbr_all (struct ospf_interface *,
 					    struct ospf_lsa *);
-void ospf_ls_retransmit_delete_nbr_all (struct ospf_area *, struct ospf_lsa *);
-void ospf_ls_retransmit_add_nbr_all (struct ospf_interface *,
-				     struct ospf_lsa *);
 
-void ospf_flood_lsa_area (struct ospf_lsa *, struct ospf_area *);
-void ospf_flood_lsa_as (struct ospf_lsa *);
-void ospf_lsa_flush_area (struct ospf_lsa *, struct ospf_area *);
-void ospf_lsa_flush_as (struct ospf_lsa *);
-void ospf_flush_through_as (struct ospf_lsa *);
-struct external_info *ospf_external_info_check (struct ospf_lsa *);
+extern void ospf_flood_lsa_area (struct ospf_lsa *, struct ospf_area *);
+extern void ospf_flood_lsa_as (struct ospf_lsa *);
+extern void ospf_lsa_flush_area (struct ospf_lsa *, struct ospf_area *);
+extern void ospf_lsa_flush_as (struct ospf *, struct ospf_lsa *);
+extern struct external_info *ospf_external_info_check (struct ospf_lsa *);
 
-void debug_ospf_ls_retransmit (struct ospf_neighbor *);
+extern void ospf_lsdb_init (struct ospf_lsdb *);
 
-void ospf_lsdb_init (struct ospf_lsdb *);
-
-#endif /* _ZEBRA_OSPF_FLOODING_H */
+#endif /* _ZEBRA_OSPF_FLOOD_H */
