{
{   The purpose of this request is to prepare a local file for access.
{ Functions as described for fsp$open_file are performed.  These functions
{ include validation of access to a file, allowing segment or record access to
{ a file, and specification of attributes for a file.
{
{       BAP$OPEN_FILE (ACCESS_LEVEL, FILE_ATTACHMENT,
{         DEFAULT_CREATION_ATTRIBUTES, MANDATED_CREATION_ATTRIBUTES,
{         ATTRIBUTE_VALIDATION, ATTRIBUTE_OVERRIDE, EVALUATED_FILE_REFERENCE,
{         FILE_PREVIOUSLY_OPENED, CONTAINS_DATA, FILE_IDENTIFIER, WAIT,
{         WAIT_TIME, WORK_RESULT, ARCHIVE_CYCLE_NUMBER, STATUS)
{
{ ACCESS_LEVEL: (input)  This parameter specifies the means by which this file
{       will be accessed.
{
{ FILE_ATTACHMENT: (input)  This parameter specifies the attachment options to
{       be in effect for this instance of open.
{
{ DEFAULT_CREATION_ATTRIBUTES: (input)  This parameter specifies file attribute
{       values which are to be used in the absence of a CREATE_FILE command or
{       program request specification.
{
{ MANDATED_CREATION_ATTRIBUTES: (input)  This parameter specifies file
{       attribute values which must be used to describe the file, if it is to
{       be initially opened by this request.
{
{ ATTRIBUTE_VALIDATION: (input)  This parameter specifies the desired attribute
{       values of the file.  This parameter allows alternatives to be specified
{       for each attribute to be validated.
{
{ ATTRIBUTE_OVERRIDE: (input)  This parameter specifies an attribute value to
{       be used only for this instance of open of the file or file cycle.
{
{ EVALUATED_FILE_REFERENCE: (input, output)  This parameter specifies the file
{       reference of the file to be opened.
{
{ FILE_PREVIOUSLY_OPENED: (output)  This parameter returns whether the file had
{       ever previously been opened.
{
{ CONTAINS_DATA: (output)  This parameter indicates whether there has been any
{       data written to the file (that is, is EOI > 0?).
{
{ FILE_IDENTIFIER: (output)  This parameter specifies the file access
{       identifier which is assigned to this instance of open for the file.
{
{ WAIT: (output)  This parameter specifies whether or not to wait for
{       attachment if the file is busy.
{
{ WAIT_TIME: (output)  This parameter specifies the length of time to wait for
{       attachment if the file is busy.
{
{ WORK_RESULT NOT CURRENTLY SUPPORTED
{ WORK_RESULT: (output) This parameter returns whether the open resulted
{       in an implicit permanent file creation, implicit permanent file
{       attachment, or merely a local file create.
{       BAC$FILE_NOT_CREATED.  No new file was created as a result of this
{         request.
{       BAC$IMPLICIT_PF_CREATE. A permanent file was created as a result
{         of the open.
{       BAC$IMPLICIT_PF_ATTACH. A permanent file was attached as a result
{         of the open.
{       BAC$TEMPORARY_FILE_CREATE. A temporary file was created as a result
{         of the open.
{
{ ARCHIVE_CYCLE_NUMBER: (output)  This parameter specifies the cycle number of
{       the file that is being opened.  It is used on retrieval of an archived
{       file to identify the cycle of the file that is to be restored to mass
{       storage.
{
{ STATUS: (output) This parameter specifies the request status.
{
