diff --git a/zebra/ChangeLog b/zebra/ChangeLog
index 275537f..38bca6b 100644
--- a/zebra/ChangeLog
+++ b/zebra/ChangeLog
@@ -1,3 +1,7 @@
+2004-09-23 Hasso Tepper <hasso at quagga.net>
+
+	* *.[c|h]: list -> struct list *, listnode -> struct listnode *.
+
 2004-09-22 Paul Jakma <paul.jakma@sun.com>
 
 	* zserv.c: (zsend_route_multipath) fix nasty bad memset of struct
diff --git a/zebra/connected.c b/zebra/connected.c
index 7fa5ea7..21af3e9 100644
--- a/zebra/connected.c
+++ b/zebra/connected.c
@@ -38,7 +38,7 @@
 connected_check_ipv4 (struct interface *ifp, struct prefix *p)
 {
   struct connected *ifc;
-  listnode node;
+  struct listnode *node;
 
   for (node = listhead (ifp->connected); node; node = nextnode (node))
     {
@@ -221,7 +221,7 @@
 connected_check_ipv6 (struct interface *ifp, struct prefix *p)
 {
   struct connected *ifc;
-  listnode node;
+  struct listnode *node;
 
   for (node = listhead (ifp->connected); node; node = nextnode (node))
     {
diff --git a/zebra/interface.c b/zebra/interface.c
index bf84a69..5c26e26 100644
--- a/zebra/interface.c
+++ b/zebra/interface.c
@@ -275,8 +275,8 @@
 void
 if_up (struct interface *ifp)
 {
-  listnode node;
-  listnode next;
+  struct listnode *node;
+  struct listnode *next;
   struct connected *ifc;
   struct prefix *p;
 
@@ -310,8 +310,8 @@
 void
 if_down (struct interface *ifp)
 {
-  listnode node;
-  listnode next;
+  struct listnode *node;
+  struct listnode *next;
   struct connected *ifc;
   struct prefix *p;
 
@@ -490,7 +490,7 @@
   struct sockaddr_dl *sdl;
 #endif /* HAVE_SOCKADDR_DL */
   struct connected *connected;
-  listnode node;
+  struct listnode *node;
 
   vty_out (vty, "Interface %s is ", ifp->name);
   if (if_is_up(ifp)) {
@@ -706,7 +706,7 @@
        "Interface status and configuration\n"
        "Inteface name\n")
 {
-  listnode node;
+  struct listnode *node;
   struct interface *ifp;
   
 #ifdef HAVE_PROC_NET_DEV
@@ -1355,14 +1355,14 @@
 int
 if_config_write (struct vty *vty)
 {
-  listnode node;
+  struct listnode *node;
   struct interface *ifp;
   char buf[BUFSIZ];
 
   for (node = listhead (iflist); node; nextnode (node))
     {
       struct zebra_if *if_data;
-      listnode addrnode;
+      struct listnode *addrnode;
       struct connected *ifc;
       struct prefix *p;
 
diff --git a/zebra/interface.h b/zebra/interface.h
index 88049b4..b38a922 100644
--- a/zebra/interface.h
+++ b/zebra/interface.h
@@ -139,7 +139,7 @@
      protocols as being on-link for the interface from which the
      advertisement is sent. The link-local prefix SHOULD NOT be
      included in the list of advertised prefixes. */
-  list AdvPrefixList;
+  struct list *AdvPrefixList;
 };
 
 #endif /* RTADV */
@@ -157,7 +157,7 @@
   u_char rtadv_enable;
 
   /* Interface's address. */
-  list address;
+  struct list *address;
 
 #ifdef RTADV
   struct rtadvconf rtadv;
diff --git a/zebra/irdp.h b/zebra/irdp.h
index 2bf17f0..88453e9 100644
--- a/zebra/irdp.h
+++ b/zebra/irdp.h
@@ -132,7 +132,7 @@
   unsigned long irdp_sent;
   u_int16_t Lifetime;
 
- list AdvPrefList;
+ struct list *AdvPrefList;
 
 };
 
diff --git a/zebra/redistribute.c b/zebra/redistribute.c
index a4335c1..6dd3bd2 100644
--- a/zebra/redistribute.c
+++ b/zebra/redistribute.c
@@ -168,7 +168,7 @@
 void
 redistribute_add (struct prefix *p, struct rib *rib)
 {
-  listnode node;
+  struct listnode *node;
   struct zserv *client;
 
   for (node = listhead (zebrad.client_list); node; nextnode (node))
@@ -201,7 +201,7 @@
 void
 redistribute_delete (struct prefix *p, struct rib *rib)
 {
-  listnode node;
+  struct listnode *node;
   struct zserv *client;
 
   /* Add DISTANCE_INFINITY check. */
@@ -305,7 +305,7 @@
 void
 zebra_interface_up_update (struct interface *ifp)
 {
-  listnode node;
+  struct listnode *node;
   struct zserv *client;
 
   if (IS_ZEBRA_DEBUG_EVENT)
@@ -320,7 +320,7 @@
 void
 zebra_interface_down_update (struct interface *ifp)
 {
-  listnode node;
+  struct listnode *node;
   struct zserv *client;
 
   if (IS_ZEBRA_DEBUG_EVENT)
@@ -335,7 +335,7 @@
 void
 zebra_interface_add_update (struct interface *ifp)
 {
-  listnode node;
+  struct listnode *node;
   struct zserv *client;
 
   if (IS_ZEBRA_DEBUG_EVENT)
@@ -356,7 +356,7 @@
 void
 zebra_interface_delete_update (struct interface *ifp)
 {
-  listnode node;
+  struct listnode *node;
   struct zserv *client;
 
   if (IS_ZEBRA_DEBUG_EVENT)
@@ -374,7 +374,7 @@
 zebra_interface_address_add_update (struct interface *ifp,
 				    struct connected *ifc)
 {
-  listnode node;
+  struct listnode *node;
   struct zserv *client;
   struct prefix *p;
   char buf[BUFSIZ];
@@ -398,7 +398,7 @@
 zebra_interface_address_delete_update (struct interface *ifp,
 				       struct connected *ifc)
 {
-  listnode node;
+  struct listnode *node;
   struct zserv *client;
   struct prefix *p;
   char buf[BUFSIZ];
diff --git a/zebra/rtadv.c b/zebra/rtadv.c
index 7ded4c8..4bab03b 100644
--- a/zebra/rtadv.c
+++ b/zebra/rtadv.c
@@ -164,7 +164,7 @@
   int len = 0;
   struct zebra_if *zif;
   u_char all_nodes_addr[] = {0xff,0x02,0,0,0,0,0,0,0,0,0,0,0,0,0,1};
-  listnode node;
+  struct listnode *node;
 
   /*
    * Allocate control message bufffer.  This is dynamic because
@@ -308,7 +308,7 @@
 int
 rtadv_timer (struct thread *thread)
 {
-  listnode node;
+  struct listnode *node;
   struct interface *ifp;
   struct zebra_if *zif;
 
@@ -505,9 +505,9 @@
 }
 
 struct rtadv_prefix *
-rtadv_prefix_lookup (list rplist, struct prefix *p)
+rtadv_prefix_lookup (struct list *rplist, struct prefix *p)
 {
-  listnode node;
+  struct listnode *node;
   struct rtadv_prefix *rprefix;
 
   for (node = listhead (rplist); node; node = nextnode (node))
@@ -520,7 +520,7 @@
 }
 
 struct rtadv_prefix *
-rtadv_prefix_get (list rplist, struct prefix *p)
+rtadv_prefix_get (struct list *rplist, struct prefix *p)
 {
   struct rtadv_prefix *rprefix;
   
@@ -1070,7 +1070,7 @@
 rtadv_config_write (struct vty *vty, struct interface *ifp)
 {
   struct zebra_if *zif;
-  listnode node;
+  struct listnode *node;
   struct rtadv_prefix *rprefix;
   u_char buf[INET6_ADDRSTRLEN];
 
diff --git a/zebra/zserv.c b/zebra/zserv.c
index 96d6f53..f57fe5c 100644
--- a/zebra/zserv.c
+++ b/zebra/zserv.c
@@ -726,8 +726,8 @@
 static void
 zread_interface_add (struct zserv *client, u_short length)
 {
-  listnode ifnode;
-  listnode cnode;
+  struct listnode *ifnode;
+  struct listnode *cnode;
   struct interface *ifp;
   struct connected *c;
 
@@ -1540,7 +1540,7 @@
        "Zebra information"
        "Client information")
 {
-  listnode node;
+  struct listnode *node;
   struct zserv *client;
 
   for (node = listhead (zebrad.client_list); node; nextnode (node))
diff --git a/zebra/zserv.h b/zebra/zserv.h
index 90e85f6..ac5da1b 100644
--- a/zebra/zserv.h
+++ b/zebra/zserv.h
@@ -63,7 +63,7 @@
 {
   /* Thread master */
   struct thread_master *master;
-  list client_list;
+  struct list *client_list;
 
   /* default table */
   int rtm_table_default;
