#include "Finalize_tl.h"
#include "tz_arcounter_errors.h"

tciReturnCode_t process_Finalize(
	tl_arcounter_ctx_t * ctx,
	tz_arcounter_finalize_payload_t * sendmsg,
	tz_arcounter_finalize_payload_t * respmsg
)
{
	TZ_ARCOUNTER_Result ret = TZ_ARCOUNTER_SUCCESS;
	tz_finalize_resp_t *resp = &respmsg->payload.resp;

	if (!ctx->arcounter_init_count) {
		TTY_LOG
		    ("TL_TZ_ARCOUNTER: Finalize - Initialize has not occurred");
		ret = TZ_ARCOUNTER_NOT_INITIALIZED;
		goto exit;
	}

	ctx->arcounter_init_count--;
exit:
	TTY_LOG("TL_TZ_ARCOUNTER: exiting process_Finalize");
	resp->return_code = ret;

	return RET_TL_TZ_ARCOUNTER_OK;
}
