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;
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 */ };