Home | History | Annotate | Download | only in packets
      1 /*
      2  * Copyright (c) 2006-2011 Christian Plattner. All rights reserved.
      3  * Please refer to the LICENSE.txt for licensing details.
      4  */
      5 package ch.ethz.ssh2.packets;
      6 
      7 /**
      8  * PacketSessionPtyRequest.
      9  *
     10  * @author Christian Plattner
     11  * @version 2.50, 03/15/10
     12  */
     13 public class PacketSessionPtyRequest
     14 {
     15 	byte[] payload;
     16 
     17 	public int recipientChannelID;
     18 	public boolean wantReply;
     19 	public String term;
     20 	public int character_width;
     21 	public int character_height;
     22 	public int pixel_width;
     23 	public int pixel_height;
     24 	public byte[] terminal_modes;
     25 
     26 	public PacketSessionPtyRequest(int recipientChannelID, boolean wantReply, String term,
     27 			int character_width, int character_height, int pixel_width, int pixel_height,
     28 			byte[] terminal_modes)
     29 	{
     30 		this.recipientChannelID = recipientChannelID;
     31 		this.wantReply = wantReply;
     32 		this.term = term;
     33 		this.character_width = character_width;
     34 		this.character_height = character_height;
     35 		this.pixel_width = pixel_width;
     36 		this.pixel_height = pixel_height;
     37 		this.terminal_modes = terminal_modes;
     38 	}
     39 
     40 	public byte[] getPayload()
     41 	{
     42 		if (payload == null)
     43 		{
     44 			TypesWriter tw = new TypesWriter();
     45 			tw.writeByte(Packets.SSH_MSG_CHANNEL_REQUEST);
     46 			tw.writeUINT32(recipientChannelID);
     47 			tw.writeString("pty-req");
     48 			tw.writeBoolean(wantReply);
     49 			tw.writeString(term);
     50 			tw.writeUINT32(character_width);
     51 			tw.writeUINT32(character_height);
     52 			tw.writeUINT32(pixel_width);
     53 			tw.writeUINT32(pixel_height);
     54 			tw.writeString(terminal_modes, 0, terminal_modes.length);
     55 
     56 			payload = tw.getBytes();
     57 		}
     58 		return payload;
     59 	}
     60 }
     61