<PackageReference Include="SSH.NET" Version="2024.1.0" />

PseudoTerminalRequestInfo

Represents "pty-req" type channel request information.
using Renci.SshNet.Common; using System.Collections.Generic; namespace Renci.SshNet.Messages.Connection { internal sealed class PseudoTerminalRequestInfo : RequestInfo { public const string Name = "pty-req"; public override string RequestName => "pty-req"; public string EnvironmentVariable { get; set; } public uint Columns { get; set; } public uint Rows { get; set; } public uint PixelWidth { get; set; } public uint PixelHeight { get; set; } public IDictionary<TerminalModes, uint> TerminalModeValues { get; set; } protected override int BufferCapacity => -1; public PseudoTerminalRequestInfo() { base.WantReply = true; } public PseudoTerminalRequestInfo(string environmentVariable, uint columns, uint rows, uint width, uint height, IDictionary<TerminalModes, uint> terminalModeValues) : this() { EnvironmentVariable = environmentVariable; Columns = columns; Rows = rows; PixelWidth = width; PixelHeight = height; TerminalModeValues = terminalModeValues; } protected override void SaveData() { base.SaveData(); Write(EnvironmentVariable); Write(Columns); Write(Rows); Write(PixelWidth); Write(PixelHeight); if (TerminalModeValues != null && TerminalModeValues.Count > 0) { Write((uint)(TerminalModeValues.Count * 5 + 1)); foreach (KeyValuePair<TerminalModes, uint> terminalModeValue in TerminalModeValues) { Write((byte)terminalModeValue.Key); Write(terminalModeValue.Value); } Write(0); } else Write(0); } } }