PreviousNext

Header for Data

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.