s_catalog_connection

Creates a logical name for a connection by cataloging the connection in the object directory of a specific job.

Syntax, PL/M and C

CALL rq$s$catalog$connection (job, connection, log_name_ptr, except_ptr);

rq_s_catalog_connection (job, connection, log_name_ptr, except_ptr);

Parameter PL/M Data Type C Data Type
job SELECTOR SELECTOR
connection SELECTOR SELECTOR
log_name_ptr POINTER STRING far *
except_ptr POINTER to WORD_16 UINT_16 far *

Parameters

jobA token for the job in whose object directory the logical name is cataloged. If a null selector, the EIOS catalogs the connection in the object directory of the calling task's job.

connection
A token for the connection to be assigned the logical name. If a null selector, the EIOS looks up the name in the object directory of the calling task's job.

log_name_ptr
A pointer to a STRING of 12 or fewer characters, possibly delimited with colons, containing the logical name. The OS removes the colons so that a logical name with colons is the same as one without; :F0: is the same as F0. Colons do not count in the length of the name. To use this logical name in other EIOS calls, use colons.

except_ptr
A pointer to a variable declared by the application where the call returns a condition code.

Additional Information

The EIOS converts the characters in the log_name_ptr STRING to uppercase and catalogs the connection in the object directory of the specified job. Two situations affect the outcome of this system call:

·If the job's object directory contains the logical name, the new connection replaces the existing object in the directory.

·If the connection parameter is a null selector, the system copies the logical name and its definition from the calling task's job into the object directory of the specified job.

Do not delete a task while it is using this system call.

Condition Codes

E_OK 0000H No exceptional conditions occurred.
E_CONTEXT 0005H The job in which the task is attempting to catalog the connection has an object directory that is 0 bytes long.
E_EXIST 0006H The job or connection parameter is not a token for an existing object.
E_LIMIT 0004H At least one of these is true:

·The object directory for the specified job is full.

·The calling task's job is not an I/O job.

E_LOG_NAME_NEXIST 0045H The EIOS was unable to find the specified logical name in the object directory of the calling task's job.
E_LOG_NAME_SYNTAX 0040H The specified logical name contains at least one of these syntax errors:

·The logical name was missing matching colons.

·The specified path contains a logical name that exceeds 12 characters, has no characters, or contains invalid characters.

E_MEM 0002H The memory available to the calling task's job is not sufficient to complete the call.
E_NOT_CONFIGURED 0008H This system call is not part of the present configuration.
E_NOT_CONNECTION 8042H The connection parameter is not a connection object token.
E_TYPE 8002H The job parameter is a not a job token.