Compiler warnings fixes.
diff --git a/zebra/ChangeLog b/zebra/ChangeLog
index 27deda7..a62fb6c 100644
--- a/zebra/ChangeLog
+++ b/zebra/ChangeLog
@@ -1,3 +1,8 @@
+2004-09-26 Hasso Tepper <hasso at quagga.net>
+
+	* irdp_interface.c, irdp_main.c, irdp_packet.c, rt_netlink.c,
+	  rtadv.c, zebra_vty.c: Fix compiler warnings.
+
 2004-09-24 Paul Jakma <paul@dishone.st>
 
 	* irdp_interface.c: (no_ip_irdp_address_preference_cmd)
diff --git a/zebra/irdp_interface.c b/zebra/irdp_interface.c
index 9aace8c..76654c4 100644
--- a/zebra/irdp_interface.c
+++ b/zebra/irdp_interface.c
@@ -245,7 +245,7 @@
   timer =  (random () % IRDP_DEFAULT_INTERVAL) + 1; 
 
   irdp->AdvPrefList = list_new();
-  irdp->AdvPrefList->del =  (void *) Adv_free; /* Destructor */
+  irdp->AdvPrefList->del =  (void (*)(void *)) Adv_free; /* Destructor */
 
 
   /* And this for startup. Speed limit from 1991 :-). But it's OK*/
diff --git a/zebra/irdp_main.c b/zebra/irdp_main.c
index 9e31950..5ee50e7 100644
--- a/zebra/irdp_main.c
+++ b/zebra/irdp_main.c
@@ -41,6 +41,7 @@
 #include "if.h"
 #include "vty.h"
 #include "sockunion.h"
+#include "sockopt.h"
 #include "prefix.h"
 #include "command.h"
 #include "memory.h"
diff --git a/zebra/irdp_packet.c b/zebra/irdp_packet.c
index bb3513a..67609b3 100644
--- a/zebra/irdp_packet.c
+++ b/zebra/irdp_packet.c
@@ -227,7 +227,7 @@
   int irdp_sock = THREAD_FD (r);
   t_irdp_raw = thread_add_read (zebrad.master, irdp_read_raw, NULL, irdp_sock);
   
-  ret = irdp_recvmsg (irdp_sock, buf, IRDP_RX_BUF,  &ifindex);
+  ret = irdp_recvmsg (irdp_sock, (u_char *) buf, IRDP_RX_BUF,  &ifindex);
  
   if (ret < 0) zlog_warn ("IRDP: RX Error length = %d", ret);
 
diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c
index 9e6c440..cb69187 100644
--- a/zebra/rt_netlink.c
+++ b/zebra/rt_netlink.c
@@ -179,7 +179,7 @@
 
   /* multiple netlink sockets will have different nl_pid */
   namelen = sizeof snl;
-  ret = getsockname (sock, (struct sockaddr *) &snl, &namelen);
+  ret = getsockname (sock, (struct sockaddr *) &snl, (socklen_t *) &namelen);
   if (ret < 0 || namelen != sizeof snl)
     {
       zlog (NULL, LOG_ERR, "Can't get %s socket name: %s", nl->name,
diff --git a/zebra/rtadv.c b/zebra/rtadv.c
index 4bab03b..e5a026e 100644
--- a/zebra/rtadv.c
+++ b/zebra/rtadv.c
@@ -1110,7 +1110,7 @@
       rprefix = getdata (node);
       vty_out (vty, " ipv6 nd prefix %s/%d",
 	       inet_ntop (AF_INET6, &rprefix->prefix.u.prefix6, 
-			  buf, INET6_ADDRSTRLEN),
+			  (char *) buf, INET6_ADDRSTRLEN),
 	       rprefix->prefix.prefixlen);
       if ((rprefix->AdvValidLifetime != RTADV_VALID_LIFETIME) || 
 	  (rprefix->AdvPreferredLifetime != RTADV_PREFERRED_LIFETIME))
diff --git a/zebra/zebra_vty.c b/zebra/zebra_vty.c
index 4bcd29f..b2f0932 100644
--- a/zebra/zebra_vty.c
+++ b/zebra/zebra_vty.c
@@ -59,7 +59,7 @@
 };
 
 /* Return route type string for VTY output.  */
-const char
+char
 route_type_char (u_char type)
 {
   switch (type)