5.4 Class Flags

Besides basic information about containment classes, naming attributes, mandatory and optional attributes, and super classes, eDirectory maintains a set of flags that further define the class object.

The following table lists this set of class flags.

Flag

C Value

Comment

DS_CONTAINER_CLASS

0x01

If TRUE, objects of the class can have subordinates.

DS_EFFECTIVE_CLASS

0x02

If TRUE, the class can be used as a base class. If FALSE, the class is a noneffective class which can be used as a super class of effective classes.

DS_NONREMOVABLE_CLASS

0x04

If TRUE, the class definition can’t be removed from the schema. All classes defined by the base schema have this flag set to TRUE. For classes that extend the schema, eDirectory sets this flag to TRUE when an entry is created from the class.

DS_AMBIGUOUS_NAMING

0x08

If TRUE, the class can’t be used as a base class. Noneffective classes can be created with ambiguous naming. eDirectory sets this flag when the class is created.

DS_AMBIGUOUS_CONTAINMENT

0x10

If TRUE, the class can’t be used as a base class. Noneffective classes can be created with ambiguous naming eDirectory sets this flag when the class is created.

DS_AUXILIARY_CLASS

0x20

If TRUE, the class is an auxiliary class. The DS_CONTAINER_CLASS and the DS_EFFECTIVE_CLASS flags must be set to FALSE.

This is a new flag for NDS 8.

DS_OPERATIONAL_CLASS

0x40

Defined for internal eDirectory use in NDS 8 and for LDAP compatibility.

For a more detailed description of these flags, see Object Class Flags (NDK: Novell eDirectory Schema Reference).