Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

272 lines
7.0 KiB

/*++
Copyright (c) 1995 Microsoft Corporation
Module Name:
dnssrv4.idl
Abstract:
Domain Name System (DNS) Server
DNS NT4 RPC API and type definitions.
Author:
Jim Gilroy (jamesg) April, 1997
Revision History:
--*/
//
// NT4 RPC Interface definition
//
[
uuid(aae9ac90-ce13-11cf-919e-08002be23c64),
version(1.0),
pointer_default(unique)
]
interface dnssrv
{
import "imports.idl";
typedef [handle] LPCSTR DNS_SRV_HANDLE;
//
// RPC API
//
//
// Server properties API
//
DNS_STATUS
R_Dns4_GetServerInfo(
[in, unique, string] DNS_SRV_HANDLE hServer,
[in, out, unique] PDNS4_RPC_SERVER_INFO * ppServerInfo
);
DNS_STATUS
R_Dns4_Retired1(
[in, unique, string] DNS_SRV_HANDLE hServer
);
DNS_STATUS
R_Dns4_ResetServerListenAddresses(
[in, unique, string] DNS_SRV_HANDLE hServer,
[in] DWORD cListenAddrs,
[in, size_is(cListenAddrs)] PIP_ADDRESS aipListenAddrs
);
DNS_STATUS
R_Dns4_ResetForwarders(
[in, unique, string] DNS_SRV_HANDLE hServer,
[in] DWORD cForwarders,
[in, size_is(cForwarders)] PIP_ADDRESS aipForwarders,
[in] DWORD dwForwardTimeout,
[in] DWORD fSlave
);
//
// Statistics API
//
DNS_STATUS
R_Dns4_GetStatistics(
[in, unique, string] DNS_SRV_HANDLE hServer,
[in, out, unique] PDNS4_STATISTICS * ppStatistics
);
DNS_STATUS
R_Dns4_ClearStatistics(
[in, unique, string] DNS_SRV_HANDLE hServer
);
//
// Zone configuration information API
//
DNS_STATUS
R_Dns4_EnumZoneHandles(
[in, unique, string] DNS_SRV_HANDLE hServer,
[out] PDWORD pdwZoneCount,
[in] DWORD dwArrayLength,
[out, length_is(*pdwZoneCount), size_is(dwArrayLength)]
DNS_HANDLE ahZones[]
);
DNS_STATUS
R_Dns4_GetZoneInfo(
[in, unique, string] DNS_SRV_HANDLE hServer,
[in] DNS_HANDLE hZone,
[in, out, unique] PDNS4_ZONE_INFO * ppZone
);
DNS_STATUS
R_Dns4_ResetZoneType(
[in, unique, string] DNS_SRV_HANDLE hServer,
[in] DNS_HANDLE hZone,
[in] DWORD dwZoneType,
[in] DWORD cMasters,
[in, size_is(cMasters)] PIP_ADDRESS aipMasters
);
DNS_STATUS
R_Dns4_ResetZoneDatabase(
[in, unique, string] DNS_SRV_HANDLE hServer,
[in] DNS_HANDLE hZone,
[in] DWORD dwUseDatabase,
[in, string] LPCSTR pszDataFile
);
DNS_STATUS
R_Dns4_ResetZoneMasters(
[in, unique, string] DNS_SRV_HANDLE hServer,
[in] DNS_HANDLE hZone,
[in] DWORD cMasters,
[in, size_is(cMasters)] PIP_ADDRESS aipMasters
);
DNS_STATUS
R_Dns4_ResetZoneSecondaries(
[in, unique, string] DNS_SRV_HANDLE hServer,
[in] DNS_HANDLE hZone,
[in] DWORD fSecureSecondaries,
[in] DWORD cSecondaries,
[in, size_is(cSecondaries)]
PIP_ADDRESS aipSecondaries
);
//
// Zone management API
//
DNS_STATUS
R_Dns4_CreateZone(
[in, unique, string] DNS_SRV_HANDLE hServer,
[out] PDNS_HANDLE phZone,
[in, string] LPCSTR pszZoneName,
[in] DWORD dwZoneType,
[in, string] LPCSTR pszAdminEmailName,
[in] DWORD cMasters,
[in, size_is(cMasters)] PIP_ADDRESS aipMasters,
[in] DWORD dwUseDatabase,
[in, string] LPCSTR pszDataFile
);
DNS_STATUS
R_Dns4_IncrementZoneVersion(
[in, unique, string] DNS_SRV_HANDLE hServer,
[in] DNS_HANDLE hZone
);
DNS_STATUS
R_Dns4_DeleteZone(
[in, unique, string] DNS_SRV_HANDLE hServer,
[in] DNS_HANDLE hZone
);
DNS_STATUS
R_Dns4_PauseZone(
[in, unique, string] DNS_SRV_HANDLE hServer,
[in] DNS_HANDLE hZone
);
DNS_STATUS
R_Dns4_ResumeZone(
[in, unique, string] DNS_SRV_HANDLE hServer,
[in] DNS_HANDLE hZone
);
//
// Record viewing API
//
DNS_STATUS
R_Dns4_EnumNodeRecords(
[in, unique, string] DNS_SRV_HANDLE hServer,
[in, string] LPCSTR pszNodeName,
[in] WORD wRecordType,
[in] DWORD fNoCacheData,
[in, out] PDWORD pdwBufferLength,
[out, size_is(*pdwBufferLength),
length_is(*pdwBufferLength)]
BYTE aBuffer[]
);
DNS_STATUS
R_Dns4_EnumRecords(
[in, unique, string] DNS_SRV_HANDLE hServer,
[in, string] LPCSTR pszNodeName,
[in, string] LPCSTR pszStartChild,
[in] WORD wRecordType,
[in] DWORD fNoCacheData,
[in, out] PDWORD pdwBufferLength,
[out, size_is(*pdwBufferLength),
length_is(*pdwBufferLength)]
BYTE aBuffer[]
);
DNS_STATUS
R_Dns4_GetZoneWinsInfo(
[in, unique, string] DNS_SRV_HANDLE hServer,
[in] DNS_HANDLE hZone,
[out] PDWORD pfUsingWins,
[in, out] PDWORD pdwBufferLength,
[out, size_is(*pdwBufferLength),
length_is(*pdwBufferLength)]
BYTE aBuffer[]
);
//
// Record management API
//
DNS_STATUS
R_Dns4_UpdateRecord(
[in, unique, string] DNS_SRV_HANDLE hServer,
[in] DNS_HANDLE hZone,
[in, string] LPCSTR pszNodeName,
[in, out] PDNS_HANDLE phRecord,
[in] DWORD dwDataLength,
[in, size_is(dwDataLength)]
BYTE abData[]
);
DNS_STATUS
R_Dns4_DeleteRecord(
[in, unique, string] DNS_SRV_HANDLE hServer,
[in, string] LPCSTR pszNodeName,
[in] DNS_HANDLE hRecord
);
DNS_STATUS
R_Dns4_DeleteName(
[in, unique, string] DNS_SRV_HANDLE hServer,
[in, string] LPCSTR pszNodeName,
[in] DWORD fDeleteSubtree
);
DNS_STATUS
R_Dns4_UpdateWinsRecord(
[in, unique, string] DNS_SRV_HANDLE hServer,
[in] DNS_HANDLE hZone,
[in] DWORD dwDataLength,
[in, size_is(dwDataLength)]
BYTE abData[]
);
}
//
// End of dnssrv4.idl
//