ExtraPuTTY FAQ


This FAQ is published on the ExtraPuTTY web site, and also provided as an appendix in the manual.

What is ExtraPuTTY ?

ExtraPuTTY is a fork of PuTTY which is client program for the SSH, Telnet and Rlogin network protocols.
Principals features :

Features supported in ExtraPuTTY

In general, if you want to know if ExtraPuTTY or PuTTY supports a particular feature, you should look for it on the ExtraPuTTY web site or PuTTY web site. In particular:

Used ExtraPuTTY DLL wihtout windows installer

The ExtraPuTTY DLL need the path of PuTTY.
In order to do that you must create the environment variable "ExtraPuTTY" with the path of ExtraPuTTY.

how to send unprintable characters

From XML commands file used syntaxe "EXT_SPECHAR_" + characters.
The unprintable charaters managed are NUL, SOH, STX, ETX, EOT, ENQ, ACK, BEL, BS, HT, LF, VT, FF, CR, SO, SI, DLE, DC1, DC2, DC3, DC4, NAK, SYN, ETB, CAN, EM, SUB, ESC, FS, GS, RS, US, Sp, DEL. (value 0x00 to 0x20 and 0x7F)
For example to sending BEL + HELLO + BEL, used the command EXT_SPECHAR_BEL_HELLO_BEL or for sending CR LF without data used the command EXT_SPECHAR_CR_LF (in this case don't forget to unset the implicit CRLF)

XML syntax

The five "predefined entities" representing special characters are managed (",<,>,;,').

TestStand using

The ExtraPuTTY TestStand steps are automaticly install with the ExtraPuTTY windows installer.

Note : Closed TestStand during the installation else re-start TestStand application at the end

TestStand 2012

ExtraPuTTY steps are not present after installation : Trouble Shooting

BUGS : TestStand Steps Upgrade

On ExtraPuTTY upgrade if you change the ExtraPuTTY install directory, the path of the DDL in your teststand sequence will not be update.

This major bug is not correct with TestStand V3.0,for bypassing the problem, edit your sequence file and change the old DDL path of the keyword "LibPath" by the new install directory.

ExtraPuTTY DLL with .NET

The Extraputty dll is not an assembly or COM object. To accessing and wrapping unmanaged API from managed code you shall used Interoperability ("interop"). See VB.NET example.

ExtraPuTTY DLL compile options

The ExtraPuTTY DLL is compile with calling convention "__stdcall" and with struct member alignment "16 bytes"

ExtraPuTTY Command Line

The ExtraPuTTY snapshot version alow to used new command line options :

Example start a putty session name "test1" and start scenario "autolog" :

c:\PUTTY.exe -load test1 -startup autolog

Note : You need double quotes around the session name if it contains spaces.

Full Command-line description.

ExtraPuTTY predefined variable

Variable Definition
<PATH_EXPUTTY> Shortcut available from within snapshot version for relative path of putty.exe which can be used in File,Help and childroot (Type 3 ,lua cript) TAGS of XML commands file (see Chapter 5: ExtraPuTTY Files) or in ExtraPuTTY settings panel (see Chapter 4.2: The ExtraPuTTY panel).

ExtraPuTTY predefined commands

Wihtin ExtraPuTTY XML command file some predefined commands are available :

Virtual Key codes (available from within snapshot version) :

Commands ExtraPutty Virtual Key codes
ADD <VK_ADD>
APPS <VK_APPS>
BACK <VK_BACK>
CAPITAL <VK_CAPITAL>
CLEAR <VK_CLEAR>
DECIMAL <VK_DECIMAL>
DELETE <VK_DELETE>
DOWN <VK_DOWN>
END <VK_END>
RETURN <VK_RETURN>
ESCAPE <VK_ESCAPE>
F1 <VK_F1>
F2 <VK_F2>
F3 <VK_F3>
F4 <VK_F4>
F5 <VK_F5>
F6 <VK_F6>
F7 <VK_F7>
F8 <VK_F8>
F9 <VK_F9>
F10 <VK_F10>
F11 <VK_F11>
F12 <VK_F12>
HELP <VK_HELP>
HOME <VK_HOME>
INSERT <VK_INSERT>
LEFT <VK_LEFT>
NUMLOCK <VK_NUMLOCK>
PRINT <VK_PRINT>
RIGHT <VK_RIGHT>
SCROLL <VK_SCROLL>
SNAPSHOT <VK_SNAPSHOT>
SUBTRACT <VK_SUBTRACT>
TAB <VK_TAB>
UP <VK_UP>
CTRL <CTRL>
ALT <ALT>
ALTGR <ALTGR>

Example :

PuTTY system commands :

System Commands ExtraPutty predefined commands
Event log EXT_SYS_CMD_SHOWLOG
New Session ... EXT_SYS_CMD_NEWSESSION
Restart Session EXT_SYS_CMD_RESTART
Duplicate Session EXT_SYS_CMD_DUPSESSION
Saved Sessions EXT_SYS_CMD_SAVEDSESSION
Change Settings ... EXT_SYS_CMD_RECONF
Copy All to Clipboard EXT_SYS_CMD_COPYALL
Clear Scrollback EXT_SYS_CMD_CLEAR_SB
Reset Terminal EXT_SYS_CMD_RESET_TERM
Full Screen EXT_SYS_CMD_FULLSCREEN
Help EXT_SYS_CMD_HELP
About PuTTY EXT_SYS_CMD_ABOUT

ExtraPuTTY system commands :

System Commands ExtraPutty predefined commands
Start Trace EXT_SYS_CMD_START_TRACE
Stop Trace EXT_SYS_CMD_STOP_TRACE
Edit Command File EXT_SYS_CMD_EDIT_XML_FILE
About ExtraPuTTY EXT_SYS_CMD_ABOUT_EXT
Close ExtraPuTTY window EXT_SYS_CMD_CLOSE_WND

Extra commands :

Commands ExtraPutty predefined commands
Display message box EXT_MSGBOX_ + Text
( EXT_MSGBOX_HELLO World => display HELLO World, the title of the message box it's the name of command)
Display input box EXT_MSGBOX_INPUTBOX_ + Text
( EXT_MSGBOX_INPUTBOX_Enter your password => display Enter your password, the title of the message box it's the name of command)

Telnet special commands :

Commands ExtraPutty predefined commands
Are you there EXT_SYS_CMD_TS_AYT
Break EXT_SYS_CMD_TS_BRK
Synch EXT_SYS_CMD_TS_SYNCH
Erase Character EXT_SYS_CMD_TS_EC
Erase Line EXT_SYS_CMD_TS_EL
Go Ahead EXT_SYS_CMD_TS_GA
No Operation EXT_SYS_CMD_TS_NOP
Abort Process EXT_SYS_CMD_TS_ABORT
Abort Output EXT_SYS_CMD_TS_AO
Interrupt Process EXT_SYS_CMD_TS_IP
Suspend Process EXT_SYS_CMD_TS_SUSP
End Of Record EXT_SYS_CMD_TS_EOR
End Of File EXT_SYS_CMD_TS_EOF
End Of Line EXT_SYS_CMD_TS_EOL