-- with ACL_PROCESSOR, GLOBAL_CONSTANTS, DYNAMIC_STRING; use ACL_PROCESSOR, GLOBAL_CONSTANTS, DYNAMIC_STRING; -- package FILE_ACCESS is --+---------------------------------------------------------------------- -- -- Unit Type : PACKAGE -- Unit Name : FILE_ACCESS -- Version : V01.0E -- -- Author : Stephen R. Rainier Date : 08/21/85 -- -- Purpose : Package to simplify ACL file access control. -- -- Parameters : -- -- Name Mode(I,O,IO) Type/Subtype Description -- ---- ------------ ------------ ------------ -- ACE - ACE_BLOCK ACL entry block -- FILE I string filename spec. -- UIC I string UIC string -- -- Modifications : -- -- Name Date Description of Change -- ---- ---- --------------------- -- -- -- Packages "WITH"ed : ACL_PROCESSOR, GLOBAL_CONSTANTS, DYNAMIC_STRING -- -- -- Procedure/Function "CALL"s : CREATE_INIT_ACCESS, ADD_WRITE_ACCESS, -- DELETE_WRITE_ACCESS, GET_FILE -- -- Exceptions : -- -- Name Handled/Raised Description -- ---- -------------- ----------- -- BAD_FILE R unable to create file -- ACE_ERROR R ACL entry error -- ACE_FORMAT_ERROR H error in ACL entry -- ACE_FULL H ACL is full -- ACE_EMPTY H ACL is empty -- ACE_OVERFLOW H error in ACL update -- name_error H non-existent file -- use_error H incorrect file useage -- -- Side Effects : -- -- Comments : -- --%---------------------------------------------------------------------- -- -- Declarations -- BAD_FILE, ACE_ERROR : exception; procedure CREATE_INIT_ACCESS(FILE : in string); procedure ADD_WRITE_ACCESS(FILE : in string; UIC : in string); procedure DELETE_WRITE_ACCESS(FILE : in string; UIC : in string); procedure GET_FILE(WILD : in string; FILE : in out string; CONTEXT : in out integer; DEF_SPEC : in string; REL_SPEC : in string; DONE : out boolean); ACL_BUFFER : array(1..MAX_ACL) of ACE_BLOCK; end FILE_ACCESS;