{       PFP$R3_ATTACH
{
{   The purpose of this request is to attach a permanent file to a job for its
{ use.  A local file name is also assigned.  All input/output operations made
{ within the attaching job will be directly from/to the file.
{
{   Access control information is retrieved from the catalogs identified by the
{ path parameter and is used to validate that the user may access the file as
{ requested.  The usage and share selections are verified to ensure that the
{ request does not conflict with current file usage.  NOS/VE allows file
{ sharing among jobs as well as multiple attaches within a job under different
{ local file names as long as no usage or sharing conflicts occur.
{
{ PFP$ATTACH (LFN, PATH, CYCLE_SELECTOR, PASSWORD, USAGE_SELECTIONS,
{       SHARE_SELECTIONS, CYCLE_NUMBER, STATUS)
{
{ LFN: (input) This parameter specifies the local file name to be used
{       within the job to reference the permanent file while attached.
{       If the lfn is already in use by the job the request is terminated
{       and an error status is returned.
{
{ PATH: (input) This parameter specifies the identification of the permanent
{       file.  The path parameter consists of an array of names which identify
{       the path leading through a catalog hierarchy to the desired file.  The
{       first two names specify the family name and master catalog name
{       portion of the path.  By convention, the name of a user's master
{       catalog is the same as the user name.  Subsequent names would specify
{       subcatalogs as applicable.  The last name in the path specifies the
{       permanent file that is to be attached.  Null names are allowed only
{       for the family name and master catalog name.  If the family name is
{       OSC$NULL_NAME, the family name of the job making the request will be
{       used.  If the master catalog name is OSC$NULL_NAME, the user name of
{       the job making the request will be used.
{
{ CYCLE_SELECTOR: (input) This parameter selects the permanent file cycle that
{       is to be attached.  If PFC$LOWEST_CYCLE is specified, the lowest cycle
{       of the file will be attached.  If PFC$HIGHEST_CYCLE is specified, the
{       highest cycle of the file will be attached.  If a specific cycle is
{       specified, that cycle will be attached.
{
{ PASSWORD: (input) This parameter specifies a password that must match the
{       password registered with the file.  If a blank password is specified,
{       it will only match if no password was registered with the file.
{
{ USAGE_SELECTIONS: (input) This parameter specifies how the requestor
{       would like to be able to use the file.
{
{ SHARE_SELECTIONS: (input) This parameter specifies how the requestor
{       is willing to share the file with other requestors.
{
{ CYCLE_NUMBER: (output) This parameter returns the number of the attached
{       cycle.
{
{ STATUS: (output) This parameter returns the request status.
{
{       CONDITIONS: pfe$bad_cycle_number
{                   pfe$bad_cycle_option
{                   pfe$bad_family_name
{                   pfe$bad_local_file_name
{                   pfe$bad_master_catalog_name
{                   pfe$bad_nth_subcatalog_name
{                   pfe$bad_password
{                   pfe$bad_permanent_file_name
{                   pfe$catalog_full
{                   pfe$cycle_busy
{                   pfe$incorrect_password
{                   pfe$invalid_ring_access
{                   pfe$lfn_in_use
{                   pfe$name_not_permanent_file
{                   pfe$nth_name_not_subcatalog
{                   pfe$path_too_short
{                   pfe$pf_system_error
{                   pfe$sharing_not_permitted
{                   pfe$undefined_data
{                   pfe$unknown_cycle
{                   pfe$unknown_family
{                   pfe$unknown_master_catalog
{                   pfe$unknown_nth_subcatalog
{                   pfe$unknown_permanent_file
{                   pfe$usage_not_permitted
{                   pfe$user_not_permitted
{
{       IDENTIFIER: pfc$permanent_file_manager_id
{
