#include <errno.h>
 #include <syslog.h>
 
+#include "glite/lb/context-int.h"
+#include "lb_authz.h"
+
 #ifndef NO_VOMS
 
 #include <openssl/ssl.h>
 #include "glite/wmsutils/jobid/cjobid.h"
 #include "glite/lb/producer.h"
 #include "glite/lb/trio.h"
-#include "lb_authz.h"
 #include "lbs_db.h"
 
 /* XXX should be defined in gridsite-gacl.h */
 #else /* NO_VOMS */
 
 int
-edg_wll_SetVomsGroups() { return 0; }
+edg_wll_SetVomsGroups(edg_wll_Context ctx, edg_wll_GssConnection *gss, char *server_cert,
+       char *server_key, char *voms_dir, char *ca_dir)
+{
+       return 0;
+}
 
-void edg_wll_FreeVomsGroups() {}
+void edg_wll_FreeVomsGroups(edg_wll_VomsGroups *groups) {}
 
 #endif
 
 #else /* VOMS & GACL */
 
 
-int edg_wll_CheckACL() { return EPERM; }
-int edg_wll_EncodeACL() { return 0; }
-int edg_wll_DecodeACL() { return 0; }
-int edg_wll_InitAcl() { return 0; }
-int edg_wll_FreeAcl() { return 0; }
-int edg_wll_HandleCounterACL() { return 0; }
-int edg_wll_UpdateACL() { return 0; }
-int edg_wll_GetACL() { return 0; }
+int edg_wll_CheckACL(edg_wll_Context ctx, edg_wll_Acl acl, int requested_perm) { return EPERM; }
+
+#ifndef NO_GACL
+int edg_wll_EncodeACL(GRSTgaclAcl *acl, char **str) { return 0; }
+int edg_wll_DecodeACL(char *buf, GRSTgaclAcl **result_acl) { return 0; }
+#else
+int edg_wll_EncodeACL(void *acl, char **str) { return 0; }
+int edg_wll_DecodeACL(char *buf, void **result_acl) { return 0; }
+#endif
+
+int edg_wll_InitAcl(edg_wll_Acl *acl) { return 0; }
+void edg_wll_FreeAcl(edg_wll_Acl acl) { }
+int edg_wll_HandleCounterACL(edg_wll_Context ctx, edg_wll_Acl acl,
+                         char *aclid, int incr) { return 0; }
+int edg_wll_UpdateACL(edg_wll_Context ctx, edg_wlc_JobId job,
+                  char *user_id, int user_id_type,
+                  int permission, int perm_type, int operation) { return 0; }
+int edg_wll_GetACL(edg_wll_Context ctx, edg_wlc_JobId jobid, edg_wll_Acl *acl) { return 0; }
 
 
 #endif
 
 } _edg_wll_Acl;
 typedef struct _edg_wll_Acl *edg_wll_Acl;
 
-#ifndef NO_VOMS
-
 # ifndef NO_GACL
 
-#include <stdio.h>
+extern int
+edg_wll_DecodeACL(char *, GRSTgaclAcl **);
+
+extern int
+edg_wll_EncodeACL(GRSTgaclAcl *, char **);
+
+#else
 
-#include "glite/lb/context-int.h"
-#include "glite/lb/lb_gss.h"
+extern int
+edg_wll_DecodeACL(char *, void **);
+
+extern int
+edg_wll_EncodeACL(void *, char **);
+
+#endif /* NO_GACL */
+
+/* we have NO_VOMS||NO_GACL placeholders for following routines */
 
 extern int
 edg_wll_InitAcl(edg_wll_Acl *);
 edg_wll_CheckACL(edg_wll_Context, edg_wll_Acl, int);
 
 extern int
-edg_wll_DecodeACL(char *, GRSTgaclAcl **);
-
-extern int
-edg_wll_EncodeACL(GRSTgaclAcl *, char **);
-
-extern int
 edg_wll_GetACL(edg_wll_Context, edg_wlc_JobId, edg_wll_Acl *);
 
-#endif /* NO_GACL */
-
 extern int
 edg_wll_SetVomsGroups(edg_wll_Context, edg_wll_GssConnection *, char *, char *, char *, char *);
 
 extern void
 edg_wll_FreeVomsGroups(edg_wll_VomsGroups *);
 
-#endif /* NO_VOMS */
-
 #endif