XNSCHACL.mesa
Copyright Ó 1991 by Xerox Corporation. All rights reserved.
Demers, January 19, 1987 2:37:02 pm PST
DIRECTORY
CHACLOpsP127V1 USING [AccessList],
CHOpsP2V3 USING [all, Property],
XNSCH USING [Conversation, ElementStreamProc],
XNSCHName USING [Name];
XNSCHACL: CEDAR DEFINITIONS
~ {
OPEN CHOps: CHOpsP2V3, CHACLOps: CHACLOpsP127V1;
Copied Types
The following three types are equivalent; the difference lies in what we consider to be legitimate values ...
Name: TYPE ~ XNSCHName.Name; -- valid name (or alias) of object
Pattern: TYPE ~ Name;  -- may contain wildcards
Element: TYPE ~ Name;  -- element of a group, needn't name an object
PropertyID: TYPE ~ CHOps.Property;
unspecified: PropertyID ~ CHOps.all;
AccessList: TYPE ~ CHACLOps.AccessList;
Conversation: TYPE ~ XNSCH.Conversation;
ElementStreamProc: TYPE ~ XNSCH.ElementStreamProc;
Operations on Property ACLs
ListMembersOfPropertyACL: PROC [c: Conversation, pattern: Pattern, pID: PropertyID, acl: AccessList, eachMember: ElementStreamProc] RETURNS [distingName: Name];
! Error
IsMemberOfPropertyACLClosure: PROC [c: Conversation, pattern: Pattern, pID: PropertyID, acl: AccessList, member: Element, pID2: PropertyID ¬ unspecified]
RETURNS [distingName: Name, isMember: BOOL];
! Error
AddMemberToPropertyACL: PROC [c: Conversation, name: Name, pID: PropertyID, acl: AccessList, member: Element]
RETURNS [distingName: Name];
! Error
DeleteMemberFromPropertyACL: PROC [c: Conversation, name: Name, pID: PropertyID, acl: AccessList, member: Element]
RETURNS [distingName: Name];
! Error
Operations on Domain ACLs
ListMembersOfDomainACL: PROC [c: Conversation, domain: Name, acl: AccessList, eachMember: ElementStreamProc];
! Error
IsMemberOfDomainACLClosure: PROC [c: Conversation, domain: Name, acl: AccessList, member: Element, pID2: PropertyID ¬ unspecified]
RETURNS [isMember: BOOL];
! Error
AddMemberToDomainACL: PROC [c: Conversation, domain: Name, acl: AccessList, member: Element];
! Error
DeleteMemberFromDomainACL: PROC [c: Conversation, domain: Name, acl: AccessList, member: Element];
! Error
Operations on Organization ACLs
ListMembersOfOrganizationACL: PROC [c: Conversation, organization: Name, acl: AccessList, eachMember: ElementStreamProc];
! Error
IsMemberOfOrganizationACLClosure: PROC [c: Conversation, organization: Name, acl: AccessList, member: Element, pID2: PropertyID ¬ unspecified]
RETURNS [isMember: BOOL];
! Error
AddMemberToOrganizationACL: PROC [c: Conversation, organization: Name, acl: AccessList, member: Element];
! Error
DeleteMemberFromOrganizationACL: PROC [c: Conversation, organization: Name, acl: AccessList, member: Element];
! Error
}.