blob: 2b2418eef5e447ef37b93cb4a1481beab2022cd4 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><TITLE
>Builtin Procedures</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
"><LINK
REL="HOME"
TITLE="DejaGnu"
HREF="book1.html"><LINK
REL="UP"
TITLE="Reference"
HREF="c1593.html"><LINK
REL="PREVIOUS"
TITLE="Installation"
HREF="x1600.html"><LINK
REL="NEXT"
TITLE="File Map"
HREF="x5058.html"></HEAD
><BODY
CLASS="SECT1"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="NAVHEADER"
><TABLE
SUMMARY="Header navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>DejaGnu: The GNU Testing Framework</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="x1600.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Reference</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="x5058.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="BUILTINS"
></A
>Builtin Procedures</H1
><P
>DejaGnu provides these Tcl procedures.</P
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="COREPROCS"
></A
>Core Internal Procedures</H2
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="MAILFILE"
></A
>Mail_file Procedure</H3
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1662"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>mail_file</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>file to subject</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
></I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="OPENLOGS"
></A
>Open_logs Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1676"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>open_logs</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
></I
></TT
>);<P
></P
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="CLOSELOGS"
></A
>Close_logs Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1684"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>close_logs</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
></I
></TT
>);<P
></P
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="ISBUILD"
></A
>Isbuild Procedure</H3
><P
>Tests for a particular build host environment. If the
currently configured host matches the argument string, the result is
<I
CLASS="EMPHASIS"
>1</I
>; otherwise the result is
<I
CLASS="EMPHASIS"
>0</I
>. <I
CLASS="EMPHASIS"
>host</I
> must be a full
three-part configure host name; in particular, you may not use the
shorter nicknames supported by configure (but you can use wildcard
characters, using shell syntax, to specify sets of names). If it is
passed a NULL string, then it returns the name of the build canonical
configuration.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1695"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>isbuild</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>pattern</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>pattern</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="ISREMOTE"
></A
>Is_remote Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1709"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>is_remote</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>board</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
></I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="IS3WAY"
></A
>is3way Procedure</H3
><P
>Tests for a canadian cross. This is when the tests will be run
on a remotly hosted cross compiler. If it is a canadian cross, then
the result is <I
CLASS="EMPHASIS"
>1</I
>; otherwise the result is
<I
CLASS="EMPHASIS"
>0</I
>.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1725"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>is3way</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
></I
></TT
>);<P
></P
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="ISHOST"
></A
>Ishost Procedure</H3
><P
>Tests for a particular host environment. If the currently
configured host matches the argument string, the result is
<I
CLASS="EMPHASIS"
>1</I
>; otherwise the result is
<I
CLASS="EMPHASIS"
>0</I
>. <I
CLASS="EMPHASIS"
>host</I
> must be a full
three-part configure host name; in particular, you may not use the
shorter nicknames supported by configure (but you can use wildcard
characters, using shell syntax, to specify sets of names).</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1736"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>ishost</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>pattern</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
></I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="ISTARGET"
></A
>Istarget Procedure</H3
><P
>Tests for a particular target environment. If the currently
configured target matches the argument string, the result is
<I
CLASS="EMPHASIS"
>1</I
> ; otherwise the result is
<I
CLASS="EMPHASIS"
>0</I
>. target must be a full three-part configure
target name; in particular, you may not use the shorter nicknames
supported by configure (but you can use wildcard characters, using
shell syntax, to specify sets of names). If it is passed a
<I
CLASS="EMPHASIS"
>NULL</I
> string, then it returns the name of the
build canonical configuration.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1753"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>istarget</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
></I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="ISNATIVE"
></A
>Isnative Procedure</H3
><P
>Tests whether the current configuration has the same host and
target. When it runs in a native configuration this procedure returns
a <I
CLASS="EMPHASIS"
>1</I
>; otherwise it returns a
<I
CLASS="EMPHASIS"
>0</I
>.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1769"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>isnative</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
></I
></TT
>);<P
></P
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="UNKNOWN"
></A
>Unknown Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1777"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>unknown</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="CLONEOUTPUT"
></A
>Clone_output Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1791"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>clone_output</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>message</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>message</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="RESETVARS"
></A
>Reset_vars Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1805"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>reset_vars</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
></I
></TT
>);<P
></P
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="LOGANDEXIT"
></A
>Log_and_exit Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1813"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>log_and_exit</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
></I
></TT
>);<P
></P
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="LOGSUMMARY"
></A
>Log_summary Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1821"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>log_summary</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="CLEANUP"
></A
>Cleanup Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1835"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>cleanup</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
></I
></TT
>);<P
></P
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="SETUPXFAIL"
></A
>Setup_xfail Procedure</H3
><P
>Declares that the test is expected to fail on a particular set
of configurations. The config argument must be a list of full
three-part configure target name; in particular, you may not use the
shorter nicknames supported by configure (but you can use the common
shell wildcard characters to specify sets of names). The
<I
CLASS="EMPHASIS"
>bugid</I
> argument is optional, and used only in the
logging file output; use it as a link to a bug-tracking system such
as <SPAN
CLASS="PRODUCTNAME"
>GNATS</SPAN
>.</P
><P
>Once you use <TT
CLASS="FUNCTION"
>setup_xfail</TT
>, the
<TT
CLASS="FUNCTION"
>fail</TT
> and <TT
CLASS="FUNCTION"
>pass</TT
> procedures
produce the messages <I
CLASS="EMPHASIS"
>XFAIL</I
> and
<I
CLASS="EMPHASIS"
>XPASS</I
> respectively, allowing you to distinguish
expected failures (and unexpected success!) from other test
outcomes.</P
><DIV
CLASS="WARNING"
><P
></P
><TABLE
CLASS="WARNING"
WIDTH="100%"
BORDER="0"
><TR
><TD
WIDTH="25"
ALIGN="CENTER"
VALIGN="TOP"
><IMG
SRC="./stylesheet-images/warning.gif"
HSPACE="5"
ALT="Warning"></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
><P
>Warning you must clear the expected failure after
using setup_xfail in a test case. Any call to <TT
CLASS="FUNCTION"
>pass
</TT
>or <TT
CLASS="FUNCTION"
>fail</TT
>l clears the expected failure
implicitly; if the test has some other outcome, e.g. an error, you
can call <TT
CLASS="FUNCTION"
>clear_xfail</TT
> to clear the expected
failure explicitly. Otherwise, the expected-failure declaration
applies to whatever test runs next, leading to surprising
results.</P
></TD
></TR
></TABLE
></DIV
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1856"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>setup_xfail</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>config</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>bugid</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>config</I
></TT
></DT
><DD
><P
>The config triplet to trigger whether this is an
unexpected or expect failure.</P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>bugid</I
></TT
></DT
><DD
><P
>The optional bugid, used to tie it this test case
to a bug tracking system.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="RECORDTEST"
></A
>Record_test Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1876"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>record_test</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>type</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>message</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>type</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>message</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="PASS"
></A
>Pass Procedure</H3
><P
>Declares a test to have passed. <TT
CLASS="FUNCTION"
>pass</TT
>
writes in the log files a message beginning with
<I
CLASS="EMPHASIS"
>PASS</I
> (or <I
CLASS="EMPHASIS"
>XPASS</I
>, if failure
was expected), appending the argument
<TT
CLASS="PARAMETER"
><I
>string</I
></TT
>.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1906"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>pass</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>string</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>string</I
></TT
></DT
><DD
><P
>The string to use for this PASS
message.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="FAIL"
></A
>Fail Procedure</H3
><P
>Declares a test to have failed. <TT
CLASS="FUNCTION"
>fail</TT
>
writes in the log files a message beginning with
<I
CLASS="EMPHASIS"
>FAIL</I
> (or <I
CLASS="EMPHASIS"
>XFAIL</I
>, if failure
was expected), appending the argument
<TT
CLASS="PARAMETER"
><I
>string</I
></TT
>.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1924"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>fail</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>string</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>string</I
></TT
></DT
><DD
><P
>The string to use for this FAIL
message.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="XPASS"
></A
>Xpass Procedure</H3
><P
>Declares a test to have unexpectably passed, when it was
expected to be a failure. <TT
CLASS="FUNCTION"
>xpass</TT
>
writes in the log files a message beginning with
<I
CLASS="EMPHASIS"
>XPASS</I
> (or <I
CLASS="EMPHASIS"
>XFAIL</I
>, if failure
was expected), appending the argument
<TT
CLASS="PARAMETER"
><I
>string</I
></TT
>.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1942"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>xpass</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>string</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>string</I
></TT
></DT
><DD
><P
>The string to use for this output
state.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="XFAIL"
></A
>Xfail Procedure</H3
><P
>Declares a test to have expectably
failed. <TT
CLASS="FUNCTION"
>xfail</TT
>
writes in the log files a message beginning with
<I
CLASS="EMPHASIS"
>XFAIL</I
> (or <I
CLASS="EMPHASIS"
>PASS</I
>, if success
was expected), appending the argument
<TT
CLASS="PARAMETER"
><I
>string</I
></TT
>.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1960"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>xpass</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>string</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>string</I
></TT
></DT
><DD
><P
>The string to use for this output
state.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="SETWARNINGTHRESHOLD"
></A
>Set_warning_threshold Procedure</H3
><P
>Sets the value of <SPAN
CLASS="SYMBOL"
>warning_threshold</SPAN
>. A value
of <I
CLASS="EMPHASIS"
>0</I
> disables it: calls to
<TT
CLASS="FUNCTION"
>warning</TT
> will not turn a
<I
CLASS="EMPHASIS"
>PASS</I
> or <I
CLASS="EMPHASIS"
>FAIL</I
> into an
<I
CLASS="EMPHASIS"
>UNRESOLVED</I
>.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1980"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>set_warning_threshold</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>threshold</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>threshold</I
></TT
></DT
><DD
><P
>This is the value of the new warning
threshold.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="GETWARNINGTHRESHOLD"
></A
>Get_warning_threshold Procedure</H3
><P
>Returns the current value of
<SPAN
CLASS="SYMBOL"
>{warning_threshold</SPAN
>. The default value is 3. This
value controls how many <TT
CLASS="FUNCTION"
>warning</TT
> procedures can
be called before becoming <I
CLASS="EMPHASIS"
>UNRESOLVED</I
>.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN1997"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>get_warning_threshold</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
></I
></TT
>);<P
></P
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="WARNING"
></A
>Warning Procedure</H3
><P
>Declares detection of a minor error in the test case
itself. <TT
CLASS="FUNCTION"
>warning</TT
> writes in the log files a message
beginning with <I
CLASS="EMPHASIS"
>WARNING</I
>, appending the argument
<TT
CLASS="PARAMETER"
><I
>string</I
></TT
>. Use <TT
CLASS="FUNCTION"
>warning</TT
> rather
than <TT
CLASS="FUNCTION"
>perror</TT
> for cases (such as communication
failure to be followed by a retry) where the test case can recover from
the error. If the optional <TT
CLASS="PARAMETER"
><I
>number</I
></TT
> is supplied,
then this is used to set the internal count of warnings to that
value.</P
><P
>As a side effect, <SPAN
CLASS="SYMBOL"
>warning_threshold</SPAN
> or more
calls to warning in a single test case also changes the effect of the
next <TT
CLASS="FUNCTION"
>pass</TT
> or <TT
CLASS="FUNCTION"
>fail</TT
> command:
the test outcome becomes <I
CLASS="EMPHASIS"
>UNRESOLVED</I
> since an
automatic <I
CLASS="EMPHASIS"
>PASS</I
> or <I
CLASS="EMPHASIS"
>FAIL</I
> may
not be trustworthy after many warnings. If the optional numeric value
is <I
CLASS="EMPHASIS"
>0</I
>, then there are no further side effects to
calling this function, and the following test outcome doesn't become
<I
CLASS="EMPHASIS"
>UNRESOLVED</I
>. This can be used for errors with no
known side effects.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2020"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>warning</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>string</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>number</I
></TT
>
);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>string</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>number</I
></TT
></DT
><DD
><P
>The optional number to set the error counter. Thius
is only used to fake out the counter when using the
<TT
CLASS="FUNCTION"
>xfail</TT
> procedure to control when it flips the
output over to <I
CLASS="EMPHASIS"
>UNRESOLVED</I
>
state.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="PERROR"
></A
>Perror Procedure</H3
><P
>Declares a severe error in the testing framework
itself. <TT
CLASS="FUNCTION"
>perror</TT
> writes in the log files a message
beginning with <I
CLASS="EMPHASIS"
>ERROR</I
>, appending the argument
<TT
CLASS="PARAMETER"
><I
>string</I
></TT
>.</P
><P
>As a side effect, perror also changes the effect of the next
<TT
CLASS="FUNCTION"
>pass</TT
> or <TT
CLASS="FUNCTION"
>fail</TT
> command: the
test outcome becomes <I
CLASS="EMPHASIS"
>UNRESOLVED</I
>, since an
automatic <I
CLASS="EMPHASIS"
>PASS</I
> or <I
CLASS="EMPHASIS"
>FAIL</I
> cannot
be trusted after a severe error in the test framework. If the optional
numeric value is <I
CLASS="EMPHASIS"
>0</I
>, then there are no further side
effects to calling this function, and the following test outcome
doesn't become <I
CLASS="EMPHASIS"
>UNRESOLVED</I
>. This can be used for
errors with no known side effects.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2053"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>perror</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>string</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>number</I
></TT
>
);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>string</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>number</I
></TT
></DT
><DD
><P
>The optional number to set the error counter. Thius
is only used to fake out the counter when using the
<TT
CLASS="FUNCTION"
>xfail</TT
> procedure to control when it flips the
output over to <I
CLASS="EMPHASIS"
>UNRESOLVED</I
>
state.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="NOTE"
></A
>Note Procedure</H3
><P
>Appends an informational message to the log
file. <TT
CLASS="FUNCTION"
>note</TT
> writes in the log files a message
beginning with <I
CLASS="EMPHASIS"
>NOTE</I
>, appending the argument
<TT
CLASS="PARAMETER"
><I
>string</I
></TT
>. Use <TT
CLASS="FUNCTION"
>note</TT
>
sparingly. The <TT
CLASS="FUNCTION"
>verbose</TT
> should be used for most
such messages, but in cases where a message is needed in the log file
regardless of the verbosity level use <TT
CLASS="FUNCTION"
>note</TT
>.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2081"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>note</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>string</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>string</I
></TT
></DT
><DD
><P
>The string to use for this note.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="UNTESTED"
></A
>Untested Procedure</H3
><P
>Declares a test was not run. <TT
CLASS="FUNCTION"
>untested</TT
> writes
in the log file a message beginning with <I
CLASS="EMPHASIS"
>UNTESTED</I
>,
appending the argument <I
CLASS="EMPHASIS"
>string</I
>. For example, you
might use this in a dummy test whose only role is to record that a test
does not yet exist for some feature.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2098"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>untested</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>string</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>string</I
></TT
></DT
><DD
><P
>The string to use for this output
state.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="UNRESOLVED"
></A
>Unresolved Procedure</H3
><P
>Declares a test to have an unresolved
outcome. <TT
CLASS="FUNCTION"
>unresolved</TT
> writes in the log file a
message beginning with <I
CLASS="EMPHASIS"
>UNRESOLVED</I
>, appending the
argument <I
CLASS="EMPHASIS"
>string</I
>. This usually means the test did
not execute as expected, and a human being must go over results to
determine if it passed or failed (and to improve the test case).</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2115"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>unresolved</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>string</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>string</I
></TT
></DT
><DD
><P
>The string to use for this output
state.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="UNSUPPORTED"
></A
>Unsupported Procedure</H3
><P
>Declares that a test case depends on some facility that does not
exist in the testing environment. <TT
CLASS="FUNCTION"
>unsupported</TT
>
writes in the log file a message beginning with
<I
CLASS="EMPHASIS"
>UNSUPPORTED</I
>, appending the argument string.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2131"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>unsupported</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>string</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>string</I
></TT
></DT
><DD
><P
>The string to use for this output
state.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="INITTESTCOUNTS"
></A
>Init_testcounts Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2145"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>init_testcounts</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
></I
></TT
>);<P
></P
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="INCRCOUNT"
></A
>Incr_count Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2153"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>incr_count</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>name</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="TRANSFORM"
></A
>transform Procedure</H3
><P
>Generates a string for the name of a tool as it was configured
and installed, given its native name (as the argument
<TT
CLASS="PARAMETER"
><I
>toolname</I
></TT
>). This makes the assumption that all
tools are installed using the same naming conventions: For example,
for a cross compiler supporting the <I
CLASS="EMPHASIS"
>m68k-vxworks</I
>
configuration, the result of transform <B
CLASS="COMMAND"
>gcc</B
> is
<B
CLASS="COMMAND"
>m68k-vxworks-gcc</B
>.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2177"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>transform</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>toolname</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>toolname</I
></TT
></DT
><DD
><P
>The name of the cross-development program to
transform.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="CHECKCONDITIONALXFAIL"
></A
>Check_conditional_xfail Procedure</H3
><P
>This procedure adds a conditional xfail, based on compiler
options used to create a test case executable. If an include options
is found in the compiler flags, and it's the right architecture,
it'll trigger an <I
CLASS="EMPHASIS"
>XFAIL</I
>. Otherwise it'll produce
an ordinary <I
CLASS="EMPHASIS"
>FAIL</I
>. You can also specify flags to
exclude. This makes a result be a <I
CLASS="EMPHASIS"
>FAIL</I
>, even if
the included options are found. To set the conditional, set
the variable <SPAN
CLASS="SYMBOL"
>compiler_conditional_xfail_data</SPAN
> to the
fields <TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>"[message string] [targets list] [includes
list] [excludes list]"</PRE
></TD
></TR
></TABLE
> (descriptions below). This is
the checked at pass/fail decision time, so there is no need to call
the procedure yourself, unless you wish to know if it gets
triggered. After a pass/fail, the variable is reset, so it doesn't
effect other tests. It returns <I
CLASS="EMPHASIS"
>1</I
> if the
conditional is true, or <I
CLASS="EMPHASIS"
>0</I
> if the conditional is
false.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2198"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>check_conditional_xfail</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>message</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>targets</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>includes</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>excludes</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>message</I
></TT
></DT
><DD
><P
>This is the message to print with the normal test
result.</P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>targets</I
></TT
></DT
><DD
><P
>This is a string with the list targets to activate
this conditional on.</P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>includes</I
></TT
></DT
><DD
><P
>This is a list of sets of options to search for in
the compiler options to activate this conditional. If the list of
sets of options is empty or if any set of the options matches,
then this conditional is true. (It may be useful to specify an
empty list of include sets if the conditional is always true
unless one of the exclude sets matches.)</P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>excludes</I
></TT
></DT
><DD
><P
>This is a list of sets of options to search for in
the compiler options to activate this conditional. If any set of
the options matches, (regardless of whether any of the include sets
match) then this conditional is de-activated.</P
></DD
></DL
></DIV
><DIV
CLASS="EXAMPLE"
><A
NAME="AEN2227"
></A
><P
><B
>Example 1. Specifying the conditional xfail data</B
></P
><TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
> set compiler_conditional_xfail_data { \
"I sure wish I knew why this was hosed" \
"sparc*-sun*-* *-pc-*-*" \
{"-Wall -v" "-O3"} \
{"-O1" "-Map"} \
}
</PRE
></TD
></TR
></TABLE
></DIV
><P
>What this does is it matches only for these two targets if
"-Wall -v" or "-O3" is set, but neither "-O1" or "-Map" is set. For
a set to match, the options specified are searched for independantly
of each other, so a "-Wall -v" matches either "-Wall -v" or "-v
-Wall". A space seperates the options in the string. Glob-style
regular expressions are also permitted.</P
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="CLEARXFAIL"
></A
>Clear_xfail Procedure</H3
><P
>Cancel an expected failure (previously declared with
<B
CLASS="COMMAND"
>setup_xfail</B
>) for a particular set of
configurations. The <TT
CLASS="PARAMETER"
><I
>config</I
></TT
> argument is a list
of configuration target names. It is only necessary to call
<B
CLASS="COMMAND"
>clear_xfail</B
> if a test case ends without calling
either <B
CLASS="COMMAND"
>pass</B
> or <B
CLASS="COMMAND"
>fail</B
>, after
calling <B
CLASS="COMMAND"
>setup_xfail</B
>.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2240"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>clear_xfail</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>config</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>config</I
></TT
></DT
><DD
><P
>The configuration triplets to
clear.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="VERBOSE"
></A
>Verbose Procedure</H3
><P
>Test cases can use this function to issue helpful messages
depending on the number of <TT
CLASS="OPTION"
>--verbose</TT
> options on the
runtest command line. It prints string if the value of the variable
<SPAN
CLASS="SYMBOL"
>verbose</SPAN
> is higher than or equal to the optional
number. The default value for number is <I
CLASS="EMPHASIS"
>1</I
>. Use
the optional <TT
CLASS="OPTION"
>-log</TT
> argument to cause string to always
be added to the log file, even if it won't be printed. Use the
optional <TT
CLASS="OPTION"
>-x</TT
> argument to log the test results into
a parsable XML file. Use the optional <TT
CLASS="OPTION"
>-n</TT
> argument
to print string without a trailing newline. Use the optional
<TT
CLASS="OPTION"
>--</TT
> argument if string begins with "-".</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2261"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>verbose</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>-log</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>-x</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>-n</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>-r</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>string</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>number</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>-x</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>-log</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>-n</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>--</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>string</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>number</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="LOADLIB"
></A
>Load_lib Procedure</H3
><P
>Loads a DejaGnu library file by searching a fixed path built
into DejaGnu. If DejaGnu has been installed, it looks in a path
starting with the installed library directory. If you are running
DejaGnu directly from a source directory, without first running
<B
CLASS="COMMAND"
>make install</B
>, this path defaults to the current
directory. In either case, it then looks in the current directory
for a directory called <TT
CLASS="FILENAME"
>lib</TT
>. If there are
duplicate definitions, the last one loaded takes precedence over the
earlier ones.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2307"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>load_lib</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>filespec</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>filespec</I
></TT
></DT
><DD
><P
>The name of the DejaGnu library file to
load.</P
></DD
></DL
></DIV
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="REMOTEPROCS"
></A
>Procedures For Remote Communication</H2
><P
><TT
CLASS="FILENAME"
>lib/remote.exp</TT
> defines these
functions, 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 <I
CLASS="EMPHASIS"
>-1</I
>, when the
connection cannot be established, or the spawn ID returned by
the <SPAN
CLASS="PRODUCTNAME"
>Expect</SPAN
> command
<B
CLASS="COMMAND"
>spawn</B
>.</P
><P
>It use the value of the <SPAN
CLASS="SYMBOL"
>connect</SPAN
> field
in the <SPAN
CLASS="SYMBOL"
>target_info</SPAN
> array (was
<SPAN
CLASS="SYMBOL"
>connectmode</SPAN
> as the type of connection to
make. Current supported connection types are tip, kermit,
telnet, rsh, rlogin, and netdata. If the <TT
CLASS="OPTION"
>--reboot</TT
>
option was used on the runtest command line, then the target
is rebooted before the connection is made.</P
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="CALLREMOTE"
></A
>Call_remote Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2333"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>call_remote</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>type</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>proc</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>proc</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="CHECKFORBOARDSTATUS"
></A
>Check_for_board_status Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2360"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>check_for_board_status</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>variable</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>variable</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="FILEONBUILD"
></A
>File_on_build Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2374"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>file_on_build</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>op</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>file</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>op</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>file</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="FILEONHOST"
></A
>File_on_host Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2400"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>file_on_host</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>op</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>file</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>op</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>file</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="LOCALEXEC"
></A
>Local_exec Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2426"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>local_exec</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>commandline</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>inp</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>outp</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>timeout</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>inp</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>outp</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>timeout</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="REMOTEBINARY"
></A
>Remote_binary Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2453"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>remote_binary</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>host</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>host</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="REMOTECLOSE"
></A
>Remote_close Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2467"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>remote_close</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>shellid</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>shellid</I
></TT
></DT
><DD
><P
>This is the value returned by a call
to <TT
CLASS="FUNCTION"
>remote_open</TT
>. This closes the
connection to the target so resources can be used by
others. This parameter can be left off if the
<SPAN
CLASS="SYMBOL"
>fileid</SPAN
> field in the
<SPAN
CLASS="SYMBOL"
>target_info</SPAN
> array is set.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="REMOTEDOWNLOAD"
></A
>Remote_download Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2484"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>remote_download</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>file</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>file</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="REMOTEEXEC"
></A
>Remote_exec Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2510"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>remote_exec</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>hostname</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>program</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>hostname</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>program</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="REMOTEEXPECT"
></A
>Remote_expect Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2536"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>remote_expect</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>board</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>timeout</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>board</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>timeout</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="REMOTEFILE"
></A
>Remote_file Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2562"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>remote_file</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="REMOTELD"
></A
>Remote_ld Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2582"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>remote_ld</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>prog</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>prog</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="REMOTELOAD"
></A
>Remote_load Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2602"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>remote_load</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>prog</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>prog</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="REMOTEOPEN"
></A
>Remote_open Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2628"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>remote_open</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>type</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>type</I
></TT
></DT
><DD
><P
>This is passed <TT
CLASS="OPTION"
>host</TT
> or
<TT
CLASS="OPTION"
>target</TT
>. Host or target refers to
whether it is a connection to a remote target, or a
remote host. This opens the connection to the desired
target or host using the default values in the
configuration system. It returns that
<SPAN
CLASS="SYMBOL"
>spawn_id</SPAN
> of the process that manages
the connection. This value can be used in
<SPAN
CLASS="PRODUCTNAME"
>Expect</SPAN
> or
<B
CLASS="COMMAND"
>exp_send</B
> statements, or passed to
other procedures that need the connection process's
id. This also sets the <SPAN
CLASS="SYMBOL"
>fileid</SPAN
> field in
the <SPAN
CLASS="SYMBOL"
>target_info</SPAN
> array.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="REMOTEPOPCONN"
></A
>Remote_pop_conn Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2649"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>remote_pop_conn</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>host</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>host</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="REMOTEPUSHCONN"
></A
>Remote_push_conn Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2663"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>remote_push_conn</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>host</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>host</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="REMOTERAWBINARY"
></A
>Remote_raw_binary Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2677"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>remote_raw_binary</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>host</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>host</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="REMOTERAWCLOSE"
></A
>Remote_raw_close Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2691"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>remote_raw_close</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>host</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>host</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="REMOTERAWFILE"
></A
>Remote_raw_file Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2705"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>remote_raw_file</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="REMOTERAWLD"
></A
>remote_raw_ld Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2725"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>remote_raw_ld</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>prog</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>prog</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="REMOTERAWLOAD"
></A
>Remote_raw_load Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2745"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>remote_raw_load</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>prog</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>prog</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="REMOTERAWOPEN"
></A
>Remote_raw_open Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2771"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>remote_raw_open</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="REMOTERAWSEND"
></A
>Remote_raw_send Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2785"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>remote_raw_send</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>string</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>string</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="REMOTERAWSPAWN"
></A
>Remote_raw_spawn Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2805"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>remote_raw_spawn</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>commandline</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>commandline</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="REMOTERAWTRANSMIT"
></A
>Remote_raw_transmit Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2825"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>remote_raw_transmit</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>file</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>file</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="REMOTERAWWAIT"
></A
>Remote_raw_wait Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2845"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>remote_raw_wait</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>timeout</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>timeout</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="REMOTEREBOOT"
></A
>Remote_reboot Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2865"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>remote_reboot</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>host</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>host</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="REMOTESEND"
></A
>Remote_send Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2879"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>remote_send</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>string</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>string</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="REMOTESPAWN"
></A
>Remote_spawn Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2899"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>remote_spawn</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>commandline</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>commandline</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="REMOTESWAPCONN"
></A
>Remote_swap_conn Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2925"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>remote_swap_conn</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>host</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
></I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="REMOTETRANSMIT"
></A
>Remote_transmit Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2939"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>remote_transmit</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>file</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>file</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="REMOTEUPLOAD"
></A
>Remote_upload Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2959"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>remote_upload</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>srcfile</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>arg</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>srcfile</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>arg</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="REMOTEWAIT"
></A
>Remote_wait Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN2985"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>remote_wait</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>timeout</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>timeout</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="STANDARDCLOSE"
></A
>Standard_close Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3005"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>standard_close</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>host</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>host</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="STANDARDDOWNLOAD"
></A
>Standard_download Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3019"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>standard_download</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>file</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>destfile</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>file</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>destfile</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="STANDARDEXEC"
></A
>Standard_exec Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3045"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>standard_exec</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>hostname</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>hostname</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="STANDARDFILE"
></A
>Standard_file Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3065"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>standard_file</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
><TT
CLASS="PARAMETER"
><I
>op</I
></TT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
></I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="STANDARDLOAD"
></A
>Standard_load Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3081"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>standard_load</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>prog</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>prog</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="STANDARDREBOOT"
></A
>Standard_reboot Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3107"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>standard_reboot</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>host</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>host</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="STANDARDSEND"
></A
>Standard_send Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3121"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>standard_send</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>string</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>string</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="STANDARDSPAWN"
></A
>Standard_spawn Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3141"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>standard_spawn</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>commandline</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>commndline</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="STANDARDTRANSMIT"
></A
>Standard_transmit Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3161"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>standard_transmit</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>file</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>file</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="STANDARDUPLOAD"
></A
>Standard_upload Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3181"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>standard_upload</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest srcfile destfile</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>srcfile</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>destfile</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="STANDARDWAIT"
></A
>Standard_wait Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3205"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>standard_wait</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>timeout</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>timeout</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="UNIXCLEANFILENAME"
></A
>Unix_clean_filename Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3225"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>unix_clean_filename</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>file</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>file</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="CONNPROCS"
></A
>Procedures For Using Utilities to Connect</H2
><P
>telnet, rsh, tip, kermit</P
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="TELNET"
></A
>telnet Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3248"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>telnet</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>hostname</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>port</I
></TT
>);<P
></P
></DIV
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3254"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>rlogin</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>hostname</I
></TT
>);<P
></P
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="RSH"
></A
>rsh Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3262"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>rsh</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>hostname</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>hostname</I
></TT
></DT
><DD
><P
>This refers to the IP address or name
(for example, an entry in
<TT
CLASS="FILENAME"
>/etc/hosts</TT
>) for this target. The
procedure names reflect the Unix utility used to
establish a connection. The optional
<TT
CLASS="PARAMETER"
><I
>port</I
></TT
> is used to specify the IP
port number. The value of the
<TT
CLASS="PARAMETER"
><I
>netport</I
></TT
> field in the
<SPAN
CLASS="SYMBOL"
>target_info</SPAN
> array is used. (was
<SPAN
CLASS="SYMBOL"
>$netport</SPAN
>) This value has two parts,
the hostname and the port number, seperated by a
<I
CLASS="EMPHASIS"
>:</I
>. If host or target is used in
the <SPAN
CLASS="SYMBOL"
>hostname</SPAN
> field, than the
config array is used for all information.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="TIP"
></A
>Tip Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3283"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>tip</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>port</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>port</I
></TT
></DT
><DD
><P
>Connect using the Unix utility
<B
CLASS="COMMAND"
>tip</B
>. <TT
CLASS="PARAMETER"
><I
>Port</I
></TT
>must
be a name from the <SPAN
CLASS="PRODUCTNAME"
>tip</SPAN
>
configuration file
<TT
CLASS="FILENAME"
>/etc/remote</TT
>. Often, this is called
<SPAN
CLASS="SYMBOL"
>hardwire</SPAN
>, or something like
<SPAN
CLASS="SYMBOL"
>ttya</SPAN
>. This file holds all the
configuration data for the serial port. The value of
the <SPAN
CLASS="SYMBOL"
>serial</SPAN
> field in the
<SPAN
CLASS="SYMBOL"
>target_info</SPAN
> array is used. (was
<SPAN
CLASS="SYMBOL"
>$serialport</SPAN
>) If <TT
CLASS="OPTION"
>host</TT
>
or <TT
CLASS="OPTION"
>target</TT
> is used in the
<TT
CLASS="PARAMETER"
><I
>port</I
></TT
> field, than the config
array is used for all information. the
config array is used for all information.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="KERMIT"
></A
>Kermit Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3309"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>kermit</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>port</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>bps</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>port</I
></TT
></DT
><DD
><P
>Connect using the program
<B
CLASS="COMMAND"
>kermit</B
>. <TT
CLASS="PARAMETER"
><I
>Port</I
></TT
>
is the device name,
e.g. <TT
CLASS="FILENAME"
>/dev/ttyb</TT
>.
</P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>bps</I
></TT
></DT
><DD
><P
><TT
CLASS="PARAMETER"
><I
>bps</I
></TT
> is the line
speed to use (in its per second) for the
connection. The value of the <SPAN
CLASS="SYMBOL"
>serial</SPAN
>
field in the <SPAN
CLASS="SYMBOL"
>target_info</SPAN
> array is
used. (was <SPAN
CLASS="SYMBOL"
>$serialport</SPAN
>) If
<TT
CLASS="OPTION"
>host</TT
> or <TT
CLASS="OPTION"
>target</TT
> is
used in the <TT
CLASS="PARAMETER"
><I
>port</I
></TT
> field, than the
config array is used for all information. the
config array is used for all information.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="KERMITOPEN"
></A
>kermit_open Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3339"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>kermit_open</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="KERMITCOMMAND"
></A
>Kermit_command Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3359"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>kermit_command</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="KERMITSEND"
></A
>Kermit_send Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3379"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>kermit_send</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest string args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>string</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="KERMITTRANSMIT"
></A
>Kermit_transmit Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3403"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>kermit_transmit</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>file</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>file</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="TELNETOPEN"
></A
>Telnet_open Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3429"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>telnet_open</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>hostname</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>hostname</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="TELNETBINARY"
></A
>Telnet_binary Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3449"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>telnet_binary</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>hostname</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>hostname</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="TELNETTRANSMIT"
></A
>Telnet_transmit Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3463"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>telnet_transmit</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>file</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>file</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="TIPOPEN"
></A
>Tip_open Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3489"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>tip_open</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>hostname</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>hostname</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="RLOGINOPEN"
></A
>Rlogin_open Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3503"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>rlogin_open</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>arg</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>arg</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="RLOGINSPAWN"
></A
>Rlogin_spawn Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3517"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>rlogin_spawn</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>dest</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>cmdline</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>dest</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>cmdline</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="RSHOPEN"
></A
>Rsh_open Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3537"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>rsh_open</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>hostname</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>hostname</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="RSHDOWNLOAD"
></A
>Rsh_download Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3551"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>rsh_download</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>desthost</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>srcfile</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>destfile</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>desthost</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>srcfile</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>destfile</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="RSHUPLOAD"
></A
>Rsh_upload Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3577"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>rsh_upload</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>desthost</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>srcfile</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>destfile</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>desthost</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>srcfile</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>destfile</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="RSHEXEC"
></A
>Rsh_exec Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3603"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>rsh_exec</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>boardname</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>cmd</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>boardname</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>cmd</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="FTPOPEN"
></A
>Ftp_open Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3629"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>ftp_open</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>host</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>host</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="FTPUPLOAD"
></A
>Ftp_upload Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3643"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>ftp_upload</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>host</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>remotefile</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>localfile</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>host</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>remotefile</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>localfile</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="FTPDOWNLOAD"
></A
>Ftp_download Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3669"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>ftp_download</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>host</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>localfile</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>remotefile</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>host</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>localfile</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>remotefile</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="FTPCLOSE"
></A
>Ftp_close Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3695"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>ftp_close</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>host</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>host</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="TIPDOWNLOAD"
></A
>Tip_download Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3709"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>tip_download</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>spawnid</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>file</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>spawnid</I
></TT
></DT
><DD
><P
>Download <TT
CLASS="OPTION"
>file</TT
> to the
process <SPAN
CLASS="SYMBOL"
>spawnid</SPAN
> (the value returned
when the connection was established), using the
<B
CLASS="COMMAND"
>~put</B
> command under
<SPAN
CLASS="PRODUCTNAME"
>tip</SPAN
>. Most often used for
single board computers that require downloading
programs in ASCII S-records. Returns
<I
CLASS="EMPHASIS"
>1</I
> if an error occurs,
<I
CLASS="EMPHASIS"
>0</I
> otherwise.</P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>file</I
></TT
></DT
><DD
><P
>This is the filename to
downlaod.</P
></DD
></DL
></DIV
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="TARGETPROCS"
></A
>Procedures For Target Boards</H2
><P
></P
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="DEFAULTLINK"
></A
>Default_link Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3738"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>default_link</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>board</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>objects</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>destfile</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>board</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>objects</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>destfile</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>flags</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="DEFAULTTARGETASSEMBLE"
></A
>Default_target_assemble Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3770"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>default_target_assemble</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>source</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>destfile</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>flags</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>source</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>destfile</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>flags</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="DEFAULTTARGETCOMPILE"
></A
>default_target_compile Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3796"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>default_target_compile</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>source</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>destfile</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>type</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>options</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>source</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>destfile</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>type</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>options</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="POPCONFIG"
></A
>Pop_config Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3828"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>pop_config</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>type</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>type</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="PRUNEWARNINGS"
></A
>Prune_warnings Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3842"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>prune_warnings</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>text</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>text</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="PUSHBUILD"
></A
>Push_build Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3856"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>push_build</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>name</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="PUSHCONFIG"
></A
>push_config Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3870"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>push_config</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>type</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>name</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>type</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="REBOOTTARGET"
></A
>Reboot_target Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3890"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>reboot_target</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
></I
></TT
>);<P
></P
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="TARGETASSEMBLE"
></A
>Target_assemble Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3898"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>target_assemble</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>source destfile flags</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>source</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>destfile</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>flags</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="TARGETCOMPILE"
></A
>Target_compile Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3922"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>target_compile</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>source</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>destfile</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>type</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>options</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>source</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>destfile</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>type</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>options</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="TARGETDB"
></A
>Target Database Procedures</H2
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="BOARDINFO"
></A
>Board_info Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3956"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>board_info</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>machine</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>op</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>machine</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>op</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="HOSTINFO"
></A
>Host_info Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN3982"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>host_info</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>op</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>op</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="SETBOARDINFO"
></A
>Set_board_info Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4002"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>set_board_info</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>entry</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>value</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>entry</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>value</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="SETCURRTARGETINFO"
></A
>Set_currtarget_info Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4022"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>set_currtarget_info</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>entry</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>value</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>entry</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>value</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="TARGETINFO"
></A
>Target_info Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4042"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>target_info</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>op</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>op</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="UNSETBOARDINFO"
></A
>Unset_board_info Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4062"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>unset_board_info</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>entry</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>entry</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="UNSETCURRTARGETINFO"
></A
>Unset_currtarget_info Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4076"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>unset_currtarget_info</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>entry</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>entry</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="PUSHTARGET"
></A
>Push_target Procedure</H3
><P
>This makes the target named <I
CLASS="EMPHASIS"
>name</I
> be the
current target connection. The value of <I
CLASS="EMPHASIS"
>name</I
> is
an index into the <SPAN
CLASS="SYMBOL"
>target_info</SPAN
> array and is set in
the global config file.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4093"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>push_target</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>name</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
></DT
><DD
><P
>The name of the target to make current
connection.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="POPTARGET"
></A
>Pop_target Procedure</H3
><P
>This unsets the current target connection.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4107"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>pop_target</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
></I
></TT
>);<P
></P
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="LISTTARGETS"
></A
>List_targets Procedure</H3
><P
>This lists all the supported targets for this
architecture.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4115"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>list_targets</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
></I
></TT
>);<P
></P
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="PUSHHOST"
></A
>Push_host Procedure</H3
><P
>This makes the host named <I
CLASS="EMPHASIS"
>name</I
> be the
current remote host connection. The value of
<I
CLASS="EMPHASIS"
>name</I
> is an index into the
<SPAN
CLASS="SYMBOL"
>target_info</SPAN
> array and is set in the global config
file.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4126"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>push_host</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>name</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="POPHOST"
></A
>Pop_host Procedure</H3
><P
>This unsets the current host connection.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4140"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>pop_host</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
></I
></TT
>);<P
></P
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="COMPILE"
></A
>Compile Procedure</H3
><P
>This invokes the compiler as set by CC to compile the
file <TT
CLASS="FILENAME"
>file</TT
>. The default options for many cross
compilation targets are <I
CLASS="EMPHASIS"
>guessed</I
> by DejaGnu, and
these options can be added to by passing in more parameters as
arguments to <B
CLASS="COMMAND"
>compile</B
>. Optionally, this will also
use the value of the <I
CLASS="EMPHASIS"
>cflags</I
> field in the target
config array. If the host is not the same as the build machines, then
then compiler is run on the remote host using
<B
CLASS="COMMAND"
>execute_anywhere</B
>.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4153"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>compile</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>file</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>file</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="ARCHIVE"
></A
>Archive Procedure</H3
><P
>This produces an archive file. Any parameters passed to
<B
CLASS="COMMAND"
>archive</B
> are used in addition to the default
flags. Optionally, this will also use the value of the
<I
CLASS="EMPHASIS"
>arflags</I
> field in the target config array. If the
host is not the same as the build machines, then then archiver is run
on the remote host using <B
CLASS="COMMAND"
>execute_anywhere</B
>.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4170"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>archive</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>file</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>file</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="RANLIB"
></A
>Ranlib Procedure</H3
><P
>This generates an index for the archive file for systems that
aren't POSIX yet. Any parameters passed to <B
CLASS="COMMAND"
>ranlib</B
>
are used in for the flags.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4185"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>ranlib</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>file</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>file</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="EXECUTEANYWHERE"
></A
>Execute_anywhere Procedure</H3
><P
>This executes the <I
CLASS="EMPHASIS"
>cmdline</I
> on the proper
host. This should be used as a replacement for the Tcl command
<B
CLASS="COMMAND"
>exec</B
> as this version utilizes the target config
info to execute this command on the build machine or a remote
host. All config information for the remote host must be setup to
have this command work. If this is a canadian cross, (where we test a
cross compiler that runs on a different host then where DejaGnu is
running) then a connection is made to the remote host and the command
is executed there. It returns either REMOTERROR (for an error) or the
output produced when the command was executed. This is used for
running the tool to be tested, not a test case.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4201"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>execute_anywhere</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>cmdline</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>cmdline</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="PLATFORMPROCS"
></A
>Platform Dependant Procedures</H2
><P
>Each combination of target and tool requires some
target-dependent procedures. The names of these procedures have
a common form: the tool name, followed by an underbar
<I
CLASS="EMPHASIS"
>_</I
>, and finally a suffix describing the
procedure's purpose. For example, a procedure to extract the
version from <SPAN
CLASS="PRODUCTNAME"
>GDB</SPAN
> is called
<SPAN
CLASS="SYMBOL"
>gdb_version</SPAN
>.</P
><P
><B
CLASS="COMMAND"
>runtest</B
> itself calls only two of these
procedures, <SPAN
CLASS="SYMBOL"
>${tool}_exit</SPAN
> and
<SPAN
CLASS="SYMBOL"
>${tool}_version</SPAN
>; these procedures use no
arguments.</P
><P
>The other two procedures, <SPAN
CLASS="SYMBOL"
>${tool}_start</SPAN
>
and <SPAN
CLASS="SYMBOL"
>${tool}_load</SPAN
>}, are only called by the test
suites themselves (or by testsuite-specific initialization
code); they may take arguments or not, depending on the
conventions used within each testsuite.</P
><P
>The usual convention for return codes from any of these
procedures (although it is not required by
<B
CLASS="COMMAND"
>runtest</B
>) is to return <I
CLASS="EMPHASIS"
>0</I
>
if the procedure succeeded, <I
CLASS="EMPHASIS"
>1</I
> if it failed,
and <I
CLASS="EMPHASIS"
>-1</I
> if there was a communication error.</P
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="TOOLSTART"
></A
>${tool}_start Procedure</H3
><P
>Starts a particular tool. For an interactive tool,
<TT
CLASS="FUNCTION"
>${tool}_start</TT
> starts and initializes the
tool, leaving the tool up and running for the test cases; an
example is <TT
CLASS="FUNCTION"
>gdb_start</TT
>, the start function
for GDB. For a batch oriented tool,
<TT
CLASS="FUNCTION"
>${tool}_start</TT
> is optional; the recommended
convention is to let <TT
CLASS="FUNCTION"
>${tool}_start</TT
> run the
tool, leaving the output in a variable called
<TT
CLASS="FUNCTION"
>comp_output</TT
>. Test scripts can then analyze
<TT
CLASS="FUNCTION"
>$comp_output</TT
> to determine the test results.
An example of this second kind of start function is
<TT
CLASS="FUNCTION"
>gcc_start</TT
>, the start function for GCC.</P
><P
>DejaGnu itself does not call
<TT
CLASS="FUNCTION"
>${tool}_start</TT
>. The initialization
module <TT
CLASS="FUNCTION"
>${tool}_init.exp</TT
> must call
<TT
CLASS="FUNCTION"
>${tool}_start</TT
> for interactive tools;
for batch-oriented tools, each individual test script calls
<TT
CLASS="FUNCTION"
>${tool}_start</TT
> (or makes other
arrangements to run the tool).</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4245"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>${tool}_start</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
></I
></TT
>);<P
></P
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="TOOLLOAD"
></A
>${tool}_load Procedure</H3
><P
>Loads something into a tool. For an interactive tool,
this conditions the tool for a particular test case; for
example, <TT
CLASS="FUNCTION"
>gdb_load</TT
> loads a new
executable file into the debugger. For batch oriented tools,
<TT
CLASS="FUNCTION"
>${tool}_load</TT
> may do nothing---though,
for example, the GCC support uses
<TT
CLASS="FUNCTION"
>gcc_load</TT
> to load and run a binary on
the target environment. Conventionally,
<TT
CLASS="FUNCTION"
>${tool}_load</TT
> leaves the output of any
program it runs in a variable called
<SPAN
CLASS="SYMBOL"
>$exec_output</SPAN
>. Writing
<TT
CLASS="FUNCTION"
>${tool}_load</TT
> can be the most complex
part of extending DejaGnu to a new tool or a new target, if
it requires much communication coding or file
downloading. Test scripts call
<TT
CLASS="FUNCTION"
>${tool}_load</TT
>.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4260"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>${tool}_load</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
></I
></TT
>);<P
></P
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="TOOLEXIT"
></A
>${tool}_exit Procedure</H3
><P
>Cleans up (if necessary) before DejaGnu exits. For
interactive tools, this usually ends the interactive
session. You can also use <TT
CLASS="FUNCTION"
>${tool}_exit</TT
>
to remove any temporary files left over from the
tests. <B
CLASS="COMMAND"
>runtest</B
> calls
<TT
CLASS="FUNCTION"
>${tool}_exit</TT
>.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4271"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>${tool}_exit</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
></I
></TT
>);<P
></P
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="TOOLVERSION"
></A
>${tool}_version Procedure</H3
><P
>Prints the version label and number for
<SPAN
CLASS="SYMBOL"
>${tool}</SPAN
>. This is called by the DejaGnu
procedure that prints the final summary report. The output
should consist of the full path name used for the tested
tool, and its version number.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4280"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>${tool}_version</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
></I
></TT
>);<P
></P
></DIV
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="UTILPROCS"
></A
>Utility Procedures</H2
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="GETDIRS"
></A
>Getdirs Procedure</H3
><P
>Returns a list of all the directories in the single
directory a single directory that match an optional
pattern. </P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4290"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>getdirs</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>rootdir</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>pattern</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>pattern</I
></TT
></DT
><DD
><P
>If you do not specify
<TT
CLASS="PARAMETER"
><I
>pattern</I
></TT
>,
<TT
CLASS="FUNCTION"
>Getdirs</TT
> assumes a default pattern of
<I
CLASS="EMPHASIS"
>*</I
>. You may use the common shell
wildcard characters in the pattern. If no directories
match the pattern, then a NULL string is
returned</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="FIND"
></A
>Find Procedure</H3
><P
>Search for files whose names match <I
CLASS="EMPHASIS"
>pattern</I
>
(using shell wildcard characters for filename expansion). Search
subdirectories recursively, starting at
<I
CLASS="EMPHASIS"
>rootdir</I
>. The result is the list of files whose
names match; if no files match, the result is empty. Filenames in the
result include all intervening subdirectory names. If no files match
the pattern, then a NULL string is returned.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4315"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>find</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>rootdir</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>pattern</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>rootdir</I
></TT
></DT
><DD
><P
>The top level directory to search the search
from.</P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>pattern</I
></TT
></DT
><DD
><P
>A csh "glob" style regular expression reprsenting
the files to find.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="WHICH"
></A
>Which Procedure</H3
><P
>Searches the execution path for an executable file
<I
CLASS="EMPHASIS"
>binary</I
>, like the the BSD <B
CLASS="COMMAND"
>which</B
>
utility. This procedure uses the shell environment variable
<I
CLASS="EMPHASIS"
>PATH</I
>. It returns <I
CLASS="EMPHASIS"
>0</I
> if the
binary is not in the path, or if there is no <I
CLASS="EMPHASIS"
>PATH</I
>
environment variable. If <B
CLASS="COMMAND"
>binary</B
> is in the path, it
returns the full path to <B
CLASS="COMMAND"
>binary</B
>.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4342"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>which</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>file</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>binary</I
></TT
></DT
><DD
><P
>The executable program or shell script to look
for.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="GREP"
></A
>Grep Procedure</H3
><P
>Search the file called <TT
CLASS="FILENAME"
>filename</TT
> (a fully
specified path) for lines that contain a match for regular expression
<I
CLASS="EMPHASIS"
>regexp</I
>. The result is a list of all the lines that
match. If no lines match, the result is an empty string. Specify
<I
CLASS="EMPHASIS"
>regexp</I
> using the standard regular expression style
used by the Unix utility program grep.</P
><P
>Use the optional third argument <I
CLASS="EMPHASIS"
>line</I
> to
start lines in the result with the line number in
<TT
CLASS="FILENAME"
>filename</TT
>. (This argument is simply an option
flag; type it just as shown <TT
CLASS="OPTION"
>--line</TT
>.)</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4363"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>grep</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>filename</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>regexp</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>--line</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>filename</I
></TT
></DT
><DD
><P
>The file to search.</P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>regexp</I
></TT
></DT
><DD
><P
>The Unix style regular expression (as used by the
<B
CLASS="COMMAND"
>grep</B
> Unix utility) to search
for.</P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>--line</I
></TT
></DT
><DD
><P
>Prefix the line number to each line where the
regexp matches.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="PRUNE"
></A
>Prune Procedure</H3
><P
>Remove elements of the Tcl list <I
CLASS="EMPHASIS"
>list</I
>.
Elements are fields delimited by spaces. The result is a copy of
list, without any elements that match <I
CLASS="EMPHASIS"
>pattern</I
>.
You can use the common shell wildcard characters to specify the
pattern.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4392"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>prune</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>list</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>pattern</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>list</I
></TT
></DT
><DD
><P
>A Tcl list containing the original data. Commonly
this is the output of a batch executed command, like running a
compiler.</P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>pattern</I
></TT
></DT
><DD
><P
>The csh shell "glob" style pattern to search
for.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="SLAY"
></A
>Slay Procedure</H3
><P
>This look in the process table for <I
CLASS="EMPHASIS"
>name</I
>
and send it a unix SIGINT, killing the process. This will only work
under Windows if you have Cygwin or another Unix subsystem for Windows
installed.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4413"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>slay</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>name</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
></DT
><DD
><P
>The name of the program to kill.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="ABSOLUTE"
></A
>Absolute Procedure</H3
><P
>This procedure takes the relative <I
CLASS="EMPHASIS"
>path</I
>,
and converts it to an absolute path.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4428"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>absolute</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>path</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>path</I
></TT
></DT
><DD
><P
>The path to convert.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="PSOURCE"
></A
>Psource Procedure</H3
><P
>This sources the file <I
CLASS="EMPHASIS"
>filename</I
>, and traps
all errors. It also ignores all extraneous output. If there was an
error it returns a <I
CLASS="EMPHASIS"
>1</I
>, otherwise it returns a
<I
CLASS="EMPHASIS"
>0</I
>.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4445"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>psource</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>file</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>filename</I
></TT
></DT
><DD
><P
>The filename to Tcl script to
source.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="RUNTESTFILEP"
></A
>Runtest_file_p Procedure</H3
><P
>Search <I
CLASS="EMPHASIS"
>runtest</I
>s for
<I
CLASS="EMPHASIS"
>testcase</I
> and return <I
CLASS="EMPHASIS"
>1</I
> if
found, <I
CLASS="EMPHASIS"
>0</I
> if not. <I
CLASS="EMPHASIS"
>runtests</I
>
is a list of two elements. The first is a copy of what was on
the right side of the <I
CLASS="EMPHASIS"
>=</I
> if
<TABLE
BORDER="0"
BGCOLOR="#E0E0E0"
WIDTH="100%"
><TR
><TD
><PRE
CLASS="PROGRAMLISTING"
>foo.exp="..."</PRE
></TD
></TR
></TABLE
>" was specified, or
an empty string if no such argument is present. The second is the
pathname of the current testcase under consideration. This is used
by tools like compilers where each testcase is a file.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4466"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>runtest_file_p</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>runtests</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>testcase</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>runtests</I
></TT
></DT
><DD
><P
>The list of patterns to compare against.
</P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>testcase</I
></TT
></DT
><DD
><P
>The test case filename.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="DIFF"
></A
>Diff Procedure</H3
><P
>Compares the two files and returns a <I
CLASS="EMPHASIS"
>1</I
> if
they match, or a <I
CLASS="EMPHASIS"
>0</I
> if they don't. If
<SPAN
CLASS="SYMBOL"
>verbose</SPAN
> is set, then it'll print the differences to
the screen.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4489"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>diff</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>file_1</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>file_2</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>file_1</I
></TT
></DT
><DD
><P
>The first file to compare.</P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>file_2</I
></TT
></DT
><DD
><P
>The second file to compare.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="SETENV"
></A
>Setenv Procedure</H3
><P
>Sets the environment variable <I
CLASS="EMPHASIS"
>var</I
> to the
value <I
CLASS="EMPHASIS"
>val</I
>.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4511"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>setenv</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>var</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>val</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>var</I
></TT
></DT
><DD
><P
>The environment variable to set.</P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>val</I
></TT
></DT
><DD
><P
>The value to set the variable to.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="UNSETENV"
></A
>unsetenv Procedure</H3
><P
>Unsets the environment variable
<I
CLASS="EMPHASIS"
>var</I
>.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4532"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>unsetenv</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>var</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>var</I
></TT
></DT
><DD
><P
>The environment variable to
unset.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="GETENV"
></A
>Getenv Procedure</H3
><P
>Returns the value of <I
CLASS="EMPHASIS"
>var</I
> in the
environment if it exists, otherwise it returns NULL.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4547"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>getenv</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>var</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>var</I
></TT
></DT
><DD
><P
>The environment variable to get the value
of.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="PRUNESYSTEMCRUD"
></A
>Prune_system_crud Procedure</H3
><P
>For system <I
CLASS="EMPHASIS"
>system</I
>, delete text the host or
target operating system might issue that will interfere with pattern
matching of program output in <I
CLASS="EMPHASIS"
>text</I
>. An example
is the message that is printed if a shared library is out of
date.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4563"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>prune_system_crud</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>system</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>test</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>system</I
></TT
></DT
><DD
><P
>The system error messages to look for to screen out
.</P
></DD
><DT
><TT
CLASS="PARAMETER"
><I
>text</I
></TT
></DT
><DD
><P
>The Tcl variable containing the
text.</P
></DD
></DL
></DIV
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="LIBGLOSS"
></A
>Libgloss, A Free BSP</H2
><P
>Libgloss is a free <I
CLASS="FIRSTTERM"
>BSP</I
> (Board Support
Package) commonly used with GCC and G++ to produce a fully linked
executable image for an embedded systems.</P
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="LIBGLOSSLINKFLAGS"
></A
>Libgloss_link_flags Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4587"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>libgloss_link_flags</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="LIBGLOSSINCLUDEFLAGS"
></A
>Libgloss_include_flags Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4601"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>libgloss_include_flags</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="NEWLIBLINKFLAGS"
></A
>Newlib_link_flags Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4615"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>newlib_link_flags</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="NEWLIBINCLUDEFLAGS"
></A
>Newlib_include_flags Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4629"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>newlib_include_flags</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="LIBIOINCLUDEFLAGS"
></A
>Libio_include_flags Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4643"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>libio_include_flags</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="LIBIOLINKFLAGS"
></A
>Libio_link_flags Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4657"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>libio_link_flags</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="GXXINCLUDEFLAGS"
></A
>G++_include_flags Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4671"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>g++_include_flags</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="GXXLINKFLAGS"
></A
>G++_link_flags Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4685"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>g++_link_flags</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="LIBSTDCXXINCLUDEFLAGS"
></A
>Libstdc++_include_flags Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4699"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>libstdc++_include_flags</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="LIBSTDCXXLINKFLAGS"
></A
>Libstdc++_link_flags Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4713"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>libstdc++_link_flags</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="GETMULTILIBS"
></A
>Get_multilibs Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4727"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>get_multilibs</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="FINDBINUTILSPROG"
></A
>Find_binutils_prog Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4741"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>find_binutils_prog</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>name</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>name</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="FINDGCC"
></A
>Find_gcc Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4755"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>find_gcc</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
></I
></TT
>);<P
></P
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="FINDGCJ"
></A
>Find_gcj Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4763"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>find_gcj</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
></I
></TT
>);<P
></P
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="FINDGXX"
></A
>Find_g++ Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4771"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>find_g++</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
></I
></TT
>);<P
></P
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="FINDG77"
></A
>Find_g77 Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4779"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>find_g77</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
></I
></TT
>);<P
></P
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="PROCESSMULTILIBOPTIONS"
></A
>Process_multilib_options Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4787"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>process_multilib_options</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="ADDMULTILIBOPTION"
></A
>Add_multilib_option Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4801"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>add_multilib_option</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="FINDGAS"
></A
>Find_gas Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4815"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>find_gas</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
></I
></TT
>);<P
></P
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="FINDLD"
></A
>Find_ld Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4823"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>find_ld</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
></I
></TT
>);<P
></P
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="BUILDWRAPPER"
></A
>Build_wrapper Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4831"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>build_wrapper</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>gluefile</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>gluefile</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="WINSUPINCLUDEFLAGS"
></A
>Winsup_include_flags Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4845"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>winsup_include_flags</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="WINSUPLINKFLAGS"
></A
>Winsup_link_flags Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4859"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>winsup_link_flags</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="DEBUGPROCS"
></A
>Procedures for debugging your Tcl code.</H2
><P
><TT
CLASS="FILENAME"
>lib/debugger.exp</TT
>defines these utility
procedures:</P
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="DUMPVARS"
></A
>Dumpvars Procedure</H3
><P
>This takes a csh style regular expression (glob rules) and prints
the values of the global variable names that match. It is abbreviated
as <I
CLASS="EMPHASIS"
>dv</I
>.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4878"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>dumpvars</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>vars</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>vars</I
></TT
></DT
><DD
><P
>The variables to dump.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="DUMPLOCALS"
></A
>Dumplocals Procedure</H3
><P
>This takes a csh style regular expression (glob rules) and
prints the values of the local variable names that match. It is
abbreviated as <I
CLASS="EMPHASIS"
>dl</I
>.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4893"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>dumplocals</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="DUMPROCS"
></A
>Dumprocs Procedure</H3
><P
>This takes a csh style regular expression (glob rules) and
prints the body of all procs that match. It is abbreviated as
<I
CLASS="EMPHASIS"
>dp</I
>.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4908"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>dumprocs</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>pattern</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>pattern</I
></TT
></DT
><DD
><P
>The csh "glob" style pattern to look
for.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="DUMPWATCH"
></A
>Dumpwatch Procedure</H3
><P
>This takes a csh style regular expression (glob rules) and
prints all the watchpoints. It is abbreviated as
<I
CLASS="EMPHASIS"
>dw</I
>.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4923"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>dumpwatch</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>pattern</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>pattern</I
></TT
></DT
><DD
><P
>The csh "glob" style pattern to look
for.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="WATCHARRAY"
></A
>Watcharray Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4937"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>watcharray</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>element</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>type</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>type</I
></TT
></DT
><DD
><P
>The csh "glob" style pattern to look
for.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="WATCHVAR"
></A
>Watchvar Procedure</H3
><P
></P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4952"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>watchvar</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>var</I
></TT
>
<TT
CLASS="PARAMETER"
><I
>type</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
></I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="WATCHUNSET"
></A
>Watchunset Procedure</H3
><P
>This breaks program execution when the variable
<SPAN
CLASS="SYMBOL"
>var</SPAN
> is unset. It is abbreviated as
<I
CLASS="EMPHASIS"
>wu</I
>.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4969"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>watchunset</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>arg</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="WATCHWRITE"
></A
>Watchwrite Procedure</H3
><P
>This breaks program execution when the variable
<SPAN
CLASS="SYMBOL"
>var</SPAN
> is written. It is abbreviated as
<I
CLASS="EMPHASIS"
>ww</I
>.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN4985"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>watchwrite</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>var</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>var</I
></TT
></DT
><DD
><P
>The variable to watch.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="WATCHREAD"
></A
>Watchread Procedure</H3
><P
>This breaks program execution when the variable
<SPAN
CLASS="SYMBOL"
>var</SPAN
> is read. It is abbreviated as
<I
CLASS="EMPHASIS"
>wr</I
>.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN5001"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>watchread</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>var</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>var</I
></TT
></DT
><DD
><P
>The variable to watch.</P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="WATCHDEL"
></A
>Watchdel Procedure</H3
><P
>This deletes a the watchpoint from the watch list. It is
abbreviated as <I
CLASS="EMPHASIS"
>wd</I
>.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN5016"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>watchdel</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>args</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>args</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="PRINT"
></A
>Print Procedure</H3
><P
>This prints the value of the variable
<TT
CLASS="PARAMETER"
><I
>var</I
></TT
>. It is abbreviated as
<I
CLASS="EMPHASIS"
>p</I
>.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN5032"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>print</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
>var</I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
>var</I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
><DIV
CLASS="SECT3"
><H3
CLASS="SECT3"
><A
NAME="QUIT"
></A
>Quit Procedure</H3
><P
>This makes runtest exit. It is abbreviated as
<I
CLASS="EMPHASIS"
>q</I
>.</P
><DIV
CLASS="FUNCSYNOPSIS"
><A
NAME="AEN5047"
></A
><P
></P
><CODE
CLASS="FUNCDEF"
><TT
CLASS="FUNCTION"
>quit</TT
></CODE
>(<TT
CLASS="PARAMETER"
><I
></I
></TT
>);<P
></P
></DIV
><P
></P
><DIV
CLASS="VARIABLELIST"
><DL
><DT
><TT
CLASS="PARAMETER"
><I
></I
></TT
></DT
><DD
><P
></P
></DD
></DL
></DIV
></DIV
></DIV
></DIV
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
SUMMARY="Footer navigation table"
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="x1600.html"
ACCESSKEY="P"
>&#60;&#60;&#60; Previous</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="book1.html"
ACCESSKEY="H"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="x5058.html"
ACCESSKEY="N"
>Next &#62;&#62;&#62;</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Installation</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="c1593.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>File Map</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>