Documentation ¶
Overview ¶
The dhcpm package implements the DHCPM client protocol.
Introduction ¶
The Dynamic Host Configuration Protocol (DHCP) Server Management Protocol (DHCPM) defines remote procedure call (RPC) interfaces that provide methods for remotely accessing and administering the DHCP server. This RPC-based client/server protocol is used to configure, manage, and monitor a DHCP server.
An application implementing this protocol can remotely administer the DHCP server. This protocol enables service monitoring as well as creating, updating, and deleting DHCP scopes and associated configuration options; retrieving and setting DHCP server bindings; and retrieving and creating DHCP client lease records.
Overview ¶
The Dynamic Host Configuration Protocol (DHCP) Server Management Protocol is a client/server protocol that is used to remotely configure, manage, and monitor the DHCP server. This protocol allows a client to view and update the server configuration settings as well as to create, modify, and delete DHCP client lease records. The protocol allows a client to access and modify DHCP server settings, enumerate and modify DHCP server configuration (DHCP scopes, reservations, exclusions, option definition, and option values), and monitor DHCP client lease records.
The DHCP Server Management Protocol (DHCPM) is a stateless protocol with no state shared across RPC method calls. Each RPC method call contains one complete request. Output from one method call can be used as an input to another call, but the protocol does not provide for locking of the DHCP server configuration or state data across method calls. For example, a client enumerates DHCP subnets with one call and then retrieves the properties of one or more DHCP subnets with another call. However, the protocol does not guarantee that the specified subnet has not been deleted by another client between the two method calls.
Index ¶
- Variables
- type AddrPattern
- type AllOptionValues
- type AllOptionValuesPB
- type AllOptionValuesPB_Options
- type AllOptionValues_Options
- type AllOptions
- type AllOptions_VendorOptions
- type Attribute
- type AttributeArray
- type Attribute_Attribute
- func (o *Attribute_Attribute) GetValue() any
- func (o *Attribute_Attribute) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw uint32) error
- func (o *Attribute_Attribute) NDRSwitchValue(sw uint32) uint32
- func (o *Attribute_Attribute) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw uint32) error
- type Attribute_Bool
- type Attribute_Uint32
- type BOOTPIPRange
- type BinaryData
- type BindElement
- type BindElementArray
- type BindElementArrayV6
- type BindElementV6
- type ClassInfo
- type ClassInfoArray
- type ClassInfoArrayV6
- type ClassInfoV6
- type ClientFilterStatusInfo
- type ClientFilterStatusInfoArray
- type ClientInfo
- type ClientInfoArray
- type ClientInfoArrayV4
- type ClientInfoArrayV5
- type ClientInfoArrayV6
- type ClientInfoArrayVQ
- type ClientInfoEx
- type ClientInfoExArray
- type ClientInfoPB
- type ClientInfoPBArray
- type ClientInfoV4
- type ClientInfoV5
- type ClientInfoV6
- type ClientInfoVQ
- type ClientUID
- type DateTime
- type DwordDword
- type FSMState
- type FailoverClientInfoV4
- type FailoverMode
- type FailoverRelationship
- type FailoverRelationshipArray
- type FailoverServer
- type FailoverStatistics
- type FilterAddInfo
- type FilterEnumInfo
- type FilterGlobalInfo
- type FilterListType
- type FilterRecord
- type ForceFlag
- type HostInfo
- type HostInfoV6
- type IPArray
- type IPArrayV6
- type IPCluster
- type IPRange
- type IPRangeArray
- type IPRangeV6
- type IPReservation
- type IPReservationInfo
- type IPReservationV4
- type IPReservationV6
- type IPv6Address
- type MADCAPClientInfo
- type MADCAPClientInfoArray
- type MCastMIBInfo
- type MIBInfo
- type MIBInfoV5
- type MIBInfoV6
- type MIBInfoVQ
- type MScopeInfo
- type MScopeMIBInfo
- type MScopeTable
- type Option
- type OptionArray
- type OptionData
- type OptionDataElement
- type OptionDataElement_BinaryDataOption
- type OptionDataElement_ByteOption
- type OptionDataElement_DwordDwordOption
- type OptionDataElement_DwordOption
- type OptionDataElement_Element
- func (o *OptionDataElement_Element) GetValue() any
- func (o *OptionDataElement_Element) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw uint16) error
- func (o *OptionDataElement_Element) NDRSwitchValue(sw uint16) uint16
- func (o *OptionDataElement_Element) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw uint16) error
- type OptionDataElement_EncapsulatedDataOption
- type OptionDataElement_IPAddressOption
- type OptionDataElement_IPv6AddressDataOption
- type OptionDataElement_StringDataOption
- type OptionDataElement_WordOption
- type OptionDataType
- type OptionList
- type OptionScopeInfo
- type OptionScopeInfo6
- type OptionScopeInfo6_DefaultOptions
- type OptionScopeInfo6_ReservedOptions
- type OptionScopeInfo6_ReservedScopeInfo
- type OptionScopeInfo6_ScopeInfo
- func (o *OptionScopeInfo6_ScopeInfo) GetValue() any
- func (o *OptionScopeInfo6_ScopeInfo) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw uint16) error
- func (o *OptionScopeInfo6_ScopeInfo) NDRSwitchValue(sw uint16) uint16
- func (o *OptionScopeInfo6_ScopeInfo) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw uint16) error
- type OptionScopeInfo6_SubnetScopeInfo
- type OptionScopeInfo_DefaultOptions
- type OptionScopeInfo_GlobalOptions
- type OptionScopeInfo_MScopeInfo
- type OptionScopeInfo_ReservedScopeInfo
- type OptionScopeInfo_ScopeInfo
- func (o *OptionScopeInfo_ScopeInfo) GetValue() any
- func (o *OptionScopeInfo_ScopeInfo) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw uint16) error
- func (o *OptionScopeInfo_ScopeInfo) NDRSwitchValue(sw uint16) uint16
- func (o *OptionScopeInfo_ScopeInfo) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw uint16) error
- type OptionScopeInfo_SubnetScopeInfo
- type OptionScopeType
- type OptionScopeType6
- type OptionType
- type OptionValue
- type OptionValueArray
- type Policy
- type PolicyArray
- type PolicyAttributeType
- type PolicyComparator
- type PolicyCondition
- type PolicyConditionArray
- type PolicyEx
- type PolicyExArray
- type PolicyExpr
- type PolicyExprArray
- type PolicyFieldsToUpdate
- type PolicyLogicOperator
- type Property
- type PropertyArray
- type PropertyID
- type PropertyType
- type Property_BinaryValue
- type Property_ByteValue
- type Property_DwordValue
- type Property_StringValue
- type Property_Value
- type Property_WordValue
- type QuarantineStatus
- type ReservationInfoArray
- type ReservedScope
- type ReservedScope6
- type ResumeIPv6Handle
- type ScanFlag
- type ScanItem
- type ScanList
- type ScopeMIBInfo
- type ScopeMIBInfoV5
- type ScopeMIBInfoV6
- type ScopeMIBInfoVQ
- type SearchInfo
- type SearchInfoType
- type SearchInfoTypeV6
- type SearchInfoV6
- type SearchInfoV6_ClientDUID
- type SearchInfoV6_ClientIPAddress
- type SearchInfoV6_ClientName
- type SearchInfoV6_SearchInfo
- func (o *SearchInfoV6_SearchInfo) GetValue() any
- func (o *SearchInfoV6_SearchInfo) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw uint16) error
- func (o *SearchInfoV6_SearchInfo) NDRSwitchValue(sw uint16) uint16
- func (o *SearchInfoV6_SearchInfo) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw uint16) error
- type SearchInfo_ClientHardwareAddress
- type SearchInfo_ClientIPAddress
- type SearchInfo_ClientName
- type SearchInfo_SearchInfo
- func (o *SearchInfo_SearchInfo) GetValue() any
- func (o *SearchInfo_SearchInfo) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw uint16) error
- func (o *SearchInfo_SearchInfo) NDRSwitchValue(sw uint16) uint16
- func (o *SearchInfo_SearchInfo) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw uint16) error
- type ServerConfigInfo
- type ServerConfigInfoV4
- type ServerConfigInfoV6
- type ServerConfigInfoVQ
- type ServerSpecificStrings
- type StatelessParamsV6
- type StatelessScopeStatsV6
- type StatelessStatsV6
- type SubnetElementData
- type SubnetElementDataV4
- type SubnetElementDataV4_Element
- func (o *SubnetElementDataV4_Element) GetValue() any
- func (o *SubnetElementDataV4_Element) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw uint16) error
- func (o *SubnetElementDataV4_Element) NDRSwitchValue(sw uint16) uint16
- func (o *SubnetElementDataV4_Element) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw uint16) error
- type SubnetElementDataV4_ExcludeIPRange
- type SubnetElementDataV4_IPRange
- type SubnetElementDataV4_IPUsedCluster
- type SubnetElementDataV4_ReservedIP
- type SubnetElementDataV4_SecondaryHost
- type SubnetElementDataV5
- type SubnetElementDataV5_Element
- func (o *SubnetElementDataV5_Element) GetValue() any
- func (o *SubnetElementDataV5_Element) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw uint16) error
- func (o *SubnetElementDataV5_Element) NDRSwitchValue(sw uint16) uint16
- func (o *SubnetElementDataV5_Element) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw uint16) error
- type SubnetElementDataV5_ExcludeIPRange
- type SubnetElementDataV5_IPRange
- type SubnetElementDataV5_IPUsedCluster
- type SubnetElementDataV5_ReservedIP
- type SubnetElementDataV5_SecondaryHost
- type SubnetElementDataV6
- type SubnetElementDataV6_Element
- func (o *SubnetElementDataV6_Element) GetValue() any
- func (o *SubnetElementDataV6_Element) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw uint16) error
- func (o *SubnetElementDataV6_Element) NDRSwitchValue(sw uint16) uint16
- func (o *SubnetElementDataV6_Element) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw uint16) error
- type SubnetElementDataV6_ExcludeIPRange
- type SubnetElementDataV6_IPRange
- type SubnetElementDataV6_ReservedIP
- type SubnetElementData_Element
- func (o *SubnetElementData_Element) GetValue() any
- func (o *SubnetElementData_Element) MarshalUnionNDR(ctx context.Context, w ndr.Writer, sw uint16) error
- func (o *SubnetElementData_Element) NDRSwitchValue(sw uint16) uint16
- func (o *SubnetElementData_Element) UnmarshalUnionNDR(ctx context.Context, w ndr.Reader, sw uint16) error
- type SubnetElementData_ExcludeIPRange
- type SubnetElementData_IPRange
- type SubnetElementData_IPUsedCluster
- type SubnetElementData_ReservedIP
- type SubnetElementData_SecondaryHost
- type SubnetElementInfoArray
- type SubnetElementInfoArrayV4
- type SubnetElementInfoArrayV5
- type SubnetElementInfoArrayV6
- type SubnetElementType
- type SubnetElementTypeV6
- type SubnetInfo
- type SubnetInfoV6
- type SubnetInfoVQ
- type SubnetState
- type SuperScopeTable
- type SuperScopeTableEntry
Constants ¶
This section is empty.
Variables ¶
var AddressStateActive = 1
AddressStateActive represents the ADDRESS_STATE_ACTIVE RPC constant
var AddressStateDeclined = 2
AddressStateDeclined represents the ADDRESS_STATE_DECLINED RPC constant
var AddressStateDoom = 3
AddressStateDoom represents the ADDRESS_STATE_DOOM RPC constant
var AddressStateOffered = 0
AddressStateOffered represents the ADDRESS_STATE_OFFERED RPC constant
var AttributeTypeBool = 1
AttributeTypeBool represents the DHCP_ATTRIB_TYPE_BOOL RPC constant
var AttributeTypeUint32 = 2
AttributeTypeUint32 represents the DHCP_ATTRIB_TYPE_ULONG RPC constant
var ClientTypeBOOTP = 2
ClientTypeBOOTP represents the CLIENT_TYPE_BOOTP RPC constant
var ClientTypeBoth = 3
ClientTypeBoth represents the CLIENT_TYPE_BOTH RPC constant
var ClientTypeDHCP = 1
ClientTypeDHCP represents the CLIENT_TYPE_DHCP RPC constant
var ClientTypeNone = 100
ClientTypeNone represents the CLIENT_TYPE_NONE RPC constant
var ClientTypeReservationFlag = 4
ClientTypeReservationFlag represents the CLIENT_TYPE_RESERVATION_FLAG RPC constant
var ClientTypeUnspecified = 0
ClientTypeUnspecified represents the CLIENT_TYPE_UNSPECIFIED RPC constant
var DatabaseCleanupInterval = 10800000
DatabaseCleanupInterval represents the DHCP_DATABASE_CLEANUP_INTERVAL RPC constant
var DateTimeInfinitHigh = 2147483647
DateTimeInfinitHigh represents the DHCP_DATE_TIME_INFINIT_HIGH RPC constant
var DateTimeInfinitLow = 4294967295
DateTimeInfinitLow represents the DHCP_DATE_TIME_INFINIT_LOW RPC constant
var DateTimeZeroHigh = 0
DateTimeZeroHigh represents the DHCP_DATE_TIME_ZERO_HIGH RPC constant
var DateTimeZeroLow = 0
DateTimeZeroLow represents the DHCP_DATE_TIME_ZERO_LOW RPC constant
var DebugAPIVerbose = 131072
DebugAPIVerbose represents the DEBUG_API_VERBOSE RPC constant
var DebugAPIs = 512
DebugAPIs represents the DEBUG_APIS RPC constant
var DebugAddress = 1
DebugAddress represents the DEBUG_ADDRESS RPC constant
var DebugAlloc = 33554432
DebugAlloc represents the DEBUG_ALLOC RPC constant
var DebugAuditlog = 8192
DebugAuditlog represents the DEBUG_AUDITLOG RPC constant
var DebugClient = 2
DebugClient represents the DEBUG_CLIENT RPC constant
var DebugDNS = 262144
DebugDNS represents the DEBUG_DNS RPC constant
var DebugErrors = 16
DebugErrors represents the DEBUG_ERRORS RPC constant
var DebugInit = 64
DebugInit represents the DEBUG_INIT RPC constant
var DebugJet = 2048
DebugJet represents the DEBUG_JET RPC constant
var DebugLogInFile = 2147483648
DebugLogInFile represents the DEBUG_LOG_IN_FILE RPC constant
var DebugMessage = 65536
DebugMessage represents the DEBUG_MESSAGE RPC constant
var DebugMisc = 32768
DebugMisc represents the DEBUG_MISC RPC constant
var DebugMstoc = 524288
DebugMstoc represents the DEBUG_MSTOC RPC constant
var DebugOptions = 8
DebugOptions represents the DEBUG_OPTIONS RPC constant
var DebugParameters = 4
DebugParameters represents the DEBUG_PARAMETERS RPC constant
var DebugPerf = 16777216
DebugPerf represents the DEBUG_PERF RPC constant
var DebugPing = 67108864
DebugPing represents the DEBUG_PING RPC constant
var DebugPnP = 4194304
DebugPnP represents the DEBUG_PNP RPC constant
var DebugQuarantine = 16384
DebugQuarantine represents the DEBUG_QUARANTINE RPC constant
var DebugRegistry = 1024
DebugRegistry represents the DEBUG_REGISTRY RPC constant
var DebugRogue = 2097152
DebugRogue represents the DEBUG_ROGUE RPC constant
var DebugScavenger = 128
DebugScavenger represents the DEBUG_SCAVENGER RPC constant
var DebugStartupBrk = 1073741824
DebugStartupBrk represents the DEBUG_STARTUP_BRK RPC constant
var DebugStoc = 32
DebugStoc represents the DEBUG_STOC RPC constant
var DebugThread = 134217728
DebugThread represents the DEBUG_THREAD RPC constant
var DebugThreadPool = 4096
DebugThreadPool represents the DEBUG_THREADPOOL RPC constant
var DebugTimestamp = 256
DebugTimestamp represents the DEBUG_TIMESTAMP RPC constant
var DebugTrace = 268435456
DebugTrace represents the DEBUG_TRACE RPC constant
var DebugTraceCalls = 536870912
DebugTraceCalls represents the DEBUG_TRACE_CALLS RPC constant
var DebugTrack = 1048576
DebugTrack represents the DEBUG_TRACK RPC constant
var DefaultBackupInterval = 900000
DefaultBackupInterval represents the DEFAULT_BACKUP_INTERVAL RPC constant
var EndpointFlagCantModify = 1
EndpointFlagCantModify represents the DHCP_ENDPOINT_FLAG_CANT_MODIFY RPC constant
var (
// import guard
GoPackage = "dhcpm"
)
var HwTypeEthernet10Mb = 1
HwTypeEthernet10Mb represents the HWTYPE_ETHERNET_10MB RPC constant
var MACAddressLength = 6
MACAddressLength represents the MAC_ADDRESS_LENGTH RPC constant
var MaxDetectConflictRetries = 5
MaxDetectConflictRetries represents the MAX_DETECT_CONFLICT_RETRIES RPC constant
var MaxFreeAddressesRequested = 1024
MaxFreeAddressesRequested represents the DHCP_MAX_FREE_ADDRESSES_REQUESTED RPC constant
var MaxPatternLength = 255
MaxPatternLength represents the MAX_PATTERN_LENGTH RPC constant
var MinDetectConflictRetries = 0
MinDetectConflictRetries represents the MIN_DETECT_CONFLICT_RETRIES RPC constant
var ServerUseRPCOverAll = 7
ServerUseRPCOverAll represents the DHCP_SERVER_USE_RPC_OVER_ALL RPC constant
var ServerUseRPCOverLPC = 4
ServerUseRPCOverLPC represents the DHCP_SERVER_USE_RPC_OVER_LPC RPC constant
var ServerUseRPCOverNP = 2
ServerUseRPCOverNP represents the DHCP_SERVER_USE_RPC_OVER_NP RPC constant
var ServerUseRPCOverTCPIP = 1
ServerUseRPCOverTCPIP represents the DHCP_SERVER_USE_RPC_OVER_TCPIP RPC constant
var SetAPIProtocolSupport = 1
SetAPIProtocolSupport represents the Set_APIProtocolSupport RPC constant
var SetAuditLogState = 2048
SetAuditLogState represents the Set_AuditLogState RPC constant
var SetBackupInterval = 16
SetBackupInterval represents the Set_BackupInterval RPC constant
var SetBackupPath = 8
SetBackupPath represents the Set_BackupPath RPC constant
var SetBootFileTable = 1024
SetBootFileTable represents the Set_BootFileTable RPC constant
var SetDatabaseCleanupInterval = 128
SetDatabaseCleanupInterval represents the Set_DatabaseCleanupInterval RPC constant
var SetDatabaseLoggingFlag = 32
SetDatabaseLoggingFlag represents the Set_DatabaseLoggingFlag RPC constant
var SetDatabaseName = 2
SetDatabaseName represents the Set_DatabaseName RPC constant
var SetDatabasePath = 4
SetDatabasePath represents the Set_DatabasePath RPC constant
var SetDebugFlag = 256
SetDebugFlag represents the Set_DebugFlag RPC constant
var SetPingRetries = 512
SetPingRetries represents the Set_PingRetries RPC constant
var SetQuarantineDefFail = 8192
SetQuarantineDefFail represents the Set_QuarantineDefFail RPC constant
var SetQuarantineOn = 4096
SetQuarantineOn represents the Set_QuarantineON RPC constant
var SetRestoreFlag = 64
SetRestoreFlag represents the Set_RestoreFlag RPC constant
Functions ¶
This section is empty.
Types ¶
type AddrPattern ¶
type AddrPattern struct { // MatchHWType: This is of type BOOL. Setting the field to FALSE will cause the filtering // to disregard the hardware type field and a TRUE value will match the hardware type // field. MatchHwType bool `idl:"name:MatchHWType" json:"match_hw_type"` // HWType: This is of type BYTE and specifies the hardware type of the address, specified // in the pattern. For the list of valid options, see [RFC1700]. HwType uint8 `idl:"name:HWType" json:"hw_type"` // IsWildcard: This is of type BOOL and specifies whether the current pattern represents // a wildcard pattern. // // +---------+------------------------------------+ // | | | // | BOOL | MEANING | // | | | // +---------+------------------------------------+ // +---------+------------------------------------+ // | TRUE 1 | The pattern is a wildcard pattern. | // +---------+------------------------------------+ // | FALSE 0 | The pattern is a hardware address. | // +---------+------------------------------------+ IsWildcard bool `idl:"name:IsWildcard" json:"is_wildcard"` // Length: This is of type BYTE and specifies the length of the pattern. Length uint8 `idl:"name:Length" json:"length"` // Pattern: This is a pointer to a type BYTE and contains the address/pattern. Pattern []byte `idl:"name:Pattern" json:"pattern"` }
AddrPattern structure represents DHCP_ADDR_PATTERN RPC structure.
The DHCP_ADDR_PATTERN structure contains the information regarding the link-layer address/pattern.
func (*AddrPattern) MarshalNDR ¶
func (*AddrPattern) UnmarshalNDR ¶
type AllOptionValues ¶
type AllOptionValues struct { // Flags: This is an unused field, and it MUST be initialized to 0 in an RPC method // that modifies the DHCP server configuration. This MUST be treated as an error if // it is nonzero in an RPC method that queries DHCP server configuration. Flags uint32 `idl:"name:Flags" json:"flags"` // NumElements: This is of type DWORD, containing the number of options in the subsequent // field, the Options structure member. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Options: This structure defines the user and vendor-specific options Options []*AllOptionValues_Options `idl:"name:Options;size_is:(NumElements)" json:"options"` }
AllOptionValues structure represents DHCP_ALL_OPTION_VALUES RPC structure.
The DHCP_ALL_OPTION_VALUES structure contains all option values for a specified user class and vendor class. This structure is used in the R_DhcpGetAllOptionValuesV6 (section 3.2.4.57) method.
func (*AllOptionValues) MarshalNDR ¶
func (*AllOptionValues) UnmarshalNDR ¶
type AllOptionValuesPB ¶
type AllOptionValuesPB struct { // Flags: This member is of type DWORD. It is an unused field that MUST be initialized // to 0 in any RPC method that modifies the DHCP server configuration. This MUST be // treated as an error if it is nonzero in an RPC method that queries the DHCP server // configuration. Flags uint32 `idl:"name:Flags" json:"flags"` // NumElements: This member is of type DWORD and specifies the number of option structures // in the DHCP_ALL_OPTION_VALUES_PB structure. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` Options []*AllOptionValuesPB_Options `idl:"name:Options;size_is:(NumElements)" json:"options"` }
AllOptionValuesPB structure represents DHCP_ALL_OPTION_VALUES_PB RPC structure.
The DHCP_ALL_OPTION_VALUES_PB structure contains all the option values set for a specific policy.
func (*AllOptionValuesPB) MarshalNDR ¶
func (*AllOptionValuesPB) UnmarshalNDR ¶
type AllOptionValuesPB_Options ¶
type AllOptionValuesPB_Options struct { // PolicyName: This member is a pointer of type LPWSTR and contains the null-terminated // Unicode string identifying the name of the policy. The name of the policy is restricted // to 64 characters. PolicyName string `idl:"name:PolicyName" json:"policy_name"` // VendorName: This member is a pointer of type LPWSTR and contains the vendor class // name. This field is unused. VendorName string `idl:"name:VendorName" json:"vendor_name"` // IsVendor: This member is of type BOOL and specifies whether this is a vendor class // option. IsVendor bool `idl:"name:IsVendor" json:"is_vendor"` // OptionsArray: This member is a pointer to the DHCP_OPTION_VALUE_ARRAY structure // (section 2.2.1.2.43) and contains the option values set for the policy. OptionsArray *OptionValueArray `idl:"name:OptionsArray" json:"options_array"` }
AllOptionValuesPB_Options structure represents DHCP_ALL_OPTION_VALUES_PB structure anonymous member.
The DHCP_ALL_OPTION_VALUES_PB structure contains all the option values set for a specific policy.
func (*AllOptionValuesPB_Options) MarshalNDR ¶
func (*AllOptionValuesPB_Options) UnmarshalNDR ¶
type AllOptionValues_Options ¶
type AllOptionValues_Options struct { // ClassName: A pointer to a null-terminated Unicode string that contains the name // of the user class. ClassName string `idl:"name:ClassName" json:"class_name"` // VendorName: A pointer to a null-terminated Unicode string that contains the name // of the vendor class. VendorName string `idl:"name:VendorName" json:"vendor_name"` // IsVendor: This is of type BOOL that specifies whether this option set is specific // to a vendor class or default vendor class. IsVendor bool `idl:"name:IsVendor" json:"is_vendor"` // OptionsArray: This is a pointer to an array of DHCP_OPTION_VALUE_ARRAY (section // 2.2.1.2.43) structures that points to an array of all the options for a specified // user class and vendor class. OptionsArray *OptionValueArray `idl:"name:OptionsArray" json:"options_array"` }
AllOptionValues_Options structure represents DHCP_ALL_OPTION_VALUES structure anonymous member.
The DHCP_ALL_OPTION_VALUES structure contains all option values for a specified user class and vendor class. This structure is used in the R_DhcpGetAllOptionValuesV6 (section 3.2.4.57) method.
func (*AllOptionValues_Options) MarshalNDR ¶
func (*AllOptionValues_Options) UnmarshalNDR ¶
type AllOptions ¶
type AllOptions struct { // Flags: This is of type DWORD. This MUST be set to zero when sent and ignored on // receipt. Flags uint32 `idl:"name:Flags" json:"flags"` // NonVendorOptions: This is a pointer of type DHCP_OPTION_ARRAY (section 2.2.1.2.26) // structure that points to the location that contains all non-vendor-specific options // created on the DHCP server. NonVendorOptions *OptionArray `idl:"name:NonVendorOptions" json:"non_vendor_options"` // NumVendorOptions: This is of type DWORD, containing the number of vendor-specific // options created on the DHCP server. This field specifies the number of vendor-specific // options defined in the subsequent field, the VendorOptions member. VendorOptionsLength uint32 `idl:"name:NumVendorOptions" json:"vendor_options_length"` // VendorOptions: This structure defines the vendor-specific options. VendorOptions []*AllOptions_VendorOptions `idl:"name:VendorOptions;size_is:(NumVendorOptions)" json:"vendor_options"` }
AllOptions structure represents DHCP_ALL_OPTIONS RPC structure.
The DHCP_ALL_OPTIONS structure contains all the option definitions created on the DHCP server. This includes the vendor-specific option definition as well as the default vendor option definition. This structure is used in the R_DhcpGetAllOptions (section 3.2.4.30) method.
func (*AllOptions) MarshalNDR ¶
func (*AllOptions) UnmarshalNDR ¶
type AllOptions_VendorOptions ¶
type AllOptions_VendorOptions struct { // Option: This is of type DHCP_OPTION (section 2.2.1.2.25), containing the option // definition for the specific vendor class and user class. Option *Option `idl:"name:Option" json:"option"` // VendorName: A pointer to a null-terminated Unicode string that specifies the name // of a vendor class for a specific option definition. There is no restriction on the // length of this Unicode string. VendorName string `idl:"name:VendorName" json:"vendor_name"` // ClassName: A pointer to a null-terminated Unicode string that specifies the name // of a user class for a specific user class. There is no restriction on the length // of this Unicode string. ClassName string `idl:"name:ClassName" json:"class_name"` }
AllOptions_VendorOptions structure represents DHCP_ALL_OPTIONS structure anonymous member.
The DHCP_ALL_OPTIONS structure contains all the option definitions created on the DHCP server. This includes the vendor-specific option definition as well as the default vendor option definition. This structure is used in the R_DhcpGetAllOptions (section 3.2.4.30) method.
func (*AllOptions_VendorOptions) MarshalNDR ¶
func (*AllOptions_VendorOptions) UnmarshalNDR ¶
type Attribute ¶
type Attribute struct { // DhcpAttribId: This is of type DHCP_ATTRIB_ID (section 2.2.1.1.1), a ULONG value // specifying the attribute. AttributeID uint32 `idl:"name:DhcpAttribId" json:"attribute_id"` // DhcpAttribType: This is of type ULONG. The value specifies the type of the attribute's // data and which one of the values is chosen from the subsequent union. // // +-----------------------------------+----------------------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +-----------------------------------+----------------------------------------------------------------------------------+ // +-----------------------------------+----------------------------------------------------------------------------------+ // | DHCP_ATTRIB_TYPE_BOOL 0x00000001 | The attribute value is of type BOOL, and DhcpAttribBool is chosen from the | // | | following union. | // +-----------------------------------+----------------------------------------------------------------------------------+ // | DHCP_ATTRIB_TYPE_ULONG 0x00000002 | The attribute value is of type ULONG, and DhcpAttribUlong is chosen from the | // | | following union. | // +-----------------------------------+----------------------------------------------------------------------------------+ AttributeType uint32 `idl:"name:DhcpAttribType" json:"attribute_type"` Attribute *Attribute_Attribute `idl:"name:Attribute;switch_is:DhcpAttribType" json:"attribute"` }
Attribute structure represents DHCP_ATTRIB RPC structure.
The DHCP_ATTRIB structure contains the attribute and its values for the DHCPv4 server. This structure is used in the R_DhcpServerQueryAttribute (section 3.2.4.35) method.
func (*Attribute) MarshalNDR ¶
type AttributeArray ¶
type AttributeArray struct { // NumElements: This is of type ULONG, containing the number of attributes in the subsequent // field the DhcpAttribs member. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // DhcpAttribs: This is a pointer to an array of type DHCP_ATTRIB (section 2.2.1.2.78) // structure and of length NumElements that contains the attributes and its values. Attributes []*Attribute `idl:"name:DhcpAttribs;size_is:(NumElements)" json:"attributes"` }
AttributeArray structure represents DHCP_ATTRIB_ARRAY RPC structure.
The DHCP_ATTRIB_ARRAY structure defines an array of DHCP_ATTRIB (section 2.2.1.2.78) structures. This structure is used by methods that retrieve more than one attribute, such as the R_DhcpServerQueryAttributes (section 3.2.4.36) method. This structure defines an array of length NumElements that contains attributes and their values.
func (*AttributeArray) MarshalNDR ¶
func (*AttributeArray) UnmarshalNDR ¶
type Attribute_Attribute ¶
type Attribute_Attribute struct { // Types that are assignable to Value // // *Attribute_Bool // *Attribute_Uint32 Value is_Attribute_Attribute `json:"value"` }
Attribute_Attribute structure represents DHCP_ATTRIB union anonymous member.
The DHCP_ATTRIB structure contains the attribute and its values for the DHCPv4 server. This structure is used in the R_DhcpServerQueryAttribute (section 3.2.4.35) method.
func (*Attribute_Attribute) GetValue ¶
func (o *Attribute_Attribute) GetValue() any
func (*Attribute_Attribute) MarshalUnionNDR ¶
func (*Attribute_Attribute) NDRSwitchValue ¶
func (o *Attribute_Attribute) NDRSwitchValue(sw uint32) uint32
func (*Attribute_Attribute) UnmarshalUnionNDR ¶
type Attribute_Bool ¶
type Attribute_Bool struct { // DhcpAttribBool: This is of type BOOL and contains the value of the attribute. This // is chosen from the union if DhcpAttribType contains DHCP_ATTRIB_TYPE_BOOL. AttributeBool bool `idl:"name:DhcpAttribBool" json:"attribute_bool"` }
Attribute_Bool structure represents Attribute_Attribute RPC union arm.
It has following labels: 1
func (*Attribute_Bool) MarshalNDR ¶
func (*Attribute_Bool) UnmarshalNDR ¶
type Attribute_Uint32 ¶
type Attribute_Uint32 struct { // DhcpAttribUlong: This is of type ULONG and contains the value of the attribute. // This is chosen from the union if DhcpAttribType contains DHCP_ATTRIB_TYPE_ULONG. AttributeUint32 uint32 `idl:"name:DhcpAttribUlong" json:"attribute_uint32"` }
Attribute_Uint32 structure represents Attribute_Attribute RPC union arm.
It has following labels: 2
func (*Attribute_Uint32) MarshalNDR ¶
func (*Attribute_Uint32) UnmarshalNDR ¶
type BOOTPIPRange ¶
type BOOTPIPRange struct { // StartAddress: This is of type DHCP_IP_ADDRESS (section 2.2.1.2.1), containing the // first IPv4 address in the IPv4 range defined on the DHCPv4 server for BOOTP clients. StartAddress uint32 `idl:"name:StartAddress" json:"start_address"` // EndAddress: This is of type DHCP_IP_ADDRESS, containing the last IPv4 address in // the IPv4 range defined on the DHCPv4 server for BOOTP clients. EndAddress uint32 `idl:"name:EndAddress" json:"end_address"` // BootpAllocated: This is of type ULONG, specifying the number of BOOTP clients that // have been served from this IPv4 range. BOOTPAllocated uint32 `idl:"name:BootpAllocated" json:"bootp_allocated"` // MaxBootpAllowed: This is of type ULONG, specifying the maximum count of BOOTP clients // in this IPv4 range that the DHCPv4 server is allowed to serve. MaxBOOTPAllowed uint32 `idl:"name:MaxBootpAllowed" json:"max_bootp_allowed"` }
BOOTPIPRange structure represents DHCP_BOOTP_IP_RANGE RPC structure.
The DHCP_BOOTP_IP_RANGE structure defines a suite of IPv4 addresses that can be leased to BOOTP-specific clients ([RFC2132]). This structure is an extension of the DHCP_IP_RANGE (section 2.2.1.2.31) structure with some additional information for BOOTP-specific clients.
func (*BOOTPIPRange) MarshalNDR ¶
func (*BOOTPIPRange) UnmarshalNDR ¶
type BinaryData ¶
type BinaryData struct { // DataLength: This is a DWORD that contains the number of bytes of data stored in // the Data member buffer. There is no restriction imposed by this protocol on the length // of the data.<11> DataLength uint32 `idl:"name:DataLength" json:"data_length"` // Data: This is a pointer to BYTE, pointing to an array of bytes of length specified // by the DataLength member. Data []byte `idl:"name:Data;size_is:(DataLength)" json:"data"` }
BinaryData structure represents DHCP_BINARY_DATA RPC structure.
The DHCP_BINARY_DATA structure defines a buffer containing binary data. This data structure is generally used by other data structures, such as DHCP_OPTION_DATA_ELEMENT (section 2.2.1.2.23).
func (*BinaryData) MarshalNDR ¶
func (*BinaryData) UnmarshalNDR ¶
type BindElement ¶
type BindElement struct { // Flags: This is of type ULONG, specifying a set of bit flags indicating properties // of the interface binding. // // +-------------------------------------------+-----------------------------------+ // | | | // | VALUE | MEANING | // | | | // +-------------------------------------------+-----------------------------------+ // +-------------------------------------------+-----------------------------------+ // | DHCP_ENDPOINT_FLAG_CANT_MODIFY 0x00000001 | The endpoints cannot be modified. | // +-------------------------------------------+-----------------------------------+ Flags uint32 `idl:"name:Flags" json:"flags"` // fBoundToDHCPServer: This is of type BOOL and specifies whether this binding is set // on the DHCP server. // // +------------------+------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +------------------+------------------------------------------------------------------+ // +------------------+------------------------------------------------------------------+ // | FALSE 0x00000000 | It specifies that the interface is not bound to the DHCP server. | // +------------------+------------------------------------------------------------------+ // | TRUE 0x00000001 | It specifies that the interface is bound to the DHCP server. | // +------------------+------------------------------------------------------------------+ BoundToDHCPServer bool `idl:"name:fBoundToDHCPServer" json:"bound_to_dhcp_server"` // AdapterPrimaryAddress: This is of type DHCP_IP_ADDRESS, a DWORD specifying the IPv4 // address assigned to the interface over which the DHCP server is receiving DHCP packets. AdapterPrimaryAddress uint32 `idl:"name:AdapterPrimaryAddress" json:"adapter_primary_address"` // AdapterSubnetAddress: This is of type DHCP_IP_ADDRESS, a DWORD specifying the subnet // ID from which this interface is receiving DHCP packets. AdapterSubnetAddress uint32 `idl:"name:AdapterSubnetAddress" json:"adapter_subnet_address"` // IfDescription: A pointer, of type LPWSTR, to a null-terminated Unicode string that // specifies the name assigned to this interface. The maximum number of characters allowed // in this string is 256, excluding the terminating null character. InterfaceDescription string `idl:"name:IfDescription" json:"interface_description"` // IfIdSize: This is of type ULONG, and it contains the size of the interface GUID // ([MS-DTYP] section 2.3.4) stored in the IfId member. InterfaceIDSize uint32 `idl:"name:IfIdSize" json:"interface_id_size"` // IfId: This is a pointer to a BYTE that contains the interface GUID ([MS-DTYP] section // 2.3.4) assigned to this interface. InterfaceID []byte `idl:"name:IfId;size_is:(IfIdSize)" json:"interface_id"` }
BindElement structure represents DHCP_BIND_ELEMENT RPC structure.
The DHCP_BIND_ELEMENT structure defines an IPv4 interface binding for the DHCP server over which it receives DHCP packets. This structure is used in the DHCP_BIND_ELEMENT_ARRAY (section 2.2.1.2.81) structure.
func (*BindElement) MarshalNDR ¶
func (*BindElement) UnmarshalNDR ¶
type BindElementArray ¶
type BindElementArray struct { // NumElements: This is of type DWORD and specifies the number of interface bindings // listed in the subsequent field the Elements member. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Elements: This is a pointer to an array of type DHCP_BIND_ELEMENT (section 2.2.1.2.80) // structure and of length NumElements that contains information about the interface // bindings of a DHCP server. Elements []*BindElement `idl:"name:Elements;size_is:(NumElements)" json:"elements"` }
BindElementArray structure represents DHCP_BIND_ELEMENT_ARRAY RPC structure.
The DHCP_BIND_ELEMENT_ARRAY structure defines an array of DHCP_BIND_ELEMENT (section 2.2.1.2.80) structures. This contains an array of IPv4 interface bindings over which the DHCP server receives DHCP packets. The first member contains the number of IPv4 interface bindings present, and the second member points to the array of interface bindings over which the DHCP server is receiving DHCP packets.
func (*BindElementArray) MarshalNDR ¶
func (*BindElementArray) UnmarshalNDR ¶
type BindElementArrayV6 ¶
type BindElementArrayV6 struct { // NumElements: This is of type DWORD and specifies the number of IPv6 interface binding // listed in subsequent field the Elements member. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Elements: This is a pointer to an array of type DHCPV6_BIND_ELEMENT (section 2.2.1.2.82) // structure and length NumElements that contains information for interface bindings // for a DHCPv6 server. Elements []*BindElementV6 `idl:"name:Elements;size_is:(NumElements)" json:"elements"` }
BindElementArrayV6 structure represents DHCPV6_BIND_ELEMENT_ARRAY RPC structure.
The DHCPV6_BIND_ELEMENT_ARRAY structure defines an array of DHCPV6_BIND_ELEMENT (section 2.2.1.2.82) structures. This contains an array of IPv6 interface binding over which the DHCPv6 server receives DHCPv6 packets. The first member contains the number of IPv6 interface bindings present in the specific subnet, and the second member points to the array of interface bindings over which the DHCPv6 server is receiving DHCPv6 packets.
func (*BindElementArrayV6) MarshalNDR ¶
func (*BindElementArrayV6) UnmarshalNDR ¶
type BindElementV6 ¶
type BindElementV6 struct { // Flags: This is of type ULONG, specifying a set of bit flags indicating properties // of the interface binding. // // +-------------------------------------------+-----------------------------------+ // | | | // | VALUE | MEANING | // | | | // +-------------------------------------------+-----------------------------------+ // +-------------------------------------------+-----------------------------------+ // | DHCP_ENDPOINT_FLAG_CANT_MODIFY 0x00000001 | The endpoints cannot be modified. | // +-------------------------------------------+-----------------------------------+ Flags uint32 `idl:"name:Flags" json:"flags"` // fBoundToDHCPServer: This is of type BOOL, specifying whether the interface is bound // to the DHCP server. // // +------------------+------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +------------------+------------------------------------------------------------------+ // +------------------+------------------------------------------------------------------+ // | FALSE 0x00000000 | It specifies that the interface is not bound to the DHCP server. | // +------------------+------------------------------------------------------------------+ // | TRUE 0x00000001 | It specifies that the interface is bound to the DHCP server. | // +------------------+------------------------------------------------------------------+ BoundToDHCPServer bool `idl:"name:fBoundToDHCPServer" json:"bound_to_dhcp_server"` // AdapterPrimaryAddress: This is of type DHCP_IPV6_ADDRESS (section 2.2.1.2.28) structure, // specifying the IPv6 address assigned to the interface over which the DHCP server // is receiving DHCPv6 packets. AdapterPrimaryAddress *IPv6Address `idl:"name:AdapterPrimaryAddress" json:"adapter_primary_address"` // AdapterSubnetAddress: This is of type DHCP_IPV6_ADDRESS (section 2.2.1.2.28) structure, // specifying the IPv6 prefix ID of the subnet from which this interface is receiving // DHCPv6 packets. AdapterSubnetAddress *IPv6Address `idl:"name:AdapterSubnetAddress" json:"adapter_subnet_address"` // IfDescription: A pointer, of type LPWSTR, to a null-terminated Unicode string that // specifies the name assigned to this interface. The maximum number of characters allowed // in this string is 256, excluding the terminating null character. InterfaceDescription string `idl:"name:IfDescription" json:"interface_description"` // IpV6IfIndex: This is of type DWORD, containing the IPv6 interface index of the current // interface. IPv6InterfaceIndex uint32 `idl:"name:IpV6IfIndex" json:"ipv6_interface_index"` // IfIdSize: This is of type ULONG, containing the size of the interface GUID stored // in the IfId member. InterfaceIDSize uint32 `idl:"name:IfIdSize" json:"interface_id_size"` // IfId: This is a pointer to a BYTE, containing the interface GUID assigned to this // interface. InterfaceID []byte `idl:"name:IfId;size_is:(IfIdSize)" json:"interface_id"` }
BindElementV6 structure represents DHCPV6_BIND_ELEMENT RPC structure.
The DHCPV6_BIND_ELEMENT structure defines an IPv6 interface binding for the DHCP server over which it receives DHCPv6 packets. This structure is used in DHCPV6_BIND_ELEMENT_ARRAY (section 2.2.1.2.83) structure.
func (*BindElementV6) MarshalNDR ¶
func (*BindElementV6) UnmarshalNDR ¶
type ClassInfo ¶
type ClassInfo struct { // ClassName: A pointer, of type LPWSTR, to a null-terminated Unicode string that contains // the class name. There is no restriction on the length of this Unicode string. ClassName string `idl:"name:ClassName" json:"class_name"` // ClassComment: A pointer, of type LPWSTR, to a null-terminated Unicode string that // contains the comment for the class. There is no restriction on the length of this // Unicode string. ClassComment string `idl:"name:ClassComment" json:"class_comment"` // ClassDataLength: This is of type DWORD, containing the length of data as pointed // to by the ClassData member. ClassDataLength uint32 `idl:"name:ClassDataLength" json:"class_data_length"` // IsVendor: This is of type BOOL and specifies whether the class is user class or // vendor class. // // +------------+------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +------------+------------------------------------+ // +------------+------------------------------------+ // | 0x00000000 | Class specified is a user class. | // +------------+------------------------------------+ // | 0x00000001 | Class specified is a vendor class. | // +------------+------------------------------------+ IsVendor bool `idl:"name:IsVendor" json:"is_vendor"` // Flags: This is of type DWORD. Currently it is not used, and any value set to this // member will not affect the behavior of the method that uses this structure. Flags uint32 `idl:"name:Flags" json:"flags"` // ClassData: This is a pointer of type BYTE that points to an array of bytes of length // specified by the ClassDataLength member. This contains data regarding a user class // or a vendor class. ClassData []byte `idl:"name:ClassData;size_is:(ClassDataLength)" json:"class_data"` }
ClassInfo structure represents DHCP_CLASS_INFO RPC structure.
The DHCP_CLASS_INFO structure contains the information for a specific user class or vendor class. This structure is used in the R_DhcpCreateClass (section 3.2.4.25) method.
func (*ClassInfo) MarshalNDR ¶
type ClassInfoArray ¶
type ClassInfoArray struct { // NumElements: This is of type DWORD, containing the count of classes in the subsequent // field the Classes member. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Classes: This is a pointer of type DHCP_CLASS_INFO (section 2.2.1.2.75) structure // that points to the array of length NumElements containing class information. Classes []*ClassInfo `idl:"name:Classes;size_is:(NumElements)" json:"classes"` }
ClassInfoArray structure represents DHCP_CLASS_INFO_ARRAY RPC structure.
The DHCP_CLASS_INFO_ARRAY structure defines an array of DHCP_CLASS_INFO (section 2.2.1.2.75) structures. This structure is used by the methods that retrieve more than one class of information, such as the R_DhcpEnumClasses (section 3.2.4.29) method. The first member contains the number of classes present for the DHCPv4 server, and the second member contains a pointer to the array of length NumElements containing class information.
func (*ClassInfoArray) MarshalNDR ¶
func (*ClassInfoArray) UnmarshalNDR ¶
type ClassInfoArrayV6 ¶
type ClassInfoArrayV6 struct { // NumElements: This is of type DWORD, specifying the number of classes whose information // is contained in the array specified by the Classes member. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Classes: A pointer to an array of DHCP_CLASS_INFO_V6 (section 2.2.1.2.70) structures // that contains information regarding the various user classes and vendor classes. Classes []*ClassInfoV6 `idl:"name:Classes;size_is:(NumElements)" json:"classes"` }
ClassInfoArrayV6 structure represents DHCP_CLASS_INFO_ARRAY_V6 RPC structure.
The DHCP_CLASS_INFO_ARRAY_V6 structure contains a list of information regarding a user class or a vendor class.
func (*ClassInfoArrayV6) MarshalNDR ¶
func (*ClassInfoArrayV6) UnmarshalNDR ¶
type ClassInfoV6 ¶
type ClassInfoV6 struct { // ClassName: A pointer, of type LPWSTR, to a null-terminated Unicode string that contains // the class name. There is no restriction on the length of this Unicode string. ClassName string `idl:"name:ClassName" json:"class_name"` // ClassComment: A pointer, of type LPWSTR, to a null-terminated Unicode string that // contains the comment for the class. There is no restriction on the length of this // Unicode string. ClassComment string `idl:"name:ClassComment" json:"class_comment"` // ClassDataLength: This is of type DWORD, containing the length of data as pointed // to by the ClassData member. ClassDataLength uint32 `idl:"name:ClassDataLength" json:"class_data_length"` // IsVendor: This is of type BOOL and specifies whether the current class is vendor // class or user class. // // +------------+------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +------------+------------------------------------+ // +------------+------------------------------------+ // | 0x00000000 | Class specified is a user class. | // +------------+------------------------------------+ // | 0x00000001 | Class specified is a vendor class. | // +------------+------------------------------------+ IsVendor bool `idl:"name:IsVendor" json:"is_vendor"` // EnterpriseNumber: This is of type DWORD, containing the vendor class identifier. // It is default 0 for user class. EnterpriseNumber uint32 `idl:"name:EnterpriseNumber" json:"enterprise_number"` // Flags: This is of type DWORD. Currently it is not used, and any value set to this // parameter will not affect the behavior of the method that uses this structure. Flags uint32 `idl:"name:Flags" json:"flags"` // ClassData: This is a pointer of type BYTE that points to an array of bytes of length // specified by the ClassDataLength member. This contains data regarding a user class // or a vendor class. ClassData []byte `idl:"name:ClassData;size_is:(ClassDataLength)" json:"class_data"` }
ClassInfoV6 structure represents DHCP_CLASS_INFO_V6 RPC structure.
The DHCP_CLASS_INFO_V6 structure contains the information for a specific user class or vendor class. This structure is used in the R_DhcpCreateClassV6 (section 3.2.4.75) method.
func (*ClassInfoV6) MarshalNDR ¶
func (*ClassInfoV6) UnmarshalNDR ¶
type ClientFilterStatusInfo ¶
type ClientFilterStatusInfo struct { // ClientIpAddress: This is of type DHCP_IP_ADDRESS (section 2.2.1.2.1), a DWORD that // contains the DHCPv4 client's IPv4 address. ClientIPAddress uint32 `idl:"name:ClientIpAddress" json:"client_ip_address"` // SubnetMask: This is of type DHCP_IP_MASK (section 2.2.1.2.2), a DWORD that contains // the DHCPv4 client's IPv4 Subnet mask address. SubnetMask uint32 `idl:"name:SubnetMask" json:"subnet_mask"` // ClientHardwareAddress: This is of type DHCP_CLIENT_UID (section 2.2.1.2.5), a structure // that represents the DHCPv4 client-identifier (section 2.2.1.2.5.1). ClientHardwareAddress *ClientUID `idl:"name:ClientHardwareAddress" json:"client_hardware_address"` // ClientName: A pointer, of type LPWSTR, to a null-terminated Unicode string that // represents the DHCPv4 client's Internet host name. There is no restriction on the // length of this Unicode string. ClientName string `idl:"name:ClientName" json:"client_name"` // ClientComment: A pointer, of type LPWSTR, to a null-terminated Unicode string that // represents the description given to the DHCPv4 client. The maximum number of characters // allowed in this string is 128, including the terminating null character. ClientComment string `idl:"name:ClientComment" json:"client_comment"` // ClientLeaseExpires: This is of type DATE_TIME (section 2.2.1.2.11), a structure // that contains the lease expiry time for the DHCPv4 client. This is UTC time. ClientLeaseExpires *DateTime `idl:"name:ClientLeaseExpires" json:"client_lease_expires"` // OwnerHost: This of type DHCP_HOST_INFO (section 2.2.1.2.7), a structure that contains // information about the DHCPv4 server machine that has provided a lease to the DHCPv4 // client. OwnerHost *HostInfo `idl:"name:OwnerHost" json:"owner_host"` // bClientType: This is of type BYTE that identifies the type of the DHCPv4 client. // The possible values are shown in the following table. // // +-----------------------------------+----------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +-----------------------------------+----------------------------------------------------------------+ // +-----------------------------------+----------------------------------------------------------------+ // | CLIENT_TYPE_UNSPECIFIED 0x00 | A DHCPv4 client other than ones defined in this table. | // +-----------------------------------+----------------------------------------------------------------+ // | CLIENT_TYPE_DCHP 0x01 | The DHCPv4 client supports the DHCP protocol. | // +-----------------------------------+----------------------------------------------------------------+ // | CLIENT_TYPE_BOOTP 0x02 | The DHCPv4 client supports the BOOTP protocol ([RFC2132]). | // +-----------------------------------+----------------------------------------------------------------+ // | CLIENT_TYPE_BOTH 0x03 | The DHCPv4 client identifies both the DHCP and BOOTP protocol. | // +-----------------------------------+----------------------------------------------------------------+ // | CLIENT_TYPE_RESERVATION_FLAG 0x04 | There is an IPv4 reservation created for the DHCPv4 client. | // +-----------------------------------+----------------------------------------------------------------+ // | CLIENT_TYPE_NONE 0x05 | Backward compatibility for manual addressing. | // +-----------------------------------+----------------------------------------------------------------+ ClientType uint8 `idl:"name:bClientType" json:"client_type"` // AddressState: This is of type BYTE that represents the state of the IPv4 address // given to the DHCPv4 client. The following table represents the different values and // their meanings. // // +-----------------------------+----------------------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +-----------------------------+----------------------------------------------------------------------------------+ // +-----------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_STATE_OFFERED 0x00 | The DHCPv4 client has been offered this IPv4 address. | // +-----------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_STATE_ACTIVE 0x01 | The IPv4 address is active and has an active DHCPv4 client lease record. | // +-----------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_STATE_DECLINED 0x02 | The IPv4 address request was declined by the DHCPv4 client; hence it is a bad | // | | IPv4 address. | // +-----------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_STATE_DOOM 0x03 | The IPv4 address is in DOOMED state and is due to be deleted. | // +-----------------------------+----------------------------------------------------------------------------------+ AddressState uint8 `idl:"name:AddressState" json:"address_state"` // Status: This is of type QuarantineStatus (section 2.2.1.1.11), an enumeration that // contains the health status of the DHCPv4 client, as validated at the NAP server. Status QuarantineStatus `idl:"name:Status" json:"status"` // ProbationEnds: This is of type DATE_TIME, a structure that contains the end time // of the probation if the DHCPv4 client is on probation. For this time period, the // DHCPv4 client has full access to the network. ProbationEnds *DateTime `idl:"name:ProbationEnds" json:"probation_ends"` // QuarantineCapable: This is of type BOOL that can take on the following values. // // +---------+------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +---------+------------------------------------------------------+ // +---------+------------------------------------------------------+ // | TRUE 1 | The DHCPv4 client machine is quarantine-enabled. | // +---------+------------------------------------------------------+ // | FALSE 0 | The DHCPv4 client machine is not quarantine-enabled. | // +---------+------------------------------------------------------+ QuarantineCapable bool `idl:"name:QuarantineCapable" json:"quarantine_capable"` // FilterStatus: This is of type DWORD that specifies the status of the link-layer // filter. // // +-------------------------------------------------------+-----------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +-------------------------------------------------------+-----------------------------------------------------------------------+ // +-------------------------------------------------------+-----------------------------------------------------------------------+ // | FILTER_STATUS_NONE 0x00000001 | The DHCPv4 client MAC address does not match any filter. | // +-------------------------------------------------------+-----------------------------------------------------------------------+ // | FILTER_STATUS_FULL_MATCH_IN_ALLOW_LIST 0x00000002 | The DHCv4P client MAC address fully matches an allow list filter. | // +-------------------------------------------------------+-----------------------------------------------------------------------+ // | FILTER_STATUS_FULL_MATCH_IN_DENY_LIST 0x00000004 | The DHCPv4 client MAC address fully matches a deny list filter. | // +-------------------------------------------------------+-----------------------------------------------------------------------+ // | FILTER_STATUS_WILDCARD_MATCH_IN_ALLOW_LIST 0x00000008 | The DHCPv4 client MAC address has a wildcard match in the allow list. | // +-------------------------------------------------------+-----------------------------------------------------------------------+ // | FILTER_STATUS_WILDCARD_MATCH_IN_DENY_LIST 0x00000010 | The DHCPv4 client MAC address has a wildcard match in the deny list. | // +-------------------------------------------------------+-----------------------------------------------------------------------+ FilterStatus uint32 `idl:"name:FilterStatus" json:"filter_status"` }
ClientFilterStatusInfo structure represents DHCP_CLIENT_FILTER_STATUS_INFO RPC structure.
The DHCP_CLIENT_FILTER_STATUS_INFO structure defines information about the DHCPv4 client, including filter status information. The DHCP_CLIENT_FILTER_STATUS_INFO structure augments the DHCP_CLIENT_INFO_VQ (section 2.2.1.2.19) structure by including information related to the filters applicable to a DHCPv4 client.
func (*ClientFilterStatusInfo) MarshalNDR ¶
func (*ClientFilterStatusInfo) UnmarshalNDR ¶
type ClientFilterStatusInfoArray ¶
type ClientFilterStatusInfoArray struct { // NumElements: This member is of type DWORD that contains the number of DHCPv4 clients // in the subsequent field the Clients member. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Clients: This member is a pointer of type DHCP_CLIENT_FILTER_STATUS_INFO (section // 2.2.1.2.96) structure that points to the array of length NumElements containing the // DHCPv4 client's information. Clients []*ClientFilterStatusInfo `idl:"name:Clients;size_is:(NumElements)" json:"clients"` }
ClientFilterStatusInfoArray structure represents DHCP_CLIENT_FILTER_STATUS_INFO_ARRAY RPC structure.
The DHCP_CLIENT_FILTER_STATUS_INFO_ARRAY structure defines an array of DHCP_CLIENT_FILTER_STATUS_INFO (section 2.2.1.2.96) structures that contains a list of DHCPv4 client information. This structure is used by methods such as R_DhcpEnumSubnetClientsFilterStatusInfo (section 3.2.4.89) that retrieve information for more than one DHCPv4 client.
func (*ClientFilterStatusInfoArray) MarshalNDR ¶
func (*ClientFilterStatusInfoArray) UnmarshalNDR ¶
type ClientInfo ¶
type ClientInfo struct { // ClientIpAddress: This is of type DHCP_IP_ADDRESS (section 2.2.1.2.1) and contains // the DHCPv4 client's IPv4 address. ClientIPAddress uint32 `idl:"name:ClientIpAddress" json:"client_ip_address"` // SubnetMask: This is of type DHCP_IP_MASK (section 2.2.1.2.2) and contains the DHCPv4 // client's IPv4 subnet mask address. SubnetMask uint32 `idl:"name:SubnetMask" json:"subnet_mask"` // ClientHardwareAddress: This is of type DHCP_CLIENT_UID (section 2.2.1.2.5) that // represents a DHCPv4 client-identifier (section 2.2.1.2.5.1) or a DHCPv4 client unique // ID (section 2.2.1.2.5.2). Methods that accept DHCP_CLIENT_INFO as a parameter specify // which representations are acceptable. ClientHardwareAddress *ClientUID `idl:"name:ClientHardwareAddress" json:"client_hardware_address"` // ClientName: A pointer to a null-terminated Unicode string that represents the DHCPv4 // client's internet host name. There is no restriction on the length of this Unicode // string. ClientName string `idl:"name:ClientName" json:"client_name"` // ClientComment: A pointer to a null-terminated Unicode string that represents a description // of the DHCPv4 client. There is no restriction on the length of this Unicode string. ClientComment string `idl:"name:ClientComment" json:"client_comment"` // ClientLeaseExpires: This is of type DATE_TIME (section 2.2.1.2.11) that contains // the lease expiry time for the DHCPv4 client. This is Coordinated Universal Time (UTC). ClientLeaseExpires *DateTime `idl:"name:ClientLeaseExpires" json:"client_lease_expires"` // OwnerHost: This is of type DHCP_HOST_INFO (section 2.2.1.2.7) that contains information // about the DHCPv4 server machine that has provided a lease to the DHCPv4 client. OwnerHost *HostInfo `idl:"name:OwnerHost" json:"owner_host"` }
ClientInfo structure represents DHCP_CLIENT_INFO RPC structure.
The DHCP_CLIENT_INFO structure defines information about the DHCPv4 client that is used by the R_DhcpGetClientInfo (section 3.1.4.19) method.
func (*ClientInfo) MarshalNDR ¶
func (*ClientInfo) UnmarshalNDR ¶
type ClientInfoArray ¶
type ClientInfoArray struct { // NumElements: This is of type DWORD, containing the number of DHCPv4 clients in the // subsequent Clients member field. There are no inherent restrictions on the NumElements // member. Methods that retrieve DHCPv4 client information using the DHCP_CLIENT_INFO_ARRAY // structure can limit the maximum value of the NumElements member. For example, R_DhcpEnumSubnetClients // (section 3.1.4.21) restricts the number of elements based on input parameters and // the size, in addition to the number, of DHCPv4 client lease records available for // retrieval. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Clients: This is a pointer of type LPDHCP_CLIENT_INFO (section 2.2.1.2.12) that // points to the array of length NumElements containing the DHCPv4 client's information. Clients []*ClientInfo `idl:"name:Clients;size_is:(NumElements)" json:"clients"` }
ClientInfoArray structure represents DHCP_CLIENT_INFO_ARRAY RPC structure.
The DHCP_CLIENT_INFO_ARRAY structure defines an array of DHCP_CLIENT_INFO (section 2.2.1.2.12) structures.
This structure is used by methods that retrieve information for more than one DHCPv4 client.
func (*ClientInfoArray) MarshalNDR ¶
func (*ClientInfoArray) UnmarshalNDR ¶
type ClientInfoArrayV4 ¶
type ClientInfoArrayV4 struct { // NumElements: This is of type DWORD, containing the number of DHCPv4 client-specific // subnets, which is also the number of DHCPv4 clients in the Clients member. There // are no inherent restrictions on the NumElements member. Methods that retrieve DHCPv4 // client information using the DHCP_CLIENT_INFO_ARRAY_V4 structure can limit the maximum // value of the NumElements member. For example, R_DhcpEnumSubnetClientsV4 restricts // the number of elements based on input parameters and the size, as well as number, // of DHCPv4 client lease records available for retrieval. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Clients: This is a pointer of type LPDHCP_CLIENT_INFO_V4 that points to the array // of length NumElements containing the DHCPv4 client information. Clients []*ClientInfoV4 `idl:"name:Clients;size_is:(NumElements)" json:"clients"` }
ClientInfoArrayV4 structure represents DHCP_CLIENT_INFO_ARRAY_V4 RPC structure.
The DHCP_CLIENT_INFO_ARRAY_V4 structure defines an array of DHCP_CLIENT_INFO_V4 (section 2.2.1.2.14) structures.
This structure is used by methods, such as R_DhcpEnumSubnetClientsV4 (section 3.1.4.36), that retrieve information for more than one DHCP client.
func (*ClientInfoArrayV4) MarshalNDR ¶
func (*ClientInfoArrayV4) UnmarshalNDR ¶
type ClientInfoArrayV5 ¶
type ClientInfoArrayV5 struct { // NumElements: This is of type DWORD, containing the number of DHCPv4 client–specific // subnets, which is also the number of DHCPv4 clients in the Clients member element. // There are no inherent restrictions on the NumElements member. Methods that retrieve // DHCPv4 client information using the DHCP_CLIENT_INFO_ARRAY_V5 structure can limit // the maximum value of the NumElements member. For example, R_DhcpEnumSubnetClientsV5 // restricts the number of elements based on input parameters and the size, as well // as the number, of DHCPv4 client lease records available for retrieval. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Clients: This is a pointer of type DHCP_CLIENT_INFO_V5 that points to the array // of length NumElements containing the DHCPv4 client's information. Clients []*ClientInfoV5 `idl:"name:Clients;size_is:(NumElements)" json:"clients"` }
ClientInfoArrayV5 structure represents DHCP_CLIENT_INFO_ARRAY_V5 RPC structure.
The DHCP_CLIENT_INFO_ARRAY_V5 structure defines the array of DHCP_CLIENT_INFO_V5 (section 2.2.1.2.16) structures.
This structure is used by methods, such as R_DhcpEnumSubnetClientsV5 (section 3.2.4.1), that retrieve information for more than one DHCPv4 client.
func (*ClientInfoArrayV5) MarshalNDR ¶
func (*ClientInfoArrayV5) UnmarshalNDR ¶
type ClientInfoArrayV6 ¶
type ClientInfoArrayV6 struct { // NumElements: This is of type DWORD, containing the number of DHCPv6 clients in the // subsequent field the Clients member. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Clients: This is a pointer of type DHCP_CLIENT_INFO_V6 (section 2.2.1.2.64) structure // that points to the array of length NumElements containing the DHCPv6 client's information. Clients []*ClientInfoV6 `idl:"name:Clients;size_is:(NumElements)" json:"clients"` }
ClientInfoArrayV6 structure represents DHCP_CLIENT_INFO_ARRAY_V6 RPC structure.
The DHCP_CLIENT_INFO_ARRAY_V6 structure defines an array of DHCP_CLIENT_INFO_V6 (section 2.2.1.2.64) structures. The first member contains the number of DHCPv6 clients present in the specific prefix, and the second member contains a pointer to the array of length NumElements containing the DHCPv6 client's information. This structure is used by the methods that retrieve more than one DHCPv6 client's information.
func (*ClientInfoArrayV6) MarshalNDR ¶
func (*ClientInfoArrayV6) UnmarshalNDR ¶
type ClientInfoArrayVQ ¶
type ClientInfoArrayVQ struct { // NumElements: This is of type DWORD, containing the number of clients in the specific // IPv4 subnet, which is also the number of entries in the Clients member element. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Clients: This is a pointer of type DHCP_CLIENT_INFO_VQ that points to the array // of length NumElements containing the DHCP client information. Clients []*ClientInfoVQ `idl:"name:Clients;size_is:(NumElements)" json:"clients"` }
ClientInfoArrayVQ structure represents DHCP_CLIENT_INFO_ARRAY_VQ RPC structure.
The DHCP_CLIENT_INFO_ARRAY_VQ structure defines an array of DHCP_CLIENT_INFO_VQ (section 2.2.1.2.19) structures. This structure is used by methods, such as R_DhcpEnumSubnetClientsVQ (section 3.1.4.48), that retrieve information for more than one DHCPv4 client.
func (*ClientInfoArrayVQ) MarshalNDR ¶
func (*ClientInfoArrayVQ) UnmarshalNDR ¶
type ClientInfoEx ¶
type ClientInfoEx struct { // ClientIpAddress: The client's IPv4 address. ClientIPAddress uint32 `idl:"name:ClientIpAddress" json:"client_ip_address"` // SubnetMask: The client's IPv4 subnet mask. SubnetMask uint32 `idl:"name:SubnetMask" json:"subnet_mask"` // ClientHardwareAddress: A DHCP_CLIENT_UID (section 2.2.1.2.5) structure containing // the client'sDHCPv4 client-identifier. ClientHardwareAddress *ClientUID `idl:"name:ClientHardwareAddress" json:"client_hardware_address"` // ClientName: A pointer to a null-terminated Unicode string representing the client's // DHCPv4 internet host name. There is no restriction on the string length. ClientName string `idl:"name:ClientName" json:"client_name"` // ClientComment: A pointer to a null-terminated Unicode string representing the client's // DHCPv4 internet host name. There is no restriction on the string length. ClientComment string `idl:"name:ClientComment" json:"client_comment"` // ClientLeaseExpires: The time at which the client's lease on its assigned IPv4 address // expires. ClientLeaseExpires *DateTime `idl:"name:ClientLeaseExpires" json:"client_lease_expires"` // OwnerHost: A DHCP_HOST_INFO (section 2.2.1.2.7) structure that contains information // about the DHCPv4 server that assigned the client's IPv4 address. OwnerHost *HostInfo `idl:"name:OwnerHost" json:"owner_host"` // bClientType: The type of the DHCPv4 client. This member MUST have one of the following // values. // // +-----------------------------------+----------------------------------------------------------------------------------+ // | | | // | VALUE | DESCRIPTION | // | | | // +-----------------------------------+----------------------------------------------------------------------------------+ // +-----------------------------------+----------------------------------------------------------------------------------+ // | CLIENT_TYPE_UNSPECIFIED 0x00 | Used for DHCPv4 clients that are not any other type as defined in this table. | // +-----------------------------------+----------------------------------------------------------------------------------+ // | CLIENT_TYPE_DHCP 0x01 | The DHCPv4 client supports the DHCP protocol. | // +-----------------------------------+----------------------------------------------------------------------------------+ // | CLIENT_TYPE_BOOTP 0x02 | The DHCPv4 client supports the BOOTP protocol ([RFC2132]). | // +-----------------------------------+----------------------------------------------------------------------------------+ // | CLIENT_TYPE_BOTH 0x03 | The DHCPv4 client supports the DHCP and BOOTP protocols. | // +-----------------------------------+----------------------------------------------------------------------------------+ // | CLIENT_TYPE_RESERVATION_FLAG 0x04 | An IPv4 registration has been created for the DHCPv4 client. | // +-----------------------------------+----------------------------------------------------------------------------------+ // | CLIENT_TYPE_NONE 0x05 | The client uses manual addressing. This value supports backward compatibility | // | | with clients that do not use dynamic IP address assignment. | // +-----------------------------------+----------------------------------------------------------------------------------+ ClientType uint8 `idl:"name:bClientType" json:"client_type"` // AddressState: The state of the IPv4 address for the DHCPv4 client. This member MUST // be set to one of the following values. // // +-----------------------------+----------------------------------------------------------------------------------+ // | | | // | VALUE | DESCRIPTION | // | | | // +-----------------------------+----------------------------------------------------------------------------------+ // +-----------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_STATE_OFFERED 0x00 | The address has been offered to the client. | // +-----------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_STATE_ACTIVE 0x01 | The address is active and has an active DHCPv4 client lease record. | // +-----------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_STATE_DECLINED 0x02 | The IPv4 address request was declined by the DHCPv4 client. The server will not | // | | issue this IPv4 address to other clients for a period of time. | // +-----------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_STATE_DOOM 0x03 | The IPv4 address is in the DOOMED state prior to being deleted. | // +-----------------------------+----------------------------------------------------------------------------------+ AddressState uint8 `idl:"name:AddressState" json:"address_state"` // Status: A QuarantineStatus (section 2.2.1.1.11) value representing the DHCPv4 client's // health status as validated by the NAP server. Status QuarantineStatus `idl:"name:Status" json:"status"` // ProbationEnds: If the client is on probation, this member contains the time at which // the probation ends. Up to the time at which probation ends, the client has full access // to the network. ProbationEnds *DateTime `idl:"name:ProbationEnds" json:"probation_ends"` // QuarantineCapable: Indicates whether the client machine is quarantine-enabled. A // value of TRUE indicates that the client machine is quarantine-enabled, whereas FALSE // indicates that it is not. QuarantineCapable bool `idl:"name:QuarantineCapable" json:"quarantine_capable"` // FilterStatus: The status of the link-layer filter. This member MUST be set to one // of the following values. // // +-------------------------------------------------------+-------------------------------------------------------------------------------+ // | | | // | VALUE | DESCRIPTION | // | | | // +-------------------------------------------------------+-------------------------------------------------------------------------------+ // +-------------------------------------------------------+-------------------------------------------------------------------------------+ // | FILTER_STATUS_NONE 0x00000001 | The DHCPv4 client's MAC address does not match any filter. | // +-------------------------------------------------------+-------------------------------------------------------------------------------+ // | FILTER_STATUS_FULL_MATCH_IN_ALLOW_LIST 0x00000002 | The DHCPv4 client's MAC address fully matches an allow-list filter. | // +-------------------------------------------------------+-------------------------------------------------------------------------------+ // | FILTER_STATUS_FULL_MATCH_IN_DENY_LIST 0x00000004 | The DHCPv4 client's MAC address fully matches a deny-list filter. | // +-------------------------------------------------------+-------------------------------------------------------------------------------+ // | FILTER_STATUS_WILDCARD_MATCH_IN_ALLOW_LIST 0x00000008 | The DHCPv4 client's MAC address has a wildcard match to an allow-list filter. | // +-------------------------------------------------------+-------------------------------------------------------------------------------+ // | FILTER_STATUS_WILDCARD_MATCH_IN_DENY_LIST 0x00000010 | The DHCPv4 client's MAC address has a wildcard match to a deny-list filter. | // +-------------------------------------------------------+-------------------------------------------------------------------------------+ FilterStatus uint32 `idl:"name:FilterStatus" json:"filter_status"` // PolicyName: A pointer to a null-terminated Unicode string containing the name of // the scope-level policy, if any, that resulted in the current IPv4 address being assigned // to the client. The string is limited to 64 characters, including the terminating // null character. PolicyName string `idl:"name:PolicyName" json:"policy_name"` // Properties: A list of properties that is associated with the given client. See the // following list for properties allowed for the DHCPv4 client. Properties not identified // are ignored. Properties *PropertyArray `idl:"name:Properties" json:"properties"` }
ClientInfoEx structure represents DHCP_CLIENT_INFO_EX RPC structure.
The DHCP_CLIENT_INFO_EX structure encapsulates information about a DHCPv4 client, including filter status information and the policy, if any, that resulted in the client's specific IPv4 address assignment. This structure augments the DHCP_CLIENT_INFO (section 2.2.1.2.12) structure by including a list of DHCP properties represented by the field Properties.
func (*ClientInfoEx) MarshalNDR ¶
func (*ClientInfoEx) UnmarshalNDR ¶
type ClientInfoExArray ¶
type ClientInfoExArray struct { // NumElements: The number of elements in the Clients member. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Clients: An array of pointers to DHCP_CLIENT_INFO_EX (section 2.2.1.2.119) structures. Clients []*ClientInfoEx `idl:"name:Clients;size_is:(NumElements)" json:"clients"` }
ClientInfoExArray structure represents DHCP_CLIENT_INFO_EX_ARRAY RPC structure.
The DHCP_CLIENT_INFO_EX_ARRAY structure encapsulates an array of DHCP_CLIENT_INFO_EX (section 2.2.1.2.119) structures.
func (*ClientInfoExArray) MarshalNDR ¶
func (*ClientInfoExArray) UnmarshalNDR ¶
type ClientInfoPB ¶
type ClientInfoPB struct { // ClientIpAddress: The client's IPv4 address. ClientIPAddress uint32 `idl:"name:ClientIpAddress" json:"client_ip_address"` // SubnetMask: The client's IPv4 subnet mask. SubnetMask uint32 `idl:"name:SubnetMask" json:"subnet_mask"` // ClientHardwareAddress: A DHCP_CLIENT_UID structure containing the client's DHCPv4 // client-identifier. ClientHardwareAddress *ClientUID `idl:"name:ClientHardwareAddress" json:"client_hardware_address"` // ClientName: A pointer to a null-terminated Unicode string representing the client's // DHCPv4 internet host name. There is no restriction on the length of this string. ClientName string `idl:"name:ClientName" json:"client_name"` // ClientComment: A pointer to a null-terminated Unicode string containing a description // given to the DHCPv4 client. This string is limited to 128 characters, including the // terminating null character. ClientComment string `idl:"name:ClientComment" json:"client_comment"` // ClientLeaseExpires: The time at which the client's lease on its assigned IPv4 address // expires. ClientLeaseExpires *DateTime `idl:"name:ClientLeaseExpires" json:"client_lease_expires"` // OwnerHost: A DHCP_HOST_INFO structure that contains information about the DHCPv4 // server that assigned the client's IPv4 address. OwnerHost *HostInfo `idl:"name:OwnerHost" json:"owner_host"` // bClientType: The type of the DHCPv4 client. This member MUST have one of the following // values. // // +-----------------------------------+----------------------------------------------------------------------------------+ // | | | // | VALUE | DESCRIPTION | // | | | // +-----------------------------------+----------------------------------------------------------------------------------+ // +-----------------------------------+----------------------------------------------------------------------------------+ // | CLIENT_TYPE_UNSPECIFIED 0x00 | Used for DHCPv4 clients that are not any of the other types in this table. | // +-----------------------------------+----------------------------------------------------------------------------------+ // | CLIENT_TYPE_DHCP 0x01 | The DHCPv4 client supports the DHCP protocol. | // +-----------------------------------+----------------------------------------------------------------------------------+ // | CLIENT_TYPE_BOOTP 0x02 | The DHCPv4 client supports the BOOTP protocol ([RFC2132]). | // +-----------------------------------+----------------------------------------------------------------------------------+ // | CLIENT_TYPE_BOTH 0x03 | The DHCPv4 client supports the DHCP and BOOTP protocols. | // +-----------------------------------+----------------------------------------------------------------------------------+ // | CLIENT_TYPE_RESERVATION_FLAG 0x04 | An IPv4 registration has been created for the DHCPv4 client. | // +-----------------------------------+----------------------------------------------------------------------------------+ // | CLIENT_TYPE_NONE 0x05 | The client uses manual addressing. This value supports backward compatibility | // | | with clients that do not use dynamic IP address assignment. | // +-----------------------------------+----------------------------------------------------------------------------------+ ClientType uint8 `idl:"name:bClientType" json:"client_type"` // AddressState: The state of the IPv4 address given to the DHCPv4 client. This member // MUST be set to one of the following values. // // +-----------------------------+----------------------------------------------------------------------------------+ // | | | // | VALUE | DESCRIPTION | // | | | // +-----------------------------+----------------------------------------------------------------------------------+ // +-----------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_STATE_OFFERED 0x00 | The address has been offered to the client. | // +-----------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_STATE_ACTIVE 0x01 | The address is active and has an active DHCPv4 client lease record. | // +-----------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_STATE_DECLINED 0x02 | The IPv4 address request was declined by the DHCPv4 client. The server will not | // | | issue this IPv4 address to other clients for a period of time. | // +-----------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_STATE_DOOM 0x03 | The IPv4 address is in the DOOMED state prior to being deleted. | // +-----------------------------+----------------------------------------------------------------------------------+ AddressState uint8 `idl:"name:AddressState" json:"address_state"` // Status: A QuarantineStatus (section 2.2.1.1.11) value representing the DHCPv4 client's // health status as validated by the NAP server. Status QuarantineStatus `idl:"name:Status" json:"status"` // ProbationEnds: If the client is on probation, this member contains the time at which // the probation ends. Up to that time, the client has full access to the network. ProbationEnds *DateTime `idl:"name:ProbationEnds" json:"probation_ends"` // QuarantineCapable: Whether the client machine is quarantine-enabled. A value of // TRUE indicates that the client machine is quarantine-enabled, whereas FALSE indicates // that it is not. QuarantineCapable bool `idl:"name:QuarantineCapable" json:"quarantine_capable"` // FilterStatus: The status of the link-layer filter. This member MUST be set to one // of the following values. // // +-------------------------------------------------------+-------------------------------------------------------------------------------+ // | | | // | VALUE | DESCRIPTION | // | | | // +-------------------------------------------------------+-------------------------------------------------------------------------------+ // +-------------------------------------------------------+-------------------------------------------------------------------------------+ // | FILTER_STATUS_NONE 0x00000001 | The DHCPv4 client's MAC address does not match any filter. | // +-------------------------------------------------------+-------------------------------------------------------------------------------+ // | FILTER_STATUS_FULL_MATCH_IN_ALLOW_LIST 0x00000002 | The DHCPv4 client's MAC address fully matches an allow-list filter. | // +-------------------------------------------------------+-------------------------------------------------------------------------------+ // | FILTER_STATUS_FULL_MATCH_IN_DENY_LIST 0x00000004 | The DHCPv4 client's MAC address fully matches a deny-list filter. | // +-------------------------------------------------------+-------------------------------------------------------------------------------+ // | FILTER_STATUS_WILDCARD_MATCH_IN_ALLOW_LIST 0x00000008 | The DHCPv4 client's MAC address has a wildcard match to an allow-list filter. | // +-------------------------------------------------------+-------------------------------------------------------------------------------+ // | FILTER_STATUS_WILDCARD_MATCH_IN_DENY_LIST 0x00000010 | The DHCPv4 client's MAC address has a wildcard match to a deny-list filter. | // +-------------------------------------------------------+-------------------------------------------------------------------------------+ FilterStatus uint32 `idl:"name:FilterStatus" json:"filter_status"` // PolicyName: A pointer to a null-terminated Unicode string containing the name of // the scope-level policy, if any, that resulted in the current IPv4 address being assigned // to the client. This string is limited to 64 characters, including the terminating // null character. PolicyName string `idl:"name:PolicyName" json:"policy_name"` }
ClientInfoPB structure represents DHCP_CLIENT_INFO_PB RPC structure.
The DHCP_CLIENT_INFO_PB structure encapsulates information about a DHCPv4 client, including filter status information and the policy, if any, that resulted in the client's specific IPv4 address assignment. This structure augments the DHCP_CLIENT_FILTER_STATUS_INFO (section 2.2.1.2.96) structure by including the PolicyName member.
func (*ClientInfoPB) MarshalNDR ¶
func (*ClientInfoPB) UnmarshalNDR ¶
type ClientInfoPBArray ¶
type ClientInfoPBArray struct { // NumElements: The number of elements in the Clients member. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Clients: An array of pointers to DHCP_CLIENT_INFO_PB structures. Clients []*ClientInfoPB `idl:"name:Clients;size_is:(NumElements)" json:"clients"` }
ClientInfoPBArray structure represents DHCP_CLIENT_INFO_PB_ARRAY RPC structure.
The DHCP_CLIENT_INFO_PB_ARRAY structure encapsulates an array of DHCP_CLIENT_INFO_PB (section 2.2.1.2.115) structures.
func (*ClientInfoPBArray) MarshalNDR ¶
func (*ClientInfoPBArray) UnmarshalNDR ¶
type ClientInfoV4 ¶
type ClientInfoV4 struct { // ClientIpAddress: This is of type DHCP_IP_ADDRESS (section 2.2.1.2.1), a DWORD that // contains the DHCPv4 client's IPv4 address. ClientIPAddress uint32 `idl:"name:ClientIpAddress" json:"client_ip_address"` // SubnetMask: This is of type DHCP_IP_MASK (section 2.2.1.2.2), a DWORD that contains // the DHCPv4 client's IPv4 subnet mask address. SubnetMask uint32 `idl:"name:SubnetMask" json:"subnet_mask"` // ClientHardwareAddress: This is of type DHCP_CLIENT_UID (section 2.2.1.2.5), a structure // that represents a DHCPv4 client-identifier (section 2.2.1.2.5.1) or a DHCPv4 client // unique ID (section 2.2.1.2.5.2). Methods that accept DHCP_CLIENT_INFO_V4 as a parameter // specify which representations are acceptable. ClientHardwareAddress *ClientUID `idl:"name:ClientHardwareAddress" json:"client_hardware_address"` // ClientName: A pointer to a null-terminated Unicode string that represents the DHCPv4 // client's internet host name. There is no restriction on the length of this Unicode // string. ClientName string `idl:"name:ClientName" json:"client_name"` // ClientComment: A pointer to a null-terminated Unicode string that represents a description // of the DHCPv4 client. There is no restriction on the length of this Unicode string. ClientComment string `idl:"name:ClientComment" json:"client_comment"` // ClientLeaseExpires: This is of type DATE_TIME (section 2.2.1.2.11), a structure // that contains the lease expiry time for the DHCPv4 client. This is UTC time. ClientLeaseExpires *DateTime `idl:"name:ClientLeaseExpires" json:"client_lease_expires"` // OwnerHost: This is of type DHCP_HOST_INFO (section 2.2.1.2.7), a structure that // contains information on the DHCPv4 server machine that has provided a lease to the // DHCPv4 client. OwnerHost *HostInfo `idl:"name:OwnerHost" json:"owner_host"` // bClientType: This is of type BYTE that identifies the type of the DHCPv4 client. // Possible values for this field are provided in the following table. // // +-----------------------------------+-----------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +-----------------------------------+-----------------------------------------------------------------------+ // +-----------------------------------+-----------------------------------------------------------------------+ // | CLIENT_TYPE_UNSPECIFIED 0x00 | A DHCPv4 client other than ones defined in this table. | // +-----------------------------------+-----------------------------------------------------------------------+ // | CLIENT_TYPE_DHCP 0x01 | The DHCPv4 client supports the DHCPv4 protocol. | // +-----------------------------------+-----------------------------------------------------------------------+ // | CLIENT_TYPE_BOOTP 0x02 | The DHCPv4 client supports the BOOTP protocol ([RFC2132]). | // +-----------------------------------+-----------------------------------------------------------------------+ // | CLIENT_TYPE_BOTH 0x03 | The DHCPv4 client identifies both the DHCPv4 and the BOOTP protocols. | // +-----------------------------------+-----------------------------------------------------------------------+ // | CLIENT_TYPE_RESERVATION_FLAG 0x04 | There is an IPv4 reservation created for the DHCPv4 client. | // +-----------------------------------+-----------------------------------------------------------------------+ // | CLIENT_TYPE_NONE 0x64 | Backward compatibility for manual addressing. | // +-----------------------------------+-----------------------------------------------------------------------+ ClientType uint8 `idl:"name:bClientType" json:"client_type"` }
ClientInfoV4 structure represents DHCP_CLIENT_INFO_V4 RPC structure.
The DHCP_CLIENT_INFO_V4 structure defines information about the DHCPv4 client that is used by the R_DhcpGetClientInfoV4 (section 3.1.4.35) method.
This structure augments the DHCP_CLIENT_INFO (section 2.2.1.2.12) structure by including the additional element bClientType.
func (*ClientInfoV4) MarshalNDR ¶
func (*ClientInfoV4) UnmarshalNDR ¶
type ClientInfoV5 ¶
type ClientInfoV5 struct { // ClientIpAddress: This is of type DHCP_IP_ADDRESS (section 2.2.1.2.1), a DWORD that // contains the DHCPv4 client's IPv4 address. ClientIPAddress uint32 `idl:"name:ClientIpAddress" json:"client_ip_address"` // SubnetMask: This is of type DHCP_IP_MASK (section 2.2.1.2.2), a DWORD that contains // the DHCPv4 client's IPv4 subnet mask address. SubnetMask uint32 `idl:"name:SubnetMask" json:"subnet_mask"` // ClientHardwareAddress: This is of type DHCP_CLIENT_UID (section 2.2.1.2.5), a structure // that represents a DHCPv4 client-identifier (section 2.2.1.2.5.1) or a DHCPv4 client // unique ID (section 2.2.1.2.5.2). Methods that accept DHCP_CLIENT_INFO_V5 as a parameter // specify which representations are acceptable. ClientHardwareAddress *ClientUID `idl:"name:ClientHardwareAddress" json:"client_hardware_address"` // ClientName: A pointer to a null-terminated Unicode string that represents the DHCPv4 // client's internet host name. There is no restriction on the length of this Unicode // string. ClientName string `idl:"name:ClientName" json:"client_name"` // ClientComment: A pointer to a null-terminated Unicode string that represents the // description given to the DHCPv4 client. There is no restriction on the length of // this Unicode string. ClientComment string `idl:"name:ClientComment" json:"client_comment"` // ClientLeaseExpires: This is of type DATE_TIME (section 2.2.1.2.11), a structure // that contains the lease expiry time for the DHCPv4 client. This is UTC time. ClientLeaseExpires *DateTime `idl:"name:ClientLeaseExpires" json:"client_lease_expires"` // OwnerHost: This of type DHCP_HOST_INFO (section 2.2.1.2.7), a structure that contains // information about the DHCPv4 server machine that has provided a lease to the DHCPv4 // client. OwnerHost *HostInfo `idl:"name:OwnerHost" json:"owner_host"` // bClientType: This is of type BYTE that identifies the type of the DHCPv4 client. // Possible values for this field are provided in the following table. // // +-----------------------------------+-----------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +-----------------------------------+-----------------------------------------------------------------------+ // +-----------------------------------+-----------------------------------------------------------------------+ // | CLIENT_TYPE_UNSPECIFIED 0x00 | A DHCPv4 client other than ones defined in this table. | // +-----------------------------------+-----------------------------------------------------------------------+ // | CLIENT_TYPE_DHCP 0x01 | The DHCPv4 client supports the DHCP protocol. | // +-----------------------------------+-----------------------------------------------------------------------+ // | CLIENT_TYPE_BOOTP 0x02 | The DHCPv4 client supports the BOOTP protocols ([RFC2132]). | // +-----------------------------------+-----------------------------------------------------------------------+ // | CLIENT_TYPE_BOTH 0x03 | The DHCPv4 client identifies both the DHCPv4 and the BOOTP protocols. | // +-----------------------------------+-----------------------------------------------------------------------+ // | CLIENT_TYPE_RESERVATION_FLAG 0x04 | There is an IPv4 reservation created for the DHCPv4 client. | // +-----------------------------------+-----------------------------------------------------------------------+ // | CLIENT_TYPE_NONE 0x64 | Backward compatibility for manual addressing. | // +-----------------------------------+-----------------------------------------------------------------------+ ClientType uint8 `idl:"name:bClientType" json:"client_type"` // AddressState: This is of type BYTE, as shown by the following set of bits. The AddressState // member represents the state of the IPv4 address given to the DHCPv4 client. // // +-------+------+------+------+------+------+------+------+ // | BIT | | | | | | | | // | 7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 | // | | | | | | | | | // +-------+------+------+------+------+------+------+------+ // +-------+------+------+------+------+------+------+------+ // // The following tables show the various bit representation values and their meanings. // // +----------------------------+----------------------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +----------------------------+----------------------------------------------------------------------------------+ // +----------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_STATE_OFFERED 0x0 | The DHCPv4 client is offered this IPv4 address. | // +----------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_STATE_ACTIVE 0x1 | The IPv4 address is active and has an active DHCPv4 client lease record. | // +----------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_STATE_DECLINED 0x2 | The IPv4 address request is declined by the DHCPv4 client; hence it is a bad | // | | IPv4 address. | // +----------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_STATE_DOOM 0x3 | The IPv4 address is in DOOMED state and is due to be deleted. | // +----------------------------+----------------------------------------------------------------------------------+ // // BIT 2 and BIT 3 signify the Name Protection (section 3.3.3) related information of // the leased IPv4 address, as shown in the table that follows. // // +-------------------------------------------+----------------------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +-------------------------------------------+----------------------------------------------------------------------------------+ // +-------------------------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_BIT_NO_DHCID 0x0 | The address is leased to the DHCPv4 client without DHCID (sections 3 and 3.5 of | // | | [RFC4701]). | // +-------------------------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_BIT_DHCID_NO_CLIENTIDOPTION 0x1 | The address is leased to the DHCPv4 client with DHCID as specified in section | // | | 3.5.3 of [RFC4701]. | // +-------------------------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_BIT_DHCID_WITH_CLIENTIDOPTION 0x2 | The address is leased to the DHCPv4 client with DHCID as specified in section | // | | 3.5.2 of [RFC4701]. | // +-------------------------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_BIT_DHCID_WITH_DUID 0x3 | The address is leased to the DHCPv4 client with DHCID as specified in section | // | | 3.5.1 of [RFC4701]. | // +-------------------------------------------+----------------------------------------------------------------------------------+ // // BIT 4, BIT 5, BIT 6, and BIT 7 specify DNS-related information as shown in the table // that follows. // // +-------------------------------+----------------------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +-------------------------------+----------------------------------------------------------------------------------+ // +-------------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_BIT_CLEANUP 0x10 | The DNS update for the DHCPv4 client lease record needs to be deleted from the | // | | DNS server when the lease is deleted. | // +-------------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_BIT_BOTH_REC 0x20 | The DNS update needs to be sent for both A and PTR resource records ([RFC1034] | // | | section 3.6). | // +-------------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_BIT_UNREGISTERED 0x40 | The DNS update is not completed for the lease record. | // +-------------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_BIT_DELETED 0x80 | The address lease is expired, but the DNS updates for the lease record have not | // | | been deleted from the DNS server. | // +-------------------------------+----------------------------------------------------------------------------------+ AddressState uint8 `idl:"name:AddressState" json:"address_state"` }
ClientInfoV5 structure represents DHCP_CLIENT_INFO_V5 RPC structure.
The DHCP_CLIENT_INFO_V5 structure defines information about the DHCPv4 client. It augments the DHCP_CLIENT_INFO_V4 (section 2.2.1.2.14) structure by including the additional element AddressState. This structure is used in the DHCP_CLIENT_INFO_ARRAY_V5 structure.
func (*ClientInfoV5) MarshalNDR ¶
func (*ClientInfoV5) UnmarshalNDR ¶
type ClientInfoV6 ¶
type ClientInfoV6 struct { // ClientIpAddress: This is of type DHCP_IPV6_ADDRESS (section 2.2.1.2.28), a structure // that contains the DHCPv6 client's IPv6 address. ClientIPAddress *IPv6Address `idl:"name:ClientIpAddress" json:"client_ip_address"` // ClientDUID: This is of type DHCP_CLIENT_UID (section 2.2.1.2.5), a structure that // represents the DHCPv6 client-identifier (section 2.2.1.2.5.3). ClientDUID *ClientUID `idl:"name:ClientDUID" json:"client_duid"` // AddressType: This is of type DWORD that specifies the type of IPv6 address. // // +------------------------------+--------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +------------------------------+--------------------------------------+ // +------------------------------+--------------------------------------+ // | ADDRESS_TYPE_IANA 0x00000000 | Indicates an IANA address. [RFC3315] | // +------------------------------+--------------------------------------+ // | ADDRESS_TYPE_IATA 0x00000001 | Indicates an IATA address. [RFC3315] | // +------------------------------+--------------------------------------+ AddressType uint32 `idl:"name:AddressType" json:"address_type"` // IAID: This is of type DWORD that specifies the interface identifier of the DHCPv6 // client interface. IAID uint32 `idl:"name:IAID" json:"iaid"` // ClientName: A pointer to a null-terminated Unicode string that contains the name // of the DHCPv6 client. There is no restriction on the length of this Unicode string. ClientName string `idl:"name:ClientName" json:"client_name"` // ClientComment: A pointer to a null-terminated Unicode string that contains a comment // relating to the DHCPv6 client. There is no restriction on the length of this Unicode // string. ClientComment string `idl:"name:ClientComment" json:"client_comment"` // ClientValidLeaseExpires: This is of type DATE_TIME (section 2.2.1.2.11), a structure // that contains the valid lifetime of the DHCPv6 client lease. ClientValidLeaseExpires *DateTime `idl:"name:ClientValidLeaseExpires" json:"client_valid_lease_expires"` // ClientPrefLeaseExpires: This is of type DATE_TIME, a structure that contains the // preferred lifetime of the DHCPv6 client lease. ClientPrefLeaseExpires *DateTime `idl:"name:ClientPrefLeaseExpires" json:"client_pref_lease_expires"` // OwnerHost: This is of type DHCP_HOST_INFO_V6 (section 2.2.1.2.63), a structure that // contains information about the DHCPv6 server machine that has given this IPv6 lease // to this DHCPv6 client. OwnerHost *HostInfoV6 `idl:"name:OwnerHost" json:"owner_host"` }
ClientInfoV6 structure represents DHCP_CLIENT_INFO_V6 RPC structure.
The DHCP_CLIENT_INFO_V6 structure contains information on DHCPv6 client. This structure is used in the R_DhcpGetClientInfoV6 (section 3.2.4.73) method.
func (*ClientInfoV6) MarshalNDR ¶
func (*ClientInfoV6) UnmarshalNDR ¶
type ClientInfoVQ ¶
type ClientInfoVQ struct { // ClientIpAddress: This is of type DHCP_IP_ADDRESS (section 2.2.1.2.1), a DWORD that // contains the DHCPv4 client's IPv4 address. ClientIPAddress uint32 `idl:"name:ClientIpAddress" json:"client_ip_address"` // SubnetMask: This is of type DHCP_IP_MASK (section 2.2.1.2.2), a DWORD that contains // the DHCPv4 client's IPv4 subnet mask address. SubnetMask uint32 `idl:"name:SubnetMask" json:"subnet_mask"` // ClientHardwareAddress: This is of type DHCP_CLIENT_UID (section 2.2.1.2.5), a structure // that represents a DHCPv4 client-identifier (section 2.2.1.2.5.1) or a DHCPv4 client // unique ID (section 2.2.1.2.5.2). Methods that accept DHCP_CLIENT_INFO_VQ as a parameter // specify which representations are acceptable. ClientHardwareAddress *ClientUID `idl:"name:ClientHardwareAddress" json:"client_hardware_address"` // ClientName: A pointer to a null-terminated Unicode string that represents the DHCPv4 // client's internet host name. There is no restriction on the length of this Unicode // string. ClientName string `idl:"name:ClientName" json:"client_name"` // ClientComment: A pointer to a null-terminated Unicode string that represents the // description given to the DHCPv4 client. There is no restriction on the length of // this Unicode string. ClientComment string `idl:"name:ClientComment" json:"client_comment"` // ClientLeaseExpires: This is of type DATE_TIME (section 2.2.1.2.11), a structure // that contains the lease expiry time for the DHCPv4 client. This is UTC time represented // in the FILETIME format. ClientLeaseExpires *DateTime `idl:"name:ClientLeaseExpires" json:"client_lease_expires"` // OwnerHost: This is of type DHCP_HOST_INFO (section 2.2.1.2.7), a structure that // contains information about the DHCPv4 server machine that has provided a lease to // the DHCPv4 client. OwnerHost *HostInfo `idl:"name:OwnerHost" json:"owner_host"` // bClientType: This is of type BYTE that identifies the type of the DHCPv4 client. // The possible values are shown in the table that follows. // // +-----------------------------------+-----------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +-----------------------------------+-----------------------------------------------------------------------+ // +-----------------------------------+-----------------------------------------------------------------------+ // | CLIENT_TYPE_UNSPECIFIED 0x00 | A DHCPv4 client other than ones defined in this table. | // +-----------------------------------+-----------------------------------------------------------------------+ // | CLIENT_TYPE_DHCP 0x01 | The DHCPv4 client supports the DHCP protocol. | // +-----------------------------------+-----------------------------------------------------------------------+ // | CLIENT_TYPE_BOOTP 0x02 | The DHCPv4 client supports the BOOTP protocol ([RFC2132]). | // +-----------------------------------+-----------------------------------------------------------------------+ // | CLIENT_TYPE_BOTH 0x03 | The DHCPv4 client identifies both the DHCPv4 and the BOOTP protocols. | // +-----------------------------------+-----------------------------------------------------------------------+ // | CLIENT_TYPE_RESERVATION_FLAG 0x04 | There is an IPv4 reservation created for the DHCPv4 client. | // +-----------------------------------+-----------------------------------------------------------------------+ // | CLIENT_TYPE_NONE 0x64 | Backward compatibility for manual addressing. | // +-----------------------------------+-----------------------------------------------------------------------+ ClientType uint8 `idl:"name:bClientType" json:"client_type"` // AddressState: This is of type BYTE, as shown by the following set of bits. The AddressState // member represents the state of the IPv4 address given to the DHCPv4 client. // // +-------+------+------+------+------+------+------+------+ // | BIT | | | | | | | | // | 7 | BIT6 | BIT5 | BIT4 | BIT3 | BIT2 | BIT1 | BIT0 | // | | | | | | | | | // +-------+------+------+------+------+------+------+------+ // +-------+------+------+------+------+------+------+------+ // // The following tables show the various bit representation values and their meanings. // // BIT 0 and BIT 1 signify the state of the leased IPv4 address, as shown in the table // that follows. // // +----------------------------+----------------------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +----------------------------+----------------------------------------------------------------------------------+ // +----------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_STATE_OFFERED 0x0 | The DHCPv4 client is offered this IPv4 address. | // +----------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_STATE_ACTIVE 0x1 | The IPv4 address is active and has an active DHCPv4 client lease record. | // +----------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_STATE_DECLINED 0x2 | The IPv4 address request is declined by the DHCPv4 client; hence, it is a bad | // | | IPv4 address. | // +----------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_STATE_DOOM 0x3 | The IPv4 address is in DOOMED state and is due to be deleted. | // +----------------------------+----------------------------------------------------------------------------------+ // // BIT 2 and BIT 3 signify the Name Protection (section 3.3.3) related information of // the leased IPv4 address, as shown in the table that follows. // // +-------------------------------------------+----------------------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +-------------------------------------------+----------------------------------------------------------------------------------+ // +-------------------------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_BIT_NO_DHCID 0x0 | The address is leased to the DHCPv4 client without DHCID (sections 3 and 3.5 of | // | | [RFC4701]). | // +-------------------------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_BIT_DHCID_NO_CLIENTIDOPTION 0x1 | The address is leased to the DHCPv4 client with DHCID as specified in section | // | | 3.5.3 of [RFC4701]. | // +-------------------------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_BIT_DHCID_WITH_CLIENTIDOPTION 0x2 | The address is leased to the DHCPv4 client with DHCID as specified in section | // | | 3.5.2 of [RFC4701]. | // +-------------------------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_BIT_DHCID_WITH_DUID 0x3 | The address is leased to the DHCPv4 client with DHCID as specified in section | // | | 3.5.1 of [RFC4701]. | // +-------------------------------------------+----------------------------------------------------------------------------------+ // // BIT 4, BIT 5, BIT 6, and BIT 7 specify DNS-related information as shown in the table // that follows. // // +------------------------------+----------------------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +------------------------------+----------------------------------------------------------------------------------+ // +------------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_BIT_CLEANUP 0x1 | The DNS update for the DHCPv4 client lease record needs to be deleted from the | // | | DNS server when the lease is deleted. | // +------------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_BIT_BOTH_REC 0x2 | The DNS update needs to be sent for both A and PTR resource records ([RFC1034] | // | | section 3.6). | // +------------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_BIT_UNREGISTERED 0x4 | The DNS update is not completed for the lease record. | // +------------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_BIT_DELETED 0x8 | The address lease is expired, but the DNS updates for the lease record have not | // | | been deleted from the DNS server. | // +------------------------------+----------------------------------------------------------------------------------+ AddressState uint8 `idl:"name:AddressState" json:"address_state"` // Status: This is of type QuarantineStatus (section 2.2.1.1.11), and enumeration that // contains the health status of the DHCPv4 client, as validated at the NAP server. // Possible values validated by the NAP server are NOQUARANTINE, RESTRICTEDACCESS, DROPPACKET, // and PROBATION. Status QuarantineStatus `idl:"name:Status" json:"status"` // ProbationEnds: This is of type DATE_TIME, a structure that contains the end time // of the probation if the DHCPv4 client is on probation. For this time period, the // DHCPv4 client has full access to the network. ProbationEnds *DateTime `idl:"name:ProbationEnds" json:"probation_ends"` // QuarantineCapable: This is of type BOOL that takes on the values shown in the table // that follows. // // +---------+------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +---------+------------------------------------------------------+ // +---------+------------------------------------------------------+ // | TRUE 1 | The DHCPv4 client machine is quarantine-enabled. | // +---------+------------------------------------------------------+ // | FALSE 0 | The DHCPv4 client machine is not quarantine-enabled. | // +---------+------------------------------------------------------+ QuarantineCapable bool `idl:"name:QuarantineCapable" json:"quarantine_capable"` }
ClientInfoVQ structure represents DHCP_CLIENT_INFO_VQ RPC structure.
The DHCP_CLIENT_INFO_VQ structure defines information about the DHCPv4 client. This structure is used in the R_DhcpGetClientInfoVQ (section 3.1.4.47) method.
DHCP_CLIENT_INFO_VQ augments the DHCP_CLIENT_INFO_V5 (section 2.2.1.2.16) structure by including information related to the NAP settings of the DHCPv4 client.
func (*ClientInfoVQ) MarshalNDR ¶
func (*ClientInfoVQ) UnmarshalNDR ¶
type ClientUID ¶
type ClientUID BinaryData
ClientUID structure represents DHCP_CLIENT_UID RPC structure.
func (*ClientUID) BinaryData ¶
func (o *ClientUID) BinaryData() *BinaryData
func (*ClientUID) MarshalNDR ¶
type DateTime ¶
type DateTime struct { // dwLowDateTime: This is of type DWORD, containing the lower 32 bits of the time value. LowDateTime uint32 `idl:"name:dwLowDateTime" json:"low_date_time"` // dwHighDateTime: This is of type DWORD, containing the upper 32 bits of the time // value. HighDateTime uint32 `idl:"name:dwHighDateTime" json:"high_date_time"` }
DateTime structure represents DATE_TIME RPC structure.
The DATE_TIME structure contains a 64-bit value interpreted as an unsigned number that represents the number of 100-nanosecond intervals since January 1, 1601 (UTC).
func (*DateTime) MarshalNDR ¶
type DwordDword ¶
type DwordDword struct { // DWord1: This is of type DWORD, specifying the upper 32 bits of the value. Dword1 uint32 `idl:"name:DWord1" json:"dword1"` // DWord2: This is of type DWORD, specifying the lower 32 bits of the value. Dword2 uint32 `idl:"name:DWord2" json:"dword2"` }
DwordDword structure represents DWORD_DWORD RPC structure.
The DWORD_DWORD structure defines a 64-bit integer value. This is used in DHCP_OPTION_DATA_ELEMENT (section 2.2.1.2.23).
func (*DwordDword) MarshalNDR ¶
func (*DwordDword) UnmarshalNDR ¶
type FSMState ¶
type FSMState uint16
FSMState type represents FSM_STATE RPC enumeration.
The FSM_STATE enumeration defines a set of possible values representing various failover relationship states on a DHCPv4 server. For additional information about server state transitions, see [IETF-DHCPFOP-12], section 9.2.
var ( // NO_STATE: This value means that no state is configured for the DHCPv4 failover relationship. FSMStateNoState FSMState = 0 // INIT: This value means that the failover relationship on the DHCPv4 server is in // the initializing state. FSMStateInit FSMState = 1 // STARTUP: This value means that each server participating in the failover relationship // moves into the STARTUP state after initializing itself. The STARTUP state enables // a server to probe its partner server, before starting DHCP client service. FSMStateStartup FSMState = 2 // NORMAL: This value means that each server services DHCPDISCOVER messages [RFC2131] // and all other DHCP requests, other than DHCPREQUEST/RENEWAL or DHCPREQUEST/REBINDING // requests from the client set, as defined by the load balancing algorithm specified // in [RFC3074]. Each server services DHCPREQUEST/RENEWAL or DHCPDISCOVER/REBINDING // requests from any client. FSMStateNormal FSMState = 3 // COMMUNICATION_INT: This value means that each server in a failover relationship is // operating independently in the COMMUNICATION_INT state, but neither assumes that // its partner is not operating. The partner server might be operating and simply unable // to communicate with this server, or it might not be operating at all. FSMStateCommunicationInt FSMState = 4 // PARTNER_DOWN: This value means that when operating in the PARTNER_DOWN state, a server // assumes that its partner is not currently operating. FSMStatePartnerDown FSMState = 5 // POTENTIAL_CONFLICT: This value indicates that the failover relationship between two // DHCP servers is attempting to re-establish itself. FSMStatePotentialConflict FSMState = 6 // CONFLICT_DONE: This value indicates that during the process where two servers in // a failover relationship attempt reintegration with each other, the primary server // has received all updates from the secondary server. FSMStateConflictDone FSMState = 7 // RESOLUTION_INT: This value indicates that the two servers in a failover relationship // were attempting reintegration with each other in the POTENTIAL_CONFLICT state, but // communications failed prior to completion of the reintegration. FSMStateResolutionInt FSMState = 8 // RECOVER: This value indicates that a server in a failover relationship has no information // in its stable storage facility or that it is reintegrating with a server in the PARTNER_DOWN // state after it has been down. FSMStateRecover FSMState = 9 // RECOVER_WAIT: This value means that the DHCPv4 server waits for a time period equal // to maximum client lead time (MCLT) before moving to the RECOVER_DONE state. FSMStateRecoverWait FSMState = 10 // RECOVER_DONE: This value enables an interlocked transition of one server from the // RECOVER state and another server from the PARTNER_DOWN or COMMUNICATION-INT state // to the NORMAL state. FSMStateRecoverDone FSMState = 11 )
type FailoverClientInfoV4 ¶
type FailoverClientInfoV4 struct { // ClientIpAddress: This member is a structure of type DHCP_IP_ADDRESS (section 2.2.1.2.1), // which is a DWORD containing the DHCPv4 client's IPv4 address. ClientIPAddress uint32 `idl:"name:ClientIpAddress" json:"client_ip_address"` // SubnetMask: This member is a structure of type DHCP_IP_MASK (section 2.2.1.2.2), // and is a DWORD containing the DHCPv4 client's IPv4 subnet mask address. SubnetMask uint32 `idl:"name:SubnetMask" json:"subnet_mask"` // ClientHardwareAddress: This member is a structure of type DHCP_CLIENT_UID (section // 2.2.1.2.5) that represents a DHCPv4 client-identifier (section 2.2.1.2.5.1) or a // DHCPv4 client unique ID (section 2.2.1.2.5.2). Methods that accept DHCP_CLIENT_INFO_VQ // (section 2.2.1.2.19) as a parameter specify which representations are acceptable. ClientHardwareAddress *ClientUID `idl:"name:ClientHardwareAddress" json:"client_hardware_address"` // ClientName: This member is a pointer to a null-terminated Unicode string that represents // the DHCPv4 client's internet host name. There is no restriction on the length of // this Unicode string. ClientName string `idl:"name:ClientName" json:"client_name"` // ClientComment: This member is a pointer to a null-terminated Unicode string that // represents the description given to the DHCPv4 client. There is no restriction on // the length of this Unicode string. ClientComment string `idl:"name:ClientComment" json:"client_comment"` // ClientLeaseExpires: This member is a structure of type DATE_TIME (section 2.2.1.2.11) // and contains the lease expiry time for the DHCPv4 client. This is UTC time represented // in FILETIME format. ClientLeaseExpires *DateTime `idl:"name:ClientLeaseExpires" json:"client_lease_expires"` // OwnerHost: This member is a structure of type DHCP_HOST_INFO (section 2.2.1.2.7) // that contains information about the DHCPv4 Server machine that has provided a lease // to the DHCPv4 client. OwnerHost *HostInfo `idl:"name:OwnerHost" json:"owner_host"` // bClientType: This member is of type BYTE and identifies the type of the DHCPv4 client. // Possible values are specified in the following table. // // +-----------------------------------+-----------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +-----------------------------------+-----------------------------------------------------------------------+ // +-----------------------------------+-----------------------------------------------------------------------+ // | CLIENT_TYPE_UNSPECIFIED 0x00 | A DHCPv4 client other than ones defined in this table. | // +-----------------------------------+-----------------------------------------------------------------------+ // | CLIENT_TYPE_DHCP 0x01 | The DHCPv4 client supports the DHCP protocol. | // +-----------------------------------+-----------------------------------------------------------------------+ // | CLIENT_TYPE_BOOTP 0x02 | The DHCPv4 client supports the BOOTP protocol ([RFC2132]). | // +-----------------------------------+-----------------------------------------------------------------------+ // | CLIENT_TYPE_BOTH 0x03 | The DHCPv4 client identifies both the DHCPv4 and the BOOTP protocols. | // +-----------------------------------+-----------------------------------------------------------------------+ // | CLIENT_TYPE_RESERVATION_FLAG 0x04 | There is an IPv4 reservation created for the DHCPv4 client. | // +-----------------------------------+-----------------------------------------------------------------------+ // | CLIENT_TYPE_NONE 0x64 | Backward compatibility for manual addressing. | // +-----------------------------------+-----------------------------------------------------------------------+ ClientType uint8 `idl:"name:bClientType" json:"client_type"` // AddressState: This member is of type BYTE, as shown by the following set of bits. // This member represents the state of the IPv4 address given to the DHCPv4 client. // // +-------+-------+-------+-------+-------+-------+-------+-------+ // | BIT | BIT | BIT | BIT | BIT | BIT | BIT | BIT | // | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | // +-------+-------+-------+-------+-------+-------+-------+-------+ // +-------+-------+-------+-------+-------+-------+-------+-------+ // // The following tables show various bit representation values and their meanings. // // BIT 0 and BIT 1 signify the state of the leased IPv4 address, as shown in the following // table. // // +----------------------------+----------------------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +----------------------------+----------------------------------------------------------------------------------+ // +----------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_STATE_OFFERED 0x0 | The DHCPv4 client is offered this IPv4 address. | // +----------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_STATE_ACTIVE 0x1 | The IPv4 address is active and has an active DHCPv4 client lease record. | // +----------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_STATE_DECLINED 0x2 | The IPv4 address request is declined by the DHCPv4 client; hence, it is a bad | // | | IPv4 address. | // +----------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_STATE_DOOM 0x3 | The IPv4 address is in DOOMED state and is due to be deleted. | // +----------------------------+----------------------------------------------------------------------------------+ // // BIT 2 and BIT 3 signify information related to Name Protection (section 3.3.3) for // the leased IPv4 address, as shown in the following table. // // +-------------------------------------------+----------------------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +-------------------------------------------+----------------------------------------------------------------------------------+ // +-------------------------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_BIT_NO_DHCID 0x0 | The address is leased to the DHCPv4 client without DHCID (sections 3 and 3.5 of | // | | [RFC4701]). | // +-------------------------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_BIT_DHCID_NO_CLIENTIDOPTION 0x1 | The address is leased to the DHCPv4 client with DHCID. | // +-------------------------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_BIT_DHCID_WITH_CLIENTIDOPTION 0x2 | The address is leased to the DHCPv4 client with DHCID. | // +-------------------------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_BIT_DHCID_WITH_DUID 0x3 | The address is leased to the DHCPv4 client with DHCID. | // +-------------------------------------------+----------------------------------------------------------------------------------+ // // BIT 4, BIT 5, BIT 6, and BIT 7 specify information related to DNS, as shown in the // following table. // // +------------------------------+----------------------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +------------------------------+----------------------------------------------------------------------------------+ // +------------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_BIT_CLEANUP 0x1 | The DNS update for the DHCPv4 client lease record needs to be deleted from the | // | | DNS server when the lease is deleted. | // +------------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_BIT_BOTH_REC 0x2 | The DNS update needs to be sent for both A and PTR resource records ([RFC1034] | // | | section 3.6). | // +------------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_BIT_UNREGISTERED 0x4 | The DNS update is not completed for the lease record. | // +------------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_BIT_DELETED 0x8 | The address lease is expired, but the DNS updates for the lease record have not | // | | been deleted from the DNS server. | // +------------------------------+----------------------------------------------------------------------------------+ AddressState uint8 `idl:"name:AddressState" json:"address_state"` // Status: This member is an enumeration of type QuarantineStatus (section 2.2.1.1.11) // that contains the health status of the DHCPv4 client, as validated by the NAP server. // The possible enumeration values that are validated by the NAP server are NOQUARANTINE, // RESTRICTEDACCESS, DROPPACKET, and PROBATION. Status QuarantineStatus `idl:"name:Status" json:"status"` // ProbationEnds: This member is a structure of type DATE_TIME (section 2.2.1.2.11) // that contains probation end time, assuming the DHCPv4 client is on probation. For // this time period, the DHCPv4 client has full access to the network. ProbationEnds *DateTime `idl:"name:ProbationEnds" json:"probation_ends"` // QuarantineCapable: This member is of type BOOL and takes on one of the meanings // associated with the values in the following table. // // +---------+------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +---------+------------------------------------------------------+ // +---------+------------------------------------------------------+ // | TRUE 1 | The DHCPv4 client machine is quarantine-enabled. | // +---------+------------------------------------------------------+ // | FALSE 0 | The DHCPv4 client machine is not quarantine-enabled. | // +---------+------------------------------------------------------+ QuarantineCapable bool `idl:"name:QuarantineCapable" json:"quarantine_capable"` // SentPotExpTime: This member is of type DWORD and contains the time sent to the partner // server as potential-expiration-time. The time is specified in seconds elapsed since // midnight, January 1, 1970, Coordinated Universal Time (UTC). SentPotentialExpirationTime uint32 `idl:"name:SentPotExpTime" json:"sent_potential_expiration_time"` // AckPotExpTime: This member is of type DWORD and contains the time that the partner // server has acknowledged as potential-expiration-time. The time is specified in seconds // elapsed since midnight, January 1, 1970, UTC. AckPotentialExpirationTime uint32 `idl:"name:AckPotExpTime" json:"ack_potential_expiration_time"` // RecvPotExpTime: This member is of type DWORD and contains the time that the server // has received as a potential-expiration-time from its partner server. The time is // specified in seconds elapsed since midnight, January 1, 1970, UTC. RecvPotentialExpirationTime uint32 `idl:"name:RecvPotExpTime" json:"recv_potential_expiration_time"` // StartTime: This member is of type DWORD and contains the time at which the client // lease first went into the current state. The time is specified in seconds elapsed // since midnight, January 1, 1970, UTC. StartTime uint32 `idl:"name:StartTime" json:"start_time"` // CltLastTransTime: This member is of type DWORD and contains the time for client-last-transaction-time. // The time is specified in seconds elapsed since midnight, January 1, 1970, UTC. ClientLastTransTime uint32 `idl:"name:CltLastTransTime" json:"client_last_trans_time"` // LastBndUpdTime: This member is of type DWORD and contains the time when the partner // server has updated the DHCPv4 client lease. The time is specified in seconds elapsed // since midnight, January 1, 1970, UTC. LastBindingUpdateTime uint32 `idl:"name:LastBndUpdTime" json:"last_binding_update_time"` // bndMsgStatus: This member is of type DWORD and MUST be ignored. BindingMessageStatus uint32 `idl:"name:bndMsgStatus" json:"binding_message_status"` // PolicyName: This member is a pointer to a null-terminated Unicode string that identifies // the policy that determined the ClientIpAddress in the lease. The length of the Policy // Name member is restricted to 64 characters. PolicyName string `idl:"name:PolicyName" json:"policy_name"` // flags: This member is of type BYTE and MUST be ignored. Flags uint8 `idl:"name:flags" json:"flags"` }
FailoverClientInfoV4 structure represents DHCPV4_FAILOVER_CLIENT_INFO RPC structure.
The DHCPV4_FAILOVER_CLIENT_INFO structure defines information about a DHCPv4 client leased out by an IPv4 subnet that is a part of failover relationship. This structure augments the DHCP_CLIENT_INFO_VQ structure (section 2.2.1.2.19) by including information related to DHCP failover and policy-related information. This structure is used by the R_DhcpV4FailoverGetClientInfo method specified in section 3.2.4.99.
func (*FailoverClientInfoV4) MarshalNDR ¶
func (*FailoverClientInfoV4) UnmarshalNDR ¶
type FailoverMode ¶
type FailoverMode uint16
FailoverMode type represents DHCP_FAILOVER_MODE RPC enumeration.
The DHCP_FAILOVER_MODE enumeration defines a set of possible modes of operation for a failover relationship configured on a DHCPv4 server.
var ( // LoadBalance: Configures a DHCPv4 server failover relationship in a loadbalance // mode. FailoverModeLoadBalance FailoverMode = 0 // HotStandby: Configures a DHCPv4 server failover relationship in a hotstandby mode. FailoverModeHotStandby FailoverMode = 1 )
func (FailoverMode) String ¶
func (o FailoverMode) String() string
type FailoverRelationship ¶
type FailoverRelationship struct { // primaryServer: This member is of type DHCP_IP_ADDRESS structure (section 2.2.1.2.1) // and specifies the IPv4 address of the primary server in the failover relationship. PrimaryServer uint32 `idl:"name:primaryServer" json:"primary_server"` // secondaryServer: This member is of type DHCP_IP_ADDRESS structure and specifies // the IPv4 address of the secondary server in the failover relationship. SecondaryServer uint32 `idl:"name:secondaryServer" json:"secondary_server"` // mode: This member is of type DHCP_FAILOVER_MODE enumeration (section 2.2.1.1.18) // and specifies the mode of the failover relationship. Mode FailoverMode `idl:"name:mode" json:"mode"` // serverType: This member is of type DHCP_FAILOVER_SERVER enumeration (section 2.2.1.1.19) // and specifies the type of failover server. ServerType FailoverServer `idl:"name:serverType" json:"server_type"` // state: This member is of type FSM_STATE enumeration (section 2.2.1.1.20) and specifies // the state of the failover relationship. State FSMState `idl:"name:state" json:"state"` // prevState: This member is of type FSM_STATE enumeration and specifies the previous // state of the failover relationship. PrevState FSMState `idl:"name:prevState" json:"prev_state"` // mclt: This member is of type DWORD and defines the maximum client lead time (MCLT) // of the failover relationship, in seconds. MCLT uint32 `idl:"name:mclt" json:"mclt"` // safePeriod: This member is of type DWORD and specifies a safe period time in seconds, // that the DHCPv4 server will wait before transitioning the server from the COMMUNICATION-INT // state to PARTNER-DOWN state, as described in [IETF-DHCPFOP-12], section 10. SafePeriod uint32 `idl:"name:safePeriod" json:"safe_period"` // relationshipName: This member is a pointer of type LPWSTR that points to a null-terminated // Unicode string containing the name of the failover relationship that uniquely identifies // a failover relationship. There is no restriction on the length of this Unicode string. RelationshipName string `idl:"name:relationshipName" json:"relationship_name"` // primaryServerName: This member is a pointer of type LPWSTR that points to a null-terminated // Unicode string containing the host name of the primary server in the failover relationship. // There is no restriction on the length of this Unicode string. PrimaryServerName string `idl:"name:primaryServerName" json:"primary_server_name"` // secondaryServerName: This member is a pointer of type LPWSTR that points to a null-terminated // Unicode string containing the host name of the secondary server in the failover relationship. // There is no restriction on the length of this Unicode string. SecondaryServerName string `idl:"name:secondaryServerName" json:"secondary_server_name"` // pScopes: This member is a pointer of type LPDHCP_IP_ARRAY (section 2.2.1.2.46), // which contains the list of IPv4 subnet addresses that are part of the failover relationship. Scopes *IPArray `idl:"name:pScopes" json:"scopes"` // percentage: This member is of type BYTE and indicates the ratio of the DHCPv4 client // load shared between a primary and secondary server in the failover relationship. Percentage uint8 `idl:"name:percentage" json:"percentage"` // Unicode string containing the shared secret key associated with this failover relationship. // There is no restriction on the length of this string. SharedSecret string `idl:"name:pSharedSecret" json:"shared_secret"` }
FailoverRelationship structure represents DHCP_FAILOVER_RELATIONSHIP RPC structure.
The DHCP_FAILOVER_RELATIONSHIP structure defines the information about a DHCPv4 server failover relationship.
func (*FailoverRelationship) MarshalNDR ¶
func (*FailoverRelationship) UnmarshalNDR ¶
type FailoverRelationshipArray ¶
type FailoverRelationshipArray struct { // numElements: This member is of type DWORD and contains the number of DHCP_FAILOVER_RELATIONSHIP // elements specified in the subsequent pRelationships field. ElementsLength uint32 `idl:"name:numElements" json:"elements_length"` // pRelationships: This member is a pointer to an array of DHCP_FAILOVER_RELATIONSHIP // structures of length numElements and contains failover relationship information. Relationships []*FailoverRelationship `idl:"name:pRelationships;size_is:(numElements)" json:"relationships"` }
FailoverRelationshipArray structure represents DHCP_FAILOVER_RELATIONSHIP_ARRAY RPC structure.
The DHCP_FAILOVER_RELATIONSHIP_ARRAY structure defines an array of DHCP_FAILOVER_RELATIONSHIP (section 2.2.1.2.98) structures. This structure is used in the R_DhcpV4FailoverEnumRelationship method.
func (*FailoverRelationshipArray) MarshalNDR ¶
func (*FailoverRelationshipArray) UnmarshalNDR ¶
type FailoverServer ¶
type FailoverServer uint16
FailoverServer type represents DHCP_FAILOVER_SERVER RPC enumeration.
The DHCP_FAILOVER_SERVER enumeration defines a set of possible values for a DHCPv4 server in a failover relationship.
var ( // PrimaryServer: The server is a primary server in the failover relationship. FailoverServerPrimaryServer FailoverServer = 0 // SecondaryServer: The server is a secondary server in the failover relationship. FailoverServerSecondaryServer FailoverServer = 1 )
func (FailoverServer) String ¶
func (o FailoverServer) String() string
type FailoverStatistics ¶
type FailoverStatistics struct { // numAddr: This member is of type DWORD and contains the total number of IPv4 addresses // that can be leased out to DHCPv4 clients on an IPv4 subnet that is part of a failover // relationship. AddrLength uint32 `idl:"name:numAddr" json:"addr_length"` // addrFree: This member is of type DWORD and contains the total number of IPv4 addresses // that are free and can be leased to DHCPv4 clients on an IPv4 subnet that is part // of a failover relationship. AddrFree uint32 `idl:"name:addrFree" json:"addr_free"` // addrInUse: This member is of type DWORD and contains the total number of IPv4 addresses // leased to DHCPv4 clients on an IPv4 subnet that is part of a failover relationship. AddrInUse uint32 `idl:"name:addrInUse" json:"addr_in_use"` // partnerAddrFree: This member is of type DWORD and contains the total number of IPv4 // addresses that are free and can be leased to DHCPv4 clients on an IPv4 subnet that // is part of a failover relationship on the partner server. PartnerAddrFree uint32 `idl:"name:partnerAddrFree" json:"partner_addr_free"` // thisAddrFree: This member is of type DWORD and contains the total number of IPv4 // addresses that are free and can be leased to DHCPv4 clients on an IPv4 subnet that // is part of a failover relationship on the local DHCP server. ThisAddrFree uint32 `idl:"name:thisAddrFree" json:"this_addr_free"` // partnerAddrInUse: This member is of type DWORD and contains the total number of // IPv4 addresses leased to DHCPv4 clients on an IPv4 subnet that is part of a failover // relationship on the partner server. PartnerAddrInUse uint32 `idl:"name:partnerAddrInUse" json:"partner_addr_in_use"` // thisAddrInUse: This member is of type DWORD and contains the total number of IPv4 // addresses leased to DHCPv4 clients on an IPv4 subnet that is part of a failover relationship // on the local DHCP server. ThisAddrInUse uint32 `idl:"name:thisAddrInUse" json:"this_addr_in_use"` }
FailoverStatistics structure represents DHCP_FAILOVER_STATISTICS RPC structure.
The DHCP_FAILOVER_STATISTICS structure defines the statistical information for an IPv4 subnet configured for a failover relationship.
func (*FailoverStatistics) MarshalNDR ¶
func (*FailoverStatistics) UnmarshalNDR ¶
type FilterAddInfo ¶
type FilterAddInfo struct { // AddrPatt: This is of type DHCP_ADDR_PATTERN (section 2.2.1.2.89) structure and contains // the address/pattern-related information of the link-layer filter. AddrPattern *AddrPattern `idl:"name:AddrPatt" json:"addr_pattern"` // Comment: This is a pointer, of type LPWSTR, to a null-terminated Unicode string // that contains the comment associated with the address/pattern. The maximum number // of characters allowed in this string is 128, which includes the terminating null // character. Comment string `idl:"name:Comment" json:"comment"` // ListType: This is of type DHCP_FILTER_LIST_TYPE (section 2.2.1.1.17) enumeration, // which specifies the list type to which the filter is to be added. ListType FilterListType `idl:"name:ListType" json:"list_type"` }
FilterAddInfo structure represents DHCP_FILTER_ADD_INFO RPC structure.
The DHCP_FILTER_ADD_INFO structure contains information regarding the link-layer filter to be added to the allow and deny filter list.
func (*FilterAddInfo) MarshalNDR ¶
func (*FilterAddInfo) UnmarshalNDR ¶
type FilterEnumInfo ¶
type FilterEnumInfo struct { // NumElements: This is of type DWORD, which specifies the number of link-layer filter // records contained in the array specified by the pEnumRecords member. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // pEnumRecords: This is a pointer to an array of DHCP_FILTER_RECORD (section 2.2.1.2.92) // structures that contains link-layer filter records. EnumRecords []*FilterRecord `idl:"name:pEnumRecords;size_is:(NumElements)" json:"enum_records"` }
FilterEnumInfo structure represents DHCP_FILTER_ENUM_INFO RPC structure.
The DHCP_FILTER_ENUM_INFO structure contains information regarding the number of link-layer filter records.
func (*FilterEnumInfo) MarshalNDR ¶
func (*FilterEnumInfo) UnmarshalNDR ¶
type FilterGlobalInfo ¶
type FilterGlobalInfo struct { // EnforceAllowList: This is of type BOOL and specifies whether the allow list is enabled // or disabled. // // +---------+-----------------------------+ // | | | // | BOOL | MEANING | // | | | // +---------+-----------------------------+ // +---------+-----------------------------+ // | TRUE 1 | The allow list is enabled. | // +---------+-----------------------------+ // | FALSE 0 | The allow list is disabled. | // +---------+-----------------------------+ EnforceAllowList bool `idl:"name:EnforceAllowList" json:"enforce_allow_list"` // EnforceDenyList: This is of type BOOL and specifies whether the deny list is enabled // or disabled. // // +---------+----------------------------+ // | | | // | BOOL | MEANING | // | | | // +---------+----------------------------+ // +---------+----------------------------+ // | TRUE 1 | The deny list is enabled. | // +---------+----------------------------+ // | FALSE 0 | The deny list is disabled. | // +---------+----------------------------+ EnforceDenyList bool `idl:"name:EnforceDenyList" json:"enforce_deny_list"` }
FilterGlobalInfo structure represents DHCP_FILTER_GLOBAL_INFO RPC structure.
The DHCP_FILTER_GLOBAL_INFO structure contains information regarding enabling/disabling the allow and deny filter lists.
func (*FilterGlobalInfo) MarshalNDR ¶
func (*FilterGlobalInfo) UnmarshalNDR ¶
type FilterListType ¶
type FilterListType uint16
FilterListType type represents DHCP_FILTER_LIST_TYPE RPC enumeration.
The DHCP_FILTER_LIST_TYPE enumeration defines the type of filter list to which the link-layer filter is to be added.
var ( // Deny: Add the link-layer filter to the deny list. FilterListTypeDeny FilterListType = 0 // Allow: Add the link-layer filter to the allow list. FilterListTypeAllow FilterListType = 1 )
func (FilterListType) String ¶
func (o FilterListType) String() string
type FilterRecord ¶
type FilterRecord struct { // AddrPatt: This is of type DHCP_ADDR_PATTERN (section 2.2.1.2.89) structure and contains // the address/pattern related information of the link-layer filter. AddrPattern *AddrPattern `idl:"name:AddrPatt" json:"addr_pattern"` // Comment: This is a pointer, of type LPWSTR, to a null-terminated Unicode string // that contains the comment associated with the address/pattern. The maximum number // of characters allowed in this string is 128, which includes the terminating null // character. Comment string `idl:"name:Comment" json:"comment"` }
FilterRecord structure represents DHCP_FILTER_RECORD RPC structure.
The DHCP_FILTER_RECORD structure contains information regarding a link-layer filter record.
func (*FilterRecord) MarshalNDR ¶
func (*FilterRecord) UnmarshalNDR ¶
type ForceFlag ¶
type ForceFlag uint16
ForceFlag type represents DHCP_FORCE_FLAG RPC enumeration.
The DHCP_FORCE_FLAG enumeration defines the type of deletion operation being requested by an RPC method specified by this protocol. This value is used with the RPC method R_DhcpDeleteSubnetV6 (section 3.2.4.63).
var ( // DhcpFullForce: The DHCP server deletes all the active DHCP client lease records for // the specified subnet and then deletes all the configurations associated with that // subnet. ForceFlagFullForce ForceFlag = 0 // DhcpNoForce: The DHCP server deletes all the configuration associated with the specified // subnet, but only if there are no active DHCP client lease records for the specified // subnet. If there are any active DHCP client lease records for the specified subnet, // then nothing is deleted. ForceFlagNoForce ForceFlag = 1 // DhcpFailoverForce: The DHCP server deletes all the active DHCP client lease records // for the specified subnet but does not delete the Dynamic DNS updates.<6> ForceFlagFailoverForce ForceFlag = 2 )
type HostInfo ¶
type HostInfo struct { // IpAddress: This is of type DHCP_IP_ADDRESS (section 2.2.1.2.1), containing the IPv4 // address of the DHCPv4 server. IPAddress uint32 `idl:"name:IpAddress" json:"ip_address"` // NetBiosName: A pointer to a null-terminated Unicode string that points to the NetBIOS // name of the DHCPv4 server. NetBIOSName string `idl:"name:NetBiosName" json:"net_bios_name"` // HostName: A pointer to a null-terminated Unicode string that points to the name // of the DHCPv4 server. Currently not used in any set method. If used in a get method, // the value returned is NULL. HostName string `idl:"name:HostName" json:"host_name"` }
HostInfo structure represents DHCP_HOST_INFO RPC structure.
The DHCP_HOST_INFO structure provides information on the DHCPv4 server. This structure is used in DHCP_CLIENT_INFO_V4 (section 2.2.1.2.14) and DHCP_CLIENT_INFO_VQ (section 2.2.1.2.19).
func (*HostInfo) MarshalNDR ¶
type HostInfoV6 ¶
type HostInfoV6 struct { // IpAddress: This is of type DHCP_IPV6_ADDRESS structure, containing the IPv6 address // of the DHCPv6 server. IPAddress *IPv6Address `idl:"name:IpAddress" json:"ip_address"` // NetBiosName: A pointer to a null-terminated Unicode string. Currently not used in // any setting method, and if used in get method, the value returned is NULL. NetBIOSName string `idl:"name:NetBiosName" json:"net_bios_name"` // HostName: A pointer to a null-terminated Unicode string. Currently not used in any // setting method, and if used in get method, the value returned is NULL. HostName string `idl:"name:HostName" json:"host_name"` }
HostInfoV6 structure represents DHCP_HOST_INFO_V6 RPC structure.
The DHCP_HOST_INFO_V6 structure contains information on the DHCPv6 server. This structure is used in the DHCP_CLIENT_INFO_V6 (section 2.2.1.2.64) structure.
func (*HostInfoV6) MarshalNDR ¶
func (*HostInfoV6) UnmarshalNDR ¶
type IPArray ¶
type IPArray struct { // NumElements: This is of type DWORD, containing the number of IPv4 addresses in the // subsequent field, the Elements member. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Elements: This is a pointer to an array of DHCP_IP_ADDRESS DWORD types of length // NumElements containing the IPv4 addresses of the subnets. Elements []uint32 `idl:"name:Elements;size_is:(NumElements)" json:"elements"` }
IPArray structure represents DHCP_IP_ARRAY RPC structure.
The DHCP_IP_ARRAY structure defines the array of type DHCP_IP_ADDRESS (section 2.2.1.2.1), typed as a DWORD. This structure is used in the R_DhcpEnumSubnets (section 3.1.4.4) method.
type IPArrayV6 ¶
type IPArrayV6 struct { // NumElements: This is of type DWORD, containing the number of IPv6 addresses in the // subsequent field the Elements member. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Elements: This is a pointer to an array of DHCP_IPV6_ADDRESS structures of length // NumElements containing IPv6 addresses of the prefixes. Elements []*IPv6Address `idl:"name:Elements;size_is:(NumElements)" json:"elements"` }
IPArrayV6 structure represents DHCPV6_IP_ARRAY RPC structure.
The DHCPV6_IP_ARRAY structure defines an array of type DHCP_IPV6_ADDRESS (section 2.2.1.2.28) structure that contains IPv6 prefixes. This is used in the R_Dhcp_EnumSubnetsV6 (section 3.2.4.59) method.
func (*IPArrayV6) MarshalNDR ¶
type IPCluster ¶
type IPCluster struct { // ClusterAddress: This is of type DHCP_IP_ADDRESS, a DWORD. ClusterAddress uint32 `idl:"name:ClusterAddress" json:"cluster_address"` // ClusterMask: This is of type DWORD. ClusterMask uint32 `idl:"name:ClusterMask" json:"cluster_mask"` }
IPCluster structure represents DHCP_IP_CLUSTER RPC structure.
The DHCP_IP_CLUSTER structure is not used.
func (*IPCluster) MarshalNDR ¶
type IPRange ¶
type IPRange struct { // StartAddress: This is of type DHCP_IP_ADDRESS (section 2.2.1.2.1), containing the // first IPv4 address in the IPv4 range. StartAddress uint32 `idl:"name:StartAddress" json:"start_address"` // EndAddress: This is of type DHCP_IP_ADDRESS, containing the last IPv4 address in // the IPv4 range. EndAddress uint32 `idl:"name:EndAddress" json:"end_address"` }
IPRange structure represents DHCP_IP_RANGE RPC structure.
The DHCP_IP_RANGE structure defines the IPv4 range for an IPv4 scope. This is used in structure DHCP_SUBNET_ELEMENT_DATA (section 2.2.1.2.33).
type IPRangeArray ¶
type IPRangeArray struct { // NumElements: This member contains the number of IP address range elements in the // array. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Elements: This member is a pointer to an array of type DHCP_IP_RANGE structure (section // 2.2.1.2.31) elements. Elements []*IPRange `idl:"name:Elements;size_is:(NumElements)" json:"elements"` }
IPRangeArray structure represents DHCP_IP_RANGE_ARRAY RPC structure.
The DHCP_IP_RANGE_ARRAY structure specifies an array of IP address ranges.
func (*IPRangeArray) MarshalNDR ¶
func (*IPRangeArray) UnmarshalNDR ¶
type IPRangeV6 ¶
type IPRangeV6 struct { // StartAddress: This is of type DHCP_IPV6_ADDRESS (section 2.2.1.2.28) structure, // containing the first IPv6 address in the IPv6 range. StartAddress *IPv6Address `idl:"name:StartAddress" json:"start_address"` // EndAddress: This is of type DHCP_IPV6_ADDRESS (section 2.2.1.2.28) structure, containing // the last IPv6 address in the IPv6 range. EndAddress *IPv6Address `idl:"name:EndAddress" json:"end_address"` }
IPRangeV6 structure represents DHCP_IP_RANGE_V6 RPC structure.
The DHCP_IP_RANGE_V6 structure defines the IPv6 range for an IPv6 subnet. This is used in the DHCP_SUBNET_ELEMENT_DATA_V6 (section 2.2.1.2.60) structure.
func (*IPRangeV6) MarshalNDR ¶
type IPReservation ¶
type IPReservation struct { // ReservedIpAddress: This is of type DHCP_IP_ADDRESS (section 2.2.1.2.1) that contains // the IPv4 address of the DHCPv4 client for which a reservation is created. ReservedIPAddress uint32 `idl:"name:ReservedIpAddress" json:"reserved_ip_address"` // ReservedForClient: This is a pointer of type DHCP_CLIENT_UID (section 2.2.1.2.5) // that represents the DHCPv4 client identifier (section 2.2.1.2.5.1). ReservedForClient *ClientUID `idl:"name:ReservedForClient" json:"reserved_for_client"` }
IPReservation structure represents DHCP_IP_RESERVATION RPC structure.
The DHCP_IP_RESERVATION structure defines an IPv4 reservation for a DHCPv4 client. This is used in structure DHCP_SUBNET_ELEMENT_DATA (section 2.2.1.2.33).
func (*IPReservation) MarshalNDR ¶
func (*IPReservation) UnmarshalNDR ¶
type IPReservationInfo ¶
type IPReservationInfo struct { // ReservedIpAddress: This member is a structure of type DHCP_IP_ADDRESS (section 2.2.1.2.1) // that contains the IPv4 address of the client (DHCP or BOOTP) ([RFC2132]), for which // a reservation was created. ReservedIPAddress uint32 `idl:"name:ReservedIpAddress" json:"reserved_ip_address"` // ReservedForClient: This member is a pointer of type DHCP_CLIENT_UID structure (section // 2.2.1.2.5) that represents the DHCPv4 client-identifier (section 2.2.1.2.5.1). ReservedForClient *ClientUID `idl:"name:ReservedForClient" json:"reserved_for_client"` // ReservedClientName: This member is a pointer to a null-terminated Unicode string // that represents the host name of the DHCPv4 reservation client. There is no restriction // on the length of this Unicode string. ReservedClientName string `idl:"name:ReservedClientName" json:"reserved_client_name"` // ReservedClientDesc: This member is a pointer to a null-terminated Unicode string // that represents the description of the DHCPv4 reservation client. There is no restriction // on the length of this Unicode string. ReservedClientDesc string `idl:"name:ReservedClientDesc" json:"reserved_client_desc"` // bAllowedClientTypes: This member is of type BYTE and specifies the type of client // holding this reservation, as indicated in the following table. // // +------------------------+---------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +------------------------+---------------------------------------------------------+ // +------------------------+---------------------------------------------------------+ // | CLIENT_TYPE_DHCP 0x01 | The IPv4 reservation is for a DHCPv4 client. | // +------------------------+---------------------------------------------------------+ // | CLIENT_TYPE_BOOTP 0x02 | The IPv4 reservation is for a BOOTP client ([RFC2132]). | // +------------------------+---------------------------------------------------------+ // | CLIENT_TYPE_BOTH 0x03 | The IPv4 reservation is for both kinds of clients. | // +------------------------+---------------------------------------------------------+ AllowedClientTypes uint8 `idl:"name:bAllowedClientTypes" json:"allowed_client_types"` // fOptionsPresent: This member is of type BYTE and specifies whether there are any // DHCPv4 options configured on the reservation, as indicated in the following table. // // +------------+-----------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +------------+-----------------------------------------------------+ // +------------+-----------------------------------------------------+ // | 0x00000000 | No option values are configured on the reservation. | // +------------+-----------------------------------------------------+ // | 0x00000001 | Option values are configured on the reservation. | // +------------+-----------------------------------------------------+ OptionsPresent uint8 `idl:"name:fOptionsPresent" json:"options_present"` }
IPReservationInfo structure represents DHCP_IP_RESERVATION_INFO RPC structure.
The DHCP_IP_RESERVATION_INFO structure defines an IPv4 reservation for a DHCPv4 client. This structure is an extension of the DHCP_IP_RESERVATION_V4 structure (section 2.2.1.2.32), which is extended by including the reservation client name and description.
func (*IPReservationInfo) MarshalNDR ¶
func (*IPReservationInfo) UnmarshalNDR ¶
type IPReservationV4 ¶
type IPReservationV4 struct { // ReservedIpAddress: This is of type DHCP_IP_ADDRESS (section 2.2.1.2.1) that contains // the IPv4 address of client (DHCP or BOOTP) for which a reservation was created. ReservedIPAddress uint32 `idl:"name:ReservedIpAddress" json:"reserved_ip_address"` // ReservedForClient: This is a pointer of type DHCP_CLIENT_UID (section 2.2.1.2.5) // that represents the DHCPv4 client-identifier (section 2.2.1.2.5.1). ReservedForClient *ClientUID `idl:"name:ReservedForClient" json:"reserved_for_client"` // bAllowedClientTypes: This is of type BYTE that specifies the type of client holding // this reservation. // // +------------------------+----------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +------------------------+----------------------------------------------------+ // +------------------------+----------------------------------------------------+ // | CLIENT_TYPE_DHCP 0x01 | The IPv4 reservation is for a DHCPv4 client. | // +------------------------+----------------------------------------------------+ // | CLIENT_TYPE_BOOTP 0x02 | The IPv4 reservation is for a BOOTP client. | // +------------------------+----------------------------------------------------+ // | CLIENT_TYPE_BOTH 0x03 | The IPv4 reservation is for both kinds of clients. | // +------------------------+----------------------------------------------------+ AllowedClientTypes uint8 `idl:"name:bAllowedClientTypes" json:"allowed_client_types"` }
IPReservationV4 structure represents DHCP_IP_RESERVATION_V4 RPC structure.
The DHCP_IP_RESERVATION_V4 structure defines an IPv4 reservation for a DHCP client. This structure is an extension of DHCP_IP_RESERVATION (section 2.2.1.2.10) structure by including the type of client (DHCP, BOOTP or both) ([RFC2132]) holding this IPv4 reservation. This structure is used in the DHCP_SUBNET_ELEMENT_DATA_V4 (section 2.2.1.2.35) structure.
func (*IPReservationV4) MarshalNDR ¶
func (*IPReservationV4) UnmarshalNDR ¶
type IPReservationV6 ¶
type IPReservationV6 struct { // ReservedIpAddress: This is of type DHCP_IPV6_ADDRESS (section 2.2.1.2.28) structure // that contains the IPv6 address of the DHCPv6 client for which an IPv6 reservation // is created. ReservedIPAddress *IPv6Address `idl:"name:ReservedIpAddress" json:"reserved_ip_address"` // ReservedForClient: This is a pointer of type DHCP_CLIENT_UID (section 2.2.1.2.5) // structure that represents the DHCPv6 client-identifier (section 2.2.1.2.5.3). ReservedForClient *ClientUID `idl:"name:ReservedForClient" json:"reserved_for_client"` // InterfaceId: This is of type DWORD that specifies the interface identifier for // which the IPv6 reservation is created. InterfaceID uint32 `idl:"name:InterfaceId" json:"interface_id"` }
IPReservationV6 structure represents DHCP_IP_RESERVATION_V6 RPC structure.
The DHCP_IP_RESERVATION_V6 structure defines an IPv6 reservation for a DHCPv6 client in a specific IPv6 prefix. This structure is used in the DHCP_SUBNET_ELEMENT_DATA_V6 (section 2.2.1.2.60) structure.
func (*IPReservationV6) MarshalNDR ¶
func (*IPReservationV6) UnmarshalNDR ¶
type IPv6Address ¶
type IPv6Address struct { // HighOrderBits: This is of type ULONGLONG, containing the higher 64 bits of the IPv6 // address. HighOrderBits uint64 `idl:"name:HighOrderBits" json:"high_order_bits"` // LowOrderBits: This is of type ULONGLONG, containing the lower 64 bits of the IPv6 // address. LowOrderBits uint64 `idl:"name:LowOrderBits" json:"low_order_bits"` }
IPv6Address structure represents DHCP_IPV6_ADDRESS RPC structure.
The DHCP_IPV6_ADDRESS structure contains the IPv6 address. This is used in the DHCP_OPTION_SCOPE_INFO6 (section 2.2.1.2.30) structure.
func (*IPv6Address) MarshalNDR ¶
func (*IPv6Address) UnmarshalNDR ¶
type MADCAPClientInfo ¶
type MADCAPClientInfo struct { // ClientIpAddress: This is of type DHCP_IP_ADDRESS (section 2.2.1.2.1) that contains // the MADCAP client's IPv4 address. ClientIPAddress uint32 `idl:"name:ClientIpAddress" json:"client_ip_address"` // MScopeId: This is of type DWORD that specifies the unique identifier of the multicast // scope from which the MADCAP client receives an IPv4 multicast address. MScopeID uint32 `idl:"name:MScopeId" json:"mscope_id"` // ClientId: This is of type DHCP_CLIENT_UID (section 2.2.1.2.5) that represents a // MADCAP lease identifier (section 2.2.1.2.5.4). ClientID *ClientUID `idl:"name:ClientId" json:"client_id"` // ClientName: A pointer to a null-terminated Unicode string that represents the MADCAP // client's internet host name. There is no restriction on the length of this Unicode // string. ClientName string `idl:"name:ClientName" json:"client_name"` // ClientLeaseStarts: This is of type DATE_TIME (section 2.2.1.2.11) that contains // the lease start date and time for the MADCAP client. This is UTC time. ClientLeaseStarts *DateTime `idl:"name:ClientLeaseStarts" json:"client_lease_starts"` // ClientLeaseEnds: This is of type DATE_TIME that contains the lease expiry time for // the MADCAP client. This is UTC time. ClientLeaseEnds *DateTime `idl:"name:ClientLeaseEnds" json:"client_lease_ends"` // OwnerHost: This is of type DHCP_HOST_INFO (section 2.2.1.2.7) that contains information // about the MADCAP server machine that has provided a lease to the MADCAP client. OwnerHost *HostInfo `idl:"name:OwnerHost" json:"owner_host"` // AddressFlags: This is of type DWORD. This MUST be set to zero when sent and ignored // on receipt. It MUST be specified as zero in the RPC method that modifies the MADCAP // server configuration. It MUST be treated as an error if the value is nonzero in the // RPC method that queries the MADCAP server configuration. AddressFlags uint32 `idl:"name:AddressFlags" json:"address_flags"` // AddressState: This is of type BYTE that represents the state of the IPv4 address // given to the MADCAP client. The following table represents the different values and // their meanings. // // +-----------------------------------+----------------------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +-----------------------------------+----------------------------------------------------------------------------------+ // +-----------------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_STATE_OFFERED 0x00000000 | The MADCAP client has been offered this IPv4 address. | // +-----------------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_STATE_ACTIVE 0x00000001 | The IPv4 address is active and has an active MADCAP client lease record. | // +-----------------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_STATE_DECLINED 0x00000002 | The IPv4 address request was declined by the MADCAP client; hence it is a bad | // | | IPv4 address. | // +-----------------------------------+----------------------------------------------------------------------------------+ // | ADDRESS_STATE_DOOM 0x00000003 | The IPv4 address is in DOOMED state and is due to be deleted. | // +-----------------------------------+----------------------------------------------------------------------------------+ AddressState uint8 `idl:"name:AddressState" json:"address_state"` }
MADCAPClientInfo structure represents DHCP_MCLIENT_INFO RPC structure.
The DHCP_MCLIENT_INFO structure defines information about the MADCAP client that is used by the method R_DhcpGetMClientInfo (section 3.2.4.12).
func (*MADCAPClientInfo) MarshalNDR ¶
func (*MADCAPClientInfo) UnmarshalNDR ¶
type MADCAPClientInfoArray ¶
type MADCAPClientInfoArray struct { // NumElements: This is of type DWORD, specifying the number of MADCAP clients in subsequent // field the Clients member. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Clients: This is pointer of type DHCP_MCLIENT_INFO (section 2.2.1.2.21), a structure // that points to an array of length NumElements containing MADCAP client information. Clients []*MADCAPClientInfo `idl:"name:Clients;size_is:(NumElements)" json:"clients"` }
MADCAPClientInfoArray structure represents DHCP_MCLIENT_INFO_ARRAY RPC structure.
The DHCP_MCLIENT_INFO_ARRAY structure defines an array of DHCP_MCLIENT_INFO (section 2.2.1.2.21) structures. This structure is used by the methods that retrieve information for more than one MADCAP client. The first member contains the number of MADCAP clients present in the specific IPv4 multicast subnet, and the second member points to the array of length NumElements containing the MADCAP client's information.
func (*MADCAPClientInfoArray) MarshalNDR ¶
func (*MADCAPClientInfoArray) UnmarshalNDR ¶
type MCastMIBInfo ¶
type MCastMIBInfo struct { // Discovers: This is of type DWORD, containing the number of DHCPDISCOVER messages // [RFC2131] received by the MADCAP server from MADCAP clients. Discovers uint32 `idl:"name:Discovers" json:"discovers"` // Offers: This is of type DWORD, containing the number of DHCPOFFER messages sent // by the MADCAP server to the MADCAP client. Offers uint32 `idl:"name:Offers" json:"offers"` // Requests: This is of type DWORD, containing the number of DHCPREQUEST messages received // by the MADCAP server from MADCAP clients. Requests uint32 `idl:"name:Requests" json:"requests"` // Renews: This is of type DWORD, containing the number of DHCPRENEW messages received // by the MADCAP server from MADCAP clients. Renews uint32 `idl:"name:Renews" json:"renews"` // Acks: This is of type DWORD, containing the number of DHCPACK messages sent by the // MADCAP server to the MADCAP client. ACKs uint32 `idl:"name:Acks" json:"acks"` // Naks: This is of type DWORD, containing the number of DHCPNAK messages sent by the // MADCAP server to MADCAP clients. NAKs uint32 `idl:"name:Naks" json:"naks"` // Releases: This is of type DWORD, containing the number of DHCPRELEASE messages received // by the MADCAP server from the MADCAP client. Releases uint32 `idl:"name:Releases" json:"releases"` // Informs: This is of type DWORD, containing the number of DHCPINFORM messages received // by the MADCAP server from the MADCAP client. Informs uint32 `idl:"name:Informs" json:"informs"` // ServerStartTime: This is of type DATE_TIME (section 2.2.1.2.11), containing the // start time of the MADCAP server. ServerStartTime *DateTime `idl:"name:ServerStartTime" json:"server_start_time"` // Scopes: This is of type DWORD, containing the number of IPv4 multicast scopes configured // on the current MADCAP server. This field defines the number of IPv4 multicast scopes // in the subsequent field ScopeInfo. Scopes uint32 `idl:"name:Scopes" json:"scopes"` // ScopeInfo: This is a pointer to an array of MSCOPE_MIB_INFO (section 2.2.1.2.51) // structures of length Scopes that contains information about the IPv4 scopes configured // on the MADCAP server. ScopeInfo []*MScopeMIBInfo `idl:"name:ScopeInfo;size_is:(Scopes)" json:"scope_info"` }
MCastMIBInfo structure represents DHCP_MCAST_MIB_INFO RPC structure.
The DHCP_MCAST_MIB_INFO structure contains counter values for all multicast scopes defined on the MADCAP server. This structure is used in R_DhcpGetMCastMibInfo (section 3.2.4.32) method which retrieves statistics on multicast scopes defined on the MADCAP server.
func (*MCastMIBInfo) MarshalNDR ¶
func (*MCastMIBInfo) UnmarshalNDR ¶
type MIBInfo ¶
type MIBInfo struct { // Discovers: This is of type DWORD; it contains the number of DHCPDISCOVER messages // [RFC2131] received by the DHCPv4 server from the DHCPv4 clients since the DHCPv4 // server was last started. This is used for statistical analysis by the DHCPv4 server. Discovers uint32 `idl:"name:Discovers" json:"discovers"` // Offers: This is of type DWORD, containing the number of DHCPOFFER messages sent // by the DHCPv4 server to the DHCPv4 client that the DHCPv4 client has not confirmed // since the DHCP server was last started. This is used for statistical analysis by // the DHCPv4 server. Offers uint32 `idl:"name:Offers" json:"offers"` // Requests: This is of type DWORD, containing the number of DHCPREQUEST messages received // by the DHCPv4 server from the DHCPv4 clients since the DHCP server was last started. // This is used for statistical analysis by the DHCPv4 server. Requests uint32 `idl:"name:Requests" json:"requests"` // Acks: This is of type DWORD, containing the number of DHCPACK messages sent by the // DHCPv4 server to DHCPv4 clients since the DHCPv4 server was last started. This is // used for statistical analysis by the DHCPv4 server. ACKs uint32 `idl:"name:Acks" json:"acks"` // Naks: This is of type DWORD, containing the number of DHCPNAK messages sent by the // DHCPv4 server to DHCPv4 clients since the DHCP server was last started. This is used // for statistical analysis by the DHCPv4 server. NAKs uint32 `idl:"name:Naks" json:"naks"` // Declines: This is of type DWORD, containing the number of DHCPDECLINE messages received // by the DHCPv4 server from the DHCPv4 client since the DHCP server was last started. // This is used for statistical analysis by the DHCPv4 server. Declines uint32 `idl:"name:Declines" json:"declines"` // Releases: This is of type DWORD, containing the number of DHCPRELEASE messages received // by the DHCPv4 server from the DHCPv4 client since the DHCP server was last started. // This is used for statistical analysis by the DHCPv4 server. Releases uint32 `idl:"name:Releases" json:"releases"` // ServerStartTime: This is of type DATE_TIME (section 2.2.1.2.11), containing the // start time of the DHCPv4 server. ServerStartTime *DateTime `idl:"name:ServerStartTime" json:"server_start_time"` // Scopes: This is of type DWORD, containing the number of IPv4 scopes configured on // the current DHCPv4 server. This is used for statistical analysis by the DHCPv4 server. // This field defines the number of DHCPv4 scopes in the subsequent field, ScopeInfo. Scopes uint32 `idl:"name:Scopes" json:"scopes"` // ScopeInfo: This is a pointer to an array of SCOPE_MIB_INFO (section 2.2.1.2.47) // structures of length Scopes that contains the information about the IPv4 scopes configured // on the DHCPv4 server. ScopeInfo []*ScopeMIBInfo `idl:"name:ScopeInfo;size_is:(Scopes)" json:"scope_info"` }
MIBInfo structure represents DHCP_MIB_INFO RPC structure.
The DHCP_MIB_INFO structure contains counter values for the DHCPv4 server. This structure is used by RPC methods like R_DhcpGetMibInfo (section 3.1.4.23) to find the DHCPv4 server statistics.
type MIBInfoV5 ¶
type MIBInfoV5 struct { // Discovers: This member is a type DWORD that contains the number of DHCPDISCOVER // messages [RFC2131] received by the DHCP server from the DHCP clients since the DHCP // server was last started. This is used for statistical analysis by the DHCP server. Discovers uint32 `idl:"name:Discovers" json:"discovers"` // Offers: This member is a type DWORD that contains the number of DHCPOFFER messages // sent by the DHCP server to the DHCP clients for which the DHCP server has not confirmed // since the DHCP server was last started. This is used for statistical analysis by // the DHCP server. Offers uint32 `idl:"name:Offers" json:"offers"` // Requests: This member is a type DWORD that contains the number of DHCPREQUEST messages // received by the DHCP server from the DHCP clients since the DHCP server was last // started. This is used for statistical analysis by the DHCP server. Requests uint32 `idl:"name:Requests" json:"requests"` // Acks: This member is a type DWORD that contains the number of DHCPACK messages sent // by the DHCP Server to the DHCP clients since the DHCP server was last started. This // is used for statistical analysis by the DHCP server. ACKs uint32 `idl:"name:Acks" json:"acks"` // Naks: This member is a type DWORD that contains the number of DHCPNAK messages sent // by the DHCP server to DHCP clients since the DHCP server was last started. This is // used for statistical analysis by the DHCP server. NAKs uint32 `idl:"name:Naks" json:"naks"` // Declines: This member is a type DWORD that contains the number of DHCPDECLINE messages // received by the DHCP server from the DHCP client since the DHCP server was last started. // This is used for statistical analysis by the DHCP server. Declines uint32 `idl:"name:Declines" json:"declines"` // Releases: This member is a type DWORD that contains the number of DHCPRELEASE messages // received by the DHCP server from the DHCP client since the DHCP server was last started. // This is used for statistical analysis by the DHCP server. Releases uint32 `idl:"name:Releases" json:"releases"` // ServerStartTime: This member is a type DATE_TIME (section 2.2.1.2.11) structure // that contains the start time of the DHCP server. ServerStartTime *DateTime `idl:"name:ServerStartTime" json:"server_start_time"` // QtnNumLeases: This member is a type DWORD that MUST be set to zero when sent and // ignored on receipt. This is treated as an error if it is nonzero in an RPC method // which queries DHCP server configuration. // // +------------+---------+ // | | | // | VALUE | MEANING | // | | | // +------------+---------+ // +------------+---------+ // | 0x00000000 | Sending | // +------------+---------+ QTNNumLeases uint32 `idl:"name:QtnNumLeases" json:"qtn_num_leases"` // QtnPctQtnLeases: This member is a type DWORD that MUST be set to zero when sent // and ignored on receipt. This is treated as an error if it is nonzero in an RPC method // which queries DHCP server configuration. // // +------------+---------+ // | | | // | VALUE | MEANING | // | | | // +------------+---------+ // +------------+---------+ // | 0x00000000 | Sending | // +------------+---------+ QTNPctQTNLeases uint32 `idl:"name:QtnPctQtnLeases" json:"qtn_pct_qtn_leases"` // QtnProbationLeases: This member is a type DWORD that MUST be set to zero when sent // and ignored on receipt. This is treated as an error if it is nonzero in an RPC method // which queries DHCP server configuration. // // +------------+---------+ // | | | // | VALUE | MEANING | // | | | // +------------+---------+ // +------------+---------+ // | 0x00000000 | Sending | // +------------+---------+ QTNProbationLeases uint32 `idl:"name:QtnProbationLeases" json:"qtn_probation_leases"` // QtnNonQtnLeases: This member is a type DWORD that MUST be set to zero when sent // and ignored on receipt. This is treated as an error if it is nonzero in an RPC method // which queries DHCP server configuration. // // +------------+---------+ // | | | // | VALUE | MEANING | // | | | // +------------+---------+ // +------------+---------+ // | 0x00000000 | Sending | // +------------+---------+ QTNNonQTNLeases uint32 `idl:"name:QtnNonQtnLeases" json:"qtn_non_qtn_leases"` // QtnExemptLeases: This member is a type DWORD that MUST be set to zero when sent // and ignored on receipt. This is treated as an error if it is nonzero in an RPC method // which queries DHCP server configuration. // // +------------+---------+ // | | | // | VALUE | MEANING | // | | | // +------------+---------+ // +------------+---------+ // | 0x00000000 | Sending | // +------------+---------+ QTNExemptLeases uint32 `idl:"name:QtnExemptLeases" json:"qtn_exempt_leases"` // QtnCapableClients: This member is a type DWORD that MUST be set to zero when sent // and ignored on receipt. This is treated as an error if it is nonzero in an RPC method // which queries DHCP server configuration. // // +------------+---------+ // | | | // | VALUE | MEANING | // | | | // +------------+---------+ // +------------+---------+ // | 0x00000000 | Sending | // +------------+---------+ QTNCapableClients uint32 `idl:"name:QtnCapableClients" json:"qtn_capable_clients"` // QtnIASErrors: This member is a type DWORD that MUST be set to zero when sent and // ignored on receipt. This is treated as an error if it is nonzero in an RPC method // which queries DHCP server configuration. // // +------------+---------+ // | | | // | VALUE | MEANING | // | | | // +------------+---------+ // +------------+---------+ // | 0x00000000 | Sending | // +------------+---------+ QTNIASErrors uint32 `idl:"name:QtnIASErrors" json:"qtn_ias_errors"` // DelayedOffers: This member is a type DWORD that contains the number of delayed DHCPOFFER // messages sent by the DHCP server to the DHCP clients. This is used for statistical // analysis by the DHCP server. DelayedOffers uint32 `idl:"name:DelayedOffers" json:"delayed_offers"` // ScopesWithDelayedOffers: This member is a type DWORD that contains the number of // scopes which are configured with subnet delay for DHCPOFFER messages. ScopesWithDelayedOffers uint32 `idl:"name:ScopesWithDelayedOffers" json:"scopes_with_delayed_offers"` // Scopes: This member is a type DWORD which contains the number of IPv4 scopes configured // on the current DHCP server. This is used for statistical analysis by the DHCP server. // This field defines the number of DHCP scopes in the subsequent field, the ScopeInfo // member. Scopes uint32 `idl:"name:Scopes" json:"scopes"` // ScopeInfo: This member is a pointer to an array of SCOPE_MIB_INFO (section 2.2.1.2.47) // structures of length Scopes that contains the information about the IPv4 scopes configured // on the DHCP server. ScopeInfo []*ScopeMIBInfoV5 `idl:"name:ScopeInfo;size_is:(Scopes)" json:"scope_info"` }
MIBInfoV5 structure represents DHCP_MIB_INFO_V5 RPC structure.
The DHCP_MIB_INFO_V5 structure contains the counter values for the DHCP Server service.
func (*MIBInfoV5) MarshalNDR ¶
type MIBInfoV6 ¶
type MIBInfoV6 struct { // Solicits: This is of type DWORD and contains the number of DHCPSOLICIT message received // by the DHCPv6 server from DHCPv6 clients since the DHCP server was last started. // This is used for statistical analysis by the DHCPv6 server. Solicits uint32 `idl:"name:Solicits" json:"solicits"` // Advertises: This is of type DWORD and contains the number of DHCPADVERTISE message // sent by DHCPv6 server to DHCPv6 clients since the DHCP server was last started. This // is used for statistical analysis by the DHCPv6 server. Advertises uint32 `idl:"name:Advertises" json:"advertises"` // Requests: This is of type DWORD and contains the number of DHCPREQUEST messages // received by the DHCPv6 server from DHCPv6 clients since the DHCP server was last // started. This is used for statistical analysis by the DHCPv6 server. Requests uint32 `idl:"name:Requests" json:"requests"` // Renews: This is of type DWORD and contains the number of DHCPRENEW message received // by the DHCPv6 server from DHCPv6 clients since the DHCP server was last started. // This is used for statistical analysis by the DHCPv6 server. Renews uint32 `idl:"name:Renews" json:"renews"` // Rebinds: This is of type DWORD and contains the number of DHCPREBIND messages received // by the DHCPv6 server from DHCPv6 clients since the DHCP server was last started. // This is used for statistical analysis by the DHCPv6 server. Rebinds uint32 `idl:"name:Rebinds" json:"rebinds"` // Replies: This is of type DWORD and contains the number of DHCPREPLY messages sent // by the DHCPv6 server to DHCP clients since the DHCP server was last started. This // is used for statistical analysis by the DHCPv6 server. Replies uint32 `idl:"name:Replies" json:"replies"` // Confirms: This is of type DWORD and contains the number of DHCPCONFIRM messages // received by the DHCPv6 server from DHCPv6 clients since the DHCP server was last // started. This is used for statistical analysis by the DHCPv6 server. Confirms uint32 `idl:"name:Confirms" json:"confirms"` // Declines: This is of type DWORD and contains the number of DHCPDECLINES messages // received by the DHCPv6 server from DHCPv6 clients since the DHCP server was last // started. This is used for statistical analysis by the DHCPv6 server. Declines uint32 `idl:"name:Declines" json:"declines"` // Releases: This is of type DWORD and contains the number of DHCPRELEASE messages // received by the DHCPv6 server from DHCPv6 clients since the DHCP server was last // started. This is used for statistical analysis by the DHCPv6 server. Releases uint32 `idl:"name:Releases" json:"releases"` // Informs: This is of type DWORD and contains the number of DHCPINFORM messages received // by the DHCPv6 server from DHCPv6 clients since the DHCP server was last started. // This is used for statistical analysis by the DHCPv6 server. Informs uint32 `idl:"name:Informs" json:"informs"` // ServerStartTime: This is of type DATE_TIME (section 2.2.1.2.11), a structure containing // the start time of the DHCPv6 server. ServerStartTime *DateTime `idl:"name:ServerStartTime" json:"server_start_time"` // Scopes: This is of type DWORD, containing the number of IPv6 scopes configured on // the current DHCPv6 server. This is used for statistical analysis by the DHCPv6 server. // This field defines the number of DHCPv6 scopes in the subsequent field the ScopeInfo // member. Scopes uint32 `idl:"name:Scopes" json:"scopes"` // ScopeInfo: This is a pointer to an array of SCOPE_MIB_INFO_V6 (section 2.2.1.2.67) // structures that points to an array of length Scopes, containing the information about // the IPv6 scopes configured on the DHCPv6 server. ScopeInfo []*ScopeMIBInfoV6 `idl:"name:ScopeInfo;size_is:(Scopes)" json:"scope_info"` }
MIBInfoV6 structure represents DHCP_MIB_INFO_V6 RPC structure.
The DHCP_MIB_INFO_V6 structure contains the DHCPv6 server counter values for the DHCPv6 server. This structure is used in the R_DhcpGetMibInfoV6 (section 3.2.4.69) method to find DHCPv6 server statistics.
func (*MIBInfoV6) MarshalNDR ¶
type MIBInfoVQ ¶
type MIBInfoVQ struct { // Discovers: This is of type DWORD, containing the number of DHCPDISCOVER messages // [RFC2131] received by the DHCPv4 server from the DHCPv4 clients since the DHCP server // was last started. This is used for statistical analysis by the DHCPv4 server. Discovers uint32 `idl:"name:Discovers" json:"discovers"` // Offers: This is of type DWORD, containing the number of DHCPOFFER messages sent // by the DHCPv4 server to the DHCPv4 client that the DHCPv4 client has not confirmed // since the DHCP server was last started. This is used for statistical analysis by // the DHCPv4 server. Offers uint32 `idl:"name:Offers" json:"offers"` // Requests: This is of type DWORD, containing the number of DHCPREQUEST messages // received by the DHCPv4 server from the DHCPv4 clients since the DHCP server was last // started. This is used for statistical analysis by the DHCPv4 server. Requests uint32 `idl:"name:Requests" json:"requests"` // Acks: This is of type DWORD, containing the number of DHCPACK messages sent by the // DHCPv4 server to the DHCPv4 client since the DHCP server was last started. This is // used for statistical analysis by the DHCPv4 server. ACKs uint32 `idl:"name:Acks" json:"acks"` // Naks: This is of type DWORD, containing the number of DHCPNAK messages sent by the // DHCPv4 server to DHCPv4 clients since the DHCP server was last started. This is used // for statistical analysis by the DHCPv4 server. NAKs uint32 `idl:"name:Naks" json:"naks"` // Declines: This is of type DWORD, containing the number of DHCPDECLINE messages // received by the DHCPv4 server from DHCPv4 clients since the DHCP server was last // started. This is used for statistical analysis by the DHCPv4 server. Declines uint32 `idl:"name:Declines" json:"declines"` // Releases: This is of type DWORD, containing the number of DHCPRELEASE messages received // by the DHCPv4 server from DHCP clients since the DHCP server was last started. This // is used for statistical analysis by the DHCPv4 server. Releases uint32 `idl:"name:Releases" json:"releases"` // ServerStartTime: This is of type DATE_TIME (section 2.2.1.2.11), containing the // start time of the DHCPv4 server. ServerStartTime *DateTime `idl:"name:ServerStartTime" json:"server_start_time"` // QtnNumLeases: This is an unused field; it MUST be initialized to zero in an RPC // method that modifies the DHCPv4 server configuration and treated as an error if it // is nonzero in an RPC method that queries DHCPv4 server configuration. QTNNumLeases uint32 `idl:"name:QtnNumLeases" json:"qtn_num_leases"` // QtnPctQtnLeases: This is an unused field; it MUST be initialized to zero in an RPC // method that modifies the DHCPv4 server configuration and treated as an error if it // is nonzero in an RPC method that queries DHCPv4 server configuration. QTNPctQTNLeases uint32 `idl:"name:QtnPctQtnLeases" json:"qtn_pct_qtn_leases"` // QtnProbationLeases: This is an unused field; it MUST be initialized to zero in an // RPC method that modifies the DHCPv4 server configuration and treated as an error // if nonzero in an RPC method that queries DHCPv4 server configuration. QTNProbationLeases uint32 `idl:"name:QtnProbationLeases" json:"qtn_probation_leases"` // QtnNonQtnLeases: This is an unused field; it MUST be initialized to zero in an RPC // method that modifies the DHCPv4 server configuration and treated as an error if it // is nonzero in an RPC method that queries DHCPv4 server configuration. QTNNonQTNLeases uint32 `idl:"name:QtnNonQtnLeases" json:"qtn_non_qtn_leases"` // QtnExemptLeases: This is an unused field; it MUST be initialized to zero in an RPC // method that modifies the DHCPv4 server configuration and treated as an error if it // is nonzero in an RPC method that queries DHCPv4 server configuration. QTNExemptLeases uint32 `idl:"name:QtnExemptLeases" json:"qtn_exempt_leases"` // QtnCapableClients: This is an unused field; it MUST be initialized to zero in an // RPC method that modifies the DHCPv4 server configuration and treated as an error // if nonzero in an RPC method that queries DHCPv4 server configuration. QTNCapableClients uint32 `idl:"name:QtnCapableClients" json:"qtn_capable_clients"` // QtnIASErrors: This is an unused field; it MUST be initialized to zero in an RPC // method that modifies the DHCPv4 server configuration and treated as an error if nonzero // in an RPC method that queries DHCPv4 server configuration. QTNIASErrors uint32 `idl:"name:QtnIASErrors" json:"qtn_ias_errors"` // Scopes: This is of type DWORD, containing the number of DHCPv4 scopes configured // on the current DHCPv4 server. This is used for statistical analysis by the DHCPv4 // server. This field defines the number of DHCPv4 scopes in the subsequent field ScopeInfo. Scopes uint32 `idl:"name:Scopes" json:"scopes"` // ScopeInfo: This is a pointer to an array SCOPE_MIB_INFO_VQ (section 2.2.1.2.49) // of length Scopes that contains the information about the IPv4 scopes configured on // DHCPv4 server. ScopeInfo []*ScopeMIBInfoVQ `idl:"name:ScopeInfo;size_is:(Scopes)" json:"scope_info"` }
MIBInfoVQ structure represents DHCP_MIB_INFO_VQ RPC structure.
The DHCP_MIB_INFO_VQ structure contains the counter values for the DHCP server. This structure is an extension of the DHCP_MIB_INFO (section 2.2.1.2.48) structure. This structure is used by an RPC method like R_DhcpGetMibInfoVQ (section 3.1.4.44) to return DHCP server statistics.
func (*MIBInfoVQ) MarshalNDR ¶
type MScopeInfo ¶
type MScopeInfo struct { // MScopeName: This is of type LPWSTR, containing a null-terminated Unicode string // that represents the multicast scope name. There is no restriction on the length of // this Unicode string. MScopeName string `idl:"name:MScopeName" json:"mscope_name"` // MScopeComment: This is of type LPWSTR, containing a null-terminated Unicode string // that represents the description given to multicast scope. There is no restriction // on the length of this Unicode string. MScopeComment string `idl:"name:MScopeComment" json:"mscope_comment"` // MScopeId: This is of type DWORD, containing the unique identification of the multicast // scope defined on the MADCAP server. MScopeID uint32 `idl:"name:MScopeId" json:"mscope_id"` // MScopeAddressPolicy: This is of type DWORD. This MUST be set to zero when sent and // ignored on receipt. MScopeAddressPolicy uint32 `idl:"name:MScopeAddressPolicy" json:"mscope_address_policy"` // PrimaryHost: This of type DHCP_HOST_INFO (section 2.2.1.2.7), a structure containing // information about the MADCAP server servicing this multicast scope. PrimaryHost *HostInfo `idl:"name:PrimaryHost" json:"primary_host"` // MScopeState: This is of type DHCP_SUBNET_STATE (section 2.2.1.1.2), a structure // containing the state of the multicast subnet. MScopeState SubnetState `idl:"name:MScopeState" json:"mscope_state"` // MScopeFlags: This is of type DWORD. Currently it is not used, and any value set // to this member will not affect the behavior of the method that uses this structure. MScopeFlags uint32 `idl:"name:MScopeFlags" json:"mscope_flags"` // ExpiryTime: This is of type DATE_TIME (section 2.2.1.2.11), a structure specifying // the multicast scope lifetime. ExpiryTime *DateTime `idl:"name:ExpiryTime" json:"expiry_time"` // LangTag: This is of type LPWSTR, containing a null-terminated Unicode string that // represents the multicast scope language (default is LOCALE_SYSTEM_DEFAULT). There // is no restriction on the length of this Unicode string. LangTag string `idl:"name:LangTag" json:"lang_tag"` // TTL: This is of type BYTE, containing the Time-to-Live (TTL) value for the multicast // scope. The valid range for this field is between 1 and 255, with a default of 32. TTL uint8 `idl:"name:TTL" json:"ttl"` }
MScopeInfo structure represents DHCP_MSCOPE_INFO RPC structure.
The DHCP_MSCOPE_INFO structure defines the multicast scope information for a specific multicast subnet. This structure is used in the R_DhcpSetMScopeInfo (section 3.2.4.2) method.
func (*MScopeInfo) MarshalNDR ¶
func (*MScopeInfo) UnmarshalNDR ¶
type MScopeMIBInfo ¶
type MScopeMIBInfo struct { // MScopeId: This is of type DWORD, containing the unique identification of the multicast // scope defined on the DHCP server. MScopeID uint32 `idl:"name:MScopeId" json:"mscope_id"` // MScopeName: This is of type LPWSTR, containing a null-terminated Unicode string // that points to the multicast scope name. There is no restriction on the length of // this Unicode string. MScopeName string `idl:"name:MScopeName" json:"mscope_name"` // NumAddressesInuse: This is of type DWORD, containing the number of IPv4 multicast // addresses that are leased out to MADCAP clients from a given multicast scope. AddressesInUseLength uint32 `idl:"name:NumAddressesInuse" json:"addresses_inuse_length"` // NumAddressesFree: This is of type DWORD, containing the number of IPv4 multicast // addresses that are free and can be leased out to MADCAP clients from a given multicast // scope. AddressesFreeLength uint32 `idl:"name:NumAddressesFree" json:"addresses_free_length"` // NumPendingOffers: This is of type DWORD, containing the number of IPv4 multicast // addresses that are offered to MADCAP clients in a specific IPv4 subnet but that the // MADCAP client has not confirmed. PendingOffersLength uint32 `idl:"name:NumPendingOffers" json:"pending_offers_length"` }
MScopeMIBInfo structure represents MSCOPE_MIB_INFO RPC structure.
The MSCOPE_MIB_INFO structure defines the address counters for a specific multicast scope. The number of free, used, and offered addresses are stored in this structure. This structure is used in the DHCP_MCAST_MIB_INFO (section 2.2.1.2.52) structure.
func (*MScopeMIBInfo) MarshalNDR ¶
func (*MScopeMIBInfo) UnmarshalNDR ¶
type MScopeTable ¶
type MScopeTable struct { // NumElements: This is of type DWORD, containing the number of multicast scope names // in the subsequent field the pMScopeNames member. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // pMScopeNames: This is a pointer of type LPWSTR that points to an array of null-terminated // Unicode strings that refers to the multicast scope names. There is no restriction // on the size of this field. MScopeNames []string `idl:"name:pMScopeNames;size_is:(NumElements)" json:"mscope_names"` }
MScopeTable structure represents DHCP_MSCOPE_TABLE RPC structure.
The DHCP_MSCOPE_TABLE structure contains an array of multicast scope names managed by the MADCAP server. This structure is used in the R_DhcpEnumMScopes (section 3.2.4.4) method.
func (*MScopeTable) MarshalNDR ¶
func (*MScopeTable) UnmarshalNDR ¶
type Option ¶
type Option struct { // OptionID: This is of type DHCP_OPTION_ID (section 2.2.1.2.3), containing a value // that uniquely identifies the option. OptionID uint32 `idl:"name:OptionID" json:"option_id"` // OptionName: A pointer of type LPWSTR to a null-terminated Unicode string that specifies // the option name of the option. There is no restriction on the length of this Unicode // string. OptionName string `idl:"name:OptionName" json:"option_name"` // OptionComment: A pointer of type LPWSTR to a null-terminated Unicode string that // specifies a comment for the option. This is an optional parameter. There is no restriction // on the length of this Unicode string. OptionComment string `idl:"name:OptionComment" json:"option_comment"` // DefaultValue: This is of type DHCP_OPTION_DATA (section 2.2.1.2.24), containing // the default value for the option. This also defines the data type used to store the // value of the option. DefaultValue *OptionData `idl:"name:DefaultValue" json:"default_value"` // OptionType: This is of type DHCP_OPTION_TYPE (section 2.2.1.1.6), indicating whether // the default value is a unary item or an array of elements. OptionType OptionType `idl:"name:OptionType" json:"option_type"` }
Option structure represents DHCP_OPTION RPC structure.
The DHCP_OPTION structure contains the information for an option definition created on the DHCP server. This structure is used in the LPDHCP_OPTION_ARRAY (section 2.2.1.2.26) structure.
type OptionArray ¶
type OptionArray struct { // NumElements: This is of type DWORD, containing the number of option definitions // in the subsequent field, the Options member. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Options: This is a pointer of type DHCP_OPTION (section 2.2.1.2.25) that points // to an array of length NumElements containing DHCP server option definitions. Options []*Option `idl:"name:Options;size_is:(NumElements)" json:"options"` }
OptionArray structure represents DHCP_OPTION_ARRAY RPC structure.
The DHCP_OPTION_ARRAY structure contains an array of the DHCP server option definition. This structure is used in the DHCP_ALL_OPTIONS (section 2.2.1.2.27) structure.
func (*OptionArray) MarshalNDR ¶
func (*OptionArray) UnmarshalNDR ¶
type OptionData ¶
type OptionData struct { // NumElements: This is of type DWORD, specifying the number of data elements in the // specific DHCP option, which is also the number of option data elements listed in // the Elements array member. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Elements: This is a pointer of type DHCP_OPTION_DATA_ELEMENT structure that points // to the array of length NumElements containing the data elements associated with a // specific option. Elements []*OptionDataElement `idl:"name:Elements;size_is:(NumElements)" json:"elements"` }
OptionData structure represents DHCP_OPTION_DATA RPC structure.
The DHCP_OPTION_DATA structure defines an array of DHCP_OPTION_DATA_ELEMENT (section 2.2.1.2.23) structures. This structure is a data container for one or more data elements associated with a DHCP option. This structure is used in the DHCP_OPTION_VALUE (section 2.2.1.2.42) structure.
func (*OptionData) MarshalNDR ¶
func (*OptionData) UnmarshalNDR ¶
type OptionDataElement ¶
type OptionDataElement struct { // OptionType: This is of type DHCP_OPTION_DATA_TYPE (section 2.2.1.1.10) enumeration // value, indicating the option value that is present in the subsequent field, Element. OptionType OptionDataType `idl:"name:OptionType" json:"option_type"` // Element: This is a union that can contain one of the following values chosen based // on the value of OptionType. Element *OptionDataElement_Element `idl:"name:Element;switch_is:OptionType" json:"element"` }
OptionDataElement structure represents DHCP_OPTION_DATA_ELEMENT RPC structure.
The DHCP_OPTION_DATA_ELEMENT structure contains the type of the option and its data value. This is used within a DHCP_OPTION_DATA (section 2.2.1.2.24) structure.
func (*OptionDataElement) MarshalNDR ¶
func (*OptionDataElement) UnmarshalNDR ¶
type OptionDataElement_BinaryDataOption ¶
type OptionDataElement_BinaryDataOption struct { // BinaryDataOption: Specifies the data as a DHCP_BINARY_DATA (section 2.2.1.2.9) structure. // This field is present if the OptionType is DhcpBinaryDataOption. BinaryDataOption *BinaryData `idl:"name:BinaryDataOption" json:"binary_data_option"` }
OptionDataElement_BinaryDataOption structure represents OptionDataElement_Element RPC union arm.
It has following labels: 6
func (*OptionDataElement_BinaryDataOption) MarshalNDR ¶
func (*OptionDataElement_BinaryDataOption) UnmarshalNDR ¶
type OptionDataElement_ByteOption ¶
type OptionDataElement_ByteOption struct { // ByteOption: Specifies the data as a BYTE value. This field is present if the OptionType // is DhcpByteOption. ByteOption uint8 `idl:"name:ByteOption" json:"byte_option"` }
OptionDataElement_ByteOption structure represents OptionDataElement_Element RPC union arm.
It has following labels: 0
func (*OptionDataElement_ByteOption) MarshalNDR ¶
func (*OptionDataElement_ByteOption) UnmarshalNDR ¶
type OptionDataElement_DwordDwordOption ¶
type OptionDataElement_DwordDwordOption struct { // DWordDWordOption: Specifies the data as a DWORD_DWORD (section 2.2.1.2.22) value. // This field is present if the OptionType is DhcpDWordDWordOption. DwordDwordOption *DwordDword `idl:"name:DWordDWordOption" json:"dword_dword_option"` }
OptionDataElement_DwordDwordOption structure represents OptionDataElement_Element RPC union arm.
It has following labels: 3
func (*OptionDataElement_DwordDwordOption) MarshalNDR ¶
func (*OptionDataElement_DwordDwordOption) UnmarshalNDR ¶
type OptionDataElement_DwordOption ¶
type OptionDataElement_DwordOption struct { // DWordOption: Specifies the data as a DWORD value. This field is present if the OptionType // is DhcpDWordOption. DwordOption uint32 `idl:"name:DWordOption" json:"dword_option"` }
OptionDataElement_DwordOption structure represents OptionDataElement_Element RPC union arm.
It has following labels: 2
func (*OptionDataElement_DwordOption) MarshalNDR ¶
func (*OptionDataElement_DwordOption) UnmarshalNDR ¶
type OptionDataElement_Element ¶
type OptionDataElement_Element struct { // Types that are assignable to Value // // *OptionDataElement_ByteOption // *OptionDataElement_WordOption // *OptionDataElement_DwordOption // *OptionDataElement_DwordDwordOption // *OptionDataElement_IPAddressOption // *OptionDataElement_StringDataOption // *OptionDataElement_BinaryDataOption // *OptionDataElement_EncapsulatedDataOption // *OptionDataElement_IPv6AddressDataOption Value is_OptionDataElement_Element `json:"value"` }
OptionDataElement_Element structure represents DHCP_OPTION_DATA_ELEMENT union anonymous member.
The DHCP_OPTION_DATA_ELEMENT structure contains the type of the option and its data value. This is used within a DHCP_OPTION_DATA (section 2.2.1.2.24) structure.
func (*OptionDataElement_Element) GetValue ¶
func (o *OptionDataElement_Element) GetValue() any
func (*OptionDataElement_Element) MarshalUnionNDR ¶
func (*OptionDataElement_Element) NDRSwitchValue ¶
func (o *OptionDataElement_Element) NDRSwitchValue(sw uint16) uint16
func (*OptionDataElement_Element) UnmarshalUnionNDR ¶
type OptionDataElement_EncapsulatedDataOption ¶
type OptionDataElement_EncapsulatedDataOption struct { // EncapsulatedDataOption: Specifies the data as encapsulated within a DHCP_BINARY_DATA // structure. The application MUST recognize the format of the opaque data capsule in // order to read it from the Data field of DHCP_BINARY_DATA. This field is present if // the OptionType is DhcpEncapsulatedDataOption. EncapsulatedDataOption *BinaryData `idl:"name:EncapsulatedDataOption" json:"encapsulated_data_option"` }
OptionDataElement_EncapsulatedDataOption structure represents OptionDataElement_Element RPC union arm.
It has following labels: 7
func (*OptionDataElement_EncapsulatedDataOption) MarshalNDR ¶
func (*OptionDataElement_EncapsulatedDataOption) UnmarshalNDR ¶
type OptionDataElement_IPAddressOption ¶
type OptionDataElement_IPAddressOption struct { // IpAddressOption: Specifies the data as a DHCP_IP_ADDRESS (section 2.2.1.2.1) value. // This field is present if the OptionType is IpAddressOption. IPAddressOption uint32 `idl:"name:IpAddressOption" json:"ip_address_option"` }
OptionDataElement_IPAddressOption structure represents OptionDataElement_Element RPC union arm.
It has following labels: 4
func (*OptionDataElement_IPAddressOption) MarshalNDR ¶
func (*OptionDataElement_IPAddressOption) UnmarshalNDR ¶
type OptionDataElement_IPv6AddressDataOption ¶
type OptionDataElement_IPv6AddressDataOption struct { // Ipv6AddressDataOption: Specifies the data as LPWSTR, a pointer to a Unicode string // value. This field is present if the OptionType is DhcpIpv6AddressOption. IPv6AddressDataOption string `idl:"name:Ipv6AddressDataOption" json:"ipv6_address_data_option"` }
OptionDataElement_IPv6AddressDataOption structure represents OptionDataElement_Element RPC union arm.
It has following labels: 8
func (*OptionDataElement_IPv6AddressDataOption) MarshalNDR ¶
func (*OptionDataElement_IPv6AddressDataOption) UnmarshalNDR ¶
type OptionDataElement_StringDataOption ¶
type OptionDataElement_StringDataOption struct { // StringDataOption: Specifies the data as LPWSTR, a pointer to a Unicode string value. // This field is present if the OptionType is DhcpStringDataOption. StringDataOption string `idl:"name:StringDataOption" json:"string_data_option"` }
OptionDataElement_StringDataOption structure represents OptionDataElement_Element RPC union arm.
It has following labels: 5
func (*OptionDataElement_StringDataOption) MarshalNDR ¶
func (*OptionDataElement_StringDataOption) UnmarshalNDR ¶
type OptionDataElement_WordOption ¶
type OptionDataElement_WordOption struct { // WordOption: Specifies the data as a WORD value. This field is present if the OptionType // is DhcpWordOption. WordOption uint16 `idl:"name:WordOption" json:"word_option"` }
OptionDataElement_WordOption structure represents OptionDataElement_Element RPC union arm.
It has following labels: 1
func (*OptionDataElement_WordOption) MarshalNDR ¶
func (*OptionDataElement_WordOption) UnmarshalNDR ¶
type OptionDataType ¶
type OptionDataType uint16
OptionDataType type represents DHCP_OPTION_DATA_TYPE RPC enumeration.
The DHCP_OPTION_DATA_TYPE enumeration defines the format types for DHCP option values and is used in the DHCP_OPTION_DATA_ELEMENT (section 2.2.1.2.23) structure. The DHCPM RPC methods can create the option definition on the DHCP server, which can contain option value in various formats.
var ( // DhcpByteOption: The option value is of type BYTE. OptionDataTypeByteOption OptionDataType = 0 // DhcpWordOption: The option value is of type WORD. OptionDataTypeWordOption OptionDataType = 1 // DhcpDWordOption: The option value is of type DWORD [MS-DTYP] section 2.2.9. OptionDataTypeDwordOption OptionDataType = 2 // DhcpDWordDWordOption: The option value is of type DWORD_DWORD (section 2.2.1.2.22). OptionDataTypeDwordDwordOption OptionDataType = 3 // DhcpIpAddressOption: The option value is of type DHCP_IP_ADDRESS (section 2.2.1.2.1). OptionDataTypeIPAddressOption OptionDataType = 4 // DhcpStringDataOption: The option value is a pointer, of type LPWSTR, to a null-terminated // UNICODE string. OptionDataTypeStringDataOption OptionDataType = 5 // DhcpBinaryDataOption: The option value is of type DHCP_BINARY_DATA (section 2.2.1.2.9). OptionDataTypeBinaryDataOption OptionDataType = 6 // DhcpEncapsulatedDataOption: The option value is encapsulated and of type DHCP_BINARY_DATA. OptionDataTypeEncapsulatedDataOption OptionDataType = 7 // DhcpIpv6AddressOption: The option value is an IPv6 address represented as a pointer, // of type LPWSTR, to a null-terminated Unicode string. OptionDataTypeIPv6AddressOption OptionDataType = 8 )
func (OptionDataType) String ¶
func (o OptionDataType) String() string
type OptionList ¶
type OptionList struct { // NumOptions: This is of type DWORD, containing the number of DHCPv6 options in the // subsequent field the Options member. OptionsLength uint32 `idl:"name:NumOptions" json:"options_length"` // Options: This is a pointer to an array of DHCP_OPTION_VALUE (section 2.2.1.2.42) // structures and of length NumOptions containing DHCPv6 option values. Options []*OptionValue `idl:"name:Options;size_is:(NumOptions)" json:"options"` }
OptionList structure represents DHCP_OPTION_LIST RPC structure.
The DHCP_OPTION_LIST structure defines an array of option values. The first member contains the number of options present, and the second member contains a pointer to the array of length NumOptions given to a specific DHCPv6 client. This structure is used by the methods that retrieve options that are given to the specified DHCPv6 client on request.
func (*OptionList) MarshalNDR ¶
func (*OptionList) UnmarshalNDR ¶
type OptionScopeInfo ¶
type OptionScopeInfo struct { // ScopeType: This is of type DHCP_OPTION_SCOPE_TYPE (section 2.2.1.1.4) enumeration, // defining the scope of the DHCP option and indicating which of the following fields // in the union is used. ScopeType OptionScopeType `idl:"name:ScopeType" json:"scope_type"` // ScopeInfo: This is a union from which one of the following fields is used based // on the value of the ScopeType member: ScopeInfo *OptionScopeInfo_ScopeInfo `idl:"name:ScopeInfo;switch_is:ScopeType" json:"scope_info"` }
OptionScopeInfo structure represents DHCP_OPTION_SCOPE_INFO RPC structure.
The DHCP_OPTION_SCOPE_INFO structure defines the information about the option. The information consists of the option type and the level of the option (server level, scope level, or reservation level).
func (*OptionScopeInfo) MarshalNDR ¶
func (*OptionScopeInfo) UnmarshalNDR ¶
type OptionScopeInfo6 ¶
type OptionScopeInfo6 struct { // ScopeType: This is of type DHCP_OPTION_SCOPE_TYPE6 (section 2.2.1.1.5) enumeration, // defining the scope type of the associated DHCP options, and indicates which of the // following fields in the union is used. ScopeType OptionScopeType6 `idl:"name:ScopeType" json:"scope_type"` // ScopeInfo: This is a union that can contain one of the following values chosen based // on the value of ScopeType. ScopeInfo *OptionScopeInfo6_ScopeInfo `idl:"name:ScopeInfo;switch_is:ScopeType" json:"scope_info"` }
OptionScopeInfo6 structure represents DHCP_OPTION_SCOPE_INFO6 RPC structure.
The DHCP_OPTION_SCOPE_INFO6 structure contains information about the option. The information includes the type of the option and the level of the option (server level, scope level, or reservation level).
func (*OptionScopeInfo6) MarshalNDR ¶
func (*OptionScopeInfo6) UnmarshalNDR ¶
type OptionScopeInfo6_DefaultOptions ¶
type OptionScopeInfo6_DefaultOptions struct { }
OptionScopeInfo6_DefaultOptions structure represents OptionScopeInfo6_ScopeInfo RPC union arm.
It has following labels: 0
func (*OptionScopeInfo6_DefaultOptions) MarshalNDR ¶
func (*OptionScopeInfo6_DefaultOptions) UnmarshalNDR ¶
type OptionScopeInfo6_ReservedOptions ¶
type OptionScopeInfo6_ReservedOptions struct { }
OptionScopeInfo6_ReservedOptions structure represents OptionScopeInfo6_ScopeInfo RPC union arm.
It has following labels: 3
func (*OptionScopeInfo6_ReservedOptions) MarshalNDR ¶
func (*OptionScopeInfo6_ReservedOptions) UnmarshalNDR ¶
type OptionScopeInfo6_ReservedScopeInfo ¶
type OptionScopeInfo6_ReservedScopeInfo struct { // ReservedScopeInfo: This is of type DHCP_RESERVED_SCOPE6 (section 2.2.1.2.29) structure, // containing the IPv6 address of the reservation and the IPv6 prefix ID for which the // option value is to be set. ReservedScopeInfo *ReservedScope6 `idl:"name:ReservedScopeInfo" json:"reserved_scope_info"` }
OptionScopeInfo6_ReservedScopeInfo structure represents OptionScopeInfo6_ScopeInfo RPC union arm.
It has following labels: 2
func (*OptionScopeInfo6_ReservedScopeInfo) MarshalNDR ¶
func (*OptionScopeInfo6_ReservedScopeInfo) UnmarshalNDR ¶
type OptionScopeInfo6_ScopeInfo ¶
type OptionScopeInfo6_ScopeInfo struct { // Types that are assignable to Value // // *OptionScopeInfo6_DefaultOptions // *OptionScopeInfo6_SubnetScopeInfo // *OptionScopeInfo6_ReservedScopeInfo // *OptionScopeInfo6_ReservedOptions Value is_OptionScopeInfo6_ScopeInfo `json:"value"` }
OptionScopeInfo6_ScopeInfo structure represents DHCP_OPTION_SCOPE_INFO6 union anonymous member.
The DHCP_OPTION_SCOPE_INFO6 structure contains information about the option. The information includes the type of the option and the level of the option (server level, scope level, or reservation level).
func (*OptionScopeInfo6_ScopeInfo) GetValue ¶
func (o *OptionScopeInfo6_ScopeInfo) GetValue() any
func (*OptionScopeInfo6_ScopeInfo) MarshalUnionNDR ¶
func (*OptionScopeInfo6_ScopeInfo) NDRSwitchValue ¶
func (o *OptionScopeInfo6_ScopeInfo) NDRSwitchValue(sw uint16) uint16
func (*OptionScopeInfo6_ScopeInfo) UnmarshalUnionNDR ¶
type OptionScopeInfo6_SubnetScopeInfo ¶
type OptionScopeInfo6_SubnetScopeInfo struct { // SubnetScopeInfo: This is of type DHCP_IPV6_ADDRESS (section 2.2.1.2.28) structure, // containing the IPv6 prefix ID of the subnet for which the option value is to be set. SubnetScopeInfo *IPv6Address `idl:"name:SubnetScopeInfo" json:"subnet_scope_info"` }
OptionScopeInfo6_SubnetScopeInfo structure represents OptionScopeInfo6_ScopeInfo RPC union arm.
It has following labels: 1
func (*OptionScopeInfo6_SubnetScopeInfo) MarshalNDR ¶
func (*OptionScopeInfo6_SubnetScopeInfo) UnmarshalNDR ¶
type OptionScopeInfo_DefaultOptions ¶
type OptionScopeInfo_DefaultOptions struct { }
OptionScopeInfo_DefaultOptions structure represents OptionScopeInfo_ScopeInfo RPC union arm.
It has following labels: 0
func (*OptionScopeInfo_DefaultOptions) MarshalNDR ¶
func (*OptionScopeInfo_DefaultOptions) UnmarshalNDR ¶
type OptionScopeInfo_GlobalOptions ¶
type OptionScopeInfo_GlobalOptions struct { }
OptionScopeInfo_GlobalOptions structure represents OptionScopeInfo_ScopeInfo RPC union arm.
It has following labels: 1
func (*OptionScopeInfo_GlobalOptions) MarshalNDR ¶
func (*OptionScopeInfo_GlobalOptions) UnmarshalNDR ¶
type OptionScopeInfo_MScopeInfo ¶
type OptionScopeInfo_MScopeInfo struct { // MScopeInfo: This is a pointer to a null-terminated Unicode string that contains // the multicast scope name. MScopeInfo string `idl:"name:MScopeInfo" json:"mscope_info"` }
OptionScopeInfo_MScopeInfo structure represents OptionScopeInfo_ScopeInfo RPC union arm.
It has following labels: 4
func (*OptionScopeInfo_MScopeInfo) MarshalNDR ¶
func (*OptionScopeInfo_MScopeInfo) UnmarshalNDR ¶
type OptionScopeInfo_ReservedScopeInfo ¶
type OptionScopeInfo_ReservedScopeInfo struct { // ReservedScopeInfo: This is a DHCP_RESERVED_SCOPE (section 2.2.1.2.40) structure // that contains an IPv4 reservation and its corresponding IPv4 subnet ID. ReservedScopeInfo *ReservedScope `idl:"name:ReservedScopeInfo" json:"reserved_scope_info"` }
OptionScopeInfo_ReservedScopeInfo structure represents OptionScopeInfo_ScopeInfo RPC union arm.
It has following labels: 3
func (*OptionScopeInfo_ReservedScopeInfo) MarshalNDR ¶
func (*OptionScopeInfo_ReservedScopeInfo) UnmarshalNDR ¶
type OptionScopeInfo_ScopeInfo ¶
type OptionScopeInfo_ScopeInfo struct { // Types that are assignable to Value // // *OptionScopeInfo_DefaultOptions // *OptionScopeInfo_GlobalOptions // *OptionScopeInfo_SubnetScopeInfo // *OptionScopeInfo_ReservedScopeInfo // *OptionScopeInfo_MScopeInfo Value is_OptionScopeInfo_ScopeInfo `json:"value"` }
OptionScopeInfo_ScopeInfo structure represents DHCP_OPTION_SCOPE_INFO union anonymous member.
The DHCP_OPTION_SCOPE_INFO structure defines the information about the option. The information consists of the option type and the level of the option (server level, scope level, or reservation level).
func (*OptionScopeInfo_ScopeInfo) GetValue ¶
func (o *OptionScopeInfo_ScopeInfo) GetValue() any
func (*OptionScopeInfo_ScopeInfo) MarshalUnionNDR ¶
func (*OptionScopeInfo_ScopeInfo) NDRSwitchValue ¶
func (o *OptionScopeInfo_ScopeInfo) NDRSwitchValue(sw uint16) uint16
func (*OptionScopeInfo_ScopeInfo) UnmarshalUnionNDR ¶
type OptionScopeInfo_SubnetScopeInfo ¶
type OptionScopeInfo_SubnetScopeInfo struct { // SubnetScopeInfo: This is of type DHCP_IP_ADDRESS (section 2.2.1.2.1), containing // the IPv4 subnet ID as a DWORD. SubnetScopeInfo uint32 `idl:"name:SubnetScopeInfo" json:"subnet_scope_info"` }
OptionScopeInfo_SubnetScopeInfo structure represents OptionScopeInfo_ScopeInfo RPC union arm.
It has following labels: 2
func (*OptionScopeInfo_SubnetScopeInfo) MarshalNDR ¶
func (*OptionScopeInfo_SubnetScopeInfo) UnmarshalNDR ¶
type OptionScopeType ¶
type OptionScopeType uint16
OptionScopeType type represents DHCP_OPTION_SCOPE_TYPE RPC enumeration.
The DHCP_OPTION_SCOPE_TYPE enumeration defines the type of DHCPv4 options being referred to by an RPC method in the DHCPM. The DHCP server allows for configuration of standard and vendor-specific options at various levels, such as the default level, server level, or scope level, or for a specific reservation. This value is used in conjunction with union DHCP_OPTION_SCOPE_UNION, as defined in the DHCP_OPTION_SCOPE_INFO (section 2.2.1.2.41) structure, to specify option values in the RPC methods defined by this protocol.
var ( // DhcpDefaultOptions: Option is defined at the default level. The option definition // is created or modified on the DHCPv4 server and the default value of the option is // stored. OptionScopeTypeDefaultOptions OptionScopeType = 0 // DhcpGlobalOptions: Option is defined at the server level. The option value is added // or modified at the DHCPv4 server, which is valid for all scopes in that server. OptionScopeTypeGlobalOptions OptionScopeType = 1 // DhcpSubnetOptions: Option is defined at the scope level. The option value is added // or modified at the scope and is valid for that specific scope. OptionScopeTypeSubnetOptions OptionScopeType = 2 // DhcpReservedOptions: Option is defined for a specific IP address reservation. The // option value is added or modified for a specific IP reservation in a scope. OptionScopeTypeReservedOptions OptionScopeType = 3 // DhcpMScopeOptions: Option is defined for a multicast scope. The option value is added // or modified for a multicast scope. OptionScopeTypeMScopeOptions OptionScopeType = 4 )
func (OptionScopeType) String ¶
func (o OptionScopeType) String() string
type OptionScopeType6 ¶
type OptionScopeType6 uint16
OptionScopeType6 type represents DHCP_OPTION_SCOPE_TYPE6 RPC enumeration.
The DHCP_OPTION_SCOPE_TYPE6 enumeration defines the type of DHCPv6 options being referred to by an RPC method in the DHCPM. The DHCP server allows for configuration of standard and vendor-specific options at various levels, such as the default level, server level, or scope level, or for a specific reservation. This value is used in conjunction with the DHCP_OPTION_SCOPE_INFO6 (section 2.2.1.2.30) structure, to specify option values in the RPC methods defined by this protocol.
var ( // DhcpDefaultOptions6: Option is defined at the default level. The option definition // is created or modified on the DHCPv6 server and the default value of the option is // stored. OptionScopeType6DefaultOptions6 OptionScopeType6 = 0 // DhcpScopeOptions6: Option is defined at the scope level. The option value is added // or modified at the scope and is valid for that specific scope. OptionScopeType6Options6 OptionScopeType6 = 1 // DhcpReservedOptions6: Option is defined for a specific IP address reservation. The // option value is added or modified for a particular IP reservation in a scope. OptionScopeType6ReservedOptions6 OptionScopeType6 = 2 // DhcpGlobalOptions6: Option is defined at the global level. The option value is added // or modified at the DHCPv6 server, which is valid for all scopes in that server. OptionScopeType6GlobalOptions6 OptionScopeType6 = 3 )
func (OptionScopeType6) String ¶
func (o OptionScopeType6) String() string
type OptionType ¶
type OptionType uint16
OptionType type represents DHCP_OPTION_TYPE RPC enumeration.
The DHCP_OPTION_TYPE enumeration specifies whether the option value for a specific standard or vendor-specific option is single-valued or multivalued. The following structure specifies the values defined for this.
var ( // DhcpUnaryElementTypeOption: The option value is single-valued. OptionTypeUnaryElementTypeOption OptionType = 0 // DhcpArrayTypeOption: The option value is multivalued. OptionTypeArrayTypeOption OptionType = 1 )
func (OptionType) String ¶
func (o OptionType) String() string
type OptionValue ¶
type OptionValue struct { // OptionID: This is of type DHCP_OPTION_ID (section 2.2.1.2.3), containing the identifier // for a specific option. OptionID uint32 `idl:"name:OptionID" json:"option_id"` // Value: This is of type DHCP_OPTION_DATA (section 2.2.1.2.24), containing the option // value for an option. Value *OptionData `idl:"name:Value" json:"value"` }
OptionValue structure represents DHCP_OPTION_VALUE RPC structure.
The DHCP_OPTION_VALUE structure contains the option identifier and its option value. This structure is used in the DHCP_OPTION_VALUE_ARRAY (section 2.2.1.2.43) structure.
func (*OptionValue) MarshalNDR ¶
func (*OptionValue) UnmarshalNDR ¶
type OptionValueArray ¶
type OptionValueArray struct { // NumElements: This is a DWORD that specifies the number of option values in the subsequent // field the Values member. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Values: This is a pointer to an array of DHCP_OPTION_VALUE structures of length // NumElements that contains values. Values []*OptionValue `idl:"name:Values;size_is:(NumElements)" json:"values"` }
OptionValueArray structure represents DHCP_OPTION_VALUE_ARRAY RPC structure.
The DHCP_OPTION_VALUE_ARRAY structure defines an array of DHCP_OPTION_VALUE (section 2.2.1.2.42) structures. This structure is used in the DHCP_ALL_OPTION_VALUES (section 2.2.1.2.44) structure. The first member contains the number of option values, and the second member points to the array of length NumElements containing option values.
func (*OptionValueArray) MarshalNDR ¶
func (*OptionValueArray) UnmarshalNDR ¶
type Policy ¶
type Policy struct { // PolicyName: This member is a pointer of type LPWSTR that points to a null-terminated // Unicode string identifying the name of the policy. The name of the policy is restricted // to 64 characters. PolicyName string `idl:"name:PolicyName" json:"policy_name"` // IsGlobalPolicy: This member is of type BOOL and indicates whether this is a server // level policy. IsGlobalPolicy bool `idl:"name:IsGlobalPolicy" json:"is_global_policy"` // Subnet: This member is of type DHCP_IP_ADDRESS structure (section 2.2.1.2.1) and // identifies the IPv4 subnet to which the policy belongs, if this is a scope level // policy. The value of this member will be 0 for a server level policy. Subnet uint32 `idl:"name:Subnet" json:"subnet"` // ProcessingOrder: This member is of type DWORD and identifies the relative order // in which the DHCPv4 server will process the policy. ProcessingOrder uint32 `idl:"name:ProcessingOrder" json:"processing_order"` // Conditions: This member is a pointer of type LPDHCP_POL_COND_ARRAY (section 2.2.1.2.106) // that contains the array of conditions for the policy. Conditions *PolicyConditionArray `idl:"name:Conditions" json:"conditions"` // Expressions: This member is a pointer of type LPDHCP_POL_EXPR_ARRAY (section 2.2.1.2.108) // that contains the array of expressions for the policy. Expressions *PolicyExprArray `idl:"name:Expressions" json:"expressions"` // Ranges: This member is a pointer of type LPDHCP_IP_RANGE_ARRAY (section 2.2.1.2.104) // which points to an array of DHCP_IP_RANGE structures (section 2.2.1.2.31) that represent // the policy IP ranges. Ranges *IPRangeArray `idl:"name:Ranges" json:"ranges"` // Description: This member is a pointer of type LPWSTR and contains the null-terminated // Unicode string with the description of the policy. This description string is restricted // to 255 characters. Description string `idl:"name:Description" json:"description"` // Enabled: This member is a flag of type BOOL that indicates whether the policy is // in the enabled or disabled state. Enabled bool `idl:"name:Enabled" json:"enabled"` }
Policy structure represents DHCP_POLICY RPC structure.
The DHCP_POLICY structure contains information for a policy used to filter client requests.
type PolicyArray ¶
type PolicyArray struct { // NumElements: This member contains the number of policies in the array. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Elements: This member is a pointer of type DHCP_POLICY (section 2.2.1.2.110) that // points to an array of length NumElements. Elements []*Policy `idl:"name:Elements;size_is:(NumElements)" json:"elements"` }
PolicyArray structure represents DHCP_POLICY_ARRAY RPC structure.
The DHCP_POLICY_ARRAY structure contains a list of policy elements.
func (*PolicyArray) MarshalNDR ¶
func (*PolicyArray) UnmarshalNDR ¶
type PolicyAttributeType ¶
type PolicyAttributeType uint16
PolicyAttributeType type represents DHCP_POL_ATTR_TYPE RPC enumeration.
The DHCP_POL_ATTR_TYPE enumeration specifies the attribute type for a condition of a policy.<10>
var ( // DhcpAttrHWAddr: Specifies that the condition is based on hardware address. PolicyAttributeTypeHwAddr PolicyAttributeType = 0 // DhcpAttrOption: Specifies that the condition is based on a DHCP option. PolicyAttributeTypeOption PolicyAttributeType = 1 // DhcpAttrSubOption: Specifies that the condition is based on a DHCP suboption. PolicyAttributeTypeSubOption PolicyAttributeType = 2 // DhcpAttrFqdn: Specifies that the condition is based on the fully qualified domain // name of the client. PolicyAttributeTypeFQDN PolicyAttributeType = 3 // DhcpAttrFqdnSingleLabel: Specifies whether the condition is based on the DHCP client // being a single-label machine. PolicyAttributeTypeFQDNSingleLabel PolicyAttributeType = 4 )
func (PolicyAttributeType) String ¶
func (o PolicyAttributeType) String() string
type PolicyComparator ¶
type PolicyComparator uint16
PolicyComparator type represents DHCP_POL_COMPARATOR RPC enumeration.
The DHCP_POL_COMPARATOR enumeration defines the different comparison operators used within a condition of a policy.<9>
var ( // DhcpCompEqual: Specifies the equal operator for a condition. PolicyComparatorEqual PolicyComparator = 0 // DhcpCompNotEqual: Specifies the not-equal operator for a condition. PolicyComparatorNotEqual PolicyComparator = 1 // DhcpCompBeginsWith: Specifies the begins-with operator for a condition. PolicyComparatorBeginsWith PolicyComparator = 2 // DhcpCompNotBeginWith: Specifies the does-not-begin-with operator for a condition. PolicyComparatorNotBeginWith PolicyComparator = 3 // DhcpCompEndsWith: Specifies the ends-with operator for a condition. PolicyComparatorEndsWith PolicyComparator = 4 // DhcpCompNotEndWith: Specifies the does-not-end-with operator for a condition. PolicyComparatorNotEndWith PolicyComparator = 5 )
func (PolicyComparator) String ¶
func (o PolicyComparator) String() string
type PolicyCondition ¶
type PolicyCondition struct { // ParentExpr: This member is of type DWORD and contains the index of the parent expression // in the DHCP_POL_EXPR_ARRAY (section 2.2.1.2.108) structure of the same policy. ParentExpr uint32 `idl:"name:ParentExpr" json:"parent_expr"` // Type: This member is of type DHCP_POL_ATTR_TYPE enumeration (section 2.2.1.1.23) // and identifies whether the condition is specified for an option, suboption, or hardware // address. Type PolicyAttributeType `idl:"name:Type" json:"type"` // OptionID: This member is of type DWORD and contains the identifier for the DHCP // option if the Type member contains the DhcpAttrOption enumeration value. OptionID uint32 `idl:"name:OptionID" json:"option_id"` // SubOptionID: This member is of type DWORD and contains the identifier for the DHCP // suboption of the option contained in the OptionID member, providing that the Type // member contains the DhcpAttrSubOption enumeration value. SubOptionID uint32 `idl:"name:SubOptionID" json:"sub_option_id"` // VendorName: This member is a pointer of type LPWSTR that points to a NULL terminated // Unicode string containing the name of a vendor class. This member identifies the // vendor class to which the OptionID or SubOptionID belongs, in case of a vendor-specific // option/suboption being specified in the condition. This field is currently unused. VendorName string `idl:"name:VendorName" json:"vendor_name"` // Operator: This member is of type DHCP_POL_COMPARATOR enumeration (section 2.2.1.1.22) // and specifies the comparison operator for the condition. Operator PolicyComparator `idl:"name:Operator" json:"operator"` // Value: This member is of type LPBYTE and points to an array of bytes containing // the value to be used for the comparison. Value []byte `idl:"name:Value;size_is:(ValueLength)" json:"value"` // ValueLength: This member is of type DWORD and specifies the length of the Value // member. ValueLength uint32 `idl:"name:ValueLength" json:"value_length"` }
PolicyCondition structure represents DHCP_POL_COND RPC structure.
The DHCP_POL_COND structure specifies an individual condition of a policy.
func (*PolicyCondition) MarshalNDR ¶
func (*PolicyCondition) UnmarshalNDR ¶
type PolicyConditionArray ¶
type PolicyConditionArray struct { // NumElements: This member is of type DWORD and specifies the number of conditions // in the array. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Elements: This member is a pointer of type LPDHCP_POL_COND (section 2.2.1.2.105) // that points to an array of DHCP_POL_COND structure (section 2.2.1.2.105) elements. Elements []*PolicyCondition `idl:"name:Elements;size_is:(NumElements)" json:"elements"` }
PolicyConditionArray structure represents DHCP_POL_COND_ARRAY RPC structure.
The DHCP_POL_COND_ARRAY structure specifies an array of conditions of a policy.
func (*PolicyConditionArray) MarshalNDR ¶
func (*PolicyConditionArray) UnmarshalNDR ¶
type PolicyEx ¶
type PolicyEx struct { // PolicyName: A pointer of type LPWSTR that points to a null-terminated Unicode string // identifying the name of the policy. The name of the policy is restricted to 64 characters. PolicyName string `idl:"name:PolicyName" json:"policy_name"` // IsGlobalPolicy: Indicates whether this is a server-level policy. IsGlobalPolicy bool `idl:"name:IsGlobalPolicy" json:"is_global_policy"` // Subnet: This member is of type DHCP_IP_ADDRESS (section 2.2.1.2.1) structure and // identifies the IPv4 subnet to which the policy belongs, if this is a scope-level // policy. The value of this member will be 0 for a server-level policy. Subnet uint32 `idl:"name:Subnet" json:"subnet"` // ProcessingOrder: Identifies the relative order in which the DHCPv4 server will process // the policy. ProcessingOrder uint32 `idl:"name:ProcessingOrder" json:"processing_order"` // Conditions: A pointer of type LPDHCP_POL_COND_ARRAY (section 2.2.1.2.106) that contains // the array of conditions for the policy. Conditions *PolicyConditionArray `idl:"name:Conditions" json:"conditions"` // Expressions: A pointer of type LPDHCP_POL_EXPR_ARRAY (section 2.2.1.2.108) that // contains the array of expressions for the policy. Expressions *PolicyExprArray `idl:"name:Expressions" json:"expressions"` // Ranges: A pointer of type LPDHCP_IP_RANGE_ARRAY (section 2.2.1.2.104) that points // to an array of DHCP_IP_RANGE (section 2.2.1.2.31) structures that represent the policy // IP ranges. Ranges *IPRangeArray `idl:"name:Ranges" json:"ranges"` // Description: A pointer of type LPWSTR that contains the null-terminated Unicode // string containing the description of the policy. The string is restricted to 255 // characters. Description string `idl:"name:Description" json:"description"` // Enabled: Indicates whether the policy is in the enabled (TRUE) or disabled (FALSE) // state. Enabled bool `idl:"name:Enabled" json:"enabled"` // Properties: A list of properties that is associated with the given client. See the // following list for allowed properties. Properties not identified are ignored. Properties *PropertyArray `idl:"name:Properties" json:"properties"` }
PolicyEx structure represents DHCP_POLICY_EX RPC structure.
The DHCP_POLICY_EX structure contains information for a policy that is used to filter client requests. This structure augments the DHCP_POLICY (section 2.2.1.2.110) structure by including a list of properties represented by the field Properties.
func (*PolicyEx) MarshalNDR ¶
type PolicyExArray ¶
type PolicyExArray struct { // NumElements: Specifies the number of policies in the array. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Elements: A pointer of type DHCP_POLICY_EX (section 2.2.1.2.121) that points to // an array with length as specified in the NumElements member. Elements []*PolicyEx `idl:"name:Elements;size_is:(NumElements)" json:"elements"` }
PolicyExArray structure represents DHCP_POLICY_EX_ARRAY RPC structure.
The DHCP_POLICY_EX_ARRAY structure contains a list of policy elements.
func (*PolicyExArray) MarshalNDR ¶
func (*PolicyExArray) UnmarshalNDR ¶
type PolicyExpr ¶
type PolicyExpr struct { // ParentExpr: This member is of type DWORD and contains the index of the parent expression // in the DHCP_POL_EXPR_ARRAY structure (section 2.2.1.2.108) associated with the policy. ParentExpr uint32 `idl:"name:ParentExpr" json:"parent_expr"` // Operator: This member is of type DHCP_POL_LOGIC_OPER enumeration (section 2.2.1.1.24) // and specifies the logical operator of this expression. Operator PolicyLogicOperator `idl:"name:Operator" json:"operator"` }
PolicyExpr structure represents DHCP_POL_EXPR RPC structure.
The DHCP_POL_EXPR structure specifies an individual expression of a policy.
func (*PolicyExpr) MarshalNDR ¶
func (*PolicyExpr) UnmarshalNDR ¶
type PolicyExprArray ¶
type PolicyExprArray struct { // NumElements: This member is of type DWORD and contains the number of expression // elements in the array. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Elements: This member is a pointer of type LPDHCP_POL_EXPR (section 2.2.1.2.107) // that points to an array of DHCP_POL_EXPR (section 2.2.1.2.107) elements. Elements []*PolicyExpr `idl:"name:Elements;size_is:(NumElements)" json:"elements"` }
PolicyExprArray structure represents DHCP_POL_EXPR_ARRAY RPC structure.
The DHCP_POL_EXPR_ARRAY structure specifies the array of expressions of a policy.
func (*PolicyExprArray) MarshalNDR ¶
func (*PolicyExprArray) UnmarshalNDR ¶
type PolicyFieldsToUpdate ¶
type PolicyFieldsToUpdate uint16
PolicyFieldsToUpdate type represents DHCP_POLICY_FIELDS_TO_UPDATE RPC enumeration.
The DHCP_POLICY_FIELDS_TO_UPDATE enumeration defines the policy fields to be updated during a set operation using the R_Dhcpv4SetPolicy method specified in section 3.2.4.111.
var ( // DhcpUpdatePolicyName: Updates the name of the policy. PolicyFieldsToUpdatePolicyName PolicyFieldsToUpdate = 1 // DhcpUpdatePolicyOrder: Updates the processing order of the policy. PolicyFieldsToUpdatePolicyOrder PolicyFieldsToUpdate = 2 // DhcpUpdatePolicyExpr: Updates the expressions and conditions of the policy. PolicyFieldsToUpdatePolicyExpr PolicyFieldsToUpdate = 4 // DhcpUpdatePolicyRanges: Updates the IP ranges of the policy. PolicyFieldsToUpdatePolicyRanges PolicyFieldsToUpdate = 8 // DhcpUpdatePolicyDescr: Updates the description of the policy. PolicyFieldsToUpdatePolicyDescription PolicyFieldsToUpdate = 16 // DhcpUpdatePolicyStatus: Updates the state (enabled/disabled) of the policy. PolicyFieldsToUpdatePolicyStatus PolicyFieldsToUpdate = 32 // DhcpUpdatePolicyDnsSuffix: Updates the DNS suffix for the policy.<8> PolicyFieldsToUpdatePolicyDNSSuffix PolicyFieldsToUpdate = 64 )
func (PolicyFieldsToUpdate) String ¶
func (o PolicyFieldsToUpdate) String() string
type PolicyLogicOperator ¶
type PolicyLogicOperator uint16
PolicyLogicOperator type represents DHCP_POL_LOGIC_OPER RPC enumeration.
The DHCP_POL_LOGIC_OPER enumeration contains the logical operator used to combine the conditions of a policy.
var ( // DhcpLogicalOr: Specifies the OR logical operator. PolicyLogicOperatorLogicalOr PolicyLogicOperator = 0 // DhcpLogicalAnd: Specifies the AND logical operator. PolicyLogicOperatorLogicalAnd PolicyLogicOperator = 1 )
func (PolicyLogicOperator) String ¶
func (o PolicyLogicOperator) String() string
type Property ¶
type Property struct { // ID: An enumeration of type DHCP_PROPERTY_ID (section 2.2.1.1.27) that indicates // the property identifier for the data value contained in the Value field. ID PropertyID `idl:"name:ID" json:"id"` // Type: An enumeration of type DHCP_PROPERTY_TYPE (section 2.2.1.1.26) that indicates // the property type for the data value contained in the Value field. Type PropertyType `idl:"name:Type" json:"type"` // Value: Specifies the property data using one of the following values based on the // value of the Type field. Value *Property_Value `idl:"name:Value;switch_is:Type" json:"value"` }
Property structure represents DHCP_PROPERTY RPC structure.
The DHCP_PROPERTY structure contains the type of the property, the property identifier, and the property data value. The DHCP_PROPERTY identifies a DHCP property and is used by the DHCP_CLIENT_INFO_EX (section 2.2.1.2.119) and DHCP_POLICY_EX (section 2.2.1.2.121) structures, which allow a list of properties to be associated with them.
func (*Property) MarshalNDR ¶
type PropertyArray ¶
type PropertyArray struct { // NumElements: Specifies the number of DHCP Property elements. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Elements: Contains the DHCP Property elements. Elements []*Property `idl:"name:Elements;size_is:(NumElements)" json:"elements"` }
PropertyArray structure represents DHCP_PROPERTY_ARRAY RPC structure.
The DHCP_PROPERTY_ARRAY structure defines an array of DHCP_PROPERTY (section 2.2.1.2.117) structures. This structure is a data container for one or more data elements associated with a DHCP property array.
func (*PropertyArray) MarshalNDR ¶
func (*PropertyArray) UnmarshalNDR ¶
type PropertyID ¶
type PropertyID uint16
PropertyID type represents DHCP_PROPERTY_ID RPC enumeration.
The DHCP_PROPERTY_ID enumeration defines the property identifier for a DHCP_PROPERTY (section 2.2.1.2.117) structure. It is used to uniquely identify a specified DHCP property.
var ( // DhcpPropIdPolicyDnsSuffix: Identifies the DNS suffix of a policy. It is of property // type DhcpPropTypeString, as specified in DHCP_PROPERTY_TYPE (section 2.2.1.1.26). PropertyIDPolicyDNSSuffix PropertyID = 0 // DhcpPropIdClientAddressStateEx: Identifies the extended address state flags of a // lease table entry. It is of property type DhcpPropTypeDword, as specified in DHCP_PROPERTY_TYPE // (section 2.2.1.1.26). PropertyIDClientAddressStateEx PropertyID = 1 )
func (PropertyID) String ¶
func (o PropertyID) String() string
type PropertyType ¶
type PropertyType uint16
PropertyType type represents DHCP_PROPERTY_TYPE RPC enumeration.
The DHCP_PROPERTY_TYPE enumeration defines the data types for DHCP property values and is used in the DHCP_PROPERTY (section 2.2.1.2.117) structure.
var ( // DhcpPropTypeByte: The property value is of type BYTE. PropertyTypeByte PropertyType = 0 // DhcpPropTypeWord: The property value is of type WORD. PropertyTypeWord PropertyType = 1 // DhcpPropTypeDword: The property value is of type DWORD. PropertyTypeDword PropertyType = 2 // DhcpPropTypeString: The property value is a pointer of type LPWSTR that points to // a Unicode string that includes the terminating null character. PropertyTypeString PropertyType = 3 // DhcpPropTypeBinary: The property value is of type DHCP_BINARY_DATA (section 2.2.1.2.9). PropertyTypeBinary PropertyType = 4 )
func (PropertyType) String ¶
func (o PropertyType) String() string
type Property_BinaryValue ¶
type Property_BinaryValue struct { // BinaryValue: Specifies the data as a DHCP_BINARY_DATA (section 2.2.1.2.9) structure. // This field is present if the Type field is set to DhcpPropertyTypeBinary. BinaryValue *BinaryData `idl:"name:BinaryValue" json:"binary_value"` }
Property_BinaryValue structure represents Property_Value RPC union arm.
It has following labels: 4
func (*Property_BinaryValue) MarshalNDR ¶
func (*Property_BinaryValue) UnmarshalNDR ¶
type Property_ByteValue ¶
type Property_ByteValue struct { // ByteValue: Specifies the data as a BYTE value. This field is present if the Type // field is set to DhcpPropertyTypeByte. ByteValue uint8 `idl:"name:ByteValue" json:"byte_value"` }
Property_ByteValue structure represents Property_Value RPC union arm.
It has following labels: 0
func (*Property_ByteValue) MarshalNDR ¶
func (*Property_ByteValue) UnmarshalNDR ¶
type Property_DwordValue ¶
type Property_DwordValue struct { // DWordValue: Specifies the data as a DWORD value. This field is present if the Type // field is set to DhcpPropertyTypeDWord. DwordValue uint32 `idl:"name:DWordValue" json:"dword_value"` }
Property_DwordValue structure represents Property_Value RPC union arm.
It has following labels: 2
func (*Property_DwordValue) MarshalNDR ¶
func (*Property_DwordValue) UnmarshalNDR ¶
type Property_StringValue ¶
type Property_StringValue struct { // StringValue: Specifies the data as a LPWSTR pointer to a Unicode string value. This // field is present if the Type field is set to DhcpPropertyTypeString. StringValue string `idl:"name:StringValue" json:"string_value"` }
Property_StringValue structure represents Property_Value RPC union arm.
It has following labels: 3
func (*Property_StringValue) MarshalNDR ¶
func (*Property_StringValue) UnmarshalNDR ¶
type Property_Value ¶
type Property_Value struct { // Types that are assignable to Value // // *Property_ByteValue // *Property_WordValue // *Property_DwordValue // *Property_StringValue // *Property_BinaryValue Value is_Property_Value `json:"value"` }
Property_Value structure represents DHCP_PROPERTY union anonymous member.
The DHCP_PROPERTY structure contains the type of the property, the property identifier, and the property data value. The DHCP_PROPERTY identifies a DHCP property and is used by the DHCP_CLIENT_INFO_EX (section 2.2.1.2.119) and DHCP_POLICY_EX (section 2.2.1.2.121) structures, which allow a list of properties to be associated with them.
func (*Property_Value) GetValue ¶
func (o *Property_Value) GetValue() any
func (*Property_Value) MarshalUnionNDR ¶
func (*Property_Value) NDRSwitchValue ¶
func (o *Property_Value) NDRSwitchValue(sw uint16) uint16
func (*Property_Value) UnmarshalUnionNDR ¶
type Property_WordValue ¶
type Property_WordValue struct { // WordValue: Specifies the data as a WORD value. This field is present if the Type // field is set to DhcpPropertyTypeWord. WordValue uint16 `idl:"name:WordValue" json:"word_value"` }
Property_WordValue structure represents Property_Value RPC union arm.
It has following labels: 1
func (*Property_WordValue) MarshalNDR ¶
func (*Property_WordValue) UnmarshalNDR ¶
type QuarantineStatus ¶
type QuarantineStatus uint16
QuarantineStatus type represents QuarantineStatus RPC enumeration.
The QuarantineStatus enumeration defines the Network Access Protection (NAP) state of the DHCP client.<7>
var ( // NOQUARANTINE: The DHCP client is compliant with the health policies defined by the // administrator and has normal access to the network. QuarantineStatusNoQuarantine QuarantineStatus = 0 // RESTRICTEDACCESS: The DHCP client is not compliant with the health policies defined // by the administrator and is being quarantined with restricted access to the network. QuarantineStatusRestrictedAccess QuarantineStatus = 1 // DROPPACKET: The DHCP client is not compliant with the health policies defined by // the administrator and is being denied access to the network. The DHCP server does // not grant an IP address lease to this client. QuarantineStatusDropPacket QuarantineStatus = 2 // PROBATION: The DHCP client is not compliant with the health policies defined by the // administrator and is being granted normal access to the network for a limited time. QuarantineStatusProbation QuarantineStatus = 3 // EXEMPT: The DHCP client is exempt from compliance with the health policies defined // by the administrator and is granted normal access to the network. QuarantineStatusExempt QuarantineStatus = 4 // DEFAULTQUARSETTING: The DHCP client is put into the default quarantine state configured // on the DHCP NAP server. When a network policy server (NPS) is unavailable, the DHCP // client can be put in any of the states NOQUARANTINE, RESTRICTEDACCESS, or DROPPACKET, // depending on the default setting on the DHCP NAP server. QuarantineStatusDefaultQuarantineSetting QuarantineStatus = 5 // NOQUARINFO: No quarantine. QuarantineStatusNoQuarantineInfo QuarantineStatus = 6 )
func (QuarantineStatus) String ¶
func (o QuarantineStatus) String() string
type ReservationInfoArray ¶
type ReservationInfoArray struct { // NumElements: This member is of type DWORD and contains the number of DHCP_IP_RESERVATION_INFO // elements specified by the subsequent Elements member. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Elements: This member is a pointer to an array of DHCP_IP_RESERVATION_INFO structures // of length NumElements, and contains DHCPv4 reservation information. Elements []*IPReservationInfo `idl:"name:Elements;size_is:(NumElements)" json:"elements"` }
ReservationInfoArray structure represents DHCP_RESERVATION_INFO_ARRAY RPC structure.
The DHCP_RESERVATION_INFO_ARRAY structure defines an array of DHCP_IP RESERVATION_INFO (section 2.2.1.2.102) structures. This structure is used by the method R_DhcpV4EnumSubnetReservations (section 3.2.4.120).
func (*ReservationInfoArray) MarshalNDR ¶
func (*ReservationInfoArray) UnmarshalNDR ¶
type ReservedScope ¶
type ReservedScope struct { // ReservedIpAddress: This is of type DHCP_IP_ADDRESS (section 2.2.1.2.1), containing // the IPv4 address of the reservation. ReservedIPAddress uint32 `idl:"name:ReservedIpAddress" json:"reserved_ip_address"` // ReservedIpSubnetAddress: This is of type DHCP_IP_ADDRESS, containing the IPv4 address // of the subnet ID. ReservedIPSubnetAddress uint32 `idl:"name:ReservedIpSubnetAddress" json:"reserved_ip_subnet_address"` }
ReservedScope structure represents DHCP_RESERVED_SCOPE RPC structure.
The DHCP_RESERVED_SCOPE structure defines an IPv4 reservation. This structure is used in the DHCP_OPTION_SCOPE_INFO (section 2.2.1.2.41) structure.
func (*ReservedScope) MarshalNDR ¶
func (*ReservedScope) UnmarshalNDR ¶
type ReservedScope6 ¶
type ReservedScope6 struct { // ReservedIpAddress: This is of type DHCP_IPV6_ADDRESS (section 2.2.1.2.28), containing // theIPv6 address of an IPv6 reservation. ReservedIPAddress *IPv6Address `idl:"name:ReservedIpAddress" json:"reserved_ip_address"` // ReservedIpSubnetAddress: This is of type DHCP_IPV6_ADDRESS, containing the IPv6 // prefix ID of the subnet. ReservedIPSubnetAddress *IPv6Address `idl:"name:ReservedIpSubnetAddress" json:"reserved_ip_subnet_address"` }
ReservedScope6 structure represents DHCP_RESERVED_SCOPE6 RPC structure.
The DHCP_RESERVED_SCOPE6 structure defines an IPv6 reservation. This is used in DHCP_OPTION_SCOPE_INFO6 (section 2.2.1.2.30) structure.
func (*ReservedScope6) MarshalNDR ¶
func (*ReservedScope6) UnmarshalNDR ¶
type ResumeIPv6Handle ¶
type ResumeIPv6Handle IPv6Address
ResumeIPv6Handle structure represents DHCP_RESUME_IPV6_HANDLE RPC structure.
func (*ResumeIPv6Handle) IPv6Address ¶
func (o *ResumeIPv6Handle) IPv6Address() *IPv6Address
func (*ResumeIPv6Handle) MarshalNDR ¶
func (*ResumeIPv6Handle) UnmarshalNDR ¶
type ScanFlag ¶
type ScanFlag uint16
ScanFlag type represents DHCP_SCAN_FLAG RPC enumeration.
The DHCP_SCAN_FLAG enumeration defines whether an inconsistent IP address needs to be fixed in the DHCPv4 client Lease records or the bitmask representation in memory (section 3.1.1.4). This enumeration is used in the DHCP_SCAN_ITEM (section 2.2.1.2.73) structure.
var ( // DhcpRegistryFix: The DHCPv4 server sets this value in DHCP_SCAN_ITEM when a DHCP // client IPv4 address is found in the DHCPv4 client Lease records but not in the bitmask // representation in memory (section 3.1.1.4). ScanFlagRegistryFix ScanFlag = 0 // DhcpDatabaseFix: The DHCPv4 server sets this value in DHCP_SCAN_ITEM when the DHCP // client IPv4 address is found in the bitmask representation in memory (section 3.1.1.4) // but not in the DHCPv4 client Lease records. ScanFlagDatabaseFix ScanFlag = 1 )
type ScanItem ¶
type ScanItem struct { // IpAddress: This is of type DHCP_IP_ADDRESS (section 2.2.1.2.1), a DWORD containing // the IPv4 address of the missing DHCPv4 client entry in one of the stores. IPAddress uint32 `idl:"name:IpAddress" json:"ip_address"` // ScanFlag: This is of type DHCP_SCAN_FLAG (section 2.2.1.1.13) enumeration, which // contains an enumerated value of 0 to fix the bitmask representation (section 3.1.1.4) // and an enumerated value of 1 to fix the DHCPv4 client Lease records. ScanFlag ScanFlag `idl:"name:ScanFlag" json:"scan_flag"` }
ScanItem structure represents DHCP_SCAN_ITEM RPC structure.
The DHCP_SCAN_ITEM structure defines the type of fix that is required for DHCPv4 client lease records that are missing in the bitmask representation in memory (section 3.1.1.4) or vice versa.
func (*ScanItem) MarshalNDR ¶
type ScanList ¶
type ScanList struct { // NumScanItems: This is of type DWORD, containing the number of DHCPv4 client lease // entries and/or bits in the bitmask representation in memory (section 3.1.1.4) that // require a fix in the subsequent field in the ScanItems member. ScanItemsLength uint32 `idl:"name:NumScanItems" json:"scan_items_length"` // ScanItems: This is a pointer to an array of DHCP_SCAN_ITEM (section 2.2.1.2.73) // structures of length NumScanItems that contains the DHCPv4 client IPv4 addresses // that require a fix. ScanItems []*ScanItem `idl:"name:ScanItems;size_is:(NumScanItems)" json:"scan_items"` }
ScanList structure represents DHCP_SCAN_LIST RPC structure.
The DHCP_SCAN_LIST structure defines an array of DHCP_SCAN_ITEM (section 2.2.1.2.73) structures that contains all the entries on the DHCP server that require a fix. This structure is used in the R_DhcpScanDatabase (section 3.1.4.28) method.
func (*ScanList) MarshalNDR ¶
type ScopeMIBInfo ¶
type ScopeMIBInfo struct { // Subnet: This is of type DHCP_IP_ADDRESS (section 2.2.1.2.1), a DWORD specifying // the IPv4 subnet ID for the scope. Subnet uint32 `idl:"name:Subnet" json:"subnet"` // NumAddressesInuse: This is of type DWORD, containing the number of IPv4 addresses // leased out to DHCPv4 clients for a given IPv4 subnet. AddressesInUseLength uint32 `idl:"name:NumAddressesInuse" json:"addresses_inuse_length"` // NumAddressesFree: This is of type DWORD, containing the number of IPv4 addresses // that are free and can be leased out to DHCPv4 clients in a specific IPv4 subnet. AddressesFreeLength uint32 `idl:"name:NumAddressesFree" json:"addresses_free_length"` // NumPendingOffers: This is of type DWORD, containing the number of IPv4 addresses // that have been offered to DHCPv4 clients in a specific IPv4 subnet but that the DHCP // client has not yet confirmed. PendingOffersLength uint32 `idl:"name:NumPendingOffers" json:"pending_offers_length"` }
ScopeMIBInfo structure represents SCOPE_MIB_INFO RPC structure.
The SCOPE_MIB_INFO structure defines a structure that contains the address counters for a specific IPv4 subnet. The numbers of free, used, and offered IPv4 addresses are stored in this structure. This structure is used in the DHCP_MIB_INFO (section 2.2.1.2.48) structure.
func (*ScopeMIBInfo) MarshalNDR ¶
func (*ScopeMIBInfo) UnmarshalNDR ¶
type ScopeMIBInfoV5 ¶
type ScopeMIBInfoV5 struct { // Subnet: This is of type DHCP_IP_ADDRESS (section 2.2.1.2.1), a DWORD specifying // the IPv4 subnet ID for the scope. Subnet uint32 `idl:"name:Subnet" json:"subnet"` // NumAddressesInuse: This is of type DWORD, containing the number of IPv4 addresses // leased out to DHCPv4 clients for a given IPv4 subnet. AddressesInUseLength uint32 `idl:"name:NumAddressesInuse" json:"addresses_inuse_length"` // NumAddressesFree: This is of type DWORD, containing the number of IPv4 addresses // that are free and can be leased out to DHCPv4 clients in a given IPv4 subnet. AddressesFreeLength uint32 `idl:"name:NumAddressesFree" json:"addresses_free_length"` // NumPendingOffers: This is of type DWORD, containing the number of IPv4 addresses // that have been offered to DHCPv4 clients in a given IPv4 subnet but that the DHCP // client has not yet confirmed. PendingOffersLength uint32 `idl:"name:NumPendingOffers" json:"pending_offers_length"` }
ScopeMIBInfoV5 structure represents SCOPE_MIB_INFO_V5 RPC structure.
The SCOPE_MIB_INFO_V5 structure defines a structure that contains the address counters for a specific IPv4 subnet. The numbers of free, used, and offered IPv4 addresses are stored in this structure. This structure is used in the DHCP_MIB_INFO_V5 (section 2.2.1.2.95) structure.
func (*ScopeMIBInfoV5) MarshalNDR ¶
func (*ScopeMIBInfoV5) UnmarshalNDR ¶
type ScopeMIBInfoV6 ¶
type ScopeMIBInfoV6 struct { // Subnet: This is of type DHCP_IPV6_ADDRESS (section 2.2.1.2.28), a structure specifying // the IPv6 prefix for the scope. Subnet *IPv6Address `idl:"name:Subnet" json:"subnet"` // NumAddressesInuse: This is of type ULONGLONG, containing the number of IPv6 addresses // that have been leased to the DHCPv6 clients from the current prefix. AddressesInUseLength uint64 `idl:"name:NumAddressesInuse" json:"addresses_inuse_length"` // NumAddressesFree: This is of type ULONGLONG, containing the number of addresses // that are free and can be leased out to DHCPv6 clients in the current subnet. AddressesFreeLength uint64 `idl:"name:NumAddressesFree" json:"addresses_free_length"` // NumPendingAdvertises: This is of type ULONGLONG, containing the number of IPv6 addresses // that are advertised to the DHCPv6 clients from the prefix but that have not yet been // confirmed by the DHCPv6 client. PendingAdvertisesLength uint64 `idl:"name:NumPendingAdvertises" json:"pending_advertises_length"` }
ScopeMIBInfoV6 structure represents SCOPE_MIB_INFO_V6 RPC structure.
The SCOPE_MIB_INFO_V6 structure defines a structure that contains the address counters for a specific IPv6 prefix. The numbers of free, used, and offered IPv6 addresses are stored in this structure. This structure is used in the DHCP_MIB_INFO_V6 (section 2.2.1.2.68) structure.
func (*ScopeMIBInfoV6) MarshalNDR ¶
func (*ScopeMIBInfoV6) UnmarshalNDR ¶
type ScopeMIBInfoVQ ¶
type ScopeMIBInfoVQ struct { // Subnet: This is of type DHCP_IP_ADDRESS (section 2.2.1.2.1), a DWORD containing // the IPv4 subnet ID for the scope. Subnet uint32 `idl:"name:Subnet" json:"subnet"` // NumAddressesInuse: This is of type DWORD, containing the number of IPv4 addresses // leased to DHCPv4 clients on a given IPv4 subnet. AddressesInUseLength uint32 `idl:"name:NumAddressesInuse" json:"addresses_inuse_length"` // NumAddressesFree: This is of type DWORD, containing the number of IPv4 addresses // that are free and can be leased to DHCPv4 clients on a given IPv4 subnet. AddressesFreeLength uint32 `idl:"name:NumAddressesFree" json:"addresses_free_length"` // NumPendingOffers: This is of type DWORD, containing the number of IPv4 addresses // that are offered to DHCPv4 clients on a given IPv4 subnet but which the DHCPv4 client // has not confirmed. PendingOffersLength uint32 `idl:"name:NumPendingOffers" json:"pending_offers_length"` // QtnNumLeases: This field MUST be set to zero when sent and ignored on receipt. This // is treated as an error if it is nonzero in an RPC method that queries DHCPv4 server // configuration. QTNNumLeases uint32 `idl:"name:QtnNumLeases" json:"qtn_num_leases"` // QtnPctQtnLeases: This field MUST be set to zero when sent and ignored on receipt. // This is treated as an error if it is nonzero in an RPC method that queries DHCPv4 // server configuration. QTNPctQTNLeases uint32 `idl:"name:QtnPctQtnLeases" json:"qtn_pct_qtn_leases"` // QtnProbationLeases: This field MUST be set to zero when sent and ignored on receipt. // This is treated as an error if it is nonzero in an RPC method that queries DHCPv4 // server configuration. QTNProbationLeases uint32 `idl:"name:QtnProbationLeases" json:"qtn_probation_leases"` // QtnNonQtnLeases: This field MUST be set to zero when sent and ignored on receipt. // This is treated as an error if it is nonzero in an RPC method that queries DHCPv4 // server configuration. QTNNonQTNLeases uint32 `idl:"name:QtnNonQtnLeases" json:"qtn_non_qtn_leases"` // QtnExemptLeases: This field MUST be set to zero when sent and ignored on receipt. // This is treated as an error if it is nonzero in an RPC method that queries DHCPv4 // server configuration. QTNExemptLeases uint32 `idl:"name:QtnExemptLeases" json:"qtn_exempt_leases"` // QtnCapableClients: This field MUST be set to zero when sent and ignored on receipt. // This is treated as an error if it is nonzero in an RPC method that queries DHCPv4 // server configuration. QTNCapableClients uint32 `idl:"name:QtnCapableClients" json:"qtn_capable_clients"` }
ScopeMIBInfoVQ structure represents SCOPE_MIB_INFO_VQ RPC structure.
The SCOPE_MIB_INFO_VQ structure contains the address counters for a specific IPv4 subnet. The numbers of free, used, and offered IPv4 address are stored in this structure. This structure is an extension of the SCOPE_MIB_INFO (section 2.2.1.2.47) structure and is used in the DHCP_MIB_INFO_VQ (section 2.2.1.2.50) structure.
func (*ScopeMIBInfoVQ) MarshalNDR ¶
func (*ScopeMIBInfoVQ) UnmarshalNDR ¶
type SearchInfo ¶
type SearchInfo struct { // SearchType: This is an enumeration of type DHCP_SEARCH_INFO_TYPE (section 2.2.1.1.3) // that contains the data type based on which the search is performed for a specific // DHCPv4 client record held by the DHCPv4 server. // // +-----------------------------+----------------------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +-----------------------------+----------------------------------------------------------------------------------+ // +-----------------------------+----------------------------------------------------------------------------------+ // | DhcpClientIpAddress 0 | The DHCPv4 client IPv4 address (section 2.2.1.2.1), specified in a subsequent | // | | field, is used to search for the DHCPv4 client lease record in the DHCPv4 server | // | | database. | // +-----------------------------+----------------------------------------------------------------------------------+ // | DhcpClientHardwareAddress 1 | The DHCPv4 client unique ID (section 2.2.1.2.5.2), specified in a subsequent | // | | field, is used to search for the DHCPv4 client lease record in the DHCPv4 server | // | | database. | // +-----------------------------+----------------------------------------------------------------------------------+ // | DhcpClientName 2 | A pointer to a null-terminated Unicode string that contains the name of the | // | | DHCPv4 client. It is used to search for the DHCPv4 client lease record in the | // | | DHCPv4 server database. | // +-----------------------------+----------------------------------------------------------------------------------+ SearchType SearchInfoType `idl:"name:SearchType" json:"search_type"` // SearchInfo: A union that can contain one of the following values chosen based on // the value of SearchType. SearchInfo *SearchInfo_SearchInfo `idl:"name:SearchInfo;switch_is:SearchType" json:"search_info"` }
SearchInfo structure represents DHCP_SEARCH_INFO RPC structure.
The DHCP_SEARCH_INFO structure defines the DHCPv4 client information search type defined by SearchType, along with the data used within that search. This structure, used in the R_DhcpGetClientInfo (section 3.1.4.19) method, is used to search a specific DHCPv4 client.
func (*SearchInfo) MarshalNDR ¶
func (*SearchInfo) UnmarshalNDR ¶
type SearchInfoType ¶
type SearchInfoType uint16
SearchInfoType type represents DHCP_SEARCH_INFO_TYPE RPC enumeration.
The DHCP_SEARCH_INFO_TYPE enumeration defines the type of search that can be performed on the DHCPv4 server to query specific DHCP client records. DHCPM uses this value in conjunction with DHCP_SEARCH_INFO (section 2.2.1.2.18) to query specific DHCPv4 client address records.
var ( // DhcpClientIpAddress: The DHCPv4 client IP address MUST be used for querying the DHCPv4 // client lease records from the database on the DHCPv4 server. SearchInfoTypeClientIPAddress SearchInfoType = 0 // DhcpClientHardwareAddress: The DHCPv4 client unique ID (section 2.2.1.2.5.2) MUST // be used for querying the DHCPv4 client lease records from the database on the DHCPv4 // server. SearchInfoTypeClientHardwareAddress SearchInfoType = 1 // DhcpClientName: The null-terminated Unicode string containing the name of the DHCPv4 // client MUST be used for querying the DHCPv4 client lease records on the DHCPv4 server. // There is no restriction on the length of this UNICODE string. SearchInfoTypeClientName SearchInfoType = 2 )
func (SearchInfoType) String ¶
func (o SearchInfoType) String() string
type SearchInfoTypeV6 ¶
type SearchInfoTypeV6 uint16
SearchInfoTypeV6 type represents DHCP_SEARCH_INFO_TYPE_V6 RPC enumeration.
The DHCP_SEARCH_INFO_TYPE_V6 enumeration defines the field over which the search can be performed for a specific IPv6 DHCPv6 client lease record in the DHCPv6 server database. This enumeration is used in structure DHCP_SEARCH_INFO_V6 (section 2.2.1.2.69).
var ( // Dhcpv6ClientIpAddress: Use DHCPv6 client IPv6 address for searching the DHCPv6 IPv6 // client lease record in the DHCP server. SearchInfoTypeV6ClientIPAddressV6 SearchInfoTypeV6 = 0 // Dhcpv6ClientDUID: Use DHCPv6 client DUID (as specified in [RFC3315]) for searching // the DHCP IPv6 client lease record in the DHCPv6 server. SearchInfoTypeV6ClientDUIDV6 SearchInfoTypeV6 = 1 // Dhcpv6ClientName: Use a null-terminated Unicode string that contains the name of // the DHCPv6 IPv6 client for searching for the DHCPv6 client lease record in the DHCPv6 // server database. SearchInfoTypeV6ClientNameV6 SearchInfoTypeV6 = 2 )
func (SearchInfoTypeV6) String ¶
func (o SearchInfoTypeV6) String() string
type SearchInfoV6 ¶
type SearchInfoV6 struct { // SearchType: This is an enumeration value of type DHCP_SEARCH_INFO_TYPE_V6 (section // 2.2.1.1.12) enumeration that contains the data type, based on which the search is // performed, for a specific DHCPv6 client record on the DHCPv6 server. SearchType SearchInfoTypeV6 `idl:"name:SearchType" json:"search_type"` // SearchInfo: This is a union that can contain one of the following values chosen // based on the value of the SearchType member. SearchInfo *SearchInfoV6_SearchInfo `idl:"name:SearchInfo;switch_is:SearchType" json:"search_info"` }
SearchInfoV6 structure represents DHCP_SEARCH_INFO_V6 RPC structure.
The DHCP_SEARCH_INFO_V6 structure contains the DHCPv6 client information search type defined by the SearchType member, along with the data supporting that search. With this structure, a search is performed for a specific DHCPv6 client. This structure is used in the R_DhcpGetClientInfoV6 (section 3.2.4.73) method.
func (*SearchInfoV6) MarshalNDR ¶
func (*SearchInfoV6) UnmarshalNDR ¶
type SearchInfoV6_ClientDUID ¶
type SearchInfoV6_ClientDUID struct { // ClientDUID: This is of type DHCP_CLIENT_UID (section 2.2.1.2.5), a structure that // represents the DHCPv6 client-identifier (section 2.2.1.2.5.3). It is used to search // for the DHCPv6 client lease record in the DHCPv6 server database. ClientDUID *ClientUID `idl:"name:ClientDUID" json:"client_duid"` }
SearchInfoV6_ClientDUID structure represents SearchInfoV6_SearchInfo RPC union arm.
It has following labels: 1
func (*SearchInfoV6_ClientDUID) MarshalNDR ¶
func (*SearchInfoV6_ClientDUID) UnmarshalNDR ¶
type SearchInfoV6_ClientIPAddress ¶
type SearchInfoV6_ClientIPAddress struct { // ClientIpAddress: This is of type DHCP_IPV6_ADDRESS (section 2.2.1.2.28), a structure // that contains the IPv6 address of the DHCPv6 client lease record. It is used for // searching in the DHCPv6 server database. ClientIPAddress *IPv6Address `idl:"name:ClientIpAddress" json:"client_ip_address"` }
SearchInfoV6_ClientIPAddress structure represents SearchInfoV6_SearchInfo RPC union arm.
It has following labels: 0
func (*SearchInfoV6_ClientIPAddress) MarshalNDR ¶
func (*SearchInfoV6_ClientIPAddress) UnmarshalNDR ¶
type SearchInfoV6_ClientName ¶
type SearchInfoV6_ClientName struct { // ClientName: A pointer to a null-terminated Unicode string that contains the name // of the DHCPv6 client. It is used to search for the DHCPv6 client lease record in // the DHCPv6 server database. There is no restriction on the length of this Unicode // string. ClientName string `idl:"name:ClientName" json:"client_name"` }
SearchInfoV6_ClientName structure represents SearchInfoV6_SearchInfo RPC union arm.
It has following labels: 2
func (*SearchInfoV6_ClientName) MarshalNDR ¶
func (*SearchInfoV6_ClientName) UnmarshalNDR ¶
type SearchInfoV6_SearchInfo ¶
type SearchInfoV6_SearchInfo struct { // Types that are assignable to Value // // *SearchInfoV6_ClientIPAddress // *SearchInfoV6_ClientDUID // *SearchInfoV6_ClientName Value is_SearchInfoV6_SearchInfo `json:"value"` }
SearchInfoV6_SearchInfo structure represents DHCP_SEARCH_INFO_V6 union anonymous member.
The DHCP_SEARCH_INFO_V6 structure contains the DHCPv6 client information search type defined by the SearchType member, along with the data supporting that search. With this structure, a search is performed for a specific DHCPv6 client. This structure is used in the R_DhcpGetClientInfoV6 (section 3.2.4.73) method.
func (*SearchInfoV6_SearchInfo) GetValue ¶
func (o *SearchInfoV6_SearchInfo) GetValue() any
func (*SearchInfoV6_SearchInfo) MarshalUnionNDR ¶
func (*SearchInfoV6_SearchInfo) NDRSwitchValue ¶
func (o *SearchInfoV6_SearchInfo) NDRSwitchValue(sw uint16) uint16
func (*SearchInfoV6_SearchInfo) UnmarshalUnionNDR ¶
type SearchInfo_ClientHardwareAddress ¶
type SearchInfo_ClientHardwareAddress struct { // ClientHardwareAddress: A pointer to a DHCP_CLIENT_UID (section 2.2.1.2.5) structure // that represents the unique ID of a DHCPv4 client (section 2.2.1.2.5.2). It is used // to search for the DHCPv4 client lease record in the DHCPv4 server database. ClientHardwareAddress *ClientUID `idl:"name:ClientHardwareAddress" json:"client_hardware_address"` }
SearchInfo_ClientHardwareAddress structure represents SearchInfo_SearchInfo RPC union arm.
It has following labels: 1
func (*SearchInfo_ClientHardwareAddress) MarshalNDR ¶
func (*SearchInfo_ClientHardwareAddress) UnmarshalNDR ¶
type SearchInfo_ClientIPAddress ¶
type SearchInfo_ClientIPAddress struct { // ClientIpAddress: A pointer to a DHCP_IP_ADDRESS (section 2.2.1.2.1) structure that // is used to search for the DHCPv4 client lease record in the DHCPv4 server database. ClientIPAddress uint32 `idl:"name:ClientIpAddress" json:"client_ip_address"` }
SearchInfo_ClientIPAddress structure represents SearchInfo_SearchInfo RPC union arm.
It has following labels: 0
func (*SearchInfo_ClientIPAddress) MarshalNDR ¶
func (*SearchInfo_ClientIPAddress) UnmarshalNDR ¶
type SearchInfo_ClientName ¶
type SearchInfo_ClientName struct { // ClientName: A pointer to a null-terminated Unicode string, of type LPWSTR, that // contains the name of the DHCPv4 client. It is used to search for the DHCPv4 client // lease record in the DHCPv4 server database. There is no restriction on the length // of this Unicode string. ClientName string `idl:"name:ClientName" json:"client_name"` }
SearchInfo_ClientName structure represents SearchInfo_SearchInfo RPC union arm.
It has following labels: 2
func (*SearchInfo_ClientName) MarshalNDR ¶
func (*SearchInfo_ClientName) UnmarshalNDR ¶
type SearchInfo_SearchInfo ¶
type SearchInfo_SearchInfo struct { // Types that are assignable to Value // // *SearchInfo_ClientIPAddress // *SearchInfo_ClientHardwareAddress // *SearchInfo_ClientName Value is_SearchInfo_SearchInfo `json:"value"` }
SearchInfo_SearchInfo structure represents DHCP_SEARCH_INFO union anonymous member.
The DHCP_SEARCH_INFO structure defines the DHCPv4 client information search type defined by SearchType, along with the data used within that search. This structure, used in the R_DhcpGetClientInfo (section 3.1.4.19) method, is used to search a specific DHCPv4 client.
func (*SearchInfo_SearchInfo) GetValue ¶
func (o *SearchInfo_SearchInfo) GetValue() any
func (*SearchInfo_SearchInfo) MarshalUnionNDR ¶
func (*SearchInfo_SearchInfo) NDRSwitchValue ¶
func (o *SearchInfo_SearchInfo) NDRSwitchValue(sw uint16) uint16
func (*SearchInfo_SearchInfo) UnmarshalUnionNDR ¶
type ServerConfigInfo ¶
type ServerConfigInfo struct { // APIProtocolSupport: This is of type DWORD, defining the type of RPC protocol supported // by the DHCP server. The following type MUST be supported. // // +-------------------------------------------+---------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +-------------------------------------------+---------------------------------------------------------------+ // +-------------------------------------------+---------------------------------------------------------------+ // | DHCP_SERVER_USE_RPC_OVER_TCPIP 0x00000001 | RPC protocol over TCP is used by the DHCP server to register. | // +-------------------------------------------+---------------------------------------------------------------+ // // The following types MAY<12> be supported. // // +-----------------------------------------+----------------------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +-----------------------------------------+----------------------------------------------------------------------------------+ // +-----------------------------------------+----------------------------------------------------------------------------------+ // | DHCP_SERVER_USE_RPC_OVER_NP 0x00000002 | RPC protocol over named pipes is used by the DHCP server to register. | // +-----------------------------------------+----------------------------------------------------------------------------------+ // | DHCP_SERVER_USE_RPC_OVER_LPC 0x00000004 | RPC protocol over local procedure call (LPC) is used by the DHCP server to | // | | register. | // +-----------------------------------------+----------------------------------------------------------------------------------+ // | DHCP_SERVER_USE_RPC_OVER_ALL 0x00000007 | The DHCP server supports all of the preceding protocols. | // +-----------------------------------------+----------------------------------------------------------------------------------+ APIProtocolSupport uint32 `idl:"name:APIProtocolSupport" json:"api_protocol_support"` // DatabaseName: A pointer of type LPWSTR to a null-terminated Unicode string that // represents the DHCP server database name which is used by the DHCP server for persistent // storage. There is no restriction on the length of this Unicode string. This field // MUST be convertible to an OEM or ANSI character string. DatabaseName string `idl:"name:DatabaseName" json:"database_name"` // DatabasePath: A pointer of type LPWSTR to a null-terminated Unicode string that // contains the absolute path, where the DHCP server database is stored. The maximum // number of characters allowed in this field is 248, including the terminating null // character. This field MUST be convertible to an OEM or ANSI character string. DatabasePath string `idl:"name:DatabasePath" json:"database_path"` // BackupPath: A pointer of type LPWSTR to a null-terminated Unicode string that contains // the absolute path for backup storage that is used by the DHCP server for backup. // The maximum number of characters allowed in this field is 248, including the terminating // null character. This field MUST be convertible to an OEM or ANSI character string. BackupPath string `idl:"name:BackupPath" json:"backup_path"` // BackupInterval: This is of type DWORD, containing the interval (specified in minutes) // between backups of the current DHCP server database. BackupInterval uint32 `idl:"name:BackupInterval" json:"backup_interval"` // DatabaseLoggingFlag: This is of type DWORD (used as a BOOL flag), indicating the // transaction logging mode of the DHCP server. The value 1 indicates that transaction // logging mode is enabled for the DHCP server, and zero indicates that transaction // logging mode is disabled for the DHCP server. DatabaseLoggingFlag uint32 `idl:"name:DatabaseLoggingFlag" json:"database_logging_flag"` // RestoreFlag: This is of type DWORD (used as a BOOL flag), and if this setting is // TRUE, the DHCP server loads the DHCP server database from the backup database on // DHCP server startup. The default value of this flag is FALSE. RestoreFlag uint32 `idl:"name:RestoreFlag" json:"restore_flag"` // DatabaseCleanupInterval: This is of type DWORD and specifies the maximum time interval // in minutes that DOOMED IPv4 DHCP client lease records can persist before being deleted // from the DHCP server database. DatabaseCleanupInterval uint32 `idl:"name:DatabaseCleanupInterval" json:"database_cleanup_interval"` // DebugFlag: A flag that specifies the level of logging done by the DHCP server. The // following table defines the set values that can be used. Specifying 0xFFFFFFFF enables // all types of logging. // // LOW WORD bitmask (0x0000FFFF) for low-frequency debug output. // // +-----------------------------+----------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +-----------------------------+----------------------------------------------------------------------+ // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_ADDRESS 0x00000001 | Enable IP address-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_CLIENT 0x00000002 | Enable DHCP-client-API-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_PARAMETERS 0x00000004 | Enable DHCP-server-parameters-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_OPTIONS 0x00000008 | Enable DHCP-options-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_ERRORS 0x00000010 | Enable DHCP-errors-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_STOC 0x00000020 | Enable DHCPv4 and DCHPv6-protocol-errors-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_INIT 0x00000040 | Enable DHCP-server-initialization-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_SCAVENGER 0x00000080 | Enable scavenger's-error-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_TIMESTAMP 0x00000100 | Enable timing-errors-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_APIS 0x00000200 | Enable DHCP-APIs-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_REGISTRY 0x00000400 | Enable the logging of errors caused by registry setting operations. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_JET 0x00000800 | Enable the logging of the DHCP server database errors. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_THREADPOOL 0x00001000 | Enable the logging related to executing thread pool operations. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_AUDITLOG 0x00002000 | Enable the logging related to errors caused by audit log operations. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_QUARANTINE 0x00004000 | Enable the logging of errors caused by quarantine errors. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_MISC 0x00008000 | Enable the logging caused by miscellaneous errors. | // +-----------------------------+----------------------------------------------------------------------+ // // HIGH WORD bitmask (0xFFFF0000) for high-frequency debug output, that is, more verbose. // // +------------------------------+-------------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +------------------------------+-------------------------------------------------------------------------+ // +------------------------------+-------------------------------------------------------------------------+ // | DEBUG_MESSAGE 0x00010000 | Enable the logging related to debug messages. | // +------------------------------+-------------------------------------------------------------------------+ // | DEBUG_API_VERBOSE 0x00020000 | Enable the logging related to DHCP API verbose errors. | // +------------------------------+-------------------------------------------------------------------------+ // | DEBUG_DNS 0x00040000 | Enable the logging related to Domain Name System (DNS) messages. | // +------------------------------+-------------------------------------------------------------------------+ // | DEBUG_MSTOC 0x00080000 | Enable the logging related to multicast protocol layer errors. | // +------------------------------+-------------------------------------------------------------------------+ // | DEBUG_TRACK 0x00100000 | Enable the logging tracking specific problems. | // +------------------------------+-------------------------------------------------------------------------+ // | DEBUG_ROGUE 0x00200000 | Enable the logging related to a rogue DHCP server. | // +------------------------------+-------------------------------------------------------------------------+ // | DEBUG_PNP 0x00400000 | Enable the logging related to PNP interface errors. | // +------------------------------+-------------------------------------------------------------------------+ // | DEBUG_PERF 0x01000000 | Enable the logging of performance-related messages. | // +------------------------------+-------------------------------------------------------------------------+ // | DEBUG_ALLOC 0x02000000 | Enable the logging of messages related to allocation and de-allocation. | // +------------------------------+-------------------------------------------------------------------------+ // | DEBUG_PING 0x04000000 | Enable the logging of synchronous-ping-related messages. | // +------------------------------+-------------------------------------------------------------------------+ // | DEBUG_THREAD 0x08000000 | Enable the logging of thread-related messages. | // +------------------------------+-------------------------------------------------------------------------+ // | DEBUG_TRACE 0x10000000 | Enable the logging for tracing through code messages. | // +------------------------------+-------------------------------------------------------------------------+ // | DEBUG_TRACE_CALLS 0x20000000 | Enable the logging for tracing through piles of code. | // +------------------------------+-------------------------------------------------------------------------+ // | DEBUG_STARTUP_BRK 0x40000000 | Enable the logging related to debugger break during setup messages. | // +------------------------------+-------------------------------------------------------------------------+ // | DEBUG_LOG_IN_FILE 0x80000000 | Enable the logging of debug output in a file. | // +------------------------------+-------------------------------------------------------------------------+ DebugFlag uint32 `idl:"name:DebugFlag" json:"debug_flag"` }
ServerConfigInfo structure represents DHCP_SERVER_CONFIG_INFO RPC structure.
The DHCP_SERVER_CONFIG_INFO structure contains settings for the DHCP server. This structure is used in the R_DhcpServerSetConfig (section 3.1.4.26) method.
func (*ServerConfigInfo) MarshalNDR ¶
func (*ServerConfigInfo) UnmarshalNDR ¶
type ServerConfigInfoV4 ¶
type ServerConfigInfoV4 struct { // APIProtocolSupport: This is of type DWORD, defining the type of RPC protocol used // by the DHCP server to register with RPC. Following is the set of supported types, // which can be bitwise OR'd to produce valid values. The following type MUST be supported. // // +-------------------------------------------+---------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +-------------------------------------------+---------------------------------------------------------------+ // +-------------------------------------------+---------------------------------------------------------------+ // | DHCP_SERVER_USE_RPC_OVER_TCPIP 0x00000001 | RPC protocol over TCP is used by the DHCP server to register. | // +-------------------------------------------+---------------------------------------------------------------+ // // The following types MAY<13> be supported. // // +-----------------------------------------+-----------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +-----------------------------------------+-----------------------------------------------------------------------+ // +-----------------------------------------+-----------------------------------------------------------------------+ // | DHCP_SERVER_USE_RPC_OVER_NP 0x00000002 | RPC protocol over named pipes is used by the DHCP server to register. | // +-----------------------------------------+-----------------------------------------------------------------------+ // | DHCP_SERVER_USE_RPC_OVER_LPC 0x00000004 | RPC protocol over LPC is used by the DHCP server to register. | // +-----------------------------------------+-----------------------------------------------------------------------+ // | DHCP_SERVER_USE_RPC_OVER_ALL 0x00000007 | The DHCP server supports all the preceding protocols. | // +-----------------------------------------+-----------------------------------------------------------------------+ APIProtocolSupport uint32 `idl:"name:APIProtocolSupport" json:"api_protocol_support"` // DatabaseName: A pointer of type LPWSTR to a null-terminated Unicode string that // represents the DHCP server database name that is used by the DHCP server for persistent // storage. There is no restriction on the length of this Unicode string. This field // MUST be convertible to an OEM or ANSI character string. DatabaseName string `idl:"name:DatabaseName" json:"database_name"` // DatabasePath: A pointer of type LPWSTR to a null-terminated Unicode string that // contains the absolute path, where the DHCP server database is stored. The maximum // number of characters allowed in this field is 248, including the terminating null // character. This field MUST be convertible to an OEM or ANSI character string. DatabasePath string `idl:"name:DatabasePath" json:"database_path"` // BackupPath: A pointer of type LPWSTR to a null-terminated Unicode string that contains // the absolute path for backup storage that is used by the DHCP server for backup. // The maximum number of characters allowed in this field is 248, including the terminating // null character. This field MUST be convertible to an OEM or ANSI character string. BackupPath string `idl:"name:BackupPath" json:"backup_path"` // BackupInterval: This is of type DWORD, specifying the interval in minutes between // backups of the DHCP server database. BackupInterval uint32 `idl:"name:BackupInterval" json:"backup_interval"` // DatabaseLoggingFlag: This is of type DWORD (used as a BOOL flag), indicating the // transaction logging mode of the DHCP server. The value 1 indicates that the transaction // log is enabled for the DHCP server, and zero indicates that the transaction log is // disabled for the DHCP server. DatabaseLoggingFlag uint32 `idl:"name:DatabaseLoggingFlag" json:"database_logging_flag"` // RestoreFlag: This is of type DWORD (used as a BOOL flag), and if this setting is // TRUE, the DHCP server loads the DHCP database from the backup database on DHCP server // startup. The default value of this flag is FALSE. RestoreFlag uint32 `idl:"name:RestoreFlag" json:"restore_flag"` // DatabaseCleanupInterval: This is of type DWORD and specifies the maximum time interval, // in minutes, for which DOOMED IPv4 DHCP client records are allowed to persist within // the DHCP server database. DatabaseCleanupInterval uint32 `idl:"name:DatabaseCleanupInterval" json:"database_cleanup_interval"` // DebugFlag: A flag that specifies the level of logging done by the DHCP server. The // following table defines the set values that can be used. Specifying 0xFFFFFFFF enables // all types of logging. // // LOW WORD bitmask (0x0000FFFF) for low-frequency debug output. // // +-----------------------------+----------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +-----------------------------+----------------------------------------------------------------------+ // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_ADDRESS 0x00000001 | Enable IP-address-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_CLIENT 0x00000002 | Enable DHCP-client-API-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_PARAMETERS 0x00000004 | Enable DHCP-server-parameters-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_OPTIONS 0x00000008 | Enable DHCP-options-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_ERRORS 0x00000010 | Enable DHCP-errors-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_STOC 0x00000020 | Enable DHCPv4 and DCHPv6-protocol-errors-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_INIT 0x00000040 | Enable DHCP-server-initialization-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_SCAVENGER 0x00000080 | Enable scavenger's-error-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_TIMESTAMP 0x00000100 | Enable timing-errors-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_APIS 0x00000200 | Enable DHCP-APIs-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_REGISTRY 0x00000400 | Enable the logging of errors caused by registry setting operations. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_JET 0x00000800 | Enable the logging of the DHCP server database errors. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_THREADPOOL 0x00001000 | Enable the logging related to executing thread pool operations. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_AUDITLOG 0x00002000 | Enable the logging related to errors caused by audit log operations. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_QUARANTINE 0x00004000 | Enable the logging of errors caused by quarantine errors. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_MISC 0x00008000 | Enable the logging caused by miscellaneous errors. | // +-----------------------------+----------------------------------------------------------------------+ // // HIGH WORD bitmask (0xFFFF0000) for high-frequency debug output, that is, more verbose. // // +------------------------------+-----------------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +------------------------------+-----------------------------------------------------------------------------+ // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_MESSAGE 0x00010000 | Enable the logging related to debug messages. | // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_API_VERBOSE 0x00020000 | Enable the logging related to DHCP API verbose errors. | // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_DNS 0x00040000 | Enable the logging related to DNS messages. | // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_MSTOC 0x00080000 | Enable the logging related to multicast protocol layer errors. | // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_TRACK 0x00100000 | Enable the logging tracking specific problems. | // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_ROGUE 0x00200000 | Enable the logging related to a rogue DHCP server. | // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_PNP 0x00400000 | Enable the logging related to PNP interface errors. | // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_PERF 0x01000000 | Enable the logging of performance-related messages. | // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_ALLOC 0x02000000 | Enable the logging of allocation-related and deallocation-related messages. | // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_PING 0x04000000 | Enable the logging of synchronous ping–related messages. | // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_THREAD 0x08000000 | Enable the logging of thread-related messages. | // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_TRACE 0x10000000 | Enable the logging for tracing through code messages. | // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_TRACE_CALLS 0x20000000 | Enable the logging for tracing through piles of code. | // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_STARTUP_BRK 0x40000000 | Enable the logging related to debugger break during setup messages. | // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_LOG_IN_FILE 0x80000000 | Enable the logging of debug output in a file. | // +------------------------------+-----------------------------------------------------------------------------+ DebugFlag uint32 `idl:"name:DebugFlag" json:"debug_flag"` // dwPingRetries: This is of type DWORD, specifying the number of retries that the // DHCP server can make to verify whether a specific address is already in use by any // client by issuing a ping before issuing any address to the DHCP client (valid range: // 0–5, inclusive). PingRetries uint32 `idl:"name:dwPingRetries" json:"ping_retries"` // cbBootTableString: This is of type DWORD, containing the size of the BOOT TABLE // given to the DHCP client. The maximum value of this field is 1048576. BootTableStringLength uint32 `idl:"name:cbBootTableString" json:"boot_table_string_length"` // wszBootTableString: A pointer of type WCHAR* to a null-terminated Unicode string // that contains the absolute path of the BOOTP TABLE given to the BOOTP client. The // size of this string is limited to 1 MB. BootTableString string `idl:"name:wszBootTableString;size_is:(cbBootTableString)" json:"boot_table_string"` // fAuditLog: This is a BOOL that represents whether an audit log needs to be written // by the DHCP server. The value of this member defaults to TRUE, which indicates that // the server writes an audit log. AuditLog bool `idl:"name:fAuditLog" json:"audit_log"` }
ServerConfigInfoV4 structure represents DHCP_SERVER_CONFIG_INFO_V4 RPC structure.
The DHCP_SERVER_CONFIG_INFO_V4 structure defines DHCP server settings. This structure is an extension of DHCP_SERVER_CONFIG_INFO (section 2.2.1.2.53) structure and used in the R_DhcpServerSetConfigV4 (section 3.1.4.40) method.
func (*ServerConfigInfoV4) MarshalNDR ¶
func (*ServerConfigInfoV4) UnmarshalNDR ¶
type ServerConfigInfoV6 ¶
type ServerConfigInfoV6 struct { // UnicastFlag: This is of type BOOL, specifying whether the DHCPv6 client is allowed // to send unicast messages [RFC3315] to the server. UnicastFlag bool `idl:"name:UnicastFlag" json:"unicast_flag"` // RapidCommitFlag: This is of type BOOL, specifying that server is to skip the AR // of the SARR [RFC3315] sequence in leasing a DHCPv6 client. RapidCommitFlag bool `idl:"name:RapidCommitFlag" json:"rapid_commit_flag"` // PreferredLifetime: This is of type DWORD, specifying the preferred lifetime in seconds // for IANA addresses. [RFC3315] PreferredLifetime uint32 `idl:"name:PreferredLifetime" json:"preferred_lifetime"` // ValidLifetime: This is of type DWORD, specifying the valid lifetime in seconds for // IANA addresses. [RFC3315] ValidLifetime uint32 `idl:"name:ValidLifetime" json:"valid_lifetime"` // T1: This is of type DWORD, specifying the value for time T1 in seconds. [RFC3315] T1 uint32 `idl:"name:T1" json:"t1"` // T2: This is of type DWORD, specifying value for time T2 in seconds. [RFC3315] T2 uint32 `idl:"name:T2" json:"t2"` // PreferredLifetimeIATA: This is of type DWORD. Currently this is not implemented // and if used in setting the value through the method with any value, the method will // return ERROR_SUCCESS without any processing. If used in a method to retrieve, the // value returned is 86400 (1 day).<15> PreferredLifetimeIATA uint32 `idl:"name:PreferredLifetimeIATA" json:"preferred_lifetime_iata"` // ValidLifetimeIATA: This is of type DWORD. Currently this is not implemented and // if used in setting the value through the method with any value, the method will return // ERROR_SUCCESS without any processing. If used in a method to retrieve, the value // returned is 259200 (3 days).<16> ValidLifetimeIATA uint32 `idl:"name:ValidLifetimeIATA" json:"valid_lifetime_iata"` // fAuditLog: This is of type BOOL, specifying whether audit logs are enabled or disabled. // The field defaults to true to indicate that the audit logs are enabled. AuditLog bool `idl:"name:fAuditLog" json:"audit_log"` }
ServerConfigInfoV6 structure represents DHCP_SERVER_CONFIG_INFO_V6 RPC structure.
The DHCP_SERVER_CONFIG_INFO_V6 structure defines the settings for the DHCPv6 server. This structure is used in the R_DhcpServerSetConfigV6 (section 3.2.4.66) method.
func (*ServerConfigInfoV6) MarshalNDR ¶
func (*ServerConfigInfoV6) UnmarshalNDR ¶
type ServerConfigInfoVQ ¶
type ServerConfigInfoVQ struct { // APIProtocolSupport: This is of type DWORD, defining the type of RPC protocol used // by the DHCP server to register with RPC. The following type MUST be supported. // // +-------------------------------------------+---------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +-------------------------------------------+---------------------------------------------------------------+ // +-------------------------------------------+---------------------------------------------------------------+ // | DHCP_SERVER_USE_RPC_OVER_TCPIP 0x00000001 | RPC protocol over TCP is used by the DHCP server to register. | // +-------------------------------------------+---------------------------------------------------------------+ // // The following types MAY<14> be supported. // // +-----------------------------------------+-----------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +-----------------------------------------+-----------------------------------------------------------------------+ // +-----------------------------------------+-----------------------------------------------------------------------+ // | DHCP_SERVER_USE_RPC_OVER_NP 0x00000002 | RPC protocol over named pipes is used by the DHCP server to register. | // +-----------------------------------------+-----------------------------------------------------------------------+ // | DHCP_SERVER_USE_RPC_OVER_LPC 0x00000004 | RPC protocol over LPC is used by the DHCP server to register. | // +-----------------------------------------+-----------------------------------------------------------------------+ // | DHCP_SERVER_USE_RPC_OVER_ALL 0x00000007 | The DHCP server supports all of the preceding protocols. | // +-----------------------------------------+-----------------------------------------------------------------------+ APIProtocolSupport uint32 `idl:"name:APIProtocolSupport" json:"api_protocol_support"` // DatabaseName: A pointer of type LPWSTR to a null-terminated Unicode string that represents // the database name that is used by the DHCP server for persistent storage. There is // no restriction on the length of this Unicode string. This field MUST be convertible // to an OEM or ANSI character string. DatabaseName string `idl:"name:DatabaseName" json:"database_name"` // DatabasePath: A pointer of type LPWSTR to a null-terminated Unicode string that contains // the absolute path where the DHCP server database is stored. The maximum number of // characters allowed in this field is 248, including the terminating null character. // This field MUST be convertible to an OEM or ANSI character string. DatabasePath string `idl:"name:DatabasePath" json:"database_path"` // BackupPath: A pointer of type LPWSTR to a null-terminated Unicode string that contains // the absolute path for the storage that is used by the DHCP server for backup. The // maximum number of characters allowed in this field is 248, including the terminating // null character. This field MUST be convertible to an OEM or ANSI character string. BackupPath string `idl:"name:BackupPath" json:"backup_path"` // BackupInterval: This is of type DWORD, containing the interval in minutes between // backups of the DHCP server database. BackupInterval uint32 `idl:"name:BackupInterval" json:"backup_interval"` // DatabaseLoggingFlag: This is of type DWORD (used as a BOOL flag), indicating the // transaction logging mode of the DHCP server. The value 1 indicates that transaction // logging mode is enabled for the DHCP server, and zero indicates that transaction // logging mode is disabled for the DHCP server. DatabaseLoggingFlag uint32 `idl:"name:DatabaseLoggingFlag" json:"database_logging_flag"` // RestoreFlag: This is of type DWORD (used as a BOOL flag), and if this setting is // TRUE, the DHCP server loads the DHCP database from the backup database on DHCP server // startup. The default value of this flag is FALSE. RestoreFlag uint32 `idl:"name:RestoreFlag" json:"restore_flag"` // DatabaseCleanupInterval: This is of type DWORD, and it specifies the time interval // in minutes over which the scavenger deletes the DOOMED IPv4 DHCP client lease records // from the DHCP server database. DatabaseCleanupInterval uint32 `idl:"name:DatabaseCleanupInterval" json:"database_cleanup_interval"` // DebugFlag: A flag that specifies the level of logging done by the DHCP server. The // following table defines the set values that can be used. Specifying 0xFFFFFFFF enables // all types of logging. // // LOW WORD bitmask (0x0000FFFF) for low-frequency debug output. // // +-----------------------------+----------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +-----------------------------+----------------------------------------------------------------------+ // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_ADDRESS 0x00000001 | Enable IP-address-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_CLIENT 0x00000002 | Enable DHCP-client-API-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_PARAMETERS 0x00000004 | Enable DHCP-server-parameters-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_OPTIONS 0x00000008 | Enable DHCP-options-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_ERRORS 0x00000010 | Enable DHCP-errors-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_STOC 0x00000020 | Enable DHCPv4 and DCHPv6-protocol-errors-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_INIT 0x00000040 | Enable DHCP-server-initialization-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_SCAVENGER 0x00000080 | Enable scavenger's-error-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_TIMESTAMP 0x00000100 | Enable timing-errors-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_APIS 0x00000200 | Enable DHCP-APIs-related logging. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_REGISTRY 0x00000400 | Enable the logging of errors caused by registry setting operations. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_JET 0x00000800 | Enable the logging of the DHCP server database errors. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_THREADPOOL 0x00001000 | Enable the logging related to executing thread pool operations. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_AUDITLOG 0x00002000 | Enable the logging related to errors caused by audit log operations. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_QUARANTINE 0x00004000 | Enable the logging of errors caused by quarantine errors. | // +-----------------------------+----------------------------------------------------------------------+ // | DEBUG_MISC 0x00008000 | Enable the logging caused by miscellaneous errors. | // +-----------------------------+----------------------------------------------------------------------+ // // HIGH WORD bitmask (0xFFFF0000) for high-frequency debug output, that is, more verbose. // // +------------------------------+-----------------------------------------------------------------------------+ // | | | // | VALUE | MEANING | // | | | // +------------------------------+-----------------------------------------------------------------------------+ // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_MESSAGE 0x00010000 | Enable the logging related to debug messages. | // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_API_VERBOSE 0x00020000 | Enable the logging related to DHCP API verbose errors. | // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_DNS 0x00040000 | Enable the logging related to DNS messages. | // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_MSTOC 0x00080000 | Enable the logging related to multicast protocol layer errors. | // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_TRACK 0x00100000 | Enable the logging tracking specific problems. | // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_ROGUE 0x00200000 | Enable the logging related to a ROGUE DHCP server. | // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_PNP 0x00400000 | Enable the logging related to PNP interface errors. | // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_PERF 0x01000000 | Enable the logging of performance-related messages. | // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_ALLOC 0x02000000 | Enable the logging of allocation-related and deallocation-related messages. | // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_PING 0x04000000 | Enable the logging of synchronous ping–related messages. | // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_THREAD 0x08000000 | Enable the logging of thread-related messages. | // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_TRACE 0x10000000 | Enable the logging for tracing through code messages. | // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_TRACE_CALLS 0x20000000 | Enable the logging for tracing through piles of code. | // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_STARTUP_BRK 0x40000000 | Enable the logging related to debugger break during setup messages. | // +------------------------------+-----------------------------------------------------------------------------+ // | DEBUG_LOG_IN_FILE 0x80000000 | Enable the logging of debug output in a file. | // +------------------------------+-----------------------------------------------------------------------------+ DebugFlag uint32 `idl:"name:DebugFlag" json:"debug_flag"` // dwPingRetries: This is of type DWORD, specifying the number of retries that the DHCP // server can verify whether a specific address is already in use by any client by issuing // a ping before issuing any address to DHCP client (valid range: 0–5, inclusive). PingRetries uint32 `idl:"name:dwPingRetries" json:"ping_retries"` // cbBootTableString: This is of type DWORD, containing the size of the BOOT TABLE given // to the DHCP client. The maximum value of this field is 1048576. BootTableStringLength uint32 `idl:"name:cbBootTableString" json:"boot_table_string_length"` // wszBootTableString: A pointer of type WCHAR* to a null-terminated Unicode string // that contains the absolute path of the BOOT TABLE given to the DHCP client. The size // of this string is limited to 1 MB. BootTableString string `idl:"name:wszBootTableString;size_is:(cbBootTableString)" json:"boot_table_string"` // fAuditLog: This is of type BOOL, representing whether an audit log needs to be written // by the DHCP server. This member defaults to a value of TRUE, which indicates that // the DHCP server writes an audit log. AuditLog bool `idl:"name:fAuditLog" json:"audit_log"` // QuarantineOn: This is of type BOOL (a global flag), indicating whether quarantine // is on/off on the DHCP server. This member defaults to a value of FALSE, which indicates // that quarantine is off on the DHCP server. QuarantineOn bool `idl:"name:QuarantineOn" json:"quarantine_on"` // QuarDefFail: This is of type DWORD and determines the default policy for a DHCP NAP // server when an NPS server is not reachable. The range of permissible values is a // subset of those described in QuarantineStatus (section 2.2.1.1.11). Valid values // are NOQUARANTINE, RESTRICTEDACCESS, and DROPPACKET. This member defaults to a value // of NOQUARANTINE. QuarantineDefaultFail uint32 `idl:"name:QuarDefFail" json:"quarantine_default_fail"` // QuarRuntimeStatus: This flag determines whether NAP is enabled on the DHCP server // (Scope). QuarantineRuntimeStatus bool `idl:"name:QuarRuntimeStatus" json:"quarantine_runtime_status"` }
ServerConfigInfoVQ structure represents DHCP_SERVER_CONFIG_INFO_VQ RPC structure.
The DHCP_SERVER_CONFIG_INFO_VQ structure defines settings for the DHCP server. This structure is an extension of the DHCP_SERVER_CONFIG_INFO_V4 (section 2.2.1.2.54) structure and is used in the R_DhcpServerSetConfigVQ (section 3.1.4.42) method.
func (*ServerConfigInfoVQ) MarshalNDR ¶
func (*ServerConfigInfoVQ) UnmarshalNDR ¶
type ServerSpecificStrings ¶
type ServerSpecificStrings struct { // DefaultVendorClassName: A pointer, of type LPWSTR, to a null-terminated Unicode // string that contains the name of the default vendor class. The maximum number of // characters allowed in this string is 255, which includes the terminating null character. DefaultVendorClassName string `idl:"name:DefaultVendorClassName" json:"default_vendor_class_name"` // DefaultUserClassName: A pointer, of type LPWSTR, to a null-terminated Unicode string // that contains the name of the default user class. The maximum number of characters // allowed in this string is 255, which includes the terminating null character. DefaultUserClassName string `idl:"name:DefaultUserClassName" json:"default_user_class_name"` }
ServerSpecificStrings structure represents DHCP_SERVER_SPECIFIC_STRINGS RPC structure.
The DHCP_SERVER_SPECIFIC_STRINGS structure defines the names of the default user class and vendor class.
func (*ServerSpecificStrings) MarshalNDR ¶
func (*ServerSpecificStrings) UnmarshalNDR ¶
type StatelessParamsV6 ¶
type StatelessParamsV6 struct { // Status: This member indicates whether a stateless client inventory needs to be maintained // by the DHCPv6 server. The value of this member defaults to FALSE, indicating that // the server does not need to maintain a stateless client inventory. Status bool `idl:"name:Status" json:"status"` // PurgeInterval: This member specifies the maximum time interval, in hours, that stateless // IPv6 DHCP client lease records will persist before being deleted from the DHCP server // database. PurgeInterval uint32 `idl:"name:PurgeInterval" json:"purge_interval"` }
StatelessParamsV6 structure represents DHCPV6_STATELESS_PARAMS RPC structure.
The DHCPV6_STATELESS_PARAMS structure contains stateless settings for a DHCPv6 server. This structure is used with the R_DhcpV6SetStatelessStoreParams (section 3.2.4.117) and R_DhcpV6GetStatelessStoreParams (section 3.2.4.118) methods.
func (*StatelessParamsV6) MarshalNDR ¶
func (*StatelessParamsV6) UnmarshalNDR ¶
type StatelessScopeStatsV6 ¶
type StatelessScopeStatsV6 struct { // SubnetAddress: The IPv6 prefix for the scope. SubnetAddress *IPv6Address `idl:"name:SubnetAddress" json:"subnet_address"` // NumStatelessClientsAdded: The number of IPv6 stateless clients that have been added // to the DHCPv6 stateless client inventory for the IPv6 prefix stored in SubnetAddress. StatelessClientsAddedLength uint64 `idl:"name:NumStatelessClientsAdded" json:"stateless_clients_added_length"` // NumStatelessClientsRemoved: The number of IPv6 stateless clients that have been // removed from the DHCPv6 stateless client inventory for the IPv6 prefix stored in // SubnetAddress. StatelessClientsRemovedLength uint64 `idl:"name:NumStatelessClientsRemoved" json:"stateless_clients_removed_length"` }
StatelessScopeStatsV6 structure represents DHCPV6_STATELESS_SCOPE_STATS RPC structure.
The DHCPV6_STATELESS_SCOPE_STATS structure contains the address counters for a specific IPv6 stateless subnet. The number of stateless IPv6 clients added and removed from the stateless client inventory is stored in this structure. This structure is used in the DHCPV6_STATELESS_STATS (section 2.2.1.2.114) structure.
func (*StatelessScopeStatsV6) MarshalNDR ¶
func (*StatelessScopeStatsV6) UnmarshalNDR ¶
type StatelessStatsV6 ¶
type StatelessStatsV6 struct { // NumScopes: The number of elements in the ScopeStats member. ScopesLength uint32 `idl:"name:NumScopes" json:"scopes_length"` // ScopeStats: A pointer to an array of DHCPV6_STATELESS_SCOPE_STATS (section 2.2.1.2.113) // structures, each one representing an IPv6 stateless prefix serviced by the current // DHCPv6 server. ScopeStats []*StatelessScopeStatsV6 `idl:"name:ScopeStats;size_is:(NumScopes)" json:"scope_stats"` }
StatelessStatsV6 structure represents DHCPV6_STATELESS_STATS RPC structure.
The DHCPV6_STATELESS_STATS structure represents an array of DHCPV6_STATELESS_SCOPE_STATS (section 2.2.1.2.113) structures. This structure is used with the R_DhcpV6GetStatelessStatistics (section 3.2.4.119) method. The server uses this array for statistical analysis.
func (*StatelessStatsV6) MarshalNDR ¶
func (*StatelessStatsV6) UnmarshalNDR ¶
type SubnetElementData ¶
type SubnetElementData struct { // ElementType: This is of type DHCP_SUBNET_ELEMENT_TYPE (section 2.2.1.1.7) enumeration, // defining the set of possible subnet element types. This value defines which of the // values is chosen from the subsequent union Element member. ElementType SubnetElementType `idl:"name:ElementType" json:"element_type"` // Element: Element is a union of subnet elements. The value of the union is dependent // on the previous field the ElementType member. Element *SubnetElementData_Element `idl:"name:Element;switch_is:(((ElementType 7 <=) (5 ElementType <=) &&) 0 ElementType ?:)" json:"element"` }
SubnetElementData structure represents DHCP_SUBNET_ELEMENT_DATA RPC structure.
The DHCP_SUBNET_ELEMENT_DATA structure defines the elements of an IPv4 reservation, IPv4 exclusion range, or IPv4 range for the subnet. This structure is used in methods R_DhcpAddSubnetElement (section 3.1.4.5) and R_DhcpRemoveSubnetElement (section 3.1.4.7).
func (*SubnetElementData) MarshalNDR ¶
func (*SubnetElementData) UnmarshalNDR ¶
type SubnetElementDataV4 ¶
type SubnetElementDataV4 struct { // ElementType: This is of type DHCP_SUBNET_ELEMENT_TYPE (section 2.2.1.1.7) enumeration, // defining the set of possible IPv4 subnet element types. This value defines which // of the values is chosen from the subsequent union, the Element member. ElementType SubnetElementType `idl:"name:ElementType" json:"element_type"` // Element: Element is a union of different types of IPv4 subnet elements. The value // of the union is dependent on the previous field, ElementType. Element *SubnetElementDataV4_Element `idl:"name:Element;switch_is:(((ElementType 7 <=) (5 ElementType <=) &&) 0 ElementType ?:)" json:"element"` }
SubnetElementDataV4 structure represents DHCP_SUBNET_ELEMENT_DATA_V4 RPC structure.
The DHCP_SUBNET_ELEMENT_DATA_V4 structure defines the IPv4 reservation, IPv4 exclusion range, or IPv4 range elements for the subnet. This structure is an extension of the DHCP_SUBNET_ELEMENT_DATA (section 2.2.1.2.33) structure and is used in the method R_DhcpAddSubnetElementV4 (section 3.1.4.30).
func (*SubnetElementDataV4) MarshalNDR ¶
func (*SubnetElementDataV4) UnmarshalNDR ¶
type SubnetElementDataV4_Element ¶
type SubnetElementDataV4_Element struct { // Types that are assignable to Value // // *SubnetElementDataV4_IPRange // *SubnetElementDataV4_SecondaryHost // *SubnetElementDataV4_ReservedIP // *SubnetElementDataV4_ExcludeIPRange // *SubnetElementDataV4_IPUsedCluster Value is_SubnetElementDataV4_Element `json:"value"` }
SubnetElementDataV4_Element structure represents DHCP_SUBNET_ELEMENT_DATA_V4 union anonymous member.
The DHCP_SUBNET_ELEMENT_DATA_V4 structure defines the IPv4 reservation, IPv4 exclusion range, or IPv4 range elements for the subnet. This structure is an extension of the DHCP_SUBNET_ELEMENT_DATA (section 2.2.1.2.33) structure and is used in the method R_DhcpAddSubnetElementV4 (section 3.1.4.30).
func (*SubnetElementDataV4_Element) GetValue ¶
func (o *SubnetElementDataV4_Element) GetValue() any
func (*SubnetElementDataV4_Element) MarshalUnionNDR ¶
func (*SubnetElementDataV4_Element) NDRSwitchValue ¶
func (o *SubnetElementDataV4_Element) NDRSwitchValue(sw uint16) uint16
func (*SubnetElementDataV4_Element) UnmarshalUnionNDR ¶
type SubnetElementDataV4_ExcludeIPRange ¶
type SubnetElementDataV4_ExcludeIPRange struct { // ExcludeIpRange: This is of type DHCP_IP_RANGE structure, containing the IPv4 exclusion // range. ExcludeIPRange *IPRange `idl:"name:ExcludeIpRange" json:"exclude_ip_range"` }
SubnetElementDataV4_ExcludeIPRange structure represents SubnetElementDataV4_Element RPC union arm.
It has following labels: 3
func (*SubnetElementDataV4_ExcludeIPRange) MarshalNDR ¶
func (*SubnetElementDataV4_ExcludeIPRange) UnmarshalNDR ¶
type SubnetElementDataV4_IPRange ¶
type SubnetElementDataV4_IPRange struct { // IpRange: This is of type DHCP_IP_RANGE (section 2.2.1.2.31) structure, containing // the IPv4 range for the IPv4 subnet. This contains the range for the following valid // enumeration values. // // +--------------------------+----------------------------------------------------------------------------------+ // | | | // | DHCP SUBNET ELEMENT TYPE | MEANING | // | | | // +--------------------------+----------------------------------------------------------------------------------+ // +--------------------------+----------------------------------------------------------------------------------+ // | DhcpIpRanges 0 | The configuration parameter is the IP range of a DHCPv4 scope configured on the | // | | DHCPv4 server. | // +--------------------------+----------------------------------------------------------------------------------+ // | DhcpIpRangesDhcpOnly 5 | The configuration parameter is an IP range of a DHCPv4 scope configured on | // | | the DHCPv4 server that MUST be used only for assignment of addresses to DHCPv4 | // | | clients on the subnet. The IP addresses from this range MUST NOT be assigned to | // | | BOOTP clients ([RFC2132]). | // +--------------------------+----------------------------------------------------------------------------------+ // | DhcpIpRangesDhcpBootp 6 | The configuration parameter is an IP range of a DHCPv4 scope configured on the | // | | DHCPv4 server that can be used for assignment of addresses to both DHCPv4 and | // | | BOOTP. | // +--------------------------+----------------------------------------------------------------------------------+ // | DhcpIpRangesBootpOnly 7 | The configuration parameter is an IP range of a DHCPv4 scope configured on the | // | | DHCPv4 server that MUST be used only for assignment of IPv4 addresses to BOOTP | // | | clients. | // +--------------------------+----------------------------------------------------------------------------------+ IPRange *IPRange `idl:"name:IpRange" json:"ip_range"` }
SubnetElementDataV4_IPRange structure represents SubnetElementDataV4_Element RPC union arm.
It has following labels: 0
func (*SubnetElementDataV4_IPRange) MarshalNDR ¶
func (*SubnetElementDataV4_IPRange) UnmarshalNDR ¶
type SubnetElementDataV4_IPUsedCluster ¶
type SubnetElementDataV4_IPUsedCluster struct { // IpUsedCluster: This is of type DHCP_IP_CLUSTER (section 2.2.1.2.88) structure and // is not used. If the ElementType member mandates this element to be used in any method, // the method will return ERROR_INVALID_PARAMETER. IPUsedCluster *IPCluster `idl:"name:IpUsedCluster" json:"ip_used_cluster"` }
SubnetElementDataV4_IPUsedCluster structure represents SubnetElementDataV4_Element RPC union arm.
It has following labels: 4
func (*SubnetElementDataV4_IPUsedCluster) MarshalNDR ¶
func (*SubnetElementDataV4_IPUsedCluster) UnmarshalNDR ¶
type SubnetElementDataV4_ReservedIP ¶
type SubnetElementDataV4_ReservedIP struct { // ReservedIp: This is of type DHCP_IP_RESERVATION_V4 (section 2.2.1.2.32) structure, // containing the IPv4 reservation. ReservedIP *IPReservationV4 `idl:"name:ReservedIp" json:"reserved_ip"` }
SubnetElementDataV4_ReservedIP structure represents SubnetElementDataV4_Element RPC union arm.
It has following labels: 2
func (*SubnetElementDataV4_ReservedIP) MarshalNDR ¶
func (*SubnetElementDataV4_ReservedIP) UnmarshalNDR ¶
type SubnetElementDataV4_SecondaryHost ¶
type SubnetElementDataV4_SecondaryHost struct { // SecondaryHost: This is of type DHCP_HOST_INFO (section 2.2.1.2.7) structure and // is not used. If the ElementType value mandates that the SecondaryHost element is // to be used in any method, the method will return ERROR_CALL_NOT_IMPLEMENTED or ERROR_NOT_SUPPORTED, // as specified in the processing rules of methods that use the DHCP_SUBNET_ELEMENT_DATA_V4 // structure. SecondaryHost *HostInfo `idl:"name:SecondaryHost" json:"secondary_host"` }
SubnetElementDataV4_SecondaryHost structure represents SubnetElementDataV4_Element RPC union arm.
It has following labels: 1
func (*SubnetElementDataV4_SecondaryHost) MarshalNDR ¶
func (*SubnetElementDataV4_SecondaryHost) UnmarshalNDR ¶
type SubnetElementDataV5 ¶
type SubnetElementDataV5 struct { // ElementType: This is of type DHCP_SUBNET_ELEMENT_TYPE (section 2.2.1.1.7) enumeration, // defining the set of possible IPv4 subnet element types. This value defines which // of the values is chosen from the subsequent union, the Element member. ElementType SubnetElementType `idl:"name:ElementType" json:"element_type"` // Element: Element is a union of different types of IPv4 subnet elements. The value // of the union is dependent on the previous field, the ElementType member. Element *SubnetElementDataV5_Element `idl:"name:Element;switch_is:(((ElementType 7 <=) (5 ElementType <=) &&) 0 ElementType ?:)" json:"element"` }
SubnetElementDataV5 structure represents DHCP_SUBNET_ELEMENT_DATA_V5 RPC structure.
The DHCP_SUBNET_ELEMENT_DATA_V5 structure defines the element IPv4 reservation, IPv4 exclusion range, or IPv4 range for the subnet. This structure is an extension of the DHCP_SUBNET_ELEMENT_DATA_V4 (section 2.2.1.2.35) structure and is used in the R_DhcpAddSubnetElementV5 (section 3.2.4.38) method.
func (*SubnetElementDataV5) MarshalNDR ¶
func (*SubnetElementDataV5) UnmarshalNDR ¶
type SubnetElementDataV5_Element ¶
type SubnetElementDataV5_Element struct { // Types that are assignable to Value // // *SubnetElementDataV5_IPRange // *SubnetElementDataV5_SecondaryHost // *SubnetElementDataV5_ReservedIP // *SubnetElementDataV5_ExcludeIPRange // *SubnetElementDataV5_IPUsedCluster Value is_SubnetElementDataV5_Element `json:"value"` }
SubnetElementDataV5_Element structure represents DHCP_SUBNET_ELEMENT_DATA_V5 union anonymous member.
The DHCP_SUBNET_ELEMENT_DATA_V5 structure defines the element IPv4 reservation, IPv4 exclusion range, or IPv4 range for the subnet. This structure is an extension of the DHCP_SUBNET_ELEMENT_DATA_V4 (section 2.2.1.2.35) structure and is used in the R_DhcpAddSubnetElementV5 (section 3.2.4.38) method.
func (*SubnetElementDataV5_Element) GetValue ¶
func (o *SubnetElementDataV5_Element) GetValue() any
func (*SubnetElementDataV5_Element) MarshalUnionNDR ¶
func (*SubnetElementDataV5_Element) NDRSwitchValue ¶
func (o *SubnetElementDataV5_Element) NDRSwitchValue(sw uint16) uint16
func (*SubnetElementDataV5_Element) UnmarshalUnionNDR ¶
type SubnetElementDataV5_ExcludeIPRange ¶
type SubnetElementDataV5_ExcludeIPRange struct { // ExcludeIpRange: This is of type DHCP_IP_RANGE, containing the IPv4 exclusion range. ExcludeIPRange *IPRange `idl:"name:ExcludeIpRange" json:"exclude_ip_range"` }
SubnetElementDataV5_ExcludeIPRange structure represents SubnetElementDataV5_Element RPC union arm.
It has following labels: 3
func (*SubnetElementDataV5_ExcludeIPRange) MarshalNDR ¶
func (*SubnetElementDataV5_ExcludeIPRange) UnmarshalNDR ¶
type SubnetElementDataV5_IPRange ¶
type SubnetElementDataV5_IPRange struct { // IpRange: This is of type DHCP_BOOTP_IP_RANGE (section 2.2.1.2.37) structure, containing // the IPv4 range for the IPv4 subnet. This contains the range for the following valid // enumeration values. // // +--------------------------+----------------------------------------------------------------------------------+ // | | | // | DHCP SUBNET ELEMENT TYPE | MEANING | // | | | // +--------------------------+----------------------------------------------------------------------------------+ // +--------------------------+----------------------------------------------------------------------------------+ // | DhcpIpRanges 0 | The configuration parameter is the IP range of a DHCPv4 scope configured on the | // | | DHCPv4 server. | // +--------------------------+----------------------------------------------------------------------------------+ // | DhcpIpRangesDhcpOnly 5 | The configuration parameter is an IP range of a DHCPv4 scope configured on | // | | the DHCPv4 server that MUST be used only for assignment of addresses to DHCPv4 | // | | clients on the subnet. The IP addresses from this range MUST NOT be assigned to | // | | BOOTP clients ([RFC2132]). | // +--------------------------+----------------------------------------------------------------------------------+ // | DhcpIpRangesDhcpBootp 6 | The configuration parameter is an IP range of a DHCPv4 scope configured on the | // | | DHCPv4 server that can be used for assignment of addresses to both DHCPv4 and | // | | BOOTP. | // +--------------------------+----------------------------------------------------------------------------------+ // | DhcpIpRangesBootpOnly 7 | The configuration parameter is an IP range of a DHCPv4 scope configured on the | // | | DHCPv4 server that MUST be used only for assignment of IPv4 addresses to BOOTP | // | | clients. | // +--------------------------+----------------------------------------------------------------------------------+ IPRange *BOOTPIPRange `idl:"name:IpRange" json:"ip_range"` }
SubnetElementDataV5_IPRange structure represents SubnetElementDataV5_Element RPC union arm.
It has following labels: 0
func (*SubnetElementDataV5_IPRange) MarshalNDR ¶
func (*SubnetElementDataV5_IPRange) UnmarshalNDR ¶
type SubnetElementDataV5_IPUsedCluster ¶
type SubnetElementDataV5_IPUsedCluster struct { // IpUsedCluster: This is of type DHCP_IP_CLUSTER (section 2.2.1.2.88) structure and // is not used. If the ElementType member mandates this element to be used in any method, // the method will return ERROR_INVALID_PARAMETER. IPUsedCluster *IPCluster `idl:"name:IpUsedCluster" json:"ip_used_cluster"` }
SubnetElementDataV5_IPUsedCluster structure represents SubnetElementDataV5_Element RPC union arm.
It has following labels: 4
func (*SubnetElementDataV5_IPUsedCluster) MarshalNDR ¶
func (*SubnetElementDataV5_IPUsedCluster) UnmarshalNDR ¶
type SubnetElementDataV5_ReservedIP ¶
type SubnetElementDataV5_ReservedIP struct { // ReservedIp: This is of type DHCP_IP_RESERVATION_V4 (section 2.2.1.2.32) structure, // containing the IPv4 reservation. ReservedIP *IPReservationV4 `idl:"name:ReservedIp" json:"reserved_ip"` }
SubnetElementDataV5_ReservedIP structure represents SubnetElementDataV5_Element RPC union arm.
It has following labels: 2
func (*SubnetElementDataV5_ReservedIP) MarshalNDR ¶
func (*SubnetElementDataV5_ReservedIP) UnmarshalNDR ¶
type SubnetElementDataV5_SecondaryHost ¶
type SubnetElementDataV5_SecondaryHost struct { // SecondaryHost: This is of type DHCP_HOST_INFO (section 2.2.1.2.7) structure and // is not used. If the ElementType value mandates that the SecondaryHost element is // to be used in any method, the method will return ERROR_CALL_NOT_IMPLEMENTED or ERROR_NOT_SUPPORTED, // as specified in the processing rules of methods that use the DHCP_SUBNET_ELEMENT_DATA_V5 // structure. SecondaryHost *HostInfo `idl:"name:SecondaryHost" json:"secondary_host"` }
SubnetElementDataV5_SecondaryHost structure represents SubnetElementDataV5_Element RPC union arm.
It has following labels: 1
func (*SubnetElementDataV5_SecondaryHost) MarshalNDR ¶
func (*SubnetElementDataV5_SecondaryHost) UnmarshalNDR ¶
type SubnetElementDataV6 ¶
type SubnetElementDataV6 struct { // ElementType: ElementType is of type DHCP_SUBNET_ELEMENT_TYPE_V6 (section 2.2.1.1.8) // structure defining the set of possible prefix element types. This value defines which // of the values is chosen from the subsequent union the Element member. ElementType SubnetElementTypeV6 `idl:"name:ElementType" json:"element_type"` // Element: Element is a union of different types of IPv6 prefix elements. The value // of the union is dependent on the previous field the ElementType member. Element *SubnetElementDataV6_Element `idl:"name:Element;switch_is:(((ElementType 7 <=) (5 ElementType <=) &&) 0 ElementType ?:)" json:"element"` }
SubnetElementDataV6 structure represents DHCP_SUBNET_ELEMENT_DATA_V6 RPC structure.
The DHCP_SUBNET_ELEMENT_DATA_V6 structure defines the elements of the IPv6 prefix, such as IPv6 reservation, IPv6 exclusion range, or IPv6 range. This is used in the R_DhcpAddSubnetElementV6 (section 3.2.4.60) method.
func (*SubnetElementDataV6) MarshalNDR ¶
func (*SubnetElementDataV6) UnmarshalNDR ¶
type SubnetElementDataV6_Element ¶
type SubnetElementDataV6_Element struct { // Types that are assignable to Value // // *SubnetElementDataV6_IPRange // *SubnetElementDataV6_ReservedIP // *SubnetElementDataV6_ExcludeIPRange Value is_SubnetElementDataV6_Element `json:"value"` }
SubnetElementDataV6_Element structure represents DHCP_SUBNET_ELEMENT_DATA_V6 union anonymous member.
The DHCP_SUBNET_ELEMENT_DATA_V6 structure defines the elements of the IPv6 prefix, such as IPv6 reservation, IPv6 exclusion range, or IPv6 range. This is used in the R_DhcpAddSubnetElementV6 (section 3.2.4.60) method.
func (*SubnetElementDataV6_Element) GetValue ¶
func (o *SubnetElementDataV6_Element) GetValue() any
func (*SubnetElementDataV6_Element) MarshalUnionNDR ¶
func (*SubnetElementDataV6_Element) NDRSwitchValue ¶
func (o *SubnetElementDataV6_Element) NDRSwitchValue(sw uint16) uint16
func (*SubnetElementDataV6_Element) UnmarshalUnionNDR ¶
type SubnetElementDataV6_ExcludeIPRange ¶
type SubnetElementDataV6_ExcludeIPRange struct { // ExcludeIpRange: This is a pointer to a DHCP_IP_RANGE_V6 (section 2.2.1.2.59) structure // that contains information about IPv6 exclusion ranges. ExcludeIPRange *IPRangeV6 `idl:"name:ExcludeIpRange" json:"exclude_ip_range"` }
SubnetElementDataV6_ExcludeIPRange structure represents SubnetElementDataV6_Element RPC union arm.
It has following labels: 2
func (*SubnetElementDataV6_ExcludeIPRange) MarshalNDR ¶
func (*SubnetElementDataV6_ExcludeIPRange) UnmarshalNDR ¶
type SubnetElementDataV6_IPRange ¶
type SubnetElementDataV6_IPRange struct { // IpRange: This is a pointer to a DHCP_IP_RANGE_V6 (section 2.2.1.2.59) structure // that contains the IPv6 range for this IPv6 prefix. IPRange *IPRangeV6 `idl:"name:IpRange" json:"ip_range"` }
SubnetElementDataV6_IPRange structure represents SubnetElementDataV6_Element RPC union arm.
It has following labels: 0
func (*SubnetElementDataV6_IPRange) MarshalNDR ¶
func (*SubnetElementDataV6_IPRange) UnmarshalNDR ¶
type SubnetElementDataV6_ReservedIP ¶
type SubnetElementDataV6_ReservedIP struct { // ReservedIp: This is a pointer to a DHCP_IP_RESERVATION_V6 (section 2.2.1.2.58) structure // that contains the information on IPv6 reservations. ReservedIP *IPReservationV6 `idl:"name:ReservedIp" json:"reserved_ip"` }
SubnetElementDataV6_ReservedIP structure represents SubnetElementDataV6_Element RPC union arm.
It has following labels: 1
func (*SubnetElementDataV6_ReservedIP) MarshalNDR ¶
func (*SubnetElementDataV6_ReservedIP) UnmarshalNDR ¶
type SubnetElementData_Element ¶
type SubnetElementData_Element struct { // Types that are assignable to Value // // *SubnetElementData_IPRange // *SubnetElementData_SecondaryHost // *SubnetElementData_ReservedIP // *SubnetElementData_ExcludeIPRange // *SubnetElementData_IPUsedCluster Value is_SubnetElementData_Element `json:"value"` }
SubnetElementData_Element structure represents DHCP_SUBNET_ELEMENT_DATA union anonymous member.
The DHCP_SUBNET_ELEMENT_DATA structure defines the elements of an IPv4 reservation, IPv4 exclusion range, or IPv4 range for the subnet. This structure is used in methods R_DhcpAddSubnetElement (section 3.1.4.5) and R_DhcpRemoveSubnetElement (section 3.1.4.7).
func (*SubnetElementData_Element) GetValue ¶
func (o *SubnetElementData_Element) GetValue() any
func (*SubnetElementData_Element) MarshalUnionNDR ¶
func (*SubnetElementData_Element) NDRSwitchValue ¶
func (o *SubnetElementData_Element) NDRSwitchValue(sw uint16) uint16
func (*SubnetElementData_Element) UnmarshalUnionNDR ¶
type SubnetElementData_ExcludeIPRange ¶
type SubnetElementData_ExcludeIPRange struct { // ExcludeIpRange: This is of type DHCP_IP_RANGE, containing the IPv4 exclusion range. ExcludeIPRange *IPRange `idl:"name:ExcludeIpRange" json:"exclude_ip_range"` }
SubnetElementData_ExcludeIPRange structure represents SubnetElementData_Element RPC union arm.
It has following labels: 3
func (*SubnetElementData_ExcludeIPRange) MarshalNDR ¶
func (*SubnetElementData_ExcludeIPRange) UnmarshalNDR ¶
type SubnetElementData_IPRange ¶
type SubnetElementData_IPRange struct { // IpRange: This is of type DHCP_IP_RANGE (section 2.2.1.2.31), containing the IPv4 // range for the IPv4 subnet. This contains the range for the following valid enumeration // values. // // +--------------------------+----------------------------------------------------------------------------------+ // | | | // | DHCP SUBNET ELEMENT TYPE | MEANING | // | | | // +--------------------------+----------------------------------------------------------------------------------+ // +--------------------------+----------------------------------------------------------------------------------+ // | DhcpIpRanges 0 | The configuration parameter is the IP range of a DHCPv4 scope configured on the | // | | DHCP server. | // +--------------------------+----------------------------------------------------------------------------------+ // | DhcpIpRangesDhcpOnly 5 | The configuration parameter is an IP range of a DHCPv4 scope configured on the | // | | DHCP server that MUST be used only for assignment of addresses to DHCP clients | // | | on the subnet. The IP addresses from this range MUST NOT be assigned to BOOTP | // | | clients ([RFC2132]). | // +--------------------------+----------------------------------------------------------------------------------+ // | DhcpIpRangesDhcpBootp 6 | The configuration parameter is an IP range of a DHCPv4 scope configured on the | // | | DHCP server that can be used for assignment of addresses to both DHCP and BOOTP. | // +--------------------------+----------------------------------------------------------------------------------+ // | DhcpIpRangesBootpOnly 7 | The configuration parameter is an IP range of a DHCPv4 scope configured on the | // | | DHCP server that MUST be used only for assignment of IPv4 addresses to BOOTP | // | | clients. | // +--------------------------+----------------------------------------------------------------------------------+ IPRange *IPRange `idl:"name:IpRange" json:"ip_range"` }
SubnetElementData_IPRange structure represents SubnetElementData_Element RPC union arm.
It has following labels: 0
func (*SubnetElementData_IPRange) MarshalNDR ¶
func (*SubnetElementData_IPRange) UnmarshalNDR ¶
type SubnetElementData_IPUsedCluster ¶
type SubnetElementData_IPUsedCluster struct { // IpUsedCluster: This is of type DHCP_IP_CLUSTER (section 2.2.1.2.88) and is not used. // If the ElementType member mandates this element to be used in any method, the method // will return ERROR_INVALID_PARAMETER. IPUsedCluster *IPCluster `idl:"name:IpUsedCluster" json:"ip_used_cluster"` }
SubnetElementData_IPUsedCluster structure represents SubnetElementData_Element RPC union arm.
It has following labels: 4
func (*SubnetElementData_IPUsedCluster) MarshalNDR ¶
func (*SubnetElementData_IPUsedCluster) UnmarshalNDR ¶
type SubnetElementData_ReservedIP ¶
type SubnetElementData_ReservedIP struct { // ReservedIp: This is of type DHCP_IP_RESERVATION (section 2.2.1.2.10), containing // the IPv4 reservation. ReservedIP *IPReservation `idl:"name:ReservedIp" json:"reserved_ip"` }
SubnetElementData_ReservedIP structure represents SubnetElementData_Element RPC union arm.
It has following labels: 2
func (*SubnetElementData_ReservedIP) MarshalNDR ¶
func (*SubnetElementData_ReservedIP) UnmarshalNDR ¶
type SubnetElementData_SecondaryHost ¶
type SubnetElementData_SecondaryHost struct { // SecondaryHost: This is of type DHCP_HOST_INFO (section 2.2.1.2.7) and is not used. // If the ElementType value mandates that the SecondaryHost element is to be used in // any method, that method will return ERROR_CALL_NOT_IMPLEMENTED or ERROR_NOT_SUPPORTED, // as specified in the processing rules of methods that use the DHCP_SUBNET_ELEMENT_DATA // structure. SecondaryHost *HostInfo `idl:"name:SecondaryHost" json:"secondary_host"` }
SubnetElementData_SecondaryHost structure represents SubnetElementData_Element RPC union arm.
It has following labels: 1
func (*SubnetElementData_SecondaryHost) MarshalNDR ¶
func (*SubnetElementData_SecondaryHost) UnmarshalNDR ¶
type SubnetElementInfoArray ¶
type SubnetElementInfoArray struct { // NumElements: This is of type DWORD, containing the number of subnet elements in // the subsequent field the Elements member. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Elements: This is a pointer to an array of DHCP_SUBNET_ELEMENT_DATA structures of // length NumElements containing IPv4 subnet elements. Elements []*SubnetElementData `idl:"name:Elements;size_is:(NumElements)" json:"elements"` }
SubnetElementInfoArray structure represents DHCP_SUBNET_ELEMENT_INFO_ARRAY RPC structure.
The DHCP_SUBNET_ELEMENT_INFO_ARRAY structure defines an array of DHCP_SUBNET_ELEMENT_DATA (section 2.2.1.2.33) structures. The first parameter contains the number of subnet elements (IPv4 reservation, IPv4 exclusion range, and IPv4 range), and the second parameter points to the array of length NumElements containing DHCP subnet elements. This structure is used in the R_DhcpEnumSubnetElements (section 3.1.4.6) method.
func (*SubnetElementInfoArray) MarshalNDR ¶
func (*SubnetElementInfoArray) UnmarshalNDR ¶
type SubnetElementInfoArrayV4 ¶
type SubnetElementInfoArrayV4 struct { // NumElements: This is of type DWORD, containing the number of subnet elements in // the subsequent field, the Elements member. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Elements: This is a pointer to an array of DHCP_SUBNET_ELEMENT_DATA_V4 structures // of length NumElements, containing subnet elements. Elements []*SubnetElementDataV4 `idl:"name:Elements;size_is:(NumElements)" json:"elements"` }
SubnetElementInfoArrayV4 structure represents DHCP_SUBNET_ELEMENT_INFO_ARRAY_V4 RPC structure.
The DHCP_SUBNET_ELEMENT_INFO_ARRAY_V4 structure defines an array of DHCP_SUBNET_ELEMENT_DATA_V4 (section 2.2.1.2.35) structures.
This structure is used in the R_DhcpEnumSubnetElementsV4 (section 3.1.4.31) method. The first member contains the number of subnet elements (IPv4 reservation, IPv4 exclusion range, or IPv4 range), and the second member points to the array of length NumElements containing DHCPv4 subnet elements.
func (*SubnetElementInfoArrayV4) MarshalNDR ¶
func (*SubnetElementInfoArrayV4) UnmarshalNDR ¶
type SubnetElementInfoArrayV5 ¶
type SubnetElementInfoArrayV5 struct { // NumElements: This is of type DWORD, containing the number of subnet elements in // the subsequent field, the Elements member. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Elements: This is a pointer to an array of DHCP_SUBNET_ELEMENT_DATA_V5 structures // of length NumElements containing IPv4 subnet elements. Elements []*SubnetElementDataV5 `idl:"name:Elements;size_is:(NumElements)" json:"elements"` }
SubnetElementInfoArrayV5 structure represents DHCP_SUBNET_ELEMENT_INFO_ARRAY_V5 RPC structure.
The DHCP_SUBNET_ELEMENT_INFO_ARRAY_V5 structure defines an array of DHCP_SUBNET_ELEMENT_DATA_V5 (section 2.2.1.2.38) structures. The first member contains the number of subnet elements (IPv4 reservation, IPv4 exclusion range, and IPv4 range), and the second member points to the array of length NumElements containing IPv4 subnet elements. This structure is an extension of the DHCP_SUBNET_ELEMENT_INFO_ARRAY_V4 (section 2.2.1.2.36) structure and is used in the R_DhcpEnumSubnetElementsV5 (section 3.2.4.39) method.
func (*SubnetElementInfoArrayV5) MarshalNDR ¶
func (*SubnetElementInfoArrayV5) UnmarshalNDR ¶
type SubnetElementInfoArrayV6 ¶
type SubnetElementInfoArrayV6 struct { // NumElements: This is of type DWORD, containing the number of IPv6 subnet elements // in the subsequent field the Elements member. ElementsLength uint32 `idl:"name:NumElements" json:"elements_length"` // Elements: This is a pointer to an array of DHCP_SUBNET_ELEMENT_DATA_V6 (section // 2.2.1.2.60) structures of length NumElements containing IPv6 prefix elements. Elements []*SubnetElementDataV6 `idl:"name:Elements;size_is:(NumElements)" json:"elements"` }
SubnetElementInfoArrayV6 structure represents DHCP_SUBNET_ELEMENT_INFO_ARRAY_V6 RPC structure.
The DHCP_SUBNET_ELEMENT_INFO_ARRAY_V6 structure defines an array of DHCP_SUBNET_ELEMENT_DATA_V6 (section 2.2.1.2.60) structures of IPv6 prefix elements. The first member contains the number of IPv6 prefix elements (such as IPv6 reservation, IPv6 exclusion range, and IPv6 range), and the second member points to the array of length NumElements containing DHCPv6 IPv6 prefix elements. This structure is used in the R_DhcpEnumSubnetElementsV6 (section 3.2.4.61) method.
func (*SubnetElementInfoArrayV6) MarshalNDR ¶
func (*SubnetElementInfoArrayV6) UnmarshalNDR ¶
type SubnetElementType ¶
type SubnetElementType uint16
SubnetElementType type represents DHCP_SUBNET_ELEMENT_TYPE RPC enumeration.
The DHCP_SUBNET_ELEMENT_TYPE enumeration defines the type of a configuration parameter for a DHCPv4 scope configured on the DHCP server. This value is used in conjunction with other data types to specify the configuration parameters for a DHCPv4 scope by the RPC methods defined in this specification.
var ( // DhcpIpRanges: The configuration parameter is the IP range of a DHCPv4 scope configured // on the DHCP server. SubnetElementTypeIPRanges SubnetElementType = 0 // DhcpSecondaryHosts: This enumeration type is unused. If this value is passed as a // parameter to a method, it will return ERROR_CALL_NOT_IMPLEMENTED or ERROR_NOT_SUPPORTED, // as specified in the processing rules of methods that use the DHCP_SUBNET_ELEMENT_TYPE // enumeration. SubnetElementTypeSecondaryHosts SubnetElementType = 1 // DhcpReservedIps: The configuration parameter is a reservation for a DHCPv4 client // in a DHCPv4 scope element configured on the DHCP server. SubnetElementTypeReservedIPs SubnetElementType = 2 // DhcpExcludedIpRanges: The configuration parameter is the exclusion range of a DHCPv4 // scope configured on the DHCPv4 server. SubnetElementTypeExcludedIPRanges SubnetElementType = 3 // DhcpIpUsedClusters: This enumeration type is unused, and the DHCP server returns // ERROR_INVALID_PARAMETER when specified. SubnetElementTypeIPUsedClusters SubnetElementType = 4 // DhcpIpRangesDhcpOnly: The configuration parameter is an IP range of a DHCPv4 scope // configured on the DHCPv4 server, which MUST be used only for assignment of addresses // to DHCPv4 clients on the subnet. The IP addresses from this range MUST NOT be assigned // to bootstrap protocol (BOOTP) clients ([RFC2132]). SubnetElementTypeIPRangesDHCPOnly SubnetElementType = 5 // DhcpIpRangesDhcpBootp: The configuration parameter is an IP range of a DHCPv4 scope // configured on the DHCPv4 server, which can be used for assignment of addresses to // both DHCPv4 and BOOTP. SubnetElementTypeIPRangesDHCPBOOTP SubnetElementType = 6 // DhcpIpRangesBootpOnly: The configuration parameter is an IP range of a DHCPv4 scope // configured on the DHCPv4 server, which MUST be used only for assignment of IPv4 addresses // to BOOTP clients. SubnetElementTypeIPRangesBOOTPOnly SubnetElementType = 7 )
func (SubnetElementType) String ¶
func (o SubnetElementType) String() string
type SubnetElementTypeV6 ¶
type SubnetElementTypeV6 uint16
SubnetElementTypeV6 type represents DHCP_SUBNET_ELEMENT_TYPE_V6 RPC enumeration.
The DHCP_SUBNET_ELEMENT_TYPE_V6 enumeration defines the type of a configuration parameter for a DHCPv6 scope configured on the DHCP server. This value is used in conjunction with other data types to specify the configuration parameters for a DHCPv6 scope by the RPC methods defined in this specification.
var ( // Dhcpv6IpRanges: The configuration parameter is not used, and it MUST NOT be used // by an RPC method defined in this specification. If this is used in any of the methods, // the method would return ERROR_INVALID_PARAMETER, except for R_DhcpAddSubnetElementV6 // and R_DhcpRemoveSubnetElementV6, which return ERROR_SUCCESS. SubnetElementTypeV6IPRangesV6 SubnetElementTypeV6 = 0 // Dhcpv6ReservedIps: The configuration parameter is a reservation for a DHCPv6 client // in a DHCPv6 scope element configured on the DHCP server. SubnetElementTypeV6ReservedIPsV6 SubnetElementTypeV6 = 1 // Dhcpv6ExcludedIpRanges: The configuration parameter is the exclusion range of a DHCPv6 // subnet configured on the DHCPv6 server. SubnetElementTypeV6ExcludedIPRangesV6 SubnetElementTypeV6 = 2 )
func (SubnetElementTypeV6) String ¶
func (o SubnetElementTypeV6) String() string
type SubnetInfo ¶
type SubnetInfo struct { // SubnetAddress: This is of type DHCP_IP_ADDRESS (section 2.2.1.2.1), specifying the // IPv4 subnet ID. SubnetAddress uint32 `idl:"name:SubnetAddress" json:"subnet_address"` // SubnetMask: This is of type DHCP_IP_MASK (section 2.2.1.2.2), specifying the subnet // IPv4 mask. SubnetMask uint32 `idl:"name:SubnetMask" json:"subnet_mask"` // SubnetName: A pointer of type LPWSTR to a null-terminated Unicode string that points // to the name of the subnet. There is no restriction on the length of this Unicode // string. SubnetName string `idl:"name:SubnetName" json:"subnet_name"` // SubnetComment: A pointer of type LPWSTR to a null-terminated Unicode string that // points an optional comment specific to this subnet. There is no restriction on the // length of this Unicode string. SubnetComment string `idl:"name:SubnetComment" json:"subnet_comment"` // PrimaryHost: This is of type DHCP_HOST_INFO (section 2.2.1.2.7) structure, containing // information about the DHCPv4 server servicing this IPv4 subnet. PrimaryHost *HostInfo `idl:"name:PrimaryHost" json:"primary_host"` // SubnetState: This is an enumeration of type DHCP_SUBNET_STATE (section 2.2.1.1.2), // indicating the current state of this IPv4 subnet. SubnetState SubnetState `idl:"name:SubnetState" json:"subnet_state"` }
SubnetInfo structure represents DHCP_SUBNET_INFO RPC structure.
The DHCP_SUBNET_INFO structure defines the information about an IPv4 subnet. This structure is used in the R_DhcpCreateSubnet (section 3.1.4.1) method.
func (*SubnetInfo) MarshalNDR ¶
func (*SubnetInfo) UnmarshalNDR ¶
type SubnetInfoV6 ¶
type SubnetInfoV6 struct { // SubnetAddress: This is of type DHCP_IPV6_ADDRESS (section 2.2.1.2.28) structure, // specifying the IPv6 prefix. SubnetAddress *IPv6Address `idl:"name:SubnetAddress" json:"subnet_address"` // Prefix: This is of type ULONG, specifying the prefix length of the IPv6 prefix. Prefix uint32 `idl:"name:Prefix" json:"prefix"` // Preference: This is of type USHORT, specifying the preference for the IPv6 prefix // specified by SubnetAddress. Preference uint16 `idl:"name:Preference" json:"preference"` // SubnetName: A pointer, of type LPWSTR, to a null-terminated Unicode string that // contains the name of the IPv6 prefix. There is no restriction on the length of this // Unicode string. SubnetName string `idl:"name:SubnetName" json:"subnet_name"` // SubnetComment: A pointer, of type LPWSTR, to a null-terminated Unicode string that // contains an optional comment for the IPv6 prefix. There is no restriction on the // length of this Unicode string. SubnetComment string `idl:"name:SubnetComment" json:"subnet_comment"` // State: This is of type DHCP_SUBNET_STATE (section 2.2.1.1.2) enumeration that indicates // the current state of the IPv6 prefix. State uint32 `idl:"name:State" json:"state"` // ScopeId: This is of type DWORD and is the unique identifier for that IPv6 prefix. // This value is generated by the DHCPv6 server. ScopeID uint32 `idl:"name:ScopeId" json:"scope_id"` }
SubnetInfoV6 structure represents DHCP_SUBNET_INFO_V6 RPC structure.
The DHCP_SUBNET_INFO_V6 structure contains information about an IPv6 subnet. This structure is used in the R_DhcpCreateSubnetV6 (section 3.2.4.58) method.
func (*SubnetInfoV6) MarshalNDR ¶
func (*SubnetInfoV6) UnmarshalNDR ¶
type SubnetInfoVQ ¶
type SubnetInfoVQ struct { // SubnetAddress: This is of type DHCP_IP_ADDRESS (section 2.2.1.2.1), a DWORD specifying // the IPv4 subnet ID. SubnetAddress uint32 `idl:"name:SubnetAddress" json:"subnet_address"` // SubnetMask: This is of type DHCP_IP_MASK (section 2.2.1.2.2), a DWORD specifying // the IPv4 subnet mask. SubnetMask uint32 `idl:"name:SubnetMask" json:"subnet_mask"` // SubnetName: A pointer of type LPWSTR to a null-terminated Unicode string that points // to the name of this IPv4 subnet. There is no restriction on the length of this Unicode // string. SubnetName string `idl:"name:SubnetName" json:"subnet_name"` // SubnetComment: A pointer of type LPWSTR to a null-terminated Unicode string that // points to an optional comment specific to this IPv4 subnet. There is no restriction // on the length of this Unicode string. SubnetComment string `idl:"name:SubnetComment" json:"subnet_comment"` // PrimaryHost: This is of type DHCP_HOST_INFO (section 2.2.1.2.7) structure that contains // information about the DHCPv4 server servicing this IPv4 subnet. PrimaryHost *HostInfo `idl:"name:PrimaryHost" json:"primary_host"` // SubnetState: This is of type DHCP_SUBNET_STATE (section 2.2.1.1.2) enumeration that // indicates the current state of this IPv4 subnet. SubnetState SubnetState `idl:"name:SubnetState" json:"subnet_state"` // QuarantineOn: The information relating to the NAP state of this IPv4 subnet. QuarantineOn uint32 `idl:"name:QuarantineOn" json:"quarantine_on"` // contains filtered or unexported fields }
SubnetInfoVQ structure represents DHCP_SUBNET_INFO_VQ RPC structure.
The DHCP_SUBNET_INFO_VQ structure contains the information about an IPv4 subnet. This structure is an extension of the DHCP_SUBNET_INFO (section 2.2.1.2.8) structure, adding information on NAP state for the IPv4 subnet. This structure is used in the R_DhcpCreateSubnetVQ (section 3.1.4.49) method.
func (*SubnetInfoVQ) MarshalNDR ¶
func (*SubnetInfoVQ) UnmarshalNDR ¶
type SubnetState ¶
type SubnetState uint16
SubnetState type represents DHCP_SUBNET_STATE RPC enumeration.
The DHCP_SUBNET_STATE enumeration is a DWORD value that specifies the set of possible states for a subnet configured on a DHCPv4 server.
var ( // DhcpSubnetEnabled: The subnet is enabled; the DHCP server assigns IP addresses, extends // IP address leases, and releases unused IP addresses for DHCP clients on this subnet. SubnetStateEnabled SubnetState = 0 // DhcpSubnetDisabled: The subnet is disabled; the DHCP server does not assign IP addresses // or extend IP address leases for DHCP clients on this subnet. However, the DHCP server // still releases unused IP addresses for DHCP clients on this subnet. SubnetStateDisabled SubnetState = 1 // DhcpSubnetEnabledSwitched: The subnet is enabled; the DHCP server assigns IP addresses, // extends IP address leases, and releases unused IP addresses for DHCP clients on this // subnet. In addition, the default gateway for the DHCP client is set to on-link route. SubnetStateEnabledSwitched SubnetState = 2 // DhcpSubnetDisabledSwitched: The subnet is disabled; the DHCP server does not distribute // addresses or extend leases within the subnet range to clients. However, the DHCP // server still releases addresses within the subnet range. The system behavior in the // DhcpSubnetDisabledSwitched state is identical to the state described in DhcpSubnetDisabled. // Any software that uses the DHCPM API can use the DhcpSubnetDisabledSwitched state // to remember that a particular scope needs to be put into the DhcpSubnetEnabledSwitched // state when enabled. SubnetStateDisabledSwitched SubnetState = 3 // DhcpSubnetInvalidState: The subnet is not valid, and hence no address will be distributed // or extended. SubnetStateInvalidState SubnetState = 4 )
func (SubnetState) String ¶
func (o SubnetState) String() string
type SuperScopeTable ¶
type SuperScopeTable struct { // cEntries: This is of type DWORD, containing the number of superscope entries in // the subsequent field the pEntries member. EntriesCount uint32 `idl:"name:cEntries" json:"entries_count"` // pEntries: This is a pointer of type DHCP_SUPER_SCOPE_TABLE_ENTRY (section 2.2.1.2.85) // structure that points to an array of length cEntries containing superscope-specific // subnet information. Entries []*SuperScopeTableEntry `idl:"name:pEntries;size_is:(cEntries)" json:"entries"` }
SuperScopeTable structure represents DHCP_SUPER_SCOPE_TABLE RPC structure.
The DHCP_SUPER_SCOPE_TABLE structure defines an array of DHCP_SUPER_SCOPE_TABLE_ENTRY (section 2.2.1.2.85) structures. This contains information about more than one subnet within a superscope. The first member contains the number of IPv4 subnets present, and the second member points to the array of length cEntries containing all subnet information. This structure is used in the R_DhcpGetSuperScopeInfoV4 (section 3.1.4.38) method.
func (*SuperScopeTable) MarshalNDR ¶
func (*SuperScopeTable) UnmarshalNDR ¶
type SuperScopeTableEntry ¶
type SuperScopeTableEntry struct { // SubnetAddress: This is of type DHCP_IP_ADDRESS, a DWORD containing the IPv4 subnet // ID. SubnetAddress uint32 `idl:"name:SubnetAddress" json:"subnet_address"` // SuperScopeNumber: This is of type DWORD, containing the unique identifier of the // superscope. SuperScopeNumber uint32 `idl:"name:SuperScopeNumber" json:"super_scope_number"` // NextInSuperScope: This is of type DWORD, specifying the index of the next subnet // ID in the superscope. NextInSuperScope uint32 `idl:"name:NextInSuperScope" json:"next_in_super_scope"` // SuperScopeName: This is a pointer, of type LPWSTR, to a null-terminated Unicode // string that contains the superscope name. There is no restriction on the length of // this Unicode string. SuperScopeName string `idl:"name:SuperScopeName" json:"super_scope_name"` }
SuperScopeTableEntry structure represents DHCP_SUPER_SCOPE_TABLE_ENTRY RPC structure.
The DHCP_SUPER_SCOPE_TABLE_ENTRY structure defines the superscope-specific subnet information. This structure is used in the DHCP_SUPER_SCOPE_TABLE (section 2.2.1.2.86) structure.