76 lines
3.3 KiB
C
76 lines
3.3 KiB
C
|
//==========================================================================
|
||
|
//
|
||
|
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
|
||
|
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
||
|
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
|
||
|
// PURPOSE.
|
||
|
//
|
||
|
// Copyright (c) 1999 - 2001 On2 Technologies Inc. All Rights Reserved.
|
||
|
//
|
||
|
//--------------------------------------------------------------------------
|
||
|
#if !defined(ON2DECRYPT_H)
|
||
|
#define ON2DECRYPT_H
|
||
|
|
||
|
//______________________________________________________________________________
|
||
|
//
|
||
|
// On2Decrypt.h
|
||
|
// test api for testing the encryption code in on2crypt.h
|
||
|
//--------------------------------------------------------------------------
|
||
|
|
||
|
#ifdef _USRDLL
|
||
|
#define DLLExport __declspec(dllexport)
|
||
|
#else
|
||
|
#define DLLExport
|
||
|
#endif
|
||
|
|
||
|
#define DLLCC __stdcall
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C"
|
||
|
{
|
||
|
#endif
|
||
|
|
||
|
typedef void* HOn2Decryptor;
|
||
|
|
||
|
DLLExport int DLLCC MakeDecryptor(unsigned char* pDRMX, int iDRMXLength, HOn2Decryptor* phOn2Decryptor);
|
||
|
//***************************************************************************************
|
||
|
// Name : MakeDecryptor
|
||
|
// Description: set up an decryption session
|
||
|
// Inputs : pDRMX -> information to be used by decryptor to set up decryption session
|
||
|
// iDRMXLength -> number of bytes used in pDRMX
|
||
|
// Outputs : phOn2Decryptor -> pointer to an decryption session
|
||
|
// Returns : 0 = success
|
||
|
//***************************************************************************************
|
||
|
|
||
|
DLLExport int DLLCC DecryptBytes(HOn2Decryptor hOn2Decryptor, unsigned char* pBufferIn, int iSizeIn, unsigned char* pBufferOut, int iSizeOutMax, int* piSizeOut);
|
||
|
//***************************************************************************************
|
||
|
// Name : DecryptBytes
|
||
|
// Description: decrypts bytes in input buffer and stores them to the output buffer
|
||
|
// Inputs : hOn2Decryptor -> handle of decryption sesion to use ( from make decryptor)
|
||
|
// : pBufferIn -> buffer holding bytes to decrypt
|
||
|
// iSizeIn -> number of bytes to decrypt of that buffer
|
||
|
// Outputs : pBufferOut -> buffer for holding decrypted bytes
|
||
|
// iSizeOutMax -> maximum number of bytes to write to pBufferOut
|
||
|
// piSizeOut -> number of bytes actually written to pbufferout
|
||
|
// Returns : 0 = success
|
||
|
//***************************************************************************************
|
||
|
|
||
|
DLLExport int DLLCC DeleteDecryptor(HOn2Decryptor hOn2Decryptor);
|
||
|
//***************************************************************************************
|
||
|
// Name : DeleteDecryptor
|
||
|
// Description: ends the decryption session and cleans up
|
||
|
// Inputs : hOn2Decryptor -> handle of decryption sesion to use ( from make decryptor)
|
||
|
// Outputs :
|
||
|
// Returns : 0 = success
|
||
|
//***************************************************************************************
|
||
|
|
||
|
typedef int (DLLCC *PFNMakeDecryptor)(unsigned char* pDRMX, int iDRMXLength, HOn2Decryptor* phOn2Decryptor);
|
||
|
typedef int (DLLCC *PFNDecryptBytes)(HOn2Decryptor hOn2Decryptor, unsigned char* pBufferIn, int iSizeIn, unsigned char* pBufferOut, int iSizeOutMax, int* piSizeOut);
|
||
|
typedef int (DLLCC *PFNDeleteDecryptor)(HOn2Decryptor hOn2Decryptor);
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
} // extern "C"
|
||
|
#endif
|
||
|
|
||
|
#endif // ON2DECRYPT_H
|