com.jcraft.jsch.ChannelSubsystem Class Reference

A channel connected to a subsystem of the server process. More...

Inheritance diagram for com.jcraft.jsch.ChannelSubsystem:
Inheritance graph
[legend]
Collaboration diagram for com.jcraft.jsch.ChannelSubsystem:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void setXForwarding (boolean foo)
 Enable the X11 forwarding.
void setPty (boolean foo)
 Allocate a Pseudo-Terminal.
void setWantReply (boolean foo)
 Indicates whether we want a confirmation/error reply to this request.
void setSubsystem (String foo)
 Sets the name of the remote subsystem name.
void start () throws JSchException
void setErrStream (java.io.OutputStream out)
 Sets the error stream.
java.io.InputStream getErrStream () throws java.io.IOException
 Gets the error stream.
void setAgentForwarding (boolean enable)
 Enable the agent forwarding.
void setEnv (Hashtable env)
void setEnv (String name, String value)
 Set the environment variable.
void setEnv (byte[] name, byte[] value)
 Set the environment variable.
void setTerminalMode (byte[] terminal_mode)
 Set the terminal mode.
void setPtySize (int col, int row, int wp, int hp)
 Change the window dimension interactively.
void setPtyType (String ttype)
 Set the terminal type.
void setPtyType (String ttype, int col, int row, int wp, int hp)
 Set the terminal type.
void run ()
 not to be called by the application.
void connect () throws JSchException
 Opens the channel without any timeout.

Protected Member Functions

void sendRequests () throws Exception
 creates and sends all requests indicated by the properties agentForwarding, xForwarding, pty (and ptyType) and env.

Protected Attributes

boolean agent_forwarding = false
Hashtable env = null
String ttype = "vt100"
int tcol = 80
int trow = 24
int twp = 640
int thp = 480
byte[] terminal_mode = null
byte[] type = Util.str2byte("foo")

Package Functions

void init () throws JSchException
synchronized void setRecipient (int foo)
int getRecipient ()

Static Package Functions

static Channel getChannel (String type)
 Creates a new Channel of specified type.
static Channel getChannel (int id, Session session)
 Retrieves a channel from the channel pool.
static void del (Channel c)
 Removes a channel from the channel pool.

Package Attributes

boolean xforwading = false
boolean pty = false
boolean want_reply = true
String subsystem = ""
int id
volatile int recipient = -1
volatile int lwsize_max = 0x100000
volatile int lwsize = lwsize_max
volatile int lmpsize = 0x4000
volatile long rwsize = 0
volatile int rmpsize = 0
IO io = null
Thread thread = null
volatile boolean eof_local = false
volatile boolean eof_remote = false
volatile boolean close = false
volatile boolean connected = false
volatile boolean open_confirmation = false
volatile int exitstatus = -1
volatile int reply = 0
volatile int connectTimeout = 0
int notifyme = 0

Static Package Attributes

static final int SSH_MSG_CHANNEL_OPEN_CONFIRMATION = 91
static final int SSH_MSG_CHANNEL_OPEN_FAILURE = 92
static final int SSH_MSG_CHANNEL_WINDOW_ADJUST = 93
static final int SSH_OPEN_ADMINISTRATIVELY_PROHIBITED = 1
static final int SSH_OPEN_CONNECT_FAILED = 2
static final int SSH_OPEN_UNKNOWN_CHANNEL_TYPE = 3
static final int SSH_OPEN_RESOURCE_SHORTAGE = 4
static int index = 0

Detailed Description

A channel connected to a subsystem of the server process.

Such a channel is created with:

    ChannelExec channel = (ChannelExec)session. openChannel("subsystem");
    channel. setSubsystem(cmd);
  
See also:
RFC 4254, section 6.5. Starting a Shell or a Command
ChannelSftp

Definition at line 46 of file ChannelSubsystem.java.


Member Function Documentation

void com.jcraft.jsch.Channel.connect (  )  throws JSchException [inherited]

Opens the channel without any timeout.

This is equivalent to connect(0) if not overridden in subclasses.

