Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
3.1 KiB

  1. /* Definitions from the NTDSA that are exposed to the rest of NT, but not
  2. * to the public at large.
  3. */
  4. #define MAX_RDN_SIZE 255 /* The max size of an relative name value,
  5. * in Unicode characters */
  6. #define MAX_RDN_KEY_SIZE 256 /* The max size of a RDN Key eg: "CN=" */
  7. /* or "OID.1.2...=" */
  8. //
  9. // This named event is set when the delayed start up thread is finished
  10. // successfully or otherwise. In-proc clients can use
  11. // DsWaitUntilDelayedStartupIsDone() wait and recieve the ntstatus of the
  12. // delayed thread. Out of proc clients can wait on this event; there is
  13. // no mechanism to retrieve the return code.
  14. //
  15. #define NTDS_DELAYED_STARTUP_COMPLETED_EVENT TEXT("NtdsDelayedStartupCompletedEvent")
  16. /*
  17. * Bit flags for the (read-only) system-Flags attribute. Note that low order
  18. * bits are object class specific, and hence can have different meanings on
  19. * objects of different classes, the high order bits have constant meaning
  20. * across all object classes.
  21. */
  22. /* Object Class independent bits */
  23. // NOTE: These flags MAY have different behaviour in different NCs.
  24. // For example, the FLAG_CONFIG_foo flags only have meaning inside the
  25. // configuration NC. the FLAG_DOMAIN_foo flags have meaning only outside the
  26. // configuration NC.
  27. #define FLAG_DISALLOW_DELETE 0x80000000
  28. #define FLAG_CONFIG_ALLOW_RENAME 0x40000000
  29. #define FLAG_CONFIG_ALLOW_MOVE 0x20000000
  30. #define FLAG_CONFIG_ALLOW_LIMITED_MOVE 0x10000000
  31. #define FLAG_DOMAIN_DISALLOW_RENAME 0x08000000
  32. #define FLAG_DOMAIN_DISALLOW_MOVE 0x04000000
  33. #define FLAG_DISALLOW_MOVE_ON_DELETE 0x02000000
  34. /* Object Class specific bits, by object class */
  35. /* CrossReference objects */
  36. #define FLAG_CR_NTDS_NC 0x00000001 // NC is in NTDS (not VC or foreign)
  37. #define FLAG_CR_NTDS_DOMAIN 0x00000002 // NC is a domain (not non-domain NC)
  38. #define FLAG_CR_NTDS_NOT_GC_REPLICATED 0x00000004 // NC is not to be replicated to GCs as a read only replica.
  39. /* Attribute-Schema objects */
  40. #define FLAG_ATTR_NOT_REPLICATED (0x00000001) // Attribute is not replicated
  41. #define FLAG_ATTR_REQ_PARTIAL_SET_MEMBER (0x00000002) // Attribute is required to be
  42. // member of the partial set
  43. #define FLAG_ATTR_IS_CONSTRUCTED (0x00000004) // Attribute is a constructed att
  44. #define FLAG_ATTR_IS_OPERATIONAL (0x00000008) // Attribute is an operational att
  45. /* Attribute-Schema or Class-Schema objects */
  46. #define FLAG_SCHEMA_BASE_OBJECT (0x00000010) // Base schema object
  47. /* Attribute-Schema objects */
  48. // A user may set, but not reset, FLAG_ATTR_IS_RDN in attributeSchema
  49. // objects in the SchemaNC. The user sets FLAG_ATTR_IS_RDN to identify
  50. // which of several attributes with the same attributeId should be
  51. // used as the rdnattid of a new class. Once set, the attribute is
  52. // treated as if it were used as the rdnattid of some class; meaning it
  53. // cannot be reused.
  54. #define FLAG_ATTR_IS_RDN (0x00000020) // can be used as key in rdn (key=rdn)