$ZIO contains information about the current I/O device.
For a terminal device that is a Terminal, $ZIO contains the string TRM:. If the current terminal device is connected remotely, $ZIO contains information about the remote connection.
For a terminal device connected through TELNET, $ZIO contains the following: host|port:
|host||The remote host IP address, in either IPv4 format:nnn.nnn.nnn.nnn, where nnn is a decimal number, or in IPv6 format: h:h:h:h:h:h:h:h, where h is a hexadecimal number. Further details on IPv4 and IPv6 formats can be found in the section “Use of IPv6 Addressing” in the chapter “Server Configuration Options” in the Orientation Guide for Server-Side Programming.|
|port||The remote IP port number.|
These two values are separated by a vertical bar character. For example, 127.0.0.1|23. For further information, refer to the %Library.NetworkAddressOpens in a new tab class, a subclass of the data type class %Library.StringOpens in a new tab.
If the current device is not a terminal:
If a file, $ZIO contains the full canonical pathname of the file.
If not a file, $ZIO contains the null string.
The following example returns the current device information:
SET x=$CASE($ZIO,"TRM:":"a terminal", "CON:":"a console", "":"neither terminal nor file") WRITE "The current device is ",x
This special variable cannot be modified using the SET command. Attempting to do so results in a <SYNTAX> error.
$IO special variable
$PRINCIPAL special variable
I/O Devices and Commands in I/O Device Guide
Terminal I/O in I/O Device Guide