#include "stdafx.h"
#include "Emu/SysCalls/SysCalls.h"
#include "Emu/SysCalls/SC_FUNC.h"

void cellVpost_init();
Module cellVpost(0x0008, cellVpost_init);

// Error Codes
enum
{
	CELL_VPOST_ERROR_Q_ARG_CFG_NULL					= 0x80610410,
	CELL_VPOST_ERROR_Q_ARG_CFG_INVALID				= 0x80610411,
	CELL_VPOST_ERROR_Q_ARG_ATTR_NULL				= 0x80610412,
	CELL_VPOST_ERROR_O_ARG_CFG_NULL					= 0x80610440,
	CELL_VPOST_ERROR_O_ARG_CFG_INVALID				= 0x80610441,
	CELL_VPOST_ERROR_O_ARG_RSRC_NULL				= 0x80610442,
	CELL_VPOST_ERROR_O_ARG_RSRC_INVALID				= 0x80610443,
	CELL_VPOST_ERROR_O_ARG_HDL_NULL					= 0x80610444,
	CELL_VPOST_ERROR_O_FATAL_QUERY_FAIL				= 0x80610460,
	CELL_VPOST_ERROR_O_FATAL_CREATEMON_FAIL			= 0x80610461,
	CELL_VPOST_ERROR_O_FATAL_INITSPURS_FAIL			= 0x80610462,
	CELL_VPOST_ERROR_C_ARG_HDL_NULL					= 0x80610470,
	CELL_VPOST_ERROR_C_ARG_HDL_INVALID				= 0x80610471,
	CELL_VPOST_ERROR_C_FATAL_LOCKMON_FAIL			= 0x80610490,
	CELL_VPOST_ERROR_C_FATAL_UNLOCKMON_FAIL			= 0x80610491,
	CELL_VPOST_ERROR_C_FATAL_DESTROYMON_FAIL		= 0x80610492,
	CELL_VPOST_ERROR_C_FATAL_FINSPURS_FAIL			= 0x80610463,
	CELL_VPOST_ERROR_E_ARG_HDL_NULL					= 0x806104a0,
	CELL_VPOST_ERROR_E_ARG_HDL_INVALID				= 0x806104a1,
	CELL_VPOST_ERROR_E_ARG_INPICBUF_NULL			= 0x806104a2,
	CELL_VPOST_ERROR_E_ARG_INPICBUF_INVALID			= 0x806104a3,
	CELL_VPOST_ERROR_E_ARG_CTRL_NULL				= 0x806104a4,
	CELL_VPOST_ERROR_E_ARG_CTRL_INVALID				= 0x806104a5,
	CELL_VPOST_ERROR_E_ARG_OUTPICBUF_NULL			= 0x806104a6,
	CELL_VPOST_ERROR_E_ARG_OUTPICBUF_INVALID		= 0x806104a7,
	CELL_VPOST_ERROR_E_ARG_PICINFO_NULL				= 0x806104a8,
	CELL_VPOST_ERROR_E_FATAL_LOCKMON_FAIL			= 0x806104c0,
	CELL_VPOST_ERROR_E_FATAL_UNLOCKMON_FAIL			= 0x806104c1,
	CELL_VPOST_ENT_ERROR_Q_ARG_ATTR_NULL			= 0x80618110,
	CELL_VPOST_ENT_ERROR_O_ARG_RSRC_NULL			= 0x80618140,
	CELL_VPOST_ENT_ERROR_O_ARG_RSRC_INVALID			= 0x80618141,
	CELL_VPOST_ENT_ERROR_O_ARG_HDL_NULL				= 0x80618142,
	CELL_VPOST_ENT_ERROR_O_FATAL_QUERY_FAIL			= 0x80618160,
	CELL_VPOST_ENT_ERROR_O_FATAL_CSPUCORE_FAIL		= 0x80618161,
	CELL_VPOST_ENT_ERROR_C_ARG_HDL_NULL				= 0x80618170,
	CELL_VPOST_ENT_ERROR_C_ARG_HDL_INVALID			= 0x80618171,
	CELL_VPOST_ENT_ERROR_C_FATAL_SNDCMD_FAIL		= 0x80618190,
	CELL_VPOST_ENT_ERROR_C_FATAL_RCVRES_FAIL		= 0x80618191,
	CELL_VPOST_ENT_ERROR_C_FATAL_DSPUCORE_FAIL		= 0x80618192,
	CELL_VPOST_ENT_ERROR_E_ARG_HDL_NULL				= 0x806181a0,
	CELL_VPOST_ENT_ERROR_E_ARG_HDL_INVALID			= 0x806181a1,
	CELL_VPOST_ENT_ERROR_E_ARG_INPICBUF_NULL		= 0x806181a2,
	CELL_VPOST_ENT_ERROR_E_ARG_INPICBUF_INVALID		= 0x806181a3,
	CELL_VPOST_ENT_ERROR_E_ARG_INPICINFO_NULL		= 0x806181a4,
	CELL_VPOST_ENT_ERROR_E_ARG_INPICINFO_INVALID	= 0x806181a5,
	CELL_VPOST_ENT_ERROR_E_ARG_CTRL_NULL			= 0x806181a6,
	CELL_VPOST_ENT_ERROR_E_ARG_CTRL_INVALID			= 0x806181a7,
	CELL_VPOST_ENT_ERROR_E_ARG_COMB_INVALID			= 0x806181a8,
	CELL_VPOST_ENT_ERROR_E_ARG_OUTPICBUF_NULL		= 0x806181a9,
	CELL_VPOST_ENT_ERROR_E_ARG_OUTPICBUF_INVALID	= 0x806181aa,
	CELL_VPOST_ENT_ERROR_E_ARG_OUTPICINFO_NULL		= 0x806181ab,
	CELL_VPOST_ENT_ERROR_E_FATAL_SNDCMD_FAIL		= 0x806181c0,
	CELL_VPOST_ENT_ERROR_E_FATAL_RCVRES_FAIL		= 0x806181c1,
	CELL_VPOST_ENT_ERROR_E_FATAL_SPUCORE_FAIL		= 0x806181c2,
	CELL_VPOST_IPC_ERROR_Q_ARG_ATTR_NULL			= 0x80618210,
	CELL_VPOST_IPC_ERROR_O_ARG_RSRC_NULL			= 0x80618240,
	CELL_VPOST_IPC_ERROR_O_ARG_RSRC_INVALID			= 0x80618241,
	CELL_VPOST_IPC_ERROR_O_ARG_HDL_NULL				= 0x80618242,
	CELL_VPOST_IPC_ERROR_O_FATAL_QUERY_FAIL			= 0x80618260,
	CELL_VPOST_IPC_ERROR_O_FATAL_CSPUCORE_FAIL		= 0x80618261,
	CELL_VPOST_IPC_ERROR_C_ARG_HDL_NULL				= 0x80618270,
	CELL_VPOST_IPC_ERROR_C_ARG_HDL_INVALID			= 0x80618271,
	CELL_VPOST_IPC_ERROR_C_FATAL_SNDCMD_FAIL		= 0x80618290,
	CELL_VPOST_IPC_ERROR_C_FATAL_RCVRES_FAIL		= 0x80618291,
	CELL_VPOST_IPC_ERROR_C_FATAL_DSPUCORE_FAIL		= 0x80618292,
	CELL_VPOST_IPC_ERROR_E_ARG_HDL_NULL				= 0x806182a0,
	CELL_VPOST_IPC_ERROR_E_ARG_HDL_INVALID			= 0x806182a1,
	CELL_VPOST_IPC_ERROR_E_ARG_INPICBUF_NULL		= 0x806182a2,
	CELL_VPOST_IPC_ERROR_E_ARG_INPICBUF_INVALID		= 0x806182a3,
	CELL_VPOST_IPC_ERROR_E_ARG_INPICINFO_NULL		= 0x806182a4,
	CELL_VPOST_IPC_ERROR_E_ARG_INPICINFO_INVALID	= 0x806182a5,
	CELL_VPOST_IPC_ERROR_E_ARG_CTRL_NULL			= 0x806182a6,
	CELL_VPOST_IPC_ERROR_E_ARG_CTRL_INVALID			= 0x806182a7,
	CELL_VPOST_IPC_ERROR_E_ARG_COMB_INVALID			= 0x806182a8,
	CELL_VPOST_IPC_ERROR_E_ARG_OUTPICBUF_NULL		= 0x806182a9,
	CELL_VPOST_IPC_ERROR_E_ARG_OUTPICBUF_INVALID	= 0x806182aa,
	CELL_VPOST_IPC_ERROR_E_ARG_OUTPICINFO_NULL		= 0x806182ab,
	CELL_VPOST_IPC_ERROR_E_FATAL_SNDCMD_FAIL		= 0x806182c0,
	CELL_VPOST_IPC_ERROR_E_FATAL_RCVRES_FAIL		= 0x806182c1,
	CELL_VPOST_IPC_ERROR_E_FATAL_SPUCORE_FAIL		= 0x806182c2,
	CELL_VPOST_VSC_ERROR_Q_ARG_ATTR_NULL			= 0x80618310,
	CELL_VPOST_VSC_ERROR_O_ARG_RSRC_NULL			= 0x80618340,
	CELL_VPOST_VSC_ERROR_O_ARG_RSRC_INVALID			= 0x80618341,
	CELL_VPOST_VSC_ERROR_O_ARG_HDL_NULL				= 0x80618342,
	CELL_VPOST_VSC_ERROR_O_FATAL_QUERY_FAIL			= 0x80618360,
	CELL_VPOST_VSC_ERROR_O_FATAL_CSPUCORE_FAIL		= 0x80618361,
	CELL_VPOST_VSC_ERROR_C_ARG_HDL_NULL				= 0x80618370,
	CELL_VPOST_VSC_ERROR_C_ARG_HDL_INVALID			= 0x80618371,
	CELL_VPOST_VSC_ERROR_C_FATAL_SNDCMD_FAIL		= 0x80618390,
	CELL_VPOST_VSC_ERROR_C_FATAL_RCVRES_FAIL		= 0x80618391,
	CELL_VPOST_VSC_ERROR_C_FATAL_DSPUCORE_FAIL		= 0x80618392,
	CELL_VPOST_VSC_ERROR_E_ARG_HDL_NULL				= 0x806183a0,
	CELL_VPOST_VSC_ERROR_E_ARG_HDL_INVALID			= 0x806183a1,
	CELL_VPOST_VSC_ERROR_E_ARG_INPICBUF_NULL		= 0x806183a2,
	CELL_VPOST_VSC_ERROR_E_ARG_INPICBUF_INVALID		= 0x806183a3,
	CELL_VPOST_VSC_ERROR_E_ARG_INPICINFO_NULL		= 0x806183a4,
	CELL_VPOST_VSC_ERROR_E_ARG_INPICINFO_INVALID	= 0x806183a5,
	CELL_VPOST_VSC_ERROR_E_ARG_CTRL_NULL			= 0x806183a6,
	CELL_VPOST_VSC_ERROR_E_ARG_CTRL_INVALID			= 0x806183a7,
	CELL_VPOST_VSC_ERROR_E_ARG_COMB_INVALID			= 0x806183a8,
	CELL_VPOST_VSC_ERROR_E_ARG_OUTPICBUF_NULL		= 0x806183a9,
	CELL_VPOST_VSC_ERROR_E_ARG_OUTPICBUF_INVALID	= 0x806183aa,
	CELL_VPOST_VSC_ERROR_E_ARG_OUTPICINFO_NULL		= 0x806183ab,
	CELL_VPOST_VSC_ERROR_E_FATAL_SNDCMD_FAIL		= 0x806183c0,
	CELL_VPOST_VSC_ERROR_E_FATAL_RCVRES_FAIL		= 0x806183c1,
	CELL_VPOST_VSC_ERROR_E_FATAL_SPUCORE_FAIL		= 0x806183c2,
	CELL_VPOST_CSC_ERROR_Q_ARG_ATTR_NULL			= 0x80618410,
	CELL_VPOST_CSC_ERROR_O_ARG_RSRC_NULL			= 0x80618440,
	CELL_VPOST_CSC_ERROR_O_ARG_RSRC_INVALID			= 0x80618441,
	CELL_VPOST_CSC_ERROR_O_ARG_HDL_NULL				= 0x80618442,
	CELL_VPOST_CSC_ERROR_O_FATAL_QUERY_FAIL			= 0x80618460,
	CELL_VPOST_CSC_ERROR_O_FATAL_CSPUCORE_FAIL		= 0x80618461,
	CELL_VPOST_CSC_ERROR_C_ARG_HDL_NULL				= 0x80618470,
	CELL_VPOST_CSC_ERROR_C_ARG_HDL_INVALID			= 0x80618471,
	CELL_VPOST_CSC_ERROR_C_FATAL_SNDCMD_FAIL		= 0x80618490,
	CELL_VPOST_CSC_ERROR_C_FATAL_RCVRES_FAIL		= 0x80618491,
	CELL_VPOST_CSC_ERROR_C_FATAL_DSPUCORE_FAIL		= 0x80618492,
	CELL_VPOST_CSC_ERROR_E_ARG_HDL_NULL				= 0x806184a0,
	CELL_VPOST_CSC_ERROR_E_ARG_HDL_INVALID			= 0x806184a1,
	CELL_VPOST_CSC_ERROR_E_ARG_INPICBUF_NULL		= 0x806184a2,
	CELL_VPOST_CSC_ERROR_E_ARG_INPICBUF_INVALID		= 0x806184a3,
	CELL_VPOST_CSC_ERROR_E_ARG_INPICINFO_NULL		= 0x806184a4,
	CELL_VPOST_CSC_ERROR_E_ARG_INPICINFO_INVALID	= 0x806184a5,
	CELL_VPOST_CSC_ERROR_E_ARG_CTRL_NULL			= 0x806184a6,
	CELL_VPOST_CSC_ERROR_E_ARG_CTRL_INVALID			= 0x806184a7,
	CELL_VPOST_CSC_ERROR_E_ARG_COMB_INVALID			= 0x806184a8,
	CELL_VPOST_CSC_ERROR_E_ARG_OUTPICBUF_NULL		= 0x806184a9,
	CELL_VPOST_CSC_ERROR_E_ARG_OUTPICBUF_INVALID	= 0x806184aa,
	CELL_VPOST_CSC_ERROR_E_ARG_OUTPICINFO_NULL		= 0x806184ab,
	CELL_VPOST_CSC_ERROR_E_FATAL_SNDCMD_FAIL		= 0x806184c0,
	CELL_VPOST_CSC_ERROR_E_FATAL_RCVRES_FAIL		= 0x806184c1,
	CELL_VPOST_CSC_ERROR_E_FATAL_SPUCORE_FAIL		= 0x806184c2,
};

int cellVpostQueryAttr()
{
	UNIMPLEMENTED_FUNC(cellVpost);
	return CELL_OK;
}

int cellVpostOpen()
{
	UNIMPLEMENTED_FUNC(cellVpost);
	return CELL_OK;
}

int cellVpostOpenEx()
{
	UNIMPLEMENTED_FUNC(cellVpost);
	return CELL_OK;
}

int cellVpostClose()
{
	UNIMPLEMENTED_FUNC(cellVpost);
	return CELL_OK;
}

int cellVpostExec()
{
	UNIMPLEMENTED_FUNC(cellVpost);
	return CELL_OK;
}

void cellVpost_init()
{
	cellVpost.AddFunc(0x95e788c3, cellVpostQueryAttr);
	cellVpost.AddFunc(0xcd33f3e2, cellVpostOpen);
	cellVpost.AddFunc(0x40524325, cellVpostOpenEx);
	cellVpost.AddFunc(0x10ef39f6, cellVpostClose);
	cellVpost.AddFunc(0xabb8cc3d, cellVpostExec);
}