JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
ToolTalk User's Guide
search filter icon
search icon

Document Information

Preface

1.  Introducing the ToolTalk Service

2.  An Overview of the ToolTalk Service

3.  Message Patterns

4.  Setting Up and Maintaining the ToolTalk Processes

Location of the ToolTalk Service Files

Version

Requirements

Environment Variables

ToolTalk Environment Variables

Other Environment Variables

Environment Variables Required to Start Programs on Remote Hosts

Using Context Slots to Create Environment Variables

Installing the ToolTalk Database Server

Confirming that the rpc.ttdbserverd is installed on a system.

Confirming that the rpc.ttdbserverd is running on a system.

From the Solaris Distribution CD-Rom

Running the New ToolTalk Database Server

Redirecting the ToolTalk Database Server

Redirecting the Host Machine

Redirecting the File System Partition

5.  Maintaining Application Information

6.  Maintaining Files and Objects Referenced in ToolTalk Messages

7.  Participating in ToolTalk Sessions

8.  Sending Messages

9.  Dynamic Message Patterns

10.  Static Message Patterns

11.  Receiving Messages

12.  Objects

13.  Managing Information Storage

14.  Handling Errors

A.  Migrating from the Classing Engine to the ToolTalk Types Database

B.  A Simple Demonstration of How the ToolTalk Service Works

C.  The ToolTalk Standard Message Sets

D.  Frequently Asked Questions

Glossary

Index

Environment Variables

This section addresss ToolTalk and related environment variables.

ToolTalk Environment Variables

There are several ToolTalk environment variables that may be set. describes these variables.

Table 4-2 Environment Variables

Variable
Description
TTSESSION_CMD
Overrides the standard options specified when tools automatically start ttsession. If this variable is set, all ToolTalk clients use this command to automatically start their X sessions.
TT_ARG_TRACE_WIDTH
Defines the number of characters of argument and context values to print when in trace mode. The default is to print the first 40 characters.
TT_FILE
ttsession places a pathname in this variable when a tool is invoked by a message scoped to the defined file.
TT_HOSTNAME_MAP
Points to a map file. The defined map file is read into the ToolTalk client for redirecting host machines.
TT_PARTITION_MAP
Points to a map file. The defined map file is read into the ToolTalk client for redirecting file partitions.
TT_SESSION
ttsession communicates its session identifier to the tools that it starts. If this variable is set, the ToolTalk client library uses its value as the default session identifier. The string stored in this variable can be passed to tt_default_session_set.
TT_TOKEN
Notifies the ToolTalk client library that it has been started by ttsession; the client can then confirm to ttsession that the start was successful.
TT_TRACE_SCRIPT
Tells libtt to turn on client-side tracing as specified in the trace script for tttrace(1).
TTPATH
Tells the ToolTalk service where the ToolTalk Types databases used by tt_type_comp(1) and rpc.ttdbserverd(1M) reside.
CEPATH
Tells the Classing Engine where the ToolTalk Types databases reside.
DISPLAY
Causes ttsession to communicate its session identifier to the tools that it starts if the TT_SESSION variable is not set.

If the DISPLAY variable is set, the ToolTalk client library uses its value as the default session identifier. This variable is typically set when ttsession is auto-started while running under OpenWindows.

NOTE: Under the Solaris operating environment, this variable may not be passed across to some accounts. That is, if you are logged on the console as User A and switch-user to User B, ttsession may not autostart when you attempt to run a ToolTalk program that normally autostarts ttsession. To avoid this problem, either manually set the this variable or include it in your .login file.

DTMOUNTPOINT
If set, the value of this environment variable will be used in place of /net in pathnames constructed to answer tt_host_netfile_file()(3) queries, by rpc.ttdbserverd(1M).

A process is given a modified environment when it is automatically started by the ToolTalk service. The modified environment includes the environment variables $TT_SESSION, $TT_TOKEN, and any contexts in the start-message whose keyword begins with the dollar sign symbol ($). Optionally, the environment variable $TT_FILE may also be included in the modified environment if it is a file-scoped message.


Note - If the tt_open call will be invoked by a child process, the parent process must propagate the modified environment to that child process.


Other Environment Variables

The TMPDIR environment variable is another environment variable that you can set to manipulate the ToolTalk development environment. For example, the following line redirects files to the /var/tmp directory.

TMPDIR=/var/tmp 

Environment Variables Required to Start Programs on Remote Hosts

The start string is always executed on the host on which ttsession is running; however, the executed process can start another process on another host.

To do this, first make your start string be similar to the following:

# rsh farhost myprog

Next, to make sure myprog is placed in the right session and receives its initial message, you need to propagate the important ToolTalk environment variables. The ttrsh shell script shown in propagates these environment variables.

Example 4-1 Propagating ToolTalk Environment Variables

#! /bin/sh
# Runs a command remotely in background, by pointing stdout and stderr 
# at /dev/null. By running this through the Bourne shell at the other end, 
# we get rid of the rsh and rshd.
#set -x
user=
debug=
HOST=${HOST-`hostname`}
if [ "$1" = "-debug" ]; then
    debug=1
    shift
fi
if [ $# -lt 2 -o "$1" = "-h" -o "$1" = "-help" ]; 
then
    echo "Usage: ttrsh [-debug] remotehost [-l username] \
remotecommand"
    echo "Usage: ttrsh [-h | -help]"
    exit 1
else
    host=$1
    shift
    if test "$1" = "-l" ; then
        shift
        user=$1
        shift
    fi
fi
xhostname=`expr "$DISPLAY" : "\([^:]*\).*"`
xscreen=`expr "$DISPLAY" : "[^:]*\(.*\)"`
if test x$xscreen = x; then
    xscreen=":0.0"
fi
if test x$xhostname = x -o x$xhostname = x"unix";
then
    DISPLAY=$HOST$xscreen
fi
if [ "$user" = "" ]; then
    userOption=""
else
    userOption="-l $user"
fi
if [ $debug ]; then
    outputRedirect=
else
    outputRedirect='> /dev/null 2>&1 &'
fi
(
    echo "OPENWINHOME=$OPENWINHOME;export OPENWINHOME;\
TT_SESSION=$TT_SESSION;export TT_SESSION;\
TT_TOKEN=$TT_TOKEN;export TT_TOKEN;TT_FILE=$TT_FILE;\
export TT_FILE;DISPLAY=$DISPLAY;export DISPLAY;($*)" \
$outputRedirect | rsh $host $userOption /bin/sh &
) &

Using Context Slots to Create Environment Variables

Message contexts have a special meaning when the ToolTalk service starts an application. If the name of a context slot begins with a dollar sign ($), the ToolTalk service interprets the value as an environment variable. For example, the following uses the value of context slot $CON1.

start "my_application $CON1"