ITS#10497 slap.h: Introduce o_ctrlflag related macros

This commit is contained in:
Ondřej Kuzník 2026-04-27 11:10:38 +01:00 committed by Quanah Gibson-Mount
parent 34a93772e4
commit 4fa1530cd6
2 changed files with 32 additions and 11 deletions

View file

@ -99,9 +99,6 @@ typedef struct sync_control {
int sr_rhint;
} sync_control;
#if 0 /* moved back to slap.h */
#define o_sync o_ctrlflag[slap_cids.sc_LDAPsync]
#endif
/* o_sync_mode uses data bits of o_sync */
#define o_sync_mode o_ctrlflag[slap_cids.sc_LDAPsync]

View file

@ -2772,75 +2772,99 @@ struct Operation {
#define o_dontUseCopy o_ctrlflag[slap_cids.sc_dontUseCopy]
#define get_dontUseCopy(op) _SCM((op)->o_dontUseCopy)
#define wants_dontUseCopy(op) (_SCM((op)->o_dontUseCopy) > SLAP_CONTROL_IGNORED)
#define o_relax o_ctrlflag[slap_cids.sc_relax]
#define get_relax(op) _SCM((op)->o_relax)
#define wants_relax(op) (_SCM((op)->o_relax) > SLAP_CONTROL_IGNORED)
#define o_managedsait o_ctrlflag[slap_cids.sc_manageDSAit]
#define get_manageDSAit(op) _SCM((op)->o_managedsait)
#define wants_manageDSAit(op) (_SCM((op)->o_managedsait) > SLAP_CONTROL_IGNORED)
#define o_noop o_ctrlflag[slap_cids.sc_noOp]
#define o_proxy_authz o_ctrlflag[slap_cids.sc_proxyAuthz]
#define o_subentries o_ctrlflag[slap_cids.sc_subentries]
#define wants_noop(op) (_SCM((op)->o_noop) > SLAP_CONTROL_IGNORED)
#define o_proxy_authz o_ctrlflag[slap_cids.sc_proxyAuthz]
#define wants_proxy_authz(op) (_SCM((op)->o_proxy_authz) > SLAP_CONTROL_IGNORED)
#define o_subentries o_ctrlflag[slap_cids.sc_subentries]
#define get_subentries(op) _SCM((op)->o_subentries)
#define wants_subentries(op) (_SCM((op)->o_subentries) > SLAP_CONTROL_IGNORED)
#define o_subentries_visibility o_ctrlflag[slap_cids.sc_subentries]
#define set_subentries_visibility(op) ((op)->o_subentries |= SLAP_CONTROL_DATA0)
#define get_subentries_visibility(op) (((op)->o_subentries & SLAP_CONTROL_DATA0) != 0)
#define o_assert o_ctrlflag[slap_cids.sc_assert]
#define get_assert(op) ((int)(op)->o_assert)
#define get_assert(op) _SCM((op)->o_assert)
#define wants_assert(op) (_SCM((op)->o_assert) > SLAP_CONTROL_IGNORED)
#define o_assertion o_controls[slap_cids.sc_assert]
#define get_assertion(op) ((op)->o_assertion)
#define o_valuesreturnfilter o_ctrlflag[slap_cids.sc_valuesReturnFilter]
#define wants_valuesreturnfilter(op) (_SCM((op)->o_valuesreturnfilter) > SLAP_CONTROL_IGNORED)
#define o_vrFilter o_controls[slap_cids.sc_valuesReturnFilter]
#define o_permissive_modify o_ctrlflag[slap_cids.sc_permissiveModify]
#define get_permissiveModify(op) ((int)(op)->o_permissive_modify)
#define get_permissiveModify(op) _SCM((op)->o_permissive_modify)
#define wants_permissiveModify(op) (_SCM((op)->o_permissive_modify) > SLAP_CONTROL_IGNORED)
#define o_domain_scope o_ctrlflag[slap_cids.sc_domainScope]
#define get_domainScope(op) ((int)(op)->o_domain_scope)
#define get_domainScope(op) _SCM((op)->o_domain_scope)
#define wants_domainScope(op) (_SCM((op)->o_domain_scope) > SLAP_CONTROL_IGNORED)
#ifdef SLAP_CONTROL_X_TREE_DELETE
#define o_tree_delete o_ctrlflag[slap_cids.sc_treeDelete]
#define get_treeDelete(op) ((int)(op)->o_tree_delete)
#define get_treeDelete(op) _SCM((op)->o_tree_delete)
#define wants_treeDelete(op) (_SCM((op)->o_tree_delete) > SLAP_CONTROL_IGNORED)
#endif
#define o_preread o_ctrlflag[slap_cids.sc_preRead]
#define get_preread(op) _SCM((op)->o_preread)
#define wants_preread(op) (_SCM((op)->o_preread) > SLAP_CONTROL_IGNORED)
#define o_postread o_ctrlflag[slap_cids.sc_postRead]
#define get_postread(op) _SCM((op)->o_postread)
#define wants_postread(op) (_SCM((op)->o_postread) > SLAP_CONTROL_IGNORED)
#define o_preread_attrs o_controls[slap_cids.sc_preRead]
#define o_postread_attrs o_controls[slap_cids.sc_postRead]
#define o_pagedresults o_ctrlflag[slap_cids.sc_pagedResults]
#define o_pagedresults_state o_controls[slap_cids.sc_pagedResults]
#define get_pagedresults(op) ((int)(op)->o_pagedresults)
#define get_pagedresults(op) _SCM((op)->o_pagedresults)
#define wants_pagedresults(op) (_SCM((op)->o_pagedresults) > SLAP_CONTROL_IGNORED)
#ifdef SLAP_CONTROL_X_SORTEDRESULTS
#define o_sortedresults o_ctrlflag[slap_cids.sc_sortedResults]
#define wants_sortedresults(op) (_SCM((op)->o_sortedresults) > SLAP_CONTROL_IGNORED)
#endif
#define o_txnSpec o_ctrlflag[slap_cids.sc_txnSpec]
#define wants_txnSpec(op) (_SCM((op)->o_txnSpec) > SLAP_CONTROL_IGNORED)
#ifdef SLAP_CONTROL_X_SESSION_TRACKING
#define o_session_tracking o_ctrlflag[slap_cids.sc_sessionTracking]
#define o_tracked_sessions o_controls[slap_cids.sc_sessionTracking]
#define get_sessionTracking(op) ((int)(op)->o_session_tracking)
#define get_sessionTracking(op) _SCM((op)->o_session_tracking)
#define wants_sessionTracking(op) (_SCM((op)->o_session_tracking) > SLAP_CONTROL_IGNORED)
#endif
#ifdef SLAP_CONTROL_X_WHATFAILED
#define o_whatFailed o_ctrlflag[slap_cids.sc_whatFailed]
#define get_whatFailed(op) _SCM((op)->o_whatFailed)
#define wants_whatFailed(op) (_SCM((op)->o_whatFailed) > SLAP_CONTROL_IGNORED)
#endif
#ifdef SLAP_CONTROL_X_LAZY_COMMIT
#define o_lazyCommit o_ctrlflag[slap_cids.sc_lazyCommit]
#define get_lazyCommit(op) _SCM((op)->o_lazyCommit)
#define wants_lazyCommit(op) (_SCM((op)->o_lazyCommit) > SLAP_CONTROL_IGNORED)
#endif
#define o_sync o_ctrlflag[slap_cids.sc_LDAPsync]
#define wants_sync(op) (_SCM((op)->o_sync) > SLAP_CONTROL_IGNORED)
AuthorizationInformation o_authz;