
{
{   The purpose of this request is to retrieve all the information which is
{ available for a particular file cycle.
{   One is not required to retrieve all the possible information for the file.
{ In fact, one is encouraged to retrieve only that information which is actually
{ required.  All the output parameters except user_defined_attribute_size accept
{ a NIL pointer to indicate that the parameter is not to be returned.  Refer to
{ the description of the catalog_information parameter for an additional caution.
{
{       BAP$GET_OPEN_INFORMATION (FILE_IDENTIFIER, ATTACHMENT_INFORMATION,
{         CATALOG_INFORMATION, CYCLE_ATTRIBUTE_SOURCES,
{         CYCLE_ATTRIBUTE_VALUES, INSTANCE_INFORMATION,
{         RESOLVED_FILE_REFERENCE, USER_DEFINED_ATTRIBUTES,
{         USER_DEFINED_ATTRIBUTE_SIZE, STATUS)
{
{ FILE_IDENTIFIER: (input)  This parameter specifies the file access
{       identifier established when the file was opened.
{
{ ATTACHMENT_INFORMATION: (output)  This parameter specifies information about
{       the attachment of the file to the job.
{
{ CATALOG_INFORMATION: (output)  This parameter specifies file and file-cycle
{       catalog registration information.  If a non-NIL value is specified,
{       a catalog access will occur to retrieve this information; therefore,
{       there is a significant cost associated with returning this particular
{       parameter.
{
{ CYCLE_ATTRIBUTE_SOURCES: (output)  This parameter specifies the origination
{       of the values of all of the file-cycle attributes.
{
{ CYCLE_ATTRIBUTE_VALUES: (output)  This parameter specifies the values of all
{       of the file-cycle attributes.
{
{ INSTANCE_INFORMATION: (output)  This parameter specifies information which
{       may be unique to an instance of open of a file.  This information
{       includes the values of file-cycle attributes which were overridden
{       using the fsp$open_file request which established this instance of
{       open and the values of "attachment" options specified either by the
{       fsp$open_file request or an amp$store request.  If an attribute was
{       not overridden by the fsp$open_file request, the permanent value of
{       the attribute will be returned.
{
{ RESOLVED_FILE_REFERENCE: (output)  This parameter specifies the complete
{       path name of the file cycle, including the open position, if
{       specified.
{
{ USER_DEFINED_ATTRIBUTES: (output)  This parameter specifies the values of
{       all the user-defined attributes of the file.  The caller is
{       responsible for providing an area large enough to contain the sequence
{       of user-defined attributes.  If the area provided is not large enough,
{       abnormal status will be returned; in addition the request will return
{       the actual size of the area which will be required in the parameter
{       user_defined_attribute_size.  This will allow the caller to repeat the
{       request successfully.  If a NIL value is provided for this parameter,
{       no user-defined attributes will be returned.
{
{       Each user-defined attribute in the sequence consists of a header of
{       type fst$user_attribute_descriptor followed by the value of the
{       attribute.  One performs a NEXT for the header, determines the type of
{       user-defined attribute which follows and then does another NEXT to
{       obtain the attribute value; this continues until a NIL pointer is
{       returned by the NEXT or a header is found in which the
{       user_attribute_name field is equal to osc$null_name.
{
{       The user-defined-attribute sequence is RESET by this request.
{
{ USER_DEFINED_ATTRIBUTE_SIZE: (output)  This parameter specifies the exact
{       size of the user-defined attribute information.  This parameter is
{       initialized whether or not this request terminates normally.
{
{ STATUS: (output) This parameter specifies the request status.
{       CONDITION:  ame$ring_validation_error,
{                   ame$improper_file_id.
{       IDENTIFIER: amc$access_method_id.
{
{