Reimplemented in com.jcraft.jsch.ChannelDirectTCPIP.

Definition at line 174 of file Channel.java.

Referenced by edu.rice.cs.hpc.remote.tunnel.SSHManager.sendCommand().

static void com.jcraft.jsch.Channel.del ( Channel  c  )  [static, package, inherited]

Removes a channel from the channel pool.

Definition at line 116 of file Channel.java.

References com.jcraft.jsch.Channel.pool.

static Channel com.jcraft.jsch.Channel.getChannel ( int  id,
Session  session 
) [static, package, inherited]

Retrieves a channel from the channel pool.

Parameters:
id the session-specific identifier of the channel
session the session with which the channel is associated.

Definition at line 103 of file Channel.java.

References com.jcraft.jsch.Channel.id, com.jcraft.jsch.Channel.pool, and com.jcraft.jsch.Channel.session.

static Channel com.jcraft.jsch.Channel.getChannel ( String  type  )  [static, package, inherited]

Creates a new Channel of specified type.

This factory method is used by Session#openChannel to create channels.

Definition at line 67 of file Channel.java.

java.io.InputStream com.jcraft.jsch.ChannelSubsystem.getErrStream (  )  throws java.io.IOException

Gets the error stream.

The standard error output of the remote process can be read from this stream.

This method is a polling alternative to setErrStream.

Definition at line 130 of file ChannelSubsystem.java.

int com.jcraft.jsch.Channel.getRecipient (  )  [package, inherited]
void com.jcraft.jsch.ChannelSubsystem.init (  )  throws JSchException [package]
void com.jcraft.jsch.ChannelSession.run (  )  [inherited]
void com.jcraft.jsch.ChannelSession.sendRequests (  )  throws Exception [protected, inherited]
void com.jcraft.jsch.ChannelSession.setAgentForwarding ( boolean  enable  )  [inherited]

Enable the agent forwarding.

Parameters:
enable 

Definition at line 67 of file ChannelSession.java.

References com.jcraft.jsch.ChannelSession.agent_forwarding.

void com.jcraft.jsch.ChannelSession.setEnv ( byte[]  name,
byte[]  value 
) [inherited]

Set the environment variable.

Parameters:
name A name of environment variable.
value A value of environment variable.
See also:
setEnv(String, String)
RFC4254 6.4 Environment Variable Passing

Definition at line 114 of file ChannelSession.java.

References com.jcraft.jsch.ChannelSession.getEnv().

void com.jcraft.jsch.ChannelSession.setEnv ( String  name,
String  value 
) [inherited]

Set the environment variable.

If name and value are needed to be passed to the remote in your faivorite encoding,use setEnv(byte[], byte[]).

Parameters:
name A name for environment variable.
value A value for environment variable.
See also:
RFC4254 6.4 Environment Variable Passing

Definition at line 102 of file ChannelSession.java.

References com.jcraft.jsch.ChannelSession.setEnv().

void com.jcraft.jsch.ChannelSession.setEnv ( Hashtable  env  )  [inherited]
void com.jcraft.jsch.ChannelSubsystem.setErrStream ( java.io.OutputStream  out  ) 

Sets the error stream.

The standard error output of the remote process will be sent to this stream.

The stream will be closed on disconnect.

Definition at line 120 of file ChannelSubsystem.java.

void com.jcraft.jsch.ChannelSubsystem.setPty ( boolean  enable  ) 

Allocate a Pseudo-Terminal.

Parameters:
enable 
See also:
RFC4254 6.2. Requesting a Pseudo-Terminal

Reimplemented from com.jcraft.jsch.ChannelSession.

Definition at line 54 of file ChannelSubsystem.java.

References com.jcraft.jsch.ChannelSubsystem.pty.

void com.jcraft.jsch.ChannelSession.setPtySize ( int  col,
int  row,
int  wp,
int  hp 
) [inherited]

Change the window dimension interactively.

Parameters:
col terminal width, columns
row terminal height, rows
wp terminal width, pixels
hp terminal height, pixels
See also:
RFC4254 6.7. Window Dimension Change Message

