{
{   The purpose of this request is to enable a task to access a file}
{ in a controlled manner when the possibility exists that the file }
{ may be shared by two or more tasks in the same job or in different jobs.}
{   This request is intended to provide a way for multiple accessors of a }
{ shared file to serialize their modifications to the file. The lock is}
{ stored in a shared space associated with the file which is maintained}
{ by the access method. Users of a shared amc$segment access file may}
{ choose to manage their own lock within the segment. This request is}
{ particularly useful to accessors who have no shared memory in which}
{ to store the lock and who need no finer granularity of lock than the whole}
{ file.}
{   If the file lock can be granted, then it will be set regardless of any}
{ outstanding i/o requests which a sharer or caller may have issued before}
{ the lock attempt. The access method does not prevent a sharer from doing}
{ i/o to a file locked by another task. Sharers must all use the same }
{ discipline to serialize their accesses reliably. The intended discipline}
{ is to obtain the lock, do the i/o and clear the lock.}
{   Any file locks set by a task will be unset at amp$close or task}
{ termination, if not previously cleared with an amp$unlock_file request.}
{
{       AMP$LOCK_FILE (FILE_IDENTIFIER, LOCK, STATUS)
{
{ FILE_IDENTIFIER: (input) This parameter specifies the file access
{       identifier established when the file was opened.
{
{ LOCK: (output) This parameter specifies the result of the AMP$LOCK
{       request.  The options are:
{         amc$lock_set: the requested file lock has been set.
{         amc$already_set: the requested file lock has already been set
{                      by another job/task and has not been set for
{                      this job/task.
{
{ STATUS: (output) This parameter specifies the request status.
{       CONDITION:  ame$ring_validation_error,
{       IDENTIFIER: amc$access_method_id.
{
