Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ttsnoop(1) — SunOS 5.6

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

tttrace(1)

ttsession(1)

tt_type_comp(1)

dttypes(1)

truss(1)

DtTerm(3)

dtactionfile(4)

ttsnoop(1)

NAME

ttsnoop − ToolTalk graphical user interface

SYNOPSIS

ttsnoop [options] [−F scopefile] [−< procid] [−v media] [−m op]

ttsnoop [options] [−e script] command [args]

ttsnoop [options] −n │ −N

ttsnoop [−TuX] [−S sessid] [−w n] [−l n] [−o snoopfile] [−O tracefile]

DESCRIPTION

The ttsnoop utility interactively monitors ToolTalk message traffic, ttsession(1) pattern matching, and ToolTalk client function calls.  ttsnoop allows the interactive execution of almost any valid sequence of ToolTalk function calls, while optionally tracing those calls.  ttsnoop can interactively create and send any ToolTalk message, and can automatically create many of the standard ToolTalk messages.  ttsnoop can interactively create and register any ToolTalk pattern.  Messages received by virtue of these patterns can be processed (e.g. replied to) interactively or automatically.  For any message encountered, ttsnoop can clone a copy of it or generate a pattern that will match similar messages.  For any message encountered, ttsnoop can generate C source code for recreating it, dtactionfile(4) source for a message action that will send it, or tt_type_comp(1) source for a static pattern that will match it.  ttsnoop can dump the system’s installed static patterns and message actions. 

Like tttrace(1), ttsnoop operates in two fundamental modes.  ttsnoop either runs command with ToolTalk client tracing turned on, or (if command is omitted) snoops message traffic in the default ToolTalk scope.  For client tracing, ttsnoop simply invokes tttrace and logs the trace output to the ttsnoop terminal pane.  For message snooping, ttsnoop registers a ToolTalk pattern in the default scope and prints each matching message in the terminal pane.  When ttsnoop receives a message, it prints the current time, the address of the internal Tt_message_callback that received the message, and a description of the message as generated by tt_message_print(3). 

OPTIONS

The following options are available:

−F scopefile
Scope initial pattern also to scopefile.

−< procid
Limit initial pattern to messages from procid.

−v mediaType
Limit initial pattern to messages for mediaType.

−m op
Limit initial pattern to messages with op.

−n Skip initial pattern. 

−N Skip initial ttdt_open(3), also. 

−e script
Take script as a tttrace(1) setting.  See tttracefile(4). 

−T Trace (even initial) ToolTalk API calls made by ttsnoop. 

−u Map (de-iconify) on snoop output. 

−S sessid
Set default session to sessid.

−X Set default session to the X session of $DISPLAY. 

−w n
Set global timeout to n seconds. 

−l n Set tttrace dtterm saveLines to n lines. 

−o snoopfile
Log snoop output to snoopfile.

−o tracefile
Log API tracing to tracefile.

OPERANDS

The following operands are supported:

command [args]
Invoke command [ with args ] and snoop its ToolTalk API calls. 

RESOURCES

The main widgets that make up the ttsnoop hierarchy are shown under this heading to aid in specifying resources.  The widget instance name is shown first, followed by the widget class name in parentheses.  Indentation indicates hierarchical structure. 

Ttsnoop
    ttsnoopWin (topLevelShellWidgetClass)
    dtb_ttsnoop_ttsnoop_pane_pane (DtTerm)
    dtb_message_props_message_props (DialogShell)
    dtb_pattern_props_pattern_props (DialogShell)
    dtb_api_tracer_tracer (DialogShell)
        dtb_api_tracer_trace_pane_obj_pane (DtTerm)

STDIN

Not used. 

INPUT FILES

None. 

ASYNCHRONOUS EVENTS

ToolTalk Messages

If command is omitted, ttsnoop by default registers a pattern in the default scope to observe all messages, and prints all observed messages to the terminal pane.  ttsnoop can be made to register the handler patterns described in ttdt_session_join(3), ttdt_file_join(3), ttdt_message_accept(3), ttdt_subcontract_manage(3), and ttmedia_ptype_declare(3).  ttsnoop can interactively create and register any ToolTalk handler pattern.  The user can install a pattern callback to open the matched messages in a dialog window, or automatically accept, reject, reply, or fail it. 

STDOUT

Not used. 

STDERR

Errors encountered during initialization are written to stderr.  After initialization, stderr is not used. 

OUTPUT FILES

None. 

EXIT STATUS

The following exit values are returned:

0 Successful completion. 

1 Could not open X display. 

2 Incorrect command line options. 

3 Could not fork command.

4 ToolTalk initialization error. 

5 Caught a fatal signal. 

NOTES

Like any ToolTalk client, ttsnoop can observe multicast messages, but not TT_HANDLER- addressed messages.  Only tttrace(1) can monitor TT_HANDLER- addressed messages.  Run tttrace(1) by choosing "ttsession" from the "Snoop" menu. 

ttsnoop allows a message to be opened as long as it has not been destroyed.  However, ttsnoop exposes certain ToolTalk convenience routines -- ttdt_Get_Modified(3), ttdt_Save(3), and ttdt_Revert(3) -- that send and destroy requests without ever returning them above the API.  When ttsnoop uses these routines to send a request to itself, the message should not be manipulated after the convenience routines have destroyed it. 

FILES

/usr/dt/app-defaults/$LANG/Ttsnoop
ttsnoop Application Defaults. 

SEE ALSO

tttrace(1), ttsession(1), tt_type_comp(1), dttypes(1), truss(1), DtTerm(3), dtactionfile(4)

ToolTalk 1.3  —  Last change: 1 March 1996

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026