diff --git a/ProxySU/MainWindow.xaml.cs b/ProxySU/MainWindow.xaml.cs index 8518dc0..fcff4f1 100644 --- a/ProxySU/MainWindow.xaml.cs +++ b/ProxySU/MainWindow.xaml.cs @@ -16,6 +16,11 @@ using System.Text.RegularExpressions; using System.Threading; using System.Threading.Tasks; using System.IO; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using Newtonsoft.Json.Serialization; +using System.Drawing; +using QRCoder; namespace ProxySU { diff --git a/ProxySU/ProxySU.csproj b/ProxySU/ProxySU.csproj index 7d54c01..93bd517 100644 --- a/ProxySU/ProxySU.csproj +++ b/ProxySU/ProxySU.csproj @@ -52,11 +52,18 @@ ProxySU.ico + + ..\json.net\net40\Newtonsoft.Json.dll + + + ..\qrcoder\net40\QRCoder.dll + ..\ssh.net\net40\Renci.SshNet.dll + @@ -135,4 +142,9 @@ + + del "$(TargetDir)*.xml" +del "$(TargetDir)*.pdb" +"D:\Program Files\7-Zip\7z.exe" a $(TargetDir)Release.zip $(TargetDir) + \ No newline at end of file diff --git a/ProxySU/bin/Release/Newtonsoft.Json.dll b/ProxySU/bin/Release/Newtonsoft.Json.dll new file mode 100644 index 0000000..c2b16bb Binary files /dev/null and b/ProxySU/bin/Release/Newtonsoft.Json.dll differ diff --git a/ProxySU/bin/Release/ProxySU.exe b/ProxySU/bin/Release/ProxySU.exe index 7655d15..cff4e32 100644 Binary files a/ProxySU/bin/Release/ProxySU.exe and b/ProxySU/bin/Release/ProxySU.exe differ diff --git a/ProxySU/bin/Release/QRCoder.dll b/ProxySU/bin/Release/QRCoder.dll new file mode 100644 index 0000000..ffe773e Binary files /dev/null and b/ProxySU/bin/Release/QRCoder.dll differ diff --git a/ProxySU/bin/Release/Release.zip b/ProxySU/bin/Release/Release.zip index fcb1fb7..e1e3b3b 100644 Binary files a/ProxySU/bin/Release/Release.zip and b/ProxySU/bin/Release/Release.zip differ diff --git a/json.net/net40/Newtonsoft.Json.dll b/json.net/net40/Newtonsoft.Json.dll new file mode 100644 index 0000000..c2b16bb Binary files /dev/null and b/json.net/net40/Newtonsoft.Json.dll differ diff --git a/json.net/net40/Newtonsoft.Json.xml b/json.net/net40/Newtonsoft.Json.xml new file mode 100644 index 0000000..0cbf62c --- /dev/null +++ b/json.net/net40/Newtonsoft.Json.xml @@ -0,0 +1,9646 @@ + + + + Newtonsoft.Json + + + + + Represents a BSON Oid (object id). + + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Initializes a new instance of the class. + + The Oid value. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized BSON data. + + + + + Gets or sets a value indicating whether binary data reading should be compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The containing the BSON data to read. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating BSON data. + + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Initializes a new instance of the class. + + The to write to. + + + + Initializes a new instance of the class. + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a JSON array. + + + + + Writes the beginning of a JSON object. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to a single parameterized constructor, then to the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a parameterized constructor. + + + + + Converts a binary value to and from a base 64 string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Creates a custom object. + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a F# discriminated union type to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an Entity Framework to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. "2008-04-12T12:53Z"). + + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Converts a to and from a JavaScript Date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + The default value is false. + + true if the written enum text will be camel case; otherwise, false. + + + + Gets or sets the naming strategy used to resolve how enum text is written. + + The naming strategy used to resolve how enum text is written. + + + + Gets or sets a value indicating whether integer values are allowed when serializing and deserializing. + The default value is true. + + true if integers are allowed when serializing and deserializing; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + true if the written enum text will be camel case; otherwise, false. + + + + Initializes a new instance of the class. + + The naming strategy used to resolve how enum text is written. + true if integers are allowed when serializing and deserializing; otherwise, false. + + + + Initializes a new instance of the class. + + The of the used to write enum text. + + + + Initializes a new instance of the class. + + The of the used to write enum text. + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + + Initializes a new instance of the class. + + The of the used to write enum text. + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + true if integers are allowed when serializing and deserializing; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from Unix epoch time + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts XML to and from JSON. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produced multiple root elements. + + The name of the deserialized root element. + + + + Gets or sets a value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attribute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Gets or sets a value indicating whether to encode special characters when converting JSON to XML. + If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify + XML namespaces, attributes or processing directives. Instead special characters are encoded and written + as part of the XML element name. + + true if special characters are encoded; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + true if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + The default JSON name table implementation. + + + + + Initializes a new instance of the class. + + + + + Gets a string containing the same characters as the specified range of characters in the given array. + + The character array containing the name to find. + The zero-based index into the array specifying the first character of the name. + The number of characters in the name. + A string containing the same characters as the specified range of characters in the given array. + + + + Adds the specified string into name table. + + The string to add. + This method is not thread-safe. + The resolved string. + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that it is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable types; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and set members to their default value when deserializing. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a of property. + + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Provides an interface for using pooled arrays. + + The array type content. + + + + Rent an array from the pool. This array must be returned when it is no longer needed. + + The minimum required length of the array. The returned array may be longer. + The rented array from the pool. This array must be returned when it is no longer needed. + + + + Return an array to the pool. + + The array that is being returned. + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, when returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, when returns false). + + + + Instructs the how to serialize the collection. + + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items. + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Instructs the how to serialize the object. + + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets or sets the collection's items converter. + + The collection's items converter. + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonContainer(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Provides methods for converting between .NET types and JSON types. + + + + + + + + Gets or sets a function that creates default . + Default settings are automatically used by serialization methods on , + and and on . + To serialize without using any default settings create a with + . + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + The string escape handling. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting. + + The object to serialize. + Indicates how the output should be formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using formatting and a collection of . + + The object to serialize. + Indicates how the output should be formatted. + A collection of converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using formatting and . + + The object to serialize. + Indicates how the output should be formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a type, formatting and . + + The object to serialize. + Indicates how the output should be formatted. + The used to serialize the object. + If this is null, default serialization settings will be used. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to a .NET object using . + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type using . + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be inferred from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using a collection of . + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type using . + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string using . + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be used. + + + + + Serializes the to a JSON string. + + The node to serialize. + A JSON string of the . + + + + Serializes the to a JSON string using formatting. + + The node to serialize. + Indicates how the output should be formatted. + A JSON string of the . + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output should be formatted. + Omits writing the root object. + A JSON string of the . + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by + and writes a Json.NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by , + writes a Json.NET array attribute for collections, and encodes special characters. + + The JSON string. + The name of the root element to append when deserializing. + + A value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + + A value to indicate whether to encode special characters when converting JSON to XML. + If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify + XML namespaces, attributes or processing directives. Instead special characters are encoded and written + as part of the XML element name. + + The deserialized . + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the . + + + + Serializes the to a JSON string using formatting. + + The node to convert to JSON. + Indicates how the output should be formatted. + A JSON string of the . + + + + Serializes the to a JSON string using formatting and omits the root object if is true. + + The node to serialize. + Indicates how the output should be formatted. + Omits writing the root object. + A JSON string of the . + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by . + + The JSON string. + The name of the root element to append when deserializing. + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by + and writes a Json.NET array attribute for collections. + + The JSON string. + The name of the root element to append when deserializing. + + A value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized . + + + + Deserializes the from a JSON string nested in a root element specified by , + writes a Json.NET array attribute for collections, and encodes special characters. + + The JSON string. + The name of the root element to append when deserializing. + + A value to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + + A value to indicate whether to encode special characters when converting JSON to XML. + If true, special characters like ':', '@', '?', '#' and '$' in JSON property names aren't used to specify + XML namespaces, attributes or processing directives. Instead special characters are encoded and written + as part of the XML element name. + + The deserialized . + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Converts an object to and from JSON. + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. If there is no existing value then null will be used. + The existing value has a value. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Gets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + + + + + Initializes a new instance of the class. + + Type of the . + + + + Initializes a new instance of the class. + + Type of the . + Parameter list to use when constructing the . Can be null. + + + + Represents a collection of . + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Instructs the to deserialize properties with no matching class member into the specified collection + and write values during serialization. + + + + + Gets or sets a value that indicates whether to write extension data when serializing the object. + + + true to write extension data when serializing the object; otherwise, false. The default is true. + + + + + Gets or sets a value that indicates whether to read extension data when deserializing the object. + + + true to read extension data when deserializing the object; otherwise, false. The default is true. + + + + + Initializes a new instance of the class. + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Base class for a table of atomized string objects. + + + + + Gets a string containing the same characters as the specified range of characters in the given array. + + The character array containing the name to find. + The zero-based index into the array specifying the first character of the name. + The number of characters in the name. + A string containing the same characters as the specified range of characters in the given array. + + + + Instructs the how to serialize the object. + + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + + + + Gets or sets how the object's properties with null values are handled during serialization and deserialization. + + How the object's properties with null values are handled during serialization and deserialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Instructs the to always serialize the member with the specified name. + + + + + Gets or sets the type used when serializing the property's collection items. + + The collection's items type. + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(ItemConverterType = typeof(MyContainerConverter), ItemConverterParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the of the . + + The of the . + + + + The parameter list to use when constructing the described by . + If null, the default constructor is used. + When non-null, there must be a constructor defined in the that exactly matches the number, + order, and type of these parameters. + + + + [JsonProperty(NamingStrategyType = typeof(MyNamingStrategy), NamingStrategyParameters = new object[] { 123, "Four" })] + + + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Specifies the state of the reader. + + + + + A read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader is in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the source should be closed when this reader is closed. + + + true to close the source when this reader is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether multiple pieces of JSON content can + be read from a continuous stream without erroring. + + + true to support reading multiple pieces of JSON content; otherwise false. + The default is false. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Gets or sets how time zones are handled when reading JSON. + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets how custom date formatted strings are parsed when reading JSON. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets the .NET type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Reads the next JSON token from the source. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the source as a of . + + A of . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the current token and value. + + The new token. + The value. + A flag indicating whether the position index inside an array should be updated. + + + + Sets the state based on current token type. + + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the reader's state to . + If is set to true, the source is also closed. + + + + + The exception thrown when an error occurs while reading JSON text. + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Initializes a new instance of the class + with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The line number indicating where the error occurred. + The line position indicating where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Instructs the to always serialize the member, and to require that the member has a value. + + + + + The exception thrown when an error occurs during JSON serialization or deserialization. + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Initializes a new instance of the class + with a specified error message, JSON path, line number, line position, and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The line number indicating where the error occurred. + The line position indicating where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + The default value is . + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + The default value is . + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + The default value is . + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + The default value is . + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + The default value is . + + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + The default value is . + + + + + Gets or sets how null values are handled during serialization and deserialization. + The default value is . + + + + + Gets or sets how default values are handled during serialization and deserialization. + The default value is . + + + + + Gets or sets how objects are created during deserialization. + The default value is . + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + The default value is . + + The constructor handling. + + + + Gets or sets how metadata properties are used during deserialization. + The default value is . + + The metadata properties handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + The default value is . + + + + + Gets or sets how dates are written to JSON text. + The default value is . + + + + + Gets or sets how time zones are handled during serialization and deserialization. + The default value is . + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + The default value is . + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + The default value is . + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON text. + The default value is . + + + + + Gets or sets how strings are escaped when writing JSON text. + The default value is . + + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". + + + + + Gets or sets the culture used when reading JSON. + The default value is . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + A null value means there is no maximum. + The default value is null. + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + The default value is false. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance. + The will not use default settings + from . + + + A new instance. + The will not use default settings + from . + + + + + Creates a new instance using the specified . + The will not use default settings + from . + + The settings to be applied to the . + + A new instance using the specified . + The will not use default settings + from . + + + + + Creates a new instance. + The will use default settings + from . + + + A new instance. + The will use default settings + from . + + + + + Creates a new instance using the specified . + The will use default settings + from as well as the specified . + + The settings to be applied to the . + + A new instance using the specified . + The will use default settings + from as well as the specified . + + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to read values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to read values from. + The target object to populate values onto. + + + + Deserializes the JSON structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the JSON structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifying the type is optional. + + + + + Serializes the specified and writes the JSON structure + using the specified . + + The used to write the JSON structure. + The to serialize. + + + + Specifies the settings on a object. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) are handled. + The default value is . + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + The default value is . + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + The default value is . + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + The default value is . + + Null value handling. + + + + Gets or sets how default values are handled during serialization and deserialization. + The default value is . + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + The default value is . + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + The default value is . + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + The type name handling. + + + + Gets or sets how metadata properties are used during deserialization. + The default value is . + + The metadata properties handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + The default value is . + + The type name assembly format. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + The default value is . + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + The default value is . + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the equality comparer used by the serializer when comparing references. + + The equality comparer. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets a function that creates the used by the serializer when resolving references. + + A function that creates the used by the serializer when resolving references. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Gets or sets how and values are formatted when writing JSON text, + and the expected date format when reading JSON text. + The default value is "yyyy'-'MM'-'dd'T'HH':'mm':'ss.FFFFFFFK". + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + A null value means there is no maximum. + The default value is null. + + + + + Indicates how JSON text output is formatted. + The default value is . + + + + + Gets or sets how dates are written to JSON text. + The default value is . + + + + + Gets or sets how time zones are handled during serialization and deserialization. + The default value is . + + + + + Gets or sets how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + The default value is . + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written as JSON. + The default value is . + + + + + Gets or sets how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + The default value is . + + + + + Gets or sets how strings are escaped when writing JSON text. + The default value is . + + + + + Gets or sets the culture used when reading JSON. + The default value is . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + The default value is false. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The containing the JSON data to read. + + + + Gets or sets the reader's property name table. + + + + + Gets or sets the reader's character buffer pool. + + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a []. + + A [] or null if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if and can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Gets or sets the writer's character array pool. + + + + + Gets or sets how many s to write for each level in the hierarchy when is set to . + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to . + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Initializes a new instance of the class using the specified . + + The to write to. + + + + Flushes whatever is in the buffer to the underlying and also flushes the underlying . + + + + + Closes this writer. + If is set to true, the underlying is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + Specifies the type of JSON token. + + + + + This is returned by the if a read method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + + Represents a reader that provides validation. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the .NET type for the current JSON token. + + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Changes the reader's state to . + If is set to true, the underlying is also closed. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a []. + + + A [] or null if the next JSON token is null. + + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . This method will return null at the end of an array. + + + + Reads the next JSON token from the underlying as a of . + + A of . + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Gets or sets a value indicating whether the destination should be closed when this writer is closed. + + + true to close the destination when this writer is closed; otherwise false. The default is true. + + + + + Gets or sets a value indicating whether the JSON should be auto-completed when this writer is closed. + + + true to auto-complete the JSON when this writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Gets or sets a value indicating how JSON text output should be formatted. + + + + + Gets or sets how dates are written to JSON text. + + + + + Gets or sets how time zones are handled when writing JSON text. + + + + + Gets or sets how strings are escaped when writing JSON text. + + + + + Gets or sets how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Gets or sets how and values are formatted when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the destination and also flushes the destination. + + + + + Closes this writer. + If is set to true, the destination is also closed. + If is set to true, the JSON is auto-completed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the end of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair of a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current JSON object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the token and its value. + + The to write. + + The value to write. + A value is only required for tokens that have an associated value, e.g. the property name for . + null can be passed to the method for tokens that don't have a value, e.g. . + + + + + Writes the token. + + The to write. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a of value. + + The of value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the given white space. + + The string of white space characters. + + + + Releases unmanaged and - optionally - managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Sets the state of the . + + The being written. + The value being written. + + + + The exception thrown when an error occurs while writing JSON text. + + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Initializes a new instance of the class + with a specified error message, JSON path and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The path to the JSON where the error occurred. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Specifies how JSON comments are handled when loading JSON. + + + + + Ignore comments. + + + + + Load comments as a with type . + + + + + Specifies how duplicate property names are handled when loading JSON. + + + + + Replace the existing value when there is a duplicate property. The value of the last property in the JSON object will be used. + + + + + Ignore the new value when there is a duplicate property. The value of the first property in the JSON object will be used. + + + + + Throw a when a duplicate property is encountered. + + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, the ancestors of every token in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every token in the source collection. + + + + Returns a collection of tokens that contains every token in the source collection, and the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains every token in the source collection, and the descendants of every token in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every token in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every token in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every token in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every token in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every token in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token. + + + + Gets the of with the specified key. + + + + + + Represents a JSON array. + + + + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads an from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + + + + + Returns an enumerator that iterates through the collection. + + + A of that can be used to iterate through the collection. + + + + + Adds an item to the . + + The object to add to the . + + + + Removes all items from the . + + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Copies the elements of the to an array, starting at a particular array index. + + The array. + Index of the array. + + + + Gets a value indicating whether the is read-only. + + true if the is read-only; otherwise, false. + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + + + + Represents a JSON constructor. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Represents a token that can contain other tokens. + + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An of containing the descendant tokens of the . + + + + Returns a collection of the tokens that contain this token, and all descendant tokens of this token, in document order. + + An of containing this token, and all the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates a that can be used to add tokens to the . + + A that is ready to have content written to it. + + + + Replaces the child nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Merge the specified content into this . + + The content to be merged. + + + + Merge the specified content into this using . + + The content to be merged. + The used to merge the content. + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens. + + + + Represents a collection of objects. + + The type of token. + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Gets the of with the specified key. + + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Represents a JSON object. + + + + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Occurs when a property value is changing. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets the node type for this . + + The type. + + + + Gets an of of this object's properties. + + An of of this object's properties. + + + + Gets a with the specified name. + + The property name. + A with the specified name or null. + + + + Gets the with the specified name. + The exact name will be searched for first and if no matching property is found then + the will be used to match a property. + + The property name. + One of the enumeration values that specifies how the strings will be compared. + A matched with the specified name or null. + + + + Gets a of of this object's property values. + + A of of this object's property values. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + is not valid JSON. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + is not valid JSON. + + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object. + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Determines whether the JSON object has the specified property name. + + Name of the property. + true if the JSON object has the specified property name; otherwise, false. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries to get the with the specified property name. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that can be used to iterate through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Represents a JSON property. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Gets the node type for this . + + The type. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads a from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Loads a from a . + + A that will be read for the content of the . + The used to load the JSON. + If this is null, default load settings will be used. + A that contains the JSON that was read from the specified . + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. + When the or + + methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Represents a raw JSON string. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Specifies the settings used when loading JSON. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how JSON comments are handled when loading JSON. + The default value is . + + The JSON comment handling. + + + + Gets or sets how JSON line info is handled when loading JSON. + The default value is . + + The JSON line info handling. + + + + Gets or sets how duplicate property names in JSON objects are handled when loading JSON. + The default value is . + + The JSON duplicate property name handling. + + + + Specifies the settings used when merging JSON. + + + + + Initializes a new instance of the class. + + + + + Gets or sets the method used when merging JSON arrays. + + The method used when merging JSON arrays. + + + + Gets or sets how null value properties are merged. + + How null value properties are merged. + + + + Gets or sets the comparison used to match property names while merging. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + The comparison used to match property names while merging. + + + + Represents an abstract JSON token. + + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of tokens that contain this token, and the ancestors of this token. + + A collection of tokens that contain this token, and the ancestors of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + ToString() returns a non-JSON string value for tokens with a type of . + If you want the JSON for all token types then you should use . + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output should be formatted. + A collection of s which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to []. + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to of . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from [] to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from of to . + + The value to create a from. + The initialized with the specified value. + + + + Creates a for this token. + + A that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object. + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates an instance of the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + An positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Load a from a string that contains JSON. + + A that contains JSON. + The used to load the JSON. + If this is null, default load settings will be used. + A populated from the string that contains JSON. + + + + Creates a from a . + + A positioned at the token to read into this . + The used to load the JSON. + If this is null, default load settings will be used. + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Creates a from a . + + A positioned at the token to read into this . + + A that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects a using a JSONPath expression. Selects the token that matches the object path. + + + A that contains a JSONPath expression. + + A , or null. + + + + Selects a using a JSONPath expression. Selects the token that matches the object path. + + + A that contains a JSONPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + A . + + + + Selects a collection of elements using a JSONPath expression. + + + A that contains a JSONPath expression. + + An of that contains the selected elements. + + + + Selects a collection of elements using a JSONPath expression. + + + A that contains a JSONPath expression. + + A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression. + An of that contains the selected elements. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Adds an object to the annotation list of this . + + The annotation to add. + + + + Get the first annotation object of the specified type from this . + + The type of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets the first annotation object of the specified type from this . + + The of the annotation to retrieve. + The first annotation object that matches the specified type, or null if no annotation is of the specified type. + + + + Gets a collection of annotations of the specified type for this . + + The type of the annotations to retrieve. + An that contains the annotations for this . + + + + Gets a collection of annotations of the specified type for this . + + The of the annotations to retrieve. + An of that contains the annotations that match the specified type for this . + + + + Removes the annotations of the specified type from this . + + The type of annotations to remove. + + + + Removes the annotations of the specified type from this . + + The of annotations to remove. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data. + + + + + Gets the at the reader's current position. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Initializes a new instance of the class. + + The token to read from. + The initial path of the token. It is prepended to the returned . + + + + Reads the next JSON token from the underlying . + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Gets the path of the current JSON token. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Gets the at the writer's current position. + + + + + Gets the token being written. + + The token being written. + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying . + + + + + Closes this writer. + If is set to true, the JSON is auto-completed. + + + Setting to true has no additional effect, since the underlying is a type that cannot be closed. + + + + + Writes the beginning of a JSON object. + + + + + Writes the beginning of a JSON array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes a value. + An error will be raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a [] value. + + The [] value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Gets a value indicating whether this token has child tokens. + + + true if this token has child values; otherwise, false. + + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Creates a null value. + + A null value. + + + + Creates a undefined value. + + A undefined value. + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Writes this token to a . + + A into which this method will write. + A collection of s which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + ToString() returns a non-JSON string value for tokens with a type of . + If you want the JSON for all token types then you should use . + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not of the same type as this instance. + + + + + Specifies how line information is handled when loading JSON. + + + + + Ignore line information. + + + + + Load line information. + + + + + Specifies how JSON arrays are merged together. + + + + Concatenate arrays. + + + Union arrays, skipping items that already exist. + + + Replace all array items. + + + Merge array items together, matched by index. + + + + Specifies how null value properties are merged. + + + + + The content's null value properties will be ignored during merging. + + + + + The content's null value properties will be merged. + + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies metadata property handling options for the . + + + + + Read metadata properties located at the start of a JSON object. + + + + + Read metadata properties located anywhere in a JSON object. Note that this setting will impact performance. + + + + + Do not try to read metadata properties. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement . + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + The property is not required but it cannot be a null value. + + + + + + Contains the JSON schema extension methods. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + + Determines whether the is valid. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + + + + + Validates the specified . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + The source to test. + The schema to test with. + The validation event handler. + + + + + An in-memory representation of a JSON Schema. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read-only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisible by. + + A number that the value should be divisible by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the minimum attribute (). + + A flag indicating whether the value can not equal the number defined by the minimum attribute (). + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the maximum attribute (). + + A flag indicating whether the value can not equal the number defined by the maximum attribute (). + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallowed types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains JSON Schema. + + A that contains JSON Schema. + A populated from the string that contains JSON Schema. + + + + Load a from a string that contains JSON Schema using the specified . + + A that contains JSON Schema. + The resolver. + A populated from the string that contains JSON Schema. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + + Returns detailed information about the schema exception. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or null if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + + Generates a from a specified . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + + Resolves from an id. + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + + The value types allowed by the . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + + Specifies undefined schema Id handling options for the . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + + Returns detailed information related to the . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + + Represents the callback method that will handle JSON schema validation events and the . + + + JSON Schema validation has been moved to its own package. See https://www.newtonsoft.com/jsonschema for more details. + + + + + + A camel case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Resolves member mappings for a type, camel casing property names. + + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Used by to resolve a for a given . + + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. + + + true if the interface will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. + + + true if the attribute will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore IsSpecified members when serializing and deserializing types. + + + true if the IsSpecified members will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore ShouldSerialize members when serializing and deserializing types. + + + true if the ShouldSerialize members will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets the naming strategy used to resolve how property names and dictionary keys are serialized. + + The naming strategy used to resolve how property names and dictionary keys are serialized. + + + + Initializes a new instance of the class. + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Resolved name of the property. + + + + Resolves the name of the extension data. By default no changes are made to extension data names. + + Name of the extension data. + Resolved name of the extension data. + + + + Resolves the key of the dictionary. By default is used to resolve dictionary keys. + + Key of the dictionary. + Resolved key of the dictionary. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + The default naming strategy. Property names and dictionary keys are unchanged. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + Initializes a new instance of the class. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Represents a trace writer that writes to the application's instances. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Get and set values for a using dynamic methods. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides information surrounding an error. + + + + + Gets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Get and set values for a using dynamic methods. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides methods to get attributes. + + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Used by to resolve a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that was resolved from the reference. + + + + Gets the reference for the specified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Allows users to control class loading and mandate what class to load. + + + + + When implemented, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When implemented, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Represents a trace writer. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the collection values. + + true if the creator has a parameter with the collection values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Sets extension data for an object during deserialization. + + The object to set extension data on. + The extension data key. + The extension data value. + + + + Gets extension data for an object during serialization. + + The object to set extension data on. + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets the internally resolved for the contract's type. + This converter is used as a fallback converter when no other converter is resolved. + Setting will always override this converter. + + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non-public. + + true if the default object creator is non-public; otherwise, false. + + + + Contract details for a used by the . + + + + + Gets or sets the dictionary key resolver. + + The dictionary key resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Gets or sets the function used to create the object. When set this function will override . + + The function used to create the object. + + + + Gets a value indicating whether the creator has a parameter with the dictionary values. + + true if the creator has a parameter with the dictionary values; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the object constructor. + + The object constructor. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets the missing member handling used when deserializing this object. + + The missing member handling. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets or sets how the object's properties with null values are handled during serialization and deserialization. + + How the object's properties with null values are handled during serialization and deserialization. + + + + Gets the object's properties. + + The object's properties. + + + + Gets a collection of instances that define the parameters used with . + + + + + Gets or sets the function used to create the object. When set this function will override . + This function is called with a collection of arguments which are defined by the collection. + + The function used to create the object. + + + + Gets or sets the extension data setter. + + + + + Gets or sets the extension data getter. + + + + + Gets or sets the extension data value type. + + + + + Gets or sets the extension data name resolver. + + The extension data name resolver. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization of a member. + + The numeric order of serialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the for this property. + + The for this property. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes precedence over the contract converter for the property type. + + The converter. + + + + Gets or sets the member converter. + + The member converter. + + + + Gets or sets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets or sets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets or sets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets or sets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets or sets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether has a value specified. + + + + + Gets or sets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets or sets the property null value handling. + + The null value handling. + + + + Gets or sets the property default value handling. + + The default value handling. + + + + Gets or sets the property reference loop handling. + + The reference loop handling. + + + + Gets or sets the property object creation handling. + + The object creation handling. + + + + Gets or sets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets a predicate used to determine whether the property should be deserialized. + + A predicate used to determine whether the property should be deserialized. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Lookup and create an instance of the type described by the argument. + + The type to create. + Optional arguments to pass to an initializing constructor of the JsonConverter. + If null, the default constructor is used. + + + + A kebab case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of will exclude messages and include , + and messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + A base class for resolving how property names and dictionary keys are serialized. + + + + + A flag indicating whether dictionary keys should be processed. + Defaults to false. + + + + + A flag indicating whether extension data names should be processed. + Defaults to false. + + + + + A flag indicating whether explicitly specified property names, + e.g. a property name customized with a , should be processed. + Defaults to false. + + + + + Gets the serialized name for a given property name. + + The initial property name. + A flag indicating whether the property has had a name explicitly specified. + The serialized property name. + + + + Gets the serialized name for a given extension data name. + + The initial extension data name. + The serialized extension data name. + + + + Gets the serialized key for a given dictionary key. + + The initial dictionary key. + The serialized dictionary key. + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Hash code calculation + + + + + + Object equality implementation + + + + + + + Compare to another NamingStrategy + + + + + + + Represents a method that constructs an object. + + The object type to create. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Provides methods to get attributes from a , , or . + + + + + Initializes a new instance of the class. + + The instance to get attributes for. This parameter should be a , , or . + + + + Returns a collection of all of the attributes, or an empty collection if there are no attributes. + + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Returns a collection of attributes, identified by type, or an empty collection if there are no attributes. + + The type of the attributes. + When true, look up the hierarchy chain for the inherited custom attribute. + A collection of s, or an empty collection. + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + A snake case naming strategy. + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + + + Initializes a new instance of the class. + + + A flag indicating whether dictionary keys should be processed. + + + A flag indicating whether explicitly specified property names should be processed, + e.g. a property name customized with a . + + + A flag indicating whether extension data names should be processed. + + + + + Initializes a new instance of the class. + + + + + Resolves the specified property name. + + The property name to resolve. + The resolved property name. + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method of the class is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the class is used to load the assembly. + + + + + Specifies type name handling options for the . + + + should be used with caution when your application deserializes JSON from an external source. + Incoming types should be validated with a custom + when deserializing with a value other than . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + Note that this doesn't include the root serialized object by default. To include the root object's type name in JSON + you must specify a root type object with + or . + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic . + + The list to add to. + The collection of elements to add. + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Helper class for serializing immutable collections. + Note that this is used by all builds, even those that don't support immutable collections, in case the DLL is GACed + https://github.com/JamesNK/Newtonsoft.Json/issues/652 + + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike this class lets you reuse its internal buffer. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls result in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + An array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + Specifies that an output will not be null even if the corresponding type allows it. + + + Specifies that when a method returns , the parameter will not be null even if the corresponding type allows it. + + + Initializes the attribute with the specified return value condition. + + The return value condition. If the method returns this value, the associated parameter will not be null. + + + + Gets the return value condition. + + + Specifies that an output may be null even if the corresponding type disallows it. + + + Specifies that null is allowed as an input even if the corresponding type disallows it. + + + + Specifies that the method will not return if the associated Boolean parameter is passed the specified value. + + + + + Initializes a new instance of the class. + + + The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to + the associated parameter matches this value. + + + + Gets the condition parameter value. + + + diff --git a/json.net/net40/README.md b/json.net/net40/README.md new file mode 100644 index 0000000..21c4c48 --- /dev/null +++ b/json.net/net40/README.md @@ -0,0 +1 @@ +forked from https://github.com/JamesNK/Newtonsoft.Json \ No newline at end of file diff --git a/qrcoder/net40/QRCoder.dll b/qrcoder/net40/QRCoder.dll new file mode 100644 index 0000000..ffe773e Binary files /dev/null and b/qrcoder/net40/QRCoder.dll differ diff --git a/ssh.net/net40/Renci.SshNet.xml b/ssh.net/net40/Renci.SshNet.xml new file mode 100644 index 0000000..244078a --- /dev/null +++ b/ssh.net/net40/Renci.SshNet.xml @@ -0,0 +1,19415 @@ + + + + Renci.SshNet + + + + + Generates a array of the specified length, and fills it with a + cryptographically strong random sequence of values. + + The length of the array generate. + + + + Fills an array of bytes with a cryptographically strong random sequence of values. + + The array to fill with cryptographically strong random bytes. + is null. + + The length of the byte array determines how many random bytes are produced. + + + + + Returns the Internet Protocol (IP) addresses for the specified host. + + The host name or IP address to resolve + + An array of type that holds the IP addresses for the host that + is specified by the parameter. + + is null. + An error is encountered when resolving . + + + + Returns an enumerable collection of file information that matches a search pattern. + + + The search string to match against the names of files. + + An enumerable collection of files that matches . + + is null. + is null. + The path represented by does not exist or is not valid. + + + + Returns a value indicating whether the specified can be used + to send data. + + The to check. + + true if can be written to; otherwise, false. + + + + + Reads a byte from the specified . + + The to read from. + Specifies the amount of time after which the call will time out. + + The byte read, or -1 if the socket was closed. + + The read operation timed out. + The read failed. + + + + Sends a byte using the specified . + + The to write to. + The value to send. + The write failed. + + + + Receives data from a bound into a receive buffer. + + + An array of type that is the storage location for the received data. + The position in parameter to store the received data. + The number of bytes to receive. + Specifies the amount of time after which the call will time out. + + The number of bytes received. + + + If no data is available for reading, the method will + block until data is available or the time-out value was exceeded. If the time-out value was exceeded, the + call will throw a . + If you are in non-blocking mode, and there is no data available in the in the protocol stack buffer, the + method will complete immediately and throw a . + + + + + Suspends the current thread for the specified number of milliseconds. + + The number of milliseconds for which the thread is suspended. + + + + Executes the specified action in a separate thread. + + The action to execute. + + + + Base class for all supported authentication methods + + + + + Gets the name of the authentication method. + + + The name of the authentication method. + + + + + Gets connection username. + + + + + Gets list of allowed authentications. + + + + + Initializes a new instance of the class. + + The username. + is whitespace or null. + + + + Authenticates the specified session. + + The session to authenticate. + + The result of the authentication process. + + + + + Authenticates the specified session. + + The session to authenticate. + + The result of the authentication process. + + + + + Represents possible authentication methods results + + + + + Authentication was successful. + + + + + Authentication completed with partial success. + + + + + Authentication failed. + + + + + Serves as base class for client implementations, provides common client functionality. + + + + + Holds value indicating whether the connection info is owned by this client. + + + + + Gets the current session. + + + The current session. + + + + + Gets the factory for creating new services. + + + The factory for creating new services. + + + + + Gets the connection info. + + + The connection info. + + The method was called after the client was disposed. + + + + Gets a value indicating whether this client is connected to the server. + + + true if this client is connected; otherwise, false. + + The method was called after the client was disposed. + + + + Gets or sets the keep-alive interval. + + + The keep-alive interval. Specify negative one (-1) milliseconds to disable the + keep-alive. This is the default value. + + The method was called after the client was disposed. + + + + Occurs when an error occurred. + + + + + + + + Occurs when host key received. + + + + + + + + Initializes a new instance of the class. + + The connection info. + Specified whether this instance owns the connection info. + is null. + + If is true, then the + connection info will be disposed when this instance is disposed. + + + + + Initializes a new instance of the class. + + The connection info. + Specified whether this instance owns the connection info. + The factory to use for creating new services. + is null. + is null. + + If is true, then the + connection info will be disposed when this instance is disposed. + + + + + Connects client to the server. + + The client is already connected. + The method was called after the client was disposed. + Socket connection to the SSH server or proxy server could not be established, or an error occurred while resolving the hostname. + SSH session could not be established. + Authentication of SSH session failed. + Failed to establish proxy connection. + + + + Disconnects client from the server. + + The method was called after the client was disposed. + + + + Sends a keep-alive message to the server. + + + Use to configure the client to send a keep-alive at regular + intervals. + + The method was called after the client was disposed. + + + + Called when client is connecting to the server. + + + + + Called when client is connected to the server. + + + + + Called when client is disconnecting from the server. + + + + + Called when client is disconnected from the server. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Check if the current instance is disposed. + + THe current instance is disposed. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Stops the keep-alive timer, and waits until all timer callbacks have been + executed. + + + + + Starts the keep-alive timer. + + + When is negative one (-1) milliseconds, then + the timer will not be started. + + + + + Represents SSH channel. + + + + + Occurs when is received. + + + + + Occurs when an exception is thrown when processing channel messages. + + + + + Occurs when is received. + + + + + Occurs when is received. + + + + + Occurs when is received. + + + + + Gets the local channel number. + + + The local channel number. + + + + + Gets the maximum size of a data packet that we can receive using the channel. + + + The maximum size of a packet. + + + + This is the maximum size (in bytes) we support for the data (payload) of a + SSH_MSG_CHANNEL_DATA message we receive. + + + We currently do not enforce this limit. + + + + + + Gets the maximum size of a data packet that can be sent using the channel. + + + The maximum size of data that can be sent using a + on the current channel. + + The channel has not been opened, or the open has not yet been confirmed. + + + + Gets a value indicating whether this channel is open. + + + true if this channel is open; otherwise, false. + + + + + Sends a SSH_MSG_CHANNEL_DATA message with the specified payload. + + The payload to send. + + + + Sends a SSH_MSG_CHANNEL_DATA message with the specified payload. + + An array of containing the payload to send. + The zero-based offset in at which to begin taking data from. + The number of bytes of to send. + + + When the size of the data to send exceeds the maximum packet size or the remote window + size does not allow the full data to be sent, then this method will send the data in + multiple chunks and will wait for the remote window size to be adjusted when it's zero. + + + This is done to support SSH servers will a small window size that do not agressively + increase their window size. We need to take into account that there may be SSH servers + that only increase their window size when it has reached zero. + + + + + + Sends a SSH_MSG_CHANNEL_EOF message to the remote server. + + The channel is closed. + + + + A "direct-tcpip" SSH channel. + + + + + Occurs when an exception is thrown while processing channel messages. + + + + + Gets a value indicating whether this channel is open. + + + true if this channel is open; otherwise, false. + + + + + Gets the local channel number. + + + The local channel number. + + + + + Opens a channel for a locally forwarded TCP/IP port. + + The name of the remote host to forward to. + The port of the remote hosts to forward to. + The forwarded port for which the channel is opened. + The socket to receive requests from, and send responses from the remote host to. + + + + Binds the channel to the remote host. + + + + + A "forwarded-tcpip" SSH channel. + + + + + Occurs when an exception is thrown while processing channel messages. + + + + + Binds the channel to the specified endpoint. + + The endpoint to connect to. + The forwarded port for which the channel is opened. + + + + Session SSH channel. + + + + + Opens the channel. + + + + + Sends the pseudo terminal request. + + The environment variable. + The columns. + The rows. + The width. + The height. + The terminal mode values. + + true if request was successful; otherwise false. + + + + + Sends the X11 forwarding request. + + if set to true the it is single connection. + The protocol. + The cookie. + The screen number. + + true if request was successful; otherwise false. + + + + + Sends the environment variable request. + + Name of the variable. + The variable value. + + true if request was successful; otherwise false. + + + + + Sends the shell request. + + + true if request was successful; otherwise false. + + + + + Sends the exec request. + + The command. + + true if request was successful; otherwise false. + + + + + Sends the exec request. + + Length of the break. + + true if request was successful; otherwise false. + + + + + Sends the subsystem request. + + The subsystem. + + true if request was successful; otherwise false. + + + + + Sends the window change request. + + The columns. + The rows. + The width. + The height. + + true if request was successful; otherwise false. + + + + + Sends the local flow request. + + if set to true [client can do]. + + true if request was successful; otherwise false. + + + + + Sends the signal request. + + Name of the signal. + + true if request was successful; otherwise false. + + + + + Sends the exit status request. + + The exit status. + + true if request was successful; otherwise false. + + + + + Sends the exit signal request. + + Name of the signal. + if set to true [core dumped]. + The error message. + The language. + + true if request was successful; otherwise false. + + + + + Sends eow@openssh.com request. + + + true if request was successful; otherwise false. + + + + + Sends keepalive@openssh.com request. + + + true if request was successful; otherwise false. + + + + + Represents base class for SSH channel implementations. + + + + + Holds a value indicating whether the SSH_MSG_CHANNEL_CLOSE has been sent to the remote party. + + + true when a SSH_MSG_CHANNEL_CLOSE message has been sent to the other party; + otherwise, false. + + + + + Holds a value indicating whether a SSH_MSG_CHANNEL_CLOSE has been received from the other + party. + + + true when a SSH_MSG_CHANNEL_CLOSE message has been received from the other party; + otherwise, false. + + + + + Holds a value indicating whether the SSH_MSG_CHANNEL_EOF has been received from the other party. + + + true when a SSH_MSG_CHANNEL_EOF message has been received from the other party; + otherwise, false. + + + + + Holds a value indicating whether the SSH_MSG_CHANNEL_EOF has been sent to the remote party. + + + true when a SSH_MSG_CHANNEL_EOF message has been sent to the remote party; + otherwise, false. + + + + + Occurs when an exception is thrown when processing channel messages. + + + + + Initializes a new instance. + + The session. + The local channel number. + Size of the window. + Size of the packet. + + + + Gets the session. + + + Thhe session. + + + + + Gets the type of the channel. + + + The type of the channel. + + + + + Gets the local channel number. + + + The local channel number. + + + + + Gets the maximum size of a data packet that we can receive using the channel. + + + The maximum size of a packet. + + + + This is the maximum size (in bytes) we support for the data (payload) of a + SSH_MSG_CHANNEL_DATA message we receive. + + + We currently do not enforce this limit. + + + + + + Gets the size of the local window. + + + The size of the local window. + + + + + Gets the remote channel number. + + + The remote channel number. + + + + + Gets the maximum size of a data packet that we can send using the channel. + + + The maximum size of data that can be sent using a + on the current channel. + + The channel has not been opened, or the open has not yet been confirmed. + + + + Gets the window size of the remote server. + + + The size of the server window. + + + + + Gets a value indicating whether this channel is open. + + + true if this channel is open; otherwise, false. + + + + + Occurs when is received. + + + + + Occurs when is received. + + + + + Occurs when is received. + + + + + Occurs when is received. + + + + + Occurs when is received. + + + + + Occurs when is received. + + + + + Occurs when is received. + + + + + Gets a value indicating whether the session is connected. + + + true if the session is connected; otherwise, false. + + + + + Gets the connection info. + + The connection info. + + + + Gets the session semaphore to control number of session channels. + + The session semaphore. + + + + Sends a SSH_MSG_CHANNEL_DATA message with the specified payload. + + The payload to send. + + + + Sends a SSH_MSG_CHANNEL_DATA message with the specified payload. + + An array of containing the payload to send. + The zero-based offset in at which to begin taking data from. + The number of bytes of to send. + + + When the size of the data to send exceeds the maximum packet size or the remote window + size does not allow the full data to be sent, then this method will send the data in + multiple chunks and will wait for the remote window size to be adjusted when it's zero. + + + This is done to support SSH servers will a small window size that do not agressively + increase their window size. We need to take into account that there may be SSH servers + that only increase their window size when it has reached zero. + + + + + + Called when channel window need to be adjust. + + The bytes to add. + + + + Called when channel data is received. + + The data. + + + + Called when channel extended data is received. + + The data. + The data type code. + + + + Called when channel has no more data to receive. + + + + + Called when channel is closed by the server. + + + + + Called when channel request received. + + Channel request information. + + + + Called when channel request was successful + + + + + Called when channel request failed. + + + + + Raises event. + + The exception. + + + + Sends a message to the server. + + The message to send. + + true if the message was sent to the server; otherwise, false. + + The size of the packet exceeds the maximum size defined by the protocol. + + This methods returns false when the attempt to send the message results in a + or a . + + + + + Sends SSH message to the server. + + The message. + + + + Sends a SSH_MSG_CHANNEL_EOF message to the remote server. + + The channel is closed. + + + + Waits for the handle to be signaled or for an error to occurs. + + The wait handle. + + + + Closes the channel, waiting for the SSH_MSG_CHANNEL_CLOSE message to be received from the server. + + + + + Called when an occurs while processing a channel message. + + The . + + This method will in turn invoke , and + raise the event. + + + + + Determines the length of data that currently can be sent in a single message. + + The length of the message that must be sent. + + The actual data length that currently can be sent. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Implements "direct-tcpip" SSH channel. + + + + + Initializes a new instance. + + The session. + The local channel number. + Size of the window. + Size of the packet. + + + + Gets the type of the channel. + + + The type of the channel. + + + + + Occurs as the forwarded port is being stopped. + + + + + Binds channel to remote host. + + + + + Closes the socket, hereby interrupting the blocking receive in . + + + + + Shuts down the socket. + + One of the values that specifies the operation that will no longer be allowed. + + + + Closes the channel, waiting for the SSH_MSG_CHANNEL_CLOSE message to be received from the server. + + + + + Called when channel data is received. + + The data. + + + + Called when channel is opened by the server. + + The remote channel number. + Initial size of the window. + Maximum size of the packet. + + + + Called when channel has no more data to receive. + + + + + Called whenever an unhandled occurs in causing + the message loop to be interrupted, or when an exception occurred processing a channel message. + + + + + Called when the server wants to terminate the connection immmediately. + + + The sender MUST NOT send or receive any data after this message, and + the recipient MUST NOT accept any data after receiving this message. + + + + + Implements "forwarded-tcpip" SSH channel. + + + + + Initializes a new instance. + + The session. + The local channel number. + Size of the window. + Size of the packet. + The remote channel number. + The window size of the remote party. + The maximum size of a data packet that we can send to the remote party. + + + + Gets the type of the channel. + + + The type of the channel. + + + + + Binds the channel to the specified endpoint. + + The endpoint to connect to. + The forwarded port for which the channel is opened. + + + + Occurs as the forwarded port is being stopped. + + + + + Shuts down the socket. + + One of the values that specifies the operation that will no longer be allowed. + + + + Closes the socket, hereby interrupting the blocking receive in . + + + + + Closes the channel waiting for the SSH_MSG_CHANNEL_CLOSE message to be received from the server. + + + + + Called when channel data is received. + + The data. + + + + Implements Session SSH channel. + + + + + Counts failed channel open attempts + + + + + Holds a value indicating whether the session semaphore has been obtained by the current + channel. + + + 0 when the session semaphore has not been obtained or has already been released, + and 1 when the session has been obtained and still needs to be released. + + + + + Wait handle to signal when response was received to open the channel + + + + + Initializes a new instance. + + The session. + The local channel number. + Size of the window. + Size of the packet. + + + + Gets the type of the channel. + + + The type of the channel. + + + + + Opens the channel. + + + + + Called when channel is opened by the server. + + The remote channel number. + Initial size of the window. + Maximum size of the packet. + + + + Called when channel failed to open. + + The reason code. + The description. + The language. + + + + Sends the pseudo terminal request. + + The environment variable. + The columns. + The rows. + The width. + The height. + The terminal mode values. + + true if request was successful; otherwise false. + + + + + Sends the X11 forwarding request. + + if set to true the it is single connection. + The protocol. + The cookie. + The screen number. + + true if request was successful; otherwise false. + + + + + Sends the environment variable request. + + Name of the variable. + The variable value. + + true if request was successful; otherwise false. + + + + + Sends the shell request. + + + true if request was successful; otherwise false. + + + + + Sends the exec request. + + The command. + + true if request was successful; otherwise false. + + + + + Sends the exec request. + + Length of the break. + + true if request was successful; otherwise false. + + + + + Sends the subsystem request. + + The subsystem. + + true if request was successful; otherwise false. + + + + + Sends the window change request. + + The columns. + The rows. + The width. + The height. + + true if request was successful; otherwise false. + + + + + Sends the local flow request. + + if set to true [client can do]. + + true if request was successful; otherwise false. + + + + + Sends the signal request. + + Name of the signal. + + true if request was successful; otherwise false. + + + + + Sends the exit status request. + + The exit status. + + true if request was successful; otherwise false. + + + + + Sends the exit signal request. + + Name of the signal. + if set to true [core dumped]. + The error message. + The language. + + true if request was successful; otherwise false. + + + + + Sends eow@openssh.com request. + + + true if request was successful; otherwise false. + + + + + Sends keepalive@openssh.com request. + + + true if request was successful; otherwise false. + + + + + Called when channel request was successful + + + + + Called when channel request failed. + + + + + Sends the channel open message. + + The client is not connected. + The operation timed out. + The size of the packet exceeds the maximum size defined by the protocol. + + + When a session semaphore for this instance has not yet been obtained by this or any other thread, + the thread will block until such a semaphore is available and send a + to the remote host. + + + Note that the session semaphore is released in any of the following cases: + + + A is received for the channel being opened. + + + The remote host does not respond to the within the configured . + + + The remote host closes the channel. + + + The is disposed. + + + A socket error occurs sending a message to the remote host. + + + + + If the session semaphore was already obtained for this instance (and not released), then this method + immediately returns control to the caller. This should only happen when another thread has obtain the + session semaphore and already sent the , but the remote host did not + confirmed or rejected attempt to open the channel. + + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases the session semaphore. + + + When the session semaphore has already been released, or was never obtained by + this instance, then this method does nothing. + + + + + Lists channel types as defined by the protocol. + + + + + session + + + + + x11 + + + + + forwarded-tcpip + + + + + direct-tcpip + + + + + Initializes a new instance. + + The session. + The local channel number. + Size of the window. + Size of the packet. + + + + Occurs when is received. + + + + + Occurs when is received. + + + + + Called when channel is opened by the server. + + The remote channel number. + Initial size of the window. + Maximum size of the packet. + + + + Send message to open a channel. + + Message to send + The client is not connected. + The operation timed out. + The size of the packet exceeds the maximum size defined by the protocol. + + + + Called when channel failed to open. + + The reason code. + The description. + The language. + + + + Unsubscribes the current from session events. + + The session. + + Does nothing when is null. + + + + + Initializes a new instance. + + The session. + The local channel number. + Size of the window. + Size of the packet. + The remote channel number. + The window size of the remote party. + The maximum size of a data packet that we can send to the remote party. + + + + Provides additional information for asynchronous command execution + + + + + Initializes a new instance of the class. + + + + + Gets or sets the bytes received. If SFTP only file bytes are counted. + + Total bytes received. + + + + Gets or sets the bytes sent by SFTP. + + Total bytes sent. + + + + Gets a user-defined object that qualifies or contains information about an asynchronous operation. + + A user-defined object that qualifies or contains information about an asynchronous operation. + + + + Gets a that is used to wait for an asynchronous operation to complete. + + A that is used to wait for an asynchronous operation to complete. + + + + Gets a value that indicates whether the asynchronous operation completed synchronously. + + true if the asynchronous operation completed synchronously; otherwise, false. + + + + Gets a value that indicates whether the asynchronous operation has completed. + + true if the operation is complete; otherwise, false. + + + + Gets a value indicating whether was already called for this + . + + + true if was already called for this ; + otherwise, false. + + + + + Holds information about key size and cipher to use + + + + + Gets the size of the key. + + + The size of the key. + + + + + Gets the cipher. + + + + + Initializes a new instance of the class. + + Size of the key. + The cipher. + + + + Base class to encapsulates the results of an asynchronous operation. + + + + + Gets or sets a value indicating whether has been called on the current + . + + + true if has been called on the current ; + otherwise, false. + + + + + Initializes a new instance of the class. + + The async callback. + The state. + + + + Marks asynchronous operation as completed. + + The exception. + if set to true [completed synchronously]. + + + + Waits until the asynchronous operation completes, and then returns. + + + + + Gets a user-defined object that qualifies or contains information about an asynchronous operation. + + A user-defined object that qualifies or contains information about an asynchronous operation. + + + + Gets a value that indicates whether the asynchronous operation completed synchronously. + + true if the asynchronous operation completed synchronously; otherwise, false. + + + + Gets a that is used to wait for an asynchronous operation to complete. + + A that is used to wait for an asynchronous operation to complete. + + + + Gets a value that indicates whether the asynchronous operation has completed. + + + true if the operation is complete; otherwise, false. + + + + Base class to encapsulates the results of an asynchronous operation that returns result. + + The type of the result. + + + + Initializes a new instance of the class. + + The async callback. + The state. + + + + Marks asynchronous operation as completed. + + The result. + if set to true [completed synchronously]. + + + + Waits until the asynchronous operation completes, and then returns the value generated by the asynchronous operation. + + + The invocation result. + + + + + Provides data for event. + + + + + Gets banner message. + + + + + Gets banner language. + + + + + Initializes a new instance of the class. + + The username. + Banner message. + Banner language. + + + + Base class for authentication events. + + + + + Gets the username. + + + + + Initializes a new instance of the class. + + The username. + + + + Provides data for event. + + + + + Gets or sets the new password. + + + The new password. + + + + + Initializes a new instance of the class. + + The username. + + + + Provides prompt information when is raised + + + + + Gets the prompt sequence id. + + + + + Gets or sets a value indicating whether the user input should be echoed as characters are typed. + + + true if the user input should be echoed as characters are typed; otherwise, false. + + + + + Gets server information request. + + + + + Gets or sets server information response. + + + The response. + + + + + Initializes a new instance of the class. + + The sequence id. + if set to true the user input should be echoed. + The request. + + + + Provides data for event. + + + + + Gets prompt language. + + + + + Gets prompt instruction. + + + + + Gets server information request prompts. + + + + + Initializes a new instance of the class. + + The username. + The instruction. + The language. + The information request prompts. + + + + Represents an arbitrarily large signed integer. + + + + + Gets number of bits used by the number. + + + The number of the bit used. + + + + + Mods the inverse. + + The bi. + The modulus. + + Modulus inverted number. + + + + + Returns positive remainder that results from division with two specified values. + + The value to be divided. + The value to divide by. + + Positive remainder that results from the division. + + + + + Generates a new, random of the specified length. + + The number of bits for the new number. + A random number of the specified length. + + + + Initializes a new instance of the structure using a 32-bit signed integer value. + + A 32-bit signed integer. + + + + Initializes a new instance of the structure using an unsigned 32-bit integer value. + + An unsigned 32-bit integer value. + + + + Initializes a new instance of the structure using a 64-bit signed integer value. + + A 64-bit signed integer. + + + + Initializes a new instance of the structure with an unsigned 64-bit integer value. + + An unsigned 64-bit integer. + + + + Initializes a new instance of the structure using a double-precision floating-point value. + + A double-precision floating-point value. + + + + Initializes a new instance of the structure using a single-precision floating-point value. + + A single-precision floating-point value. + + + + Initializes a new instance of the structure using a value. + + A decimal number. + + + + Initializes a new instance of the structure using the values in a byte array. + + An array of values in little-endian order. + is null. + + + + Indicates whether the value of the current object is an even number. + + + true if the value of the BigInteger object is an even number; otherwise, false. + + + + + Indicates whether the value of the current object is . + + + true if the value of the object is ; + otherwise, false. + + + + + Indicates whether the value of the current object is a power of two. + + + true if the value of the object is a power of two; + otherwise, false. + + + + + Indicates whether the value of the current object is . + + + true if the value of the object is ; + otherwise, false. + + + + + Gets a number that indicates the sign (negative, positive, or zero) of the current object. + + + A number that indicates the sign of the object. + + + + + Gets a value that represents the number negative one (-1). + + + An integer whose value is negative one (-1). + + + + + Gets a value that represents the number one (1). + + + An object whose value is one (1). + + + + + Gets a value that represents the number 0 (zero). + + + An integer whose value is 0 (zero). + + + + + Defines an explicit conversion of a object to a 32-bit signed integer value. + + The value to convert to a 32-bit signed integer. + + An object that contains the value of the parameter. + + + + + Defines an explicit conversion of a object to an unsigned 32-bit integer value. + + The value to convert to an unsigned 32-bit integer. + + An object that contains the value of the parameter. + + + + + Defines an explicit conversion of a object to a 16-bit signed integer value. + + The value to convert to a 16-bit signed integer. + + An object that contains the value of the parameter. + + + + + + + + + An object that contains the value of the parameter. + + + + + Defines an explicit conversion of a object to an unsigned byte value. + + The value to convert to a . + + An object that contains the value of the parameter. + + + + + Defines an explicit conversion of a object to a signed 8-bit value. + + The value to convert to a signed 8-bit value. + + An object that contains the value of the parameter. + + + + + Defines an explicit conversion of a object to a 64-bit signed integer value. + + The value to convert to a 64-bit signed integer. + + An object that contains the value of the parameter. + + + + + Defines an explicit conversion of a object to an unsigned 64-bit integer value. + + The value to convert to an unsigned 64-bit integer. + + An object that contains the value of the parameter. + + + + + Defines an explicit conversion of a object to a value. + + The value to convert to a . + + An object that contains the value of the parameter. + + + + + Defines an explicit conversion of a object to a single-precision floating-point value. + + The value to convert to a single-precision floating-point value. + + An object that contains the value of the parameter. + + + + + Defines an explicit conversion of a object to a value. + + The value to convert to a . + + An object that contains the value of the parameter. + + + + + Defines an implicit conversion of a signed 32-bit integer to a value. + + The value to convert to a . + + An object that contains the value of the parameter. + + + + + Defines an implicit conversion of a 32-bit unsigned integer to a value. + + The value to convert to a . + + An object that contains the value of the parameter. + + + + + Defines an implicit conversion of a signed 16-bit integer to a BigInteger value. + + The value to convert to a . + + An object that contains the value of the parameter. + + + + + Defines an implicit conversion of a 16-bit unsigned integer to a value. + + The value to convert to a . + + An object that contains the value of the parameter. + + + + + Defines an implicit conversion of an unsigned byte to a value. + + The value to convert to a . + + An object that contains the value of the parameter. + + + + + + + The value to convert to a . + + An object that contains the value of the parameter. + + + + + Defines an implicit conversion of a signed 64-bit integer to a value. + + The value to convert to a . + + An object that contains the value of the parameter. + + + + + Defines an implicit conversion of a 64-bit unsigned integer to a value. + + The value to convert to a . + + An object that contains the value of the parameter. + + + + + Defines an explicit conversion of a value to a value. + + The value to convert to a . + + An object that contains the value of the parameter. + + + + + Defines an explicit conversion of a object to a value. + + The value to convert to a . + + An object that contains the value of the parameter. + + + + + Defines an explicit conversion of a object to a value. + + The value to convert to a . + + An object that contains the value of the parameter. + + + + + Adds the values of two specified objects. + + The first value to add. + The second value to add. + + The sum of and . + + + + + Subtracts a value from another value. + + The value to subtract from (the minuend). + The value to subtract (the subtrahend). + + The result of subtracting from . + + + + + Multiplies two specified values. + + The first value to multiply. + The second value to multiply. + + The product of left and right. + + + + + Divides a specified value by another specified value by using + integer division. + + The value to be divided. + The value to divide by. + + The integral result of the division. + + + + + Returns the remainder that results from division with two specified values. + + The value to be divided. + The value to divide by. + + The remainder that results from the division. + + + + + Negates a specified value. + + The value to negate. + + The result of the parameter multiplied by negative one (-1). + + + + + Returns the value of the operand. + + An integer value. + + The value of the operand. + + + The sign of the operand is unchanged. + + + + + Increments a value by 1. + + The value to increment. + + The value of the parameter incremented by 1. + + + + + Decrements a value by 1. + + The value to decrement. + + The value of the parameter decremented by 1. + + + + + Performs a bitwise And operation on two values. + + The first value. + The second value. + + The result of the bitwise And operation. + + + + + Performs a bitwise Or operation on two values. + + The first value. + The second value. + + The result of the bitwise Or operation. + + + + + Performs a bitwise exclusive Or (XOr) operation on two values. + + The first value. + The second value. + + The result of the bitwise Or operation. + + + + + Returns the bitwise one's complement of a value. + + An integer value. + + The bitwise one's complement of . + + + + + Shifts a value a specified number of bits to the left. + + The value whose bits are to be shifted. + The number of bits to shift value to the left. + + A value that has been shifted to the left by the specified number of bits. + + + + + Shifts a value a specified number of bits to the right. + + The value whose bits are to be shifted. + The number of bits to shift value to the right. + + A value that has been shifted to the right by the specified number of bits. + + + + + Returns a value that indicates whether a value is less than another + value. + + The first value to compare. + The second value to compare. + + true if is less than ; otherwise, false. + + + + + Returns a value that indicates whether a value is less than a 64-bit signed integer. + + The first value to compare. + The second value to compare. + + true if left is than ; otherwise, false. + + + + + Returns a value that indicates whether a 64-bit signed integer is less than a value. + + The first value to compare. + The second value to compare. + + true if is less than ; + otherwise, false. + + + + + Returns a value that indicates whether a 64-bit signed integer is less than a value. + + The first value to compare. + The second value to compare. + + true if is less than ; otherwise, false. + + + + + Returns a value that indicates whether a 64-bit unsigned integer is less than a value. + + The first value to compare. + The second value to compare. + + true if is less than ; otherwise, false. + + + + + Returns a value that indicates whether a value is less than or equal + to another value. + + The first value to compare. + The second value to compare. + + true if is less than or equal to ; + otherwise, false. + + + + + Returns a value that indicates whether a value is less than or equal + to a 64-bit signed integer. + + The first value to compare. + The second value to compare. + + true if is less than or equal to ; + otherwise, false. + + + + + Returns a value that indicates whether a 64-bit signed integer is less than or equal to a value. + + The first value to compare. + The second value to compare. + + true if is less than or equal to ; + otherwise, false. + + + + + Returns a value that indicates whether a value is less than or equal to + a 64-bit unsigned integer. + + The first value to compare. + The second value to compare. + + true if is less than or equal to ; + otherwise, false. + + + + + Returns a value that indicates whether a 64-bit unsigned integer is less than or equal to a + value. + + The first value to compare. + The second value to compare. + + true if is less than or equal to ; + otherwise, false. + + + + + Returns a value that indicates whether a value is greater than another + value. + + The first value to compare. + The second value to compare. + + true if is greater than ; + otherwise, false. + + + + + Returns a value that indicates whether a is greater than a 64-bit signed integer value. + + The first value to compare. + The second value to compare. + + true if is greater than ; + otherwise, false. + + + + + Returns a value that indicates whether a 64-bit signed integer is greater than a value. + + The first value to compare. + The second value to compare. + + true if is greater than ; + otherwise, false. + + + + + Returns a value that indicates whether a value is greater than a 64-bit unsigned integer. + + The first value to compare. + The second value to compare. + + true if is greater than ; + otherwise, false. + + + + + Returns a value that indicates whether a 64-bit unsigned integer is greater than a value. + + The first value to compare. + The second value to compare. + + true if is greater than ; + otherwise, false. + + + + + Returns a value that indicates whether a value is greater than or equal + to another value. + + The first value to compare. + The second value to compare. + + true if is greater than ; + otherwise, false. + + + + + Returns a value that indicates whether a value is greater than or equal + to a 64-bit signed integer value. + + The first value to compare. + The second value to compare. + + true if is greater than ; + otherwise, false. + + + + + Returns a value that indicates whether a 64-bit signed integer is greater than or equal to a + value. + + The first value to compare. + The second value to compare. + + true if is greater than ; + otherwise, false. + + + + + Returns a value that indicates whether a value is greater than or equal to a + 64-bit unsigned integer value. + + The first value to compare. + The second value to compare. + + true if is greater than ; + otherwise, false. + + + + + Returns a value that indicates whether a 64-bit unsigned integer is greater than or equal to a + value. + + The first value to compare. + The second value to compare. + + true if is greater than ; + otherwise, false. + + + + + Returns a value that indicates whether the values of two objects are equal. + + The first value to compare. + The second value to compare. + + true if the and parameters have the same value; + otherwise, false. + + + + + Returns a value that indicates whether a value and a signed long integer value are equal. + + The first value to compare. + The second value to compare. + + true if the and parameters have the same value; + otherwise, false. + + + + + Returns a value that indicates whether a signed long integer value and a value are equal. + + The first value to compare. + The second value to compare. + + true if the and parameters have the same value; + otherwise, false. + + + + + Returns a value that indicates whether a value and an unsigned long integer value are equal. + + The first value to compare. + The second value to compare. + + true if the and parameters have the same value; + otherwise, false. + + + + + Returns a value that indicates whether an unsigned long integer value and a value are equal. + + The first value to compare. + The second value to compare. + + true if the and parameters have the same value; + otherwise, false. + + + + + Returns a value that indicates whether two objects have different values. + + The first value to compare. + The second value to compare. + + true if and are not equal; + otherwise, false. + + + + + Returns a value that indicates whether a value and a 64-bit signed integer are not equal. + + The first value to compare. + The second value to compare. + + true if and are not equal; + otherwise, false. + + + + + Returns a value that indicates whether a 64-bit signed integer and a value are not equal. + + The first value to compare. + The second value to compare. + + true if and are not equal; + otherwise, false. + + + + + Returns a value that indicates whether a value and a 64-bit unsigned integer are not equal. + + The first value to compare. + The second value to compare. + + true if and are not equal; + otherwise, false. + + + + + Returns a value that indicates whether a 64-bit unsigned integer and a value are not equal. + + The first value to compare. + The second value to compare. + + true if and are not equal; + otherwise, false. + + + + + Returns a value that indicates whether the current instance and a specified object have the same value. + + The object to compare. + + true if the parameter is a object or a type capable + of implicit conversion to a value, and its value is equal to the value of the + current object; otherwise, false. + + + + + Returns a value that indicates whether the current instance and a specified object + have the same value. + + The object to compare. + + true if this object and have the same value; + otherwise, false. + + + + + Returns a value that indicates whether the current instance and a signed 64-bit integer have the same value. + + The signed 64-bit integer value to compare. + + true if the signed 64-bit integer and the current instance have the same value; otherwise, false. + + + + + Converts the numeric value of the current object to its equivalent string representation. + + + The string representation of the current value. + + + + + Converts the numeric value of the current object to its equivalent string representation + by using the specified format. + + A standard or custom numeric format string. + + The string representation of the current value in the format specified by the + parameter. + + is not a valid format string. + + + + Converts the numeric value of the current object to its equivalent string representation + by using the specified culture-specific formatting information. + + An object that supplies culture-specific formatting information. + + The string representation of the current value in the format specified by the + parameter. + + + + + Converts the numeric value of the current object to its equivalent string representation + by using the specified format and culture-specific format information. + + A standard or custom numeric format string. + An object that supplies culture-specific formatting information. + + The string representation of the current value as specified by the + and parameters. + + + + + Converts the string representation of a number to its equivalent. + + A string that contains the number to convert. + + A value that is equivalent to the number specified in the parameter. + + is null. + is not in the correct format. + + + + Converts the string representation of a number in a specified style to its equivalent. + + A string that contains a number to convert. + A bitwise combination of the enumeration values that specify the permitted format of . + + A value that is equivalent to the number specified in the parameter. + + + is not a value. + -or- + includes the or flag along with another value. + + is null. + does not comply with the input pattern specified by . + + + + Converts the string representation of a number in a specified style to its equivalent. + + A string that contains a number to convert. + An object that provides culture-specific formatting information about . + + A value that is equivalent to the number specified in the parameter. + + is null. + is not in the correct format. + + + + Converts the string representation of a number in a specified style and culture-specific format to its equivalent. + + A string that contains a number to convert. + A bitwise combination of the enumeration values that specify the permitted format of . + An object that provides culture-specific formatting information about . + + A value that is equivalent to the number specified in the parameter. + + + is not a value. + -or- + includes the or flag along with another value. + + is null. + does not comply with the input pattern specified by . + + + + Tries to convert the string representation of a number to its equivalent, and + returns a value that indicates whether the conversion succeeded. + + The string representation of a number. + When this method returns, contains the equivalent to the number that is contained in value, or zero (0) if the conversion fails. The conversion fails if the parameter is null or is not of the correct format. This parameter is passed uninitialized. + + true if was converted successfully; otherwise, false. + + is null. + + + + Tries to convert the string representation of a number in a specified style and culture-specific format to its + equivalent, and returns a value that indicates whether the conversion succeeded. + + The string representation of a number. + A bitwise combination of enumeration values that indicates the style elements that can be present in . + An object that supplies culture-specific formatting information about . + When this method returns, contains the equivalent to the number that is contained in value, or if the conversion fails. The conversion fails if the parameter is null or is not of the correct format. This parameter is passed uninitialized. + + true if was converted successfully; otherwise, false. + + + is not a value. + -or- + includes the or flag along with another value. + + + + + Returns the smaller of two values. + + The first value to compare. + The second value to compare. + + The or parameter, whichever is smaller. + + + + + Returns the larger of two values. + + The first value to compare. + The second value to compare. + + The or parameter, whichever is larger. + + + + + Gets the absolute value of a object. + + A number. + + The absolute value of . + + + + + Divides one value by another, returns the result, and returns the remainder in + an output parameter. + + The value to be divided. + The value to divide by. + When this method returns, contains a value that represents the remainder from the division. This parameter is passed uninitialized. + + The quotient of the division. + + + + + Raises a value to the power of a specified value. + + The number to raise to the power. + The exponent to raise by. + + The result of raising to the power. + + + + + Performs modulus division on a number raised to the power of another number. + + The number to raise to the power. + The exponent to raise by. + The number by which to divide raised to the power. + + The remainder after dividing raised by by + . + + is negative. + + + + Finds the greatest common divisor of two values. + + The first value. + The second value. + + The greatest common divisor of and . + + + + + Returns the logarithm of a specified number in a specified base. + + A number whose logarithm is to be found. + The base of the logarithm. + + The base logarithm of value, + + The log of is out of range of the data type. + + + + Returns the natural (base e) logarithm of a specified number. + + The number whose logarithm is to be found. + + The natural (base e) logarithm of . + + The base 10 log of value is out of range of the data type. + + + + Returns the base 10 logarithm of a specified number. + + A number whose logarithm is to be found. + + The base 10 logarithm of . + + The base 10 log of value is out of range of the data type. + + + + Returns a value that indicates whether the current instance and an unsigned 64-bit integer have the same value. + + The unsigned 64-bit integer to compare. + + true if the current instance and the unsigned 64-bit integer have the same value; otherwise, false. + + + + + Returns the hash code for the current object. + + + A 32-bit signed integer hash code. + + + + + Adds two values and returns the result. + + The first value to add. + The second value to add. + + The sum of and . + + + + + Subtracts one value from another and returns the result. + + The value to subtract from (the minuend). + The value to subtract (the subtrahend). + + The result of subtracting from . + + + + + Returns the product of two values. + + The first number to multiply. + The second number to multiply. + + The product of the and parameters. + + + + + Divides one value by another and returns the result. + + The value to be divided. + The value to divide by. + + The quotient of the division. + + + + + Performs integer division on two values and returns the remainder. + + The value to be divided. + The value to divide by. + + The remainder after dividing by . + + + + + Negates a specified value. + + The value to negate. + + The result of the parameter multiplied by negative one (-1). + + + + + Compares this instance to a specified object and returns an integer that indicates whether the value of + this instance is less than, equal to, or greater than the value of the specified object. + + The object to compare. + + A signed integer that indicates the relationship of the current instance to the parameter, + as shown in the following table. + + + Value + Condition + + + Less than zero + The current instance is less than . + + + Zero + The current instance equals . + + + Greater than zero + The current instance is greater than . + + + + is not a . + + + + Compares this instance to a second and returns an integer that indicates whether the + value of this instance is less than, equal to, or greater than the value of the specified object. + + The object to compare. + + A signed integer value that indicates the relationship of this instance to , as + shown in the following table. + + + Value + Condition + + + Less than zero + The current instance is less than . + + + Zero + The current instance equals . + + + Greater than zero + The current instance is greater than . + + + + + + + Compares this instance to an unsigned 64-bit integer and returns an integer that indicates whether the value of this + instance is less than, equal to, or greater than the value of the unsigned 64-bit integer. + + The unsigned 64-bit integer to compare. + + A signed integer that indicates the relative value of this instance and , as shown + in the following table. + + + Value + Condition + + + Less than zero + The current instance is less than . + + + Zero + The current instance equals . + + + Greater than zero + The current instance is greater than . + + + + + + + Compares this instance to a signed 64-bit integer and returns an integer that indicates whether the value of this + instance is less than, equal to, or greater than the value of the signed 64-bit integer. + + The signed 64-bit integer to compare. + + A signed integer that indicates the relative value of this instance and , as shown + in the following table. + + + Value + Condition + + + Less than zero + The current instance is less than . + + + Zero + The current instance equals . + + + Greater than zero + The current instance is greater than . + + + + + + + Compares two values and returns an integer that indicates whether the first value is less than, equal to, or greater than the second value. + + The first value to compare. + The second value to compare. + + A signed integer that indicates the relative values of left and right, as shown in the following table. + + + Value + Condition + + + Less than zero + is less than . + + + Zero + equals . + + + Greater than zero + is greater than . + + + + + + + Converts a value to a byte array. + + + The value of the current object converted to an array of bytes. + + + + + Provides data for event. + + + + + Gets channel data. + + + + + Initializes a new instance of the class. + + Channel number. + Channel data. + + + + Base class for all channel related events. + + + + + Gets the channel number. + + + + + Initializes a new instance of the class. + + The channel number. + + + + Provides data for events. + + + + + Initializes a new instance of the class. + + Channel number. + Channel data. + Channel data type code. + + + + Gets the data type code. + + + + + Provides data for event. + + + + + Initializes a new instance of the class. + + The remote channel number. + The initial window size. + The maximum packet size. + + + + Gets the initial size of the window. + + + The initial size of the window. + + + + + Gets the maximum size of the packet. + + + The maximum size of the packet. + + + + + Provides data for event. + + + + + Gets failure reason code. + + + + + Gets failure description. + + + + + Gets failure language. + + + + + Initializes a new instance of the class. + + Channel number. + Failure reason code. + Failure description. + Failure language. + + + + Provides data for event. + + + + + Gets request information. + + + + + Initializes a new instance of the class. + + Request information. + + + + Provides convenience methods for conversion to and from both Big Endian and Little Endian. + + + + + Converts little endian bytes into number. + + The buffer. + Converted . + + + + Converts little endian bytes into number. + + The buffer. + The buffer offset. + Converted . + + + + Converts little endian bytes into number. + + The buffer. + Converted . + + + + Converts little endian bytes into number. + + The buffer. + Converted . + + + + Populates buffer with little endian number representation. + + The number to convert. + + + + Populates buffer with little endian number representation. + + The number to convert. + The buffer. + + + + Populates buffer with little endian number representation. + + The number to convert. + + + + Populates buffer with little endian number representation. + + The number to convert. + The buffer. + + + + Populates buffer with little endian number representation. + + The number to convert. + The buffer. + The buffer offset. + + + + Populates buffer with little endian number representation. + + The number to convert. + + + + Populates buffer with little endian number representation. + + The number to convert. + The buffer. + + + + Returns the specified 64-bit unsigned integer value as an array of bytes. + + The number to convert. + An array of bytes with length 8. + + + + Converts big endian bytes into number. + + The buffer. + Converted . + + + + Converts big endian bytes into number. + + The buffer. + The buffer offset. + Converted . + + + + Converts big endian bytes into number. + + The buffer. + Converted . + + + + Converts big endian bytes into number. + + The buffer. + Converted . + + + + Gets the file name part of a given POSIX path. + + The POSIX path to get the file name for. + + The file name part of . + + is null. + + + If contains no forward slash, then + is returned. + + + If path has a trailing slash, but return a zero-length string. + + + + + + The exception that is thrown when a proxy connection cannot be established. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Provides data for the HostKeyReceived event. + + + + + Gets or sets a value indicating whether host key can be trusted. + + + true if host key can be trusted; otherwise, false. + + + + + Gets the host key. + + + + + Gets the host key name. + + + + + Gets the finger print. + + + + + Gets the length of the key in bits. + + + The length of the key in bits. + + + + + Initializes a new instance of the class. + + The host. + + + + Base class for DER encoded data. + + + + + Gets a value indicating whether end of data is reached. + + + true if end of data is reached; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + DER encoded data. + + + + Encodes written data as DER byte array. + + DER Encoded array. + + + + Reads next mpint data type from internal buffer. + + mpint read. + + + + Reads next int data type from internal buffer. + + int read. + + + + Writes BOOLEAN data into internal buffer. + + UInt32 data to write. + + + + Writes UInt32 data into internal buffer. + + UInt32 data to write. + + + + Writes INTEGER data into internal buffer. + + BigInteger data to write. + + + + Writes OCTETSTRING data into internal buffer. + + The data. + + + + Writes OBJECTIDENTIFIER data into internal buffer. + + The identifier. + + + + Writes NULL data into internal buffer. + + + + + Writes DerData data into internal buffer. + + DerData data to write. + + + + Provides data for the ErrorOccured events. + + + + + Gets the System.Exception that represents the error that occurred. + + + + + Initializes a new instance of the class. + + An System.Exception that represents the error that occurred. + + + + Collection of different extension method + + + + + Determines whether the specified value is null or white space. + + The value. + + true if is null or white space; otherwise, false. + + + + + Reverses the sequence of the elements in the entire one-dimensional . + + The one-dimensional to reverse. + + The with its elements reversed. + + + + + Prints out + + The bytes. + + + + Creates an instance of the specified type using that type's default constructor. + + The type to create. + Type of the instance to create. + A reference to the newly created object. + + + + Returns a specified number of contiguous bytes from a given offset. + + The array to return a number of bytes from. + The zero-based offset in at which to begin taking bytes. + The number of bytes to take from . + + A array that contains the specified number of bytes at the specified offset + of the input array. + + is null. + + When is zero and equals the length of , + then is returned. + + + + + Returns a specified number of contiguous bytes from the start of the specified byte array. + + The array to return a number of bytes from. + The number of bytes to take from . + + A array that contains the specified number of bytes at the start of the input array. + + is null. + + When equals the length of , then + is returned. + + + + + Trims the leading zero from a byte array. + + The value. + + without leading zeros. + + + + + The exception that is thrown when there is something wrong with the server capabilities. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Describes object identifier for DER encoding + + + + + Gets the object identifier. + + + + + Initializes a new instance of the class. + + The identifiers. + + + + PipeStream is a thread-safe read/write data stream for use between two threads in a + single-producer/single-consumer type problem. + + 2006/10/13 1.0 + Update on 2008/10/9 1.1 - uses Monitor instead of Manual Reset events for more elegant synchronicity. + + Copyright (c) 2006 James Kolpack (james dot kolpack at google mail) + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and + associated documentation files (the "Software"), to deal in the Software without restriction, + including without limitation the rights to use, copy, modify, merge, publish, distribute, + sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or + substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, + INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT + OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. + + + + + Queue of bytes provides the datastructure for transmitting from an + input stream to an output stream. + + Possible more effecient ways to accomplish this. + + + + Indicates that the input stream has been flushed and that + all remaining data should be written to the output stream. + + + + + Maximum number of bytes to store in the buffer. + + + + + Setting this to true will cause Read() to block if it appears + that it will run out of data. + + + + + Indicates whether the current is disposed. + + + + + Gets or sets the maximum number of bytes to store in the buffer. + + The length of the max buffer. + + + + Gets or sets a value indicating whether to block last read method before the buffer is empty. + When true, Read() will block until it can fill the passed in buffer and count. + When false, Read() will not block, returning all the available buffer data. + + + Setting to true will remove the possibility of ending a stream reader prematurely. + + + true if block last read method before the buffer is empty; otherwise, false. + + Methods were called after the stream was closed. + + + + When overridden in a derived class, clears all buffers for this stream and causes any buffered data to be written to the underlying device. + + An I/O error occurs. + Methods were called after the stream was closed. + + Once flushed, any subsequent read operations no longer block until requested bytes are available. Any write operation reactivates blocking + reads. + + + + + When overridden in a derived class, sets the position within the current stream. + + + The new position within the current stream. + + A byte offset relative to the origin parameter. + A value of type indicating the reference point used to obtain the new position. + The stream does not support seeking, such as if the stream is constructed from a pipe or console output. + + + + When overridden in a derived class, sets the length of the current stream. + + The desired length of the current stream in bytes. + The stream does not support both writing and seeking, such as if the stream is constructed from a pipe or console output. + + + + When overridden in a derived class, reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + + + The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero if the stream is closed or end of the stream has been reached. + + The zero-based byte offset in buffer at which to begin storing the data read from the current stream. + The maximum number of bytes to be read from the current stream. + An array of bytes. When this method returns, the buffer contains the specified byte array with the values between offset and (offset + count - 1) replaced by the bytes read from the current source. + The sum of offset and count is larger than the buffer length. + Methods were called after the stream was closed. + The stream does not support reading. + is null. + An I/O error occurs. + offset or count is negative. + + + + Returns true if there are + + The count. + True if data available; otherwisefalse. + + + + When overridden in a derived class, writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + The zero-based byte offset in buffer at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + An array of bytes. This method copies count bytes from buffer to the current stream. + An I/O error occurs. + The stream does not support writing. + Methods were called after the stream was closed. + is null. + The sum of offset and count is greater than the buffer length. + offset or count is negative. + + + + Releases the unmanaged resources used by the Stream and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + Disposing a will interrupt blocking read and write operations. + + + + + When overridden in a derived class, gets a value indicating whether the current stream supports reading. + + + true if the stream supports reading; otherwise, false. + + + + + When overridden in a derived class, gets a value indicating whether the current stream supports seeking. + + + true if the stream supports seeking; otherwise, false. + + + + + When overridden in a derived class, gets a value indicating whether the current stream supports writing. + + + true if the stream supports writing; otherwise, false. + + + + + When overridden in a derived class, gets the length in bytes of the stream. + + + A long value representing the length of the stream in bytes. + + A class derived from Stream does not support seeking. + Methods were called after the stream was closed. + + + + When overridden in a derived class, gets or sets the position within the current stream. + + + The current position within the stream. + + The stream does not support seeking. + + + + Provides data for event. + + + + + Gets request originator host. + + + + + Gets request originator port. + + + + + Initializes a new instance of the class. + + The host. + The port. + is null. + is not within and . + + + + Provides data for the Downloading event. + + + + + Gets the downloaded filename. + + + + + Gets the downloaded file size. + + + + + Gets number of downloaded bytes so far. + + + + + Initializes a new instance of the class. + + The downloaded filename. + The downloaded file size. + The number of downloaded bytes so far. + + + + The exception that is thrown when SCP error occurred. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Provides data for the Uploading event. + + + + + Gets the uploaded filename. + + + + + Gets the uploaded file size. + + + + + Gets number of uploaded bytes so far. + + + + + Initializes a new instance of the class. + + The uploaded filename. + The uploaded file size. + The number of uploaded bytes so far. + + + + Light implementation of SemaphoreSlim. + + + + + Initializes a new instance of the class, specifying + the initial number of requests that can be granted concurrently. + + The initial number of requests for the semaphore that can be granted concurrently. + is a negative number. + + + + Gets the current count of the . + + + + + Returns a that can be used to wait on the semaphore. + + + A that can be used to wait on the semaphore. + + + A successful wait on the does not imply a successful + wait on the itself. It should be followed by a true wait + on the semaphore. + + + + + Exits the once. + + The previous count of the . + + + + Exits the a specified number of times. + + The number of times to exit the semaphore. + + The previous count of the . + + + + + Blocks the current thread until it can enter the . + + + + + Blocks the current thread until it can enter the , using a 32-bit signed + integer that specifies the timeout. + + The number of milliseconds to wait, or Infinite(-1) to wait indefinitely. + + true if the current thread successfully entered the ; otherwise, false. + + + + + Blocks the current thread until it can enter the , using a + to specify the timeout. + + A that represents the number of milliseconds to wait, or a that represents -1 milliseconds to wait indefinitely. + + true if the current thread successfully entered the ; otherwise, false. + + + + + Finalizes the current . + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + The exception that is thrown when file or directory is not found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + The exception that is thrown when operation permission is denied. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Provides data for Shell DataReceived event + + + + + Gets the data. + + + + + Gets the line data. + + + + + Initializes a new instance of the class. + + The data. + + + + Initializes a new instance of the class. + + The line. + + + + The exception that is thrown when authentication failed. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + The exception that is thrown when connection was terminated. + + + + + Gets the disconnect reason if provided by the server or client. Otherwise None. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The disconnect reason code. + + + + Initializes a new instance of the class. + + The message. + The disconnect reason code. + The inner. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Base ssh data serialization type + + + + + Gets the underlying that is used for reading and writing SSH data. + + + The underlying that is used for reading and writing SSH data. + + + + + Gets a value indicating whether all data from the buffer has been read. + + + true if this instance is end of data; otherwise, false. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Gets data bytes array. + + + A array representation of data structure. + + + + + Writes the current message to the specified . + + The to write the message to. + + + + Loads data from specified bytes. + + Bytes array. + is null. + + + + Loads data from the specified buffer. + + Bytes array. + The zero-based offset in at which to begin reading SSH data. + The number of bytes to load. + is null. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Reads all data left in internal buffer at current position. + + An array of bytes containing the remaining data in the internal buffer. + + + + Reads next specified number of bytes data type from internal buffer. + + Number of bytes to read. + An array of bytes that was read from the internal buffer. + is greater than the internal buffer size. + + + + Reads next byte data type from internal buffer. + + Byte read. + + + + Reads next boolean data type from internal buffer. + + Boolean read. + + + + Reads next uint16 data type from internal buffer. + + uint16 read + + + + Reads next uint32 data type from internal buffer. + + uint32 read + + + + Reads next uint64 data type from internal buffer. + + uint64 read + + + + Reads next string data type from internal buffer using the specific encoding. + + + The read. + + + + + Reads next data type as byte array from internal buffer. + + + The bytes read. + + + + + Reads next name-list data type from internal buffer. + + + String array or read data. + + + + + Reads next extension-pair data type from internal buffer. + + Extensions pair dictionary. + + + + Writes bytes array data into internal buffer. + + Byte array data to write. + is null. + + + + Writes a sequence of bytes to the current SSH data stream and advances the current position + within this stream by the number of bytes written. + + An array of bytes. This method write bytes from buffer to the current SSH data stream. + The zero-based offset in at which to begin writing bytes to the SSH data stream. + The number of bytes to be written to the current SSH data stream. + is null. + The sum of and is greater than the buffer length. + or is negative. + + + + Writes data into internal buffer. + + data to write. + + + + Writes into internal buffer. + + data to write. + + + + Writes data into internal buffer. + + data to write. + + + + Writes data into internal buffer. + + data to write. + + + + Writes data into internal buffer using default encoding. + + data to write. + is null. + + + + Writes data into internal buffer using the specified encoding. + + data to write. + The character encoding to use. + is null. + is null. + + + + Writes data into internal buffer. + + The data to write. + is null. + + + + Writes data into internal buffer. + + An array of bytes. This method write bytes from buffer to the current SSH data stream. + The zero-based byte offset in at which to begin writing bytes to the SSH data stream. + The number of bytes to be written to the current SSH data stream. + is null. + The sum of and is greater than the buffer length. + or is negative. + + + + Writes mpint data into internal buffer. + + mpint data to write. + + + + Writes name-list data into internal buffer. + + name-list data to write. + + + + Writes extension-pair data into internal buffer. + + extension-pair data to write. + + + + The exception that is thrown when SSH exception occurs. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + The exception that is thrown when operation is timed out. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + The exception that is thrown when pass phrase for key file is empty or null + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Specifies the initial assignments of the opcode values that are used in the 'encoded terminal modes' valu + + + + + Indicates end of options. + + + + + Interrupt character; 255 if none. Similarly for the other characters. Not all of these characters are supported on all systems. + + + + + The quit character (sends SIGQUIT signal on POSIX systems). + + + + + Erase the character to left of the cursor. + + + + + Kill the current input line. + + + + + End-of-file character (sends EOF from the terminal). + + + + + End-of-line character in addition to carriage return and/or linefeed. + + + + + Additional end-of-line character. + + + + + Continues paused output (normally control-Q). + + + + + Pauses output (normally control-S). + + + + + Suspends the current program. + + + + + Another suspend character. + + + + + Reprints the current input line. + + + + + Erases a word left of cursor. + + + + + Enter the next character typed literally, even if it is a special character + + + + + Character to flush output. + + + + + Switch to a different shell layer. + + + + + Prints system status line (load, command, pid, etc). + + + + + Toggles the flushing of terminal output. + + + + + The ignore parity flag. The parameter SHOULD be 0 if this flag is FALSE, and 1 if it is TRUE. + + + + + Mark parity and framing errors. + + + + + Enable checking of parity errors. + + + + + Strip 8th bit off characters. + + + + + Map NL into CR on input. + + + + + Ignore CR on input. + + + + + Map CR to NL on input. + + + + + Translate uppercase characters to lowercase. + + + + + Enable output flow control. + + + + + Any char will restart after stop. + + + + + Enable input flow control. + + + + + Ring bell on input queue full. + + + + + Enable signals INTR, QUIT, [D]SUSP. + + + + + Canonicalize input lines. + + + + + Enable input and output of uppercase characters by preceding their lowercase equivalents with "\". + + + + + Enable echoing. + + + + + Visually erase chars. + + + + + Kill character discards current line. + + + + + Echo NL even if ECHO is off. + + + + + Don't flush after interrupt. + + + + + Stop background jobs from output. + + + + + Enable extensions. + + + + + Echo control characters as ^(Char). + + + + + Visual erase for line kill. + + + + + Retype pending input. + + + + + Enable output processing. + + + + + Convert lowercase to uppercase. + + + + + Map NL to CR-NL. + + + + + Translate carriage return to newline (output). + + + + + Translate newline to carriage return-newline (output). + + + + + Newline performs a carriage return (output). + + + + + 7 bit mode. + + + + + 8 bit mode. + + + + + Parity enable. + + + + + Odd parity, else even. + + + + + Specifies the input baud rate in bits per second. + + + + + Specifies the output baud rate in bits per second. + + + + + Specialized for reading and writing data SSH data. + + + + + Initializes a new instance of the class with an expandable capacity initialized + as specified. + + The initial size of the internal array in bytes. + + + + Initializes a new non-resizable instance of the class based on the specified byte array. + + The array of unsigned bytes from which to create the current stream. + is null. + + + + Initializes a new non-resizable instance of the class based on the specified byte array. + + The array of unsigned bytes from which to create the current stream. + The zero-based offset in at which to begin reading SSH data. + The number of bytes to load. + is null. + + + + Gets a value indicating whether all data from the SSH data stream has been read. + + + true if this instance is end of data; otherwise, false. + + + + + Writes an to the SSH data stream. + + data to write. + + + + Writes an to the SSH data stream. + + data to write. + + + + Writes a into the SSH data stream. + + The to write. + + + + Writes bytes array data into the SSH data stream. + + Byte array data to write. + is null. + + + + Reads a byte array from the SSH data stream. + + + The byte array read from the SSH data stream. + + + + + Writes a buffer preceded by its length into the SSH data stream. + + The data to write. + is null. + + + + Writes a buffer preceded by its length into the SSH data stream. + + An array of bytes. This method write bytes from buffer to the current SSH data stream. + The zero-based byte offset in at which to begin writing bytes to the SSH data stream. + The number of bytes to be written to the current SSH data stream. + is null. + The sum of and is greater than the buffer length. + or is negative. + + + + Writes string data to the SSH data stream using the specified encoding. + + The string data to write. + The character encoding to use. + is null. + is null. + + + + Reads a from the SSH datastream. + + + The read from the SSH data stream. + + + + + Reads the next data type from the SSH data stream. + + + The read from the SSH data stream. + + + + + Reads the next data type from the SSH data stream. + + + The read from the SSH data stream. + + + + + Reads the next data type from the SSH data stream. + + + The read from the SSH data stream. + + + + + Reads next specified number of bytes data type from internal buffer. + + Number of bytes to read. + + An array of bytes that was read from the internal buffer. + + is greater than the internal buffer size. + + + + Writes the stream contents to a byte array, regardless of the . + + + This method returns the contents of the as a byte array. + + + If the current instance was constructed on a provided byte array, a copy of the section of the array + to which this instance has access is returned. + + + + + Initializes a new instance. + + The number of times an authentication attempt with any given can result in before it is disregarded. + is less than one. + + + + Gets the number of times an authentication attempt with any given can + result in before it is disregarded. + + + The number of times an authentication attempt with any given can result + in before it is disregarded. + + + + + Attempts to authentication for a given using the + of the specified . + + A to use for authenticating. + The for which to perform authentication. + + + + Records if a given has been tried, and how many times this resulted + in . + + + When there's no entry for a given , then it was never tried. + + + + + Holds the list of authentications methods that failed. + + + + + Records a authentication attempt for the specified + . + + An for which to record the result of an authentication attempt. + + + + Records a authentication attempt for the specified + . + + An for which to record the result of an authentication attempt. + + + + Returns the number of times an authentication attempt with the specified + has resulted in . + + An . + + The number of times an authentication attempt with the specified + has resulted in . + + + + + Returns a list of supported authentication methods that match one of the specified allowed authentication + methods. + + A list of allowed authentication methods. + + A list of supported authentication methods that match one of the specified allowed authentication methods. + + + The authentication methods are returned in the order in which they were specified in the list that was + used to initialize the current instance. + + + + + Returns the authentication methods from the specified list that have not yet failed. + + A list of authentication methods. + + The authentication methods from that have not yet failed. + + + + This method first returns the authentication methods that have not yet been executed, and only then + returns those for which an authentication attempt resulted in a . + + + Any that has failed is skipped. + + + + + + Specifies compression modes + + + + + Specifies that content should be compressed. + + + + + Specifies that content should be decompressed. + + + + + Represents base class for compression algorithm implementation + + + + + Gets or sets a value indicating whether compression is active. + + + true if compression is active; otherwise, false. + + + + + Gets the session. + + + + + Initializes a new instance of the class. + + + + + Initializes the algorithm + + The session. + + + + Compresses the specified data. + + Data to compress. + Compressed data + + + + Compresses the specified data. + + Data to compress. + The zero-based byte offset in at which to begin reading the data to compress. + The number of bytes to be compressed. + + The compressed data. + + + + + Decompresses the specified data. + + Compressed data. + + The decompressed data. + + + + + Decompresses the specified data. + + Compressed data. + The zero-based byte offset in at which to begin reading the data to decompress. + The number of bytes to be read from the compressed data. + + The decompressed data. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the is reclaimed + by garbage collection. + + + + + Represents "zlib" compression implementation + + + + + Gets algorithm name. + + + + + Initializes the algorithm + + The session. + + + + Represents "zlib@openssh.org" compression implementation + + + + + Gets algorithm name. + + + + + Initializes the algorithm + + The session. + + + + Implements Zlib compression algorithm. + + + + + Initializes a new instance of the class. + + The stream. + The mode. + + + + Writes the specified buffer. + + The buffer. + The offset. + The count. + + + + Represents remote connection information class. + + + This class is NOT thread-safe. Do not use the same with multiple + client instances. + + + + + Gets supported key exchange algorithms for this connection. + + + + + Gets supported encryptions for this connection. + + + + + Gets supported hash algorithms for this connection. + + + + + Gets supported host key algorithms for this connection. + + + + + Gets supported authentication methods for this connection. + + + + + Gets supported compression algorithms for this connection. + + + + + Gets the supported channel requests for this connection. + + + The supported channel requests for this connection. + + + + + Gets a value indicating whether connection is authenticated. + + + true if connection is authenticated; otherwise, false. + + + + + Gets connection host. + + + + + Gets connection port. + + + The connection port. The default value is 22. + + + + + Gets connection username. + + + + + Gets proxy type. + + + The type of the proxy. + + + + + Gets proxy connection host. + + + + + Gets proxy connection port. + + + + + Gets proxy connection username. + + + + + Gets proxy connection password. + + + + + Gets or sets connection timeout. + + + The connection timeout. The default value is 30 seconds. + + + + + + + + Gets or sets the character encoding. + + + The character encoding. The default is . + + + + + Gets or sets number of retry attempts when session channel creation failed. + + + The number of retry attempts when session channel creation failed. The default + value is 10. + + + + + Gets or sets maximum number of session channels to be open simultaneously. + + + The maximum number of session channels to be open simultaneously. The default + value is 10. + + + + + Occurs when authentication banner is sent by the server. + + + + + + + + Gets the current key exchange algorithm. + + + + + Gets the current server encryption. + + + + + Gets the current client encryption. + + + + + Gets the current server hash algorithm. + + + + + Gets the current client hash algorithm. + + + + + Gets the current host key algorithm. + + + + + Gets the current server compression algorithm. + + + + + Gets the server version. + + + + + Get the client version. + + + + + Gets the current client compression algorithm. + + + + + Initializes a new instance of the class. + + The host. + The username. + The authentication methods. + is null. + is a zero-length string. + is null, a zero-length string or contains only whitespace characters. + is null. + No specified. + + + + Initializes a new instance of the class. + + The host. + The port. + The username. + The authentication methods. + is null. + is null, a zero-length string or contains only whitespace characters. + is not within and . + is null. + No specified. + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Connection username. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + The proxy password. + The authentication methods. + is null. + is null, a zero-length string or contains only whitespace characters. + is not within and . + is not and is null. + is not and is not within and . + is null. + No specified. + + + + Authenticates the specified session. + + The session to be authenticated. + The factory to use for creating new services. + is null. + is null. + No suitable authentication method found to complete authentication, or permission denied. + + + + Signals that an authentication banner message was received from the server. + + The session in which the banner message was received. + The banner message.{ + + + + Returns a value indicating whether has been changed to . + + The status to transition from. + + true if has been changed to ; otherwise, false. + + Cannot transition to . + + While a transition from to is not possible, this method will + return false for any such attempts. This is related to concurrency. + + + + + Returns a value indicating whether has been changed to . + + The status to transition from. + + true if has been changed to ; otherwise, false. + + Cannot transition to . + + While a transition from to is not possible, this method will + return false for any such attempts. This is related to concurrency. + + + + + Holds information about key size and cipher to use + + + + + Gets the size of the key. + + + The size of the key. + + + + + Gets the cipher. + + + + + Initializes a new instance of the class. + + Size of the key. + The hash algorithm to use for a given key. + + + + Base interface for authentication of a session using a given method. + + + + + Authenticates the specified session. + + The session to authenticate. + + The result of the authentication process. + + + + + Gets the list of allowed authentications. + + + The list of allowed authentications. + + + + + Gets the name of the authentication method. + + + The name of the authentication method. + + + + + Signals that an authentication banner message was received from the server. + + The session in which the banner message was received. + The banner message.{ + + + + Gets the supported authentication methods for this connection. + + + The supported authentication methods for this connection. + + + + + Creates a for the credentials represented + by the current . + + + A for the credentials represented by the + current . + + + + + Represents remote connection information. + + + + + Gets the supported channel requests for this connection. + + + The supported channel requests for this connection. + + + + + Gets the character encoding. + + + The character encoding. + + + + + Gets the number of retry attempts when session channel creation failed. + + + The number of retry attempts when session channel creation failed. + + + + + Gets or sets connection timeout. + + + The connection timeout. The default value is 30 seconds. + + + + + + + + Occurs when authentication banner is sent by the server. + + + + + Supports port forwarding functionality. + + + + + The event occurs as the forwarded port is being stopped. + + + + + Represents a transformation that can be applied to a remote path. + + + + + Transforms the specified remote path. + + The path to transform. + + The transformed path. + + + + + Factory for creating new services. + + + + + Creates a new with the specified . + + The to use for creating a new session. + + An for the specified . + + is null. + + + + Creates a new in a given and with + the specified operation timeout and encoding. + + The to create the in. + The number of milliseconds to wait for an operation to complete, or -1 to wait indefinitely. + The encoding. + The factory to use for creating SFTP messages. + + An . + + + + + Create a new . + + + A . + + + + + Negotiates a key exchange algorithm, and creates a for the negotiated + algorithm. + + A of the key exchange algorithms supported by the client where the key is the name of the algorithm, and the value is the type implementing this algorithm. + The names of the key exchange algorithms supported by the SSH server. + + A that was negotiated between client and server. + + is null. + is null. + No key exchange algorithm is supported by both client and server. + + + + Creates a shell stream. + + The SSH session. + The TERM environment variable. + The terminal width in columns. + The terminal width in rows. + The terminal height in pixels. + The terminal height in pixels. + Size of the buffer. + The terminal mode values. + + The created instance. + + Client is not connected. + + + The TERM environment variable contains an identifier for the text window's capabilities. + You can get a detailed list of these cababilities by using the ‘infocmp’ command. + + + The column/row dimensions override the pixel dimensions(when non-zero). Pixel dimensions refer + to the drawable area of the window. + + + + + + Creates an that encloses a path in double quotes, and escapes + any embedded double quote with a backslash. + + + An that encloses a path in double quotes, and escapes any + embedded double quote with a backslash. + with a shell. + + + + + Creates a new in a given + and with the specified operation timeout. + + The to create the in. + The number of milliseconds to wait for an operation to complete, or -1 to wait indefinitely. + + An . + + + + + Provides functionality to connect and interact with SSH server. + + + + + Gets or sets the connection info. + + The connection info. + + + + Gets a value indicating whether the session is connected. + + + true if the session is connected; otherwise, false. + + + + + Gets the session semaphore that controls session channels. + + + The session semaphore. + + + + + Gets a that can be used to wait for the message listener loop to complete. + + + A that can be used to wait for the message listener loop to complete, or + null when the session has not been connected. + + + + + Connects to the server. + + Socket connection to the SSH server or proxy server could not be established, or an error occurred while resolving the hostname. + SSH session could not be established. + Authentication of SSH session failed. + Failed to establish proxy connection. + + + + Create a new SSH session channel. + + + A new SSH session channel. + + + + + Create a new channel for a locally forwarded TCP/IP port. + + + A new channel for a locally forwarded TCP/IP port. + + + + + Creates a "forwarded-tcpip" SSH channel. + + + A new "forwarded-tcpip" SSH channel. + + + + + Disconnects from the server. + + + This sends a SSH_MSG_DISCONNECT message to the server, waits for the + server to close the socket on its end and subsequently closes the client socket. + + + + + Called when client is disconnecting from the server. + + + + + Registers SSH message with the session. + + The name of the message to register with the session. + + + + Sends a message to the server. + + The message to send. + The client is not connected. + The operation timed out. + The size of the packet exceeds the maximum size defined by the protocol. + + + + Sends a message to the server. + + The message to send. + + true if the message was sent to the server; otherwise, false. + + The size of the packet exceeds the maximum size defined by the protocol. + + This methods returns false when the attempt to send the message results in a + or a . + + + + + Unregister SSH message from the session. + + The name of the message to unregister with the session. + + + + Waits for the specified handle or the exception handle for the receive thread + to signal within the connection timeout. + + The wait handle. + A received package was invalid or failed the message integrity check. + None of the handles are signaled in time and the session is not disconnecting. + A socket error was signaled while receiving messages from the server. + + When neither handles are signaled in time and the session is not closing, then the + session is disconnected. + + + + + Waits for the specified handle or the exception handle for the receive thread + to signal within the specified timeout. + + The wait handle. + The time to wait for any of the handles to become signaled. + A received package was invalid or failed the message integrity check. + None of the handles are signaled in time and the session is not disconnecting. + A socket error was signaled while receiving messages from the server. + + When neither handles are signaled in time and the session is not closing, then the + session is disconnected. + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when session has been disconnected from the server. + + + + + Occurs when an error occurred. + + + + + Occurs when host key received. + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message is received from the server. + + + + + Base interface for SSH subsystem implementations. + + + + + Gets or set the number of seconds to wait for an operation to complete. + + + The number of seconds to wait for an operation to complete, or -1 to wait indefinitely. + + + + + Gets a value indicating whether this session is open. + + + true if this session is open; otherwise, false. + + + + + Connects the subsystem using a new SSH channel session. + + The session is already connected. + The method was called after the session was disposed. + + + + Disconnects the subsystem channel. + + + + + Waits a specified time for a given to get signaled. + + The handle to wait for. + The number of millieseconds wait for to get signaled, or -1 to wait indefinitely. + The connection was closed by the server. + The channel was closed. + The handle did not get signaled within the specified timeout. + + + + Blocks the current thread until the specified gets signaled, using a + 32-bit signed integer to specify the time interval in milliseconds. + + The handle to wait for. + To number of milliseconds to wait for to get signaled, or -1 to wait indefinitely. + + true if received a signal within the specified timeout; + otherwise, false. + + The connection was closed by the server. + The channel was closed. + + The blocking wait is also interrupted when either the established channel is closed, the current + session is disconnected or an unexpected occurred while processing a channel + or session event. + + + + + Blocks the current thread until the specified gets signaled, using a + 32-bit signed integer to specify the time interval in milliseconds. + + The first handle to wait for. + The second handle to wait for. + To number of milliseconds to wait for a to get signaled, or -1 to wait indefinitely. + + 0 if received a signal within the specified timeout and 1 + if received a signal within the specified timeout, or + if no object satisfied the wait. + + The connection was closed by the server. + The channel was closed. + + + The blocking wait is also interrupted when either the established channel is closed, the current + session is disconnected or an unexpected occurred while processing a channel + or session event. + + + When both and are signaled during the call, + then 0 is returned. + + + + + + Waits for any of the elements in the specified array to receive a signal, using a 32-bit signed + integer to specify the time interval. + + A array - constructed using - containing the objects to wait for. + To number of milliseconds to wait for a to get signaled, or -1 to wait indefinitely. + + The array index of the first non-system object that satisfied the wait. + + The connection was closed by the server. + The channel was closed. + No object satified the wait and a time interval equivalent to has passed. + + For the return value, the index of the first non-system object is considered to be zero. + + + + + Creates a array that is composed of system objects and the specified + elements. + + A array containing the objects to wait for. + + A array that is composed of system objects and the specified elements. + + + + + Creates a array that is composed of system objects and the specified + elements. + + The first to wait for. + The second to wait for. + + A array that is composed of system objects and the specified elements. + + + + + Gets the address to bind to. + + + + + Gets port number to bind to. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Gets the address to bind to. + + + + + Gets port number to bind to. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_CHANNEL_CLOSE message. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The local channel number. + + + + Represents SSH_MSG_CHANNEL_DATA message. + + + + + Gets or sets message data. + + + The data. + + + The actual data to read or write depends on the and . + + + + + Gets the zero-based offset in at which the data begins. + + + The zero-based offset in at which the data begins. + + + + + Gets the number of bytes of to read or write. + + + The number of bytes of to read or write. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The local channel number. + Message data. + + + + Initializes a new instance of the class. + + The local channel number. + The message data. + The zero-based byte offset in at which to begin reading or writing data from. + The number of bytes of to read or write. + + + + Loads the data. + + + + + Saves the data. + + + + + Represents SSH_MSG_CHANNEL_EOF message. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The local channel number. + + + + Represents SSH_MSG_CHANNEL_EXTENDED_DATA message. + + + + + Gets message data type code. + + + + + Gets message data. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The local channel number. + The message data type code. + The message data. + + + + Loads the data. + + + + + Saves the data. + + + + + Represents SSH_MSG_CHANNEL_FAILURE message. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The local channel number. + + + + Base class for all channel specific SSH messages. + + + + + Gets or sets the local channel number. + + + The local channel number. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new . + + + + + Initializes a new with the specified local channel number. + + The local channel number. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Represents SSH_MSG_CHANNEL_OPEN_CONFIRMATION message. + + + + + Gets the remote channel number. + + + + + Gets the initial size of the window. + + + The initial size of the window. + + + + + Gets the maximum size of the packet. + + + The maximum size of the packet. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The local channel number. + Initial size of the window. + Maximum size of the packet. + The remote channel number. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_CHANNEL_OPEN_FAILURE message. + + + + + Gets failure reason code. + + + + + Gets description for failure. + + + + + Gets message language. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The local channel number. + The description. + The reason code. + + + + Initializes a new instance of the class. + + The local channel number. + The description. + The reason code. + The language (RFC3066). + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + List channel open failure reasons defined by the protocol. + + + + + SSH_OPEN_ADMINISTRATIVELY_PROHIBITED + + + + + SSH_OPEN_CONNECT_FAILED + + + + + SSH_OPEN_UNKNOWN_CHANNEL_TYPE + + + + + SSH_OPEN_RESOURCE_SHORTAGE + + + + + Base class for open channel messages + + + + + Gets the type of the channel to open. + + + The type of the channel to open. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_CHANNEL_OPEN message. + + + + + Gets the type of the channel as ASCII encoded byte array. + + + The type of the channel. + + + + + Gets or sets the local channel number. + + + The local channel number. + + + + + Gets the initial size of the window. + + + The initial size of the window. + + + + + Gets the maximum size of the packet. + + + The maximum size of the packet. + + + + + Gets channel specific open information. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The channel number. + Initial size of the window. + Maximum size of the packet. + Information specific to the type of the channel to open. + is null. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Used to open "direct-tcpip" channel type + + + + + Specifies channel open type + + + + + Gets the type of the channel to open. + + + The type of the channel to open. + + + + + Gets the host to connect. + + + + + Gets the port to connect. + + + + + Gets the originator address. + + + + + Gets the originator port. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class from the + specified data. + + is null. + + + + Initializes a new instance of the class. + + The host to connect. + The port to connect. + The originator address. + The originator port. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Used to open "forwarded-tcpip" channel type + + + + + Initializes a new instance of the class from the + specified data. + + is null. + + + + Initializes a new instance with the specified connector + address and port, and originator address and port. + + + + + Specifies channel open type + + + + + Gets the type of the channel to open. + + + The type of the channel to open. + + + + + Gets the connected address. + + + + + Gets the connected port. + + + + + Gets the originator address. + + + + + Gets the originator port. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Used to open "session" channel type + + + + + Specifies channel open type + + + + + Gets the type of the channel to open. + + + The type of the channel to open. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from the + specified data. + + is null. + + + + Used to open "x11" channel type + + + + + Specifies channel open type + + + + + Gets the type of the channel to open. + + + The type of the channel to open. + + + + + Gets the originator address. + + + + + Gets the originator port. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class from the + specified data. + + is null. + + + + Initializes a new instance of the class with the + specified originator address and port. + + The originator address. + The originator port. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents "break" type channel request information + + + + + Channel request name + + + + + Gets the name of the request. + + + The name of the request. + + + + + Gets break length in milliseconds. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Length of the break. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_CHANNEL_REQUEST message. + + + + + Gets the name of the request. + + + The name of the request. + + + + + Gets channel request data. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The local channel number. + The info. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents "eow@openssh.com" type channel request information + + + + + Channel request name + + + + + Gets the name of the request. + + + The name of the request. + + + + + Initializes a new instance of the class. + + + + + Represents "env" type channel request information + + + + + Channel request name + + + + + Gets the name of the request. + + + The name of the request. + + + + + Gets or sets the name of the variable. + + + The name of the variable. + + + + + Gets or sets the variable value. + + + The variable value. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the variable. + The variable value. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents "exec" type channel request information + + + + + Channel request name + + + + + Gets the name of the request. + + + The name of the request. + + + + + Gets command to execute. + + + The command. + + + + + Gets the encoding. + + + The encoding. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The command. + The character encoding to use. + or is null. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents "exit-signal" type channel request information + + + + + Channel request name + + + + + Gets the name of the request. + + + The name of the request. + + + + + Gets the name of the signal. + + + The name of the signal. + + + + + Gets a value indicating whether core is dumped. + + + true if core is dumped; otherwise, false. + + + + + Gets the error message. + + + + + Gets message language. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the signal. + if set to true then core is dumped. + The error message. + The language. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents "exit-status" type channel request information + + + + + Channel request name. + + + + + Gets the name of the request. + + + The name of the request. + + + + + Gets the exit status number. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The exit status number. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents "keepalive@openssh.com" type channel request information + + + + + Channel request name + + + + + Gets the name of the request. + + + The name of the request. + + + + + Initializes a new instance of the class. + + + + + Represents "pty-req" type channel request information + + + + + Channel request name + + + + + Gets the name of the request. + + + The name of the request. + + + + + Gets or sets the value of the TERM environment variable (e.g., vt100). + + + The value of the TERM environment variable. + + + + + Gets or sets the terminal width in columns (e.g., 80). + + + The terminal width in columns. + + + + + Gets or sets the terminal width in rows (e.g., 24). + + + The terminal width in rows. + + + + + Gets or sets the terminal width in pixels (e.g., 640). + + + The terminal width in pixels. + + + + + Gets or sets the terminal height in pixels (e.g., 480). + + + The terminal height in pixels. + + + + + Gets or sets the terminal mode. + + + The terminal mode. + + + + + Gets the size of the message in bytes. + + + -1 to indicate that the size of the message cannot be determined, + or is too costly to calculate. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The TERM environment variable which a identifier for the text window’s capabilities. + The terminal width in columns. + The terminal width in rows. + The terminal height in pixels. + The terminal height in pixels. + The terminal mode values. + + + The TERM environment variable contains an identifier for the text window's capabilities. + You can get a detailed list of these cababilities by using the ‘infocmp’ command. + + + The column/row dimensions override the pixel dimensions(when nonzero). Pixel dimensions refer + to the drawable area of the window. + + + + + + Called when type specific data need to be saved. + + + + + Represents type specific information for channel request. + + + + + Gets the name of the request. + + + The name of the request. + + + + + Gets or sets a value indicating whether reply message is needed. + + + true if reply message is needed; otherwise, false. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents "shell" type channel request information + + + + + Channel request name + + + + + Gets the name of the request. + + + The name of the request. + + + + + Initializes a new instance of the class. + + + + + Represents "signal" type channel request information + + + + + Channel request name. + + + + + Gets the name of the request. + + + The name of the request. + + + + + Gets the name of the signal. + + + The name of the signal. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the signal. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents "subsystem" type channel request information + + + + + Channel request name + + + + + Gets the name of the request. + + + The name of the request. + + + + + Gets the name of the subsystem. + + + The name of the subsystem. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The subsystem. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents "window-change" type channel request information + + + + + Channe request name + + + + + Gets the name of the request. + + + The name of the request. + + + + + Gets the columns. + + + + + Gets the rows. + + + + + Gets the width. + + + + + Gets the height. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The columns. + The rows. + The width. + The height. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents "x11-req" type channel request information + + + + + Channel request name + + + + + Gets the name of the request. + + + The name of the request. + + + + + Gets or sets a value indicating whether it is a single connection. + + + true if it is a single connection; otherwise, false. + + + + + Gets or sets the authentication protocol. + + + The authentication protocol. + + + + + Gets or sets the authentication cookie. + + + The authentication cookie. + + + + + Gets or sets the screen number. + + + The screen number. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + if set to true it is a single connection. + The protocol. + The cookie. + The screen number. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents "xon-xoff" type channel request information + + + + + Channel request type + + + + + Gets the name of the request. + + + The name of the request. + + + + + Gets or sets a value indicating whether client can do. + + + true if client can do; otherwise, false. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + if set to true [client can do]. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_CHANNEL_SUCCESS message. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The local channel number. + + + + Represents SSH_MSG_CHANNEL_SUCCESS message. + + + + + Gets number of bytes to add to the window. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The local channel number. + The bytes to add. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_GLOBAL_REQUEST message. + + + + + Gets the name of the request. + + + The name of the request. + + + + + Gets a value indicating whether message reply should be sent.. + + + true if message reply should be sent; otherwise, false. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + Name of the request. + if set to true [want reply]. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Specifies supported request names. + + + + + tcpip-forward + + + + + cancel-tcpip-forward + + + + + Represents SSH_MSG_REQUEST_FAILURE message. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_REQUEST_SUCCESS message. + + + + + Gets the bound port. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The bound port. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Indicates that message that implement this interface is allowed during key exchange phase + + + + + Represents SSH_MSG_DEBUG message. + + + + + Gets a value indicating whether the message to be always displayed. + + + true if the message always to be displayed; otherwise, false. + + + + + Gets debug message. + + + + + Gets message language. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_DISCONNECT message. + + + + + Gets disconnect reason code. + + + + + Gets disconnect description. + + + + + Gets message language. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The reason code. + The message. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Provides list of disconnect reason as specified by the protocol. + + + + + Disconnect reason is not provided. + + + + + SSH_DISCONNECT_HOST_NOT_ALLOWED_TO_CONNECT + + + + + SSH_DISCONNECT_PROTOCOL_ERROR + + + + + SSH_DISCONNECT_KEY_EXCHANGE_FAILED + + + + + SSH_DISCONNECT_RESERVED + + + + + SSH_DISCONNECT_MAC_ERROR + + + + + SSH_DISCONNECT_COMPRESSION_ERROR + + + + + SSH_DISCONNECT_SERVICE_NOT_AVAILABLE + + + + + SSH_DISCONNECT_PROTOCOL_VERSION_NOT_SUPPORTED + + + + + SSH_DISCONNECT_HOST_KEY_NOT_VERIFIABLE + + + + + SSH_DISCONNECT_CONNECTION_LOST + + + + + SSH_DISCONNECT_BY_APPLICATION + + + + + SSH_DISCONNECT_TOO_MANY_CONNECTIONS + + + + + SSH_DISCONNECT_AUTH_CANCELLED_BY_USER + + + + + SSH_DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE + + + + + SSH_DISCONNECT_ILLEGAL_USER_NAME + + + + + Represents SSH_MSG_IGNORE message. + + + + + Gets ignore message data if any. + + + + + Initializes a new instance of the class + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class. + + The data. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_KEX_DH_GEX_GROUP message. + + + + + Gets or sets the safe prime. + + + The safe prime. + + + + + Gets or sets the generator for subgroup in GF(p). + + + The sub group. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_KEX_DH_GEX_INIT message. + + + + + Gets the E value. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class. + + The client exchange value. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_KEX_DH_GEX_REPLY message. + + + + + Gets server public host key and certificates + + The host key. + + + + Gets the F value. + + + + + Gets the signature of H. + + The signature. + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_KEX_DH_GEX_REQUEST message. + + + + + Gets or sets the minimal size in bits of an acceptable group. + + + The minimum. + + + + + Gets or sets the preferred size in bits of the group the server will send. + + + The preferred. + + + + + Gets or sets the maximal size in bits of an acceptable group. + + + The maximum. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class. + + The minimum. + The preferred. + The maximum. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_KEXDH_INIT message. + + + + + Gets the E value. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class. + + The client exchange value. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_KEXDH_REPLY message. + + + + + Gets server public host key and certificates + + The host key. + + + + Gets the F value. + + + + + Gets the signature of H. + + The signature. + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_KEXINIT message. + + + + + Initializes a new instance of the class. + + + + + Gets session cookie. + + + + + Gets or sets supported key exchange algorithms. + + + Supported key exchange algorithms. + + + + + Gets or sets supported server host key algorithms. + + + Supported server host key algorithms. + + + + + Gets or sets supported encryption algorithms client to server. + + + Supported encryption algorithms client to server. + + + + + Gets or sets supported encryption algorithms server to client. + + + Supported encryption algorithms server to client. + + + + + Gets or sets supported hash algorithms client to server. + + + Supported hash algorithms client to server. + + + + + Gets or sets supported hash algorithms server to client. + + + Supported hash algorithms server to client. + + + + + Gets or sets supported compression algorithms client to server. + + + Supported compression algorithms client to server. + + + + + Gets or sets supported compression algorithms server to client. + + + Supported compression algorithms server to client. + + + + + Gets or sets supported languages client to server. + + + Supported languages client to server. + + + + + Gets or sets supported languages server to client. + + + The languages server to client. + + + + + Gets or sets a value indicating whether first key exchange packet follows. + + + true if first key exchange packet follows; otherwise, false. + + + + + Gets or sets the reserved value. + + + The reserved value. + + + + + Gets the size of the message in bytes. + + + -1 to indicate that the size of the message cannot be determined, + or is too costly to calculate. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_NEWKEYS message. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_SERVICE_ACCEPT message. + + + + + Gets the name of the service. + + + The name of the service. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_SERVICE_REQUEST message. + + + + + Gets the name of the service. + + + The name of the service. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class. + + Name of the service. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_UNIMPLEMENTED message. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_USERAUTH_BANNER message. + + + + + Gets banner message. + + + + + Gets banner language. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_USERAUTH_FAILURE message. + + + + + Gets or sets the allowed authentications if available. + + + The allowed authentications. + + + + + Gets failure message. + + + + + Gets a value indicating whether authentication is partially successful. + + + true if partially successful; otherwise, false. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_USERAUTH_INFO_REQUEST message. + + + + + Gets information request name. + + + + + Gets information request instruction. + + + + + Gets information request language. + + + + + Gets information request prompts. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_USERAUTH_INFO_RESPONSE message. + + + + + Gets authentication responses. + + + + + Gets the size of the message in bytes. + + + -1 to indicate that the size of the message cannot be determined, + or is too costly to calculate. + + + + + Initializes a new instance of the class. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_USERAUTH_PASSWD_CHANGEREQ message. + + + + + Gets password change request message as UTF-8 encoded byte array. + + + + + Gets message language as UTF-8 encoded byte array. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_USERAUTH_PK_OK message. + + + + + Gets the name of the public key algorithm as ASCII encoded byte array. + + + The name of the public key algorithm. + + + + + Gets the public key data. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_USERAUTH_REQUEST message. Server as a base message for other user authentication requests. + + + + + Returns the authentication message code for SSH_MSG_USERAUTH_REQUEST. + + + + + Gets authentication username as UTF-8 encoded byte array. + + + + + Gets the name of the service as ASCII encoded byte array. + + + The name of the service. + + + + + Gets the name of the authentication method. + + + The name of the method. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class. + + Name of the service. + Authentication username. + The name of the authentication method. + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Represents "hostbased" SSH_MSG_USERAUTH_REQUEST message. + + + + + Gets the public key algorithm for host key as ASCII encoded byte array. + + + + + Gets or sets the public host key and certificates for client host. + + + The public host key. + + + + + Gets or sets the name of the client host as ASCII encoded byte array. + + + The name of the client host. + + + + + Gets or sets the client username on the client host as UTF-8 encoded byte array. + + + The client username. + + + + + Gets or sets the signature. + + + The signature. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class. + + Name of the service. + Authentication username. + The public key algorithm. + The public host key. + Name of the client host. + The client username. + The signature. + + + + Called when type specific data need to be saved. + + + + + Represents "keyboard-interactive" SSH_MSG_USERAUTH_REQUEST message. + + + + + Gets message language. + + + + + Gets authentication sub methods. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class. + + Name of the service. + Authentication username. + + + + Called when type specific data need to be saved. + + + + + Represents "none" SSH_MSG_USERAUTH_REQUEST message. + + + + + Initializes a new instance of the class. + + Name of the service. + Authentication username. + + + + Represents "password" SSH_MSG_USERAUTH_REQUEST message. + + + + + Gets authentication password. + + + + + Gets new authentication password. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class. + + Name of the service. + Authentication username. + Authentication password. + + + + Initializes a new instance of the class. + + Name of the service. + Authentication username. + Authentication password. + New authentication password. + + + + Called when type specific data need to be saved. + + + + + Represents "publickey" SSH_MSG_USERAUTH_REQUEST message. + + + + + Gets the name of the public key algorithm as ASCII encoded byte array. + + + The name of the public key algorithm. + + + + + Gets the public key data. + + + + + Gets or sets public key signature. + + + The signature. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class. + + Name of the service. + Authentication username. + Name of private key algorithm. + Private key data. + + + + Initializes a new instance of the class. + + Name of the service. + Authentication username. + Name of private key algorithm. + Private key data. + Private key signature. + + + + Called when type specific data need to be saved. + + + + + Represents SSH_MSG_USERAUTH_SUCCESS message. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Base class for all SSH protocol messages + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Writes the message to the specified . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Process the current message for the specified . + + The for which to process the current message. + + + + Indicates that a class represents SSH message. This class cannot be inherited. + + + + + Gets or sets message name as defined in RFC 4250. + + + The name. + + + + + Gets or sets message number as defined in RFC 4250. + + + The number. + + + + + Initializes a new instance of the class. + + The name. + The number. + + + + Specifies list of supported services + + + + + ssh-userauth + + + + + ssh-connection + + + + + Gets the NetConf server capabilities. + + + The NetConf server capabilities. + + + + + Gets the NetConf client capabilities. + + + The NetConf client capabilities. + + + + + Gets NetConf server capabilities. + + + + + Gets NetConf client capabilities. + + + + + Initializes a new instance of the class. + + The session. + The number of milliseconds to wait for an operation to complete, or -1 to wait indefinitely. + + + + Encloses a path in double quotes, and escapes any embedded double quote with a backslash. + + + + + Encloses a path in double quotes, and escapes any embedded double quote with a backslash. + + The path to transform. + + The transformed path. + + is null. + + + + Original + Transformed + + + /var/log/auth.log + "/var/log/auth.log" + + + /var/mp3/Guns N' Roses + "/var/mp3/Guns N' Roses" + + + /var/garbage!/temp + "/var/garbage!/temp" + + + /var/would be 'kewl'!/not? + "/var/would be 'kewl'!, not?" + + + + "" + + + Hello "World" + "Hello \"World" + + + + + + + Performs no transformation. + + + + + Returns the specified path without applying a transformation. + + The path to transform. + + The specified path as is. + + is null. + + This transformation is recommended for servers that do not require any quoting to preserve the + literal value of metacharacters, or when paths are guaranteed to never contain any such characters. + + + + + Quotes a path in a way to be suitable to be used with a shell-based server. + + + + + Quotes a path in a way to be suitable to be used with a shell-based server. + + The path to transform. + + A quoted path. + + is null. + + + If contains a single-quote, that character is embedded + in quotation marks (eg. "'"). Sequences of single-quotes are grouped in a single + pair of quotation marks. + + + An exclamation mark in is escaped with a backslash. This is + necessary because C Shell interprets it as a meta-character for history substitution + even when enclosed in single quotes or quotation marks. + + + All other characters are enclosed in single quotes. Sequences of such characters are grouped + in a single pair of single quotes. + + + References: + + + Shell Command Language + + + Unix C-Shell special characters and their uses + + + Differences Between Bourne and C Shell Quoting + + + + + + + + Original + Transformed + + + /var/log/auth.log + '/var/log/auth.log' + + + /var/mp3/Guns N' Roses + '/var/mp3/Guns N'"'"' Roses' + + + /var/garbage!/temp + '/var/garbage'\!'/temp' + + + /var/would be 'kewl'!, not? + '/var/would be '"'"'kewl'"'"\!', not?' + + + + '' + + + Hello "World" + 'Hello "World"' + + + + + + + Provides access to built-in remote path transformations. + + + References: + + + Shell Command Language + + + Unix C-Shell special characters and their uses + + + Differences Between Bourne and C Shell Quoting + + + Everyone quotes command line arguments the wrong way + + + + + + + Quotes a path in a way to be suitable to be used with a shell-based server. + + + A quoted path. + + + + If a path contains a single-quote, that character is embedded in quotation marks (eg. "'"). + Sequences of single-quotes are grouped in a single pair of quotation marks. + + + An exclamation mark in a path is escaped with a backslash. This is necessary because C Shell + interprets it as a meta-character for history substitution even when enclosed in single quotes + or quotation marks. + + + All other characters are enclosed in single quotes. Sequences of such characters are grouped + in a single pair of single quotes. + + + + + + Original + Transformed + + + /var/log/auth.log + '/var/log/auth.log' + + + /var/mp3/Guns N' Roses + '/var/mp3/Guns N'"'"' Roses' + + + /var/garbage!/temp + '/var/garbage'\!'/temp' + + + /var/would be 'kewl'!, not? + '/var/would be '"'"'kewl'"'"\!', not?' + + + + '' + + + Hello "World" + 'Hello "World"' + + + + + + + Performs no transformation. + + + Recommended for servers that do not require any character to be escaped or enclosed in quotes, + or when paths are guaranteed to never contain any special characters (such as #, ", ', $, ...). + + + + + Encloses a path in double quotes, and escapes any embedded double quote with a backslash. + + + A transformation that encloses a path in double quotes, and escapes any embedded double quote with + a backslash. + + + + + Original + Transformed + + + /var/log/auth.log + "/var/log/auth.log" + + + /var/mp3/Guns N' Roses + "/var/mp3/Guns N' Roses" + + + /var/garbage!/temp + "/var/garbage!/temp" + + + /var/would be 'kewl'!, not? + "/var/would be 'kewl'!, not?" + + + + "" + + + Hello "World" + "Hello \"World" + + + + + + + Computes a Hash-based Message Authentication Code (HMAC) by using the hash function. + + + + + Initializes a with the specified key. + + The key. + + + + Initializes a with the specified key and size of the computed hash code. + + The key. + The size, in bits, of the computed hash code. + + + + Gets the size, in bits, of the computed hash code. + + + The size, in bits, of the computed hash code. + + + + + Finalizes the hash computation after the last data is processed by the cryptographic stream object. + + + The computed hash code. + + + + + Computes a Hash-based Message Authentication Code (HMAC) by using the hash function. + + + + + Initializes a with the specified key. + + The key. + + + + Initializes a with the specified key and size of the computed hash code. + + The key. + The size, in bits, of the computed hash code. + + + + Gets the size, in bits, of the computed hash code. + + + The size, in bits, of the computed hash code. + + + + + Finalizes the hash computation after the last data is processed by the cryptographic stream object. + + + The computed hash code. + + + + + Computes a Hash-based Message Authentication Code (HMAC) by using the hash function. + + + + + Initializes a with the specified key. + + The key. + + + + Initializes a with the specified key and size of the computed hash code. + + The key. + The size, in bits, of the computed hash code. + + + + Gets the size, in bits, of the computed hash code. + + + The size, in bits, of the computed hash code. + + + + + Finalizes the hash computation after the last data is processed by the cryptographic stream object. + + + The computed hash code. + + + + + Computes a Hash-based Message Authentication Code (HMAC) by using the hash function. + + + + + Initializes a with the specified key. + + The key. + + + + Initializes a with the specified key and size of the computed hash code. + + The key. + The size, in bits, of the computed hash code. + + + + Gets the size, in bits, of the computed hash code. + + + The size, in bits, of the computed hash code. + + + + + Finalizes the hash computation after the last data is processed by the cryptographic stream object. + + + The computed hash code. + + + + + Computes a Hash-based Message Authentication Code (HMAC) by using the hash function. + + + + + Initializes a with the specified key. + + The key. + + + + Initializes a with the specified key and size of the computed hash code. + + The key. + The size, in bits, of the computed hash code. + + + + Gets the size, in bits, of the computed hash code. + + + The size, in bits, of the computed hash code. + + + + + Finalizes the hash computation after the last data is processed by the cryptographic stream object. + + + The computed hash code. + + + + + Base class for asymmetric cipher implementations. + + + + + Gets the minimum data size. + + + The minimum data size. + + + + + Base class for block cipher implementations. + + + + + Gets the size of the block in bytes. + + + The size of the block in bytes. + + + + + Gets the minimum data size. + + + The minimum data size. + + + + + Gets the size of the block. + + + The size of the block. + + + + + Initializes a new instance of the class. + + The key. + Size of the block. + Cipher mode. + Cipher padding. + is null. + + + + Encrypts the specified data. + + The data. + The zero-based offset in at which to begin encrypting. + The number of bytes to encrypt from . + Encrypted data + + + + Decrypts the specified data. + + The data. + Decrypted data + + + + Decrypts the specified input. + + The input. + The zero-based offset in at which to begin decrypting. + The number of bytes to decrypt from . + + The decrypted data. + + + + + Base class for cipher implementation. + + + + + Gets the minimum data size. + + + The minimum data size. + + + + + Encrypts the specified input. + + The input. + Encrypted data. + + + + Encrypts the specified input. + + The input. + The zero-based offset in at which to begin encrypting. + The number of bytes to encrypt from . + + The encrypted data. + + + + + Decrypts the specified input. + + The input. + + The decrypted data. + + + + + Decrypts the specified input. + + The input. + The zero-based offset in at which to begin decrypting. + The number of bytes to decrypt from . + + The decrypted data. + + + + + Implements digital signature where where asymmetric cipher is used, + + + + + Initializes a new instance of the class. + + The object identifier. + The cipher. + + + + Verifies the signature. + + The input. + The signature. + + True if signature was successfully verified; otherwise false. + + + + + Creates the signature. + + The input. + + Signed input data. + + + + + Hashes the specified input. + + The input. + Hashed data. + + + + Encodes hash using DER. + + The hash data. + DER Encoded byte array + + + + AES cipher implementation. + + + + + Initializes a new instance of the class. + + The key. + The mode. + The padding. + is null. + Keysize is not valid for this algorithm. + + + + Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. + + The input data to encrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write encrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes encrypted. + + or is null. + or is too short. + + + + Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. + + The input data to decrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write decrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes decrypted. + + or is null. + or is too short. + + + + Implements ARCH4 cipher algorithm + + + + + Holds the state of the RC4 engine + + + + + Gets the minimum data size. + + + The minimum data size. + + + + + Initializes a new instance of the class. + + The key. + if set to true will disharged first 1536 bytes. + is null. + + + + Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. + + The input data to encrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write encrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes encrypted. + + + + + Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. + + The input data to decrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write decrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes decrypted. + + + + + Encrypts the specified input. + + The input. + The zero-based offset in at which to begin encrypting. + The number of bytes to encrypt from . + + Encrypted data. + + + + + Decrypts the specified input. + + The input. + + The decrypted data. + + + + + Decrypts the specified input. + + The input. + The zero-based offset in at which to begin decrypting. + The number of bytes to decrypt from . + + The decrypted data. + + + + + Blowfish cipher implementation. + + + + + The s-boxes + + + + + The s-boxes + + + + + The s-boxes + + + + + The s-boxes + + + + + The p-array + + + + + Initializes a new instance of the class. + + The key. + The mode. + The padding. + is null. + Keysize is not valid for this algorithm. + + + + Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. + + The input data to encrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write encrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes encrypted. + + + + + Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. + + The input data to decrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write decrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes decrypted. + + + + + apply the encryption cycle to each value pair in the table. + + The xl. + The xr. + The table. + + + + Implements CAST cipher algorithm + + + + + The rotating round key + + + + + The masking round key + + + + + Initializes a new instance of the class. + + The key. + The mode. + The padding. + is null. + Keysize is not valid for this algorithm. + + + + Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. + + The input data to encrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write encrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes encrypted. + + + + + Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. + + The input data to decrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write decrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes decrypted. + + + + + Sets the subkeys using the same nomenclatureas described in RFC2144. + + The key. + + + + The first of the three processing functions for the encryption and decryption. + + The input to be processed. + The mask to be used from Km[n]. + The rotation value to be used. + + + + + The second of the three processing functions for the encryption and decryption. + + The input to be processed. + The mask to be used from Km[n]. + The rotation value to be used. + + + + + The third of the three processing functions for the encryption and decryption. + + The input to be processed. + The mask to be used from Km[n]. + The rotation value to be used. + + + + + Does the 16 rounds to encrypt the block. + + The LH-32bits of the plaintext block. + The RH-32bits of the plaintext block. + The result. + + + + Base class for cipher mode implementations + + + + + Gets the cipher. + + + + + Gets the IV vector. + + + + + Holds block size of the cipher. + + + + + Initializes a new instance of the class. + + The iv. + + + + Initializes the specified cipher mode. + + The cipher. + + + + Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. + + The input data to encrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write encrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes encrypted. + + + + + Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. + + The input data to decrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write decrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes decrypted. + + + + + Base class for cipher padding implementations + + + + + Pads the specified input to match the block size. + + Size of the block. + The input. + + Padded data array. + + + + + Pads the specified input to match the block size. + + Size of the block. + The input. + The zero-based offset in at which the data to pad starts. + The number of bytes in to take into account. + + The padded data array. + + + + + Pads the specified input with a given number of bytes. + + The input. + The number of bytes to pad the input with. + + The padded data array. + + + + + Pads the specified input with a given number of bytes. + + The input. + The zero-based offset in at which the data to pad starts. + The number of bytes in to take into account. + The number of bytes to pad the input with. + + The padded data array. + + + + + Implements DES cipher algorithm. + + + + + Initializes a new instance of the class. + + The key. + The mode. + The padding. + is null. + + + + Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. + + The input data to encrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write encrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes encrypted. + + + + + Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. + + The input data to decrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write decrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes decrypted. + + + + + Generates the working key. + + if set to true [encrypting]. + The key. + Generated working key. + + + + Validates the key. + + + + + Performs DES function. + + The w key. + The input. + The in off. + The out bytes. + The out off. + + + + Implements CBC cipher mode + + + + + Initializes a new instance of the class. + + The iv. + + + + Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. + + The input data to encrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write encrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes encrypted. + + + + + Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. + + The input data to decrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write decrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes decrypted. + + + + + Implements CFB cipher mode + + + + + Initializes a new instance of the class. + + The iv. + + + + Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. + + The input data to encrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write encrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes encrypted. + + + + + Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. + + The input data to decrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write decrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes decrypted. + + + + + Implements CTR cipher mode + + + + + Initializes a new instance of the class. + + The iv. + + + + Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. + + The input data to encrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write encrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes encrypted. + + + + + Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. + + The input data to decrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write decrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes decrypted. + + + + + Implements OFB cipher mode + + + + + Initializes a new instance of the class. + + The iv. + + + + Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. + + The input data to encrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write encrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes encrypted. + + + + + Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. + + The input data to decrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write decrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes decrypted. + + + + + Implements PKCS5 cipher padding + + + + + Pads the specified input to match the block size. + + The size of the block. + The input. + The zero-based offset in at which the data to pad starts. + The number of bytes in to take into account. + + The padded data array. + + + + + Pads the specified input with a given number of bytes. + + The input. + The zero-based offset in at which the data to pad starts. + The number of bytes in to take into account. + The number of bytes to pad the input with. + + The padded data array. + + + + + Implements PKCS7 cipher padding + + + + + Pads the specified input to match the block size. + + The size of the block. + The input. + The zero-based offset in at which the data to pad starts. + The number of bytes in to take into account. + + The padded data array. + + + + + Pads the specified input with a given number of bytes. + + The input. + The zero-based offset in at which the data to pad starts. + The number of bytes in to take into account. + The number of bytes to pad the input with. + + The padded data array. + + + + + Implements RSA cipher algorithm. + + + + + Initializes a new instance of the class. + + The RSA key. + + + + Encrypts the specified data. + + The data. + The zero-based offset in at which to begin encrypting. + The number of bytes to encrypt from . + Encrypted data. + + + + Decrypts the specified data. + + The data. + + The decrypted data. + + Only block type 01 or 02 are supported. + Thrown when decrypted block type is not supported. + + + + Decrypts the specified input. + + The input. + The zero-based offset in at which to begin decrypting. + The number of bytes to decrypt from . + + The decrypted data. + + Only block type 01 or 02 are supported. + Thrown when decrypted block type is not supported. + + + + Implements Serpent cipher algorithm. + + + + + Initializes a new instance of the class. + + The key. + The mode. + The padding. + is null. + Keysize is not valid for this algorithm. + + + + Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. + + The input data to encrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write encrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes encrypted. + + + + + Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. + + The input data to decrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write decrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes decrypted. + + + + + Expand a user-supplied key material into a session key. + + The user-key bytes to use. + + A session key. + + is not multiple of 4 bytes. + + + + S0 - { 3, 8,15, 1,10, 6, 5,11,14,13, 4, 2, 7, 0, 9,12 } - 15 terms. + + A. + The b. + The c. + The d. + + + + InvSO - {13, 3,11, 0,10, 6, 5,12, 1,14, 4, 7,15, 9, 8, 2 } - 15 terms. + + A. + The b. + The c. + The d. + + + + S1 - {15,12, 2, 7, 9, 0, 5,10, 1,11,14, 8, 6,13, 3, 4 } - 14 terms. + + A. + The b. + The c. + The d. + + + + InvS1 - { 5, 8, 2,14,15, 6,12, 3,11, 4, 7, 9, 1,13,10, 0 } - 14 steps. + + A. + The b. + The c. + The d. + + + + S2 - { 8, 6, 7, 9, 3,12,10,15,13, 1,14, 4, 0,11, 5, 2 } - 16 terms. + + A. + The b. + The c. + The d. + + + + InvS2 - {12, 9,15, 4,11,14, 1, 2, 0, 3, 6,13, 5, 8,10, 7 } - 16 steps. + + A. + The b. + The c. + The d. + + + + S3 - { 0,15,11, 8,12, 9, 6, 3,13, 1, 2, 4,10, 7, 5,14 } - 16 terms. + + A. + The b. + The c. + The d. + + + + InvS3 - { 0, 9,10, 7,11,14, 6,13, 3, 5,12, 2, 4, 8,15, 1 } - 15 terms + + A. + The b. + The c. + The d. + + + + S4 - { 1,15, 8, 3,12, 0,11, 6, 2, 5, 4,10, 9,14, 7,13 } - 15 terms. + + A. + The b. + The c. + The d. + + + + InvS4 - { 5, 0, 8, 3,10, 9, 7,14, 2,12,11, 6, 4,15,13, 1 } - 15 terms. + + A. + The b. + The c. + The d. + + + + S5 - {15, 5, 2,11, 4,10, 9,12, 0, 3,14, 8,13, 6, 7, 1 } - 16 terms. + + A. + The b. + The c. + The d. + + + + InvS5 - { 8,15, 2, 9, 4, 1,13,14,11, 6, 5, 3, 7,12,10, 0 } - 16 terms. + + A. + The b. + The c. + The d. + + + + S6 - { 7, 2,12, 5, 8, 4, 6,11,14, 9, 1,15,13, 3,10, 0 } - 15 terms. + + A. + The b. + The c. + The d. + + + + InvS6 - {15,10, 1,13, 5, 3, 6, 0, 4, 9,14, 7, 2,12, 8,11 } - 15 terms. + + A. + The b. + The c. + The d. + + + + S7 - { 1,13,15, 0,14, 8, 2,11, 7, 4,12,10, 9, 3, 5, 6 } - 16 terms. + + A. + The b. + The c. + The d. + + + + InvS7 - { 3, 0, 6,13, 9,14,15, 8, 5,12,11, 7,10, 1, 4, 2 } - 17 terms. + + A. + The b. + The c. + The d. + + + + Apply the linear transformation to the register set. + + + + + Apply the inverse of the linear transformation to the register set. + + + + + Implements 3DES cipher algorithm. + + + + + Initializes a new instance of the class. + + The key. + The mode. + The padding. + is null. + + + + Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. + + The input data to encrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write encrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes encrypted. + + + + + Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. + + The input data to decrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write decrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes decrypted. + + + + + Validates the key. + + + + + Implements Twofish cipher algorithm + + + + + Initializes a new instance of the class. + + The key. + The mode. + The padding. + is null. + Keysize is not valid for this algorithm. + + + + Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. + + The input data to encrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write encrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes encrypted. + + + + + Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. + + The input data to decrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write decrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes decrypted. + + + + Define the fixed p0/p1 permutations used in keyed S-box lookup. + By changing the following constant definitions, the S-boxes will + automatically Get changed in the Twofish engine. + + + gSubKeys[] and gSBox[] are eventually used in the + encryption and decryption methods. + + + Use (12, 8) Reed-Solomon code over GF(256) to produce + a key S-box 32-bit entity from 2 key material 32-bit + entities. + + @param k0 first 32-bit entity + @param k1 second 32-bit entity + @return Remainder polynomial Generated using RS code + + + Reed-Solomon code parameters: (12,8) reversible code: +

+

+            G(x) = x^4 + (a+1/a)x^3 + ax^2 + (a+1/a)x + 1
+            
+ where a = primitive root of field generator 0x14D +

+
+ + + Base class for signature implementations + + + + + Verifies the signature. + + The input. + The signature. + True if signature was successfully verified; otherwise false. + + + + Creates the signature. + + The input. + Signed input data. + + + + Implements DSA digital signature algorithm. + + + + + Initializes a new instance of the class. + + The DSA key. + is null. + + + + Verifies the signature. + + The input. + The signature. + + true if signature was successfully verified; otherwise false. + + Invalid signature. + + + + Creates the signature. + + The input. + + Signed input data. + + Invalid DSA key. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Implements RSA digital signature algorithm. + + + + + Initializes a new instance of the class. + + The RSA key. + + + + Hashes the specified input. + + The input. + + Hashed data. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Base class of stream cipher algorithms. + + + + + Initializes a new instance of the class. + + The key. + is null. + + + + Base class for symmetric cipher implementations. + + + + + Gets the key. + + + + + Initializes a new instance of the class. + + The key. + is null. + + + + Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array. + + The input data to encrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write encrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes encrypted. + + + + + Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array. + + The input data to decrypt. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write decrypted data. + The offset into the output byte array from which to begin writing data. + + The number of bytes decrypted. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Represents a key exchange algorithm. + + + + + Occurs when the host key is received. + + + + + Gets the name of the algorithm. + + + The name of the algorithm. + + + + + Gets the exchange hash. + + + The exchange hash. + + + + + Starts the key exchange algorithm. + + The session. + Key exchange init message. + + + + Finishes the key exchange algorithm. + + + + + Creates the client-side cipher to use. + + + The client cipher. + + + + + Creates the server-side cipher to use. + + + The server cipher. + + + + + Creates the server-side hash algorithm to use. + + + The server hash algorithm. + + + + + Creates the client-side hash algorithm to use. + + + The client hash algorithm. + + + + + Creates the compression algorithm to use to deflate data. + + + The compression method to deflate data. + + + + + Creates the compression algorithm to use to inflate data. + + + The compression method to inflate data. + + + + + Base class for "diffie-hellman-group-exchange" algorithms. + + + + + Calculates key exchange hash value. + + + Key exchange hash. + + + + + Starts key exchange algorithm + + The session. + Key exchange init message. + + + + Finishes key exchange algorithm. + + + + + Represents "diffie-hellman-group1-sha1" algorithm implementation. + + + + + Gets the group prime. + + + The group prime. + + + + + Gets the size, in bits, of the computed hash code. + + + The size, in bits, of the computed hash code. + + + + + Calculates key exchange hash value. + + + Key exchange hash. + + + + + Starts key exchange algorithm + + The session. + Key exchange init message. + + + + Finishes key exchange algorithm. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Represents the abstract base class from which all implementations of algorithms must inherit. + + + + + Gets algorithm name. + + + + + Implements certificate support for host algorithm. + + + + + Gets the host key data. + + + + + Initializes a new instance of the class. + + The host key name. + + + + Signs the specified data. + + The data. + Signed data. + + + + + Verifies the signature. + + The data. + The signature. + true if signature was successfully verified; otherwise false. + + + + + Contains DSA private and public key + + + + + Gets the P. + + + + + Gets the Q. + + + + + Gets the G. + + + + + Gets public key Y. + + + + + Gets private key X. + + + + + Gets the length of the key. + + + The length of the key. + + + + + Gets the digital signature. + + + + + Gets or sets the public. + + + The public. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + DER encoded private key data. + + + + Initializes a new instance of the class. + + The p. + The q. + The g. + The y. + The x. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Base class for asymmetric cipher algorithms + + + + + Specifies array of big integers that represent private key + + + + + Gets the key specific digital signature. + + + + + Gets or sets the public key. + + + The public. + + + + + Gets the length of the key. + + + The length of the key. + + + + + Initializes a new instance of the class. + + DER encoded private key data. + + + + Initializes a new instance of the class. + + + + + Signs the specified data with the key. + + The data to sign. + + Signed data. + + + + + Verifies the signature. + + The data to verify. + The signature to verify against. + True is signature was successfully verifies; otherwise false. + + + + Contains RSA private and public key + + + + + Gets the modulus. + + + + + Gets the exponent. + + + + + Gets the D. + + + + + Gets the P. + + + + + Gets the Q. + + + + + Gets the DP. + + + + + Gets the DQ. + + + + + Gets the inverse Q. + + + + + Gets the length of the key. + + + The length of the key. + + + + + Gets the digital signature. + + + + + Gets or sets the public. + + + The public. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + DER encoded private key data. + + + + Initializes a new instance of the class. + + The modulus. + The exponent. + The d. + The p. + The q. + The inverse Q. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Base class for SSH host algorithms. + + + + + Gets the host key name. + + + + + Gets the host key data. + + + + + Initializes a new instance of the class. + + The host key name. + + + + Signs the specified data. + + The data. + Signed data. + + + + Verifies the signature. + + The data. + The signature. + True is signature was successfully verifies; otherwise false. + + + + Represents base class for different key exchange algorithm implementations + + + + + Gets or sets the session. + + + The session. + + + + + Gets or sets key exchange shared key. + + + The shared key. + + + + + Gets the exchange hash. + + The exchange hash. + + + + Occurs when host key received. + + + + + Starts key exchange algorithm + + The session. + Key exchange init message. + + + + Finishes key exchange algorithm. + + + + + Creates the server side cipher to use. + + Server cipher. + + + + Creates the client side cipher to use. + + Client cipher. + + + + Creates the server side hash algorithm to use. + + Hash algorithm + + + + Creates the client side hash algorithm to use. + + Hash algorithm + + + + Creates the compression algorithm to use to deflate data. + + Compression method. + + + + Creates the compression algorithm to use to inflate data. + + Compression method. + + + + Determines whether the specified host key can be trusted. + + The host algorithm. + + true if the specified host can be trusted; otherwise, false. + + + + + Validates the exchange hash. + + true if exchange hash is valid; otherwise false. + + + + Calculates key exchange hash value. + + Key exchange hash. + + + + Hashes the specified data bytes. + + The hash data. + + Hashed bytes + + + + + Sends SSH message to the server + + The message. + + + + Generates the session key. + + The shared key. + The exchange hash. + The key. + The size. + + + + + Generates the session key. + + The shared key. + The exchange hash. + The p. + The session id. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Represents base class for Diffie Hellman key exchange algorithm + + + + + Specifies key exchange group number. + + + + + Specifies key exchange prime number. + + + + + Specifies client payload + + + + + Specifies server payload + + + + + Specifies client exchange number. + + + + + Specifies server exchange number. + + + + + Specifies random generated number. + + + + + Specifies host key data. + + + + + Specifies signature data. + + + + + Gets the size, in bits, of the computed hash code. + + + The size, in bits, of the computed hash code. + + + + + Validates the exchange hash. + + + true if exchange hash is valid; otherwise false. + + + + + Starts key exchange algorithm + + The session. + Key exchange init message. + + + + Populates the client exchange value. + + + + + Handles the server DH reply message. + + The host key. + The server exchange value. + The signature. + + + + Represents "diffie-hellman-group14-sha1" algorithm implementation. + + + + + https://tools.ietf.org/html/rfc2409#section-6.2 + + + + + Gets algorithm name. + + + + + Gets the group prime. + + + The group prime. + + + + + Represents "diffie-hellman-group1-sha1" algorithm implementation. + + + + + Gets algorithm name. + + + + + Gets the group prime. + + + The group prime. + + + + + Represents "diffie-hellman-group-exchange-sha1" algorithm implementation. + + + + + Gets algorithm name. + + + + + Gets the size, in bits, of the computed hash code. + + + The size, in bits, of the computed hash code. + + + + + Represents "diffie-hellman-group-exchange-sha256" algorithm implementation. + + + + + Gets algorithm name. + + + + + Gets the size, in bits, of the computed hash code. + + + The size, in bits, of the computed hash code. + + + + + Hashes the specified data bytes. + + Data to hash. + + Hashed bytes + + + + + Implements key support for host algorithm. + + + + + Gets the key. + + + + + Gets the public key data. + + + + + Initializes a new instance of the class. + + Host key name. + Host key. + + + + Initializes a new instance of the class. + + Host key name. + Host key. + Host key encoded data. + + + + Signs the specified data. + + The data. + + Signed data. + + + + + Verifies the signature. + + The data. + The signature. + + True is signature was successfully verifies; otherwise false. + + + + + Gets or sets the name of the algorithm as UTF-8 encoded byte array. + + + The name of the algorithm. + + + + + Gets or sets the signature. + + + The signature. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Called when type specific data need to be loaded. + + + + + Called when type specific data need to be saved. + + + + + Basic factory for creating new services. + + + + + Defines the number of times an authentication attempt with any given + can result in before it is disregarded. + + + + + Creates a . + + + A . + + + + + Creates a new with the specified . + + The to use for creating a new session. + + An for the specified . + + is null. + + + + Creates a new in a given and with + the specified operation timeout and encoding. + + The to create the in. + The number of milliseconds to wait for an operation to complete, or -1 to wait indefinitely. + The encoding. + The factory to use for creating SFTP messages. + + An . + + + + + Create a new . + + + A . + + + + + Negotiates a key exchange algorithm, and creates a for the negotiated + algorithm. + + A of the key exchange algorithms supported by the client where key is the name of the algorithm, and value is the type implementing this algorithm. + The names of the key exchange algorithms supported by the SSH server. + + A that was negotiated between client and server. + + is null. + is null. + No key exchange algorithms are supported by both client and server. + + + + Creates a shell stream. + + The SSH session. + The TERM environment variable. + The terminal width in columns. + The terminal width in rows. + The terminal height in pixels. + The terminal height in pixels. + The terminal mode values. + The size of the buffer. + + The created instance. + + Client is not connected. + + + The TERM environment variable contains an identifier for the text window's capabilities. + You can get a detailed list of these cababilities by using the ‘infocmp’ command. + + + The column/row dimensions override the pixel dimensions(when non-zero). Pixel dimensions refer + to the drawable area of the window. + + + + + + Creates an that encloses a path in double quotes, and escapes + any embedded double quote with a backslash. + + + An that encloses a path in double quotes, and escapes any + embedded double quote with a backslash. + with a shell. + + + + + Creates a new in a given + and with the specified operation timeout. + + The to create the in. + The number of milliseconds to wait for an operation to complete, or -1 to wait indefinitely. + + An . + + + + + Gets the SFTP protocol version. + + + The SFTP protocol version. + + + + + Gets the remote working directory. + + + The remote working directory. + + + + + Changes the current working directory to the specified path. + + The new working directory. + + + + Resolves a given path into an absolute path on the server. + + The path to resolve. + + The absolute path. + + + + + Performs SSH_FXP_FSTAT request. + + The handle. + if set to true returns null instead of throwing an exception. + + File attributes + + + + + Performs SSH_FXP_STAT request. + + The path. + if set to true returns null instead of throwing an exception. + + File attributes + + + + + Performs SSH_FXP_STAT request + + The path. + The delegate that is executed when completes. + An object that contains any additional user-defined data. + + A that represents the asynchronous call. + + + + + Handles the end of an asynchronous read. + + An that represents an asynchronous call. + + The file attributes. + + is null. + + + + Performs SSH_FXP_LSTAT request. + + The path. + + File attributes + + + + + Performs SSH_FXP_LSTAT request. + + The path. + The delegate that is executed when completes. + An object that contains any additional user-defined data. + + A that represents the asynchronous call. + + + + + Handles the end of an asynchronous SSH_FXP_LSTAT request. + + An that represents an asynchronous call. + + The file attributes. + + is null. + + + + Performs SSH_FXP_MKDIR request. + + The path. + + + + Performs SSH_FXP_OPEN request + + The path. + The flags. + if set to true returns null instead of throwing an exception. + File handle. + + + + Performs SSH_FXP_OPEN request + + The path. + The flags. + The delegate that is executed when completes. + An object that contains any additional user-defined data. + + A that represents the asynchronous call. + + + + + Handles the end of an asynchronous read. + + An that represents an asynchronous call. + + A array representing a file handle. + + + If all available data has been read, the method completes + immediately and returns zero bytes. + + is null. + + + + Performs SSH_FXP_OPENDIR request + + The path. + if set to true returns null instead of throwing an exception. + File handle. + + + + Performs posix-rename@openssh.com extended request. + + The old path. + The new path. + + + + Performs SSH_FXP_READ request. + + The handle. + The offset. + The length. + data array; null if EOF + + + + Begins an asynchronous read using a SSH_FXP_READ request. + + The handle to the file to read from. + The offset in the file to start reading from. + The number of bytes to read. + The delegate that is executed when completes. + An object that contains any additional user-defined data. + + A that represents the asynchronous call. + + + + + Handles the end of an asynchronous read. + + An that represents an asynchronous call. + + A array representing the data read. + + + If all available data has been read, the method completes + immediately and returns zero bytes. + + is null. + + + + Performs SSH_FXP_READDIR request + + The handle. + + + + + Performs SSH_FXP_REALPATH request. + + The path. + The delegate that is executed when completes. + An object that contains any additional user-defined data. + + A that represents the asynchronous call. + + + + + Handles the end of an asynchronous SSH_FXP_REALPATH request. + + An that represents an asynchronous call. + + The absolute path. + + is null. + + + + Performs SSH_FXP_REMOVE request. + + The path. + + + + Performs SSH_FXP_RENAME request. + + The old path. + The new path. + + + + Performs SSH_FXP_RMDIR request. + + The path. + + + + Performs SSH_FXP_SETSTAT request. + + The path. + The attributes. + + + + Performs statvfs@openssh.com extended request. + + The path. + if set to true [null on error]. + + + + + Performs SSH_FXP_SYMLINK request. + + The linkpath. + The targetpath. + + + + Performs SSH_FXP_FSETSTAT request. + + The handle. + The attributes. + + + + Performs SSH_FXP_WRITE request. + + The handle. + The the zero-based offset (in bytes) relative to the beginning of the file that the write must start at. + The buffer holding the data to write. + the zero-based offset in at which to begin taking bytes to write. + The length (in bytes) of the data to write. + The wait event handle if needed. + The callback to invoke when the write has completed. + + + + Performs SSH_FXP_CLOSE request. + + The handle. + + + + Performs SSH_FXP_CLOSE request. + + The handle. + The delegate that is executed when completes. + An object that contains any additional user-defined data. + + A that represents the asynchronous call. + + + + + Handles the end of an asynchronous close. + + An that represents an asynchronous call. + is null. + + + + Calculates the optimal size of the buffer to read data from the channel. + + The buffer size configured on the client. + + The optimal size of the buffer to read data from the channel. + + + + + Calculates the optimal size of the buffer to write data on the channel. + + The buffer size configured on the client. + The file handle. + + The optimal size of the buffer to write data on the channel. + + + Currently, we do not take the remote window size into account. + + + + + SSH_FXF_READ + + + + + SSH_FXF_WRITE + + + + + SSH_FXF_APPEND + + + + + SSH_FXF_CREAT + + + + + SSH_FXF_TRUNC + + + + + SSH_FXF_EXCL + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Initializes a new instance of the class. + + The protocol version. + The request id. + Specifies the path name of the new link to create. + Specifies the path of a target object to which the newly created link will refer. In the case of a symbolic link, this path may not exist. + if set to false the link should be a hard link, or a second directory entry referring to the same file or directory object. + The status action. + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Gets the zero-based offset (in bytes) relative to the beginning of the file that the write + must start at. + + + The zero-based offset (in bytes) relative to the beginning of the file that the write must + start at. + + + + + Gets the buffer holding the data to write. + + + The buffer holding the data to write. + + + + + Gets the zero-based offset in at which to begin taking bytes to + write. + + + The zero-based offset in at which to begin taking bytes to write. + + + + + Gets the length (in bytes) of the data to write. + + + The length (in bytes) of the data to write. + + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Encapsulates the results of an asynchronous download operation. + + + + + Gets or sets a value indicating whether to cancel asynchronous download operation. + + + true if download operation to be canceled; otherwise, false. + + + Download operation will be canceled after finishing uploading current buffer. + + + + + Gets the number of downloaded bytes. + + + + + Initializes a new instance of the class. + + The async callback. + The state. + + + + Updates asynchronous operation status information. + + Number of downloaded bytes. + + + + Represents SFTP file information + + + + + Gets the file attributes. + + + + + Initializes a new instance of the class. + + The SFTP session. + Full path of the directory or file. + Attributes of the directory or file. + or is null. + + + + Gets the full path of the directory or file. + + + + + For files, gets the name of the file. For directories, gets the name of the last directory in the hierarchy if a hierarchy exists. + Otherwise, the Name property gets the name of the directory. + + + + + Gets or sets the time the current file or directory was last accessed. + + + The time that the current file or directory was last accessed. + + + + + Gets or sets the time when the current file or directory was last written to. + + + The time the current file was last written. + + + + + Gets or sets the time, in coordinated universal time (UTC), the current file or directory was last accessed. + + + The time that the current file or directory was last accessed. + + + + + Gets or sets the time, in coordinated universal time (UTC), when the current file or directory was last written to. + + + The time the current file was last written. + + + + + Gets or sets the size, in bytes, of the current file. + + + The size of the current file in bytes. + + + + + Gets or sets file user id. + + + File user id. + + + + + Gets or sets file group id. + + + File group id. + + + + + Gets a value indicating whether file represents a socket. + + + true if file represents a socket; otherwise, false. + + + + + Gets a value indicating whether file represents a symbolic link. + + + true if file represents a symbolic link; otherwise, false. + + + + + Gets a value indicating whether file represents a regular file. + + + true if file represents a regular file; otherwise, false. + + + + + Gets a value indicating whether file represents a block device. + + + true if file represents a block device; otherwise, false. + + + + + Gets a value indicating whether file represents a directory. + + + true if file represents a directory; otherwise, false. + + + + + Gets a value indicating whether file represents a character device. + + + true if file represents a character device; otherwise, false. + + + + + Gets a value indicating whether file represents a named pipe. + + + true if file represents a named pipe; otherwise, false. + + + + + Gets or sets a value indicating whether the owner can read from this file. + + + true if owner can read from this file; otherwise, false. + + + + + Gets or sets a value indicating whether the owner can write into this file. + + + true if owner can write into this file; otherwise, false. + + + + + Gets or sets a value indicating whether the owner can execute this file. + + + true if owner can execute this file; otherwise, false. + + + + + Gets or sets a value indicating whether the group members can read from this file. + + + true if group members can read from this file; otherwise, false. + + + + + Gets or sets a value indicating whether the group members can write into this file. + + + true if group members can write into this file; otherwise, false. + + + + + Gets or sets a value indicating whether the group members can execute this file. + + + true if group members can execute this file; otherwise, false. + + + + + Gets or sets a value indicating whether the others can read from this file. + + + true if others can read from this file; otherwise, false. + + + + + Gets or sets a value indicating whether the others can write into this file. + + + true if others can write into this file; otherwise, false. + + + + + Gets or sets a value indicating whether the others can execute this file. + + + true if others can execute this file; otherwise, false. + + + + + Sets file permissions. + + The mode. + + + + Permanently deletes a file on remote machine. + + + + + Moves a specified file to a new location on remote machine, providing the option to specify a new file name. + + The path to move the file to, which can specify a different file name. + is null. + + + + Updates file status on the server. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Contains SFTP file attributes. + + + + + Gets or sets the time the current file or directory was last accessed. + + + The time that the current file or directory was last accessed. + + + + + Gets or sets the time when the current file or directory was last written to. + + + The time the current file was last written. + + + + + Gets or sets the size, in bytes, of the current file. + + + The size of the current file in bytes. + + + + + Gets or sets file user id. + + + File user id. + + + + + Gets or sets file group id. + + + File group id. + + + + + Gets a value indicating whether file represents a socket. + + + true if file represents a socket; otherwise, false. + + + + + Gets a value indicating whether file represents a symbolic link. + + + true if file represents a symbolic link; otherwise, false. + + + + + Gets a value indicating whether file represents a regular file. + + + true if file represents a regular file; otherwise, false. + + + + + Gets a value indicating whether file represents a block device. + + + true if file represents a block device; otherwise, false. + + + + + Gets a value indicating whether file represents a directory. + + + true if file represents a directory; otherwise, false. + + + + + Gets a value indicating whether file represents a character device. + + + true if file represents a character device; otherwise, false. + + + + + Gets a value indicating whether file represents a named pipe. + + + true if file represents a named pipe; otherwise, false. + + + + + Gets a value indicating whether the owner can read from this file. + + + true if owner can read from this file; otherwise, false. + + + + + Gets a value indicating whether the owner can write into this file. + + + true if owner can write into this file; otherwise, false. + + + + + Gets a value indicating whether the owner can execute this file. + + + true if owner can execute this file; otherwise, false. + + + + + Gets a value indicating whether the group members can read from this file. + + + true if group members can read from this file; otherwise, false. + + + + + Gets a value indicating whether the group members can write into this file. + + + true if group members can write into this file; otherwise, false. + + + + + Gets a value indicating whether the group members can execute this file. + + + true if group members can execute this file; otherwise, false. + + + + + Gets a value indicating whether the others can read from this file. + + + true if others can read from this file; otherwise, false. + + + + + Gets a value indicating whether the others can write into this file. + + + true if others can write into this file; otherwise, false. + + + + + Gets a value indicating whether the others can execute this file. + + + true if others can execute this file; otherwise, false. + + + + + Gets or sets the extensions. + + + The extensions. + + + + + Sets the permissions. + + The mode. + + + + Returns a byte array representing the current . + + + A byte array representing the current . + + + + + Holds the size of the file, when available. + + + + + Holds a value indicating whether EOF has already been signaled by the SSH server. + + + + + Holds a value indicating whether the client has read up to the end of the file. + + + + + Initializes a new instance with the specified handle, + and the maximum number of pending reads. + + + + The size of a individual read-ahead chunk. + The maximum number of pending reads. + The size of the file, if known; otherwise, null. + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Returns a value indicating whether the read-ahead loop should be continued. + + + true if the read-ahead loop should be continued; otherwise, false. + + + + + Exposes a around a remote SFTP file, supporting both synchronous and asynchronous read and write operations. + + + + + Gets a value indicating whether the current stream supports reading. + + + true if the stream supports reading; otherwise, false. + + + + + Gets a value indicating whether the current stream supports seeking. + + + true if the stream supports seeking; otherwise, false. + + + + + Gets a value indicating whether the current stream supports writing. + + + true if the stream supports writing; otherwise, false. + + + + + Indicates whether timeout properties are usable for . + + + true in all cases. + + + + + Gets the length in bytes of the stream. + + A long value representing the length of the stream in bytes. + A class derived from Stream does not support seeking. + Methods were called after the stream was closed. + IO operation failed. + + + + Gets or sets the position within the current stream. + + The current position within the stream. + An I/O error occurs. + The stream does not support seeking. + Methods were called after the stream was closed. + + + + Gets the name of the path that was used to construct the current . + + + The name of the path that was used to construct the current . + + + + + Gets the operating system file handle for the file that the current encapsulates. + + + The operating system file handle for the file that the current encapsulates. + + + + + Gets or sets the operation timeout. + + + The timeout. + + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Clears all buffers for this stream and causes any buffered data to be written to the file. + + An I/O error occurs. + Stream is closed. + + + + Reads a sequence of bytes from the current stream and advances the position within the stream by the + number of bytes read. + + An array of bytes. When this method returns, the buffer contains the specified byte array with the values between and ( + - 1) replaced by the bytes read from the current source. + The zero-based byte offset in at which to begin storing the data read from the current stream. + The maximum number of bytes to be read from the current stream. + + The total number of bytes read into the buffer. This can be less than the number of bytes requested + if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. + + The sum of and is larger than the buffer length. + is null. + or is negative. + An I/O error occurs. + The stream does not support reading. + Methods were called after the stream was closed. + + + This method attempts to read up to bytes. This either from the buffer, from the + server (using one or more SSH_FXP_READ requests) or using a combination of both. + + + The read loop is interrupted when either bytes are read, the server returns zero + bytes (EOF) or less bytes than the read buffer size. + + + When a server returns less number of bytes than the read buffer size, this may indicate that EOF has + been reached. A subsequent (SSH_FXP_READ) server request is necessary to make sure EOF has effectively + been reached. Breaking out of the read loop avoids reading from the server twice to determine EOF: once in + the read loop, and once upon the next or invocation. + + + + + + Reads a byte from the stream and advances the position within the stream by one byte, or returns -1 if at the end of the stream. + + + The unsigned byte cast to an , or -1 if at the end of the stream. + + The stream does not support reading. + Methods were called after the stream was closed. + Read operation failed. + + + + Sets the position within the current stream. + + A byte offset relative to the parameter. + A value of type indicating the reference point used to obtain the new position. + + The new position within the current stream. + + An I/O error occurs. + The stream does not support seeking, such as if the stream is constructed from a pipe or console output. + Methods were called after the stream was closed. + + + + Sets the length of the current stream. + + The desired length of the current stream in bytes. + An I/O error occurs. + The stream does not support both writing and seeking. + Methods were called after the stream was closed. + must be greater than zero. + + + Buffers are first flushed. + + + If the specified value is less than the current length of the stream, the stream is truncated and - if the + current position is greater than the new length - the current position is moved to the last byte of the stream. + + + If the given value is greater than the current length of the stream, the stream is expanded and the current + position remains the same. + + + + + + Writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + An array of bytes. This method copies bytes from to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + The sum of and is greater than the buffer length. + is null. + or is negative. + An I/O error occurs. + The stream does not support writing. + Methods were called after the stream was closed. + + + + Writes a byte to the current position in the stream and advances the position within the stream by one byte. + + The byte to write to the stream. + An I/O error occurs. + The stream does not support writing, or the stream is already closed. + Methods were called after the stream was closed. + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Flushes the read data from the buffer. + + + + + Flush any buffered write data to the file. + + + + + Setups the read. + + + + + Setups the write. + + + + + Contains File system information exposed by statvfs@openssh.com request. + + + + + Gets the file system block size. + + + The file system block size. + + + + + Gets the fundamental file system size of the block. + + + The fundamental file system block size. + + + + + Gets the total blocks. + + + The total blocks. + + + + + Gets the free blocks. + + + The free blocks. + + + + + Gets the available blocks. + + + The available blocks. + + + + + Gets the total nodes. + + + The total nodes. + + + + + Gets the free nodes. + + + The free nodes. + + + + + Gets the available nodes. + + + The available nodes. + + + + + Gets the sid. + + + The sid. + + + + + Gets a value indicating whether this instance is read only. + + + true if this instance is read only; otherwise, false. + + + + + Gets a value indicating whether [supports set uid]. + + + true if [supports set uid]; otherwise, false. + + + + + Gets the max name lenght. + + + The max name lenght. + + + + + Initializes a new instance of the class. + + The bsize. + The frsize. + The blocks. + The bfree. + The bavail. + The files. + The ffree. + The favail. + The sid. + The flag. + The namemax. + + + + Encapsulates the results of an asynchronous directory list operation. + + + + + Gets the number of files read so far. + + + + + Initializes a new instance of the class. + + The async callback. + The state. + + + + Updates asynchronous operation status information. + + The files read. + + + + Gets the size of the message in bytes. + + + The size of the messages in bytes. + + + + + Writes the current message to the specified . + + The to write the message to. + + + + SSH_FXP_INIT + + + + + SSH_FXP_VERSION + + + + + SSH_FXP_OPEN + + + + + SSH_FXP_CLOSE + + + + + SSH_FXP_READ + + + + + SSH_FXP_WRITE + + + + + SSH_FXP_LSTAT + + + + + SSH_FXP_FSTAT + + + + + SSH_FXP_SETSTAT + + + + + SSH_FXP_FSETSTAT + + + + + SSH_FXP_OPENDIR + + + + + SSH_FXP_READDIR + + + + + SSH_FXP_REMOVE + + + + + SSH_FXP_MKDIR + + + + + SSH_FXP_RMDIR + + + + + SSH_FXP_REALPATH + + + + + SSH_FXP_STAT + + + + + SSH_FXP_RENAME + + + + + SSH_FXP_READLINK + + + + + SSH_FXP_SYMLINK + + + + + SSH_FXP_LINK + + + + + SSH_FXP_BLOCK + + + + + SSH_FXP_UNBLOCK + + + + + SSH_FXP_STATUS + + + + + SSH_FXP_HANDLE + + + + + SSH_FXP_DATA + + + + + SSH_FXP_NAME + + + + + SSH_FXP_ATTRS + + + + + SSH_FXP_EXTENDED + + + + + SSH_FXP_EXTENDED_REPLY + + + + + Gets the character encoding to use. + + + + + Gets the remote working directory. + + + The remote working directory. + + + + + Gets the SFTP protocol version. + + + The SFTP protocol version. + + + + + Gets the next request id for sftp session. + + + + + Changes the current working directory to the specified path. + + The new working directory. + + + + Resolves a given path into an absolute path on the server. + + The path to resolve. + + The absolute path. + + + + + Performs SSH_FXP_OPEN request + + The path. + The flags. + if set to true returns null instead of throwing an exception. + File handle. + + + + Performs SSH_FXP_OPEN request + + The path. + The flags. + The delegate that is executed when completes. + An object that contains any additional user-defined data. + + A that represents the asynchronous call. + + + + + Handles the end of an asynchronous open. + + An that represents an asynchronous call. + + A array representing a file handle. + + + If all available data has been read, the method completes + immediately and returns zero bytes. + + is null. + + + + Performs SSH_FXP_CLOSE request. + + The handle. + + + + Performs SSH_FXP_CLOSE request. + + The handle. + The delegate that is executed when completes. + An object that contains any additional user-defined data. + + A that represents the asynchronous call. + + + + + Handles the end of an asynchronous close. + + An that represents an asynchronous call. + is null. + + + + Begins an asynchronous read using a SSH_FXP_READ request. + + The handle to the file to read from. + The offset in the file to start reading from. + The number of bytes to read. + The delegate that is executed when completes. + An object that contains any additional user-defined data. + + A that represents the asynchronous call. + + + + + Handles the end of an asynchronous read. + + An that represents an asynchronous call. + + A array representing the data read. + + + If all available data has been read, the method completes + immediately and returns zero bytes. + + is null. + + + + Performs SSH_FXP_READ request. + + The handle. + The offset. + The length. + data array; null if EOF + + + + Performs SSH_FXP_WRITE request. + + The handle. + The the zero-based offset (in bytes) relative to the beginning of the file that the write must start at. + The buffer holding the data to write. + the zero-based offset in at which to begin taking bytes to write. + The length (in bytes) of the data to write. + The wait event handle if needed. + The callback to invoke when the write has completed. + + + + Performs SSH_FXP_LSTAT request. + + The path. + + File attributes + + + + + Performs SSH_FXP_LSTAT request. + + The path. + The delegate that is executed when completes. + An object that contains any additional user-defined data. + + A that represents the asynchronous call. + + + + + Handles the end of an asynchronous SSH_FXP_LSTAT request. + + An that represents an asynchronous call. + + The file attributes. + + is null. + + + + Performs SSH_FXP_FSTAT request. + + The handle. + if set to true returns null instead of throwing an exception. + + File attributes + + + + + Performs SSH_FXP_SETSTAT request. + + The path. + The attributes. + + + + Performs SSH_FXP_FSETSTAT request. + + The handle. + The attributes. + + + + Performs SSH_FXP_OPENDIR request + + The path. + if set to true returns null instead of throwing an exception. + File handle. + + + + Performs SSH_FXP_READDIR request + + The handle. + + + + + Performs SSH_FXP_REMOVE request. + + The path. + + + + Performs SSH_FXP_MKDIR request. + + The path. + + + + Performs SSH_FXP_RMDIR request. + + The path. + + + + Performs SSH_FXP_REALPATH request + + The path. + if set to true returns null instead of throwing an exception. + + The absolute path. + + + + + Performs SSH_FXP_REALPATH request. + + The path. + The delegate that is executed when completes. + An object that contains any additional user-defined data. + + A that represents the asynchronous call. + + + + + Handles the end of an asynchronous SSH_FXP_REALPATH request. + + An that represents an asynchronous call. + + The absolute path. + + is null. + + + + Performs SSH_FXP_STAT request. + + The path. + if set to true returns null instead of throwing an exception. + + File attributes + + + + + Performs SSH_FXP_STAT request + + The path. + The delegate that is executed when completes. + An object that contains any additional user-defined data. + + A that represents the asynchronous call. + + + + + Handles the end of an asynchronous stat. + + An that represents an asynchronous call. + + The file attributes. + + is null. + + + + Performs SSH_FXP_RENAME request. + + The old path. + The new path. + + + + Performs SSH_FXP_READLINK request. + + The path. + if set to true returns null instead of throwing an exception. + + + + + Performs SSH_FXP_SYMLINK request. + + The linkpath. + The targetpath. + + + + Performs posix-rename@openssh.com extended request. + + The old path. + The new path. + + + + Performs statvfs@openssh.com extended request. + + The path. + if set to true [null on error]. + + + + + Performs fstatvfs@openssh.com extended request. + + The file handle. + if set to true [null on error]. + + + + + + Performs hardlink@openssh.com extended request. + + The old path. + The new path. + + + + Calculates the optimal size of the buffer to read data from the channel. + + The buffer size configured on the client. + + The optimal size of the buffer to read data from the channel. + + + + + Calculates the optimal size of the buffer to write data on the channel. + + The buffer size configured on the client. + The file handle. + + The optimal size of the buffer to write data on the channel. + + + Currently, we do not take the remote window size into account. + + + + + Encapsulates the results of an asynchronous directory synchronization operation. + + + + + Gets the number of files read so far. + + + + + Initializes a new instance of the class. + + The async callback. + The state. + + + + Updates asynchronous operation status information. + + The files read. + + + + Encapsulates the results of an asynchronous upload operation. + + + + + Gets or sets a value indicating whether to cancel asynchronous upload operation + + + true if upload operation to be canceled; otherwise, false. + + + Upload operation will be canceled after finishing uploading current buffer. + + + + + Gets the number of uploaded bytes. + + + + + Initializes a new instance of the class. + + The async callback. + The state. + + + + Updates asynchronous operation status information. + + Number of uploaded bytes. + + + + SSH_FX_OK + + + + + SSH_FX_EOF + + + + + SSH_FX_NO_SUCH_FILE + + + + + SSH_FX_PERMISSION_DENIED + + + + + SSH_FX_FAILURE + + + + + SSH_FX_BAD_MESSAGE + + + + + SSH_FX_NO_CONNECTION + + + + + SSH_FX_CONNECTION_LOST + + + + + SSH_FX_OP_UNSUPPORTED + + + + + SSH_FX_INVALID_HANDLE + + + + + SSH_FX_NO_SUCH_PATH + + + + + SSH_FX_FILE_ALREADY_EXISTS + + + + + SSH_FX_WRITE_PROTECT + + + + + SSH_FX_NO_MEDIA + + + + + SSH_FX_NO_SPACE_ON_FILESYSTEM + + + + + SSH_FX_QUOTA_EXCEEDED + + + + + SSH_FX_UNKNOWN_PRINCIPAL + + + + + SSH_FX_LOCK_CONFLICT + + + + + SSH_FX_DIR_NOT_EMPTY + + + + + SSH_FX_NOT_A_DIRECTORY + + + + + SSH_FX_INVALID_FILENAME + + + + + SSH_FX_LINK_LOOP + + + + + SSH_FX_CANNOT_DELETE + + + + + SSH_FX_INVALID_PARAMETER + + + + + SSH_FX_FILE_IS_A_DIRECTORY + + + + + SSH_FX_BYTE_RANGE_LOCK_CONFLICT + + + + + SSH_FX_BYTE_RANGE_LOCK_REFUSED + + + + + SSH_FX_DELETE_PENDING + + + + + SSH_FX_FILE_CORRUPT + + + + + SSH_FX_OWNER_INVALID + + + + + SSH_FX_GROUP_INVALID + + + + + SSH_FX_NO_MATCHING_BYTE_RANGE_LOCK + + + + + Provides additional information for asynchronous command execution + + + + + Initializes a new instance of the class. + + The async callback. + The state. + + + + Provides functionality to perform keyboard interactive authentication. + + + + + Gets authentication method name + + + + + Occurs when server prompts for more authentication information. + + + + + Initializes a new instance of the class. + + The username. + is whitespace or null. + + + + Authenticates the specified session. + + The session to authenticate. + Result of authentication process. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Provides connection information when keyboard interactive authentication method is used + + + + + + + + Occurs when server prompts for more authentication information. + + + + + + + + Initializes a new instance of the class. + + The host. + The username. + + + + Initializes a new instance of the class. + + The host. + The port. + The username. + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Connection username. + Type of the proxy. + The proxy host. + The proxy port. + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Connection username. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Type of the proxy. + The proxy host. + The proxy port. + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + The proxy password. + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Connection username. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + The proxy password. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Provides functionality for "none" authentication method + + + + + Gets connection name + + + + + Initializes a new instance of the class. + + The username. + is whitespace or null. + + + + Authenticates the specified session. + + The session. + + Result of authentication process. + + is null. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Provides functionality to perform password authentication. + + + + + Gets authentication method name + + + + + Gets the password as a sequence of bytes. + + + The password as a sequence of bytes. + + + + + Occurs when user's password has expired and needs to be changed. + + + + + Initializes a new instance of the class. + + The username. + The password. + is whitespace or null. + is null. + + + + Initializes a new instance of the class. + + The username. + The password. + is whitespace or null. + is null. + + + + Authenticates the specified session. + + The session to authenticate. + + Result of authentication process. + + is null. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Specifies behavior for expected expression + + + + + Gets the expected regular expression. + + + + + Gets the action to perform when expected expression is found. + + + + + Initializes a new instance of the class. + + The expect regular expression. + The action to perform. + or is null. + + + + Initializes a new instance of the class. + + The expect expression. + The action to perform. + or is null. + + + + Provides functionality for forwarding connections from the client to destination servers via the SSH server, + also known as dynamic port forwarding. + + + + + Gets the bound host. + + + + + Gets the bound port. + + + + + Gets a value indicating whether port forwarding is started. + + + true if port forwarding is started; otherwise, false. + + + + + Initializes a new instance of the class. + + The port. + + + + Initializes a new instance of the class. + + The host. + The port. + + + + Starts local port forwarding. + + + + + Stops local port forwarding, and waits for the specified timeout until all pending + requests are processed. + + The maximum amount of time to wait for pending requests to finish processing. + + + + Ensures the current instance is not disposed. + + The current instance is disposed. + + + + Interrupts the listener, and unsubscribes from events. + + + + + Waits for pending channels to close. + + The maximum time to wait for the pending channels to close. + + + + Holds a value indicating whether the current instance is disposed. + + + true if the current instance is disposed; otherwise, false. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Initializes the . + + + + When the port is started for the first time, a is created with an initial count + of 1. + + + On subsequent (re)starts, we'll dispose the current and create a new one with + initial count of 1. + + + + + + Reads a null terminated string from a socket. + + The to read from. + The timeout to apply to individual reads. + + The read, or null when the socket was closed. + + + + + Provides functionality for local port forwarding + + + + + Initializes the . + + + + When the port is started for the first time, a is created with an initial count + of 1. + + + On subsequent (re)starts, we'll dispose the current and create a new one with + initial count of 1. + + + + + + Gets the bound host. + + + + + Gets the bound port. + + + + + Gets the forwarded host. + + + + + Gets the forwarded port. + + + + + Gets a value indicating whether port forwarding is started. + + + true if port forwarding is started; otherwise, false. + + + + + Initializes a new instance of the class. + + The bound port. + The host. + The port. + is greater than . + is null. + is greater than . + + + + + + + Initializes a new instance of the class. + + The bound host. + The host. + The port. + is null. + is null. + is greater than . + + + + Initializes a new instance of the class. + + The bound host. + The bound port. + The host. + The port. + is null. + is null. + is greater than . + is greater than . + + + + Starts local port forwarding. + + + + + Stops local port forwarding, and waits for the specified timeout until all pending + requests are processed. + + The maximum amount of time to wait for pending requests to finish processing. + + + + Ensures the current instance is not disposed. + + The current instance is disposed. + + + + Interrupts the listener, and unsubscribes from events. + + + + + Waits for pending channels to close. + + The maximum time to wait for the pending channels to close. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Provides connection information when password authentication method is used + + + + + + + + + + Occurs when user's password has expired and needs to be changed. + + + + + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Connection password. + + + + is null. + is invalid, or is null or contains only whitespace characters. + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Connection username. + Connection password. + is null. + is invalid, or is null or contains only whitespace characters. + is not within and . + + + + Initializes a new instance of the class. + + Connection host. + The port. + Connection username. + Connection password. + Type of the proxy. + The proxy host. + The proxy port. + + + + Initializes a new instance of the class. + + Connection host. + The port. + Connection username. + Connection password. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Connection password. + Type of the proxy. + The proxy host. + The proxy port. + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Connection password. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Connection password. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + The proxy password. + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Connection password. + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Connection username. + Connection password. + is null. + is invalid, or is null or contains only whitespace characters. + is not within and . + + + + Initializes a new instance of the class. + + Connection host. + The port. + Connection username. + Connection password. + Type of the proxy. + The proxy host. + The proxy port. + + + + Initializes a new instance of the class. + + Connection host. + The port. + Connection username. + Connection password. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Connection password. + Type of the proxy. + The proxy host. + The proxy port. + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Connection password. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Connection password. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + The proxy password. + + + + Initializes a new instance of the class. + + Connection host. + The port. + Connection username. + Connection password. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + The proxy password. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Provides functionality to perform private key authentication. + + + + + Gets authentication method name + + + + + Gets the key files used for authentication. + + + + + Initializes a new instance of the class. + + The username. + The key files. + is whitespace or null. + + + + Authenticates the specified session. + + The session to authenticate. + + Result of authentication process. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Provides connection information when private key authentication method is used + + + + + + + + Gets the key files used for authentication. + + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Connection key files. + + + + + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Connection username. + Connection key files. + + + + Initializes a new instance of the class. + + Connection host. + The port. + Connection username. + Type of the proxy. + The proxy host. + The proxy port. + The key files. + + + + Initializes a new instance of the class. + + Connection host. + The port. + Connection username. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + The key files. + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Type of the proxy. + The proxy host. + The proxy port. + The key files. + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + The key files. + + + + Initializes a new instance of the class. + + Connection host. + Connection username. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + The proxy password. + The key files. + + + + Initializes a new instance of the class. + + Connection host. + The port. + Connection username. + Type of the proxy. + The proxy host. + The proxy port. + The proxy username. + The proxy password. + The key files. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Specifies the type of proxy client will use to connect to server. + + + + No proxy server. + + + A SOCKS4 proxy server. + + + A SOCKS5 proxy server. + + + A HTTP proxy server. + + + + Provides SCP client functionality. + + + + More information on the SCP protocol is available here: + https://github.com/net-ssh/net-scp/blob/master/lib/net/scp.rb + + + Known issues in OpenSSH: + + + Recursive download (-prf) does not deal well with specific UTF-8 and newline characters. + Recursive update does not support empty path for uploading to home directory. + + + + + + Provides SCP client functionality. + + + + + Gets or sets the operation timeout. + + + The timeout to wait until an operation completes. The default value is negative + one (-1) milliseconds, which indicates an infinite time-out period. + + + + + Gets or sets the size of the buffer. + + + The size of the buffer. The default buffer size is 16384 bytes. + + + + + Gets or sets the transformation to apply to remote paths. + + + The transformation to apply to remote paths. The default is . + + is null. + + + This transformation is applied to the remote file or directory path that is passed to the + scp command. + + + See for the transformations that are supplied + out-of-the-box with SSH.NET. + + + + + + Occurs when downloading file. + + + + + Occurs when uploading file. + + + + + Initializes a new instance of the class. + + The connection info. + is null. + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Authentication username. + Authentication password. + is null. + is invalid, or is null or contains only whitespace characters. + is not within and . + + + + Initializes a new instance of the class. + + Connection host. + Authentication username. + Authentication password. + is null. + is invalid, or is null or contains only whitespace characters. + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Authentication username. + Authentication private key file(s) . + is null. + is invalid, -or- is null or contains only whitespace characters. + is not within and . + + + + Initializes a new instance of the class. + + Connection host. + Authentication username. + Authentication private key file(s) . + is null. + is invalid, -or- is null or contains only whitespace characters. + + + + Initializes a new instance of the class. + + The connection info. + Specified whether this instance owns the connection info. + is null. + + If is true, then the + connection info will be disposed when this instance is disposed. + + + + + Initializes a new instance of the class. + + The connection info. + Specified whether this instance owns the connection info. + The factory to use for creating new services. + is null. + is null. + + If is true, then the + connection info will be disposed when this instance is disposed. + + + + + Uploads the specified stream to the remote host. + + The to upload. + A relative or absolute path for the remote file. + A directory with the specified path exists on the remote host. + The secure copy execution request was rejected by the server. + + + + Downloads the specified file from the remote host to the stream. + + A relative or absolute path for the remote file. + The to download the remote file to. + is null or contains only whitespace characters. + is null. + exists on the remote host, and is not a regular file. + The secure copy execution request was rejected by the server. + + + + Sets mode, size and name of file being upload. + + The channel to perform the upload in. + A from which any feedback from the server can be read. + The size of the content to upload. + The name of the file, without path, to which the content is to be uploaded. + + + When the SCP transfer is already initiated for a file, a zero-length should + be specified for . This prevents the server from uploading the + content to a file with path <file path>/ if there's + already a directory with this path, and allows us to receive an error response. + + + + + + Uploads the content of a file. + + The channel to perform the upload in. + A from which any feedback from the server can be read. + The content to upload. + The name of the remote file, without path, to which the content is uploaded. + + is only used for raising the event. + + + + + Checks the return code. + + The output stream. + + + + Read a LF-terminated string from the . + + The to read from. + + The string without trailing LF. + + + + + Uploads the specified file to the remote host. + + The file system info. + A relative or absolute path for the remote file. + is null. + is null or empty. + A directory with the specified path exists on the remote host. + The secure copy execution request was rejected by the server. + + + + Uploads the specified directory to the remote host. + + The directory info. + A relative or absolute path for the remote directory. + fileSystemInfo + is null or empty. + exists on the remote host, and is not a directory. + The secure copy execution request was rejected by the server. + + + + Downloads the specified file from the remote host to local file. + + Remote host file name. + Local file information. + is null. + is null or empty. + exists on the remote host, and is not a regular file. + The secure copy execution request was rejected by the server. + + + + Downloads the specified directory from the remote host to local directory. + + Remote host directory name. + Local directory information. + is null or empty. + is null. + File or directory with the specified path does not exist on the remote host. + The secure copy execution request was rejected by the server. + + + + Uploads the and + of the next file or directory to upload. + + The channel to perform the upload in. + A from which any feedback from the server can be read. + The file or directory to upload. + + + + Upload the files and subdirectories in the specified directory. + + The channel to perform the upload in. + A from which any feedback from the server can be read. + The directory to upload. + + + + Sets mode and name of the directory being upload. + + + + + Base class for port forwarding functionality. + + + + + Gets or sets the session. + + + The session. + + + + + The event occurs as the forwarded port is being stopped. + + + + + The event occurs as the forwarded port is being stopped. + + + + + Gets a value indicating whether port forwarding is started. + + + true if port forwarding is started; otherwise, false. + + + + + Occurs when an exception is thrown. + + + + + Occurs when a port forwarding request is received. + + + + + Starts port forwarding. + + + + + Stops port forwarding. + + + + + Starts port forwarding. + + + + + Stops port forwarding, and waits for the specified timeout until all pending + requests are processed. + + The maximum amount of time to wait for pending requests to finish processing. + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Ensures the current instance is not disposed. + + The current instance is disposed. + + + + Raises event. + + The exception. + + + + Raises event. + + Request originator host. + Request originator port. + + + + Raises the event. + + + + + Handles session ErrorOccured event. + + The source of the event. + The instance containing the event data. + + + + Provides functionality for remote port forwarding + + + + + Gets a value indicating whether port forwarding is started. + + + true if port forwarding is started; otherwise, false. + + + + + Gets the bound host. + + + + + Gets the bound host. + + + + + Gets the bound port. + + + + + Gets the forwarded host. + + + + + Gets the forwarded host. + + + + + Gets the forwarded port. + + + + + Initializes a new instance of the class. + + The bound host address. + The bound port. + The host address. + The port. + is null. + is null. + is greater than . + is greater than . + + + + Initializes a new instance of the class. + + The bound port. + The host. + The port. + + + + + + + Initializes a new instance of the class. + + The bound host. + The bound port. + The host. + The port. + + + + Starts remote port forwarding. + + + + + Stops remote port forwarding. + + The maximum amount of time to wait for the port to stop. + + + + Ensures the current instance is not disposed. + + The current instance is disposed. + + + + Initializes the . + + + + When the port is started for the first time, a is created with an initial count + of 1. + + + On subsequent (re)starts, we'll dispose the current and create a new one with + initial count of 1. + + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Provides data for message events. + + Message type + + + + Gets the message. + + + + + Initializes a new instance of the class. + + The message. + is null. + + + + Contains operation for working with NetConf server. + + + + + Holds instance that used to communicate to the server + + + + + Gets or sets the operation timeout. + + + The timeout to wait until an operation completes. The default value is negative + one (-1) milliseconds, which indicates an infinite time-out period. + + + + + Initializes a new instance of the class. + + The connection info. + is null. + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Authentication username. + Authentication password. + is null. + is invalid, or is null or contains only whitespace characters. + is not within and . + + + + Initializes a new instance of the class. + + Connection host. + Authentication username. + Authentication password. + is null. + is invalid, or is null or contains only whitespace characters. + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Authentication username. + Authentication private key file(s) . + is null. + is invalid, -or- is null or contains only whitespace characters. + is not within and . + + + + Initializes a new instance of the class. + + Connection host. + Authentication username. + Authentication private key file(s) . + is null. + is invalid, -or- is null or contains only whitespace characters. + + + + Initializes a new instance of the class. + + The connection info. + Specified whether this instance owns the connection info. + is null. + + If is true, then the + connection info will be disposed when this instance is disposed. + + + + + Initializes a new instance of the class. + + The connection info. + Specified whether this instance owns the connection info. + The factory to use for creating new services. + is null. + is null. + + If is true, then the + connection info will be disposed when this instance is disposed. + + + + + Gets the NetConf server capabilities. + + + The NetConf server capabilities. + + + + + Gets the NetConf client capabilities. + + + The NetConf client capabilities. + + + + + Gets or sets a value indicating whether automatic message id handling is + enabled. + + + true if automatic message id handling is enabled; otherwise, false. + The default value is true. + + + + + Sends the receive RPC. + + The RPC. + Reply message to RPC request + Client is not connected. + + + + Sends the receive RPC. + + The XML. + Reply message to RPC request + + + + Sends the close RPC. + + Reply message to closing RPC request + Client is not connected. + + + + Called when client is connected to the server. + + + + + Called when client is disconnecting from the server. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Represents private key information. + + + + + + + Supports RSA and DSA private key in both OpenSSH and ssh.com format. + + + The following encryption algorithms are supported: + + + DES-EDE3-CBC + + + DES-EDE3-CFB + + + DES-CBC + + + AES-128-CBC + + + AES-192-CBC + + + AES-256-CBC + + + + + + + + Gets the host key. + + + + + Initializes a new instance of the class. + + The private key. + + + + Initializes a new instance of the class. + + Name of the file. + is null or empty. + This method calls internally, this method does not catch exceptions from . + + + + Initializes a new instance of the class. + + Name of the file. + The pass phrase. + is null or empty, or is null. + This method calls internally, this method does not catch exceptions from . + + + + Initializes a new instance of the class. + + The private key. + The pass phrase. + or is null. + + + + Opens the specified private key. + + The private key. + The pass phrase. + + + + Decrypts encrypted private key file data. + + The cipher info. + Encrypted data. + Decryption pass phrase. + Decryption binary salt. + Decrypted byte array. + , , or is null. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Reads next mpint data type from internal buffer where length specified in bits. + + mpint read. + + + + Provides functionality to connect and interact with SSH server. + + + + + Specifies an infinite waiting period. + + + The value of this field is -1 millisecond. + + + + + Specifies an infinite waiting period. + + + The value of this field is -1. + + + + + Specifies maximum packet size defined by the protocol. + + + 68536 (64 KB + 3000 bytes). + + + + + Holds the initial local window size for the channels. + + + 2147483647 (2^31 - 1) bytes. + + + We currently do not define a maximum (remote) window size. + + + + + Holds the maximum size of channel data packets that we receive. + + + 64 KB. + + + + This is the maximum size (in bytes) we support for the data (payload) of a + SSH_MSG_CHANNEL_DATA message we receive. + + + We currently do not enforce this limit. + + + + + + Controls how many authentication attempts can take place at the same time. + + + Some server may restrict number to prevent authentication attacks + + + + + Holds metada about session messages + + + + + Holds a that is signaled when the message listener loop has completed. + + + + + Specifies outbound packet number + + + + + Specifies incoming packet number + + + + + WaitHandle to signal that last service request was accepted + + + + + WaitHandle to signal that exception was thrown by another thread. + + + + + WaitHandle to signal that key exchange was completed. + + + + + WaitHandle to signal that key exchange is in progress. + + + + + Exception that need to be thrown by waiting thread + + + + + Specifies whether connection is authenticated + + + + + Specifies whether user issued Disconnect command or not + + + + + Holds the factory to use for creating new services. + + + + + Holds connection socket. + + + + + Holds an object that is used to ensure only a single thread can read from + at any given time. + + + + + Holds an object that is used to ensure only a single thread can write to + at any given time. + + + This is also used to ensure that is + incremented atomatically. + + + + + Holds an object that is used to ensure only a single thread can dispose + at any given time. + + + This is also used to ensure that will not be disposed + while performing a given operation or set of operations on . + + + + + Gets the session semaphore that controls session channels. + + + The session semaphore. + + + + + Gets the next channel number. + + + The next channel number. + + + + + Gets a value indicating whether the session is connected. + + + true if the session is connected; otherwise, false. + + + This methods returns true in all but the following cases: + + + The is disposed. + + + The SSH_MSG_DISCONNECT message - which is used to disconnect from the server - has been sent. + + + The client has not been authenticated successfully. + + + The listener thread - which is used to receive messages from the server - has stopped. + + + The socket used to communicate with the server is no longer connected. + + + + + + + Gets the session id. + + + The session id, or null if the client has not been authenticated. + + + + + Gets the client init message. + + The client init message. + + + + Gets or sets the server version string. + + The server version. + + + + Gets or sets the client version string. + + The client version. + + + + Gets or sets the connection info. + + The connection info. + + + + Occurs when an error occurred. + + + + + Occurs when session has been disconnected from the server. + + + + + Occurs when host key received. + + + + + Occurs when message is received from the server. + + + + + Occurs when message is received from the server. + + + + + Occurs when message is received from the server. + + + + + Occurs when message is received from the server. + + + + + Occurs when message is received from the server. + + + + + Occurs when message is received from the server. + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when a message is received from the SSH server. + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Occurs when message received + + + + + Initializes a new instance of the class. + + The connection info. + The factory to use for creating new services. + is null. + is null. + + + + Connects to the server. + + Socket connection to the SSH server or proxy server could not be established, or an error occurred while resolving the hostname. + SSH session could not be established. + Authentication of SSH session failed. + Failed to establish proxy connection. + + + + Disconnects from the server. + + + This sends a SSH_MSG_DISCONNECT message to the server, waits for the + server to close the socket on its end and subsequently closes the client socket. + + + + + Waits for the specified handle or the exception handle for the receive thread + to signal within the connection timeout. + + The wait handle. + A received package was invalid or failed the message integrity check. + None of the handles are signaled in time and the session is not disconnecting. + A socket error was signaled while receiving messages from the server. + + When neither handles are signaled in time and the session is not closing, then the + session is disconnected. + + + + + Waits for the specified handle or the exception handle for the receive thread + to signal within the specified timeout. + + The wait handle. + The time to wait for any of the handles to become signaled. + A received package was invalid or failed the message integrity check. + None of the handles are signaled in time and the session is not disconnecting. + A socket error was signaled while receiving messages from the server. + + When neither handles are signaled in time and the session is not closing, then the + session is disconnected. + + + + + Waits for the specified handle or the exception handle for the receive thread + to signal within the connection timeout. + + The wait handle. + A received package was invalid or failed the message integrity check. + None of the handles are signaled in time and the session is not disconnecting. + A socket error was signaled while receiving messages from the server. + + When neither handles are signaled in time and the session is not closing, then the + session is disconnected. + + + + + Waits for the specified handle or the exception handle for the receive thread + to signal within the specified timeout. + + The wait handle. + The time to wait for any of the handles to become signaled. + A received package was invalid or failed the message integrity check. + None of the handles are signaled in time and the session is not disconnecting. + A socket error was signaled while receiving messages from the server. + + + + Sends a message to the server. + + The message to send. + The client is not connected. + The operation timed out. + The size of the packet exceeds the maximum size defined by the protocol. + + + + Sends an SSH packet to the server. + + A byte array containing the packet to send. + The offset of the packet. + The length of the packet. + Client is not connected to the server. + + + The send is performed in a dispose lock to avoid + and/or when sending the packet. + + + This method is only to be used when the connection is established, as the locking + overhead is not required while establising the connection. + + + + + + Sends a message to the server. + + The message to send. + + true if the message was sent to the server; otherwise, false. + + The size of the packet exceeds the maximum size defined by the protocol. + + This methods returns false when the attempt to send the message results in a + or a . + + + + + Receives the message from the server. + + + The incoming SSH message, or null if the connection with the SSH server was closed. + + + We need no locking here since all messages are read by a single thread. + + + + + Called when received. + + message. + + + + Called when received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when client is disconnecting from the server. + + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Called when message received. + + message. + + + + Registers SSH message with the session. + + The name of the message to register with the session. + + + + Unregister SSH message from the session. + + The name of the message to unregister with the session. + + + + Loads a message from a given buffer. + + An array of bytes from which to construct the message. + The zero-based byte offset in at which to begin reading. + The number of bytes to load. + + A message constructed from . + + The type of the message is not supported. + + + + Establishes a socket connection to the specified host and port. + + The host name of the server to connect to. + The port to connect to. + The connection failed to establish within the configured . + An error occurred trying to establish the connection. + + + + Performs a blocking read on the socket until bytes are received. + + An array of type that is the storage location for the received data. + The position in parameter to store the received data. + The number of bytes to read. + + The number of bytes read. + + The socket is closed. + The read has timed-out. + The read failed. + + + + Gets a value indicating whether the socket is connected. + + + true if the socket is connected; otherwise, false. + + + + As a first check we verify whether is + true. However, this only returns the state of the socket as of + the last I/O operation. + + + Therefore we use the combination of with mode + and to verify if the socket is still connected. + + + The MSDN doc mention the following on the return value of + with mode : + + + true if data is available for reading; + + + true if the connection has been closed, reset, or terminated; otherwise, returns false. + + + + + Conclusion: when the return value is true - but no data is available for reading - then + the socket is no longer connected. + + + When a is used from multiple threads, there's a race condition + between the invocation of and the moment + when the value of is obtained. To workaround this issue + we synchronize reads from the . + + + + + + Performs a blocking read on the socket until bytes are received. + + An array of type that is the storage location for the received data. + The position in parameter to store the received data. + The number of bytes to read. + + The number of bytes read. + + The read has timed-out. + The read failed. + + + + Performs a blocking read on the socket until a line is read. + + A that represents the time to wait until a line is read. + The read has timed-out. + An error occurred when trying to access the socket. + + The line read from the socket, or null when the remote server has shutdown and all data has been received. + + + + + Shuts down and disposes the socket. + + + + + Listens for incoming message from the server and handles them. This method run as a task on separate thread. + + + + + Raises the event. + + The . + + + + Resets connection-specific information to ensure state of a previous connection + does not affect new connections. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Gets or sets the connection info. + + The connection info. + + + + Create a new SSH session channel. + + + A new SSH session channel. + + + + + Create a new channel for a locally forwarded TCP/IP port. + + + A new channel for a locally forwarded TCP/IP port. + + + + + Creates a "forwarded-tcpip" SSH channel. + + + A new "forwarded-tcpip" SSH channel. + + + + + Sends a message to the server. + + The message to send. + The client is not connected. + The operation timed out. + The size of the packet exceeds the maximum size defined by the protocol. + + + + Sends a message to the server. + + The message to send. + + true if the message was sent to the server; otherwise, false. + + The size of the packet exceeds the maximum size defined by the protocol. + + This methods returns false when the attempt to send the message results in a + or a . + + + + + Implementation of the SSH File Transfer Protocol (SFTP) over SSH. + + + + + Holds the instance that is used to communicate to the + SFTP server. + + + + + Holds the operation timeout. + + + + + Holds the size of the buffer. + + + + + Gets or sets the operation timeout. + + + The timeout to wait until an operation completes. The default value is negative + one (-1) milliseconds, which indicates an infinite timeout period. + + The method was called after the client was disposed. + + + + Gets or sets the maximum size of the buffer in bytes. + + + The size of the buffer. The default buffer size is 32768 bytes (32 KB). + + + + For write operations, this limits the size of the payload for + individual SSH_FXP_WRITE messages. The actual size is always + capped at the maximum packet size supported by the peer + (minus the size of protocol fields). + + + For read operations, this controls the size of the payload which + is requested from the peer in a SSH_FXP_READ message. The peer + will send the requested number of bytes in a SSH_FXP_DATA message, + possibly split over multiple SSH_MSG_CHANNEL_DATA messages. + + + To optimize the size of the SSH packets sent by the peer, + the actual requested size will take into account the size of the + SSH_FXP_DATA protocol fields. + + + The size of the each indivual SSH_FXP_DATA message is limited to the + local maximum packet size of the channel, which is set to 64 KB + for SSH.NET. However, the peer can limit this even further. + + + The method was called after the client was disposed. + + + + Gets remote working directory. + + Client is not connected. + The method was called after the client was disposed. + + + + Gets sftp protocol version. + + Client is not connected. + The method was called after the client was disposed. + + + + Initializes a new instance of the class. + + The connection info. + is null. + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Authentication username. + Authentication password. + is null. + is invalid. -or- is null or contains only whitespace characters. + is not within and . + + + + Initializes a new instance of the class. + + Connection host. + Authentication username. + Authentication password. + is null. + is invalid. -or- is null contains only whitespace characters. + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Authentication username. + Authentication private key file(s) . + is null. + is invalid. -or- is nunullll or contains only whitespace characters. + is not within and . + + + + Initializes a new instance of the class. + + Connection host. + Authentication username. + Authentication private key file(s) . + is null. + is invalid. -or- is null or contains only whitespace characters. + + + + Initializes a new instance of the class. + + The connection info. + Specified whether this instance owns the connection info. + is null. + + If is true, the connection info will be disposed when this + instance is disposed. + + + + + Initializes a new instance of the class. + + The connection info. + Specified whether this instance owns the connection info. + The factory to use for creating new services. + is null. + is null. + + If is true, the connection info will be disposed when this + instance is disposed. + + + + + Changes remote directory to path. + + New directory path. + is null. + Client is not connected. + Permission to change directory denied by remote host. -or- A SSH command was denied by the server. + was not found on the remote host. + A SSH error where is the message from the remote host. + The method was called after the client was disposed. + + + + Changes permissions of file(s) to specified mode. + + File(s) path, may match multiple files. + The mode. + is null. + Client is not connected. + Permission to change permission on the path(s) was denied by the remote host. -or- A SSH command was denied by the server. + was not found on the remote host. + A SSH error where is the message from the remote host. + The method was called after the client was disposed. + + + + Creates remote directory specified by path. + + Directory path to create. + is null or contains only whitespace characters. + Client is not connected. + Permission to create the directory was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + The method was called after the client was disposed. + + + + Deletes remote directory specified by path. + + Directory to be deleted path. + is null or contains only whitespace characters. + Client is not connected. + was not found on the remote host. + Permission to delete the directory was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + The method was called after the client was disposed. + + + + Deletes remote file specified by path. + + File to be deleted path. + is null or contains only whitespace characters. + Client is not connected. + was not found on the remote host. + Permission to delete the file was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + The method was called after the client was disposed. + + + + Renames remote file from old path to new path. + + Path to the old file location. + Path to the new file location. + is null. -or- or is null. + Client is not connected. + Permission to rename the file was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + The method was called after the client was disposed. + + + + Renames remote file from old path to new path. + + Path to the old file location. + Path to the new file location. + if set to true then perform a posix rename. + is null. -or- or is null. + Client is not connected. + Permission to rename the file was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + The method was called after the client was disposed. + + + + Creates a symbolic link from old path to new path. + + The old path. + The new path. + is null. -or- is null or contains only whitespace characters. + Client is not connected. + Permission to create the symbolic link was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + The method was called after the client was disposed. + + + + Retrieves list of files in remote directory. + + The path. + The list callback. + + A list of files. + + is null. + Client is not connected. + Permission to list the contents of the directory was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + The method was called after the client was disposed. + + + + Begins an asynchronous operation of retrieving list of files in remote directory. + + The path. + The method to be called when the asynchronous write operation is completed. + A user-provided object that distinguishes this particular asynchronous write request from other requests. + The list callback. + + An that references the asynchronous operation. + + The method was called after the client was disposed. + + + + Ends an asynchronous operation of retrieving list of files in remote directory. + + The pending asynchronous SFTP request. + + A list of files. + + The object did not come from the corresponding async method on this type.-or- was called multiple times with the same . + + + + Gets reference to remote file or directory. + + The path. + + A reference to file object. + + Client is not connected. + was not found on the remote host. + is null. + The method was called after the client was disposed. + + + + Checks whether file or directory exists; + + The path. + + true if directory or file exists; otherwise false. + + is null or contains only whitespace characters. + Client is not connected. + Permission to perform the operation was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + The method was called after the client was disposed. + + + + Downloads remote file specified by the path into the stream. + + File to download. + Stream to write the file into. + The download callback. + is null. + is null or contains only whitespace characters. + Client is not connected. + Permission to perform the operation was denied by the remote host. -or- A SSH command was denied by the server. + was not found on the remote host./// + A SSH error where is the message from the remote host. + The method was called after the client was disposed. + + Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. + + + + + Begins an asynchronous file downloading into the stream. + + The path. + The output. + + An that references the asynchronous operation. + + is null. + is null or contains only whitespace characters. + Client is not connected. + Permission to perform the operation was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + The method was called after the client was disposed. + + Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. + + + + + Begins an asynchronous file downloading into the stream. + + The path. + The output. + The method to be called when the asynchronous write operation is completed. + + An that references the asynchronous operation. + + is null. + is null or contains only whitespace characters. + Client is not connected. + Permission to perform the operation was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + The method was called after the client was disposed. + + Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. + + + + + Begins an asynchronous file downloading into the stream. + + The path. + The output. + The method to be called when the asynchronous write operation is completed. + A user-provided object that distinguishes this particular asynchronous write request from other requests. + The download callback. + + An that references the asynchronous operation. + + is null. + is null or contains only whitespace characters. + The method was called after the client was disposed. + + Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. + + + + + Ends an asynchronous file downloading into the stream. + + The pending asynchronous SFTP request. + The object did not come from the corresponding async method on this type.-or- was called multiple times with the same . + Client is not connected. + Permission to perform the operation was denied by the remote host. -or- A SSH command was denied by the server. + The path was not found on the remote host. + A SSH error where is the message from the remote host. + + + + Uploads stream into remote file. + + Data input stream. + Remote file path. + The upload callback. + is null. + is null or contains only whitespace characters. + Client is not connected. + Permission to upload the file was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + The method was called after the client was disposed. + + Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. + + + + + Uploads stream into remote file. + + Data input stream. + Remote file path. + if set to true then existing file will be overwritten. + The upload callback. + is null. + is null or contains only whitespace characters. + Client is not connected. + Permission to upload the file was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + The method was called after the client was disposed. + + Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. + + + + + Begins an asynchronous uploading the stream into remote file. + + Data input stream. + Remote file path. + + An that references the asynchronous operation. + + is null. + is null or contains only whitespace characters. + Client is not connected. + Permission to list the contents of the directory was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + The method was called after the client was disposed. + + + Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. + + + If the remote file already exists, it is overwritten and truncated. + + + + + + Begins an asynchronous uploading the stream into remote file. + + Data input stream. + Remote file path. + The method to be called when the asynchronous write operation is completed. + + An that references the asynchronous operation. + + is null. + is null or contains only whitespace characters. + Client is not connected. + Permission to list the contents of the directory was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + The method was called after the client was disposed. + + + Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. + + + If the remote file already exists, it is overwritten and truncated. + + + + + + Begins an asynchronous uploading the stream into remote file. + + Data input stream. + Remote file path. + The method to be called when the asynchronous write operation is completed. + A user-provided object that distinguishes this particular asynchronous write request from other requests. + The upload callback. + + An that references the asynchronous operation. + + is null. + is null or contains only whitespace characters. + Client is not connected. + Permission to list the contents of the directory was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + The method was called after the client was disposed. + + + Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. + + + If the remote file already exists, it is overwritten and truncated. + + + + + + Begins an asynchronous uploading the stream into remote file. + + Data input stream. + Remote file path. + Specified whether an existing file can be overwritten. + The method to be called when the asynchronous write operation is completed. + A user-provided object that distinguishes this particular asynchronous write request from other requests. + The upload callback. + + An that references the asynchronous operation. + + is null. + is null or contains only whitespace characters. + The method was called after the client was disposed. + + + Method calls made by this method to , may under certain conditions result in exceptions thrown by the stream. + + + When refers to an existing file, set to true to overwrite and truncate that file. + If is false, the upload will fail and will throw an + . + + + + + + Ends an asynchronous uploading the stream into remote file. + + The pending asynchronous SFTP request. + The object did not come from the corresponding async method on this type.-or- was called multiple times with the same . + Client is not connected. + The directory of the file was not found on the remote host. + Permission to upload the file was denied by the remote host. -or- A SSH command was denied by the server. + A SSH error where is the message from the remote host. + + + + Gets status using statvfs@openssh.com request. + + The path. + + A instance that contains file status information. + + Client is not connected. + is null. + The method was called after the client was disposed. + + + + Appends lines to a file, creating the file if it does not already exist. + + The file to append the lines to. The file is created if it does not already exist. + The lines to append to the file. + isnull -or- is null. + Client is not connected. + The specified path is invalid, or its directory was not found on the remote host. + The method was called after the client was disposed. + + The characters are written to the file using UTF-8 encoding without a Byte-Order Mark (BOM) + + + + + Appends lines to a file by using a specified encoding, creating the file if it does not already exist. + + The file to append the lines to. The file is created if it does not already exist. + The lines to append to the file. + The character encoding to use. + is null. -or- is null. -or- is null. + Client is not connected. + The specified path is invalid, or its directory was not found on the remote host. + The method was called after the client was disposed. + + + + Appends the specified string to the file, creating the file if it does not already exist. + + The file to append the specified string to. + The string to append to the file. + is null. -or- is null. + Client is not connected. + The specified path is invalid, or its directory was not found on the remote host. + The method was called after the client was disposed. + + The characters are written to the file using UTF-8 encoding without a Byte-Order Mark (BOM). + + + + + Appends the specified string to the file, creating the file if it does not already exist. + + The file to append the specified string to. + The string to append to the file. + The character encoding to use. + is null. -or- is null. -or- is null. + Client is not connected. + The specified path is invalid, or its directory was not found on the remote host. + The method was called after the client was disposed. + + + + Creates a that appends UTF-8 encoded text to the specified file, + creating the file if it does not already exist. + + The path to the file to append to. + + A that appends text to a file using UTF-8 encoding without a + Byte-Order Mark (BOM). + + is null. + Client is not connected. + The specified path is invalid, or its directory was not found on the remote host. + The method was called after the client was disposed. + + + + Creates a that appends text to a file using the specified + encoding, creating the file if it does not already exist. + + The path to the file to append to. + The character encoding to use. + + A that appends text to a file using the specified encoding. + + is null. -or- is null. + Client is not connected. + The specified path is invalid, or its directory was not found on the remote host. + The method was called after the client was disposed. + + + + Creates or overwrites a file in the specified path. + + The path and name of the file to create. + + A that provides read/write access to the file specified in path. + + is null. + Client is not connected. + The specified path is invalid, or its directory was not found on the remote host. + The method was called after the client was disposed. + + If the target file already exists, it is first truncated to zero bytes. + + + + + Creates or overwrites the specified file. + + The path and name of the file to create. + The maximum number of bytes buffered for reads and writes to the file. + + A that provides read/write access to the file specified in path. + + is null. + Client is not connected. + The specified path is invalid, or its directory was not found on the remote host. + The method was called after the client was disposed. + + If the target file already exists, it is first truncated to zero bytes. + + + + + Creates or opens a file for writing UTF-8 encoded text. + + The file to be opened for writing. + + A that writes text to a file using UTF-8 encoding without + a Byte-Order Mark (BOM). + + is null. + Client is not connected. + The specified path is invalid, or its directory was not found on the remote host. + The method was called after the client was disposed. + + + If the target file already exists, it is overwritten. It is not first truncated to zero bytes. + + + If the target file does not exist, it is created. + + + + + + Creates or opens a file for writing text using the specified encoding. + + The file to be opened for writing. + The character encoding to use. + + A that writes to a file using the specified encoding. + + is null. + Client is not connected. + The specified path is invalid, or its directory was not found on the remote host. + The method was called after the client was disposed. + + + If the target file already exists, it is overwritten. It is not first truncated to zero bytes. + + + If the target file does not exist, it is created. + + + + + + Deletes the specified file or directory. + + The name of the file or directory to be deleted. Wildcard characters are not supported. + is null. + Client is not connected. + was not found on the remote host. + The method was called after the client was disposed. + + + + Returns the date and time the specified file or directory was last accessed. + + The file or directory for which to obtain access date and time information. + + A structure set to the date and time that the specified file or directory was last accessed. + This value is expressed in local time. + + is null. + Client is not connected. + The method was called after the client was disposed. + + + + Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last accessed. + + The file or directory for which to obtain access date and time information. + + A structure set to the date and time that the specified file or directory was last accessed. + This value is expressed in UTC time. + + is null. + Client is not connected. + The method was called after the client was disposed. + + + + Returns the date and time the specified file or directory was last written to. + + The file or directory for which to obtain write date and time information. + + A structure set to the date and time that the specified file or directory was last written to. + This value is expressed in local time. + + is null. + Client is not connected. + The method was called after the client was disposed. + + + + Returns the date and time, in coordinated universal time (UTC), that the specified file or directory was last written to. + + The file or directory for which to obtain write date and time information. + + A structure set to the date and time that the specified file or directory was last written to. + This value is expressed in UTC time. + + is null. + Client is not connected. + The method was called after the client was disposed. + + + + Opens a on the specified path with read/write access. + + The file to open. + A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. + + An unshared that provides access to the specified file, with the specified mode and read/write access. + + is null. + Client is not connected. + The method was called after the client was disposed. + + + + Opens a on the specified path, with the specified mode and access. + + The file to open. + A value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten. + A value that specifies the operations that can be performed on the file. + + An unshared that provides access to the specified file, with the specified mode and access. + + is null. + Client is not connected. + The method was called after the client was disposed. + + + + Opens an existing file for reading. + + The file to be opened for reading. + + A read-only on the specified path. + + is null. + Client is not connected. + The method was called after the client was disposed. + + + + Opens an existing UTF-8 encoded text file for reading. + + The file to be opened for reading. + + A on the specified path. + + is null. + Client is not connected. + The method was called after the client was disposed. + + + + Opens a file for writing. + + The file to be opened for writing. + + An unshared object on the specified path with access. + + is null. + Client is not connected. + The method was called after the client was disposed. + + If the file does not exist, it is created. + + + + + Opens a binary file, reads the contents of the file into a byte array, and closes the file. + + The file to open for reading. + + A byte array containing the contents of the file. + + is null. + Client is not connected. + The method was called after the client was disposed. + + + + Opens a text file, reads all lines of the file using UTF-8 encoding, and closes the file. + + The file to open for reading. + + A string array containing all lines of the file. + + is null. + Client is not connected. + The method was called after the client was disposed. + + + + Opens a file, reads all lines of the file with the specified encoding, and closes the file. + + The file to open for reading. + The encoding applied to the contents of the file. + + A string array containing all lines of the file. + + is null. + Client is not connected. + The method was called after the client was disposed. + + + + Opens a text file, reads all lines of the file with the UTF-8 encoding, and closes the file. + + The file to open for reading. + + A string containing all lines of the file. + + is null. + Client is not connected. + The method was called after the client was disposed. + + + + Opens a file, reads all lines of the file with the specified encoding, and closes the file. + + The file to open for reading. + The encoding applied to the contents of the file. + + A string containing all lines of the file. + + is null. + Client is not connected. + The method was called after the client was disposed. + + + + Reads the lines of a file with the UTF-8 encoding. + + The file to read. + + The lines of the file. + + is null. + Client is not connected. + The method was called after the client was disposed. + + + + Read the lines of a file that has a specified encoding. + + The file to read. + The encoding that is applied to the contents of the file. + + The lines of the file. + + is null. + Client is not connected. + The method was called after the client was disposed. + + + + Sets the date and time the specified file was last accessed. + + The file for which to set the access date and time information. + A containing the value to set for the last access date and time of path. This value is expressed in local time. + + + + Sets the date and time, in coordinated universal time (UTC), that the specified file was last accessed. + + The file for which to set the access date and time information. + A containing the value to set for the last access date and time of path. This value is expressed in UTC time. + + + + Sets the date and time that the specified file was last written to. + + The file for which to set the date and time information. + A containing the value to set for the last write date and time of path. This value is expressed in local time. + + + + Sets the date and time, in coordinated universal time (UTC), that the specified file was last written to. + + The file for which to set the date and time information. + A containing the value to set for the last write date and time of path. This value is expressed in UTC time. + + + + Writes the specified byte array to the specified file, and closes the file. + + The file to write to. + The bytes to write to the file. + is null. + Client is not connected. + The specified path is invalid, or its directory was not found on the remote host. + The method was called after the client was disposed. + + + If the target file already exists, it is overwritten. It is not first truncated to zero bytes. + + + If the target file does not exist, it is created. + + + + + + Writes a collection of strings to the file using the UTF-8 encoding, and closes the file. + + The file to write to. + The lines to write to the file. + is null. + Client is not connected. + The specified path is invalid, or its directory was not found on the remote host. + The method was called after the client was disposed. + + + The characters are written to the file using UTF-8 encoding without a Byte-Order Mark (BOM). + + + If the target file already exists, it is overwritten. It is not first truncated to zero bytes. + + + If the target file does not exist, it is created. + + + + + + Write the specified string array to the file using the UTF-8 encoding, and closes the file. + + The file to write to. + The string array to write to the file. + is null. + Client is not connected. + The specified path is invalid, or its directory was not found on the remote host. + The method was called after the client was disposed. + + + The characters are written to the file using UTF-8 encoding without a Byte-Order Mark (BOM). + + + If the target file already exists, it is overwritten. It is not first truncated to zero bytes. + + + If the target file does not exist, it is created. + + + + + + Writes a collection of strings to the file using the specified encoding, and closes the file. + + The file to write to. + The lines to write to the file. + The character encoding to use. + is null. + Client is not connected. + The specified path is invalid, or its directory was not found on the remote host. + The method was called after the client was disposed. + + + If the target file already exists, it is overwritten. It is not first truncated to zero bytes. + + + If the target file does not exist, it is created. + + + + + + Writes the specified string array to the file by using the specified encoding, and closes the file. + + The file to write to. + The string array to write to the file. + An object that represents the character encoding applied to the string array. + is null. + Client is not connected. + The specified path is invalid, or its directory was not found on the remote host. + The method was called after the client was disposed. + + + If the target file already exists, it is overwritten. It is not first truncated to zero bytes. + + + If the target file does not exist, it is created. + + + + + + Writes the specified string to the file using the UTF-8 encoding, and closes the file. + + The file to write to. + The string to write to the file. + is null. + Client is not connected. + The specified path is invalid, or its directory was not found on the remote host. + The method was called after the client was disposed. + + + The characters are written to the file using UTF-8 encoding without a Byte-Order Mark (BOM). + + + If the target file already exists, it is overwritten. It is not first truncated to zero bytes. + + + If the target file does not exist, it is created. + + + + + + Writes the specified string to the file using the specified encoding, and closes the file. + + The file to write to. + The string to write to the file. + The encoding to apply to the string. + is null. + Client is not connected. + The specified path is invalid, or its directory was not found on the remote host. + The method was called after the client was disposed. + + + If the target file already exists, it is overwritten. It is not first truncated to zero bytes. + + + If the target file does not exist, it is created. + + + + + + Gets the of the file on the path. + + The path to the file. + + The of the file on the path. + + is null. + Client is not connected. + was not found on the remote host. + The method was called after the client was disposed. + + + + Sets the specified of the file on the specified path. + + The path to the file. + The desired . + is null. + Client is not connected. + The method was called after the client was disposed. + + + + Synchronizes the directories. + + The source path. + The destination path. + The search pattern. + + A list of uploaded files. + + is null. + is null or contains only whitespace. + was not found on the remote host. + + + + Begins the synchronize directories. + + The source path. + The destination path. + The search pattern. + The async callback. + The state. + + An that represents the asynchronous directory synchronization. + + is null. + is null or contains only whitespace. + + + + Ends the synchronize directories. + + The async result. + + A list of uploaded files. + + The object did not come from the corresponding async method on this type.-or- was called multiple times with the same . + The destination path was not found on the remote host. + + + + Internals the list directory. + + The path. + The list callback. + + A list of files in the specfied directory. + + is null. + Client not connected. + + + + Internals the download file. + + The path. + The output. + An that references the asynchronous request. + The download callback. + is null. + is null or contains whitespace. + Client not connected. + + + + Internals the upload file. + + The input. + The path. + The flags. + An that references the asynchronous request. + The upload callback. + is null. + is null or contains whitespace. + Client not connected. + + + + Called when client is connected to the server. + + + + + Called when client is disconnecting from the server. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Represents instance of the SSH shell object + + + + + Gets a value indicating whether this shell is started. + + + true if started is started; otherwise, false. + + + + + Occurs when shell is starting. + + + + + Occurs when shell is started. + + + + + Occurs when shell is stopping. + + + + + Occurs when shell is stopped. + + + + + Occurs when an error occurred. + + + + + Initializes a new instance of the class. + + The session. + The input. + The output. + The extended output. + Name of the terminal. + The columns. + The rows. + The width. + The height. + The terminal modes. + Size of the buffer for output stream. + + + + Starts this shell. + + Shell is started. + + + + Stops this shell. + + Shell is not started. + + + + Unsubscribes the current from session events. + + The session. + + Does nothing when is null. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Contains operation for working with SSH Shell. + + + + + Occurs when data was received. + + + + + Occurs when an error occurred. + + + + + Gets a value that indicates whether data is available on the to be read. + + + true if data is available to be read; otherwise, false. + + + + + Gets the number of bytes that will be written to the internal buffer. + + + The number of bytes that will be written to the internal buffer. + + + + + Initializes a new instance. + + The SSH session. + The TERM environment variable. + The terminal width in columns. + The terminal width in rows. + The terminal height in pixels. + The terminal height in pixels. + The terminal mode values. + The size of the buffer. + + + + Gets a value indicating whether the current stream supports reading. + + + true if the stream supports reading; otherwise, false. + + + + + Gets a value indicating whether the current stream supports seeking. + + + true if the stream supports seeking; otherwise, false. + + + + + Gets a value indicating whether the current stream supports writing. + + + true if the stream supports writing; otherwise, false. + + + + + Clears all buffers for this stream and causes any buffered data to be written to the underlying device. + + An I/O error occurs. + Methods were called after the stream was closed. + + + + Gets the length in bytes of the stream. + + A long value representing the length of the stream in bytes. + A class derived from Stream does not support seeking. + Methods were called after the stream was closed. + + + + Gets or sets the position within the current stream. + + + The current position within the stream. + + An I/O error occurs. + The stream does not support seeking. + Methods were called after the stream was closed. + + + + Reads a sequence of bytes from the current stream and advances the position within the stream by the number of bytes read. + + An array of bytes. When this method returns, the buffer contains the specified byte array with the values between and ( + - 1) replaced by the bytes read from the current source. + The zero-based byte offset in at which to begin storing the data read from the current stream. + The maximum number of bytes to be read from the current stream. + + The total number of bytes read into the buffer. This can be less than the number of bytes requested if that many bytes are not currently available, or zero (0) if the end of the stream has been reached. + + The sum of and is larger than the buffer length. + is null. + or is negative. + An I/O error occurs. + The stream does not support reading. + Methods were called after the stream was closed. + + + + This method is not supported. + + A byte offset relative to the parameter. + A value of type indicating the reference point used to obtain the new position. + + The new position within the current stream. + + An I/O error occurs. + The stream does not support seeking, such as if the stream is constructed from a pipe or console output. + Methods were called after the stream was closed. + + + + This method is not supported. + + The desired length of the current stream in bytes. + An I/O error occurs. + The stream does not support both writing and seeking, such as if the stream is constructed from a pipe or console output. + Methods were called after the stream was closed. + + + + Writes a sequence of bytes to the current stream and advances the current position within this stream by the number of bytes written. + + An array of bytes. This method copies bytes from to the current stream. + The zero-based byte offset in at which to begin copying bytes to the current stream. + The number of bytes to be written to the current stream. + The sum of and is greater than the buffer length. + is null. + or is negative. + An I/O error occurs. + The stream does not support writing. + Methods were called after the stream was closed. + + + + Expects the specified expression and performs action when one is found. + + The expected expressions and actions to perform. + + + + Expects the specified expression and performs action when one is found. + + Time to wait for input. + The expected expressions and actions to perform, if the specified time elapsed and expected condition have not met, that method will exit without executing any action. + + + + Begins the expect. + + The expect actions. + + An that references the asynchronous operation. + + + + + Begins the expect. + + The callback. + The expect actions. + + An that references the asynchronous operation. + + + + + Begins the expect. + + The callback. + The state. + The expect actions. + + An that references the asynchronous operation. + + + + + Begins the expect. + + The timeout. + The callback. + The state. + The expect actions. + + An that references the asynchronous operation. + + + + + Ends the execute. + + The async result. + Either the IAsyncResult object did not come from the corresponding async method on this type, or EndExecute was called multiple times with the same IAsyncResult. + + + + Expects the expression specified by text. + + The text to expect. + + Text available in the shell that ends with expected text. + + + + + Expects the expression specified by text. + + The text to expect. + Time to wait for input. + + The text available in the shell that ends with expected text, or null if the specified time has elapsed. + + + + + Expects the expression specified by regular expression. + + The regular expression to expect. + + The text available in the shell that contains all the text that ends with expected expression. + + + + + Expects the expression specified by regular expression. + + The regular expression to expect. + Time to wait for input. + + The text available in the shell that contains all the text that ends with expected expression, + or null if the specified time has elapsed. + + + + + Reads the line from the shell. If line is not available it will block the execution and will wait for new line. + + + The line read from the shell. + + + + + Reads a line from the shell. If line is not available it will block the execution and will wait for new line. + + Time to wait for input. + + The line read from the shell, or null when no input is received for the specified timeout. + + + + + Reads text available in the shell. + + + The text available in the shell. + + + + + Writes the specified text to the shell. + + The text to be written to the shell. + + If is null, nothing is written. + + + + + Writes the line to the shell. + + The line to be written to the shell. + + If is null, only the line terminator is written. + + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Unsubscribes the current from session events. + + The session. + + Does nothing when is null. + + + + + Provides client connection to SSH server. + + + + + Holds the list of forwarded ports + + + + + Holds a value indicating whether the current instance is disposed. + + + true if the current instance is disposed; otherwise, false. + + + + + Gets the list of forwarded ports. + + + + + Initializes a new instance of the class. + + The connection info. + + + + + + + is null. + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Authentication username. + Authentication password. + is null. + is invalid, or is null or contains only whitespace characters. + is not within and . + + + + Initializes a new instance of the class. + + Connection host. + Authentication username. + Authentication password. + + + + is null. + is invalid, or is null or contains only whitespace characters. + + + + Initializes a new instance of the class. + + Connection host. + Connection port. + Authentication username. + Authentication private key file(s) . + + + + + is null. + is invalid, -or- is null or contains only whitespace characters. + is not within and . + + + + Initializes a new instance of the class. + + Connection host. + Authentication username. + Authentication private key file(s) . + + + + + is null. + is invalid, -or- is null or contains only whitespace characters. + + + + Initializes a new instance of the class. + + The connection info. + Specified whether this instance owns the connection info. + is null. + + If is true, then the + connection info will be disposed when this instance is disposed. + + + + + Initializes a new instance of the class. + + The connection info. + Specified whether this instance owns the connection info. + The factory to use for creating new services. + is null. + is null. + + If is true, then the + connection info will be disposed when this instance is disposed. + + + + + Called when client is disconnecting from the server. + + + + + Adds the forwarded port. + + The port. + + + + + Forwarded port is already added to a different client. + is null. + Client is not connected. + + + + Stops and removes the forwarded port from the list. + + Forwarded port. + is null. + + + + Creates the command to be executed. + + The command text. + object. + Client is not connected. + + + + Creates the command to be executed with specified encoding. + + The command text. + The encoding to use for results. + object which uses specified encoding. + This method will change current default encoding. + Client is not connected. + or is null. + + + + Creates and executes the command. + + The command text. + Returns an instance of with execution results. + This method internally uses asynchronous calls. + + + + + CommandText property is empty. + Invalid Operation - An existing channel was used to execute this command. + Asynchronous operation is already in progress. + Client is not connected. + is null. + + + + Creates the shell. + + The input. + The output. + The extended output. + Name of the terminal. + The columns. + The rows. + The width. + The height. + The terminal mode. + Size of the internal read buffer. + + Returns a representation of a object. + + Client is not connected. + + + + Creates the shell. + + The input. + The output. + The extended output. + Name of the terminal. + The columns. + The rows. + The width. + The height. + The terminal mode. + + Returns a representation of a object. + + Client is not connected. + + + + Creates the shell. + + The input. + The output. + The extended output. + + Returns a representation of a object. + + Client is not connected. + + + + Creates the shell. + + The encoding to use to send the input. + The input. + The output. + The extended output. + Name of the terminal. + The columns. + The rows. + The width. + The height. + The terminal mode. + Size of the internal read buffer. + + Returns a representation of a object. + + Client is not connected. + + + + Creates the shell. + + The encoding. + The input. + The output. + The extended output. + Name of the terminal. + The columns. + The rows. + The width. + The height. + The terminal modes. + + Returns a representation of a object. + + Client is not connected. + + + + Creates the shell. + + The encoding. + The input. + The output. + The extended output. + + Returns a representation of a object. + + Client is not connected. + + + + Creates the shell stream. + + The TERM environment variable. + The terminal width in columns. + The terminal width in rows. + The terminal height in pixels. + The terminal height in pixels. + The size of the buffer. + + The created instance. + + Client is not connected. + + + The TERM environment variable contains an identifier for the text window's capabilities. + You can get a detailed list of these cababilities by using the ‘infocmp’ command. + + + The column/row dimensions override the pixel dimensions(when nonzero). Pixel dimensions refer + to the drawable area of the window. + + + + + + Creates the shell stream. + + The TERM environment variable. + The terminal width in columns. + The terminal width in rows. + The terminal height in pixels. + The terminal height in pixels. + The size of the buffer. + The terminal mode values. + + The created instance. + + Client is not connected. + + + The TERM environment variable contains an identifier for the text window's capabilities. + You can get a detailed list of these cababilities by using the ‘infocmp’ command. + + + The column/row dimensions override the pixel dimensions(when non-zero). Pixel dimensions refer + to the drawable area of the window. + + + + + + Stops forwarded ports. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Represents SSH command that can be executed. + + + + + Gets the command text. + + + + + Gets or sets the command timeout. + + + The command timeout. + + + + + + + + Gets the command exit status. + + + + + + + + Gets the output stream. + + + + + + + + Gets the extended output stream. + + + + + + + + Gets the command execution result. + + + + + + + + Gets the command execution error. + + + + + + + + Initializes a new instance of the class. + + The session. + The command text. + The encoding to use for the results. + Either , is null. + + + + Begins an asynchronous command execution. + + + An that represents the asynchronous command execution, which could still be pending. + + + + + Asynchronous operation is already in progress. + Invalid operation. + CommandText property is empty. + Client is not connected. + Operation has timed out. + Asynchronous operation is already in progress. + CommandText property is empty. + + + + Begins an asynchronous command execution. + + An optional asynchronous callback, to be called when the command execution is complete. + + An that represents the asynchronous command execution, which could still be pending. + + Asynchronous operation is already in progress. + Invalid operation. + CommandText property is empty. + Client is not connected. + Operation has timed out. + Asynchronous operation is already in progress. + CommandText property is empty. + + + + Begins an asynchronous command execution. + + An optional asynchronous callback, to be called when the command execution is complete. + A user-provided object that distinguishes this particular asynchronous read request from other requests. + + An that represents the asynchronous command execution, which could still be pending. + + Asynchronous operation is already in progress. + Invalid operation. + CommandText property is empty. + Client is not connected. + Operation has timed out. + Asynchronous operation is already in progress. + CommandText property is empty. + + + + Begins an asynchronous command execution. + + The command text. + An optional asynchronous callback, to be called when the command execution is complete. + A user-provided object that distinguishes this particular asynchronous read request from other requests. + + An that represents the asynchronous command execution, which could still be pending. + + Client is not connected. + Operation has timed out. + + + + Waits for the pending asynchronous command execution to complete. + + The reference to the pending asynchronous request to finish. + Command execution result. + + + + Either the IAsyncResult object did not come from the corresponding async method on this type, or EndExecute was called multiple times with the same IAsyncResult. + is null. + + + + Executes command specified by property. + + Command execution result + + + + + + Client is not connected. + Operation has timed out. + + + + Cancels command execution in asynchronous scenarios. + + + + + Executes the specified command text. + + The command text. + Command execution result + Client is not connected. + Operation has timed out. + + + Command '{0}' has timed out. + The actual command will be included in the exception message. + + + + Unsubscribes the current from channel events, and disposes + the . + + The channel. + + Does nothing when is null. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Releases unmanaged resources and performs other cleanup operations before the + is reclaimed by garbage collection. + + + + + Defines the highest message number that is currently supported. + + + + + Defines the total number of supported messages. + + + + + Disables and deactivate all messages. + + + + + Base class for SSH subsystem implementations + + + + + Holds the number of system wait handles that are returned as the leading entries in the array returned + in . + + + + + Gets or set the number of seconds to wait for an operation to complete. + + + The number of seconds to wait for an operation to complete, or -1 to wait indefinitely. + + + + + Occurs when an error occurred. + + + + + Occurs when the server has disconnected from the session. + + + + + Gets the channel associated with this session. + + + The channel associated with this session. + + + + + Gets a value indicating whether this session is open. + + + true if this session is open; otherwise, false. + + + + + Initializes a new instance of the SubsystemSession class. + + The session. + Name of the subsystem. + The number of milliseconds to wait for a given operation to complete, or -1 to wait indefinitely. + or is null. + + + + Connects the subsystem using a new SSH channel session. + + The session is already connected. + The method was called after the session was disposed. + + + + Disconnects the subsystem channel. + + + + + Sends data to the subsystem. + + The data to be sent. + + + + Called when channel is open. + + + + + Called when data is received. + + The data. + + + + Raises the error. + + The error. + + + + Waits a specified time for a given to get signaled. + + The handle to wait for. + To number of milliseconds to wait for to get signaled, or -1 to wait indefinitely. + The connection was closed by the server. + The channel was closed. + The handle did not get signaled within the specified timeout. + + + + Blocks the current thread until the specified gets signaled, using a + 32-bit signed integer to specify the time interval in milliseconds. + + The handle to wait for. + To number of milliseconds to wait for to get signaled, or -1 to wait indefinitely. + + true if received a signal within the specified timeout; + otherwise, false. + + The connection was closed by the server. + The channel was closed. + + The blocking wait is also interrupted when either the established channel is closed, the current + session is disconnected or an unexpected occurred while processing a channel + or session event. + + + + + Blocks the current thread until the specified gets signaled, using a + 32-bit signed integer to specify the time interval in milliseconds. + + The first handle to wait for. + The second handle to wait for. + To number of milliseconds to wait for a to get signaled, or -1 to wait indefinitely. + + 0 if received a signal within the specified timeout, and 1 + if received a signal within the specified timeout. + + The connection was closed by the server. + The channel was closed. + The handle did not get signaled within the specified timeout. + + + The blocking wait is also interrupted when either the established channel is closed, the current + session is disconnected or an unexpected occurred while processing a channel + or session event. + + + When both and are signaled during the call, + then 0 is returned. + + + + + + Waits for any of the elements in the specified array to receive a signal, using a 32-bit signed + integer to specify the time interval. + + A array - constructed using - containing the objects to wait for. + To number of milliseconds to wait for a to get signaled, or -1 to wait indefinitely. + + The array index of the first non-system object that satisfied the wait. + + The connection was closed by the server. + The channel was closed. + No object satified the wait and a time interval equivalent to has passed. + + For the return value, the index of the first non-system object is considered to be zero. + + + + + Creates a array that is composed of system objects and the specified + elements. + + The first to wait for. + The second to wait for. + + A array that is composed of system objects and the specified elements. + + + + + Creates a array that is composed of system objects and the specified + elements. + + A array containing the objects to wait for. + + A array that is composed of system objects and the specified elements. + + + + + Unsubscribes the current from session events. + + The session. + + Does nothing when is null. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Finalizes an instance of the class. + + +
+