#include <hdcp2.h>
#include <stdio.h>

// High level APIs
int HDCP2_Init(HDCP2_Ctx *hdcp, u8 entity, int version)
{
	return 0;
}
int HDCP2_Close(HDCP2_Ctx *hdcp)
{
	return 0;
}
int HDCP2_Connect(HDCP2_Ctx *hdcp, const char *address, const int port)
{
	return 0;
}
int HDCP2_Encrypt(HDCP2_Ctx *hdcp, u32 str_ctr, uint64_t in_ctr, u8 *input, int inlen, u8 *output, size_t offset)
{
	return 0;
}
int HDCP2_Encrypt_Drm(HDCP2_Ctx *hdcp, u32 str_ctr, u64 in_ctr, u8 *input, int inlen, u8 *output, int type)
{
	return 0;
}
int HDCP2_Encrypt_VV(HDCP2_Ctx *hdcp, u32 str_ctr, u64 in_ctr, u8 *input, int inlen, u8 *output)
{
	return 0;
}
int HDCP2_SetMagicKey(HDCP2_Ctx *hdcp)
{
	return 0;
}
int HDCP2_Set_AKE_RetryPolicy(HDCP2_Ctx *hdcp, long timeout, int ake_retry_count, int lc_retry_count)
{
	return 0;
}
int HDCP2_IsKeyFrame_WFD(HDCP2_Ctx *hdcp, u32 str_ctr, u64 in_ctr, int codec_type, void *pes_pkt, int pes_pkt_size)
{
	return 0;
}

//Receiver APIs
int HDCP2_Start_Receiver(HDCP2_Ctx *hdcp, const int port, int threadwait)
{
	return 0;
}
int HDCP2_Stop_Receiver(HDCP2_Ctx *hdcp)
{
	return 0;
}

int HDCP2_Start_Repeater(HDCP2_Ctx *hdcp, const int port, HDCP2Observer observerNotify, void* wfd_ctx)
{
	return 0;
}
int HDCP2_Stop_Repeater(HDCP2_Ctx *hdcp)
{
	return 0;
}
int HDCP2_Start_WFD_Receiver(HDCP2_Ctx *hdcp, const int port, HDCP2Observer observerNotify, void* wfd_ctx)
{
	return 0;
}
int HDCP2_Stop_WFD_Receiver(HDCP2_Ctx *hdcp)
{
	return 0;
}

//Repeater/Receiver common APIs
int HDCP2_SpsPpsToSecmem(HDCP2_Ctx *hdcp, u8 *sps_pps, u8 *phy_output, int size)
{
	return 0;
}
int HDCP2_Decrypt(HDCP2_Ctx *hdcp, u32 str_ctr, u64 in_str, u8 *input, int inlen, u8 *output)
{
	return 0;
}
int HDCP2_Decrypt_ION(HDCP2_Ctx *hdcp, u32 str_ctr, u64 in_str, u8 *input, int inlen, u32 ion_fd)
{
	return 0;
}
int HDCP2_Decrypt_ION(HDCP2_Ctx *hdcp, u32 str_ctr, u64 in_str, u8 *input, int inlen,
			uint32_t outputHandle, uint32_t outputOffset, uint32_t *outputLength)
{
    return 0;
}
int HDCP2_CopyToSecureMem(HDCP2_Ctx *hdcp, u8 *input, int inlen, u8 *output)
{
	return 0;
}
int HDCP2_CopyToSecureMem_ION(HDCP2_Ctx *hdcp, u8 *input, int inlen, u32 ion_fd)
{
	return 0;
}
int HDCP2_DecryptAudio(HDCP2_Ctx *hdcp, u32 str_ctr, u64 in_ctr, u8 *input, int inlen, u8 *output)
{
	return 0;
}
