The following macros set and unset flag(s) in the schema entry schema_entry_flags field. In the following macros, S is a pointer to sec_attr_schema_entry_t.
/*
* Macros to set the flags.
*/
#define SA_SCH_FLAG_SET(S, FLAG) ((S)->schema_entry_flags |= (FLAG))
#define SA_SCH_FLAG_SET_UNIQUE(S) \
(SA_SCH_FLAG_SET((S),sec_attr_sch_entry_unique))
#define SA_SCH_FLAG_SET_MULTI_INST(S) \
(SA_SCH_FLAG_SET((S),sec_attr_sch_entry_multi_inst))
#define SA_SCH_FLAG_SET_RESERVED(S) \
(SA_SCH_FLAG_SET((S),sec_attr_sch_entry_reserved))
#define SA_SCH_FLAG_SET_USE_DEFAULTS(S) \
(SA_SCH_FLAG_SET((S),sec_attr_sch_entry_use_defaults))
/*
* Macros to unset the flags.
*/
#define SA_SCH_FLAG_UNSET(S, FLAG) ((S)->schema_entry_flags &= ~(FLAG))
#define SA_SCH_FLAG_UNSET_UNIQUE(S) \
(SA_SCH_FLAG_UNSET((S),sec_attr_sch_entry_unique))
#define SA_SCH_FLAG_UNSET_MULTI_INST(S) \
(SA_SCH_FLAG_UNSET((S),sec_attr_sch_entry_multi_inst))
#define SA_SCH_FLAG_UNSET_RESERVED(S) \
(SA_SCH_FLAG_UNSET((S),sec_attr_sch_entry_reserved))
#define SA_SCH_FLAG_UNSET_USE_DEFAULTS(S) \
(SA_SCH_FLAG_UNSET((S),sec_attr_sch_entry_use_defaults))