Definition at line 154 of file ChannelSession.java.

References com.jcraft.jsch.ChannelSession.pty, com.jcraft.jsch.RequestWindowChange.request(), com.jcraft.jsch.ChannelSession.setPtyType(), com.jcraft.jsch.RequestWindowChange.setSize(), and com.jcraft.jsch.ChannelSession.ttype.

void com.jcraft.jsch.ChannelSession.setPtyType ( String  ttype,
int  col,
int  row,
int  wp,
int  hp 
) [inherited]

Set the terminal type.

This method is not effective after Channel.connect().

Parameters:
ttype terminal type(for example, "vt100")
col terminal width, columns
row terminal height, rows
wp terminal width, pixels
hp terminal height, pixels

Definition at line 190 of file ChannelSession.java.

References com.jcraft.jsch.ChannelSession.tcol, com.jcraft.jsch.ChannelSession.thp, com.jcraft.jsch.ChannelSession.trow, and com.jcraft.jsch.ChannelSession.twp.

void com.jcraft.jsch.ChannelSession.setPtyType ( String  ttype  )  [inherited]

Set the terminal type.

This method is not effective after Channel.connect().

Parameters:
ttype terminal type(for example, "vt100")
See also:
setPtyType(String, int, int, int, int)

Definition at line 176 of file ChannelSession.java.

Referenced by com.jcraft.jsch.ChannelSession.setPtySize().

synchronized void com.jcraft.jsch.Channel.setRecipient ( int  foo  )  [package, inherited]
void com.jcraft.jsch.ChannelSubsystem.setSubsystem ( String  foo  ) 

Sets the name of the remote subsystem name.

Parameters:
foo the name of the subsystem. It should consist of only printable ASCII characters and be a subsystem name recognized by the remote server process.
See also:
RFC 4250, section 4.6.1 Conventions for Names

Definition at line 72 of file ChannelSubsystem.java.

References com.jcraft.jsch.ChannelSubsystem.subsystem.

void com.jcraft.jsch.ChannelSession.setTerminalMode ( byte[]  terminal_mode  )  [inherited]

Set the terminal mode.

Parameters:
terminal_mode 

Definition at line 141 of file ChannelSession.java.

void com.jcraft.jsch.ChannelSubsystem.setWantReply ( boolean  foo  ) 

Indicates whether we want a confirmation/error reply to this request.

(I have no idea what the difference is, and the method is called neither in the library nor the examples.) The default is true.

Definition at line 62 of file ChannelSubsystem.java.

References com.jcraft.jsch.ChannelSubsystem.want_reply.

void com.jcraft.jsch.ChannelSubsystem.setXForwarding ( boolean  enable  ) 

Enable the X11 forwarding.

Parameters:
enable 
See also:
RFC4254 6.3.1. Requesting X11 Forwarding

Reimplemented from com.jcraft.jsch.ChannelSession.

Definition at line 52 of file ChannelSubsystem.java.

References com.jcraft.jsch.ChannelSubsystem.xforwading.

void com.jcraft.jsch.ChannelSubsystem.start (  )  throws JSchException

Member Data Documentation

boolean com.jcraft.jsch.ChannelSession.agent_forwarding = false [protected, inherited]
volatile boolean com.jcraft.jsch.Channel.close = false [package, inherited]
volatile boolean com.jcraft.jsch.Channel.connected = false [package, inherited]
volatile int com.jcraft.jsch.Channel.connectTimeout = 0 [package, inherited]
Hashtable com.jcraft.jsch.ChannelSession.env = null [protected, inherited]
volatile boolean com.jcraft.jsch.Channel.eof_local = false [package, inherited]

Definition at line 135 of file Channel.java.

volatile boolean com.jcraft.jsch.Channel.eof_remote = false [package, inherited]

Definition at line 136 of file Channel.java.

volatile int com.jcraft.jsch.Channel.exitstatus = -1 [package, inherited]

Definition at line 142 of file Channel.java.

Referenced by com.jcraft.jsch.PortWatcher.run().

int com.jcraft.jsch.Channel.id [package, inherited]

