diff --git a/ChangeLog b/ChangeLog
index c8078e2..ae97cf3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2008-01-30 Peter Szilagyi <sp615@hszk.bme.hu>
+
+	* lib/stream.h: Remove named 'new' parameter in prototype
+	  for c++ header compatibility.
+	* ospfd/ospf_opaque.h: ditto
+	* ospfd/ospfd.h: Renamed struct export to _export for c++
+	  header compatibility.
+	* ospf6d/ospf6_area.h: ditto
+
 2008-01-11 Ingo Flaschberger <if@xip.at>
 
 	* configure.ac: Improve HAVE_BSD_LINK_DETECT test.
diff --git a/lib/stream.h b/lib/stream.h
index d2d2e40..715a083 100644
--- a/lib/stream.h
+++ b/lib/stream.h
@@ -137,7 +137,7 @@
  */
 extern struct stream *stream_new (size_t);
 extern void stream_free (struct stream *);
-extern struct stream * stream_copy (struct stream *new, struct stream *src);
+extern struct stream * stream_copy (struct stream *, struct stream *src);
 extern struct stream *stream_dup (struct stream *);
 extern size_t stream_resize (struct stream *, size_t);
 extern size_t stream_get_getp (struct stream *);
diff --git a/ospf6d/ospf6_area.h b/ospf6d/ospf6_area.h
index dd33ac4..6bf7e0b 100644
--- a/ospf6d/ospf6_area.h
+++ b/ospf6d/ospf6_area.h
@@ -67,9 +67,9 @@
   {
     char *name;
     struct access_list *list;
-  } export;
-#define EXPORT_NAME(A)  (A)->export.name
-#define EXPORT_LIST(A)  (A)->export.list
+  } _export;
+#define EXPORT_NAME(A)  (A)->_export.name
+#define EXPORT_LIST(A)  (A)->_export.list
 
   /* Area acceptance list */
   struct
diff --git a/ospfd/ospf_opaque.h b/ospfd/ospf_opaque.h
index fc8d6ff..f49fe46 100644
--- a/ospfd/ospf_opaque.h
+++ b/ospfd/ospf_opaque.h
@@ -141,7 +141,7 @@
 
 extern void ospf_opaque_lsa_originate_schedule (struct ospf_interface *oi,
 						int *init_delay);
-extern struct ospf_lsa *ospf_opaque_lsa_install (struct ospf_lsa *new,
+extern struct ospf_lsa *ospf_opaque_lsa_install (struct ospf_lsa *,
 						 int rt_recalc);
 extern void ospf_opaque_lsa_refresh (struct ospf_lsa *lsa);
 
diff --git a/ospfd/ospfd.h b/ospfd/ospfd.h
index 7a0ffce..b618711 100644
--- a/ospfd/ospfd.h
+++ b/ospfd/ospfd.h
@@ -397,9 +397,9 @@
   {
     char *name;
     struct access_list *list;
-  } export;
-#define EXPORT_NAME(A)  (A)->export.name
-#define EXPORT_LIST(A)  (A)->export.list
+  } _export;
+#define EXPORT_NAME(A)  (A)->_export.name
+#define EXPORT_LIST(A)  (A)->_export.list
 
   /* Area acceptance list. */
   struct 
