### A.2 Procedures For Remote Communication ¶

The file `lib/remote.exp` defines procedures for establishing and managing communications. Each of these procedures tries to establish the connection up to three times before returning. Warnings (if retries will continue) or errors (if the attempt is abandoned) report on communication failures. The result for any of these procedures is either -1, when the connection cannot be established, or the spawn ID returned by the Expect command `spawn`.

It use the value of the `connect` field in the `target_info` array as the type of connection to make. Current supported connection types are ssh, tip, kermit, telnet, rsh, and rlogin. If the `--reboot` option was used on the `runtest` command line, then the target is rebooted before the connection is made.