Domain/OS PROT Trait
This trait is undocumented. It is described below, click
here for a replacement header file.
The entry point vector:
typedef struct prot_$epv
{
void
(*set_rights) /* set read/write/execute/search/owner/set-id rights */
(
void *&handle, /* the object handle */
prot_$rights_vec_t rights_vector, /* the rights for person, project, organization, world. */
prot_$user_class_set_t &valid_entries, /* set only *these* rights */
status_$t *status
);
void
(*inq_rights)
(
void *&handle,
prot_$rights_vec_t rights_vector, /* store rights here */
prot_$user_class_set_t *valid_entries, /* only *these* rights are significant */
status_$t *status
);
void
(*set_user_class_ids) /* set owner/project/organization IDs */
(
void *&handle,
prot_$user_class_set_t &valid_entries, /* set only *these* IDs */
prot_$user_class_id_vec_t uids, /* the IDs */
status_$t *status
);
void
(*inq_user_class_ids)
(
void *&handle,
prot_$user_class_set_t *valid_entries, /* only *these* IDs are recognized */
prot_$user_class_id_vec_t uids, /* store IDs here */
status_$t *status
);
} prot_$epv;
The prot_trait structure
A source file is
here.
trait_$t prot_$trait =
{
4, /* four calls */
{ 3108BE90.60007123 }, /* prot trait UID */
{ { 3108BE90.70007123 }, unimp_prot_trait_$4_args }, /* set_rights */
{ { 3108BE90.80007123 }, unimp_prot_trait_$4_args }, /* inq_rights */
{ { 3108BE90.90007123 }, unimp_prot_trait_$4_args }, /* set_user_class_ids */
{ { 3108BE90.A0007123 }, unimp_prot_trait_$4_args }, /* inq_user_class_ids */
};