---
name: "toolbus"
section: "1"
platform: "linux"
package: "xt-toolbus"
version: "0.25-2"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/toolbus"
---

# toolbus(1)

ToolBus Interpreter

## NAME

toolbus - ToolBus Interpreter

## SYNOPSIS

**toolbus** \[ **-help** \] \[ **-version** \] \[ **-verbose** \] \[ **-logger** \] \[ **-viewer** \] \[ **-controller** \] \[ **-gentifs** \] \[ **-fixed-seed** \] \[ **-TB\_PORT** *N* \] \[ **-D***macro* \] \[ **-D***macro=defn* \] \[ **-I***dir* \] \[ **script.tb** \]

## DESCRIPTION

This manual page briefly describes the **toolbus** commands.

**toolbus** interconnect software tools  as described in a "T script"

The script\_name given as argument to **toolbus** is always preprocessed by the C preprocessor before it is parsed as a T script. In this way, e.g, #define, #include and #ifdef can be used freely in T scripts.

## OPTIONS

- **-help**

  print a description of all arguments of the toolbus or tool

- **-verbose**

  produce a log of steps taken by toolbus or tools that may be useful to debug your script or tool. The same effect may be obtained by setting the environment variable TB\_VERBOSE to true and export it. In the Korn shell this can, for instance, be achieved by :

  export TB\_VERBOSE=true

- **-version**

  print the version number and exit

- **-TB\_PORT** *port\_name*

  defines the "well known socket" port\_name to which all tools temporarily connect in order to set up their own private socket that connects them to the ToolBus interpreter. When ommited, socket 8998 will be used

  Note that explicit arguments defining the sockets are only needed when several ToolBus interpreters are running simultaneously in the same host machine.

- **-I***dir*

  append directory dit to the list of directories searched for include files.

- **-D***macro*

  define macro with the string "1" as its definition.

- **-D***macro=defn*

  define macro with defn as definition.

- **-logger**

  execute a logger tool that will be attached to all processes in the ToolBus. If the script contains a tool definition for a tool named "logger", that will be used for executing the logger. Otherwise a default tool definition is used.

- **-viewer**

  similar as above, for a viewer tool. The default viewer is the "ToolBus viewer" (previously known as the ToolBus debugger)

- **-controller**

  similar as above, for a controller tool. Currently, no default controller tool is provided

- **-gentifs**

  only generate tool interfaces for all tools used in the script in a language independent format. For a script file named script.tb the tool interfaces are written to script.tifs. Do not execute the script.

- **-fixed-seed**

  use a fixed seed for the random generator used by the interpreter for scheduling processes and selecting alternatives in processes. By default, the random generator is initialized with the current time the toolbus command is given. Using the -fixed-seed option makes the execution of the script reproducible acrosss multiple runs of the toolbus command.

## SEE ALSO

[gen-adapter(1)](/gen-adapter/1.md), [perl-adapter(1)](/perl-adapter/1.md), [tifstoc(1)](/tifstoc/1.md)

## AUTHOR

This manual page was written by Julien LEMOINE \<speedblue@debian.org\>. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts.
