summaryrefslogtreecommitdiff
path: root/nslcd/common.h
diff options
context:
space:
mode:
Diffstat (limited to 'nslcd/common.h')
-rw-r--r--nslcd/common.h51
1 files changed, 7 insertions, 44 deletions
diff --git a/nslcd/common.h b/nslcd/common.h
index 9d9a29e..89022b8 100644
--- a/nslcd/common.h
+++ b/nslcd/common.h
@@ -201,53 +201,16 @@ void shadow_init(void);
/* these are the different functions that handle the database
specific actions, see nslcd.h for the action descriptions */
-int nslcd_config_get(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_alias_byname(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_alias_all(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_ether_byname(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_ether_byether(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_ether_all(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_group_byname(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_group_bygid(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_group_bymember(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_group_all(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_host_byname(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_host_byaddr(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_host_all(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_netgroup_byname(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_netgroup_all(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_network_byname(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_network_byaddr(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_network_all(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_passwd_byname(TFILE *fp, MYLDAP_SESSION *session, uid_t calleruid);
-int nslcd_passwd_byuid(TFILE *fp, MYLDAP_SESSION *session, uid_t calleruid);
-int nslcd_passwd_all(TFILE *fp, MYLDAP_SESSION *session, uid_t calleruid);
-int nslcd_protocol_byname(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_protocol_bynumber(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_protocol_all(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_rpc_byname(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_rpc_bynumber(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_rpc_all(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_service_byname(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_service_bynumber(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_service_all(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_shadow_byname(TFILE *fp, MYLDAP_SESSION *session, uid_t calleruid);
-int nslcd_shadow_all(TFILE *fp, MYLDAP_SESSION *session, uid_t calleruid);
-int nslcd_pam_authc(TFILE *fp, MYLDAP_SESSION *session, uid_t calleruid);
-int nslcd_pam_authz(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_pam_sess_o(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_pam_sess_c(TFILE *fp, MYLDAP_SESSION *session);
-int nslcd_pam_pwmod(TFILE *fp, MYLDAP_SESSION *session, uid_t calleruid);
-int nslcd_usermod(TFILE *fp, MYLDAP_SESSION *session, uid_t calleruid);
+#include "dispatch.h"
/* macros for generating service handling code */
-#define NSLCD_HANDLE(db, fn, action, fndecls, fnread, fncheck, tentry, fnsearch, fnwrite, fnclean) \
+#define NSLCD_HANDLE(db, fn, fndecls, fnread, fncheck, tentry, fnsearch, fnwrite, fnclean) \
int nslcd_##db##_##fn(TFILE *fp, MYLDAP_SESSION *session) \
- NSLCD_HANDLE_BODY(db, fn, action, fndecls, fnread, fncheck, tentry, fnsearch, fnwrite, fnclean)
-#define NSLCD_HANDLE_UID(db, fn, action, fndecls, fnread, fncheck, tentry, fnsearch, fnwrite, fnclean) \
+ NSLCD_HANDLE_BODY(db, fn, fndecls, fnread, fncheck, tentry, fnsearch, fnwrite, fnclean)
+#define NSLCD_HANDLE_UID(db, fn, fndecls, fnread, fncheck, tentry, fnsearch, fnwrite, fnclean) \
int nslcd_##db##_##fn(TFILE *fp, MYLDAP_SESSION *session, uid_t calleruid) \
- NSLCD_HANDLE_BODY(db, fn, action, fndecls, fnread, fncheck, tentry, fnsearch, fnwrite, fnclean)
-#define NSLCD_HANDLE_BODY(db, fn, action, fndecls, fnread, fncheck, tentry, fnsearch, fnwrite, fnclean) \
+ NSLCD_HANDLE_BODY(db, fn, fndecls, fnread, fncheck, tentry, fnsearch, fnwrite, fnclean)
+#define NSLCD_HANDLE_BODY(db, fn, fndecls, fnread, fncheck, tentry, fnsearch, fnwrite, fnclean) \
{ \
/* define common variables */ \
int32_t tmpint32; \
@@ -261,7 +224,7 @@ int nslcd_usermod(TFILE *fp, MYLDAP_SESSION *session, uid_t calleruid);
fncheck \
/* write the response header */ \
WRITE_INT32(fp, NSLCD_VERSION); \
- WRITE_INT32(fp, action); \
+ WRITE_INT32(fp, NSLCD_ACTION_##db##_##fn); \
/* go over results */ \
while ((entry = search(&rc)) != NULL) \
{ \