msdnsp
import "github.com/TheManticoreProject/Manticore/windows/protocols/ms-dnsp"
Package msdnsp holds the wire structures of the DNS Server Management Protocol ([MS-DNSP]), one type per file. It contains two distinct serialization families that share the one specification:
NDR/RPC structures - the types exchanged over the DnsServer RPC interface (UUID 50abc2a4-574d-40b3-9d66-ee4fd5fba076 version 5.0). These were generated from the [MS-DNSP] Appendix A IDL and reconciled by hand against the dcerpc-interface-structure skill’s NDR rules; they are marshaled with the ndr codec and round-tripped in structures_test.go. Method stubs live under the interface tree, not here.
Packed LDAP on-directory structures - the byte-packed, mixed-endian formats that Active Directory stores in DNS attributes and that LDAP tooling reads and writes directly. These are NOT NDR: each exposes Marshal() ([]byte, error) and Unmarshal([]byte) (int, error) and is verified by its own byte-level tests, so they are intentionally outside the ndr.Marshal round-trip harness in structures_test.go. This family comprises:
- DNS_RECORD (section 2.3.2.2): the dnsRecord attribute container, with the record-data payloads DNS_RPC_RECORD_A, _AAAA, _NODE_NAME, _SOA, _SRV, _NAME_PREFERENCE and _TS, the DNS_COUNT_NAME name form (section 2.2.2.2.2), and the RecordType map (DNS_RECORD_TYPE, section 2.2.2.1.1). - DNS_PROPERTY (section 2.3.2.1): the dnsProperty attribute container, with the PropertyId map (section 2.3.2.1.1) and the ZoneType / ZoneUpdate value enumerations.
The two families do not overlap in names: the NDR DNS_RPC_RECORD (with its opaque Buffer field) is the RPC record wrapper, whereas the packed DNS_RECORD is the LDAP container and the DNS_RPC_RECORD_* types are its packed payloads. Header endianness in the packed family is little-endian except where [MS-DNSP] mandates network byte order (DNS_RECORD.TtlSeconds and the SOA/SRV/NAME_PREFERENCE numeric fields); DNS_RPC_RECORD_TS.EntombedTime is little-endian.
The following NDR spots are modeled per the spec/skill but NOT yet validated against Windows on the wire:
- DNSSRV_RPC_UNION: a switch_type(DWORD) union whose discriminant is carried inline (the Tag field) in addition to the method’s dwTypeId argument, per Manticore’s switch_is convention. Each arm is a unique pointer to its payload struct.
- ASCII vs. wide strings: [string] char* fields are modeled as *ndr.STR (UTF-8) and [string] wchar_t*/LPWSTR as *ndr.WSTR (UTF-16); the choice is per-field from the IDL.
- The [1]-sentinel enumeration lists (DNS_RPC_ENUM_ZONE_SCOPE_LIST, DNS_RPC_ENUM_SCOPE_LIST, DNS_RPC_ENUM_VIRTUALIZATION_INSTANCE_LIST, DNS_RPC_ZONE_DNSSEC_SETTINGS.pZoneSkdArray) keep the IDL’s literal [1] declarator; on the wire the server sends dwXxxCount entries.
- The DNS-record data payloads inside the NDR DNS_RPC_RECORD.Buffer remain an opaque byte blob; the packed LDAP DNS_RECORD family above is the decoded on-directory representation.
Index
- Constants
- type DNSSRV_RPC_UNION
- type DNSSRV_RRL_STATS
- type DNSSRV_STAT
- type DNSSRV_STAT_HEADER
- type DNSSRV_ZONE_QUERY_STATS
- type DNSSRV_ZONE_RRL_STATS
- type DNSSRV_ZONE_TIME_STATS
- type DNSSRV_ZONE_TRANSFER_STATS
- type DNSSRV_ZONE_UPDATE_STATS
- type DNS_ADDR
- type DNS_ADDR_ARRAY
- type DNS_COUNT_NAME
- func NewDNS_COUNT_NAME() *DNS_COUNT_NAME
- func NewDNS_COUNT_NAMEFromFQDN(fqdn string) (*DNS_COUNT_NAME, error)
- func (n *DNS_COUNT_NAME) GetFQDN() (string, error)
- func (n *DNS_COUNT_NAME) Marshal() ([]byte, error)
- func (n *DNS_COUNT_NAME) SetFQDN(fqdn string) error
- func (n *DNS_COUNT_NAME) Unmarshal(rawData []byte) (int, error)
- type DNS_ENCRYPTION_TYPE
- type DNS_FLAT_RECORD
- type DNS_PROPERTY
- func NewDNS_PROPERTY() *DNS_PROPERTY
- func (p *DNS_PROPERTY) AsIP4Array() ([]net.IP, error)
- func (p *DNS_PROPERTY) AsUTF16String() string
- func (p *DNS_PROPERTY) AsUint32() (uint32, error)
- func (p *DNS_PROPERTY) AsZoneType() (ZoneType, error)
- func (p *DNS_PROPERTY) AsZoneUpdate() (ZoneUpdate, error)
- func (p *DNS_PROPERTY) Marshal() ([]byte, error)
- func (p *DNS_PROPERTY) String() string
- func (p *DNS_PROPERTY) Unmarshal(rawData []byte) (int, error)
- type DNS_RECORD
- type DNS_RPC_AUTOCONFIGURE
- type DNS_RPC_BUFFER
- type DNS_RPC_CLIENT_SUBNET_RECORD
- type DNS_RPC_CRITERIA
- type DNS_RPC_CRITERIA_COMPARATOR
- type DNS_RPC_CRITERIA_ENUM
- type DNS_RPC_DP_ENUM
- type DNS_RPC_DP_INFO
- type DNS_RPC_DP_LIST
- type DNS_RPC_DP_REPLICA
- type DNS_RPC_ENCRYPTION_CONFIG
- type DNS_RPC_ENLIST_DP
- type DNS_RPC_ENUMERATE_POLICY_LIST
- type DNS_RPC_ENUM_SCOPE_LIST
- type DNS_RPC_ENUM_VIRTUALIZATION_INSTANCE_LIST
- type DNS_RPC_ENUM_ZONES_FILTER
- type DNS_RPC_ENUM_ZONE_SCOPE_LIST
- type DNS_RPC_FORWARDERS
- type DNS_RPC_FORWARDERS_DOTNET
- type DNS_RPC_FORWARDERS_LONGHORN
- type DNS_RPC_FORWARDERS_W2K
- type DNS_RPC_IP_VALIDATE
- type DNS_RPC_NAME_AND_PARAM
- type DNS_RPC_POLICY
- type DNS_RPC_POLICY_ACTION_TYPE
- type DNS_RPC_POLICY_CONDITION
- type DNS_RPC_POLICY_CONTENT
- type DNS_RPC_POLICY_CONTENT_LIST
- type DNS_RPC_POLICY_LEVEL
- type DNS_RPC_POLICY_NAME
- type DNS_RPC_POLICY_TYPE
- type DNS_RPC_RECORD
- type DNS_RPC_RECORD_A
- type DNS_RPC_RECORD_AAAA
- type DNS_RPC_RECORD_NAME_PREFERENCE
- type DNS_RPC_RECORD_NODE_NAME
- type DNS_RPC_RECORD_SOA
- type DNS_RPC_RECORD_SRV
- type DNS_RPC_RECORD_TS
- type DNS_RPC_RRL_PARAMS
- type DNS_RPC_SERVER_INFO
- type DNS_RPC_SERVER_INFO_DOTNET
- type DNS_RPC_SERVER_INFO_LONGHORN
- type DNS_RPC_SERVER_INFO_W2K
- type DNS_RPC_SIGNING_VALIDATION_ERROR
- type DNS_RPC_SKD
- type DNS_RPC_SKD_LIST
- type DNS_RPC_SKD_STATE
- type DNS_RPC_SKD_STATE_EX
- type DNS_RPC_TRUST_ANCHOR
- type DNS_RPC_TRUST_ANCHOR_LIST
- type DNS_RPC_TRUST_POINT
- type DNS_RPC_TRUST_POINT_LIST
- type DNS_RPC_TYPEID
- type DNS_RPC_UNICODE_STRING_LIST
- type DNS_RPC_UTF8_STRING_LIST
- type DNS_RPC_VIRTUALIZATION_INSTANCE
- type DNS_RPC_VIRTUALIZATION_INSTANCE_INFO
- type DNS_RPC_ZONE
- type DNS_RPC_ZONE_CHANGE_DP
- type DNS_RPC_ZONE_CREATE_INFO
- type DNS_RPC_ZONE_CREATE_INFO_DOTNET
- type DNS_RPC_ZONE_CREATE_INFO_LONGHORN
- type DNS_RPC_ZONE_CREATE_INFO_W2K
- type DNS_RPC_ZONE_DATABASE
- type DNS_RPC_ZONE_DATABASE_DOTNET
- type DNS_RPC_ZONE_DATABASE_W2K
- type DNS_RPC_ZONE_DNSSEC_SETTINGS
- type DNS_RPC_ZONE_DOTNET
- type DNS_RPC_ZONE_EXPORT_INFO
- type DNS_RPC_ZONE_FLAGS
- type DNS_RPC_ZONE_INFO
- type DNS_RPC_ZONE_INFO_DOTNET
- type DNS_RPC_ZONE_INFO_LONGHORN
- type DNS_RPC_ZONE_INFO_W2K
- type DNS_RPC_ZONE_LIST
- type DNS_RPC_ZONE_LIST_DOTNET
- type DNS_RPC_ZONE_LIST_W2K
- type DNS_RPC_ZONE_SCOPE_CREATE_INFO
- type DNS_RPC_ZONE_SCOPE_CREATE_INFO_V1
- type DNS_RPC_ZONE_SCOPE_INFO
- type DNS_RPC_ZONE_SCOPE_INFO_V1
- type DNS_RPC_ZONE_SECONDARIES
- type DNS_RPC_ZONE_SECONDARIES_DOTNET
- type DNS_RPC_ZONE_SECONDARIES_LONGHORN
- type DNS_RPC_ZONE_SECONDARIES_W2K
- type DNS_RPC_ZONE_SKD
- type DNS_RPC_ZONE_STATS
- type DNS_RPC_ZONE_STATS_V1
- type DNS_RPC_ZONE_W2K
- type DNS_RRL_MODE_ENUM
- type DNS_SYSTEMTIME
- type DNS_ZONE_STATS_TYPE
- type IP4_ARRAY
- type ImportOpResult
- type KeySignScope
- type PropertyId
- type RecordType
- type TRUSTANCHOR_STATE
- type TRUSTPOINT_STATE
- type ZoneType
- type ZoneUpdate
Constants
DNSPropertyVersion is the value that the Version field of a DNS_PROPERTY MUST carry.
const DNSPropertyVersion uint32 = 0x00000001
DNSRecordVersion is the value that the Version field of a DNS_RECORD MUST carry.
const DNSRecordVersion uint8 = 0x05
type DNSSRV\_RPC\_UNION
DNSSRV_RPC_UNION is a discriminated union ([MS-DNSP]); the discriminant precedes the selected arm ([C706] 14.3.8). Generated by tools/idlgen — verify case values.
type DNSSRV_RPC_UNION struct {
Tag ndr.DWORD `ndr:"switch"`
Null *uint8 `ndr:"case=0,unique"`
Dword ndr.DWORD `ndr:"case=1"`
String *ndr.STR `ndr:"case=2,unique"`
WideString *ndr.WSTR `ndr:"case=3,unique"`
IpArray *IP4_ARRAY `ndr:"case=4,unique"`
Buffer *DNS_RPC_BUFFER `ndr:"case=5,unique"`
ServerInfoW2K *DNS_RPC_SERVER_INFO_W2K `ndr:"case=6,unique"`
Stats *DNSSRV_STAT `ndr:"case=7,unique"`
ForwardersW2K *DNS_RPC_FORWARDERS_W2K `ndr:"case=8,unique"`
ZoneW2K *DNS_RPC_ZONE_W2K `ndr:"case=9,unique"`
ZoneInfoW2K *DNS_RPC_ZONE_INFO_W2K `ndr:"case=10,unique"`
SecondariesW2K *DNS_RPC_ZONE_SECONDARIES_W2K `ndr:"case=11,unique"`
DatabaseW2K *DNS_RPC_ZONE_DATABASE_W2K `ndr:"case=12,unique"`
ZoneCreateW2K *DNS_RPC_ZONE_CREATE_INFO_W2K `ndr:"case=14,unique"`
NameAndParam *DNS_RPC_NAME_AND_PARAM `ndr:"case=15,unique"`
ZoneListW2K *DNS_RPC_ZONE_LIST_W2K `ndr:"case=16,unique"`
ServerInfoDotNet *DNS_RPC_SERVER_INFO_DOTNET `ndr:"case=19,unique"`
ForwardersDotNet *DNS_RPC_FORWARDERS_DOTNET `ndr:"case=20,unique"`
Zone *DNS_RPC_ZONE_DOTNET `ndr:"case=21,unique"`
ZoneInfoDotNet *DNS_RPC_ZONE_INFO_DOTNET `ndr:"case=22,unique"`
SecondariesDotNet *DNS_RPC_ZONE_SECONDARIES_DOTNET `ndr:"case=23,unique"`
Database *DNS_RPC_ZONE_DATABASE_DOTNET `ndr:"case=24,unique"`
ZoneCreateDotNet *DNS_RPC_ZONE_CREATE_INFO_DOTNET `ndr:"case=26,unique"`
ZoneList *DNS_RPC_ZONE_LIST_DOTNET `ndr:"case=27,unique"`
ZoneExport *DNS_RPC_ZONE_EXPORT_INFO `ndr:"case=18,unique"`
DirectoryPartition *DNS_RPC_DP_INFO `ndr:"case=29,unique"`
DirectoryPartitionEnum *DNS_RPC_DP_ENUM `ndr:"case=28,unique"`
DirectoryPartitionList *DNS_RPC_DP_LIST `ndr:"case=30,unique"`
EnlistDirectoryPartition *DNS_RPC_ENLIST_DP `ndr:"case=31,unique"`
ZoneChangeDirectoryPartition *DNS_RPC_ZONE_CHANGE_DP `ndr:"case=32,unique"`
EnumZonesFilter *DNS_RPC_ENUM_ZONES_FILTER `ndr:"case=33,unique"`
AddrArray *DNS_ADDR_ARRAY `ndr:"case=34,unique"`
ServerInfo *DNS_RPC_SERVER_INFO_LONGHORN `ndr:"case=35,unique"`
ZoneCreate *DNS_RPC_ZONE_CREATE_INFO_LONGHORN `ndr:"case=40,unique"`
Forwarders *DNS_RPC_FORWARDERS_LONGHORN `ndr:"case=37,unique"`
Secondaries *DNS_RPC_ZONE_SECONDARIES_LONGHORN `ndr:"case=38,unique"`
IpValidate *DNS_RPC_IP_VALIDATE `ndr:"case=41,unique"`
ZoneInfo *DNS_RPC_ZONE_INFO_LONGHORN `ndr:"case=36,unique"`
AutoConfigure *DNS_RPC_AUTOCONFIGURE `ndr:"case=42,unique"`
Utf8StringList *DNS_RPC_UTF8_STRING_LIST `ndr:"case=43,unique"`
UnicodeStringList *DNS_RPC_UNICODE_STRING_LIST `ndr:"case=44,unique"`
Skd *DNS_RPC_SKD `ndr:"case=45,unique"`
SkdList *DNS_RPC_SKD_LIST `ndr:"case=46,unique"`
SkdState *DNS_RPC_SKD_STATE `ndr:"case=47,unique"`
SigningValidationError *DNS_RPC_SIGNING_VALIDATION_ERROR `ndr:"case=48,unique"`
TrustPointList *DNS_RPC_TRUST_POINT_LIST `ndr:"case=49,unique"`
TrustAnchorList *DNS_RPC_TRUST_ANCHOR_LIST `ndr:"case=50,unique"`
ZoneDnsSecSettings *DNS_RPC_ZONE_DNSSEC_SETTINGS `ndr:"case=51,unique"`
ZoneScopeList *DNS_RPC_ENUM_ZONE_SCOPE_LIST `ndr:"case=52,unique"`
ZoneStats *DNS_RPC_ZONE_STATS `ndr:"case=53,unique"`
ScopeCreate *DNS_RPC_ZONE_SCOPE_CREATE_INFO `ndr:"case=54,unique"`
ScopeInfo *DNS_RPC_ZONE_SCOPE_INFO `ndr:"case=55,unique"`
ScopeList *DNS_RPC_ENUM_SCOPE_LIST `ndr:"case=56,unique"`
SubnetList *DNS_RPC_CLIENT_SUBNET_RECORD `ndr:"case=57,unique"`
PPolicy *DNS_RPC_POLICY `ndr:"case=58,unique"`
PPolicyName *DNS_RPC_POLICY_NAME `ndr:"case=59,unique"`
PPolicyList *DNS_RPC_ENUMERATE_POLICY_LIST `ndr:"case=60,unique"`
PRRLParams *DNS_RPC_RRL_PARAMS `ndr:"case=61,unique"`
VirtualizationInstance *DNS_RPC_VIRTUALIZATION_INSTANCE `ndr:"case=62,unique"`
VirtualizationInstanceList *DNS_RPC_ENUM_VIRTUALIZATION_INSTANCE_LIST `ndr:"case=63,unique"`
PEncryptionConfig *DNS_RPC_ENCRYPTION_CONFIG `ndr:"case=64,unique"`
}
type DNSSRV\_RRL\_STATS
DNSSRV_RRL_STATS ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNSSRV_RRL_STATS struct {
Header DNSSRV_STAT_HEADER
TotalResponsesSent ndr.DWORD
TotalResponsesDropped ndr.DWORD
TotalResponsesTruncated ndr.DWORD
TotalResponsesLeaked ndr.DWORD
}
type DNSSRV\_STAT
DNSSRV_STAT ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNSSRV_STAT struct {
Header DNSSRV_STAT_HEADER
Buffer [1]uint8
}
type DNSSRV\_STAT\_HEADER
DNSSRV_STAT_HEADER ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNSSRV_STAT_HEADER struct {
StatId ndr.DWORD
WLength uint16
FClear bool
FReserved uint8
}
type DNSSRV\_ZONE\_QUERY\_STATS
DNSSRV_ZONE_QUERY_STATS ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNSSRV_ZONE_QUERY_STATS struct {
RecordType DNS_ZONE_STATS_TYPE
QueriesResponded uint64
QueriesReceived uint64
QueriesFailure uint64
QueriesNameError uint64
}
type DNSSRV\_ZONE\_RRL\_STATS
DNSSRV_ZONE_RRL_STATS ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNSSRV_ZONE_RRL_STATS struct {
Type DNS_ZONE_STATS_TYPE
TotalResponsesSent ndr.DWORD
TotalResponsesDropped ndr.DWORD
TotalResponsesTruncated ndr.DWORD
TotalResponsesLeaked ndr.DWORD
}
type DNSSRV\_ZONE\_TIME\_STATS
DNSSRV_ZONE_TIME_STATS ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNSSRV_ZONE_TIME_STATS struct {
StatsCollectionStartTime DNS_SYSTEMTIME
}
type DNSSRV\_ZONE\_TRANSFER\_STATS
DNSSRV_ZONE_TRANSFER_STATS ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNSSRV_ZONE_TRANSFER_STATS struct {
TransferType DNS_ZONE_STATS_TYPE
RequestReceived uint64
RequestSent uint64
ResponseReceived uint64
SuccessReceived uint64
SuccessSent uint64
}
type DNSSRV\_ZONE\_UPDATE\_STATS
DNSSRV_ZONE_UPDATE_STATS ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNSSRV_ZONE_UPDATE_STATS struct {
Type DNS_ZONE_STATS_TYPE
DynamicUpdateReceived uint64
DynamicUpdateRejected uint64
}
type DNS\_ADDR
DNS_ADDR ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_ADDR struct {
MaxSa [32]byte
DnsAddrUserDword [8]ndr.DWORD
}
type DNS\_ADDR\_ARRAY
DNS_ADDR_ARRAY ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_ADDR_ARRAY struct {
MaxCount ndr.DWORD
AddrCount ndr.DWORD
Tag ndr.DWORD
Family uint16
WordReserved uint16
Flags ndr.DWORD
MatchFlag ndr.DWORD
Reserved1 ndr.DWORD
Reserved2 ndr.DWORD
AddrArray []DNS_ADDR `ndr:"conformant,size_is=AddrCount"`
}
type DNS\_COUNT\_NAME
DNS_COUNT_NAME is the on-directory form of an FQDN used inside dnsRecord attribute values carried over LDAP. When a dnsRecord value is written to the directory each name is converted from DNS_RPC_NAME (section 2.2.2.2.1) to DNS_COUNT_NAME, and converted back when read.
The name is encoded as a sequence of length-prefixed labels: a 1-byte label-length count is inserted before the first label and in place of each “.” delimiter, and the sequence is null-terminated. For example “example.com” is encoded as 07 ’example’ 03 ‘com’ 00, with a Length of 13 and a LabelCount of 2.
Source: [MS-DNSP] DNS_COUNT_NAME (section 2.2.2.2.2) https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-dnsp/2af86306-3bd9-4c86-b763-fd33e16e3e5b
type DNS_COUNT_NAME struct {
// Length (1 byte): The length, in bytes, of the string stored in the RawName member,
// including null termination. To represent an empty string, Length MUST be zero,
// LabelCount MUST be zero, and RawName MUST be empty.
Length uint8
// LabelCount (1 byte): The count of DNS labels in the RawName member.
LabelCount uint8
// RawName (variable): A string containing an FQDN in which a 1-byte label length count
// for the subsequent label has been inserted before the first label and in place of each
// "." delimiter. The string MUST be null-terminated. The maximum length of the string,
// including the null terminator, is 256 bytes.
RawName []byte
}
func NewDNS\_COUNT\_NAME
func NewDNS_COUNT_NAME() *DNS_COUNT_NAME
NewDNS_COUNT_NAME creates a new, empty DNS_COUNT_NAME.
Returns: - A pointer to the new DNS_COUNT_NAME structure
func NewDNS\_COUNT\_NAMEFromFQDN
func NewDNS_COUNT_NAMEFromFQDN(fqdn string) (*DNS_COUNT_NAME, error)
NewDNS_COUNT_NAMEFromFQDN creates a DNS_COUNT_NAME from a dotted FQDN string.
Parameters: - fqdn: The dotted fully-qualified domain name (a trailing “.” is tolerated and ignored)
Returns:
- A pointer to the populated DNS_COUNT_NAME structure
- An error if any label is empty or exceeds 63 bytes, or if the encoded name exceeds the 256-byte maximum
func (*DNS_COUNT_NAME) GetFQDN
func (n *DNS_COUNT_NAME) GetFQDN() (string, error)
GetFQDN decodes the RawName into a dotted FQDN string. An empty name decodes to “”.
Returns: - The dotted FQDN - An error if the RawName is malformed (a label length runs past the end of the buffer)
func (*DNS_COUNT_NAME) Marshal
func (n *DNS_COUNT_NAME) Marshal() ([]byte, error)
Marshal marshals the DNS_COUNT_NAME structure into a byte array.
Returns: - A byte array representing the DNS_COUNT_NAME structure - An error if the marshaling fails
func (*DNS_COUNT_NAME) SetFQDN
func (n *DNS_COUNT_NAME) SetFQDN(fqdn string) error
SetFQDN encodes the provided dotted FQDN into the RawName, Length, and LabelCount fields.
Parameters: - fqdn: The dotted fully-qualified domain name (a single trailing “.” is tolerated)
Returns:
- An error if any label is empty or longer than 63 bytes, or if the encoded name (including the null terminator) exceeds 255 bytes.
func (*DNS_COUNT_NAME) Unmarshal
func (n *DNS_COUNT_NAME) Unmarshal(rawData []byte) (int, error)
Unmarshal unmarshals a byte array into the DNS_COUNT_NAME structure.
Parameters: - rawData: The byte array to unmarshal
Returns: - The number of bytes read - An error if the unmarshaling fails
type DNS\_ENCRYPTION\_TYPE
DNS_ENCRYPTION_TYPE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-DNSP]).
type DNS_ENCRYPTION_TYPE uint16
const (
DnsEncryptionNone DNS_ENCRYPTION_TYPE = 0
DnsEncryptionDoH DNS_ENCRYPTION_TYPE = 1
)
type DNS\_FLAT\_RECORD
DNS_FLAT_RECORD is an alias for DNS_RPC_RECORD (same IDL typedef).
type DNS_FLAT_RECORD = DNS_RPC_RECORD
type DNS\_PROPERTY
DNS_PROPERTY is the packed container that Active Directory stores in each value of the dnsProperty LDAP attribute of a DNS zone object. It holds a fixed 20-byte header, a variable-length Data field of DataLength bytes carrying the property value selected by the Id field (see PropertyId, section 2.3.2.1.1), and a trailing 1-byte Name field that is not used.
All header fields are little-endian.
Source: [MS-DNSP] dnsProperty (section 2.3.2.1) https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-dnsp/445c7843-e4a1-4222-8c0f-630c230a4c80
type DNS_PROPERTY struct {
// DataLength (4 bytes): The length, in bytes, of the Data field. Marshal recomputes this
// from the Data field. If 0, the property carries its default value.
DataLength uint32
// NameLength (4 bytes): Not used. The value MUST be ignored and assumed to be 0x00000001.
NameLength uint32
// Flag (4 bytes): Reserved for future use. The value MUST be 0x00000000.
Flag uint32
// Version (4 bytes): The version of the property attribute. The value MUST be 0x00000001.
Version uint32
// Id (4 bytes): The property's type, selecting how Data is interpreted.
Id PropertyId
// Data (variable): The property value. See the As* accessors for interpretation.
Data []byte
// Name (1 byte): Not used. The value MUST be of length 1 byte and MUST be ignored.
Name uint8
}
func NewDNS\_PROPERTY
func NewDNS_PROPERTY() *DNS_PROPERTY
NewDNS_PROPERTY creates a new DNS_PROPERTY with Version and NameLength initialized to the values mandated by [MS-DNSP] section 2.3.2.1 (0x00000001 each).
Returns: - A pointer to the new DNS_PROPERTY structure
func (*DNS_PROPERTY) AsIP4Array
func (p *DNS_PROPERTY) AsIP4Array() ([]net.IP, error)
AsIP4Array interprets the Data field as an IP4_ARRAY (section 2.2.3.2.1): a little-endian AddrCount followed by AddrCount IPv4 addresses, each a 4-byte value in network byte order. It is meaningful for the DSPROPERTY_ZONE_SCAVENGING_SERVERS, DSPROPERTY_ZONE_MASTER_SERVERS, and DSPROPERTY_ZONE_AUTO_NS_SERVERS properties.
Returns: - The IPv4 addresses (an empty, non-nil slice when AddrCount is 0) - An error if Data is malformed
func (*DNS_PROPERTY) AsUTF16String
func (p *DNS_PROPERTY) AsUTF16String() string
AsUTF16String interprets the Data field as a null-terminated little-endian UTF-16 string, the form used by the DSPROPERTY_ZONE_DELETED_FROM_HOSTNAME property. The terminating NUL, if present, is removed.
Returns: - The decoded string
func (*DNS_PROPERTY) AsUint32
func (p *DNS_PROPERTY) AsUint32() (uint32, error)
AsUint32 interprets the Data field as a little-endian integer, the form used by the scalar zone properties (DSPROPERTY_ZONE_TYPE, DSPROPERTY_ZONE_ALLOW_UPDATE, the interval properties, DSPROPERTY_ZONE_AGING_STATE, DSPROPERTY_ZONE_DCPROMO_CONVERT, and DSPROPERTY_ZONE_NODE_DBFLAGS).
Although [MS-DNSP] types these properties as a DWORD, a Windows DNS server stores them in the minimum number of little-endian bytes: for example DSPROPERTY_ZONE_ALLOW_UPDATE is commonly a single byte. AsUint32 therefore reads up to four bytes and zero-extends, rather than requiring exactly four.
Returns: - The value, read from up to the first four bytes of Data (little-endian, zero-extended) - An error if Data is empty
func (*DNS_PROPERTY) AsZoneType
func (p *DNS_PROPERTY) AsZoneType() (ZoneType, error)
AsZoneType interprets the Data field as a ZoneType (dwZoneType). It is meaningful for a DSPROPERTY_ZONE_TYPE property.
Returns: - The zone type - An error if Data is empty
func (*DNS_PROPERTY) AsZoneUpdate
func (p *DNS_PROPERTY) AsZoneUpdate() (ZoneUpdate, error)
AsZoneUpdate interprets the Data field as a ZoneUpdate (fAllowUpdate). It is meaningful for a DSPROPERTY_ZONE_ALLOW_UPDATE property.
Returns: - The dynamic-update policy - An error if Data is empty
func (*DNS_PROPERTY) Marshal
func (p *DNS_PROPERTY) Marshal() ([]byte, error)
Marshal marshals the DNS_PROPERTY structure into a byte array. DataLength is recomputed from the current length of the Data field so the header always matches the payload.
Returns: - A byte array representing the DNS_PROPERTY structure - An error if the marshaling fails
func (*DNS_PROPERTY) String
func (p *DNS_PROPERTY) String() string
String returns a human-readable, one-line rendering of the property: its Id name followed by an interpretation of the Data field appropriate to that Id, falling back to the raw byte count for property types whose payload is not decoded here.
func (*DNS_PROPERTY) Unmarshal
func (p *DNS_PROPERTY) Unmarshal(rawData []byte) (int, error)
Unmarshal unmarshals a byte array into the DNS_PROPERTY structure.
Parameters: - rawData: The byte array to unmarshal
Returns: - The number of bytes read (20-byte header, DataLength bytes of Data, and the 1-byte Name) - An error if the unmarshaling fails
type DNS\_RECORD
DNS_RECORD is the packed container that Active Directory stores in each value of the dnsRecord LDAP attribute. It holds a fixed 24-byte header followed by a variable-length Data field carrying the type-specific record-data payload (see DNS_RPC_RECORD_DATA, section 2.2.2.2.4) selected by the Type field.
The multi-byte header fields are little-endian except TtlSeconds, which [MS-DNSP] mandates in big-endian byte order.
Source: [MS-DNSP] dnsRecord (section 2.3.2.2) https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-dnsp/6912b338-5472-4f59-b912-0edb536b6ed8
type DNS_RECORD struct {
// DataLength (2 bytes): An unsigned binary integer containing the length, in bytes, of the
// Data field. Little-endian. Marshal recomputes this from the Data field.
DataLength uint16
// Type (2 bytes): The resource record's type. See DNS_RECORD_TYPE (section 2.2.2.1.1).
// Little-endian.
Type RecordType
// Version (1 byte): The version number associated with the resource record attribute. The
// value MUST be 0x05.
Version uint8
// Rank (1 byte): The least-significant byte of one of the RANK* flag values (see dwFlags,
// section 2.2.2.2.5).
Rank uint8
// Flags (2 bytes): Not used. The value MUST be 0x0000. Little-endian.
Flags uint16
// Serial (4 bytes): The serial number of the SOA record of the zone containing this
// resource record. Little-endian.
Serial uint32
// TtlSeconds (4 bytes): The record's time-to-live, in seconds. This field uses big-endian
// byte order.
TtlSeconds uint32
// Reserved (4 bytes): This field is reserved for future use. The value MUST be 0x00000000.
Reserved uint32
// TimeStamp (4 bytes): The time at which the record was last refreshed, in hours since
// 1601-01-01 00:00:00 UTC, or 0 for a static record. Little-endian.
TimeStamp uint32
// Data (variable): The resource record's data. See DNS_RPC_RECORD_DATA (section 2.2.2.2.4).
Data []byte
}
func NewDNS\_RECORD
func NewDNS_RECORD() *DNS_RECORD
NewDNS_RECORD creates a new DNS_RECORD with the Version field initialized to the mandatory value 0x05.
Returns: - A pointer to the new DNS_RECORD structure
func (*DNS_RECORD) Marshal
func (r *DNS_RECORD) Marshal() ([]byte, error)
Marshal marshals the DNS_RECORD structure into a byte array. DataLength is recomputed from the current length of the Data field so the header always matches the payload.
Returns: - A byte array representing the DNS_RECORD structure - An error if the marshaling fails
func (*DNS_RECORD) SetData
func (r *DNS_RECORD) SetData(payload interface{ Marshal() ([]byte, error) }) error
SetData replaces the record’s Data field and updates DataLength to match. payload is any of the record-data payload structures (for example *DNS_RPC_RECORD_A); its Marshal output becomes the Data field. The caller is responsible for setting Type to match the payload.
Parameters: - payload: A record-data payload exposing Marshal() ([]byte, error)
Returns: - An error if the payload fails to marshal
func (*DNS_RECORD) Unmarshal
func (r *DNS_RECORD) Unmarshal(rawData []byte) (int, error)
Unmarshal unmarshals a byte array into the DNS_RECORD structure.
Parameters: - rawData: The byte array to unmarshal
Returns: - The number of bytes read (24-byte header plus DataLength bytes of Data) - An error if the unmarshaling fails
type DNS\_RPC\_AUTOCONFIGURE
DNS_RPC_AUTOCONFIGURE ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_AUTOCONFIGURE struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
DwAutoConfigFlags ndr.DWORD
DwReserved1 ndr.DWORD
PszNewDomainName *ndr.STR `ndr:"unique"`
}
type DNS\_RPC\_BUFFER
DNS_RPC_BUFFER ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_BUFFER struct {
DwLength ndr.DWORD
Buffer []uint8 `ndr:"conformant,size_is=DwLength"`
}
type DNS\_RPC\_CLIENT\_SUBNET\_RECORD
DNS_RPC_CLIENT_SUBNET_RECORD ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_CLIENT_SUBNET_RECORD struct {
PwszClientSubnetName *ndr.WSTR `ndr:"unique"`
PIPAddr *DNS_ADDR_ARRAY `ndr:"unique"`
PIPv6Addr *DNS_ADDR_ARRAY `ndr:"unique"`
}
type DNS\_RPC\_CRITERIA
DNS_RPC_CRITERIA ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_CRITERIA struct {
Type DNS_RPC_CRITERIA_ENUM
PCriteria *ndr.WSTR `ndr:"unique"`
}
type DNS\_RPC\_CRITERIA\_COMPARATOR
DNS_RPC_CRITERIA_COMPARATOR is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-DNSP]).
type DNS_RPC_CRITERIA_COMPARATOR uint16
const (
Equals DNS_RPC_CRITERIA_COMPARATOR = 1
NotEquals DNS_RPC_CRITERIA_COMPARATOR = 2
)
type DNS\_RPC\_CRITERIA\_ENUM
DNS_RPC_CRITERIA_ENUM is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-DNSP]).
type DNS_RPC_CRITERIA_ENUM uint16
const (
DnsPolicyCriteriaSubnet DNS_RPC_CRITERIA_ENUM = 0
DnsPolicyCriteriaTransportProtocol DNS_RPC_CRITERIA_ENUM = 1
DnsPolicyCriteriaNetworkProtocol DNS_RPC_CRITERIA_ENUM = 2
DnsPolicyCriteriaInterface DNS_RPC_CRITERIA_ENUM = 3
DnsPolicyCriteriaFqdn DNS_RPC_CRITERIA_ENUM = 4
DnsPolicyCriteriaQtype DNS_RPC_CRITERIA_ENUM = 5
DnsPolicyCriteriaTime DNS_RPC_CRITERIA_ENUM = 6
DnsPolicyCriteriaMax DNS_RPC_CRITERIA_ENUM = 7
)
type DNS\_RPC\_DP\_ENUM
DNS_RPC_DP_ENUM ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_DP_ENUM struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
PszDpFqdn *ndr.STR `ndr:"unique"`
DwFlags ndr.DWORD
DwZoneCount ndr.DWORD
}
type DNS\_RPC\_DP\_INFO
DNS_RPC_DP_INFO ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_DP_INFO struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
PszDpFqdn *ndr.STR `ndr:"unique"`
PszDpDn *ndr.WSTR `ndr:"unique"`
PszCrDn *ndr.WSTR `ndr:"unique"`
DwFlags ndr.DWORD
DwZoneCount ndr.DWORD
DwState ndr.DWORD
DwReserved [3]ndr.DWORD
PwszReserved [3]*ndr.WSTR
DwReplicaCount ndr.DWORD
ReplicaArray []*DNS_RPC_DP_REPLICA `ndr:"conformant,size_is=DwReplicaCount,elem=unique"`
}
type DNS\_RPC\_DP\_LIST
DNS_RPC_DP_LIST ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_DP_LIST struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
DwDpCount ndr.DWORD
DpArray []*DNS_RPC_DP_ENUM `ndr:"conformant,size_is=DwDpCount,elem=unique"`
}
type DNS\_RPC\_DP\_REPLICA
DNS_RPC_DP_REPLICA ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_DP_REPLICA struct {
PszReplicaDn *ndr.WSTR `ndr:"unique"`
}
type DNS\_RPC\_ENCRYPTION\_CONFIG
DNS_RPC_ENCRYPTION_CONFIG ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_ENCRYPTION_CONFIG struct {
DwDnsEncryptionType ndr.DWORD
PwszUriTemplate *ndr.WSTR `ndr:"unique"`
}
type DNS\_RPC\_ENLIST\_DP
DNS_RPC_ENLIST_DP ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_ENLIST_DP struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
PszDpFqdn *ndr.STR `ndr:"unique"`
DwOperation ndr.DWORD
}
type DNS\_RPC\_ENUMERATE\_POLICY\_LIST
DNS_RPC_ENUMERATE_POLICY_LIST ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_ENUMERATE_POLICY_LIST struct {
DwPolicyCount ndr.DWORD
PPolicyArray []*DNS_RPC_POLICY_NAME `ndr:"conformant,size_is=DwPolicyCount,elem=unique"`
}
type DNS\_RPC\_ENUM\_SCOPE\_LIST
DNS_RPC_ENUM_SCOPE_LIST ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_ENUM_SCOPE_LIST struct {
DwRpcStructureVersion ndr.DWORD
DwScopeCount ndr.DWORD
ScopeArray [1]*ndr.WSTR
}
type DNS\_RPC\_ENUM\_VIRTUALIZATION\_INSTANCE\_LIST
DNS_RPC_ENUM_VIRTUALIZATION_INSTANCE_LIST ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_ENUM_VIRTUALIZATION_INSTANCE_LIST struct {
DwRpcStructureVersion ndr.DWORD
DwVirtualizationInstanceCount ndr.DWORD
VirtualizationInstanceArray [1]*DNS_RPC_VIRTUALIZATION_INSTANCE_INFO
}
type DNS\_RPC\_ENUM\_ZONES\_FILTER
DNS_RPC_ENUM_ZONES_FILTER ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_ENUM_ZONES_FILTER struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
DwFilter ndr.DWORD
PszPartitionFqdn *ndr.STR `ndr:"unique"`
PszQueryString *ndr.STR `ndr:"unique"`
PszReserved [6]*ndr.STR
}
type DNS\_RPC\_ENUM\_ZONE\_SCOPE\_LIST
DNS_RPC_ENUM_ZONE_SCOPE_LIST ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_ENUM_ZONE_SCOPE_LIST struct {
DwRpcStructureVersion ndr.DWORD
DwZoneScopeCount ndr.DWORD
ZoneScopeArray [1]*ndr.WSTR
}
type DNS\_RPC\_FORWARDERS
DNS_RPC_FORWARDERS is an alias for DNS_RPC_FORWARDERS_LONGHORN (same IDL typedef).
type DNS_RPC_FORWARDERS = DNS_RPC_FORWARDERS_LONGHORN
type DNS\_RPC\_FORWARDERS\_DOTNET
DNS_RPC_FORWARDERS_DOTNET ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_FORWARDERS_DOTNET struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
FRecurseAfterForwarding ndr.DWORD
DwForwardTimeout ndr.DWORD
AipForwarders *IP4_ARRAY `ndr:"unique"`
}
type DNS\_RPC\_FORWARDERS\_LONGHORN
DNS_RPC_FORWARDERS_LONGHORN ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_FORWARDERS_LONGHORN struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
FRecurseAfterForwarding ndr.DWORD
DwForwardTimeout ndr.DWORD
AipForwarders *DNS_ADDR_ARRAY `ndr:"unique"`
}
type DNS\_RPC\_FORWARDERS\_W2K
DNS_RPC_FORWARDERS_W2K ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_FORWARDERS_W2K struct {
FRecurseAfterForwarding ndr.DWORD
DwForwardTimeout ndr.DWORD
AipForwarders *IP4_ARRAY `ndr:"unique"`
}
type DNS\_RPC\_IP\_VALIDATE
DNS_RPC_IP_VALIDATE ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_IP_VALIDATE struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
DwContext ndr.DWORD
DwReserved1 ndr.DWORD
PszContextName *ndr.STR `ndr:"unique"`
AipValidateAddrs *DNS_ADDR_ARRAY `ndr:"unique"`
}
type DNS\_RPC\_NAME\_AND\_PARAM
DNS_RPC_NAME_AND_PARAM ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_NAME_AND_PARAM struct {
DwParam ndr.DWORD
PszNodeName *ndr.STR `ndr:"unique"`
}
type DNS\_RPC\_POLICY
DNS_RPC_POLICY ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_POLICY struct {
PwszPolicyName *ndr.WSTR `ndr:"unique"`
Level DNS_RPC_POLICY_LEVEL
AppliesOn DNS_RPC_POLICY_TYPE
Action DNS_RPC_POLICY_ACTION_TYPE
Condition DNS_RPC_POLICY_CONDITION
IsEnabled ndr.BOOL
DwProcessingOrder ndr.DWORD
PszZoneName *ndr.STR `ndr:"unique"`
PContentList *DNS_RPC_POLICY_CONTENT_LIST `ndr:"unique"`
Flags uint64
DwCriteriaCount ndr.DWORD
PCriteriaList []*DNS_RPC_CRITERIA `ndr:"conformant,size_is=DwCriteriaCount,elem=unique"`
}
type DNS\_RPC\_POLICY\_ACTION\_TYPE
DNS_RPC_POLICY_ACTION_TYPE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-DNSP]).
type DNS_RPC_POLICY_ACTION_TYPE uint16
const (
DnsPolicyDeny DNS_RPC_POLICY_ACTION_TYPE = 0
DnsPolicyAllow DNS_RPC_POLICY_ACTION_TYPE = 1
DnsPolicyIgnore DNS_RPC_POLICY_ACTION_TYPE = 2
DnsPolicyActionMax DNS_RPC_POLICY_ACTION_TYPE = 3
)
type DNS\_RPC\_POLICY\_CONDITION
DNS_RPC_POLICY_CONDITION is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-DNSP]).
type DNS_RPC_POLICY_CONDITION uint16
const (
DNS_AND DNS_RPC_POLICY_CONDITION = 0
DNS_OR DNS_RPC_POLICY_CONDITION = 1
)
type DNS\_RPC\_POLICY\_CONTENT
DNS_RPC_POLICY_CONTENT ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_POLICY_CONTENT struct {
PwszScopeName *ndr.WSTR `ndr:"unique"`
DwWeight ndr.DWORD
}
type DNS\_RPC\_POLICY\_CONTENT\_LIST
DNS_RPC_POLICY_CONTENT_LIST ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_POLICY_CONTENT_LIST struct {
DwContentCount ndr.DWORD
PContent []*DNS_RPC_POLICY_CONTENT `ndr:"conformant,size_is=DwContentCount,elem=unique"`
}
type DNS\_RPC\_POLICY\_LEVEL
DNS_RPC_POLICY_LEVEL is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-DNSP]).
type DNS_RPC_POLICY_LEVEL uint16
const (
DnsPolicyServerLevel DNS_RPC_POLICY_LEVEL = 0
DnsPolicyZoneLevel DNS_RPC_POLICY_LEVEL = 1
DnsPolicyLevelMax DNS_RPC_POLICY_LEVEL = 2
)
type DNS\_RPC\_POLICY\_NAME
DNS_RPC_POLICY_NAME ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_POLICY_NAME struct {
PwszPolicyName *ndr.WSTR `ndr:"unique"`
AppliesOn DNS_RPC_POLICY_TYPE
FEnabled ndr.BOOL
ProcessingOrder ndr.DWORD
}
type DNS\_RPC\_POLICY\_TYPE
DNS_RPC_POLICY_TYPE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-DNSP]).
type DNS_RPC_POLICY_TYPE uint16
const (
DnsPolicyQueryProcessing DNS_RPC_POLICY_TYPE = 0
DnsPolicyZoneTransfer DNS_RPC_POLICY_TYPE = 1
DnsPolicyDynamicUpdate DNS_RPC_POLICY_TYPE = 2
DnsPolicyRecursion DNS_RPC_POLICY_TYPE = 3
DnsPolicyMax DNS_RPC_POLICY_TYPE = 4
)
type DNS\_RPC\_RECORD
DNS_RPC_RECORD ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_RECORD struct {
WDataLength uint16
WType uint16
DwFlags ndr.DWORD
DwSerial ndr.DWORD
DwTtlSeconds ndr.DWORD
DwTimeStamp ndr.DWORD
DwReserved ndr.DWORD
Buffer []uint8 `ndr:"conformant,size_is=WDataLength"`
}
type DNS\_RPC\_RECORD\_A
DNS_RPC_RECORD_A is the record-data payload for a DNS_TYPE_A record. It carries a single IPv4 address. In a dnsRecord attribute value the containing DNS_RECORD has a DataLength of 4 and a Type of DNS_TYPE_A.
Source: [MS-DNSP] DNS_RPC_RECORD_A (section 2.2.2.2.4.1), referenced from DNS_RPC_RECORD_DATA https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-dnsp/38b87392-7f61-4e30-9263-9f0fb832d084
type DNS_RPC_RECORD_A struct {
// IPAddress (4 bytes): An IPv4 address stored in network byte order.
IPAddress [4]byte
}
func NewDNS\_RPC\_RECORD\_A
func NewDNS_RPC_RECORD_A() *DNS_RPC_RECORD_A
NewDNS_RPC_RECORD_A creates a new, empty DNS_RPC_RECORD_A.
Returns: - A pointer to the new DNS_RPC_RECORD_A structure
func (*DNS_RPC_RECORD_A) GetIPv4
func (r *DNS_RPC_RECORD_A) GetIPv4() net.IP
GetIPv4 returns the stored address as a net.IP.
Returns: - The IPv4 address as a net.IP
func (*DNS_RPC_RECORD_A) Marshal
func (r *DNS_RPC_RECORD_A) Marshal() ([]byte, error)
Marshal marshals the DNS_RPC_RECORD_A structure into a byte array.
Returns: - A byte array representing the DNS_RPC_RECORD_A structure - An error if the marshaling fails
func (*DNS_RPC_RECORD_A) SetIPv4
func (r *DNS_RPC_RECORD_A) SetIPv4(ip net.IP) error
SetIPv4 sets the address from a net.IP. The address MUST be an IPv4 address.
Parameters: - ip: The IPv4 address to store
Returns: - An error if ip is not an IPv4 address
func (*DNS_RPC_RECORD_A) Unmarshal
func (r *DNS_RPC_RECORD_A) Unmarshal(rawData []byte) (int, error)
Unmarshal unmarshals a byte array into the DNS_RPC_RECORD_A structure.
Parameters: - rawData: The byte array to unmarshal
Returns: - The number of bytes read - An error if the unmarshaling fails
type DNS\_RPC\_RECORD\_AAAA
DNS_RPC_RECORD_AAAA is the record-data payload for a DNS_TYPE_AAAA record. It carries a single IPv6 address. In a dnsRecord attribute value the containing DNS_RECORD has a DataLength of 16 and a Type of DNS_TYPE_AAAA.
Source: [MS-DNSP] DNS_RPC_RECORD_AAAA (section 2.2.2.2.4.17) https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-dnsp/ee33fef1-6e82-42d0-8107-0f6d21be072a
type DNS_RPC_RECORD_AAAA struct {
// IPv6Address (16 bytes): An IPv6 address stored in network byte order.
IPv6Address [16]byte
}
func NewDNS\_RPC\_RECORD\_AAAA
func NewDNS_RPC_RECORD_AAAA() *DNS_RPC_RECORD_AAAA
NewDNS_RPC_RECORD_AAAA creates a new, empty DNS_RPC_RECORD_AAAA.
Returns: - A pointer to the new DNS_RPC_RECORD_AAAA structure
func (*DNS_RPC_RECORD_AAAA) GetIPv6
func (r *DNS_RPC_RECORD_AAAA) GetIPv6() net.IP
GetIPv6 returns the stored address as a net.IP.
Returns: - The IPv6 address as a net.IP
func (*DNS_RPC_RECORD_AAAA) Marshal
func (r *DNS_RPC_RECORD_AAAA) Marshal() ([]byte, error)
Marshal marshals the DNS_RPC_RECORD_AAAA structure into a byte array.
Returns: - A byte array representing the DNS_RPC_RECORD_AAAA structure - An error if the marshaling fails
func (*DNS_RPC_RECORD_AAAA) SetIPv6
func (r *DNS_RPC_RECORD_AAAA) SetIPv6(ip net.IP) error
SetIPv6 sets the address from a net.IP. The address MUST be representable as a 16-byte IPv6 address.
Parameters: - ip: The IPv6 address to store
Returns: - An error if ip cannot be represented as a 16-byte address
func (*DNS_RPC_RECORD_AAAA) Unmarshal
func (r *DNS_RPC_RECORD_AAAA) Unmarshal(rawData []byte) (int, error)
Unmarshal unmarshals a byte array into the DNS_RPC_RECORD_AAAA structure.
Parameters: - rawData: The byte array to unmarshal
Returns: - The number of bytes read - An error if the unmarshaling fails
type DNS\_RPC\_RECORD\_NAME\_PREFERENCE
DNS_RPC_RECORD_NAME_PREFERENCE is the record-data payload for records that pair a 16-bit preference value with an FQDN. Per [MS-DNSP] it is used for the following record types:
DNS_TYPE_MX, DNS_TYPE_AFSDB, DNS_TYPE_RT
WPreference is stored in network byte order (big-endian). NameExchange is stored in DNS_COUNT_NAME (section 2.2.2.2.2) form in a dnsRecord attribute value carried over LDAP.
Source: [MS-DNSP] DNS_RPC_RECORD_NAME_PREFERENCE (section 2.2.2.2.4.8) https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-dnsp/f647d391-6614-4c3e-b38b-4df971590eb6
type DNS_RPC_RECORD_NAME_PREFERENCE struct {
// WPreference (2 bytes): The preference value for the DNS server that holds the record.
// Big-endian.
WPreference uint16
// NameExchange (variable): The FQDN of the server hosting the mail-exchange.
NameExchange DNS_COUNT_NAME
}
func NewDNS\_RPC\_RECORD\_NAME\_PREFERENCE
func NewDNS_RPC_RECORD_NAME_PREFERENCE() *DNS_RPC_RECORD_NAME_PREFERENCE
NewDNS_RPC_RECORD_NAME_PREFERENCE creates a new, empty DNS_RPC_RECORD_NAME_PREFERENCE.
Returns: - A pointer to the new DNS_RPC_RECORD_NAME_PREFERENCE structure
func (*DNS_RPC_RECORD_NAME_PREFERENCE) Marshal
func (r *DNS_RPC_RECORD_NAME_PREFERENCE) Marshal() ([]byte, error)
Marshal marshals the DNS_RPC_RECORD_NAME_PREFERENCE structure into a byte array.
Returns: - A byte array representing the DNS_RPC_RECORD_NAME_PREFERENCE structure - An error if the marshaling fails
func (*DNS_RPC_RECORD_NAME_PREFERENCE) Unmarshal
func (r *DNS_RPC_RECORD_NAME_PREFERENCE) Unmarshal(rawData []byte) (int, error)
Unmarshal unmarshals a byte array into the DNS_RPC_RECORD_NAME_PREFERENCE structure.
Parameters: - rawData: The byte array to unmarshal
Returns: - The number of bytes read - An error if the unmarshaling fails
type DNS\_RPC\_RECORD\_NODE\_NAME
DNS_RPC_RECORD_NODE_NAME is the record-data payload for records whose data is a single FQDN. Per [MS-DNSP] it is used for the following record types:
DNS_TYPE_PTR, DNS_TYPE_NS, DNS_TYPE_CNAME, DNS_TYPE_DNAME,
DNS_TYPE_MB, DNS_TYPE_MR, DNS_TYPE_MG, DNS_TYPE_MD, DNS_TYPE_MF
Although the specification documents nameNode in DNS_RPC_NAME (section 2.2.2.2.1) form, in a dnsRecord attribute value carried over LDAP the name is stored in DNS_COUNT_NAME (section 2.2.2.2.2) form.
Source: [MS-DNSP] DNS_RPC_RECORD_NODE_NAME (section 2.2.2.2.4.2) https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-dnsp/8f986756-f151-4f5b-bfcf-0d85be8b0d7e
type DNS_RPC_RECORD_NODE_NAME struct {
// NameNode (variable): The FQDN of this node.
NameNode DNS_COUNT_NAME
}
func NewDNS\_RPC\_RECORD\_NODE\_NAME
func NewDNS_RPC_RECORD_NODE_NAME() *DNS_RPC_RECORD_NODE_NAME
NewDNS_RPC_RECORD_NODE_NAME creates a new, empty DNS_RPC_RECORD_NODE_NAME.
Returns: - A pointer to the new DNS_RPC_RECORD_NODE_NAME structure
func (*DNS_RPC_RECORD_NODE_NAME) Marshal
func (r *DNS_RPC_RECORD_NODE_NAME) Marshal() ([]byte, error)
Marshal marshals the DNS_RPC_RECORD_NODE_NAME structure into a byte array.
Returns: - A byte array representing the DNS_RPC_RECORD_NODE_NAME structure - An error if the marshaling fails
func (*DNS_RPC_RECORD_NODE_NAME) Unmarshal
func (r *DNS_RPC_RECORD_NODE_NAME) Unmarshal(rawData []byte) (int, error)
Unmarshal unmarshals a byte array into the DNS_RPC_RECORD_NODE_NAME structure.
Parameters: - rawData: The byte array to unmarshal
Returns: - The number of bytes read - An error if the unmarshaling fails
type DNS\_RPC\_RECORD\_SOA
DNS_RPC_RECORD_SOA is the record-data payload for a DNS_TYPE_SOA (Start of Authority) record, as specified in section 3.3.13 of [RFC1035].
The five numeric fields are stored in network byte order (big-endian). The two names are stored in DNS_COUNT_NAME (section 2.2.2.2.2) form in a dnsRecord attribute value carried over LDAP (the specification documents them in DNS_RPC_NAME form for the RPC wire).
Source: [MS-DNSP] DNS_RPC_RECORD_SOA (section 2.2.2.2.4.3) https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-dnsp/dcd3ec16-d6bf-4bb4-9128-6172f9e5f066
type DNS_RPC_RECORD_SOA struct {
// DwSerialNo (4 bytes): The serial number of the SOA record. Big-endian.
DwSerialNo uint32
// DwRefresh (4 bytes): The interval, in seconds, at which a secondary DNS server attempts
// to contact the primary DNS server for an update. Big-endian.
DwRefresh uint32
// DwRetry (4 bytes): The interval, in seconds, at which a secondary DNS server retries to
// check with the primary DNS server in case of failure. Big-endian.
DwRetry uint32
// DwExpire (4 bytes): The duration, in seconds, that a secondary DNS server continues to
// attempt updates before assuming the primary DNS server is unreachable. Big-endian.
DwExpire uint32
// DwMinimumTtl (4 bytes): The minimum duration, in seconds, for which record data in the
// zone is valid. Big-endian.
DwMinimumTtl uint32
// NamePrimaryServer (variable): The FQDN of the primary DNS server for this zone.
NamePrimaryServer DNS_COUNT_NAME
// ZoneAdminEmail (variable): The contact email address for the zone administrators.
ZoneAdminEmail DNS_COUNT_NAME
}
func NewDNS\_RPC\_RECORD\_SOA
func NewDNS_RPC_RECORD_SOA() *DNS_RPC_RECORD_SOA
NewDNS_RPC_RECORD_SOA creates a new, empty DNS_RPC_RECORD_SOA.
Returns: - A pointer to the new DNS_RPC_RECORD_SOA structure
func (*DNS_RPC_RECORD_SOA) Marshal
func (r *DNS_RPC_RECORD_SOA) Marshal() ([]byte, error)
Marshal marshals the DNS_RPC_RECORD_SOA structure into a byte array.
Returns: - A byte array representing the DNS_RPC_RECORD_SOA structure - An error if the marshaling fails
func (*DNS_RPC_RECORD_SOA) Unmarshal
func (r *DNS_RPC_RECORD_SOA) Unmarshal(rawData []byte) (int, error)
Unmarshal unmarshals a byte array into the DNS_RPC_RECORD_SOA structure.
Parameters: - rawData: The byte array to unmarshal
Returns: - The number of bytes read - An error if the unmarshaling fails
type DNS\_RPC\_RECORD\_SRV
DNS_RPC_RECORD_SRV is the record-data payload for a DNS_TYPE_SRV record, as specified in [RFC2782].
The three numeric fields are stored in network byte order (big-endian). NameTarget is stored in DNS_COUNT_NAME (section 2.2.2.2.2) form in a dnsRecord attribute value carried over LDAP.
Source: [MS-DNSP] DNS_RPC_RECORD_SRV (section 2.2.2.2.4.7) https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-dnsp/db37cab7-f121-43ba-81c5-ca0e198d4b9a
type DNS_RPC_RECORD_SRV struct {
// WPriority (2 bytes): The priority of the target host, per [RFC2782]. Big-endian.
WPriority uint16
// WWeight (2 bytes): The relative weight for the target host, per [RFC2782]. Big-endian.
WWeight uint16
// WPort (2 bytes): The port number for the service on the target host, per [RFC2782].
// Big-endian.
WPort uint16
// NameTarget (variable): The FQDN of the server that hosts this service.
NameTarget DNS_COUNT_NAME
}
func NewDNS\_RPC\_RECORD\_SRV
func NewDNS_RPC_RECORD_SRV() *DNS_RPC_RECORD_SRV
NewDNS_RPC_RECORD_SRV creates a new, empty DNS_RPC_RECORD_SRV.
Returns: - A pointer to the new DNS_RPC_RECORD_SRV structure
func (*DNS_RPC_RECORD_SRV) Marshal
func (r *DNS_RPC_RECORD_SRV) Marshal() ([]byte, error)
Marshal marshals the DNS_RPC_RECORD_SRV structure into a byte array.
Returns: - A byte array representing the DNS_RPC_RECORD_SRV structure - An error if the marshaling fails
func (*DNS_RPC_RECORD_SRV) Unmarshal
func (r *DNS_RPC_RECORD_SRV) Unmarshal(rawData []byte) (int, error)
Unmarshal unmarshals a byte array into the DNS_RPC_RECORD_SRV structure.
Parameters: - rawData: The byte array to unmarshal
Returns: - The number of bytes read - An error if the unmarshaling fails
type DNS\_RPC\_RECORD\_TS
DNS_RPC_RECORD_TS is the tombstone record-data payload. When the last record set for a node in a directory-server-integrated zone is deleted, the DNS server sets the node’s dnsTombstoned attribute to TRUE and writes a dnsRecord value of type DNS_TYPE_ZERO whose data is a DNS_RPC_RECORD_TS.
EntombedTime is stored little-endian, unlike the big-endian numeric fields of the SOA, SRV, and NAME_PREFERENCE payloads.
Source: [MS-DNSP] DNS_RPC_RECORD_TS (section 2.2.2.2.4.23); tombstone handling is described in Creating and Deleting a DNS Record, https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-dnsp/c87b1caf-904d-4d8a-a7d1-3a6908112cd3
type DNS_RPC_RECORD_TS struct {
// EntombedTime (8 bytes): The time at which the record was tombstoned, expressed as the
// number of 100-nanosecond intervals since 1601-01-01 00:00:00 UTC. Little-endian.
EntombedTime uint64
}
func NewDNS\_RPC\_RECORD\_TS
func NewDNS_RPC_RECORD_TS() *DNS_RPC_RECORD_TS
NewDNS_RPC_RECORD_TS creates a new, empty DNS_RPC_RECORD_TS.
Returns: - A pointer to the new DNS_RPC_RECORD_TS structure
func (*DNS_RPC_RECORD_TS) GetTime
func (r *DNS_RPC_RECORD_TS) GetTime() time.Time
GetTime returns EntombedTime as a UTC time.Time.
Returns: - The tombstone time in UTC
func (*DNS_RPC_RECORD_TS) Marshal
func (r *DNS_RPC_RECORD_TS) Marshal() ([]byte, error)
Marshal marshals the DNS_RPC_RECORD_TS structure into a byte array.
Returns: - A byte array representing the DNS_RPC_RECORD_TS structure - An error if the marshaling fails
func (*DNS_RPC_RECORD_TS) SetTime
func (r *DNS_RPC_RECORD_TS) SetTime(t time.Time)
SetTime sets EntombedTime from a time.Time.
Parameters: - t: The tombstone time
func (*DNS_RPC_RECORD_TS) Unmarshal
func (r *DNS_RPC_RECORD_TS) Unmarshal(rawData []byte) (int, error)
Unmarshal unmarshals a byte array into the DNS_RPC_RECORD_TS structure.
Parameters: - rawData: The byte array to unmarshal
Returns: - The number of bytes read - An error if the unmarshaling fails
type DNS\_RPC\_RRL\_PARAMS
DNS_RPC_RRL_PARAMS ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_RRL_PARAMS struct {
DwResponsesPerSecond ndr.DWORD
DwErrorsPerSecond ndr.DWORD
DwLeakRate ndr.DWORD
DwTCRate ndr.DWORD
DwTotalResponsesInWindow ndr.DWORD
DwWindowSize ndr.DWORD
DwIPv4PrefixLength ndr.DWORD
DwIPv6PrefixLength ndr.DWORD
EMode DNS_RRL_MODE_ENUM
DwFlags ndr.DWORD
FSetDefault ndr.BOOL
}
type DNS\_RPC\_SERVER\_INFO
DNS_RPC_SERVER_INFO is an alias for DNS_RPC_SERVER_INFO_LONGHORN (same IDL typedef).
type DNS_RPC_SERVER_INFO = DNS_RPC_SERVER_INFO_LONGHORN
type DNS\_RPC\_SERVER\_INFO\_DOTNET
DNS_RPC_SERVER_INFO_DOTNET ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_SERVER_INFO_DOTNET struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
DwVersion ndr.DWORD
FBootMethod uint8
FAdminConfigured bool
FAllowUpdate bool
FDsAvailable bool
PszServerName *ndr.STR `ndr:"unique"`
PszDsContainer *ndr.WSTR `ndr:"unique"`
AipServerAddrs *IP4_ARRAY `ndr:"unique"`
AipListenAddrs *IP4_ARRAY `ndr:"unique"`
AipForwarders *IP4_ARRAY `ndr:"unique"`
AipLogFilter *IP4_ARRAY `ndr:"unique"`
PwszLogFilePath *ndr.WSTR `ndr:"unique"`
PszDomainName *ndr.STR `ndr:"unique"`
PszForestName *ndr.STR `ndr:"unique"`
PszDomainDirectoryPartition *ndr.STR `ndr:"unique"`
PszForestDirectoryPartition *ndr.STR `ndr:"unique"`
PExtensions [6]*ndr.STR
DwLogLevel ndr.DWORD
DwDebugLevel ndr.DWORD
DwForwardTimeout ndr.DWORD
DwRpcProtocol ndr.DWORD
DwNameCheckFlag ndr.DWORD
CAddressAnswerLimit ndr.DWORD
DwRecursionRetry ndr.DWORD
DwRecursionTimeout ndr.DWORD
DwMaxCacheTtl ndr.DWORD
DwDsPollingInterval ndr.DWORD
DwLocalNetPriorityNetMask ndr.DWORD
DwScavengingInterval ndr.DWORD
DwDefaultRefreshInterval ndr.DWORD
DwDefaultNoRefreshInterval ndr.DWORD
DwLastScavengeTime ndr.DWORD
DwEventLogLevel ndr.DWORD
DwLogFileMaxSize ndr.DWORD
DwDsForestVersion ndr.DWORD
DwDsDomainVersion ndr.DWORD
DwDsDsaVersion ndr.DWORD
DwReserveArray [4]ndr.DWORD
FAutoReverseZones bool
FAutoCacheUpdate bool
FRecurseAfterForwarding bool
FForwardDelegations bool
FNoRecursion bool
FSecureResponses bool
FRoundRobin bool
FLocalNetPriority bool
FBindSecondaries bool
FWriteAuthorityNs bool
FStrictFileParsing bool
FLooseWildcarding bool
FDefaultAgingState bool
FReserveArray [15]bool
}
type DNS\_RPC\_SERVER\_INFO\_LONGHORN
DNS_RPC_SERVER_INFO_LONGHORN ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_SERVER_INFO_LONGHORN struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
DwVersion ndr.DWORD
FBootMethod uint8
FAdminConfigured bool
FAllowUpdate bool
FDsAvailable bool
PszServerName *ndr.STR `ndr:"unique"`
PszDsContainer *ndr.WSTR `ndr:"unique"`
AipServerAddrs *DNS_ADDR_ARRAY `ndr:"unique"`
AipListenAddrs *DNS_ADDR_ARRAY `ndr:"unique"`
AipForwarders *DNS_ADDR_ARRAY `ndr:"unique"`
AipLogFilter *DNS_ADDR_ARRAY `ndr:"unique"`
PwszLogFilePath *ndr.WSTR `ndr:"unique"`
PszDomainName *ndr.STR `ndr:"unique"`
PszForestName *ndr.STR `ndr:"unique"`
PszDomainDirectoryPartition *ndr.STR `ndr:"unique"`
PszForestDirectoryPartition *ndr.STR `ndr:"unique"`
PExtensions [6]*ndr.STR
DwLogLevel ndr.DWORD
DwDebugLevel ndr.DWORD
DwForwardTimeout ndr.DWORD
DwRpcProtocol ndr.DWORD
DwNameCheckFlag ndr.DWORD
CAddressAnswerLimit ndr.DWORD
DwRecursionRetry ndr.DWORD
DwRecursionTimeout ndr.DWORD
DwMaxCacheTtl ndr.DWORD
DwDsPollingInterval ndr.DWORD
DwLocalNetPriorityNetMask ndr.DWORD
DwScavengingInterval ndr.DWORD
DwDefaultRefreshInterval ndr.DWORD
DwDefaultNoRefreshInterval ndr.DWORD
DwLastScavengeTime ndr.DWORD
DwEventLogLevel ndr.DWORD
DwLogFileMaxSize ndr.DWORD
DwDsForestVersion ndr.DWORD
DwDsDomainVersion ndr.DWORD
DwDsDsaVersion ndr.DWORD
FReadOnlyDC bool
DwReserveArray [3]ndr.DWORD
FAutoReverseZones bool
FAutoCacheUpdate bool
FRecurseAfterForwarding bool
FForwardDelegations bool
FNoRecursion bool
FSecureResponses bool
FRoundRobin bool
FLocalNetPriority bool
FBindSecondaries bool
FWriteAuthorityNs bool
FStrictFileParsing bool
FLooseWildcarding bool
FDefaultAgingState bool
FReserveArray [15]bool
}
type DNS\_RPC\_SERVER\_INFO\_W2K
DNS_RPC_SERVER_INFO_W2K ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_SERVER_INFO_W2K struct {
DwVersion ndr.DWORD
FBootMethod uint8
FAdminConfigured bool
FAllowUpdate bool
FDsAvailable bool
PszServerName *ndr.STR `ndr:"unique"`
PszDsContainer *ndr.WSTR `ndr:"unique"`
AipServerAddrs *IP4_ARRAY `ndr:"unique"`
AipListenAddrs *IP4_ARRAY `ndr:"unique"`
AipForwarders *IP4_ARRAY `ndr:"unique"`
PExtension1 *ndr.DWORD `ndr:"unique"`
PExtension2 *ndr.DWORD `ndr:"unique"`
PExtension3 *ndr.DWORD `ndr:"unique"`
PExtension4 *ndr.DWORD `ndr:"unique"`
PExtension5 *ndr.DWORD `ndr:"unique"`
DwLogLevel ndr.DWORD
DwDebugLevel ndr.DWORD
DwForwardTimeout ndr.DWORD
DwRpcProtocol ndr.DWORD
DwNameCheckFlag ndr.DWORD
CAddressAnswerLimit ndr.DWORD
DwRecursionRetry ndr.DWORD
DwRecursionTimeout ndr.DWORD
DwMaxCacheTtl ndr.DWORD
DwDsPollingInterval ndr.DWORD
DwScavengingInterval ndr.DWORD
DwDefaultRefreshInterval ndr.DWORD
DwDefaultNoRefreshInterval ndr.DWORD
DwReserveArray [10]ndr.DWORD
FAutoReverseZones bool
FAutoCacheUpdate bool
FRecurseAfterForwarding bool
FForwardDelegations bool
FNoRecursion bool
FSecureResponses bool
FRoundRobin bool
FLocalNetPriority bool
FBindSecondaries bool
FWriteAuthorityNs bool
FStrictFileParsing bool
FLooseWildcarding bool
FDefaultAgingState bool
FReserveArray [15]bool
}
type DNS\_RPC\_SIGNING\_VALIDATION\_ERROR
DNS_RPC_SIGNING_VALIDATION_ERROR ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_SIGNING_VALIDATION_ERROR struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
GuidSKD msdtyp.GUID
PwszSigningKeyPointerString *ndr.WSTR `ndr:"unique"`
DwExtendedError ndr.DWORD
DwReserved ndr.DWORD
}
type DNS\_RPC\_SKD
DNS_RPC_SKD ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_SKD struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
Guid msdtyp.GUID
PwszKeyStorageProvider *ndr.WSTR `ndr:"unique"`
FStoreKeysInDirectory ndr.BOOL
FIsKSK ndr.BOOL
BSigningAlgorithm uint8
DwKeyLength ndr.DWORD
DwInitialRolloverOffset ndr.DWORD
DwDNSKEYSignatureValidityPeriod ndr.DWORD
DwDSSignatureValidityPeriod ndr.DWORD
DwStandardSignatureValidityPeriod ndr.DWORD
DwRolloverType ndr.DWORD
DwRolloverPeriod ndr.DWORD
DwNextRolloverAction ndr.DWORD
DwReserved ndr.DWORD
}
type DNS\_RPC\_SKD\_LIST
DNS_RPC_SKD_LIST ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_SKD_LIST struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
DwCount ndr.DWORD
SkdArray []*DNS_RPC_SKD `ndr:"conformant,size_is=DwCount,elem=unique"`
}
type DNS\_RPC\_SKD\_STATE
DNS_RPC_SKD_STATE ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_SKD_STATE struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
Guid msdtyp.GUID
FtLastRolloverTime msdtyp.FILETIME
FtNextRolloverTime msdtyp.FILETIME
DwState ndr.DWORD
DwCurrentRolloverStatus ndr.DWORD
PwszActiveKey *ndr.WSTR `ndr:"unique"`
PwszStandbyKey *ndr.WSTR `ndr:"unique"`
PwszNextKey *ndr.WSTR `ndr:"unique"`
DwReserved ndr.DWORD
}
type DNS\_RPC\_SKD\_STATE\_EX
DNS_RPC_SKD_STATE_EX ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_SKD_STATE_EX struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
Guid msdtyp.GUID
DwCurrentRollState ndr.DWORD
FManualTrigger ndr.DWORD
DwPreRollEventFired ndr.DWORD
FtNextKeyGenerationTime msdtyp.FILETIME
DwRevokedOrSwappedDnskeysLength ndr.DWORD
PRevokedOrSwappedDnskeysBuffer *uint8 `ndr:"unique"`
DwFinalDnskeysLength ndr.DWORD
PFinalDnskeys *uint8 `ndr:"unique"`
EActiveKeyScope KeySignScope
EStandByKeyScope KeySignScope
ENextKeyScope KeySignScope
}
type DNS\_RPC\_TRUST\_ANCHOR
DNS_RPC_TRUST_ANCHOR ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_TRUST_ANCHOR struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
WTrustAnchorType uint16
WKeyTag uint16
WRRLength uint16
ETrustAnchorState TRUSTANCHOR_STATE
I64EnteredStateTime int64
I64NextStateTime int64
DwReserved ndr.DWORD
RRData []uint8 `ndr:"conformant,size_is=WRRLength"`
}
type DNS\_RPC\_TRUST\_ANCHOR\_LIST
DNS_RPC_TRUST_ANCHOR_LIST ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_TRUST_ANCHOR_LIST struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
DwTrustAnchorCount ndr.DWORD
TrustAnchorArray []*DNS_RPC_TRUST_ANCHOR `ndr:"conformant,size_is=DwTrustAnchorCount,elem=unique"`
}
type DNS\_RPC\_TRUST\_POINT
DNS_RPC_TRUST_POINT ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_TRUST_POINT struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
PszTrustPointName *ndr.STR `ndr:"unique"`
ETrustPointState TRUSTPOINT_STATE
I64LastActiveRefreshTime int64
I64NextActiveRefreshTime int64
I64LastSuccessfulActiveRefreshTime int64
DwLastActiveRefreshResult ndr.DWORD
DwReserved ndr.DWORD
}
type DNS\_RPC\_TRUST\_POINT\_LIST
DNS_RPC_TRUST_POINT_LIST ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_TRUST_POINT_LIST struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
DwTrustPointCount ndr.DWORD
TrustPointArray []*DNS_RPC_TRUST_POINT `ndr:"conformant,size_is=DwTrustPointCount,elem=unique"`
}
type DNS\_RPC\_TYPEID
DNS_RPC_TYPEID enumerates the type ids that discriminate DNSSRV_RPC_UNION ([MS-DNSP] 2.2.1.1.1). It is not itself transmitted on the wire: the union discriminant is the method’s dwTypeId/dwTypeIn/pdwTypeId parameter, a DWORD ([MS-DNSP] 3.1.4). Modeled as a uint32 (not the usual 16-bit NDR enum) so the DNSSRV_TYPEID_ANY sentinel (-1) fits.
type DNS_RPC_TYPEID uint32
const (
DNSSRV_TYPEID_ANY DNS_RPC_TYPEID = 0xFFFFFFFF
DNSSRV_TYPEID_NULL DNS_RPC_TYPEID = 0
DNSSRV_TYPEID_DWORD DNS_RPC_TYPEID = 1
DNSSRV_TYPEID_LPSTR DNS_RPC_TYPEID = 2
DNSSRV_TYPEID_LPWSTR DNS_RPC_TYPEID = 3
DNSSRV_TYPEID_IPARRAY DNS_RPC_TYPEID = 4
DNSSRV_TYPEID_BUFFER DNS_RPC_TYPEID = 5
DNSSRV_TYPEID_SERVER_INFO_W2K DNS_RPC_TYPEID = 6
DNSSRV_TYPEID_STATS DNS_RPC_TYPEID = 7
DNSSRV_TYPEID_FORWARDERS_W2K DNS_RPC_TYPEID = 8
DNSSRV_TYPEID_ZONE_W2K DNS_RPC_TYPEID = 9
DNSSRV_TYPEID_ZONE_INFO_W2K DNS_RPC_TYPEID = 10
DNSSRV_TYPEID_ZONE_SECONDARIES_W2K DNS_RPC_TYPEID = 11
DNSSRV_TYPEID_ZONE_DATABASE_W2K DNS_RPC_TYPEID = 12
DNSSRV_TYPEID_ZONE_TYPE_RESET_W2K DNS_RPC_TYPEID = 13
DNSSRV_TYPEID_ZONE_CREATE_W2K DNS_RPC_TYPEID = 14
DNSSRV_TYPEID_NAME_AND_PARAM DNS_RPC_TYPEID = 15
DNSSRV_TYPEID_ZONE_LIST_W2K DNS_RPC_TYPEID = 16
DNSSRV_TYPEID_ZONE_RENAME DNS_RPC_TYPEID = 17
DNSSRV_TYPEID_ZONE_EXPORT DNS_RPC_TYPEID = 18
DNSSRV_TYPEID_SERVER_INFO_DOTNET DNS_RPC_TYPEID = 19
DNSSRV_TYPEID_FORWARDERS_DOTNET DNS_RPC_TYPEID = 20
DNSSRV_TYPEID_ZONE DNS_RPC_TYPEID = 21
DNSSRV_TYPEID_ZONE_INFO_DOTNET DNS_RPC_TYPEID = 22
DNSSRV_TYPEID_ZONE_SECONDARIES_DOTNET DNS_RPC_TYPEID = 23
DNSSRV_TYPEID_ZONE_DATABASE DNS_RPC_TYPEID = 24
DNSSRV_TYPEID_ZONE_TYPE_RESET_DOTNET DNS_RPC_TYPEID = 25
DNSSRV_TYPEID_ZONE_CREATE_DOTNET DNS_RPC_TYPEID = 26
DNSSRV_TYPEID_ZONE_LIST DNS_RPC_TYPEID = 27
DNSSRV_TYPEID_DP_ENUM DNS_RPC_TYPEID = 28
DNSSRV_TYPEID_DP_INFO DNS_RPC_TYPEID = 29
DNSSRV_TYPEID_DP_LIST DNS_RPC_TYPEID = 30
DNSSRV_TYPEID_ENLIST_DP DNS_RPC_TYPEID = 31
DNSSRV_TYPEID_ZONE_CHANGE_DP DNS_RPC_TYPEID = 32
DNSSRV_TYPEID_ENUM_ZONES_FILTER DNS_RPC_TYPEID = 33
DNSSRV_TYPEID_ADDRARRAY DNS_RPC_TYPEID = 34
DNSSRV_TYPEID_SERVER_INFO DNS_RPC_TYPEID = 35
DNSSRV_TYPEID_ZONE_INFO DNS_RPC_TYPEID = 36
DNSSRV_TYPEID_FORWARDERS DNS_RPC_TYPEID = 37
DNSSRV_TYPEID_ZONE_SECONDARIES DNS_RPC_TYPEID = 38
DNSSRV_TYPEID_ZONE_TYPE_RESET DNS_RPC_TYPEID = 39
DNSSRV_TYPEID_ZONE_CREATE DNS_RPC_TYPEID = 40
DNSSRV_TYPEID_IP_VALIDATE DNS_RPC_TYPEID = 41
DNSSRV_TYPEID_AUTOCONFIGURE DNS_RPC_TYPEID = 42
DNSSRV_TYPEID_UTF8_STRING_LIST DNS_RPC_TYPEID = 43
DNSSRV_TYPEID_UNICODE_STRING_LIST DNS_RPC_TYPEID = 44
DNSSRV_TYPEID_SKD DNS_RPC_TYPEID = 45
DNSSRV_TYPEID_SKD_LIST DNS_RPC_TYPEID = 46
DNSSRV_TYPEID_SKD_STATE DNS_RPC_TYPEID = 47
DNSSRV_TYPEID_SIGNING_VALIDATION_ERROR DNS_RPC_TYPEID = 48
DNSSRV_TYPEID_TRUST_POINT_LIST DNS_RPC_TYPEID = 49
DNSSRV_TYPEID_TRUST_ANCHOR_LIST DNS_RPC_TYPEID = 50
DNSSRV_TYPEID_ZONE_SIGNING_SETTINGS DNS_RPC_TYPEID = 51
DNSSRV_TYPEID_ZONE_SCOPE_ENUM DNS_RPC_TYPEID = 52
DNSSRV_TYPEID_ZONE_STATS DNS_RPC_TYPEID = 53
DNSSRV_TYPEID_ZONE_SCOPE_CREATE DNS_RPC_TYPEID = 54
DNSSRV_TYPEID_ZONE_SCOPE_INFO DNS_RPC_TYPEID = 55
DNSSRV_TYPEID_SCOPE_ENUM DNS_RPC_TYPEID = 56
DNSSRV_TYPEID_CLIENT_SUBNET_RECORD DNS_RPC_TYPEID = 57
DNSSRV_TYPEID_POLICY DNS_RPC_TYPEID = 58
DNSSRV_TYPEID_POLICY_NAME DNS_RPC_TYPEID = 59
DNSSRV_TYPEID_POLICY_ENUM DNS_RPC_TYPEID = 60
DNSSRV_TYPEID_RRL DNS_RPC_TYPEID = 61
DNSSRV_TYPEID_VIRTUALIZATION_INSTANCE DNS_RPC_TYPEID = 62
DNSSRV_TYPEID_VIRTUALIZATION_INSTANCE_ENUM DNS_RPC_TYPEID = 63
DNSSRV_TYPEID_ENCRYPTION_CONFIG DNS_RPC_TYPEID = 64
)
type DNS\_RPC\_UNICODE\_STRING\_LIST
DNS_RPC_UNICODE_STRING_LIST ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_UNICODE_STRING_LIST struct {
DwCount ndr.DWORD
PwszStrings []*ndr.WSTR `ndr:"conformant,size_is=DwCount,elem=unique"`
}
type DNS\_RPC\_UTF8\_STRING\_LIST
DNS_RPC_UTF8_STRING_LIST ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_UTF8_STRING_LIST struct {
DwCount ndr.DWORD
PszStrings []*ndr.STR `ndr:"conformant,size_is=DwCount,elem=unique"`
}
type DNS\_RPC\_VIRTUALIZATION\_INSTANCE
DNS_RPC_VIRTUALIZATION_INSTANCE ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_VIRTUALIZATION_INSTANCE struct {
DwRpcStructureVersion ndr.DWORD
DwReserved ndr.DWORD
DwFlags ndr.DWORD
PwszVirtualizationID *ndr.WSTR `ndr:"unique"`
PwszFriendlyName *ndr.WSTR `ndr:"unique"`
PwszDescription *ndr.WSTR `ndr:"unique"`
}
type DNS\_RPC\_VIRTUALIZATION\_INSTANCE\_INFO
DNS_RPC_VIRTUALIZATION_INSTANCE_INFO ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_VIRTUALIZATION_INSTANCE_INFO struct {
PwszVirtualizationID *ndr.WSTR `ndr:"unique"`
PwszFriendlyName *ndr.WSTR `ndr:"unique"`
PwszDescription *ndr.WSTR `ndr:"unique"`
}
type DNS\_RPC\_ZONE
DNS_RPC_ZONE is an alias for DNS_RPC_ZONE_DOTNET (same IDL typedef).
type DNS_RPC_ZONE = DNS_RPC_ZONE_DOTNET
type DNS\_RPC\_ZONE\_CHANGE\_DP
DNS_RPC_ZONE_CHANGE_DP ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_ZONE_CHANGE_DP struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
PszDestPartition *ndr.STR `ndr:"unique"`
}
type DNS\_RPC\_ZONE\_CREATE\_INFO
DNS_RPC_ZONE_CREATE_INFO is an alias for DNS_RPC_ZONE_CREATE_INFO_LONGHORN (same IDL typedef).
type DNS_RPC_ZONE_CREATE_INFO = DNS_RPC_ZONE_CREATE_INFO_LONGHORN
type DNS\_RPC\_ZONE\_CREATE\_INFO\_DOTNET
DNS_RPC_ZONE_CREATE_INFO_DOTNET ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_ZONE_CREATE_INFO_DOTNET struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
PszZoneName *ndr.STR `ndr:"unique"`
DwZoneType ndr.DWORD
FAllowUpdate ndr.DWORD
FAging ndr.DWORD
DwFlags ndr.DWORD
PszDataFile *ndr.STR `ndr:"unique"`
FDsIntegrated ndr.DWORD
FLoadExisting ndr.DWORD
PszAdmin *ndr.STR `ndr:"unique"`
AipMasters *IP4_ARRAY `ndr:"unique"`
AipSecondaries *IP4_ARRAY `ndr:"unique"`
FSecureSecondaries ndr.DWORD
FNotifyLevel ndr.DWORD
DwTimeout ndr.DWORD
FRecurseAfterForwarding ndr.DWORD
DwDpFlags ndr.DWORD
PszDpFqdn *ndr.STR `ndr:"unique"`
DwReserved [32]ndr.DWORD
}
type DNS\_RPC\_ZONE\_CREATE\_INFO\_LONGHORN
DNS_RPC_ZONE_CREATE_INFO_LONGHORN ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_ZONE_CREATE_INFO_LONGHORN struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
PszZoneName *ndr.STR `ndr:"unique"`
DwZoneType ndr.DWORD
FAllowUpdate ndr.DWORD
FAging ndr.DWORD
DwFlags ndr.DWORD
PszDataFile *ndr.STR `ndr:"unique"`
FDsIntegrated ndr.DWORD
FLoadExisting ndr.DWORD
PszAdmin *ndr.STR `ndr:"unique"`
AipMasters *DNS_ADDR_ARRAY `ndr:"unique"`
AipSecondaries *DNS_ADDR_ARRAY `ndr:"unique"`
FSecureSecondaries ndr.DWORD
FNotifyLevel ndr.DWORD
DwTimeout ndr.DWORD
FRecurseAfterForwarding ndr.DWORD
DwDpFlags ndr.DWORD
PszDpFqdn *ndr.STR `ndr:"unique"`
DwReserved [32]ndr.DWORD
}
type DNS\_RPC\_ZONE\_CREATE\_INFO\_W2K
DNS_RPC_ZONE_CREATE_INFO_W2K ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_ZONE_CREATE_INFO_W2K struct {
PszZoneName *ndr.STR `ndr:"unique"`
DwZoneType ndr.DWORD
FAllowUpdate ndr.DWORD
FAging ndr.DWORD
DwFlags ndr.DWORD
PszDataFile *ndr.STR `ndr:"unique"`
FDsIntegrated ndr.DWORD
FLoadExisting ndr.DWORD
PszAdmin *ndr.STR `ndr:"unique"`
AipMasters *IP4_ARRAY `ndr:"unique"`
AipSecondaries *IP4_ARRAY `ndr:"unique"`
FSecureSecondaries ndr.DWORD
FNotifyLevel ndr.DWORD
PvReserved1 *ndr.STR `ndr:"unique"`
PvReserved2 *ndr.STR `ndr:"unique"`
PvReserved3 *ndr.STR `ndr:"unique"`
PvReserved4 *ndr.STR `ndr:"unique"`
PvReserved5 *ndr.STR `ndr:"unique"`
PvReserved6 *ndr.STR `ndr:"unique"`
PvReserved7 *ndr.STR `ndr:"unique"`
PvReserved8 *ndr.STR `ndr:"unique"`
DwReserved1 ndr.DWORD
DwReserved2 ndr.DWORD
DwReserved3 ndr.DWORD
DwReserved4 ndr.DWORD
DwReserved5 ndr.DWORD
DwReserved6 ndr.DWORD
DwReserved7 ndr.DWORD
DwReserved8 ndr.DWORD
}
type DNS\_RPC\_ZONE\_DATABASE
DNS_RPC_ZONE_DATABASE is an alias for DNS_RPC_ZONE_DATABASE_DOTNET (same IDL typedef).
type DNS_RPC_ZONE_DATABASE = DNS_RPC_ZONE_DATABASE_DOTNET
type DNS\_RPC\_ZONE\_DATABASE\_DOTNET
DNS_RPC_ZONE_DATABASE_DOTNET ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_ZONE_DATABASE_DOTNET struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
FDsIntegrated ndr.DWORD
PszFileName *ndr.STR `ndr:"unique"`
}
type DNS\_RPC\_ZONE\_DATABASE\_W2K
DNS_RPC_ZONE_DATABASE_W2K ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_ZONE_DATABASE_W2K struct {
FDsIntegrated ndr.DWORD
PszFileName *ndr.STR `ndr:"unique"`
}
type DNS\_RPC\_ZONE\_DNSSEC\_SETTINGS
DNS_RPC_ZONE_DNSSEC_SETTINGS ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_ZONE_DNSSEC_SETTINGS struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
FIsSigned ndr.DWORD
FSignWithNSEC3 ndr.DWORD
FNSEC3OptOut ndr.DWORD
DwMaintainTrustAnchor ndr.DWORD
FParentHasSecureDelegation ndr.DWORD
DwDSRecordAlgorithms ndr.DWORD
FRFC5011KeyRollovers ndr.DWORD
BNSEC3HashAlgorithm uint8
BNSEC3RandomSaltLength uint8
WNSEC3IterationCount uint16
PwszNSEC3UserSalt *ndr.WSTR `ndr:"unique"`
DwDNSKEYRecordSetTtl ndr.DWORD
DwDSRecordSetTtl ndr.DWORD
DwSignatureInceptionOffset ndr.DWORD
DwSecureDelegationPollingPeriod ndr.DWORD
DwPropagationTime ndr.DWORD
CbNSEC3CurrentSaltLength ndr.DWORD
PbNSEC3CurrentSalt *uint8 `ndr:"unique"`
CurrentRollingSKDGuid msdtyp.GUID
DwBufferLength ndr.DWORD
PBuffer *uint8 `ndr:"unique"`
DwCount ndr.DWORD
PZoneSkdArray [1]*DNS_RPC_ZONE_SKD
}
type DNS\_RPC\_ZONE\_DOTNET
DNS_RPC_ZONE_DOTNET ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_ZONE_DOTNET struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
PszZoneName *ndr.WSTR `ndr:"unique"`
Flags ndr.DWORD
ZoneType uint8
Version uint8
DwDpFlags ndr.DWORD
PszDpFqdn *ndr.STR `ndr:"unique"`
}
type DNS\_RPC\_ZONE\_EXPORT\_INFO
DNS_RPC_ZONE_EXPORT_INFO ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_ZONE_EXPORT_INFO struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
PszZoneExportFile *ndr.STR `ndr:"unique"`
}
type DNS\_RPC\_ZONE\_FLAGS
DNS_RPC_ZONE_FLAGS is a scalar typedef ([MS-DNSP]).
type DNS_RPC_ZONE_FLAGS ndr.DWORD
type DNS\_RPC\_ZONE\_INFO
DNS_RPC_ZONE_INFO is an alias for DNS_RPC_ZONE_INFO_LONGHORN (same IDL typedef).
type DNS_RPC_ZONE_INFO = DNS_RPC_ZONE_INFO_LONGHORN
type DNS\_RPC\_ZONE\_INFO\_DOTNET
DNS_RPC_ZONE_INFO_DOTNET ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_ZONE_INFO_DOTNET struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
PszZoneName *ndr.STR `ndr:"unique"`
DwZoneType ndr.DWORD
FReverse ndr.DWORD
FAllowUpdate ndr.DWORD
FPaused ndr.DWORD
FShutdown ndr.DWORD
FAutoCreated ndr.DWORD
FUseDatabase ndr.DWORD
PszDataFile *ndr.STR `ndr:"unique"`
AipMasters *IP4_ARRAY `ndr:"unique"`
FSecureSecondaries ndr.DWORD
FNotifyLevel ndr.DWORD
AipSecondaries *IP4_ARRAY `ndr:"unique"`
AipNotify *IP4_ARRAY `ndr:"unique"`
FUseWins ndr.DWORD
FUseNbstat ndr.DWORD
FAging ndr.DWORD
DwNoRefreshInterval ndr.DWORD
DwRefreshInterval ndr.DWORD
DwAvailForScavengeTime ndr.DWORD
AipScavengeServers *IP4_ARRAY `ndr:"unique"`
DwForwarderTimeout ndr.DWORD
FForwarderSlave ndr.DWORD
AipLocalMasters *IP4_ARRAY `ndr:"unique"`
DwDpFlags ndr.DWORD
PszDpFqdn *ndr.STR `ndr:"unique"`
PwszZoneDn *ndr.WSTR `ndr:"unique"`
DwLastSuccessfulSoaCheck ndr.DWORD
DwLastSuccessfulXfr ndr.DWORD
DwReserved1 ndr.DWORD
DwReserved2 ndr.DWORD
DwReserved3 ndr.DWORD
DwReserved4 ndr.DWORD
DwReserved5 ndr.DWORD
PReserved1 *ndr.STR `ndr:"unique"`
PReserved2 *ndr.STR `ndr:"unique"`
PReserved3 *ndr.STR `ndr:"unique"`
PReserved4 *ndr.STR `ndr:"unique"`
}
type DNS\_RPC\_ZONE\_INFO\_LONGHORN
DNS_RPC_ZONE_INFO_LONGHORN ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_ZONE_INFO_LONGHORN struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
PszZoneName *ndr.STR `ndr:"unique"`
DwZoneType ndr.DWORD
FReverse ndr.DWORD
FAllowUpdate ndr.DWORD
FPaused ndr.DWORD
FShutdown ndr.DWORD
FAutoCreated ndr.DWORD
FUseDatabase ndr.DWORD
PszDataFile *ndr.STR `ndr:"unique"`
AipMasters *DNS_ADDR_ARRAY `ndr:"unique"`
FSecureSecondaries ndr.DWORD
FNotifyLevel ndr.DWORD
AipSecondaries *DNS_ADDR_ARRAY `ndr:"unique"`
AipNotify *DNS_ADDR_ARRAY `ndr:"unique"`
FUseWins ndr.DWORD
FUseNbstat ndr.DWORD
FAging ndr.DWORD
DwNoRefreshInterval ndr.DWORD
DwRefreshInterval ndr.DWORD
DwAvailForScavengeTime ndr.DWORD
AipScavengeServers *DNS_ADDR_ARRAY `ndr:"unique"`
DwForwarderTimeout ndr.DWORD
FForwarderSlave ndr.DWORD
AipLocalMasters *DNS_ADDR_ARRAY `ndr:"unique"`
DwDpFlags ndr.DWORD
PszDpFqdn *ndr.STR `ndr:"unique"`
PwszZoneDn *ndr.WSTR `ndr:"unique"`
DwLastSuccessfulSoaCheck ndr.DWORD
DwLastSuccessfulXfr ndr.DWORD
FQueuedForBackgroundLoad ndr.DWORD
FBackgroundLoadInProgress ndr.DWORD
FReadOnlyZone ndr.BOOL
DwLastXfrAttempt ndr.DWORD
DwLastXfrResult ndr.DWORD
}
type DNS\_RPC\_ZONE\_INFO\_W2K
DNS_RPC_ZONE_INFO_W2K ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_ZONE_INFO_W2K struct {
PszZoneName *ndr.STR `ndr:"unique"`
DwZoneType ndr.DWORD
FReverse ndr.DWORD
FAllowUpdate ndr.DWORD
FPaused ndr.DWORD
FShutdown ndr.DWORD
FAutoCreated ndr.DWORD
FUseDatabase ndr.DWORD
PszDataFile *ndr.STR `ndr:"unique"`
AipMasters *IP4_ARRAY `ndr:"unique"`
FSecureSecondaries ndr.DWORD
FNotifyLevel ndr.DWORD
AipSecondaries *IP4_ARRAY `ndr:"unique"`
AipNotify *IP4_ARRAY `ndr:"unique"`
FUseWins ndr.DWORD
FUseNbstat ndr.DWORD
FAging ndr.DWORD
DwNoRefreshInterval ndr.DWORD
DwRefreshInterval ndr.DWORD
DwAvailForScavengeTime ndr.DWORD
AipScavengeServers *IP4_ARRAY `ndr:"unique"`
PvReserved1 ndr.DWORD
PvReserved2 ndr.DWORD
PvReserved3 ndr.DWORD
PvReserved4 ndr.DWORD
}
type DNS\_RPC\_ZONE\_LIST
DNS_RPC_ZONE_LIST is an alias for DNS_RPC_ZONE_LIST_DOTNET (same IDL typedef).
type DNS_RPC_ZONE_LIST = DNS_RPC_ZONE_LIST_DOTNET
type DNS\_RPC\_ZONE\_LIST\_DOTNET
DNS_RPC_ZONE_LIST_DOTNET ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_ZONE_LIST_DOTNET struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
DwZoneCount ndr.DWORD
ZoneArray []*DNS_RPC_ZONE_DOTNET `ndr:"conformant,size_is=DwZoneCount,elem=unique"`
}
type DNS\_RPC\_ZONE\_LIST\_W2K
DNS_RPC_ZONE_LIST_W2K ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_ZONE_LIST_W2K struct {
DwZoneCount ndr.DWORD
ZoneArray []*DNS_RPC_ZONE_W2K `ndr:"conformant,size_is=DwZoneCount,elem=unique"`
}
type DNS\_RPC\_ZONE\_SCOPE\_CREATE\_INFO
DNS_RPC_ZONE_SCOPE_CREATE_INFO is an alias for DNS_RPC_ZONE_SCOPE_CREATE_INFO_V1 ([MS-DNSP]).
type DNS_RPC_ZONE_SCOPE_CREATE_INFO = DNS_RPC_ZONE_SCOPE_CREATE_INFO_V1
type DNS\_RPC\_ZONE\_SCOPE\_CREATE\_INFO\_V1
DNS_RPC_ZONE_SCOPE_CREATE_INFO_V1 ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_ZONE_SCOPE_CREATE_INFO_V1 struct {
DwFlags ndr.DWORD
PwszScopeName *ndr.WSTR `ndr:"unique"`
}
type DNS\_RPC\_ZONE\_SCOPE\_INFO
DNS_RPC_ZONE_SCOPE_INFO is an alias for DNS_RPC_ZONE_SCOPE_INFO_V1 ([MS-DNSP]).
type DNS_RPC_ZONE_SCOPE_INFO = DNS_RPC_ZONE_SCOPE_INFO_V1
type DNS\_RPC\_ZONE\_SCOPE\_INFO\_V1
DNS_RPC_ZONE_SCOPE_INFO_V1 ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_ZONE_SCOPE_INFO_V1 struct {
DwRpcStructureVersion ndr.DWORD
PwszScopeName *ndr.WSTR `ndr:"unique"`
PwszDataFile *ndr.WSTR `ndr:"unique"`
}
type DNS\_RPC\_ZONE\_SECONDARIES
DNS_RPC_ZONE_SECONDARIES is an alias for DNS_RPC_ZONE_SECONDARIES_LONGHORN (same IDL typedef).
type DNS_RPC_ZONE_SECONDARIES = DNS_RPC_ZONE_SECONDARIES_LONGHORN
type DNS\_RPC\_ZONE\_SECONDARIES\_DOTNET
DNS_RPC_ZONE_SECONDARIES_DOTNET ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_ZONE_SECONDARIES_DOTNET struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
FSecureSecondaries ndr.DWORD
FNotifyLevel ndr.DWORD
AipSecondaries *IP4_ARRAY `ndr:"unique"`
AipNotify *IP4_ARRAY `ndr:"unique"`
}
type DNS\_RPC\_ZONE\_SECONDARIES\_LONGHORN
DNS_RPC_ZONE_SECONDARIES_LONGHORN ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_ZONE_SECONDARIES_LONGHORN struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
FSecureSecondaries ndr.DWORD
FNotifyLevel ndr.DWORD
AipSecondaries *DNS_ADDR_ARRAY `ndr:"unique"`
AipNotify *DNS_ADDR_ARRAY `ndr:"unique"`
}
type DNS\_RPC\_ZONE\_SECONDARIES\_W2K
DNS_RPC_ZONE_SECONDARIES_W2K ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_ZONE_SECONDARIES_W2K struct {
FSecureSecondaries ndr.DWORD
FNotifyLevel ndr.DWORD
AipSecondaries *IP4_ARRAY `ndr:"unique"`
AipNotify *IP4_ARRAY `ndr:"unique"`
}
type DNS\_RPC\_ZONE\_SKD
DNS_RPC_ZONE_SKD ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_ZONE_SKD struct {
DwRpcStructureVersion ndr.DWORD
DwReserved0 ndr.DWORD
PSkd *DNS_RPC_SKD `ndr:"unique"`
PSkdState *DNS_RPC_SKD_STATE `ndr:"unique"`
PSkdStateEx *DNS_RPC_SKD_STATE_EX `ndr:"unique"`
}
type DNS\_RPC\_ZONE\_STATS
DNS_RPC_ZONE_STATS is an alias for DNS_RPC_ZONE_STATS_V1 ([MS-DNSP]).
type DNS_RPC_ZONE_STATS = DNS_RPC_ZONE_STATS_V1
type DNS\_RPC\_ZONE\_STATS\_V1
DNS_RPC_ZONE_STATS_V1 ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_ZONE_STATS_V1 struct {
DwRpcStructureVersion ndr.DWORD
ZoneTimeStats DNSSRV_ZONE_TIME_STATS
ZoneQueryStats [32]DNSSRV_ZONE_QUERY_STATS
ZoneTransferStats [2]DNSSRV_ZONE_TRANSFER_STATS
ZoneUpdateStats DNSSRV_ZONE_UPDATE_STATS
ZoneRRLStats DNSSRV_ZONE_RRL_STATS
}
type DNS\_RPC\_ZONE\_W2K
DNS_RPC_ZONE_W2K ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_RPC_ZONE_W2K struct {
PszZoneName *ndr.WSTR `ndr:"unique"`
Flags ndr.DWORD
ZoneType uint8
Version uint8
}
type DNS\_RRL\_MODE\_ENUM
DNS_RRL_MODE_ENUM is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-DNSP]).
type DNS_RRL_MODE_ENUM uint16
const (
DnsRRLLogOnly DNS_RRL_MODE_ENUM = 0
DnsRRLEnabled DNS_RRL_MODE_ENUM = 1
DnsRRLDisabled DNS_RRL_MODE_ENUM = 2
)
type DNS\_SYSTEMTIME
DNS_SYSTEMTIME ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type DNS_SYSTEMTIME struct {
WYear uint16
WMonth uint16
WDayOfWeek uint16
WDay uint16
WHour uint16
WMinute uint16
WSecond uint16
WMilliseconds uint16
}
type DNS\_ZONE\_STATS\_TYPE
DNS_ZONE_STATS_TYPE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-DNSP]).
type DNS_ZONE_STATS_TYPE uint16
const (
ZONE_STATS_TYPE_RECORD_A DNS_ZONE_STATS_TYPE = 0
ZONE_STATS_TYPE_RECORD_AAAA DNS_ZONE_STATS_TYPE = 1
ZONE_STATS_TYPE_RECORD_PTR DNS_ZONE_STATS_TYPE = 2
ZONE_STATS_TYPE_RECORD_CNAME DNS_ZONE_STATS_TYPE = 3
ZONE_STATS_TYPE_RECORD_MX DNS_ZONE_STATS_TYPE = 4
ZONE_STATS_TYPE_RECORD_AFSDB DNS_ZONE_STATS_TYPE = 5
ZONE_STATS_TYPE_RECORD_ATMA DNS_ZONE_STATS_TYPE = 6
ZONE_STATS_TYPE_RECORD_DHCID DNS_ZONE_STATS_TYPE = 7
ZONE_STATS_TYPE_RECORD_DNAME DNS_ZONE_STATS_TYPE = 8
ZONE_STATS_TYPE_RECORD_HINFO DNS_ZONE_STATS_TYPE = 9
ZONE_STATS_TYPE_RECORD_ISDN DNS_ZONE_STATS_TYPE = 10
ZONE_STATS_TYPE_RECORD_MG DNS_ZONE_STATS_TYPE = 11
ZONE_STATS_TYPE_RECORD_MB DNS_ZONE_STATS_TYPE = 12
ZONE_STATS_TYPE_RECORD_MINFO DNS_ZONE_STATS_TYPE = 13
ZONE_STATS_TYPE_RECORD_NAPTR DNS_ZONE_STATS_TYPE = 14
ZONE_STATS_TYPE_RECORD_NXT DNS_ZONE_STATS_TYPE = 15
ZONE_STATS_TYPE_RECORD_KEY DNS_ZONE_STATS_TYPE = 16
ZONE_STATS_TYPE_RECORD_MR DNS_ZONE_STATS_TYPE = 17
ZONE_STATS_TYPE_RECORD_RP DNS_ZONE_STATS_TYPE = 18
ZONE_STATS_TYPE_RECORD_RT DNS_ZONE_STATS_TYPE = 19
ZONE_STATS_TYPE_RECORD_SRV DNS_ZONE_STATS_TYPE = 20
ZONE_STATS_TYPE_RECORD_SIG DNS_ZONE_STATS_TYPE = 21
ZONE_STATS_TYPE_RECORD_TEXT DNS_ZONE_STATS_TYPE = 22
ZONE_STATS_TYPE_RECORD_WKS DNS_ZONE_STATS_TYPE = 23
ZONE_STATS_TYPE_RECORD_X25 DNS_ZONE_STATS_TYPE = 24
ZONE_STATS_TYPE_RECORD_DNSKEY DNS_ZONE_STATS_TYPE = 25
ZONE_STATS_TYPE_RECORD_DS DNS_ZONE_STATS_TYPE = 26
ZONE_STATS_TYPE_RECORD_NS DNS_ZONE_STATS_TYPE = 27
ZONE_STATS_TYPE_RECORD_SOA DNS_ZONE_STATS_TYPE = 28
ZONE_STATS_TYPE_RECORD_TLSA DNS_ZONE_STATS_TYPE = 29
ZONE_STATS_TYPE_RECORD_ALL DNS_ZONE_STATS_TYPE = 30
ZONE_STATS_TYPE_RECORD_OTHERS DNS_ZONE_STATS_TYPE = 31
ZONE_STATS_TYPE_TRANSFER_AXFR DNS_ZONE_STATS_TYPE = 32
ZONE_STATS_TYPE_TRANSFER_IXFR DNS_ZONE_STATS_TYPE = 33
ZONE_STATS_TYPE_UPDATE DNS_ZONE_STATS_TYPE = 34
ZONE_STATS_TYPE_RRL DNS_ZONE_STATS_TYPE = 35
MAX_ZONE_STATS_TYPES DNS_ZONE_STATS_TYPE = 36
)
type IP4\_ARRAY
IP4_ARRAY ([MS-DNSP]). Generated by tools/idlgen; verify pointer/array tags.
type IP4_ARRAY struct {
AddrCount ndr.DWORD
AddrArray []ndr.DWORD `ndr:"conformant,size_is=AddrCount"`
}
type ImportOpResult
ImportOpResult is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-DNSP]).
type ImportOpResult uint16
const (
IMPORT_STATUS_NOOP ImportOpResult = 0
IMPORT_STATUS_SIGNING_READY ImportOpResult = 1
IMPORT_STATUS_UNSIGNING_READY ImportOpResult = 2
IMPORT_STATUS_CHANGED ImportOpResult = 3
)
type KeySignScope
KeySignScope is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-DNSP]).
type KeySignScope uint16
const (
SIGN_SCOPE_DEFAULT KeySignScope = 0
SIGN_SCOPE_DNSKEY_ONLY KeySignScope = 1
SIGN_SCOPE_ALL_RECORDS KeySignScope = 2
SIGN_SCOPE_ADD_ONLY KeySignScope = 3
SIGN_SCOPE_DO_NOT_PUBLISH KeySignScope = 4
SIGN_SCOPE_REVOKED KeySignScope = 5
)
type PropertyId
PropertyId is the 32-bit value stored in the Id field of a DNS_PROPERTY (section 2.3.2.1). It specifies the type of data carried in the property’s Data field.
Source: [MS-DNSP] Property Id (section 2.3.2.1.1) https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-dnsp/3af63871-0cc4-4179-916c-5caade55a8f3
type PropertyId uint32
DSPROPERTY_ZONE_* constants, per [MS-DNSP] section 2.3.2.1.1.
const (
DSPROPERTY_ZONE_TYPE PropertyId = 0x00000001 // Zone type (dwZoneType). See ZoneType.
DSPROPERTY_ZONE_ALLOW_UPDATE PropertyId = 0x00000002 // Dynamic-update policy (fAllowUpdate). See ZoneUpdate.
DSPROPERTY_ZONE_SECURE_TIME PropertyId = 0x00000008 // Time at which the zone became secure.
DSPROPERTY_ZONE_NOREFRESH_INTERVAL PropertyId = 0x00000010 // No-refresh interval, in hours.
DSPROPERTY_ZONE_SCAVENGING_SERVERS PropertyId = 0x00000011 // Scavenging servers, as an IP4_ARRAY.
DSPROPERTY_ZONE_AGING_ENABLED_TIME PropertyId = 0x00000012 // Time interval before the next scavenging cycle.
DSPROPERTY_ZONE_REFRESH_INTERVAL PropertyId = 0x00000020 // Refresh interval, in hours.
DSPROPERTY_ZONE_AGING_STATE PropertyId = 0x00000040 // Whether aging is enabled (fAging).
DSPROPERTY_ZONE_DELETED_FROM_HOSTNAME PropertyId = 0x00000080 // Name of the server that deleted the zone (Unicode string).
DSPROPERTY_ZONE_MASTER_SERVERS PropertyId = 0x00000081 // Zone-transfer master servers, as an IP4_ARRAY.
DSPROPERTY_ZONE_AUTO_NS_SERVERS PropertyId = 0x00000082 // Servers that may auto-create a delegation, as an IP4_ARRAY.
DSPROPERTY_ZONE_DCPROMO_CONVERT PropertyId = 0x00000083 // State of DcPromo zone conversion. See DcPromo Flag (section 2.3.2.1.2).
DSPROPERTY_ZONE_SCAVENGING_SERVERS_DA PropertyId = 0x00000090 // Scavenging servers, as a DNS_ADDR_ARRAY.
DSPROPERTY_ZONE_MASTER_SERVERS_DA PropertyId = 0x00000091 // Zone-transfer master servers, as a DNS_ADDR_ARRAY.
DSPROPERTY_ZONE_AUTO_NS_SERVERS_DA PropertyId = 0x00000092 // Auto-created-NS servers, as a DNS_ADDR_ARRAY.
DSPROPERTY_ZONE_NODE_DBFLAGS PropertyId = 0x00000100 // Node database flags. See DNS_RPC_NODE_FLAGS (section 2.2.2.1.2).
)
func (PropertyId) String
func (id PropertyId) String() string
String returns the [MS-DNSP] constant name of the property id (for example “DSPROPERTY_ZONE_TYPE”), or a hexadecimal fallback of the form “PropertyId(0x12345678)” for values not defined in the specification’s table.
type RecordType
RecordType is a 16-bit value that specifies a DNS resource record’s type. It is stored in the Type field of a DNS_RECORD (section 2.3.2.2) and selects which DNS_RPC_RECORD_DATA (section 2.2.2.2.4) payload appears in the record’s Data field.
Source: [MS-DNSP] DNS_RECORD_TYPE (section 2.2.2.1.1) https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-dnsp/39b03b89-2264-4063-8198-d62f62a6441a
type RecordType uint16
DNS_RECORD_TYPE constants, per [MS-DNSP] section 2.2.2.1.1. The values are the IANA DNS resource-record type codes, with the Microsoft-specific WINS/WINSR extensions in the private 0xFF00 range.
const (
DNS_TYPE_ZERO RecordType = 0x0000 // An empty record type (RFC1034 3.6, RFC1035 3.2.2).
DNS_TYPE_A RecordType = 0x0001 // An A record type, an IPv4 address (RFC1035 3.2.2).
DNS_TYPE_NS RecordType = 0x0002 // An authoritative name-server record type.
DNS_TYPE_MD RecordType = 0x0003 // A mail-destination record type.
DNS_TYPE_MF RecordType = 0x0004 // A mail-forwarder record type.
DNS_TYPE_CNAME RecordType = 0x0005 // The canonical name of a DNS alias.
DNS_TYPE_SOA RecordType = 0x0006 // A Start of Authority (SOA) record type.
DNS_TYPE_MB RecordType = 0x0007 // A mailbox record type.
DNS_TYPE_MG RecordType = 0x0008 // A mail group member record type.
DNS_TYPE_MR RecordType = 0x0009 // A mail-rename record type.
DNS_TYPE_NULL RecordType = 0x000A // A record type for completion queries.
DNS_TYPE_WKS RecordType = 0x000B // A well-known service record type.
DNS_TYPE_PTR RecordType = 0x000C // An FQDN pointer record type.
DNS_TYPE_HINFO RecordType = 0x000D // A host information record type.
DNS_TYPE_MINFO RecordType = 0x000E // A mailbox or mailing list information record type.
DNS_TYPE_MX RecordType = 0x000F // A mail-exchanger record type.
DNS_TYPE_TXT RecordType = 0x0010 // A text string record type.
DNS_TYPE_RP RecordType = 0x0011 // A responsible-person record type (RFC1183).
DNS_TYPE_AFSDB RecordType = 0x0012 // An AFS database location record type (RFC1183).
DNS_TYPE_X25 RecordType = 0x0013 // An X25 PSDN address record type (RFC1183).
DNS_TYPE_ISDN RecordType = 0x0014 // An ISDN address record type (RFC1183).
DNS_TYPE_RT RecordType = 0x0015 // A route-through record type (RFC1183).
DNS_TYPE_SIG RecordType = 0x0018 // A cryptographic public key signature record type (RFC2931).
DNS_TYPE_KEY RecordType = 0x0019 // A DNSSEC public key record type (RFC2535).
DNS_TYPE_AAAA RecordType = 0x001C // An IPv6 address record type (RFC3596).
DNS_TYPE_LOC RecordType = 0x001D // A location information record type (RFC1876).
DNS_TYPE_NXT RecordType = 0x001E // A next-domain record type (RFC2065).
DNS_TYPE_SRV RecordType = 0x0021 // A server selection record type (RFC2782).
DNS_TYPE_ATMA RecordType = 0x0022 // An ATM address record type.
DNS_TYPE_NAPTR RecordType = 0x0023 // A NAPTR record type (RFC2915).
DNS_TYPE_DNAME RecordType = 0x0027 // A DNAME record type (RFC2672).
DNS_TYPE_DS RecordType = 0x002B // A DS record type (RFC4034).
DNS_TYPE_RRSIG RecordType = 0x002E // An RRSIG record type (RFC4034).
DNS_TYPE_NSEC RecordType = 0x002F // An NSEC record type (RFC4034).
DNS_TYPE_DNSKEY RecordType = 0x0030 // A DNSKEY record type (RFC4034).
DNS_TYPE_DHCID RecordType = 0x0031 // A DHCID record type (RFC4701).
DNS_TYPE_NSEC3 RecordType = 0x0032 // An NSEC3 record type (RFC5155).
DNS_TYPE_NSEC3PARAM RecordType = 0x0033 // An NSEC3PARAM record type (RFC5155).
DNS_TYPE_TLSA RecordType = 0x0034 // A TLSA record type (RFC6698).
DNS_TYPE_ALL RecordType = 0x00FF // A query-only type requesting all records.
DNS_TYPE_WINS RecordType = 0xFF01 // A WINS forward-lookup record type (MS-WINSRA).
DNS_TYPE_WINSR RecordType = 0xFF02 // A WINS reverse-lookup record type (MS-WINSRA).
)
func (RecordType) String
func (t RecordType) String() string
String returns the [MS-DNSP] constant name of the record type (for example “DNS_TYPE_A”), or a hexadecimal fallback of the form “RecordType(0x1234)” for values not defined in the specification’s table (which still MUST be enumerable per section 2.2.2.1.1).
type TRUSTANCHOR\_STATE
TRUSTANCHOR_STATE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-DNSP]).
type TRUSTANCHOR_STATE uint16
const (
TRUSTANCHOR_STATE_INITIALIZED TRUSTANCHOR_STATE = 0
TRUSTANCHOR_STATE_DSPENDING TRUSTANCHOR_STATE = 1
TRUSTANCHOR_STATE_DSINVALID TRUSTANCHOR_STATE = 2
TRUSTANCHOR_STATE_ADDPEND TRUSTANCHOR_STATE = 3
TRUSTANCHOR_STATE_VALID TRUSTANCHOR_STATE = 4
TRUSTANCHOR_STATE_MISSING TRUSTANCHOR_STATE = 5
TRUSTANCHOR_STATE_REVOKED TRUSTANCHOR_STATE = 6
TRUSTANCHOR_STATE_DELETED TRUSTANCHOR_STATE = 7
)
type TRUSTPOINT\_STATE
TRUSTPOINT_STATE is an NDR enum, transmitted as a 16-bit value ([C706] 14.3.6, [MS-DNSP]).
type TRUSTPOINT_STATE uint16
const (
TRUSTPOINT_STATE_INITIALIZED TRUSTPOINT_STATE = 0
TRUSTPOINT_STATE_DSPENDING TRUSTPOINT_STATE = 1
TRUSTPOINT_STATE_ACTIVE TRUSTPOINT_STATE = 2
TRUSTPOINT_STATE_DELETE_PENDING TRUSTPOINT_STATE = 3
TRUSTPOINT_STATE_DELETED TRUSTPOINT_STATE = 4
)
type ZoneType
ZoneType is the value carried by a DSPROPERTY_ZONE_TYPE property (dwZoneType). It identifies the kind of DNS zone.
Source: [MS-DNSP] dwZoneType, referenced from DNS_RPC_ZONE_INFO (section 2.2.5.2.4.1)
type ZoneType uint32
DNS_ZONE_TYPE_* constants.
const (
DNS_ZONE_TYPE_CACHE ZoneType = 0x00000000 // A cache (root hints) zone.
DNS_ZONE_TYPE_PRIMARY ZoneType = 0x00000001 // A primary zone.
DNS_ZONE_TYPE_SECONDARY ZoneType = 0x00000002 // A secondary zone.
DNS_ZONE_TYPE_STUB ZoneType = 0x00000003 // A stub zone.
DNS_ZONE_TYPE_FORWARDER ZoneType = 0x00000004 // A forwarder zone.
DNS_ZONE_TYPE_SECONDARY_CACHE ZoneType = 0x00000005 // A secondary cache zone.
)
func (ZoneType) String
func (t ZoneType) String() string
String returns the constant name of the zone type, or a hexadecimal fallback of the form “ZoneType(0x12345678)” for undefined values.
type ZoneUpdate
ZoneUpdate is the value carried by a DSPROPERTY_ZONE_ALLOW_UPDATE property (fAllowUpdate). It identifies the dynamic-update policy of a zone.
A value of ZONE_UPDATE_UNSECURE means the zone accepts unauthenticated dynamic updates, which allows any host to create or overwrite records in the zone.
Source: [MS-DNSP] fAllowUpdate, referenced from DNS_RPC_ZONE_INFO (section 2.2.5.2.4.1)
type ZoneUpdate uint32
ZONE_UPDATE_* constants.
const (
ZONE_UPDATE_OFF ZoneUpdate = 0x00000000 // Dynamic updates are not allowed.
ZONE_UPDATE_UNSECURE ZoneUpdate = 0x00000001 // Both secure and unsecure dynamic updates are allowed.
ZONE_UPDATE_SECURE ZoneUpdate = 0x00000002 // Only secure dynamic updates are allowed.
)
func (ZoneUpdate) String
func (u ZoneUpdate) String() string
String returns the constant name of the update policy, or a hexadecimal fallback of the form “ZoneUpdate(0x12345678)” for undefined values.