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