diff --git a/ospfd/ospf_apiserver.h b/ospfd/ospf_apiserver.h
new file mode 100644
index 0000000..c714578
--- /dev/null
+++ b/ospfd/ospf_apiserver.h
@@ -0,0 +1,201 @@
+/*
+ * Server side of OSPF API.
+ * Copyright (C) 2001, 2002 Ralph Keller
+ *
+ * This file is part of GNU Zebra.
+ * 
+ * GNU Zebra is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published
+ * by the Free Software Foundation; either version 2, or (at your
+ * option) any later version.
+ *
+ * GNU Zebra is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Zebra; see the file COPYING.  If not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef _OSPF_APISERVER_H
+#define _OSPF_APISERVER_H
+
+/* MTYPE definition is not reflected to "memory.h". */
+#define MTYPE_OSPF_APISERVER MTYPE_TMP
+#define MTYPE_OSPF_APISERVER_MSGFILTER MTYPE_TMP
+
+/* List of opaque types that application registered */
+struct registered_opaque_type
+{
+  u_char lsa_type;
+  u_char opaque_type;
+};
+
+
+/* Server instance for each accepted client connection. */
+struct ospf_apiserver
+{
+  /* Socket connections for synchronous commands and asynchronous
+     notifications */
+  int fd_sync;			/* synchronous requests */
+  struct sockaddr_in peer_sync;
+
+  int fd_async;			/* asynchronous notifications */
+  struct sockaddr_in peer_async;
+
+  /* List of all opaque types that application registers to use. Using
+     a single connection with the OSPF daemon, multiple
+     <lsa,opaque_type> pairs can be registered. However, each
+     combination can only be registered once by all applications. */
+  list opaque_types;		/* of type registered_opaque_type */
+
+  /* Temporary storage for LSA instances to be refreshed. */
+  struct ospf_lsdb reserve;
+
+  /* filter for LSA update/delete notifies */
+  struct lsa_filter_type *filter;
+
+  /* Fifo buffers for outgoing messages */
+  struct msg_fifo *out_sync_fifo;
+  struct msg_fifo *out_async_fifo;
+
+  /* Read and write threads */
+  struct thread *t_sync_read;
+#ifdef USE_ASYNC_READ
+  struct thread *t_async_read;
+#endif /* USE_ASYNC_READ */
+  struct thread *t_sync_write;
+  struct thread *t_async_write;
+};
+
+enum event
+{
+  OSPF_APISERVER_ACCEPT,
+  OSPF_APISERVER_SYNC_READ,
+#ifdef USE_ASYNC_READ
+  OSPF_APISERVER_ASYNC_READ,
+#endif /* USE_ASYNC_READ */
+  OSPF_APISERVER_SYNC_WRITE,
+  OSPF_APISERVER_ASYNC_WRITE
+};
+
+/* -----------------------------------------------------------
+ * Followings are functions to manage client connections.
+ * -----------------------------------------------------------
+ */
+
+unsigned short ospf_apiserver_getport (void);
+int ospf_apiserver_init (void);
+void ospf_apiserver_term (void);
+struct ospf_apiserver *ospf_apiserver_new (int fd_sync, int fd_async);
+void ospf_apiserver_free (struct ospf_apiserver *apiserv);
+void ospf_apiserver_event (enum event event, int fd,
+			   struct ospf_apiserver *apiserv);
+int ospf_apiserver_serv_sock_family (unsigned short port, int family);
+int ospf_apiserver_accept (struct thread *thread);
+int ospf_apiserver_read (struct thread *thread);
+int ospf_apiserver_sync_write (struct thread *thread);
+int ospf_apiserver_async_write (struct thread *thread);
+int ospf_apiserver_send_reply (struct ospf_apiserver *apiserv,
+			       u_int32_t seqnr, u_char rc);
+
+/* -----------------------------------------------------------
+ * Followings are message handler functions
+ * -----------------------------------------------------------
+ */
+
+int ospf_apiserver_lsa9_originator (void *arg);
+int ospf_apiserver_lsa10_originator (void *arg);
+int ospf_apiserver_lsa11_originator (void *arg);
+
+void ospf_apiserver_clients_notify_all (struct msg *msg);
+
+void ospf_apiserver_clients_notify_ready_type9 (struct ospf_interface *oi);
+void ospf_apiserver_clients_notify_ready_type10 (struct ospf_area *area);
+void ospf_apiserver_clients_notify_ready_type11 (struct ospf *top);
+
+void ospf_apiserver_clients_notify_new_if (struct ospf_interface *oi);
+void ospf_apiserver_clients_notify_del_if (struct ospf_interface *oi);
+void ospf_apiserver_clients_notify_ism_change (struct ospf_interface *oi);
+void ospf_apiserver_clients_notify_nsm_change (struct ospf_neighbor *nbr);
+
+int ospf_apiserver_is_ready_type9 (struct ospf_interface *oi);
+int ospf_apiserver_is_ready_type10 (struct ospf_area *area);
+int ospf_apiserver_is_ready_type11 (struct ospf *ospf);
+
+void ospf_apiserver_notify_ready_type9 (struct ospf_apiserver *apiserv);
+void ospf_apiserver_notify_ready_type10 (struct ospf_apiserver *apiserv);
+void ospf_apiserver_notify_ready_type11 (struct ospf_apiserver *apiserv);
+
+int ospf_apiserver_handle_msg (struct ospf_apiserver *apiserv,
+			       struct msg *msg);
+int ospf_apiserver_handle_register_opaque_type (struct ospf_apiserver
+						*apiserv, struct msg *msg);
+int ospf_apiserver_handle_unregister_opaque_type (struct ospf_apiserver
+						  *apiserv, struct msg *msg);
+int ospf_apiserver_handle_register_event (struct ospf_apiserver *apiserv,
+					  struct msg *msg);
+int ospf_apiserver_handle_originate_request (struct ospf_apiserver *apiserv,
+					     struct msg *msg);
+int ospf_apiserver_handle_delete_request (struct ospf_apiserver *apiserv,
+					  struct msg *msg);
+int ospf_apiserver_handle_sync_lsdb (struct ospf_apiserver *apiserv,
+				     struct msg *msg);
+
+
+/* -----------------------------------------------------------
+ * Followings are functions for LSA origination/deletion
+ * -----------------------------------------------------------
+ */
+
+int ospf_apiserver_register_opaque_type (struct ospf_apiserver *apiserver,
+					 u_char lsa_type, u_char opaque_type);
+int ospf_apiserver_unregister_opaque_type (struct ospf_apiserver *apiserver,
+					   u_char lsa_type,
+					   u_char opaque_type);
+struct ospf_lsa *ospf_apiserver_opaque_lsa_new (struct ospf_area *area,
+						struct ospf_interface *oi,
+						struct lsa_header *protolsa);
+struct ospf_interface *ospf_apiserver_if_lookup_by_addr (struct in_addr
+							 address);
+struct ospf_interface *ospf_apiserver_if_lookup_by_ifp (struct interface
+							*ifp);
+int ospf_apiserver_originate1 (struct ospf_lsa *lsa);
+void ospf_apiserver_flood_opaque_lsa (struct ospf_lsa *lsa);
+
+
+/* -----------------------------------------------------------
+ * Followings are callback functions to handle opaque types 
+ * -----------------------------------------------------------
+ */
+
+int ospf_apiserver_new_if (struct interface *ifp);
+int ospf_apiserver_del_if (struct interface *ifp);
+void ospf_apiserver_ism_change (struct ospf_interface *oi, int old_status);
+void ospf_apiserver_nsm_change (struct ospf_neighbor *nbr, int old_status);
+void ospf_apiserver_config_write_router (struct vty *vty);
+void ospf_apiserver_config_write_if (struct vty *vty, struct interface *ifp);
+void ospf_apiserver_show_info (struct vty *vty, struct ospf_lsa *lsa);
+int ospf_ospf_apiserver_lsa_originator (void *arg);
+void ospf_apiserver_lsa_refresher (struct ospf_lsa *lsa);
+void ospf_apiserver_flush_opaque_lsa (struct ospf_apiserver *apiserv,
+				      u_char lsa_type, u_char opaque_type);
+
+/* -----------------------------------------------------------
+ * Followings are hooks when LSAs are updated or deleted
+ * -----------------------------------------------------------
+ */
+
+
+/* Hooks that are invoked from ospf opaque module */
+
+int ospf_apiserver_lsa_update (struct ospf_lsa *lsa);
+int ospf_apiserver_lsa_delete (struct ospf_lsa *lsa);
+
+void ospf_apiserver_clients_lsa_change_notify (u_char msgtype,
+					       struct ospf_lsa *lsa);
+
+#endif /* _OSPF_APISERVER_H */
