Documentation
¶
Index ¶
- Variables
- func DNSServerServerHandle(ctx context.Context, o DNSServerServer, opNum int, r ndr.Reader) (dcerpc.Operation, error)
- func NewDNSServerServerHandle(o DNSServerServer) dcerpc.ServerHandle
- func RegisterDNSServerServer(conn dcerpc.Conn, o DNSServerServer, opts ...dcerpc.Option)
- type ComplexOperation2Request
- type ComplexOperation2Response
- type ComplexOperation3Request
- type ComplexOperation3Response
- type ComplexOperationRequest
- type ComplexOperationResponse
- type DNSServerClient
- type DNSServerServer
- type EnumRecords2Request
- type EnumRecords2Response
- type EnumRecords3Request
- type EnumRecords3Response
- type EnumRecords4Request
- type EnumRecords4Response
- type EnumRecordsRequest
- type EnumRecordsResponse
- type Operation2Request
- type Operation2Response
- type Operation3Request
- type Operation3Response
- type Operation4Request
- type Operation4Response
- type OperationRequest
- type OperationResponse
- type Query2Request
- type Query2Response
- type Query3Request
- type Query3Response
- type Query4Request
- type Query4Response
- type QueryRequest
- type QueryResponse
- type UnimplementedDNSServerServer
- func (UnimplementedDNSServerServer) ComplexOperation(context.Context, *ComplexOperationRequest) (*ComplexOperationResponse, error)
- func (UnimplementedDNSServerServer) ComplexOperation2(context.Context, *ComplexOperation2Request) (*ComplexOperation2Response, error)
- func (UnimplementedDNSServerServer) ComplexOperation3(context.Context, *ComplexOperation3Request) (*ComplexOperation3Response, error)
- func (UnimplementedDNSServerServer) EnumRecords(context.Context, *EnumRecordsRequest) (*EnumRecordsResponse, error)
- func (UnimplementedDNSServerServer) EnumRecords2(context.Context, *EnumRecords2Request) (*EnumRecords2Response, error)
- func (UnimplementedDNSServerServer) EnumRecords3(context.Context, *EnumRecords3Request) (*EnumRecords3Response, error)
- func (UnimplementedDNSServerServer) EnumRecords4(context.Context, *EnumRecords4Request) (*EnumRecords4Response, error)
- func (UnimplementedDNSServerServer) Operation(context.Context, *OperationRequest) (*OperationResponse, error)
- func (UnimplementedDNSServerServer) Operation2(context.Context, *Operation2Request) (*Operation2Response, error)
- func (UnimplementedDNSServerServer) Operation3(context.Context, *Operation3Request) (*Operation3Response, error)
- func (UnimplementedDNSServerServer) Operation4(context.Context, *Operation4Request) (*Operation4Response, error)
- func (UnimplementedDNSServerServer) Query(context.Context, *QueryRequest) (*QueryResponse, error)
- func (UnimplementedDNSServerServer) Query2(context.Context, *Query2Request) (*Query2Response, error)
- func (UnimplementedDNSServerServer) Query3(context.Context, *Query3Request) (*Query3Response, error)
- func (UnimplementedDNSServerServer) Query4(context.Context, *Query4Request) (*Query4Response, error)
- func (UnimplementedDNSServerServer) UpdateRecord(context.Context, *UpdateRecordRequest) (*UpdateRecordResponse, error)
- func (UnimplementedDNSServerServer) UpdateRecord2(context.Context, *UpdateRecord2Request) (*UpdateRecord2Response, error)
- func (UnimplementedDNSServerServer) UpdateRecord3(context.Context, *UpdateRecord3Request) (*UpdateRecord3Response, error)
- func (UnimplementedDNSServerServer) UpdateRecord4(context.Context, *UpdateRecord4Request) (*UpdateRecord4Response, error)
- type UpdateRecord2Request
- type UpdateRecord2Response
- type UpdateRecord3Request
- type UpdateRecord3Response
- type UpdateRecord4Request
- type UpdateRecord4Response
- type UpdateRecordRequest
- type UpdateRecordResponse
Constants ¶
This section is empty.
Variables ¶
var ( // Syntax UUID DNSServerSyntaxUUID = &uuid.UUID{TimeLow: 0x50abc2a4, TimeMid: 0x574d, TimeHiAndVersion: 0x40b3, ClockSeqHiAndReserved: 0x9d, ClockSeqLow: 0x66, Node: [6]uint8{0xee, 0x4f, 0xd5, 0xfb, 0xa0, 0x76}} // Syntax ID DNSServerSyntaxV5_0 = &dcerpc.SyntaxID{IfUUID: DNSServerSyntaxUUID, IfVersionMajor: 5, IfVersionMinor: 0} )
var (
// import guard
GoPackage = "dnsp"
)
Functions ¶
func DNSServerServerHandle ¶
func NewDNSServerServerHandle ¶
func NewDNSServerServerHandle(o DNSServerServer) dcerpc.ServerHandle
func RegisterDNSServerServer ¶
func RegisterDNSServerServer(conn dcerpc.Conn, o DNSServerServer, opts ...dcerpc.Option)
Types ¶
type ComplexOperation2Request ¶
type ComplexOperation2Request struct {
// dwClientVersion: The client version in DNS_RPC_CURRENT_CLIENT_VER (section 2.2.1.2.1)
// format.
ClientVersion uint32 `idl:"name:dwClientVersion" json:"client_version"`
// dwSettingFlags: Reserved for future use only. This field MUST be set to zero by clients
// and ignored by servers.
SettingFlags uint32 `idl:"name:dwSettingFlags" json:"setting_flags"`
ServerName string `idl:"name:pwszServerName;string;pointer:unique" json:"server_name"`
Zone string `idl:"name:pszZone;string;pointer:unique" json:"zone"`
Operation string `idl:"name:pszOperation;string;pointer:unique" json:"operation"`
TypeIn uint32 `idl:"name:dwTypeIn" json:"type_in"`
DataIn *dnsp.Union `idl:"name:pDataIn;switch_is:dwTypeIn" json:"data_in"`
}
ComplexOperation2Request structure represents the R_DnssrvComplexOperation2 operation request
func (*ComplexOperation2Request) MarshalNDR ¶
func (*ComplexOperation2Request) UnmarshalNDR ¶
type ComplexOperation2Response ¶
type ComplexOperation2Response struct {
TypeOut uint32 `idl:"name:pdwTypeOut" json:"type_out"`
DataOut *dnsp.Union `idl:"name:ppDataOut;switch_is:*pdwTypeOut" json:"data_out"`
// Return: The R_DnssrvComplexOperation2 return value.
Return int32 `idl:"name:Return" json:"return"`
}
ComplexOperation2Response structure represents the R_DnssrvComplexOperation2 operation response
func (*ComplexOperation2Response) MarshalNDR ¶
func (*ComplexOperation2Response) UnmarshalNDR ¶
type ComplexOperation3Request ¶
type ComplexOperation3Request struct {
// dwClientVersion: The client version in DNS_RPC_CURRENT_CLIENT_VER (section 2.2.1.2.1)
// format.
ClientVersion uint32 `idl:"name:dwClientVersion" json:"client_version"`
// dwSettingFlags: Reserved for future use only. This field MUST be set to zero by clients
// and ignored by servers.
SettingFlags uint32 `idl:"name:dwSettingFlags" json:"setting_flags"`
ServerName string `idl:"name:pwszServerName;string;pointer:unique" json:"server_name"`
// pwszVirtualizationInstanceID: A pointer to a null-terminated Unicode string that
// contains the name of the virtualization instance configured in the DNS server. For
// operations specific to a virtualization instance, this field MUST contain the name
// of the virtualization instance. If the value is NULL, then the API is as specified
// in R_DnssrvComplexOperation2 (section 3.1.4.8). Apart from the EnumVirtualizationInstances
// operation (section 3.1.4.3), R_DnssrvComplexOperation3 changes the behavior of the
// following operations: EnumZoneScopes, EnumZones2, and EnumZones (section 3.1.4.3),
// if these operation are called with R_DnssrvComplexOperation3 and a non-NULL pwszVirtualizationInstanceID,
// they are performed under the given virtualization instance.
VirtualizationInstanceID string `idl:"name:pwszVirtualizationInstanceID;string;pointer:unique" json:"virtualization_instance_id"`
Zone string `idl:"name:pszZone;string;pointer:unique" json:"zone"`
Operation string `idl:"name:pszOperation;string;pointer:unique" json:"operation"`
TypeIn uint32 `idl:"name:dwTypeIn" json:"type_in"`
DataIn *dnsp.Union `idl:"name:pDataIn;switch_is:dwTypeIn" json:"data_in"`
}
ComplexOperation3Request structure represents the R_DnssrvComplexOperation3 operation request
func (*ComplexOperation3Request) MarshalNDR ¶
func (*ComplexOperation3Request) UnmarshalNDR ¶
type ComplexOperation3Response ¶
type ComplexOperation3Response struct {
TypeOut uint32 `idl:"name:pdwTypeOut" json:"type_out"`
DataOut *dnsp.Union `idl:"name:ppDataOut;switch_is:*pdwTypeOut" json:"data_out"`
// Return: The R_DnssrvComplexOperation3 return value.
Return int32 `idl:"name:Return" json:"return"`
}
ComplexOperation3Response structure represents the R_DnssrvComplexOperation3 operation response
func (*ComplexOperation3Response) MarshalNDR ¶
func (*ComplexOperation3Response) UnmarshalNDR ¶
type ComplexOperationRequest ¶
type ComplexOperationRequest struct {
// pwszServerName: The client SHOULD pass a pointer to the FQDN of the target server
// as a null-terminated UTF-16LE character string. The server MUST ignore this value.
ServerName string `idl:"name:pwszServerName;string;pointer:unique" json:"server_name"`
// pszZone: The name of the zone that is being operated on. This MUST be set to NULL
// unless pszOperation is set to QueryDwordProperty, in which case this value MUST be
// set either to NULL (to indicate that DNS server Configuration information is being
// requested) or to the name of the zone to be queried in UTF-8 format (to indicate
// that a DNS Zone integer property is being requested). This value will be used by
// certain operations as specified in the table below.
Zone string `idl:"name:pszZone;string;pointer:unique" json:"zone"`
// pszOperation: The operation to perform. The value of pszOperation SHOULD<275> be
// one of the following:
//
// +----------------------------------+----------------------------------------------------------------------------------+
// | | |
// | VALUE | MEANING |
// | | |
// +----------------------------------+----------------------------------------------------------------------------------+
// +----------------------------------+----------------------------------------------------------------------------------+
// | EnumZones | Enumerate zones present on the DNS server qualifying for a specified simple |
// | | zone filter value. On input, dwTypeIn MUST be set to DNSSRV_TYPEID_DWORD |
// | | and pDataIn MUST point to any combination of ZONE_REQUEST_FILTERS (section |
// | | 2.2.5.1.4) values. Unless an error is returned, on output the value pointed to |
// | | by pdwTypeOut MUST be set to DNSSRV_TYPEID_ZONE_LIST and ppDataOut MUST point |
// | | to a structure of one of the types specified in DNS_RPC_ZONE_LIST (section |
// | | 2.2.5.2.3). |
// +----------------------------------+----------------------------------------------------------------------------------+
// | EnumZones2 | Enumerate zones present on the DNS server qualifying for a specified |
// | | complex zone filter value. On input, dwTypeIn MUST be set to |
// | | DNSSRV_TYPEID_ENUM_ZONES_FILTER and pDataIn MUST point to a structure of type |
// | | DNS_RPC_ENUM_ZONES_FILTER (section 2.2.5.2.9). Unless an error is returned, on |
// | | output the value pointed to by pdwTypeOut MUST be set to DNSSRV_TYPEID_ZONE_LIST |
// | | and MUST ppDataOut point to a structure of one of the types specified in |
// | | DNS_RPC_ZONE_LIST. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | EnumDirectoryPartitions | Enumerate the Application Directory Partition Table known to the DNS server. On |
// | | input, dwTypeIn MUST be set to DNSSRV_TYPEID_DWORD and pDataIn MUST be set to |
// | | zero if all application directory partitions are enumerated or to 0x000000001 |
// | | if the DNS domain partition and DNS forest partition are excluded from results. |
// | | Unless an error is returned, on output the value pointed to by pdwTypeOut MUST |
// | | be set to DNSSRV_TYPEID_DP_LIST and ppDataOut MUST point to a structure of type |
// | | DNS_RPC_DP_LIST (section 2.2.7.2.4). |
// +----------------------------------+----------------------------------------------------------------------------------+
// | DirectoryPartitionInfo | Retrieve detailed information about a specified application directory partition. |
// | | On input, dwTypeIn MUST be set to DNSSRV_TYPEID_LPSTR and pDataIn MUST point |
// | | to a null-terminated UTF-8 string specifying the distinguished name of an |
// | | application directory partition. Unless an error is returned, on output the |
// | | value pointed to by pdwTypeOut MUST be DNSSRV_TYPEID_DP_INFO and ppDataOut MUST |
// | | point to a structure of type DNS_RPC_DP_INFO (section 2.2.7.2.1). |
// +----------------------------------+----------------------------------------------------------------------------------+
// | Statistics | Retrieve statistics. On input dwTypeIn MUST be set to DNSSRV_TYPEID_DWORD |
// | | and pDataIn MUST point to any combination of the DNSSRV_STATID_TYPES (section |
// | | 2.2.10.1.1) values. Unless an error is returned, on output the value pointed to |
// | | by pdwTypeOut MUST be set to DNSSRV_TYPEID_BUFFER and ppDataOut MUST point to |
// | | a DNS_RPC_BUFFER structure (section 2.2.1.2.2) that contains a list of variable |
// | | sized DNSSRV_STATS structures (section 2.2.10.2.2). |
// +----------------------------------+----------------------------------------------------------------------------------+
// | QueryDwordProperty | Retrieve the value of a 32-bit integer property. On input, dwTypeIn MUST be |
// | | set to DNSSRV_TYPEID _LPSTR and pDataIn MUST point to a null-terminated UTF-8 |
// | | string specifying a zone property name listed in section 3.1.1.2.1 (if pszZone |
// | | is non-NULL) or server property name listed in section 3.1.1.1.1 (if pszZone is |
// | | NULL). Unless an error is returned, on output the value pointed to by pdwTypeOut |
// | | MUST be set to DNSSRV_TYPEID_DWORD and ppDataOut MUST point to a DWORD value. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | IpValidate | Validate a list of IP addresses. On input, dwTypeIn MUST be set to |
// | | DNSSRV_TYPEID_IP_VALIDATE and pDataIn MUST point to a DNS_RPC_IP_VALIDATE |
// | | structure (section 2.2.3.2.4) containing a list of IP addresses to be validated |
// | | and the context information for validation as specified in section 2.2.3.2.4. |
// | | Unless an error is returned, on output the value pointed to by pdwTypeOut MUST |
// | | be set to DNSSRV_TYPEID_ADDRARRAY and ppDataOut MUST point to a structure of |
// | | type DNS_ADDR_ARRAY (section 2.2.3.2.3) that contains IP validation results |
// | | (section 2.2.3.2.1). |
// +----------------------------------+----------------------------------------------------------------------------------+
// | ModifyZoneSigningKeyDescriptor | Creates, deletes, or modifies a signing key descriptor (SKD) for the specified |
// | | zone. On input, dwTypeIn MUST be set to DNSSRV_TYPEID_SKD and pDataIn MUST |
// | | point to a structure of type DNS_RPC_SKD (section 2.2.6.2.1). If GUID inside |
// | | DNS_RPC_SKD is set to zero, the server MUST create a new signing key descriptor. |
// | | If GUID inside DNS_RPC_SKD is set to a nonzero value and if all other fields |
// | | in the structure are NULL, the server MUST delete the signing key descriptor |
// | | from the zone. Otherwise, the server MUST modify the signing key descriptor for |
// | | the specified zone. Unless an error is returned, on output the value pointed |
// | | to by pdwTypeOut MUST be set to DNSSRV_TYPEID_SKD and ppDataOut MUST point to a |
// | | structure of type DNS_RPC_SKD (section 2.2.6.2.1). |
// +----------------------------------+----------------------------------------------------------------------------------+
// | EnumZoneSigningKeyDescriptors | Retrieves the signing key descriptor found in the zone's signing key descriptor |
// | | list for the specified zone. Input parameters (dwTypeIn and pDataIn) are |
// | | ignored. Unless an error is returned, on output the value pointed to by |
// | | pdwTypeOut MUST be set to DNSSRV_TYPEID_SKD_LIST and ppDataOut MUST point to a |
// | | structure of type DNS_RPC_SKD_LIST (section 2.2.6.2.2). |
// +----------------------------------+----------------------------------------------------------------------------------+
// | GetZoneSigningKeyDescriptorState | Retrieves the SKD state (section 2.2.6.2.3) for the specified zone |
// | | and the signing key descriptor GUID. On input, dwTypeIn MUST be set to |
// | | DNSSRV_TYPEID_LPWSTR and pDataIn MUST point to a string containing the GUID of |
// | | the signing key descriptor. Unless an error is returned, on output the value |
// | | pointed to by pdwTypeOut MUST be set to DNSSRV_TYPEID_SKD_STATE and ppDataOut |
// | | MUST point to a structure of type DNS_RPC_SKD_STATE (section 2.2.6.2.3). |
// +----------------------------------+----------------------------------------------------------------------------------+
// | SetZoneSigningKeyDescriptorState | Modifies the SKD state (section 2.2.6.2.3) for the specified zone and |
// | | the signing key descriptor GUID. On input, dwTypeIn MUST be set to |
// | | DNSSRV_TYPEID_SKD_STATE and pDataIn MUST point to a structure of type |
// | | DNS_RPC_SKD_STATE (section 2.2.6.2.3). Note that only one key pointer string |
// | | inside DNS_RPC_SKD_STATE will be set per a specific operation as described |
// | | below. Unless an error is returned, on output the value pointed to by pdwTypeOut |
// | | MUST be set to DNSSRV_TYPEID_SKD_STATE and ppDataOut MUST point to a structure |
// | | of type DNS_RPC_SKD_STATE (section 2.2.6.2.3) containing the modified SKD state. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | ValidateZoneSigningParameters | Validates the zone signing parameters and returns a structure describing the |
// | | invalid signing parameters. Input parameters (dwTypeIn and pDataIn) are ignored. |
// | | Unless success is returned, on output the value pointed to by pdwTypeOut MUST |
// | | be set to DNSSRV_TYPEID_SIGNING_VALIDATION_ERROR and ppDataOut MUST point |
// | | to a structure of type DNS_RPC_SIGNING_VALIDATION_ERROR (section 2.2.6.2.8) |
// | | containing invalid elements of the zone configuration. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | EnumerateKeyStorageProviders | Enumerates key storage providers installed on the DNS server. On input, dwTypeIn |
// | | and pDataIn are ignored. Unless an error is returned, on output the value |
// | | pointed to by pdwTypeOut MUST be set to DNSSRV_TYPEID_UNICODE_STRING_LIST and |
// | | ppDataOut MUST point to a structure of type DNS_RPC_UNICODE_STRING_LIST (section |
// | | 2.2.1.2.4) that contains a list of storage providers installed on the DNS |
// | | server. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | EnumerateTrustPoints | Retrieve a list of trust points, containing either all trust points or |
// | | only those at or below a given FQDN. On input, dwTypeIn MUST be set to |
// | | DNSSRV_TYPEID_LPSTR and pDataIn MUST point either to a null pointer or to |
// | | a null-terminated UTF-8 string specifying an FQDN. If pDataIn points to a |
// | | null pointer, the server MUST return all of the trust points. If pDataIn is |
// | | an FQDN and there is a trust point or parent of a trust point at the FQDN, |
// | | the server MUST return the trust point at the FQDN (or an empty trust-point |
// | | structure for the FQDN if the FQDN is not a trust point) followed by empty |
// | | trust-point structures for each immediate child of the FQDN, if any. An |
// | | empty trust-point structure is a structure in which eTrustPointState is |
// | | TRUST_POINT_STATE_INITIALIZED and all elements other than pszTrustPointName and |
// | | dwRpcStructureVersion are zero. If pDataIn is an FQDN and there is neither a |
// | | trust point nor the parent of a trust point at the FQDN, the server MUST return |
// | | a nonzero error. Unless an error is returned, on output the value pointed to |
// | | by pdwTypeOut MUST be set to DNSSRV_TYPEID_TRUST_POINT_LIST and ppDataOut MUST |
// | | point to a structure of type DNS_RPC_TRUST_POINT_LIST (section 2.2.6.2.5). |
// +----------------------------------+----------------------------------------------------------------------------------+
// | EnumerateTrustAnchors | Retrieve a list of the trust anchors at a given FQDN. On input, dwTypeIn MUST |
// | | be set to DNSSRV_TYPEID_LPSTR and pDataIn MUST point to a null-terminated UTF-8 |
// | | string specifying an FQDN. If the FQDN specified is not a trust point, the |
// | | server MUST return a nonzero error. Unless an error is returned, on output the |
// | | value pointed to by pdwTypeOut MUST be set to DNSSRV_TYPEID_TRUST_ANCHOR_LIST |
// | | and ppDataOut MUST point to a structure of type DNS_RPC_TRUST_ANCHOR_LIST |
// | | (section 2.2.6.2.7). |
// +----------------------------------+----------------------------------------------------------------------------------+
// | ExportZoneSigningSettings | Exports all the Dnssec settings of a file-backed primary zone from a server. |
// | | On input, dwTypeIn MUST be set to DNSSRV_TYPEID_DWORD and pDataIn SHOULD be |
// | | 1 to get KSK details in the exported DNS_RPC_ZONE_DNSSEC_SETTINGS structure; |
// | | otherwise, pDataIn SHOULD be zero. Unless an error is returned, on output |
// | | pdwTypeOut is set to DNSSRV_TYPEID_ZONE_SIGNING_SETTINGS and ppDataOut points to |
// | | a structure of type PDNS_RPC_ZONE_DNSSEC_SETTINGS. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | ImportZoneSigningSettings | Imports the Dnssec settings to a primary file-backed zone on a server and |
// | | takes appropriate action based on the signing metadata imported. On input, |
// | | dwTypeIn MUST be set to DNSSRV_TYPEID_ZONE_SIGNING_SETTINGS and pDataIn SHOULD |
// | | be a structure of type PDNS_RPC_ZONE_DNSSEC_SETTINGS. If this operation is |
// | | invoked on a server that hosts a primary unsigned copy of a file-backed zone |
// | | and the fIsSigned Property of PDNS_RPC_ZONE_DNSSEC_SETTINGS is 1, then the |
// | | server becomes a nonkey master primary server for that zone. Unless an error |
// | | is returned, on output pdwTypeOut is set to DNSSRV_TYPEID_DWORD and ppDataOut |
// | | points to a structure of type ImportOpResult. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | EnumZoneScopes | Enumerates all the zone scopes in a zone or cache scopes in a cache zone. On |
// | | input, dwTypeIn MUST be set to DNSSRV_TYPEID_NULL and pDataIn SHOULD be NULL. |
// | | The pszZone MUST be the zone name for which zone scopes are to be enumerated or |
// | | it MUST be "..cache". Unless an error is returned, on output pdwTypeOut is set |
// | | to DNSSRV_TYPEID_ZONE_SCOPE_ENUM and ppDataOut points to a structure of type |
// | | PDNS_RPC_ENUM_ZONE_SCOPE_LIST. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | ZoneStatistics | Gets the zone statistics from the server. On input, dwTypeIn MUST be set to |
// | | DNSSRV_TYPEID_DWORD and pDataIn SHOULD be either DNS_RPC_ZONE_STATS_GET, which |
// | | gets the current zone statistics, or DNS_RPC_ZONE_STATS_CLEAR, which clears |
// | | the zone statistics after getting them. The pszZone MUST point to the zone |
// | | information for which statistics are required. Unless an error is returned, on |
// | | output pdwTypeOut SHOULD be set to DNSSRV_TYPEID_ZONE_STATS and ppDataOut SHOULD |
// | | point to a structure of type DNS_RPC_ZONE_STATS_V1 (section 2.2.12.2.5). |
// +----------------------------------+----------------------------------------------------------------------------------+
// | EnumServerScopes | Enumerates all the server scopes in a DNS server. On input, dwTypeIn MUST be set |
// | | to DNSSRV_TYPEID_NULL and pDataIn SHOULD be NULL. Unless an error is returned, |
// | | on output, pdwTypeOut SHOULD be set to DNSSRV_TYPEID_SCOPE_ENUM and ppDataOut |
// | | points to a structure of type PDNS_RPC_ENUM_SCOPE_LIST.<276> |
// +----------------------------------+----------------------------------------------------------------------------------+
// | EnumerateClientSubnetRecord | Enumerates the names all the Client Subnet Records on the DNS server. On |
// | | input, dwTypeIn MUST be set to DNSSRV_TYPEID_NULL and pDataIn SHOULD be |
// | | NULL. Unless an error is returned, on output pdwTypeOut SHOULD be set to |
// | | DNSSRV_TYPEID_UNICODE_STRING_LIST and ppDataOut points to a structure of type |
// | | PDNS_RPC_UNICODE_STRING_LIST. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | GetClientSubnetRecord | Gets the details of the Client Subnet Record on the DNS server. On input, |
// | | dwTypeIn MUST be set to DNSSRV_TYPEID_LPWSTR and pDataIn SHOULD be name of the |
// | | Client Subnet Record. Unless an error is returned, on output pdwTypeOut SHOULD |
// | | be set to DNSSRV_TYPEID_CLIENT_SUBNET_RECORD and ppDataOut points to a structure |
// | | of type PDNS_RPC_CLIENT_SUBNET_RECORD. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | EnumeratePolicy | Enumerates the policies configured on the server level or zone level |
// | | for a specified zone on a DNS server. On input, dwTypeIn MUST be set to |
// | | DNSSRV_TYPEID_NULL and pDataIn SHOULD be NULL. Unless an error is returned, |
// | | on output pdwTypeOut SHOULD be set to DNSSRV_TYPEID_POLICY_ENUM and ppDataOut |
// | | points to a structure of type PDNS_RPC_ENUMERATE_POLICY_LIST. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | GetPolicy | Gets the details of a DNS Policy configured on the server level or on the zone |
// | | level for a specified zone on the DNS server. On input, dwTypeIn MUST be set |
// | | to DNSSRV_TYPEID_LPWSTR and pDataIn SHOULD be name of the DNS Policy. Unless an |
// | | error is returned, on output pdwTypeOut SHOULD be set to DNSSRV_TYPEID_POLICY |
// | | and ppDataOut points to a structure of type PDNS_RPC_POLICY. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | GetRRLInfo | Gets the details of Response Rate Limiting parameters configured on the server |
// | | level on the DNS server. On input, dwTypeIn MUST be set to DNSSRV_TYPEID_NULL |
// | | and pDataIn SHOULD be NULL. Unless an error is returned, on output pdwTypeOut |
// | | SHOULD be set to DNSSRV_TYPEID_RRL and ppDataOut points to a structure of type |
// | | PDNS_RPC_RRL_PARAMS. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | EnumVirtualizationInstances | Enumerates the virtualization instance present in DNS server. The |
// | | dwTypeIn parameter MUST be set to DNSSRV_TYPEID_NULL and pDataIn |
// | | MUST be set to NULL. On successful enumeration pdwTypeOut is set to |
// | | DNSSRV_TYPEID_VIRTUALIZATION_INSTANCE_ENUM, and ppDataOut MUST point to a |
// | | structure of type DNS_RPC_ENUM_VIRTUALIZATION_INSTANCE_LIST. |
// +----------------------------------+----------------------------------------------------------------------------------+
Operation string `idl:"name:pszOperation;string;pointer:unique" json:"operation"`
// dwTypeIn: A DNS_RPC_TYPEID (section 2.2.1.1.1) value indicating the type of input
// data pointed to by pDataIn.
TypeIn uint32 `idl:"name:dwTypeIn" json:"type_in"`
// pDataIn: Input data of type DNSSRV_RPC_UNION (section 2.2.1.2.6), which contains
// a data structure of the type indicated by dwTypeIn.
DataIn *dnsp.Union `idl:"name:pDataIn;switch_is:dwTypeIn" json:"data_in"`
}
ComplexOperationRequest structure represents the R_DnssrvComplexOperation operation request
func (*ComplexOperationRequest) MarshalNDR ¶
func (*ComplexOperationRequest) UnmarshalNDR ¶
type ComplexOperationResponse ¶
type ComplexOperationResponse struct {
// pdwTypeOut: A pointer to a DWORD that on success returns a DNS_RPC_TYPEID (section
// 2.2.1.1.1) value indicating the type of output data pointed to by ppDataOut.
TypeOut uint32 `idl:"name:pdwTypeOut" json:"type_out"`
// ppDataOut: A pointer to output data of type DNSSRV_RPC_UNION, which on success contains
// a data structure of the type indicated by pdwTypeOut.
DataOut *dnsp.Union `idl:"name:ppDataOut;switch_is:*pdwTypeOut" json:"data_out"`
// Return: The R_DnssrvComplexOperation return value.
Return int32 `idl:"name:Return" json:"return"`
}
ComplexOperationResponse structure represents the R_DnssrvComplexOperation operation response
func (*ComplexOperationResponse) MarshalNDR ¶
func (*ComplexOperationResponse) UnmarshalNDR ¶
type DNSServerClient ¶
type DNSServerClient interface {
// The R_DnssrvOperation method is used to invoke a set of server functions specified
// by pszOperation.
//
// Return Values: The method MUST return ERROR_SUCCESS (0x00000000) on success or a
// nonzero Win32 error code value if an error occurred. See [MS-ERREF] section 2.2 or
// section 2.2.1.1.5. All error values MUST be treated the same.
Operation(context.Context, *OperationRequest, ...dcerpc.CallOption) (*OperationResponse, error)
// The R_DnssrvQuery method queries the DNS server for information. The type of information
// queried for is specified by the client using the pszZone and pszOperation parameters.
// For the purpose of selecting an output structure type the server MUST consider the
// value of dwClientVersion (section 2.2.1.2.1) to be 0x00000000 when responding to
// this method.
//
// Return Values: A Win32 error code indicating whether the operation completed successfully
// (0x00000000) or failed (any other value). See [MS-ERREF] section 2.2 or section 2.2.1.1.5.
Query(context.Context, *QueryRequest, ...dcerpc.CallOption) (*QueryResponse, error)
// The R_DnssrvComplexOperation method is used to invoke a set of server functions specified
// by the caller. These functions generally return more complex structures than simple
// 32-bit integer values, unlike the operations accessible through R_DnssrvOperation
// (section 3.1.4.1). For the purpose of selecting an output structure type the server
// MUST consider the value of dwClientVersion (section 2.2.1.2.1) to be 0x00000000 when
// responding to this method.
//
// Return Values: The method MUST return ERROR_SUCCESS (0x00000000) on success or a
// nonzero Win32 error code value if an error occurred. See [MS-ERREF] section 2.2 or
// section 2.2.1.1.5. All error values MUST be treated the same.
ComplexOperation(context.Context, *ComplexOperationRequest, ...dcerpc.CallOption) (*ComplexOperationResponse, error)
// The R_DnssrvEnumRecords method enumerates DNS records on the server.
//
// Return Values: The method MUST return ERROR_SUCCESS (0x00000000) on success or a
// non-zero Win32 error code if an error occurred. See [MS-ERREF] section 2.2 or section
// 2.2.1.1.5. All error values MUST be treated the same, except that if the return code
// is ERROR_MORE_DATA (0x000000EA) then the enumeration contains more results than can
// fit into a single RPC buffer. In this case the client application can call this method
// again passing the last retrieved child as the pszStartChild argument to retrieve
// the next set of results.
EnumRecords(context.Context, *EnumRecordsRequest, ...dcerpc.CallOption) (*EnumRecordsResponse, error)
// The R_DnssrvUpdateRecord method is used to add a new DNS record or modify/delete
// an existing DNS record at the server. This operation SHOULD<277> be supported.
//
// Return Values: The method MUST return ERROR_SUCCESS (0x00000000) on success or a
// non-zero Win32 error code if an error occurred. See [MS-ERREF] section 2.2 or section
// 2.2.1.1.5. All error values MUST be treated the same.
UpdateRecord(context.Context, *UpdateRecordRequest, ...dcerpc.CallOption) (*UpdateRecordResponse, error)
// The R_DnssrvOperation2 method is used to invoke a set of server functions specified
// by the caller. The DNS server SHOULD implement R_DnssrvOperation2.
//
// All parameters are as specified by the R_DnssrvOperation method (section 3.1.4.1)
// with the following exceptions:
//
// Return Values: The method MUST return ERROR_SUCCESS (0x00000000) on success or a
// nonzero Win32 error code value if an error occurred. See [MS-ERREF] section 2.2 or
// section 2.2.1.1.5. All error values MUST be treated the same.
Operation2(context.Context, *Operation2Request, ...dcerpc.CallOption) (*Operation2Response, error)
// The R_DnssrvQuery2 method queries the DNS server for information. The type of information
// queried for is specified by the client using the pszZone and pszOperation parameters.
// The DNS server SHOULD implement R_ DnssrvQuery2 <280>.
//
// All parameters are as specified by the R_DnssrvQuery method (section 3.1.4.2) with
// the following exceptions:
//
// Return Values: Return values behaviors and interpretations are same as they are for
// R_DnssrvQuery method (section 3.1.4.2).
Query2(context.Context, *Query2Request, ...dcerpc.CallOption) (*Query2Response, error)
// The R_DnssrvComplexOperation2 method is used to invoke a set of server functions
// specified by the caller. These functions generally return more complex structures
// than simple 32-bit integer values, unlike the operations accessible through R_DnssrvOperation
// (section 3.1.4.1). The DNS server SHOULD implement R_DnssrvComplexOperation2.
//
// All parameters are as specified by the R_DnssrvComplexOperation method (section 3.1.4.3)
// with the following exceptions:
//
// Return Values: Return values and interpretations are the same as for R_DnssrvComplexOperation
// (section 3.1.4.3).
ComplexOperation2(context.Context, *ComplexOperation2Request, ...dcerpc.CallOption) (*ComplexOperation2Response, error)
// The R_DnssrvEnumRecords2 method enumerates DNS records on the server. The DNS server
// SHOULD implement R_DnssrvEnumRecords2 <281>.
//
// All parameters are as specified by the R_DnssrvEnumRecords method (section 3.1.4.4)
// with the following exceptions:
//
// Return Values: Return values behaviors and interpretations are same as they are for
// R_DnssrvEnumRecords method (section 3.1.4.4).
EnumRecords2(context.Context, *EnumRecords2Request, ...dcerpc.CallOption) (*EnumRecords2Response, error)
// The R_DnssrvUpdateRecord2 method is used to add a new DNS record or modify/delete
// an existing DNS record at the server. The DNS server SHOULD implement R_ DnssrvEnumRecords2.<282>
//
// All parameters are as specified by the R_DnssrvUpdateRecord method (section 3.1.4.5)
// with the following exceptions:
//
// Return Values: The method MUST return ERROR_SUCCESS (0x00000000) on success or a
// nonzero Win32 error code if an error occurred. See [MS-ERREF] section 2.2 or section
// 2.2.1.1.5. All error values MUST be treated the same. All record types SHOULD be
// supported, but if an operation is attempted on an unsupported record type, the method
// MUST return a nonzero Win32 error code.
UpdateRecord2(context.Context, *UpdateRecord2Request, ...dcerpc.CallOption) (*UpdateRecord2Response, error)
// The R_DnssrvUpdateRecord3 method is used to add a new DNS record or modify or delete
// an existing DNS record in a zone or in a zone scope, or in a cache zone or cache
// scope, if specified. The DNS server SHOULD<283> implement R_DnssrvUpdateRecord3.
//
// All parameters are as specified by the methods R_DnssrvUpdateRecord (section 3.1.4.5)
// and R_DnssrvUpdateRecord2 (section 3.1.4.10) with the following exceptions:
UpdateRecord3(context.Context, *UpdateRecord3Request, ...dcerpc.CallOption) (*UpdateRecord3Response, error)
// The R_DnssrvEnumRecords3 method enumerates DNS records on a zone or a zone scope,
// or cache zone or a cache scope, if specified. The DNS server SHOULD<284> implement
// R_DnssrvEnumRecords3.
//
// All parameters are as specified by the R_DnssrvEnumRecords method (section 3.1.4.4)
// and implement the R_DnssrvEnumRecords2 method (section 3.1.4.9) with the following
// exceptions:
EnumRecords3(context.Context, *EnumRecords3Request, ...dcerpc.CallOption) (*EnumRecords3Response, error)
// The R_DnssrvOperation3 method is used to invoke a set of server functions specified
// by the caller on the zone scope or cache scope if specified. The DNS server SHOULD<285>
// implement R_DnssrvOperation3.
//
// All parameters are as specified by the methods R_DnssrvOperation (section 3.1.4.1)
// and R_DnssrvOperation2 (section 3.1.4.6) with the following exceptions.
Operation3(context.Context, *Operation3Request, ...dcerpc.CallOption) (*Operation3Response, error)
// The R_DnssrvQuery3 method queries the DNS server for information. The type of information
// queried for is specified by the client using the pszZone, pwszZoneScopeName, and
// pszOperation parameters. The DNS server SHOULD<287> implement R_DnssrvQuery3.
//
// All the parameters are as specified by the R_DnssrvQuery2 method with the following
// exceptions:
Query3(context.Context, *Query3Request, ...dcerpc.CallOption) (*Query3Response, error)
// The R_DnssrvComplexOperation3 method is used to invoke a set of server functions
// specified by the caller. These functions generally return more complex structures
// than simple 32-bit integer values, unlike the operations accessible through R_DnssrvOperation
// (section 3.1.4.1). The DNS server SHOULD<289> implement R_DnssrvComplexOperation2
// (section 3.1.4.8).
//
// All parameters are as specified by the R_DnssrvComplexOperation method (section 3.1.4.3)
// with the following exceptions:
ComplexOperation3(context.Context, *ComplexOperation3Request, ...dcerpc.CallOption) (*ComplexOperation3Response, error)
// The R_DnssrvOperation4 method is used to invoke a set of server functions specified
// by the caller on the virtualization instance, if specified. The DNS server SHOULD<290>
// implement R_DnssrvOperation4.
//
// All parameters are as specified by the R_DnssrvOperation3 (section 3.1.4.13) method
// with the following exceptions.
//
// Return Values: The method MUST return ERROR_SUCCESS (0x00000000) on success or a
// nonzero Win32 error code value if an error occurred. If unable to perform the operation,
// returns error EPT_S_CANT_PERFORM_OP (0x000006D8). See [MS-ERREF] section 2.2 or section
// 2.2.1.1.5. All error values MUST be treated the same.
Operation4(context.Context, *Operation4Request, ...dcerpc.CallOption) (*Operation4Response, error)
// The R_DnssrvQuery4 method queries the DNS server for information. The type of information
// queried for is specified by the client using the pwszVirtualizationInstanceID, and
// pszOperation parameters. The DNS server SHOULD<291> implement R_DnssrvQuery4.
//
// All the parameters are as specified by the R_DnssrvQuery2 method (section 3.1.4.7)
// method with the following exceptions:
//
// Return Values: The method MUST return ERROR_SUCCESS (0x00000000) on success or a
// nonzero Win32 error code value if an error occurred. If unable to perform the operation,
// returns error EPT_S_CANT_PERFORM_OP (0x000006D8). See [MS-ERREF] section 2.2 or section
// 2.2.1.1.5. All error values MUST be treated the same.
Query4(context.Context, *Query4Request, ...dcerpc.CallOption) (*Query4Response, error)
// The R_DnssrvUpdateRecord4 method is used to add a new DNS record or to modify or
// delete an existing DNS record in a zone or in a zone scope under a virtualization
// instance, if specified. The DNS server SHOULD<292> implement R_DnssrvUpdateRecord4.
//
// All parameters are as specified by the R_DnssrvUpdateRecord3 (section 3.1.4.11) method
// with the following exceptions:
UpdateRecord4(context.Context, *UpdateRecord4Request, ...dcerpc.CallOption) (*UpdateRecord4Response, error)
// The R_DnssrvEnumRecords4 method enumerates DNS records on a zone or a zone scope
// in a virtualization instance, if specified. The DNS server SHOULD<293> implement
// R_DnssrvEnumRecords4.
//
// All parameters are as specified by the R_DnssrvEnumRecords3 method (section 3.1.4.12)
// with the following exceptions:
EnumRecords4(context.Context, *EnumRecords4Request, ...dcerpc.CallOption) (*EnumRecords4Response, error)
// AlterContext alters the client context.
AlterContext(context.Context, ...dcerpc.Option) error
// Conn returns the client connection (unsafe)
Conn() dcerpc.Conn
}
DnsServer interface.
func NewDNSServerClient ¶
type DNSServerServer ¶
type DNSServerServer interface {
// The R_DnssrvOperation method is used to invoke a set of server functions specified
// by pszOperation.
//
// Return Values: The method MUST return ERROR_SUCCESS (0x00000000) on success or a
// nonzero Win32 error code value if an error occurred. See [MS-ERREF] section 2.2 or
// section 2.2.1.1.5. All error values MUST be treated the same.
Operation(context.Context, *OperationRequest) (*OperationResponse, error)
// The R_DnssrvQuery method queries the DNS server for information. The type of information
// queried for is specified by the client using the pszZone and pszOperation parameters.
// For the purpose of selecting an output structure type the server MUST consider the
// value of dwClientVersion (section 2.2.1.2.1) to be 0x00000000 when responding to
// this method.
//
// Return Values: A Win32 error code indicating whether the operation completed successfully
// (0x00000000) or failed (any other value). See [MS-ERREF] section 2.2 or section 2.2.1.1.5.
Query(context.Context, *QueryRequest) (*QueryResponse, error)
// The R_DnssrvComplexOperation method is used to invoke a set of server functions specified
// by the caller. These functions generally return more complex structures than simple
// 32-bit integer values, unlike the operations accessible through R_DnssrvOperation
// (section 3.1.4.1). For the purpose of selecting an output structure type the server
// MUST consider the value of dwClientVersion (section 2.2.1.2.1) to be 0x00000000 when
// responding to this method.
//
// Return Values: The method MUST return ERROR_SUCCESS (0x00000000) on success or a
// nonzero Win32 error code value if an error occurred. See [MS-ERREF] section 2.2 or
// section 2.2.1.1.5. All error values MUST be treated the same.
ComplexOperation(context.Context, *ComplexOperationRequest) (*ComplexOperationResponse, error)
// The R_DnssrvEnumRecords method enumerates DNS records on the server.
//
// Return Values: The method MUST return ERROR_SUCCESS (0x00000000) on success or a
// non-zero Win32 error code if an error occurred. See [MS-ERREF] section 2.2 or section
// 2.2.1.1.5. All error values MUST be treated the same, except that if the return code
// is ERROR_MORE_DATA (0x000000EA) then the enumeration contains more results than can
// fit into a single RPC buffer. In this case the client application can call this method
// again passing the last retrieved child as the pszStartChild argument to retrieve
// the next set of results.
EnumRecords(context.Context, *EnumRecordsRequest) (*EnumRecordsResponse, error)
// The R_DnssrvUpdateRecord method is used to add a new DNS record or modify/delete
// an existing DNS record at the server. This operation SHOULD<277> be supported.
//
// Return Values: The method MUST return ERROR_SUCCESS (0x00000000) on success or a
// non-zero Win32 error code if an error occurred. See [MS-ERREF] section 2.2 or section
// 2.2.1.1.5. All error values MUST be treated the same.
UpdateRecord(context.Context, *UpdateRecordRequest) (*UpdateRecordResponse, error)
// The R_DnssrvOperation2 method is used to invoke a set of server functions specified
// by the caller. The DNS server SHOULD implement R_DnssrvOperation2.
//
// All parameters are as specified by the R_DnssrvOperation method (section 3.1.4.1)
// with the following exceptions:
//
// Return Values: The method MUST return ERROR_SUCCESS (0x00000000) on success or a
// nonzero Win32 error code value if an error occurred. See [MS-ERREF] section 2.2 or
// section 2.2.1.1.5. All error values MUST be treated the same.
Operation2(context.Context, *Operation2Request) (*Operation2Response, error)
// The R_DnssrvQuery2 method queries the DNS server for information. The type of information
// queried for is specified by the client using the pszZone and pszOperation parameters.
// The DNS server SHOULD implement R_ DnssrvQuery2 <280>.
//
// All parameters are as specified by the R_DnssrvQuery method (section 3.1.4.2) with
// the following exceptions:
//
// Return Values: Return values behaviors and interpretations are same as they are for
// R_DnssrvQuery method (section 3.1.4.2).
Query2(context.Context, *Query2Request) (*Query2Response, error)
// The R_DnssrvComplexOperation2 method is used to invoke a set of server functions
// specified by the caller. These functions generally return more complex structures
// than simple 32-bit integer values, unlike the operations accessible through R_DnssrvOperation
// (section 3.1.4.1). The DNS server SHOULD implement R_DnssrvComplexOperation2.
//
// All parameters are as specified by the R_DnssrvComplexOperation method (section 3.1.4.3)
// with the following exceptions:
//
// Return Values: Return values and interpretations are the same as for R_DnssrvComplexOperation
// (section 3.1.4.3).
ComplexOperation2(context.Context, *ComplexOperation2Request) (*ComplexOperation2Response, error)
// The R_DnssrvEnumRecords2 method enumerates DNS records on the server. The DNS server
// SHOULD implement R_DnssrvEnumRecords2 <281>.
//
// All parameters are as specified by the R_DnssrvEnumRecords method (section 3.1.4.4)
// with the following exceptions:
//
// Return Values: Return values behaviors and interpretations are same as they are for
// R_DnssrvEnumRecords method (section 3.1.4.4).
EnumRecords2(context.Context, *EnumRecords2Request) (*EnumRecords2Response, error)
// The R_DnssrvUpdateRecord2 method is used to add a new DNS record or modify/delete
// an existing DNS record at the server. The DNS server SHOULD implement R_ DnssrvEnumRecords2.<282>
//
// All parameters are as specified by the R_DnssrvUpdateRecord method (section 3.1.4.5)
// with the following exceptions:
//
// Return Values: The method MUST return ERROR_SUCCESS (0x00000000) on success or a
// nonzero Win32 error code if an error occurred. See [MS-ERREF] section 2.2 or section
// 2.2.1.1.5. All error values MUST be treated the same. All record types SHOULD be
// supported, but if an operation is attempted on an unsupported record type, the method
// MUST return a nonzero Win32 error code.
UpdateRecord2(context.Context, *UpdateRecord2Request) (*UpdateRecord2Response, error)
// The R_DnssrvUpdateRecord3 method is used to add a new DNS record or modify or delete
// an existing DNS record in a zone or in a zone scope, or in a cache zone or cache
// scope, if specified. The DNS server SHOULD<283> implement R_DnssrvUpdateRecord3.
//
// All parameters are as specified by the methods R_DnssrvUpdateRecord (section 3.1.4.5)
// and R_DnssrvUpdateRecord2 (section 3.1.4.10) with the following exceptions:
UpdateRecord3(context.Context, *UpdateRecord3Request) (*UpdateRecord3Response, error)
// The R_DnssrvEnumRecords3 method enumerates DNS records on a zone or a zone scope,
// or cache zone or a cache scope, if specified. The DNS server SHOULD<284> implement
// R_DnssrvEnumRecords3.
//
// All parameters are as specified by the R_DnssrvEnumRecords method (section 3.1.4.4)
// and implement the R_DnssrvEnumRecords2 method (section 3.1.4.9) with the following
// exceptions:
EnumRecords3(context.Context, *EnumRecords3Request) (*EnumRecords3Response, error)
// The R_DnssrvOperation3 method is used to invoke a set of server functions specified
// by the caller on the zone scope or cache scope if specified. The DNS server SHOULD<285>
// implement R_DnssrvOperation3.
//
// All parameters are as specified by the methods R_DnssrvOperation (section 3.1.4.1)
// and R_DnssrvOperation2 (section 3.1.4.6) with the following exceptions.
Operation3(context.Context, *Operation3Request) (*Operation3Response, error)
// The R_DnssrvQuery3 method queries the DNS server for information. The type of information
// queried for is specified by the client using the pszZone, pwszZoneScopeName, and
// pszOperation parameters. The DNS server SHOULD<287> implement R_DnssrvQuery3.
//
// All the parameters are as specified by the R_DnssrvQuery2 method with the following
// exceptions:
Query3(context.Context, *Query3Request) (*Query3Response, error)
// The R_DnssrvComplexOperation3 method is used to invoke a set of server functions
// specified by the caller. These functions generally return more complex structures
// than simple 32-bit integer values, unlike the operations accessible through R_DnssrvOperation
// (section 3.1.4.1). The DNS server SHOULD<289> implement R_DnssrvComplexOperation2
// (section 3.1.4.8).
//
// All parameters are as specified by the R_DnssrvComplexOperation method (section 3.1.4.3)
// with the following exceptions:
ComplexOperation3(context.Context, *ComplexOperation3Request) (*ComplexOperation3Response, error)
// The R_DnssrvOperation4 method is used to invoke a set of server functions specified
// by the caller on the virtualization instance, if specified. The DNS server SHOULD<290>
// implement R_DnssrvOperation4.
//
// All parameters are as specified by the R_DnssrvOperation3 (section 3.1.4.13) method
// with the following exceptions.
//
// Return Values: The method MUST return ERROR_SUCCESS (0x00000000) on success or a
// nonzero Win32 error code value if an error occurred. If unable to perform the operation,
// returns error EPT_S_CANT_PERFORM_OP (0x000006D8). See [MS-ERREF] section 2.2 or section
// 2.2.1.1.5. All error values MUST be treated the same.
Operation4(context.Context, *Operation4Request) (*Operation4Response, error)
// The R_DnssrvQuery4 method queries the DNS server for information. The type of information
// queried for is specified by the client using the pwszVirtualizationInstanceID, and
// pszOperation parameters. The DNS server SHOULD<291> implement R_DnssrvQuery4.
//
// All the parameters are as specified by the R_DnssrvQuery2 method (section 3.1.4.7)
// method with the following exceptions:
//
// Return Values: The method MUST return ERROR_SUCCESS (0x00000000) on success or a
// nonzero Win32 error code value if an error occurred. If unable to perform the operation,
// returns error EPT_S_CANT_PERFORM_OP (0x000006D8). See [MS-ERREF] section 2.2 or section
// 2.2.1.1.5. All error values MUST be treated the same.
Query4(context.Context, *Query4Request) (*Query4Response, error)
// The R_DnssrvUpdateRecord4 method is used to add a new DNS record or to modify or
// delete an existing DNS record in a zone or in a zone scope under a virtualization
// instance, if specified. The DNS server SHOULD<292> implement R_DnssrvUpdateRecord4.
//
// All parameters are as specified by the R_DnssrvUpdateRecord3 (section 3.1.4.11) method
// with the following exceptions:
UpdateRecord4(context.Context, *UpdateRecord4Request) (*UpdateRecord4Response, error)
// The R_DnssrvEnumRecords4 method enumerates DNS records on a zone or a zone scope
// in a virtualization instance, if specified. The DNS server SHOULD<293> implement
// R_DnssrvEnumRecords4.
//
// All parameters are as specified by the R_DnssrvEnumRecords3 method (section 3.1.4.12)
// with the following exceptions:
EnumRecords4(context.Context, *EnumRecords4Request) (*EnumRecords4Response, error)
}
DnsServer server interface.
type EnumRecords2Request ¶
type EnumRecords2Request struct {
// dwClientVersion: The client version in DNS_RPC_CURRENT_CLIENT_VER (section 2.2.1.2.1)
// format.
ClientVersion uint32 `idl:"name:dwClientVersion" json:"client_version"`
// dwSettingFlags: Reserved for future use only. This field MUST be set to zero by clients
// and ignored by servers.
SettingFlags uint32 `idl:"name:dwSettingFlags" json:"setting_flags"`
ServerName string `idl:"name:pwszServerName;string;pointer:unique" json:"server_name"`
Zone string `idl:"name:pszZone;string;pointer:unique" json:"zone"`
NodeName string `idl:"name:pszNodeName;string;pointer:unique" json:"node_name"`
StartChild string `idl:"name:pszStartChild;string;pointer:unique" json:"start_child"`
RecordType uint16 `idl:"name:wRecordType" json:"record_type"`
SelectFlag uint32 `idl:"name:fSelectFlag" json:"select_flag"`
FilterStart string `idl:"name:pszFilterStart;string;pointer:unique" json:"filter_start"`
FilterStop string `idl:"name:pszFilterStop;string;pointer:unique" json:"filter_stop"`
}
EnumRecords2Request structure represents the R_DnssrvEnumRecords2 operation request
func (*EnumRecords2Request) MarshalNDR ¶
func (*EnumRecords2Request) UnmarshalNDR ¶
type EnumRecords2Response ¶
type EnumRecords2Response struct {
BufferLength uint32 `idl:"name:pdwBufferLength" json:"buffer_length"`
Buffer []byte `idl:"name:ppBuffer;size_is:(, pdwBufferLength)" json:"buffer"`
// Return: The R_DnssrvEnumRecords2 return value.
Return int32 `idl:"name:Return" json:"return"`
}
EnumRecords2Response structure represents the R_DnssrvEnumRecords2 operation response
func (*EnumRecords2Response) MarshalNDR ¶
func (*EnumRecords2Response) UnmarshalNDR ¶
type EnumRecords3Request ¶
type EnumRecords3Request struct {
ClientVersion uint32 `idl:"name:dwClientVersion" json:"client_version"`
SettingFlags uint32 `idl:"name:dwSettingFlags" json:"setting_flags"`
ServerName string `idl:"name:pwszServerName;string;pointer:unique" json:"server_name"`
Zone string `idl:"name:pszZone;string;pointer:unique" json:"zone"`
// pwszZoneScope: A pointer to a null-terminated character string that contains the
// name of the zone scope inside the zone or cache scope inside the cache zone that
// is to be queried. For operations specific to a particular zone scope or cache scope,
// this field MUST contain the name of the zone scope or cache scope. If the value is
// NULL, the API gives the same behavior as the R_DnssrvEnumRecords2 method.
ZoneScope string `idl:"name:pwszZoneScope;string;pointer:unique" json:"zone_scope"`
NodeName string `idl:"name:pszNodeName;string;pointer:unique" json:"node_name"`
StartChild string `idl:"name:pszStartChild;string;pointer:unique" json:"start_child"`
RecordType uint16 `idl:"name:wRecordType" json:"record_type"`
SelectFlag uint32 `idl:"name:fSelectFlag" json:"select_flag"`
FilterStart string `idl:"name:pszFilterStart;string;pointer:unique" json:"filter_start"`
FilterStop string `idl:"name:pszFilterStop;string;pointer:unique" json:"filter_stop"`
}
EnumRecords3Request structure represents the R_DnssrvEnumRecords3 operation request
func (*EnumRecords3Request) MarshalNDR ¶
func (*EnumRecords3Request) UnmarshalNDR ¶
type EnumRecords3Response ¶
type EnumRecords3Response struct {
BufferLength uint32 `idl:"name:pdwBufferLength" json:"buffer_length"`
Buffer []byte `idl:"name:ppBuffer;size_is:(, pdwBufferLength)" json:"buffer"`
// Return: The R_DnssrvEnumRecords3 return value.
Return int32 `idl:"name:Return" json:"return"`
}
EnumRecords3Response structure represents the R_DnssrvEnumRecords3 operation response
func (*EnumRecords3Response) MarshalNDR ¶
func (*EnumRecords3Response) UnmarshalNDR ¶
type EnumRecords4Request ¶
type EnumRecords4Request struct {
ClientVersion uint32 `idl:"name:dwClientVersion" json:"client_version"`
SettingFlags uint32 `idl:"name:dwSettingFlags" json:"setting_flags"`
ServerName string `idl:"name:pwszServerName;string;pointer:unique" json:"server_name"`
// pwszVirtualizationInstanceID: A pointer to a null-terminated character string that
// contains the name of the virtualization instance under which zone and zone scope
// records are to be enumerated. For operations specific to a particular zone or zone
// scope, details must be given in pszZone and pwszZoneScope as specified in section
// 3.1.4.12. If the value pwszVirtualizationInstanceID is NULL, the API gives the same
// behavior as R_DnssrvEnumRecord3.
VirtualizationInstanceID string `idl:"name:pwszVirtualizationInstanceID;string;pointer:unique" json:"virtualization_instance_id"`
Zone string `idl:"name:pszZone;string;pointer:unique" json:"zone"`
ZoneScope string `idl:"name:pwszZoneScope;string;pointer:unique" json:"zone_scope"`
NodeName string `idl:"name:pszNodeName;string;pointer:unique" json:"node_name"`
StartChild string `idl:"name:pszStartChild;string;pointer:unique" json:"start_child"`
RecordType uint16 `idl:"name:wRecordType" json:"record_type"`
SelectFlag uint32 `idl:"name:fSelectFlag" json:"select_flag"`
FilterStart string `idl:"name:pszFilterStart;string;pointer:unique" json:"filter_start"`
FilterStop string `idl:"name:pszFilterStop;string;pointer:unique" json:"filter_stop"`
}
EnumRecords4Request structure represents the R_DnssrvEnumRecords4 operation request
func (*EnumRecords4Request) MarshalNDR ¶
func (*EnumRecords4Request) UnmarshalNDR ¶
type EnumRecords4Response ¶
type EnumRecords4Response struct {
BufferLength uint32 `idl:"name:pdwBufferLength" json:"buffer_length"`
Buffer []byte `idl:"name:ppBuffer;size_is:(, pdwBufferLength)" json:"buffer"`
// Return: The R_DnssrvEnumRecords4 return value.
Return int32 `idl:"name:Return" json:"return"`
}
EnumRecords4Response structure represents the R_DnssrvEnumRecords4 operation response
func (*EnumRecords4Response) MarshalNDR ¶
func (*EnumRecords4Response) UnmarshalNDR ¶
type EnumRecordsRequest ¶
type EnumRecordsRequest struct {
// pwszServerName: The client SHOULD pass a pointer to the FQDN of the target server
// as a null-terminated UTF-16LE character string. The server MUST ignore this value.
ServerName string `idl:"name:pwszServerName;string;pointer:unique" json:"server_name"`
// pszZone: A pointer to a null-terminated character string that contains the name of
// the zone to be queried. For operations specific to a particular zone, this field
// MUST contain the name of the zone in UTF-8 format. For all other operations, this
// field MUST be NULL.
Zone string `idl:"name:pszZone;string;pointer:unique" json:"zone"`
// pszNodeName: A pointer to a null-terminated character string that contains the node
// name at which to modify a record. A string that is not dot-terminated indicates a
// name relative to the zone root. A value of "@" indicates the zone root itself. A
// dot-terminated string indicates the name is an FQDN.
NodeName string `idl:"name:pszNodeName;string;pointer:unique" json:"node_name"`
// pszStartChild: A pointer to a null-terminated character string that contains the
// name of the child node at which to start enumeration. A NULL value indicates to start
// a new record enumeration. The client application can pass the last retrieved child
// node of pszNodeName to continue a previous enumeration.
StartChild string `idl:"name:pszStartChild;string;pointer:unique" json:"start_child"`
// wRecordType: An integer value that indicates the type of record to enumerate. Any
// value can be used, as specified in DNS_RECORD_TYPE (section 2.2.2.1.1). The query-only
// value DNS_TYPE_ALL indicates all types of records.
RecordType uint16 `idl:"name:wRecordType" json:"record_type"`
// fSelectFlag: An integer value that specifies what records are included in the response.
// Any combination of the values below MUST be supported. Values not listed below MUST
// be ignored.
//
// +-----------------------------------------+----------------------------------------------------------------------------------+
// | | |
// | VALUE | MEANING |
// | | |
// +-----------------------------------------+----------------------------------------------------------------------------------+
// +-----------------------------------------+----------------------------------------------------------------------------------+
// | DNS_RPC_VIEW_AUTHORITY_DATA 0x00000001 | Include records from authoritative zones. |
// +-----------------------------------------+----------------------------------------------------------------------------------+
// | DNS_RPC_VIEW_CACHE_DATA 0x00000002 | Include records from the DNS server's cache. |
// +-----------------------------------------+----------------------------------------------------------------------------------+
// | DNS_RPC_VIEW_GLUE_DATA 0x00000004 | Include glue records. |
// +-----------------------------------------+----------------------------------------------------------------------------------+
// | DNS_RPC_VIEW_ROOT_HINT_DATA 0x00000008 | Include root hint records. |
// +-----------------------------------------+----------------------------------------------------------------------------------+
// | DNS_RPC_VIEW_ADDITIONAL_DATA 0x00000010 | Include additional records. |
// +-----------------------------------------+----------------------------------------------------------------------------------+
// | DNS_RPC_VIEW_NO_CHILDREN 0x00010000 | Do not include any records from child nodes. |
// +-----------------------------------------+----------------------------------------------------------------------------------+
// | DNS_RPC_VIEW_ONLY_CHILDREN 0x00020000 | Include only children nodes of the specified node in the results. For example: |
// | | if a zone, "example.com", has child nodes, "a.example.com" and "b.example.com", |
// | | calling R_DnssrcEnumRecords(…,"example.com", "example.com", NULL, DNS_TYPE_ALL, |
// | | DNS_RPC_VIEW_ONLY_CHILDREN, …, …, …, …) will return DNS_RPC_NODES for "a" and |
// | | "b". |
// +-----------------------------------------+----------------------------------------------------------------------------------+
SelectFlag uint32 `idl:"name:fSelectFlag" json:"select_flag"`
// pszFilterStart: Reserved for future use only. This MUST be set to NULL by clients
// and ignored by servers.
FilterStart string `idl:"name:pszFilterStart;string;pointer:unique" json:"filter_start"`
// pszFilterStop: Reserved for future use only. This MUST be set to NULL by clients
// and ignored by servers.
FilterStop string `idl:"name:pszFilterStop;string;pointer:unique" json:"filter_stop"`
}
EnumRecordsRequest structure represents the R_DnssrvEnumRecords operation request
func (*EnumRecordsRequest) MarshalNDR ¶
func (*EnumRecordsRequest) UnmarshalNDR ¶
type EnumRecordsResponse ¶
type EnumRecordsResponse struct {
// pdwBufferLength: A pointer to an integer that on success contains the length of the
// buffer pointed to by ppBuffer.
BufferLength uint32 `idl:"name:pdwBufferLength" json:"buffer_length"`
// ppBuffer: A pointer to a pointer that on success points to a buffer containing the
// enumerated records. The buffer is a series of structures beginning with a DNS_RPC_NODE
// structure (section 2.2.2.2.3). The records for the node will be represented by a
// series of DNS_RPC_RECORD (section 2.2.2.2.5) structures. The number of DNS_RPC_RECORD
// structures following a DNS_RPC_NODE structure is given by the wRecordCount member
// of DNS_RPC_NODE.
Buffer []byte `idl:"name:ppBuffer;size_is:(, pdwBufferLength)" json:"buffer"`
// Return: The R_DnssrvEnumRecords return value.
Return int32 `idl:"name:Return" json:"return"`
}
EnumRecordsResponse structure represents the R_DnssrvEnumRecords operation response
func (*EnumRecordsResponse) MarshalNDR ¶
func (*EnumRecordsResponse) UnmarshalNDR ¶
type Operation2Request ¶
type Operation2Request struct {
// dwClientVersion: The client version in DNS_RPC_CURRENT_CLIENT_VER (section 2.2.1.2.1)
// format.
ClientVersion uint32 `idl:"name:dwClientVersion" json:"client_version"`
// dwSettingFlags: Reserved for future use. MUST be set to zero by clients and MUST
// be ignored by servers.
SettingFlags uint32 `idl:"name:dwSettingFlags" json:"setting_flags"`
ServerName string `idl:"name:pwszServerName;string;pointer:unique" json:"server_name"`
Zone string `idl:"name:pszZone;string;pointer:unique" json:"zone"`
Context uint32 `idl:"name:dwContext" json:"context"`
Operation string `idl:"name:pszOperation;string;pointer:unique" json:"operation"`
TypeID uint32 `idl:"name:dwTypeId" json:"type_id"`
Data *dnsp.Union `idl:"name:pData;switch_is:dwTypeId" json:"data"`
}
Operation2Request structure represents the R_DnssrvOperation2 operation request
func (*Operation2Request) MarshalNDR ¶
func (*Operation2Request) UnmarshalNDR ¶
type Operation2Response ¶
type Operation2Response struct {
// Return: The R_DnssrvOperation2 return value.
Return int32 `idl:"name:Return" json:"return"`
}
Operation2Response structure represents the R_DnssrvOperation2 operation response
func (*Operation2Response) MarshalNDR ¶
func (*Operation2Response) UnmarshalNDR ¶
type Operation3Request ¶
type Operation3Request struct {
ClientVersion uint32 `idl:"name:dwClientVersion" json:"client_version"`
SettingFlags uint32 `idl:"name:dwSettingFlags" json:"setting_flags"`
ServerName string `idl:"name:pwszServerName;string;pointer:unique" json:"server_name"`
Zone string `idl:"name:pszZone;string;pointer:unique" json:"zone"`
// pwszZoneScopeName: A pointer to a null-terminated character string that contains
// the name of the zone scope in the zone or cache scope in a cache zone, or a server
// scope configured on the DNS server in which the operation is to be performed. For
// operations specific to a particular zone scope, this field MUST contain the name
// of the zone scope. If the value is NULL then the API gives the same behavior as R_DnssrvOperation2
// (section 3.1.4.6). If the value is not NULL then pszZone MUST point to a null-terminated
// character string that contains the name of the zone in UTF-8 format. In this case
// the type of the zone pointed to by pszZone MUST be a primary zone. It MUST also be
// a non-autocreated zone, a non-reverse lookup zone, and a non-AD integrated zone.
// For operations specific to server scopes, this field MUST contain the name of the
// server scope and the pszZone field MUST be NULL. For operations specific to cache
// scopes, this field MUST contain the name of the cache scope, and the pszZone field
// MUST be "..cache."
//
// If pszZone is not NULL and pwszZoneScopeName is not NULL, pszOperation MUST be set
// to one of the following values:
//
// +-------------------+----------------------------------------------------------------------------------+
// | | |
// | VALUE | MEANING |
// | | |
// +-------------------+----------------------------------------------------------------------------------+
// +-------------------+----------------------------------------------------------------------------------+
// | "DeleteNode" | Deletes a node from the given zone scope of a specified zone or a cache |
// | | scope in a specified cache zone. On input, dwTypeId MUST be set to |
// | | DNSSRV_TYPEID_NAME_AND_PARAM (section 2.2.2.1.1), and pData MUST point to a |
// | | structure of type DNS_RPC_NAME_AND_PARAM (section 2.2.1.2.5). That structure |
// | | contains the name of the node to be deleted as pointed by pszNodeName, and a |
// | | Boolean flag in dwParam that indicates if the node's subtree is to be deleted. |
// +-------------------+----------------------------------------------------------------------------------+
// | "DeleteRecordSet" | Deletes all the DNS records of a particular type at a particular node |
// | | that is present in the given zone scope of a specified zone or a cache |
// | | scope in a specified cache zone. On input, dwTypeId MUST be set to |
// | | DNSSRV_TYPEID_NAME_AND_PARAM (section 2.2.2.1.1). pData MUST point to a |
// | | structure of type DNS_RPC_NAME_AND_PARAM (section 2.2.1.2.5). That structure |
// | | contains the name of the node to be deleted and the DNS record type in the |
// | | dwParam member. The type MUST be of value of either DNS_RECORD_TYPE (section |
// | | 2.2.2.1.1) or 0x00FF, which specifies all types. |
// +-------------------+----------------------------------------------------------------------------------+
//
// If pszZone is NULL and pwszZoneScopeName is not NULL, pszOperation MUST be set to
// one of the following values.
//
// +----------------------+----------------------------------------------------------------------------------+
// | | |
// | VALUE | MEANING |
// | | |
// +----------------------+----------------------------------------------------------------------------------+
// +----------------------+----------------------------------------------------------------------------------+
// | "Forwarders" | On input, dwTypeId SHOULD<286> be set to DNSSRV_TYPEID_FORWARDERS, and pData |
// | | MUST point to a structure of one of the types specified in DNS_RPC_FORWARDERS |
// | | (section 2.2.5.2.10), which contains information about new IP addresses to which |
// | | the DNS server SHOULD forward queries. These IP addresses are part of the server |
// | | scope as specified in the pwszZoneScopeName. |
// +----------------------+----------------------------------------------------------------------------------+
// | "ResetDwordProperty" | Update the value of a (name, value) pair in the DNS Server Configuration. On |
// | | input, dwTypeId MUST be set to DNSSRV_TYPEID_NAME_AND_PARAM, and pData MUST |
// | | point to a structure of type DNS_RPC_NAME_AND_PARAM (section 2.2.1.2.5) that |
// | | specifies the name of a property listed in section 3.1.1.3.1 and a new value for |
// | | that property. |
// +----------------------+----------------------------------------------------------------------------------+
ZoneScopeName string `idl:"name:pwszZoneScopeName;string;pointer:unique" json:"zone_scope_name"`
Context uint32 `idl:"name:dwContext" json:"context"`
Operation string `idl:"name:pszOperation;string;pointer:unique" json:"operation"`
TypeID uint32 `idl:"name:dwTypeId" json:"type_id"`
Data *dnsp.Union `idl:"name:pData;switch_is:dwTypeId" json:"data"`
}
Operation3Request structure represents the R_DnssrvOperation3 operation request
func (*Operation3Request) MarshalNDR ¶
func (*Operation3Request) UnmarshalNDR ¶
type Operation3Response ¶
type Operation3Response struct {
// Return: The R_DnssrvOperation3 return value.
Return int32 `idl:"name:Return" json:"return"`
}
Operation3Response structure represents the R_DnssrvOperation3 operation response
func (*Operation3Response) MarshalNDR ¶
func (*Operation3Response) UnmarshalNDR ¶
type Operation4Request ¶
type Operation4Request struct {
ClientVersion uint32 `idl:"name:dwClientVersion" json:"client_version"`
SettingFlags uint32 `idl:"name:dwSettingFlags" json:"setting_flags"`
ServerName string `idl:"name:pwszServerName;string;pointer:unique" json:"server_name"`
// pwszVirtualizationInstanceID: A pointer to a null-terminated Unicode string that
// contains the name of the virtualization instance configured on the DNS server in
// which the operation is to be performed. For operations specific to a particular virtualization
// instance, this field MUST contain the name of the virtualization instance. If the
// value is NULL then the API gives the same behavior as R_DnssrvOperation3. If the
// value is not NULL then pszZone MUST point to a null-terminated character string that
// contains the name of the zone in UTF-8 format. In this case the type of the zone
// pointed to by pszZone MUST be a primary zone. It MUST also be a non-autocreated zone,
// and a non-AD integrated zone. Apart from the CreateVirtualizationInstance, DeleteVirtualizationInstance,
// and UpdateVirtualizationInstance operations (section 3.1.4.1), R_DnssrvComplexOperation4
// changes the behavior of the following operations: WriteDirtyZones, ZoneCreate, DeleteNode,
// DeleteRecordSet, WriteBackFile, PauseZone, ResumeZone, DeleteZone, ReloadZone, RefreshZone,
// CreateZoneScope, and DeleteZoneScope (section 3.1.4.1). If these operations are called
// with R_DnssrvOperation4 and a non-NULL pwszVirtualizationInstanceID, they are performed
// under the given virtualization instance.
VirtualizationInstanceID string `idl:"name:pwszVirtualizationInstanceID;string;pointer:unique" json:"virtualization_instance_id"`
Zone string `idl:"name:pszZone;string;pointer:unique" json:"zone"`
ZoneScopeName string `idl:"name:pwszZoneScopeName;string;pointer:unique" json:"zone_scope_name"`
Context uint32 `idl:"name:dwContext" json:"context"`
Operation string `idl:"name:pszOperation;string;pointer:unique" json:"operation"`
TypeID uint32 `idl:"name:dwTypeId" json:"type_id"`
Data *dnsp.Union `idl:"name:pData;switch_is:dwTypeId" json:"data"`
}
Operation4Request structure represents the R_DnssrvOperation4 operation request
func (*Operation4Request) MarshalNDR ¶
func (*Operation4Request) UnmarshalNDR ¶
type Operation4Response ¶
type Operation4Response struct {
// Return: The R_DnssrvOperation4 return value.
Return int32 `idl:"name:Return" json:"return"`
}
Operation4Response structure represents the R_DnssrvOperation4 operation response
func (*Operation4Response) MarshalNDR ¶
func (*Operation4Response) UnmarshalNDR ¶
type OperationRequest ¶
type OperationRequest struct {
// pwszServerName: The client SHOULD pass a pointer to the FQDN of the target server
// as a null-terminated UTF-16LE character string. The server MUST ignore this value.
ServerName string `idl:"name:pwszServerName;string;pointer:unique" json:"server_name"`
// pszZone: A pointer to a null-terminated character string that contains the name of
// the zone to be queried. For operations specific to a particular zone, this string
// MUST contain the name of the zone in UTF-8 format or a multizone operation string
// (given in the table that follows) that indicates that the operation is performed
// on multiple zones, but only if dwContext is zero. If dwContext is not zero, then
// the value of pszZone MUST be ignored. For all other operations this value MUST be
// set to NULL. When pszZone is NULL, the valid operations are in the first table under
// the pszOperation section that follows, or are a property name listed in section 3.1.1.1.2,
// 3.1.1.1.3, or 3.1.1.1.4. If this value is not NULL, then this value will be used
// by certain operations as specified in the second table for pszOperation that follows.
//
// The following table shows what values are used to request that the operation be performed
// on multiple zones, using ZONE_REQUEST_FILTERS values (section 2.2.5.1.4).
//
// +------------------------------+----------------------------------------------------------------------------------+
// | | |
// | VALUE | MEANING |
// | | |
// +------------------------------+----------------------------------------------------------------------------------+
// +------------------------------+----------------------------------------------------------------------------------+
// | "..AllZones" | ZONE_REQUEST_PRIMARY | ZONE_REQUEST_SECONDARY | ZONE_REQUEST_AUTO | |
// | | ZONE_REQUEST_FORWARD | ZONE_REQUEST_REVERSE | ZONE_REQUEST_FORWARDER |
// | | | ZONE_REQUEST_STUB | ZONE_REQUEST_DS | ZONE_REQUEST_NON_DS | |
// | | ZONE_REQUEST_DOMAIN_DP | ZONE_REQUEST_FOREST_DP | ZONE_REQUEST_CUSTOM_DP | |
// | | ZONE_REQUEST_LEGACY_DP |
// +------------------------------+----------------------------------------------------------------------------------+
// | "..AllZonesAndCache" | ZONE_REQUEST_PRIMARY | ZONE_REQUEST_SECONDARY | ZONE_REQUEST_CACHE |
// | | | ZONE_REQUEST_AUTO | ZONE_REQUEST_FORWARD | ZONE_REQUEST_REVERSE |
// | | | ZONE_REQUEST_FORWARDER | ZONE_REQUEST_STUB | ZONE_REQUEST_DS | |
// | | ZONE_REQUEST_NON_DS | ZONE_REQUEST_DOMAIN_DP | ZONE_REQUEST_FOREST_DP | |
// | | ZONE_REQUEST_CUSTOM_DP | ZONE_REQUEST_LEGACY_DP |
// +------------------------------+----------------------------------------------------------------------------------+
// | "..AllPrimaryZones" | ZONE_REQUEST_PRIMARY |
// +------------------------------+----------------------------------------------------------------------------------+
// | "..AllSecondaryZones" | ZONE_REQUEST_SECONDARY |
// +------------------------------+----------------------------------------------------------------------------------+
// | "..AllForwardZones" | ZONE_REQUEST_FORWARD |
// +------------------------------+----------------------------------------------------------------------------------+
// | "..AllReverseZones" | ZONE_REQUEST_REVERSE |
// +------------------------------+----------------------------------------------------------------------------------+
// | "..AllDsZones" | ZONE_REQUEST_DS |
// +------------------------------+----------------------------------------------------------------------------------+
// | "..AllNonDsZones" | ZONE_REQUEST_NON_DS |
// +------------------------------+----------------------------------------------------------------------------------+
// | "..AllPrimaryReverseZones" | ZONE_REQUEST_REVERSE | ZONE_REQUEST_PRIMARY |
// +------------------------------+----------------------------------------------------------------------------------+
// | "..AllPrimaryForwardZones" | ZONE_REQUEST_FORWARD | ZONE_REQUEST_PRIMARY |
// +------------------------------+----------------------------------------------------------------------------------+
// | "..AllSecondaryReverseZones" | ZONE_REQUEST_REVERSE | ZONE_REQUEST_SECONDARY |
// +------------------------------+----------------------------------------------------------------------------------+
// | "..AllSecondaryForwardZones" | ZONE_REQUEST_FORWARD | ZONE_REQUEST_SECONDARY |
// +------------------------------+----------------------------------------------------------------------------------+
Zone string `idl:"name:pszZone;string;pointer:unique" json:"zone"`
// dwContext: A value used to specify multizone operations in ZONE_REQUEST_FILTERS (section
// 2.2.5.1.4) format or zero if the operation is not meant to apply to multiple zones.
// If pszZone is not NULL and matches the name of a zone hosted by the DNS server then
// the value of dwContext MUST be ignored.
Context uint32 `idl:"name:dwContext" json:"context"`
// pszOperation: A pointer to a null-terminated ASCII character string that contains
// the name of operation to be performed on the server. These are two sets of allowed
// values for pszOperation:
//
// If pszZone is set to NULL, pszOperation MUST be either a property name listed in
// section 3.1.1.1.2, 3.1.1.1.3 or 3.1.1.1.4, or SHOULD<215> be one of the following.
//
// +----------------------------------+----------------------------------------------------------------------------------+
// | | |
// | VALUE | MEANING |
// | | |
// +----------------------------------+----------------------------------------------------------------------------------+
// +----------------------------------+----------------------------------------------------------------------------------+
// | ResetDwordProperty | Update the value of a (name, value) pair in the DNS server configuration. On |
// | | input, dwTypeId MUST be set to DNSSRV_TYPEID_NAME_AND_PARAM, and pData MUST |
// | | point to a structure of type DNS_RPC_NAME_AND_PARAM (section 2.2.1.2.5) that |
// | | specifies the name of a property listed in section 3.1.1.1.1 and a new value for |
// | | that property. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | Restart | The server SHOULD restart the DNS server process. dwTypeId and pData MUST be |
// | | ignored by the server.<216> |
// +----------------------------------+----------------------------------------------------------------------------------+
// | ClearDebugLog | Clear the debug log. dwTypeId and pData MUST be ignored by the server. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | ClearCache | Delete all cached records from the cache zone or cache scope memory. dwTypeId |
// | | and pData MUST be ignored by the server. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | WriteDirtyZones | Write all zones that are stored in local persistent storage to local persistent |
// | | storage if the zone's Dirty Flag (section 3.1.1) is set to TRUE. dwTypeId and |
// | | pData MUST be ignored by the server. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | ZoneCreate | Create a zone. On input, dwTypeId SHOULD<217> be set to |
// | | DNSSRV_TYPEID_ZONE_CREATE. pData MUST point to a structure of one of the types |
// | | specified in DNS DNS_RPC_ZONE_CREATE_INFO (section 2.2.5.2.7) that contains all |
// | | parameters of a new zone to be created by the DNS server, and pData MUST conform |
// | | to the description corresponding to the value of dwTypeId (section 2.2.1.1.1) If |
// | | pData points to a DNS_ZONE_TYPE_CACHE or DNS_ZONE_TYPE_SECONDARY_CACHE record, |
// | | the server MUST return a nonzero error. If pData points to a DNS_ZONE_TYPE_STUB, |
// | | DNS_ZONE_TYPE_SECONDARY, or DNS_ZONE_TYPE_FORWARDER record, the server MAY |
// | | return a nonzero error, but SHOULD return success.<218> |
// +----------------------------------+----------------------------------------------------------------------------------+
// | ClearStatistics | Clears server statistics data on the DNS server. dwTypeId and pData MUST be |
// | | ignored by the server. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | EnlistDirectoryPartition | On input dwTypeId MUST be set to DNSSRV_TYPEID_ENLIST_DP, and the pData MUST |
// | | point to a DNS_RPC_ENLIST_DP (section 2.2.7.2.5) structure. This operation |
// | | allows application directory partitions to be added to or deleted from the |
// | | Application Directory Partition Table, and also allows the DNS server to be |
// | | directed to add or remove itself from the replication scope of an existing |
// | | application directory partition. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | StartScavenging | Initiate a resource record scavenging cycle on the DNS server. dwTypeId, and |
// | | pData MUST be ignored by the server. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | AbortScavenging | Terminate a resource record scavenging cycle on the DNS server. dwTypeId and |
// | | pData MUST be ignored by the server. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | AutoConfigure | On input, dwTypeId SHOULD be set to DNSSRV_TYPEID_AUTOCONFIGURE, in which |
// | | case pData MUST point to a structure of type DNS_RPC_AUTOCONFIGURE (section |
// | | 2.2.8.2.1)<219>; dwTypeId MAY instead be set to DNSSRV_TYPEID_DWORD in which |
// | | case pData MUST point to a DWORD in DNS_RPC_AUTOCONFIG (section 2.2.8.1.1) |
// | | format. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | ExportSettings | Export DNS settings on the DNS server to a file on the DNS server. dwTypeId |
// | | SHOULD be set to DNSSRV_TYPEID_LPWSTR, and pData MUST be ignored by the server. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | PrepareForDemotion | Prepares for demotion by removing references to this DNS server from all zones |
// | | stored in the directory server. dwTypeId and pData MUST be ignored by the |
// | | server. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | PrepareForUninstall | This operation does nothing on the DNS server. dwTypeId and pData MUST be |
// | | ignored by the server. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | DeleteNode | On input dwTypeId MUST be set to DNSSRV_TYPEID_NAME_AND_PARAM, and pData MUST |
// | | point to a structure of type DNS_RPC_NAME_AND_PARAM (section 2.2.1.2.5) that |
// | | contains the FQDN of the node pointed to by pszNodeName in the DNS server's |
// | | cache to be deleted and a Boolean flag in dwParam to indicate if the node |
// | | subtree is to be deleted. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | DeleteRecordSet | On input dwTypeId MUST be set to DNSSRV_TYPEID_NAME_AND_PARAM, and pData MUST |
// | | point to a structure of type DNS_RPC_NAME_AND_PARAM (section 2.2.1.2.5). That |
// | | structure contains the FQDN of the node to be deleted, which is cached on the |
// | | DNS server, and the type of record set in the dwParam member, which indicates |
// | | whether the entire set of this type is to be deleted. The type MUST be a |
// | | DNS_RECORD_TYPE value (section 2.2.2.1.1) or 0x00FF, which specifies all types. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | WriteBackFile | Write all information for root hints back to persistent storage. dwTypeId and |
// | | pData MUST be ignored by the server. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | ListenAddresses | On input, dwTypeId MUST be set to DNSSRV_TYPEID_IPARRAY or |
// | | DNSSRV_TYPEID_ADDRARRAY and pData MUST point to a structure of type IP4_ARRAY |
// | | (section 2.2.3.2.1) or DNS_ADDR_ARRAY (section 2.2.3.2.3) respectively, which |
// | | contains a list of new IP addresses on which the DNS server can listen. The |
// | | server SHOULD accept DNSSRV_TYPEID_ADDRARRAY and DNS_ADDR_ARRAY, and MAY accept |
// | | DNSSRV_TYPEID_IPARRAY and IP4_ARRAY.<220> |
// +----------------------------------+----------------------------------------------------------------------------------+
// | Forwarders | On input dwTypeId SHOULD be set to DNSSRV_TYPEID_FORWARDERS<221>, and pData |
// | | MUST point to a structure of one of the types specified in DNS_RPC_FORWARDERS |
// | | (section 2.2.5.2.10), which contains information about new IP addresses to which |
// | | the DNS server can forward queries. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | LogFilePath | On input dwTypeId MUST be set to DNSSRV_TYPEID_LPWSTR, and pData MUST point to |
// | | a Unicode string that contains an absolute or relative pathname or filename for |
// | | the debug log file on the DNS server. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | LogIPFilterList | On input dwTypeId MUST be set to DNSSRV_TYPEID_IPARRAY or |
// | | DNSSRV_TYPEID_ADDRARRAY, and pData MUST point to a structure of type IP4_ARRAY |
// | | (section 2.2.3.2.1) or DNS_ADDR_ARRAY (section 2.2.3.2.3) respectively, which |
// | | contains a list of new IP addresses used for debug log filter. The DNS server |
// | | will write to the debug log only for traffic to/from these IP addresses. The |
// | | server SHOULD accept DNSSRV_TYPEID_ADDRARRAY and DNS_ADDR_ARRAY, and MAY accept |
// | | DNSSRV_TYPEID_IPARRAY and IP4_ARRAY.<222> |
// +----------------------------------+----------------------------------------------------------------------------------+
// | ForestDirectoryPartitionBaseName | The DNS server MUST return an error. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | DomainDirectoryPartitionBaseName | The DNS server MUST return an error. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | GlobalQueryBlockList | Update the list of single-label names for which queries are blocked. Query |
// | | names that match this list, in any primary zone, will be blocked. On input |
// | | dwTypeId MUST be set to DNSSRV_TYPEID_UTF8_STRING_LIST, and pData MUST point to |
// | | a structure of type DNS_RPC_UTF8_STRING_LIST (section 2.2.1.2.3). |
// +----------------------------------+----------------------------------------------------------------------------------+
// | BreakOnReceiveFrom | On input dwTypeId MUST be set to DNSSRV_TYPEID_IPARRAY or |
// | | DNSSRV_TYPEID_ADDRARRAY and pData MUST point to a structure of type IP4_ARRAY |
// | | (section 2.2.3.2.1) or DNS_ADDR_ARRAY (section 2.2.3.2.3) respectively, that |
// | | contains a list of new IP addresses for which the DNS server will execute |
// | | a breakpoint if a packet is received from these IP addresses. The server |
// | | SHOULD accept DNSSRV_TYPEID_ADDRARRAY and DNS_ADDR_ARRAY, and MAY accept |
// | | DNSSRV_TYPEID_IPARRAY and IP4_ARRAY.<223> |
// +----------------------------------+----------------------------------------------------------------------------------+
// | BreakOnUpdateFrom | On input dwTypeId MUST be set to DNSSRV_TYPEID_IPARRAY or |
// | | DNSSRV_TYPEID_ADDRARRAY, and pData MUST point to a structure of type IP4_ARRAY |
// | | (section 2.2.3.2.1) or DNS_ADDR_ARRAY (section 2.2.3.2.3) respectively, that |
// | | contains a list of new IP addresses for which the DNS server will execute |
// | | a breakpoint if an update is received from these IP addresses. The server |
// | | SHOULD accept DNSSRV_TYPEID_ADDRARRAY and DNS_ADDR_ARRAY, and MAY accept |
// | | DNSSRV_TYPEID_IPARRAY and IP4_ARRAY.<224> |
// +----------------------------------+----------------------------------------------------------------------------------+
// | ServerLevelPluginDll | On input dwTypeId MUST be set to DNSSRV_TYPEID_LPWSTR, and pData MUST point to a |
// | | Unicode string that contains an absolute pathname for server side plug-in binary |
// | | on the DNS server or an empty Unicode string. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | ActiveRefreshAllTrustPoints | Schedules an immediate RFC 5011 active refresh for all trust points, regardless |
// | | of the time of the last active refresh. The dwTypeId and pData parameters MUST |
// | | be set to zero/NULL by the client and MUST be ignored by the server.<225> |
// +----------------------------------+----------------------------------------------------------------------------------+
// | CreateServerScope | Creates a server scope on the DNS server. The dwTypeId parameter MUST be set |
// | | to DNSSRV_TYPEID_LPWSTR. pData MUST point to a Unicode string that contains the |
// | | name of the server scope to be created.<226> |
// +----------------------------------+----------------------------------------------------------------------------------+
// | DeleteServerScope | Deletes a server scope on the DNS server. The dwTypeId parameter MUST be set |
// | | to DNSSRV_TYPEID_LPWSTR. pData MUST point to a Unicode string that contains the |
// | | name of the server scope to be deleted.<227> |
// +----------------------------------+----------------------------------------------------------------------------------+
// | CreateClientSubnetRecord | Creates a client subnet record on a DNS server. The dwTypeId parameter MUST be |
// | | set to DNSSRV_TYPEID_CLIENT_SUBNET_RECORD, and pData MUST point to a structure |
// | | of type DNS_RPC_CLIENT_SUBNET_RECORD. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | DeleteClientSubnetRecord | Deletes a client subnet record on a DNS server. The dwTypeId parameter MUST be |
// | | set to DNSSRV_TYPEID_LPWSTR, and pData MUST point to a NULL-terminated Unicode |
// | | string containing the name of the client subnet record to be deleted. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | DeleteSubnetsInRecord | Updates a client subnet record on a DNS server by deleting the IP/IPv6 |
// | | Subnets from the Client Subnet Record. The dwTypeId parameter MUST be set to |
// | | DNSSRV_TYPEID_CLIENT_SUBNET_RECORD, and pData MUST point to a structure of type |
// | | DNS_RPC_CLIENT_SUBNET_RECORD. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | AddSubnetsInRecord | Updates a client subnet record on a DNS server by adding the IP/IPv6 |
// | | Subnets to the Client Subnet Record. The dwTypeId parameter MUST be set to |
// | | DNSSRV_TYPEID_CLIENT_SUBNET_RECORD, and pData MUST point to a structure of type |
// | | DNS_RPC_CLIENT_SUBNET_RECORD. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | ResetClientSubnetRecord | Resets a client subnet record on a DNS server by deleting the existing IP/IPv6 |
// | | Subnets and adding the IP/IPv6 Subnets specific to the client subnet record. The |
// | | dwTypeId parameter MUST be set to DNSSRV_TYPEID_CLIENT_SUBNET_RECORD, and pData |
// | | MUST point to a structure of type DNS_RPC_CLIENT_SUBNET_RECORD. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | CreatePolicy | Creates a DNS Policy at the server level on a DNS server. The dwTypeId parameter |
// | | MUST be set to DNSSRV_TYPEID_POLICY, and pData MUST point to a structure of type |
// | | DNS_RPC_POLICY. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | DeletePolicy | Deletes a DNS Policy at the server level on a DNS server. The dwTypeId parameter |
// | | MUST be set to DNSSRV_TYPEID_LPWSTR, and pData MUST point to NULL-terminated |
// | | Unicode string containing the name of the DNS Policy. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | UpdatePolicy | Updates a DNS Policy at the server level on a DNS server. The dwTypeId parameter |
// | | MUST be set to DNSSRV_TYPEID_POLICY, and pData MUST point to a structure of type |
// | | DNS_RPC_POLICY. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | SetRRL | Sets Response Rate Limiting parameters at the server level on a DNS server. The |
// | | dwTypeId parameter MUST be set to DNSSRV_TYPEID_RRL, and pData MUST point to a |
// | | structure of type DNS_RPC_RRL_PARAMS. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | CreateVirtualizationInstance | Creates a virtualization instance on the DNS server, under which |
// | | zones can be created later. The dwTypeId parameter MUST be set to |
// | | DNSSRV_TYPEID_VIRTUALIZATION_INSTANCE (section 2.2.1.2.6), and the pData |
// | | parameter MUST point to a structure of type DNS_RPC_VIRTUALIZATION_INSTANCE |
// | | (section 2.2.1.2.6). |
// +----------------------------------+----------------------------------------------------------------------------------+
// | DeleteVirtualizationInstance | Removes a virtualization instance on the DNS server. This also removes |
// | | the zones and zone scopes under the virtualization instance as well. The |
// | | dwTypeId parameter MUST be set to DNSSRV_TYPEID_VIRTUALIZATION_INSTANCE, |
// | | and pData MUST point to a structure of type DNS_RPC_VIRTUALIZATION_INSTANCE. |
// | | The value of dwFlags in DNS_RPC_VIRTUALIZATION_INSTANCE if set to |
// | | DNS_RPC_FLAG_PRESERVE_ZONE_FILE, the DNS server deletes the zones under the |
// | | virtualization instance but keeps the zone files. By default a DNS server |
// | | removes the zone files of zones under a virtualization instance when the |
// | | virtualization instance is removed. |
// +----------------------------------+----------------------------------------------------------------------------------+
// | UpdateVirtualizationInstance | Modifies the members of the virtualization instance on the DNS server. The |
// | | dwTypeId parameter MUST be set to DNSSRV_TYPEID_VIRTUALIZATION_INSTANCE, and |
// | | pData MUST point to a structure of type DNS_RPC_VIRTUALIZATION_INSTANCE. The |
// | | members of DNS_RPC_VIRTUALIZATION_INSTANCE to be modified is determined by bits |
// | | in member dwFlags, which can be DNS_RPC_FLAG_FRIENDLY_NAME or DNS_RPC_FLAG_DESC |
// | | (section 3.1.4.1) |
// +----------------------------------+----------------------------------------------------------------------------------+
//
// If pszZone is not NULL, and pszOperation does not match a property name listed in
// sections 3.1.1.2.2 or 3.1.1.2.3, then pszOperation SHOULD<228> be one of the following:
//
// +------------------------------+----------------------------------------------------------------------------------+
// | | |
// | VALUE | MEANING |
// | | |
// +------------------------------+----------------------------------------------------------------------------------+
// +------------------------------+----------------------------------------------------------------------------------+
// | ResetDwordProperty | Update the value of a DNS Zone integer property. On input dwTypeId MUST be |
// | | set to DNSSRV_TYPEID_NAME_AND_PARAM and pData MUST point to a structure of |
// | | type DNS_RPC_NAME_AND_PARAM (section 2.2.1.2.5), which contains the name of a |
// | | property listed in section 3.1.1.2.1 for the zone pointed to by pszZone and a |
// | | new value for that property.<229> |
// +------------------------------+----------------------------------------------------------------------------------+
// | ZoneTypeReset | Change the zone's type, for example to convert a secondary zone into a |
// | | primary zone. On input dwTypeId SHOULD be set to DNSSRV_TYPEID_ZONE_CREATE, |
// | | and pData SHOULD point to a structure of one of the types specified |
// | | in DNS_RPC_ZONE_CREATE_INFO (section 2.2.5.2.7), which contains the |
// | | new configuration information for the zone. dwTypeId MAY be set to |
// | | DNSSRV_TYPEID_ZONE_CREATE_W2K or DNSSRV_TYPEID_ZONE_CREATE_DOTNET.<230> The |
// | | server MUST return a nonzero error if the conversion is not implemented. |
// +------------------------------+----------------------------------------------------------------------------------+
// | PauseZone | Pause activities for the zone pointed to by pszZone on the DNS server, and |
// | | do not use this zone to answer queries or take updates until it is resumed. |
// | | dwTypeId, and pData MUST be ignored by the server. |
// +------------------------------+----------------------------------------------------------------------------------+
// | ResumeZone | Resume activities for the zone pointed to by pszZone on the DNS server; the zone |
// | | thus becomes available to answer queries and take updates. dwTypeId and pData |
// | | MUST be ignored by the server. |
// +------------------------------+----------------------------------------------------------------------------------+
// | DeleteZone | Delete the zone pointed to by pszZone on the DNS server. dwTypeId and pData MUST |
// | | be ignored by the server. |
// +------------------------------+----------------------------------------------------------------------------------+
// | ReloadZone | Reloads data for the zone pointed to by pszZone on the DNS server from |
// | | persistent storage. dwTypeId, and pData MUST be ignored by the server. |
// +------------------------------+----------------------------------------------------------------------------------+
// | RefreshZone | Force a refresh of the secondary zone pointed to by pszZone on the DNS server, |
// | | from primary zone server. For this operation pszZone MUST point to a secondary |
// | | zone only. dwTypeId and pData MUST be ignored by the server. |
// +------------------------------+----------------------------------------------------------------------------------+
// | ExpireZone | Force a refresh of the secondary zone pointed to by pszZone on the DNS server, |
// | | from primary zone server. For this operation pszZone MUST point to a secondary |
// | | zone only. dwTypeId and pData MUST be ignored by the server. |
// +------------------------------+----------------------------------------------------------------------------------+
// | IncrementVersion | Same as "WriteBackFile". |
// +------------------------------+----------------------------------------------------------------------------------+
// | WriteBackFile | If the zone has uncommitted changes, write back all information for the zone |
// | | pointed to by pszZone to persistent storage, and notify any secondary DNS |
// | | servers. dwTypeId and pData MUST be ignored by the server. |
// +------------------------------+----------------------------------------------------------------------------------+
// | DeleteZoneFromDs | Delete the zone pointed to by pszZone from the directory server. dwTypeId, and |
// | | pData MUST be ignored by the server. |
// +------------------------------+----------------------------------------------------------------------------------+
// | UpdateZoneFromDs | Refresh data for the zone pointed to by pszZone from the directory server. |
// | | dwTypeId, and pData MUST be ignored by the server. |
// +------------------------------+----------------------------------------------------------------------------------+
// | ZoneExport | Export zone data to a given file on the DNS server. On input dwTypeId MUST be |
// | | set to DNSSRV_TYPEID_ZONE_EXPORT, and pData MUST point to a structure of type |
// | | DNS_RPC_ZONE_EXPORT_INFO (section 2.2.5.2.8) that contains a file name pointed |
// | | to by pszZoneExportFile. |
// +------------------------------+----------------------------------------------------------------------------------+
// | ZoneChangeDirectoryPartition | Move a zone to a given application directory partition. On input dwTypeId |
// | | MUST be set to DNSSRV_TYPEID_ZONE_CHANGE_DP, and pData MUST point to structure |
// | | of type DNS_RPC_ZONE_CHANGE_DP (section 2.2.7.2.6), which contains the new |
// | | application directory partition name pointed to by pszDestPartition. |
// +------------------------------+----------------------------------------------------------------------------------+
// | DeleteNode | Delete a node. On input dwTypeId MUST be set to DNSSRV_TYPEID_NAME_AND_PARAM, |
// | | and pData MUST point to a structure of type DNS_RPC_NAME_AND_PARAM (section |
// | | 2.2.1.2.5), which contains the FQDN of the node pointed to by pszNodeName |
// | | present in the zone pointed to by pszZone on the DNS server to be deleted and a |
// | | Boolean flag in dwParam to indicate if the node's subtree is to be deleted. |
// +------------------------------+----------------------------------------------------------------------------------+
// | DeleteRecordSet | Delete all the DNS records of a particular type at a particular |
// | | node from the DNS server's cache. On input dwTypeId MUST be set to |
// | | DNSSRV_TYPEID_NAME_AND_PARAM, and pData MUST point to a structure of type |
// | | DNS_RPC_NAME_AND_PARAM (section 2.2.1.2.5). That structure contains the FQDN of |
// | | the node to be deleted and the DNS record type in the dwParam member. The type |
// | | MUST be a DNS_RECORD_TYPE value (section 2.2.2.1.1) or 0x00FF, which specifies |
// | | all types. |
// +------------------------------+----------------------------------------------------------------------------------+
// | ForceAgingOnNode | On input dwTypeId MUST be set to DNSSRV_TYPEID_NAME_AND_PARAM, and pData MUST |
// | | point to a structure of type DNS_RPC_NAME_AND_PARAM (section 2.2.1.2.5), which |
// | | contains a node name in pszNodeName, and a Boolean flag in dwParam to indicate |
// | | whether aging is performed on all nodes in the subtree. All DNS records at the |
// | | specified node in the zone named by pszZone will have their aging time stamp |
// | | set to the current time. If subtree aging is specified by dwParam than all DNS |
// | | records at all nodes that are children of this node will also have their aging |
// | | time stamps set to the current time. |
// +------------------------------+----------------------------------------------------------------------------------+
// | DatabaseFile | On input dwTypeId SHOULD be set to DNSSRV_TYPEID_ZONE_DATABASE<231>, and pData |
// | | MUST point to a structure of one of the types specified in DNS_RPC_ZONE_DATABASE |
// | | (section 2.2.5.2.6), which specifies whether the zone is directory server |
// | | integrated by setting fDsIntegrated to TRUE, and if it is not then pszFileName |
// | | MUST point to a Unicode string containing the absolute pathname of a file on the |
// | | DNS server to which the zone database is stored. |
// +------------------------------+----------------------------------------------------------------------------------+
// | MasterServers | On input dwTypeId MUST be set to DNSSRV_TYPEID_IPARRAY or |
// | | DNSSRV_TYPEID_ADDRARRAY, and pData MUST point to a structure of type IP4_ARRAY |
// | | (section 2.2.3.2.1) or DNS_ADDR_ARRAY (section 2.2.3.2.3) respectively, which |
// | | contains a list of IP addresses of new primary DNS servers for the zone pointed |
// | | to by pszZone. This operation is valid only for secondary zones present on the |
// | | server. The server SHOULD accept DNSSRV_TYPEID_ADDRARRAY and DNS_ADDR_ARRAY, and |
// | | SHOULD accept DNSSRV_TYPEID_IPARRAY and IP4_ARRAY. If the input data of either |
// | | type is accepted and the DNS server is directory-server integrated, the value of |
// | | pData SHOULD be written to the directory server.<232> |
// +------------------------------+----------------------------------------------------------------------------------+
// | LocalMasterServers | On input dwTypeId MUST be set to DNSSRV_TYPEID_IPARRAY or |
// | | DNSSRV_TYPEID_ADDRARRAY, and pData MUST point to a structure of type IP4_ARRAY |
// | | (section 2.2.3.2.1) or DNS_ADDR_ARRAY (section 2.2.3.2.3) respectively, |
// | | which contains a list of IP addresses of new local primary DNS servers |
// | | for the zone pointed to by pszZone. This operation is valid only for stub |
// | | zones present on the server, and if configured, this value overrides any |
// | | primary DNS server configured in the directory server. The server SHOULD |
// | | accept DNSSRV_TYPEID_ADDRARRAY and DNS_ADDR_ARRAY, and SHOULD accept |
// | | DNSSRV_TYPEID_IPARRAY and IP4_ARRAY.<233> |
// +------------------------------+----------------------------------------------------------------------------------+
// | SecondaryServers | On input dwTypeId SHOULD<234> be set to DNSSRV_TYPEID_ZONE_SECONDARIES, |
// | | and pData MUST point to a structure of one of the types specified in |
// | | DNS_RPC_ZONE_SECONDARIES (section 2.2.5.2.5), which contains information about |
// | | secondary DNS servers for the zone pointed to by pszZone. |
// +------------------------------+----------------------------------------------------------------------------------+
// | ScavengeServers | On input dwTypeId MUST be set to DNSSRV_TYPEID_IPARRAY or |
// | | DNSSRV_TYPEID_ADDRARRAY, and pData MUST point to a structure of type IP4_ARRAY |
// | | (section 2.2.3.2.1) or DNS_ADDR_ARRAY (section 2.2.3.2.3) respectively, which |
// | | contains a list of IP addresses of new servers that can run scavenging on |
// | | the zone pointed to by pszZone. This operation is valid only for directory |
// | | server integrated zones. The server SHOULD accept DNSSRV_TYPEID_ADDRARRAY, |
// | | and DNS_ADDR_ARRAY, and SHOULD accept DNSSRV_TYPEID_IPARRAY and IP4_ARRAY. |
// | | If the input data of either type is accepted and the DNS server is directory |
// | | server-integrated, the value of pData SHOULD be written to the directory |
// | | server.<235> |
// +------------------------------+----------------------------------------------------------------------------------+
// | AllowNSRecordsAutoCreation | On input dwTypeId MUST be set to DNSSRV_TYPEID_IPARRAY or |
// | | DNSSRV_TYPEID_ADDRARRAY and pData MUST point to a structure of type IP4_ARRAY |
// | | (section 2.2.3.2.1) or DNS_ADDR_ARRAY (section 2.2.3.2.3) respectively, which |
// | | contains a list of IP addresses of new servers that can auto-create NS records |
// | | for the zone pointed to by pszZone. This operation is valid only for directory |
// | | server integrated zones. The server SHOULD accept DNSSRV_TYPEID_ADDRARRAY |
// | | and DNS_ADDR_ARRAY, and SHOULD accept DNSSRV_TYPEID_IPARRAY and IP4_ARRAY. |
// | | If the input data of either type is accepted and the DNS server is directory |
// | | server-integrated, the value of pData SHOULD be written to the directory |
// | | server.<236> |
// +------------------------------+----------------------------------------------------------------------------------+
// | BreakOnNameUpdate | On input dwTypeId MUST be set to DNSSRV_TYPEID_LPWSTR, and pData MUST point to |
// | | a Unicode string that contains the FQDN of the node for which if an update is |
// | | received the DNS server will execute a breakpoint. |
// +------------------------------+----------------------------------------------------------------------------------+
// | SignZone | Sign a zone using DNSSEC, thus making the zone online-signed. The dwTypeId and |
// | | pData parameters MUST be set to zero/NULL by the client and MUST be ignored by |
// | | the server. |
// +------------------------------+----------------------------------------------------------------------------------+
// | UnsignZone | Unsign a zone signed via online signing and remove all DNSSEC data from the |
// | | zone. The dwTypeId and pData parameters MUST be set to zero/NULL by the client |
// | | and MUST be ignored by the server. |
// +------------------------------+----------------------------------------------------------------------------------+
// | ResignZone | Refreshes all DNSSEC data in an online-signed zone. The dwTypeId and pData |
// | | parameters MUST be set to zero/NULL by the client and MUST be ignored by the |
// | | server. |
// +------------------------------+----------------------------------------------------------------------------------+
// | PerformZoneKeyRollover | Queues a signing key descriptor for key rollover. On input, dwTypeId MUST be set |
// | | to DNSSRV_TYPEID_LPWSTR, and pData MUST point to a Unicode string representation |
// | | of the GUID of the signing key descriptor to be queued for rollover. |
// +------------------------------+----------------------------------------------------------------------------------+
// | PokeZoneKeyRollover | Instructs the DNS server to stop waiting for DS records [RFC4034] in the parent |
// | | zone to be updated and to proceed with key rollover as specified by [RFC4641]. |
// | | On input, dwTypeId MUST be set to DNSSRV_TYPEID_LPWSTR, and pData MUST point to |
// | | a Unicode string representation of the GUID of the signing key descriptor to be |
// | | queued for rollover. |
// +------------------------------+----------------------------------------------------------------------------------+
// | RetrieveRootTrustAnchors | Retrieves the root trust anchors from the XML file specified by the |
// | | RootTrustAnchorsURL server property (section 3.1.1.1.3) and adds any valid DS |
// | | records to the root trust anchors. The dwTypeId and pData parameters MUST be |
// | | set to zero/NULL by the client and MUST be ignored by the server. The pszZone |
// | | parameter MUST be set to the string "TrustAnchors" to indicate the name of the |
// | | zone. |
// +------------------------------+----------------------------------------------------------------------------------+
// | TransferKeymasterRole | Transfers the key master role to the current server. The dwTypeId parameter MUST |
// | | be set to DNSSRV_TYPEID_DWORD, and pData MUST point to one of the values defined |
// | | in the following paragraphs. |
// +------------------------------+----------------------------------------------------------------------------------+
// | CreateZoneScope | Creates a zone scope in the specified zone or a cache scope in |
// | | the specified cache zone. The dwTypeId parameter MUST be set to |
// | | DNSSRV_TYPEID_ZONE_SCOPE_CREATE. pData MUST point to a structure of the type |
// | | DNS_RPC_ZONE_SCOPE_CREATE_INFO_V1 (section 2.2.13.1.2.1) that contains all the |
// | | parameters needed to create the zone scope or cache scope. pszZone MUST be the |
// | | name of the zone in which the zone scope is to be created or be specified as |
// | | "..cache" for a cache scope.<237> |
// +------------------------------+----------------------------------------------------------------------------------+
// | DeleteZoneScope | Deletes a zone scope from the specified zone or a cache scope from a specified |
// | | cache zone. The dwTypeId MUST be set to DNSSRV_TYPEID_LPWSTR. pData MUST point |
// | | to the name of the zone scope or cache scope that is to be deleted. pszZone MUST |
// | | be the name of the zone from which the zone scope is to be deleted or set to |
// | | "..cache" for a cache scope.<238> |
// +------------------------------+----------------------------------------------------------------------------------+
// | CreatePolicy | Creates a DNS Policy for the specified zone or a cache zone on a DNS server. The |
// | | dwTypeId parameter MUST be set to DNSSRV_TYPEID_POLICY, and pData MUST point to |
// | | a structure of type DNS_RPC_POLICY. |
// +------------------------------+----------------------------------------------------------------------------------+
// | DeletePolicy | Deletes a DNS Policy for the specified zone or a cache zone on a DNS server. The |
// | | dwTypeId parameter MUST be set to DNSSRV_TYPEID_LPWSTR, and pData MUST point to |
// | | NULL-terminated Unicode string containing the name of the DNS Policy. |
// +------------------------------+----------------------------------------------------------------------------------+
// | UpdatePolicy | Updates a DNS Policy for the specified zone or a cache zone on a DNS server. The |
// | | dwTypeId parameter MUST be set to DNSSRV_TYPEID_POLICY, and pData MUST point to |
// | | a structure of type DNS_RPC_POLICY. |
// +------------------------------+----------------------------------------------------------------------------------+
Operation string `idl:"name:pszOperation;string;pointer:unique" json:"operation"`
// dwTypeId: A DNS_RPC_TYPEID (section 2.2.1.1.1) value that indicates the type of input
// data pointed to by pData.
TypeID uint32 `idl:"name:dwTypeId" json:"type_id"`
// pData: Input data of type DNSSRV_RPC_UNION (section 2.2.1.2.6), which contains a
// data structure as specified by dwTypeId.
Data *dnsp.Union `idl:"name:pData;switch_is:dwTypeId" json:"data"`
}
OperationRequest structure represents the R_DnssrvOperation operation request
func (*OperationRequest) MarshalNDR ¶
func (*OperationRequest) UnmarshalNDR ¶
type OperationResponse ¶
type OperationResponse struct {
// Return: The R_DnssrvOperation return value.
Return int32 `idl:"name:Return" json:"return"`
}
OperationResponse structure represents the R_DnssrvOperation operation response
func (*OperationResponse) MarshalNDR ¶
func (*OperationResponse) UnmarshalNDR ¶
type Query2Request ¶
type Query2Request struct {
// dwClientVersion: The client version in DNS_RPC_CURRENT_CLIENT_VER (section 2.2.1.2.1)
// format.
ClientVersion uint32 `idl:"name:dwClientVersion" json:"client_version"`
// dwSettingFlags: Reserved for future use only. This field MUST be set to zero by clients
// and ignored by servers.
SettingFlags uint32 `idl:"name:dwSettingFlags" json:"setting_flags"`
ServerName string `idl:"name:pwszServerName;string;pointer:unique" json:"server_name"`
Zone string `idl:"name:pszZone;string;pointer:unique" json:"zone"`
Operation string `idl:"name:pszOperation;string;pointer:unique" json:"operation"`
}
Query2Request structure represents the R_DnssrvQuery2 operation request
func (*Query2Request) MarshalNDR ¶
func (*Query2Request) UnmarshalNDR ¶
type Query2Response ¶
type Query2Response struct {
TypeID uint32 `idl:"name:pdwTypeId" json:"type_id"`
Data *dnsp.Union `idl:"name:ppData;switch_is:*pdwTypeId" json:"data"`
// Return: The R_DnssrvQuery2 return value.
Return int32 `idl:"name:Return" json:"return"`
}
Query2Response structure represents the R_DnssrvQuery2 operation response
func (*Query2Response) MarshalNDR ¶
func (*Query2Response) UnmarshalNDR ¶
type Query3Request ¶
type Query3Request struct {
ClientVersion uint32 `idl:"name:dwClientVersion" json:"client_version"`
SettingFlags uint32 `idl:"name:dwSettingFlags" json:"setting_flags"`
ServerName string `idl:"name:pwszServerName;string;pointer:unique" json:"server_name"`
Zone string `idl:"name:pszZone;string;pointer:unique" json:"zone"`
ZoneScopeName string `idl:"name:pszZoneScopeName;string;pointer:unique" json:"zone_scope_name"`
Operation string `idl:"name:pszOperation;string;pointer:unique" json:"operation"`
}
Query3Request structure represents the R_DnssrvQuery3 operation request
func (*Query3Request) MarshalNDR ¶
func (*Query3Request) UnmarshalNDR ¶
type Query3Response ¶
type Query3Response struct {
TypeID uint32 `idl:"name:pdwTypeId" json:"type_id"`
Data *dnsp.Union `idl:"name:ppData;switch_is:*pdwTypeId" json:"data"`
// Return: The R_DnssrvQuery3 return value.
Return int32 `idl:"name:Return" json:"return"`
}
Query3Response structure represents the R_DnssrvQuery3 operation response
func (*Query3Response) MarshalNDR ¶
func (*Query3Response) UnmarshalNDR ¶
type Query4Request ¶
type Query4Request struct {
ClientVersion uint32 `idl:"name:dwClientVersion" json:"client_version"`
SettingFlags uint32 `idl:"name:dwSettingFlags" json:"setting_flags"`
ServerName string `idl:"name:pwszServerName;string;pointer:unique" json:"server_name"`
// pwszVirtualizationInstanceID: A pointer to a null-terminated Unicode string that
// contains the name of the virtualization instance configured on the DNS server. For
// operations specific to a particular virtualization instance, this field MUST contain
// the name of the virtualization instance. If the value is NULL, then the API is as
// specified in R_DnssrvQuery3 (section 3.1.4.14). Apart from the VirtualizationInstances
// operation (section 3.1.4.2), R_DnssrvQuery3 (section 3.1.4.14) changes the behavior
// of the following operations: Zone, ZoneInfo (section 3.1.4.2) and ScopeInfo (section
// 3.1.4.14) operations. If these operations are called with R_DnssrvQuery4 and a non-NULL
// pwszVirtualizationInstanceID parameter, they are performed under the given virtualization
// instance. The ScopeInfo operation is defined for R_DnssrvQuery4 with a non-NULL virtualization
// instance only if pszZone is not NULL.
VirtualizationInstanceID string `idl:"name:pwszVirtualizationInstanceID;string;pointer:unique" json:"virtualization_instance_id"`
Zone string `idl:"name:pszZone;string;pointer:unique" json:"zone"`
ZoneScopeName string `idl:"name:pszZoneScopeName;string;pointer:unique" json:"zone_scope_name"`
Operation string `idl:"name:pszOperation;string;pointer:unique" json:"operation"`
}
Query4Request structure represents the R_DnssrvQuery4 operation request
func (*Query4Request) MarshalNDR ¶
func (*Query4Request) UnmarshalNDR ¶
type Query4Response ¶
type Query4Response struct {
TypeID uint32 `idl:"name:pdwTypeId" json:"type_id"`
Data *dnsp.Union `idl:"name:ppData;switch_is:*pdwTypeId" json:"data"`
// Return: The R_DnssrvQuery4 return value.
Return int32 `idl:"name:Return" json:"return"`
}
Query4Response structure represents the R_DnssrvQuery4 operation response
func (*Query4Response) MarshalNDR ¶
func (*Query4Response) UnmarshalNDR ¶
type QueryRequest ¶
type QueryRequest struct {
// pwszServerName: The client can pass a pointer to the FQDN of the target server as
// a null-terminated UTF-16LE character string. The server MUST ignore this value.
ServerName string `idl:"name:pwszServerName;string;pointer:unique" json:"server_name"`
// pszZone: A pointer to a null-terminated character string that contains name of the
// zone to be queried. For operations specific to a particular zone, this field MUST
// contain the name of the zone in UTF-8 format. For all other operations, this field
// MUST be NULL.
Zone string `idl:"name:pszZone;string;pointer:unique" json:"zone"`
// pszOperation: A pointer to a null-terminated character string that contains the name
// of the operation to be performed on the server. These are two sets of allowed values
// for pszOperation:
//
// If pszZone is set to NULL, pszOperation MUST be either a property name listed in
// section 3.1.1.1, or it SHOULD<265> be the following.
//
// +------------------------+----------------------------------------------------------------------------------+
// | | |
// | VALUE | MEANING |
// | | |
// +------------------------+----------------------------------------------------------------------------------+
// +------------------------+----------------------------------------------------------------------------------+
// | "ServerInfo" | On output pdwTypeId SHOULD be set according to the value of the dwClientVersion |
// | | field (section 2.2.1.2.1). If dwClientVersion is 0x00000000, then pdwTypeId |
// | | SHOULD be set to DNSSRV_TYPEID_SERVER_INFO_W2K. If dwClientVersion is |
// | | 0x00060000, then pdwTypeId SHOULD be set to DNSSRV_TYPEID_SERVER_INFO_DOTNET. |
// | | If dwClientVersion is 0x00070000, then pdwTypeId SHOULD be set to |
// | | DNSSRV_TYPEID_SERVER_INFO<266> ppData MUST point to a structure of one of the |
// | | types specified in DNS_RPC_SERVER_INFO (section 2.2.4.2.2), which SHOULD contain |
// | | the configuration information for the DNS server, but MAY have some fields set |
// | | to zero even when the related configuration value is nonzero.<267> |
// +------------------------+----------------------------------------------------------------------------------+
// | VirtualizationInstance | Gets the details of a virtualization instance in the DNS server. |
// | | On success, the DNS server MUST set the dwTypeId parameter to |
// | | DNSSRV_TYPEID_VIRTUALIZATION_INSTANCE (section 2.2.1.2.6), and MUST set the |
// | | ppData point to a structure of type DNS_RPC_VIRTUALIZATION_INSTANCE (section |
// | | 2.2.17.1.1). |
// +------------------------+----------------------------------------------------------------------------------+
//
// If pszZone is not NULL, pszOperation MUST be either a property name listed in section
// 3.1.1.2, or one of the following.
//
// +------------+----------------------------------------------------------------------------------+
// | | |
// | VALUE | MEANING |
// | | |
// +------------+----------------------------------------------------------------------------------+
// +------------+----------------------------------------------------------------------------------+
// | "Zone" | On output the value pointed to by pdwTypeId SHOULD<268> be set to |
// | | DNSSRV_TYPEID_ZONE and ppData MUST point to a structure of one of the types |
// | | specified in DNS_RPC_ZONE (section 2.2.5.2.1), which contains abbreviated |
// | | information about the zone pointed to by pszZone. |
// +------------+----------------------------------------------------------------------------------+
// | "ZoneInfo" | On output the value pointed to by pdwTypeId SHOULD<269> be set to |
// | | DNSSRV_TYPEID_ZONE_INFOand ppData MUST point to a structure of one of the |
// | | types specified in DNS_RPC_ZONE_INFO (section 2.2.5.2.4), which contains full |
// | | information about the zone pointed to by pszZone. |
// +------------+----------------------------------------------------------------------------------+
Operation string `idl:"name:pszOperation;string;pointer:unique" json:"operation"`
}
QueryRequest structure represents the R_DnssrvQuery operation request
func (*QueryRequest) MarshalNDR ¶
func (*QueryRequest) UnmarshalNDR ¶
type QueryResponse ¶
type QueryResponse struct {
// pdwTypeId: A pointer to an integer that on success contains a value of type DNS_RPC_TYPEID
// (section 2.2.1.1.1) that indicates the type of data pointed to by ppData.
TypeID uint32 `idl:"name:pdwTypeId" json:"type_id"`
// ppData: A DNSSRV_RPC_UNION(section 2.2.1.2.6) that contains a data-structure as indicated
// by dwTypeId.
Data *dnsp.Union `idl:"name:ppData;switch_is:*pdwTypeId" json:"data"`
// Return: The R_DnssrvQuery return value.
Return int32 `idl:"name:Return" json:"return"`
}
QueryResponse structure represents the R_DnssrvQuery operation response
func (*QueryResponse) MarshalNDR ¶
func (*QueryResponse) UnmarshalNDR ¶
type UnimplementedDNSServerServer ¶
type UnimplementedDNSServerServer struct {
}
Unimplemented DnsServer
func (UnimplementedDNSServerServer) ComplexOperation ¶
func (UnimplementedDNSServerServer) ComplexOperation(context.Context, *ComplexOperationRequest) (*ComplexOperationResponse, error)
func (UnimplementedDNSServerServer) ComplexOperation2 ¶
func (UnimplementedDNSServerServer) ComplexOperation2(context.Context, *ComplexOperation2Request) (*ComplexOperation2Response, error)
func (UnimplementedDNSServerServer) ComplexOperation3 ¶
func (UnimplementedDNSServerServer) ComplexOperation3(context.Context, *ComplexOperation3Request) (*ComplexOperation3Response, error)
func (UnimplementedDNSServerServer) EnumRecords ¶
func (UnimplementedDNSServerServer) EnumRecords(context.Context, *EnumRecordsRequest) (*EnumRecordsResponse, error)
func (UnimplementedDNSServerServer) EnumRecords2 ¶
func (UnimplementedDNSServerServer) EnumRecords2(context.Context, *EnumRecords2Request) (*EnumRecords2Response, error)
func (UnimplementedDNSServerServer) EnumRecords3 ¶
func (UnimplementedDNSServerServer) EnumRecords3(context.Context, *EnumRecords3Request) (*EnumRecords3Response, error)
func (UnimplementedDNSServerServer) EnumRecords4 ¶
func (UnimplementedDNSServerServer) EnumRecords4(context.Context, *EnumRecords4Request) (*EnumRecords4Response, error)
func (UnimplementedDNSServerServer) Operation ¶
func (UnimplementedDNSServerServer) Operation(context.Context, *OperationRequest) (*OperationResponse, error)
func (UnimplementedDNSServerServer) Operation2 ¶
func (UnimplementedDNSServerServer) Operation2(context.Context, *Operation2Request) (*Operation2Response, error)
func (UnimplementedDNSServerServer) Operation3 ¶
func (UnimplementedDNSServerServer) Operation3(context.Context, *Operation3Request) (*Operation3Response, error)
func (UnimplementedDNSServerServer) Operation4 ¶
func (UnimplementedDNSServerServer) Operation4(context.Context, *Operation4Request) (*Operation4Response, error)
func (UnimplementedDNSServerServer) Query ¶
func (UnimplementedDNSServerServer) Query(context.Context, *QueryRequest) (*QueryResponse, error)
func (UnimplementedDNSServerServer) Query2 ¶
func (UnimplementedDNSServerServer) Query2(context.Context, *Query2Request) (*Query2Response, error)
func (UnimplementedDNSServerServer) Query3 ¶
func (UnimplementedDNSServerServer) Query3(context.Context, *Query3Request) (*Query3Response, error)
func (UnimplementedDNSServerServer) Query4 ¶
func (UnimplementedDNSServerServer) Query4(context.Context, *Query4Request) (*Query4Response, error)
func (UnimplementedDNSServerServer) UpdateRecord ¶
func (UnimplementedDNSServerServer) UpdateRecord(context.Context, *UpdateRecordRequest) (*UpdateRecordResponse, error)
func (UnimplementedDNSServerServer) UpdateRecord2 ¶
func (UnimplementedDNSServerServer) UpdateRecord2(context.Context, *UpdateRecord2Request) (*UpdateRecord2Response, error)
func (UnimplementedDNSServerServer) UpdateRecord3 ¶
func (UnimplementedDNSServerServer) UpdateRecord3(context.Context, *UpdateRecord3Request) (*UpdateRecord3Response, error)
func (UnimplementedDNSServerServer) UpdateRecord4 ¶
func (UnimplementedDNSServerServer) UpdateRecord4(context.Context, *UpdateRecord4Request) (*UpdateRecord4Response, error)
type UpdateRecord2Request ¶
type UpdateRecord2Request struct {
// dwClientVersion: The client version in DNS_RPC_CURRENT_CLIENT_VER (section 2.2.1.2.1)
// format.
ClientVersion uint32 `idl:"name:dwClientVersion" json:"client_version"`
// dwSettingFlags: Reserved for future use only. This field MUST be set to zero by clients
// and ignored by servers.
SettingFlags uint32 `idl:"name:dwSettingFlags" json:"setting_flags"`
ServerName string `idl:"name:pwszServerName;string;pointer:unique" json:"server_name"`
Zone string `idl:"name:pszZone;string;pointer:unique" json:"zone"`
NodeName string `idl:"name:pszNodeName;string" json:"node_name"`
AddRecord *dnsp.Record `idl:"name:pAddRecord;pointer:unique" json:"add_record"`
DeleteRecord *dnsp.Record `idl:"name:pDeleteRecord;pointer:unique" json:"delete_record"`
}
UpdateRecord2Request structure represents the R_DnssrvUpdateRecord2 operation request
func (*UpdateRecord2Request) MarshalNDR ¶
func (*UpdateRecord2Request) UnmarshalNDR ¶
type UpdateRecord2Response ¶
type UpdateRecord2Response struct {
// Return: The R_DnssrvUpdateRecord2 return value.
Return int32 `idl:"name:Return" json:"return"`
}
UpdateRecord2Response structure represents the R_DnssrvUpdateRecord2 operation response
func (*UpdateRecord2Response) MarshalNDR ¶
func (*UpdateRecord2Response) UnmarshalNDR ¶
type UpdateRecord3Request ¶
type UpdateRecord3Request struct {
ClientVersion uint32 `idl:"name:dwClientVersion" json:"client_version"`
SettingFlags uint32 `idl:"name:dwSettingFlags" json:"setting_flags"`
ServerName string `idl:"name:pwszServerName;string;pointer:unique" json:"server_name"`
Zone string `idl:"name:pszZone;string;pointer:unique" json:"zone"`
// pwszZoneScope: A pointer to a null-terminated character string that contains the
// name of the zone scope or cache scope inside the zone to be queried. For operations
// specific to a particular zone scope or cache scope, this field MUST contain the name
// of the zone scope or cache scope. If the value is NULL, the API gives the same behavior
// as R_DnssrvUpdateRecord2.
ZoneScope string `idl:"name:pwszZoneScope;string;pointer:unique" json:"zone_scope"`
NodeName string `idl:"name:pszNodeName;string" json:"node_name"`
AddRecord *dnsp.Record `idl:"name:pAddRecord;pointer:unique" json:"add_record"`
DeleteRecord *dnsp.Record `idl:"name:pDeleteRecord;pointer:unique" json:"delete_record"`
}
UpdateRecord3Request structure represents the R_DnssrvUpdateRecord3 operation request
func (*UpdateRecord3Request) MarshalNDR ¶
func (*UpdateRecord3Request) UnmarshalNDR ¶
type UpdateRecord3Response ¶
type UpdateRecord3Response struct {
// Return: The R_DnssrvUpdateRecord3 return value.
Return int32 `idl:"name:Return" json:"return"`
}
UpdateRecord3Response structure represents the R_DnssrvUpdateRecord3 operation response
func (*UpdateRecord3Response) MarshalNDR ¶
func (*UpdateRecord3Response) UnmarshalNDR ¶
type UpdateRecord4Request ¶
type UpdateRecord4Request struct {
ClientVersion uint32 `idl:"name:dwClientVersion" json:"client_version"`
SettingFlags uint32 `idl:"name:dwSettingFlags" json:"setting_flags"`
ServerName string `idl:"name:pwszServerName;string;pointer:unique" json:"server_name"`
// pwszVirtualizationInstanceID: A pointer to a null-terminated Unicode string that
// contains the name of the virtualization instance configured in the DNS server. For
// operations specific to a particular zone or zone scope, details must be given in
// pszZone and pwszZonescope as specified in section 3.1.4.11. If the value pwszVirtualizationInstanceID
// is NULL, the API gives the same behavior as R_DnssrvUpdateRecord3.
VirtualizationInstanceID string `idl:"name:pwszVirtualizationInstanceID;string;pointer:unique" json:"virtualization_instance_id"`
Zone string `idl:"name:pszZone;string;pointer:unique" json:"zone"`
ZoneScope string `idl:"name:pwszZoneScope;string;pointer:unique" json:"zone_scope"`
NodeName string `idl:"name:pszNodeName;string" json:"node_name"`
AddRecord *dnsp.Record `idl:"name:pAddRecord;pointer:unique" json:"add_record"`
DeleteRecord *dnsp.Record `idl:"name:pDeleteRecord;pointer:unique" json:"delete_record"`
}
UpdateRecord4Request structure represents the R_DnssrvUpdateRecord4 operation request
func (*UpdateRecord4Request) MarshalNDR ¶
func (*UpdateRecord4Request) UnmarshalNDR ¶
type UpdateRecord4Response ¶
type UpdateRecord4Response struct {
// Return: The R_DnssrvUpdateRecord4 return value.
Return int32 `idl:"name:Return" json:"return"`
}
UpdateRecord4Response structure represents the R_DnssrvUpdateRecord4 operation response
func (*UpdateRecord4Response) MarshalNDR ¶
func (*UpdateRecord4Response) UnmarshalNDR ¶
type UpdateRecordRequest ¶
type UpdateRecordRequest struct {
// pwszServerName: The client SHOULD pass a pointer to the FQDN of the target server
// as a null-terminated UTF-16LE character string. The server MUST ignore this value.
ServerName string `idl:"name:pwszServerName;string;pointer:unique" json:"server_name"`
// pszZone: A pointer to a null-terminated character string that contains the name of
// the zone to be queried. For operations specific to a particular zone, this field
// MUST contain the name of the zone in UTF-8 format. For all other operations, this
// field MUST be NULL.
Zone string `idl:"name:pszZone;string;pointer:unique" json:"zone"`
// pszNodeName: A pointer to a null-terminated character string that contains the node
// name at which to modify a record. A string that is not dot-terminated indicates a
// name relative to the zone root. A value of "@" indicates the zone root itself. A
// dot-terminated string indicates the name is an FQDN.
NodeName string `idl:"name:pszNodeName;string" json:"node_name"`
// pAddRecord: A pointer to a structure of type DNS_RPC_RECORD (section 2.2.2.2.5) that
// contains information based on the operation being performed as specified below.
AddRecord *dnsp.Record `idl:"name:pAddRecord;pointer:unique" json:"add_record"`
// pDeleteRecord: A pointer to a structure of type DNS_RPC_RECORD (section 2.2.2.2.5)
// that contains information based on the operation being performed as specified below.
//
// * pAddRecord: The DNS RR data of the new record.
//
// * pDeleteRecord: MUST be set to NULL.
//
// * pAddRecord: MUST be set to NULL.
//
// * pDeleteRecord: Individual DNS RR data of the record to be deleted.
//
// * pAddRecord: New record data.
//
// * pDeleteRecord: Old record data.
//
// * pAddRecord: MUST be set to NULL.
//
// * pDeleteRecord: MUST be set to NULL.
DeleteRecord *dnsp.Record `idl:"name:pDeleteRecord;pointer:unique" json:"delete_record"`
}
UpdateRecordRequest structure represents the R_DnssrvUpdateRecord operation request
func (*UpdateRecordRequest) MarshalNDR ¶
func (*UpdateRecordRequest) UnmarshalNDR ¶
type UpdateRecordResponse ¶
type UpdateRecordResponse struct {
// Return: The R_DnssrvUpdateRecord return value.
Return int32 `idl:"name:Return" json:"return"`
}
UpdateRecordResponse structure represents the R_DnssrvUpdateRecord operation response