Handshake Enumeration

Handshake Enumeration


Specifies the control protocol used in establishing a serial port communication for a SerialPort object.

Namespace:   System.IO.Ports
Assembly:  System (in System.dll)

public enum Handshake

Member nameDescription

No control is used for the handshake.


Request-to-Send (RTS) hardware flow control is used. RTS signals that data is available for transmission. If the input buffer becomes full, the RTS line will be set to false. The RTS line will be set to true when more room becomes available in the input buffer.


Both the Request-to-Send (RTS) hardware control and the XON/XOFF software controls are used.


The XON/XOFF software control protocol is used. The XOFF control is sent to stop the transmission of data. The XON control is sent to resume the transmission. These software controls are used instead of Request to Send (RTS) and Clear to Send (CTS) hardware controls.

This enumeration is used with the Handshake property.

The following code example displays the possible values of the Handshake enumeration to the console, then prompts the user to choose one. This code example is part of a larger code example provided for the SerialPort class.

public static Handshake SetPortHandshake(Handshake defaultPortHandshake)
    string handshake;

    Console.WriteLine("Available Handshake options:");
    foreach (string s in Enum.GetNames(typeof(Handshake)))
        Console.WriteLine("   {0}", s);

    Console.Write("End Handshake value (Default: {0}):", defaultPortHandshake.ToString());
    handshake = Console.ReadLine();

    if (handshake == "")
        handshake = defaultPortHandshake.ToString();

    return (Handshake)Enum.Parse(typeof(Handshake), handshake, true);

.NET Framework
Available since 2.0
Return to top
© 2015 Microsoft