An optional standard header is available for data objects or items in the backing store. If it is employed, then the backing store library automatically maintains the created, modified, and modified_count fields, as shown in the following IDL description, taken from the dce/database.idl file:
/* The standard header for each "object" in the database. */
typedef struct dce_db_dataheader_s_t {
uuid_t uuid;
uuid_t owner_id;
uuid_t group_id;
uuid_t acl_uuid;
uuid_t def_object_acl;
uuid_t def_container_acl;
unsigned32 ref_count;
/* The following fields are updated by the library */
utc_t created;
utc_t modified;
unsigned32 modified_count;
} dce_db_dataheader_t;
typedef enum {
dce_db_header_std,
dce_db_header_acl_uuid,
dce_db_header_none
} dce_db_header_type_t;
typedef union switch (dce_db_header_type_t type) tagged_union {
case dce_db_header_none: /* none */ ;
case dce_db_header_std: dce_db_dataheader_t h;
case dce_db_header_acl_uuid: uuid_t acl_uuid;
} dce_db_header_t;
void dce_db_header_convert(
[in] handle_t h,
[in,out] dce_db_header_t *data,
[out] error_status_t *st
);
The acl_uuid field is intended for use as a UUID retrieval key in a server's ACL database.