using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ComponentModel; namespace Tor { /// /// An enumerator containing different flags which may be associated with a router. /// [Flags] public enum RouterFlags : int { /// /// No flags were associated with the router. /// [Description(null)] None = 0x0000, /// /// The router is a directory authority. /// [Description("Authority")] Authority = 0x0001, /// /// The router is considered useless as an exit node. /// [Description("BadExit")] BadExit = 0x0002, /// /// The router is more useful for building general-purpose exit circuits, rather than router circuits. /// [Description("Exit")] Exit = 0x0004, /// /// The router is suitable for high-bandwidth circuits. /// [Description("Fast")] Fast = 0x0008, /// /// The router is suitable for use as an entry guard. /// [Description("Guard")] Guard = 0x0010, /// /// The router is considered a v2 hidden-service directory. /// [Description("HSDir")] HSDir = 0x0020, /// /// The router's identity-nickname mapping is canonical, and this authority binds names. /// [Description("Named")] Named = 0x0040, /// /// The router is suitable for long-lived circuits. /// [Description("Stable")] Stable = 0x0080, /// /// The router is currently usable. /// [Description("Running")] Running = 0x0100, /// /// The router's name has been bound by another router, and this authority binds names. /// [Description("Unnamed")] Unnamed = 0x0200, /// /// The router has been validated. /// [Description("Valid")] Valid = 0x0400, /// /// The router implements the v2 directory protocol, or higher. /// [Description("V2Dir")] V2Dir = 0x0800, } }