winamp/Src/libvp6/include/On2Decrypt.h
2024-09-24 14:54:57 +02:00

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