Definition at line 122 of file Channel.java.

Referenced by com.jcraft.jsch.Channel.getChannel().

int com.jcraft.jsch.Channel.index = 0 [static, package, inherited]

Definition at line 60 of file Channel.java.

Referenced by com.jcraft.jsch.Channel.Channel().

IO com.jcraft.jsch.Channel.io = null [package, inherited]
volatile int com.jcraft.jsch.Channel.lmpsize = 0x4000 [package, inherited]

Definition at line 127 of file Channel.java.

Referenced by com.jcraft.jsch.ChannelDirectTCPIP.connect().

volatile int com.jcraft.jsch.Channel.lwsize = lwsize_max [package, inherited]

Definition at line 126 of file Channel.java.

Referenced by com.jcraft.jsch.ChannelDirectTCPIP.connect().

volatile int com.jcraft.jsch.Channel.lwsize_max = 0x100000 [package, inherited]

Definition at line 125 of file Channel.java.

int com.jcraft.jsch.Channel.notifyme = 0 [package, inherited]
volatile boolean com.jcraft.jsch.Channel.open_confirmation = false [package, inherited]

Definition at line 140 of file Channel.java.

Referenced by com.jcraft.jsch.ChannelDirectTCPIP.connect().

boolean com.jcraft.jsch.ChannelSubsystem.pty = false [package]
volatile int com.jcraft.jsch.Channel.recipient = -1 [package, inherited]
volatile int com.jcraft.jsch.Channel.reply = 0 [package, inherited]

Definition at line 144 of file Channel.java.

Referenced by com.jcraft.jsch.Request.write().

volatile int com.jcraft.jsch.Channel.rmpsize = 0 [package, inherited]
volatile long com.jcraft.jsch.Channel.rwsize = 0 [package, inherited]

Definition at line 129 of file Channel.java.

final int com.jcraft.jsch.Channel.SSH_MSG_CHANNEL_OPEN_CONFIRMATION = 91 [static, package, inherited]

Definition at line 51 of file Channel.java.

final int com.jcraft.jsch.Channel.SSH_MSG_CHANNEL_OPEN_FAILURE = 92 [static, package, inherited]

Definition at line 52 of file Channel.java.

final int com.jcraft.jsch.Channel.SSH_MSG_CHANNEL_WINDOW_ADJUST = 93 [static, package, inherited]

Definition at line 53 of file Channel.java.

final int com.jcraft.jsch.Channel.SSH_OPEN_ADMINISTRATIVELY_PROHIBITED = 1 [static, package, inherited]
final int com.jcraft.jsch.Channel.SSH_OPEN_CONNECT_FAILED = 2 [static, package, inherited]

Definition at line 56 of file Channel.java.

final int com.jcraft.jsch.Channel.SSH_OPEN_RESOURCE_SHORTAGE = 4 [static, package, inherited]

Definition at line 58 of file Channel.java.

final int com.jcraft.jsch.Channel.SSH_OPEN_UNKNOWN_CHANNEL_TYPE = 3 [static, package, inherited]

Definition at line 57 of file Channel.java.

int com.jcraft.jsch.ChannelSession.tcol = 80 [protected, inherited]
byte [] com.jcraft.jsch.ChannelSession.terminal_mode = null [protected, inherited]

Definition at line 54 of file ChannelSession.java.

Referenced by com.jcraft.jsch.ChannelSession.sendRequests().

int com.jcraft.jsch.ChannelSession.thp = 480 [protected, inherited]
Thread com.jcraft.jsch.Channel.thread = null [package, inherited]
int com.jcraft.jsch.ChannelSession.trow = 24 [protected, inherited]
String com.jcraft.jsch.ChannelSession.ttype = "vt100" [protected, inherited]
int com.jcraft.jsch.ChannelSession.twp = 640 [protected, inherited]
byte [] com.jcraft.jsch.Channel.type = Util.str2byte("foo") [protected, inherited]

The documentation for this class was generated from the following file:

Generated on 5 May 2015 for HPCVIEWER by  doxygen 1.6.1