/**@@@+++@@@@******************************************************************
**
** Microsoft Windows Media
** Copyright (C) Microsoft Corporation. All rights reserved.
**
***@@@---@@@@******************************************************************
*/

// #include <stdio.h>
//#include <stdlib.h>
//#include <string.h>
#include "tclib.h"
#include <oemimpl.h>
#include <drmcommon.h>
#include <drmutilities.h>
#include <drmcrt.h>
#include <drmcontextsizes.h>
#include <drmmanager.h>
#include <drmkeygenerator.h>
#include <drmxmlbuilder.h>
#include <drmxmlparser.h>
#if DRM_SUPPORT_REVOCATION
#include <drmrevocation.h>
#endif /* DRM_SUPPORT_REVOCATION */
#include "tstutils.h"
#include "tLicGen.h"
#include "tResponsegen.h"
#include "tGetClientID.h"
#include "tOEMIMP.h"




extern DRM_MANAGER_CONTEXT *g_pManagerContext_MNGR;

extern DRM_DWORD g_cchChallenge;
extern DRM_CHAR *g_pszChallenge;

extern DRM_DWORD g_cbData; 
extern DRM_BYTE *g_pbData;

extern _XMBContext *g_pbDLRB;

DRM_RESULT TestManagerInitialize(long argc, char **argv);
DRM_RESULT TestManagerGenerateChallenge(long argc, char **argv);
DRM_RESULT TestManagerProcessResponse(long argc, char **argv);
DRM_RESULT TestManagerSetRights(long argc, char **argv);
DRM_RESULT TestManagerSetEnhancedData(long argc, char **argv);
DRM_RESULT TestManagerGetLicenseData(long argc, char **argv);
DRM_RESULT TestManagerCommit(long argc, char **argv);
DRM_RESULT TestManagerDecrypt(long argc, char **argv);
DRM_RESULT TestManagerCreateEncryptContext(long argc, char **argv);
DRM_RESULT TestManagerEncrypt(long argc, char **argv);
DRM_RESULT TestManagerBind(long argc, char **argv);
DRM_RESULT TestManagerReinitialize(long argc, char **argv);
DRM_RESULT TestManagerGenerateResponse(long argc, char **argv);
DRM_RESULT TestManagerAddLicenseToResponse(long argc, char **argv);
DRM_RESULT TestManagerInitResponse(long argc, char **argv);
DRM_RESULT TestManagerChangeTime(long argc, char **argv);
DRM_RESULT TestManagerMakeDeviceLicenseRevocationBlob(long argc, char **argv);
DRM_RESULT TestManagerProcessDeviceLicenseRevocation(long argc, char **argv);
#if DRM_SUPPORT_REVOCATION
DRM_RESULT TestManagerSetRevocationInfo(long argc, char **argv);
DRM_RESULT TestManagerSetRevocation(long argc, char **argv);
#endif /* DRM_SUPPORT_REVOCATION */

#ifdef SIXTEEN_BIT_ADDRESSING
DRM_VOID *DRM_API testDRM_16B_Pack8BitBytes(
	DRM_NATIVE_BYTE *f_pbNative,
    int        f_cbNative,
    DRM_VOID        *f_pvPacked,
    DRM_DWORD        f_fOptions);
void LoadandSave(char *source,char *destination);
#endif
