{}
{   The purpose of this request is to validate that the caller of}
{ the file_access_procedure (fap) is authorized to perform the requested
{ operation.}
{   This request also returns the current value of the structure_}
{ pointer belonging to the fap.  A NIL pointer will be returned if}
{ the fap has not previously stored a value in the structure_pointer}
{ with the amp$store_fap_pointer request.}
{   The issuance of this request is mandatory for any fap which}
{ is more privileged than its caller.  Otherwise, the caller could}
{ induce the fap to perform an operation which the caller was not}
{ authorized to perform on its own.}
{   For write operations the fap is required to specify the access}
{ privilege neccessary to perform the operation for this instance of}
{ open of the file.  For example, an amp$put_next operation requires}
{ either pfc$append or pfc$shorten privilege for an instance of open}
{ of a sequential file.  Which of the two permissions is required}
{ depends upon whether the current_byte_address is equal to or less}
{ than the current EOI.  In recognition of the fact that each fap}
{ may have its own requirements with respect to access privilege for}
{ a write operation, this parameter has been provided.}
{}
{       AMP$VALIDATE_CALLER_PRIVILEGE (FILE_IDENTIFIER, CALL_BLOCK,
{         LAYER_NUMBER, REQUIRED_WRITE_PRIVILEGE, CALLER_RING_NUMBER,
{         STRUCTURE_POINTER, STATUS)
{}
{ FILE_IDENTIFIER: (input) This parameter specifies the file access}
{       identifier established when the file was opened.}
{}
{ CALL_BLOCK: (input) This parameter specifies the identity of the}
{       operation which the fap is requested to perform.}
{}
{ LAYER_NUMBER: (input) This parameter specifies the identity of the fap.}
{       This value is the same layer_number which was passed to the fap}
{       as an actual parameter.}
{}
{ REQUIRED_WRITE_PRIVILEGE: (input) This parameter specifies the access}
{       privilege required of this instance of open of the file to}
{       perform a write operation.  This parameter is ignored on non-write
{       operations.  If the required_write_privilege is not a subset of the
{       access_mode associated with this instance of open of the file, then
{       abnormal status will be returned.  The value of this parameter cannot}
{       be the NULL set for a write operation.}
{}
{ CALLER_RING_NUMBER: (input) This parameter specifies the ring of the}
{       caller of the fap.  Each operation is categorized by this request}
{       according to the privilege required.  If the caller does not have}
{       sufficient privilege to perform the operation, then abnormal status}
{       is returned.}
{}
{ STRUCTURE_POINTER: (output) This parameter specifies the address of}
{       a structure the fap previously stored using the amp$store_fap_pointer}
{       request.  A NIL pointer will be returned if the structure_pointer has}
{       not been previously initialized by the fap.}
{}
{ STATUS: (output) This parameter specifies the request status.}
{       CONDITION:  ame$ring_validation_error,
{                   ame$improper_file_id,
{                   ame$improper_access_attempt,
{                   ame$null_set_specified,
{                   ame$improper_fap_operation.
{       IDENTIFIER: amc$access_method_id.
{}
