--- a/imsp/abook.c
+++ b/imsp/abook.c
@@ -300,7 +300,7 @@ int abook_canlock(id, name)
  */
 int abook_searchstart(state, ldap_state, id, name, flist, fcount)
     abook_state *state;
-    void **ldap_state;
+    struct abook_ldap_state **ldap_state;
     auth_id *id;
     char *name;
     abook_fielddata *flist;
--- a/imsp/abook.h
+++ b/imsp/abook.h
@@ -106,7 +106,8 @@ int abook_canlock(auth_id *, char *);
  *  fcount number of fields of interest (may be 0)
  *  returns: AB_SUCCESS, AB_FAIL, AB_PERM
  */
-int abook_searchstart(abook_state *, void **, auth_id *, char *,
+struct abook_ldap_state; /* forward decl for abook_ldap.h */
+int abook_searchstart(abook_state *, struct abook_ldap_state **, auth_id *, char *,
 		      abook_fielddata *, int);
 
 /*  abook_search(state, ldap_state)
