|
|
/*++
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 //
|