:ent-link

:ent-link


:bootstrap Index Level :ent-list
Syntax :ent-link {c[cent] {s[string]} {a[code]} {w[went]} {m[mid]}} {t[eorg,edest] { ... }} {u[ {t[eorg,edest] { ... }} ]}
Category TCL
Type Verb
Description creates links and associations between entities in the system.
Links establish the communication path between entities  in a given system. This command is the basic tool to create all sorts of association, or group of entities linked together. The TCL commands "tandem", "mirror", "converse" etc... are only special cases of useful associations. The ":ent-link" command is normally 'packaged' in more simple commands. It is not intended to be used routinely, since it is fairly complex.

cent     Optional Controlling Entity ID. If specified, an association is created. The controlling entity MUST be a device (serial, telnet, etc..)

string   Optional Termination String. If not specified, ESC'x' is used. The string can be expressed as any combination of characters (eg c'Ab'), hexadecimal values (eg x'1b') or decimal values, up to 4 characters, separated by commas (eg x'1b',c'x'). The string is associated to the controlling entity. When the controlling entity receives the termination string on its standard input, it terminates the association.

code     Optional Association Code. This code is a decimal number from 1 to 255, which is given to the association as a mean of simple identification. The legal values are defined in the include "dm,bp,includes qcb.inc".

went     Optional Wake up Entity ID. This entity must be a valid Pick process entity ID (eg P12). If specified, the entity (possibly the current process) is deactivated when the association is successfully created. When the association is terminated, the entity is awaken. This option is useful to wait for the termination of an association.

mid      Optional Master Association ID. If  specified, the association is attached to the Master Association as a 'sub-association'. If the master association terminates, all the sub-associations are also terminated.

t        Type of a link. This one letter code is 'o' for an output link, and 'f' for a forwarding link.

eorg     Entity ID of the origin of a link.

edest    Entity ID of the destination link.


Links to be created in the association are specified by a series of pairs of entities, eg. 'o[p12,s12]. When the association is terminated, the links are restored to their initial state. Links enclosed in the 'undo list', eg. 'u[o[o12,BB f[p12,NULL] ]' are created when the association is terminated.
Options
See Also entity :ent-list
Example :ent-link c[s0] o[p0,p1]
 Create a pipe between the Pick process 0 and the Pick process 1. After this command is executed, data printed by the Pick process 0 is sent as input to the Pick process 1. The serial device 0, normally associated to the Pick process 0, is the controlling entity. Therefore, hitting ESC and 'x' on the terminal associated to the Pick process 0 will terminate the pipe.

:ent-link o[p1,bb]
 Sent all output of the Pick process 1 to the byte bucket. This is a way of suppressing all output from a process. Note there is no controlling entity, therefore the link will be terminated only by explicitly linking  the output op 'p1' to something else.
Warnings Extreme care must be exercised when using this command. It is a very low level command.
Compatibility AP 6.1
:bootstrap Index Level :ent-list