/***********************************************************/
/* ntux: native translation und extension */
/* Copyright (C) 2016--2018 Z. Gilboa */
/* Released under GPLv2 and GPLv3; see COPYING.NTUX. */
/***********************************************************/
#include <psxabi/sys_sysapi.h>
#include <ntux/ntux.h>
#include "ntux_driver_impl.h"
int ntux_entry_routine(
int(*__psx_init_routine)(int *,char ***,char ***,void *),
struct __psx_context * ctx)
{
int argc;
char ** argv;
char ** envp;
/* __psx_init must succeed... */
if (__psx_init_routine(&argc,&argv,&envp,ctx))
return -1;
/* ...and conform */
else if (envp != argv + (argc + 1))
return -1;
/* invoke main */
__sys_exit_group(
ntux_main(argv,envp,0));
return NT_STATUS_INTERNAL_ERROR;
}