Class/Enums.psm1

# BOOTP op code
Enum OpCode {
    BOOTREQUEST = 1
    BOOTREPLY = 2
}

# DHCP Message Type
Enum DhcpMessageType {
    DHCPDISCOVER = 1
    DHCPOFFER = 2
    DHCPREQUEST = 3
    DHCPDECLINE = 4
    DHCPACK = 5
    DHCPNAK = 6
    DHCPRELEASE = 7
    DHCPINFORM = 8
    DHCPFORCERENEW = 9
}

# https://www.iana.org/assignments/bootp-dhcp-parameters/bootp-dhcp-parameters.xhtml
Enum DhcpOption {
    Pad = 0
    SubnetMask = 1
    TimeOffset = 2
    Router = 3
    TimeServer = 4
    NameServer = 5
    DomainNameServer = 6
    LogServer = 7
    QuotesServer = 8
    LPRServer = 9
    ImpressServer = 10
    RLPServer = 11
    Hostname = 12
    BootFileSize = 13
    MeritDumpFile = 14
    DomainName = 15
    SwapServer = 16
    RootPath = 17
    ExtensionFile = 18
    ForwardOnOff = 19
    SrcRteOnOff = 20
    PolicyFilter = 21
    MaxDGAssembly = 22
    DefaultIPTTL = 23
    MTUTimeout = 24
    MTUPlateau = 25
    MTUInterface = 26
    MTUSubnet = 27
    BroadcastAddress = 28
    MaskDiscovery = 29
    MaskSupplier = 30
    RouterDiscovery = 31
    RouterRequest = 32
    StaticRoute = 33
    Trailers = 34
    ARPTimeout = 35
    Ethernet = 36
    DefaultTCPTTL = 37
    KeepaliveTime = 38
    KeepaliveData = 39
    NISDomain = 40
    NISServers = 41
    NTPServers = 42
    VendorSpecific = 43
    NETBIOSNameSrv = 44
    NETBIOSDistSrv = 45
    NETBIOSNodeType = 46
    NETBIOSScope = 47
    XWindowFont = 48
    XWindowManager = 49
    RequestedIPAddress = 50
    IPAddressLeaseTime = 51
    Overload = 52
    DHCPMessageType = 53
    ServerId = 54
    ParameterRequestList = 55
    DHCPMessage = 56
    DHCPMaxMsgSize = 57
    RenewalTime = 58
    RebindingTime = 59
    ClassId = 60
    ClientId = 61
    NetWareIPDomain = 62
    NetWareIPOption = 63
    NISDomainName = 64
    NISServerAddr = 65
    ServerName = 66
    BootfileName = 67
    HomeAgentAddrs = 68
    SMTPServer = 69
    POP3Server = 70
    NNTPServer = 71
    WWWServer = 72
    FingerServer = 73
    IRCServer = 74
    StreetTalkServer = 75
    STDAServer = 76
    UserClass = 77
    DirectoryAgent = 78
    ServiceScope = 79
    RapidCommit = 80
    ClientFQDN = 81
    RelayAgentInformation = 82
    iSNS = 83
    NDSServers = 85
    NDSTreeName = 86
    NDSContext = 87
    BCMCSControllerDomainNamelist = 88
    BCMCSControllerIPv4addressoption = 89
    Authentication = 90
    clientlasttransactiontimeoption = 91
    associatedipoption = 92
    ClientSystem = 93
    ClientNDI = 94
    LDAP = 95
    UUID = 97
    UserAuth = 98
    GEOCONF_CIVIC = 99
    PCode = 100
    TCode = 101
    IPv6OnlyPreferred = 108
    OPTION_DHCP4O6_S46_SADDR = 109
    NetinfoAddress = 112
    NetinfoTag = 113
    DHCPCaptivePortal = 114
    AutoConfig = 116
    NameServiceSearch = 117
    SubnetSelectionOption = 118
    DomainSearch = 119
    SIPServersDHCPOption = 120
    ClasslessStaticRouteOption = 121
    CCC = 122
    GeoConfOption = 123
    VIVendorClass = 124
    VIVendorSpecificInformation = 125
    VLANID = 132
    Layer2Priority = 133
    OPTION_PANA_AGENT = 136
    OPTION_V4_LOST = 137
    OPTION_CAPWAP_AC_V4 = 138
    OPTIONIPv4_AddressMoS = 139
    OPTIONIPv4_FQDNMoS = 140
    SIPUAConfigurationServiceDomains = 141
    OPTIONIPv4_AddressANDSF = 142
    OPTION_V4_SZTP_REDIRECT = 143
    GeoLoc = 144
    FORCERENEW_NONCE_CAPABLE = 145
    RDNSSSelection = 146
    OPTION_V4_DOTS_RI = 147
    OPTION_V4_DOTS_ADDRESS = 148
    TFTPserveraddress = 150
    statuscode = 151
    basetime = 152
    starttimeofstate = 153
    querystarttime = 154
    queryendtime = 155
    dhcpstate = 156
    datasource = 157
    OPTION_V4_PCP_SERVER = 158
    OPTION_V4_PORTPARAMS = 159
    OPTION_MUD_URL_V4 = 161
    IPTelephone = 176
    PXELINUXMagic = 208
    ConfigurationFile = 209
    PathPrefix = 210
    RebootTime = 211
    OPTION_6RD = 212
    OPTION_V4_ACCESS_DOMAIN = 213
    SubnetAllocationOption = 220
    VirtualSubnetSelectionOption = 221
    WebProxyAutoDiscovery = 252
    End = 255
}