/*++
Module Name:

    PwdSvc.idl
	   IDL file for the RPC interface associated with ADMT's password
	migration Lsa notification package, which is used by ADMT to migrate
	user passwords

Author:
	Paul Thompson - 09/04/00

--*/

[
   uuid( B15B2F9F-903C-4671-8DC0-772C54214068 ),
   version( 1.0 ),
   pointer_default(unique)
]
interface PwdMigRpc
{
   cpp_quote( "#ifdef WIN16_VERSION"                      )
   cpp_quote( "   #ifdef _DOS"                            )
   cpp_quote( "      #define __export"                    )
   cpp_quote( "   #endif"                                 )
   cpp_quote( "   #ifndef __stdcall"                      )
   cpp_quote( "      #define __stdcall __pascal __export" )
   cpp_quote( "   #endif"                                 )
   cpp_quote( "#endif"                                    )

   typedef  unsigned long  DWORD;

   cpp_quote( "#ifndef  BYTE" )
   typedef  unsigned char  BYTE;
   cpp_quote( "#endif" )

   const int PASSWORD_BUFFER_SIZE = 32;

   DWORD stdcall
      CopyPassword(
         [in]            handle_t                   hBinding,
         [in,string]     wchar_t            const * tgtServer,
         [in,string]     wchar_t            const * srcName,
         [in,string]     wchar_t            const * tgtName,
         [in]            unsigned long              dwPwd,
         [in,size_is(dwPwd)] char           const * currentPwd
      );
   
   DWORD stdcall
      CheckConfig(
         [in]            handle_t                   hBinding,
         [in]            unsigned long              dwSession,
         [in,size_is(dwSession)] char		const * aSession,
         [in]            unsigned long              dwPwd,
         [in,size_is(dwPwd)] char           const * aTestPwd,
         [out]			 wchar_t                    tempPwd[PASSWORD_BUFFER_SIZE]
      );
}
