Stubs needed to LibOpen workbench.library

This commit is contained in:
deadwood 2024-03-20 18:36:13 +01:00
parent 01feaa5b05
commit 48d73a41d8
2 changed files with 54 additions and 2 deletions

View File

@ -284,7 +284,7 @@ struct TaskV0 *abiv0_FindTask(CONST_STRPTR name, struct ExecBaseV0 *SysBaseV0)
dummy->pr_Task.tc_Node.ln_Type = NT_PROCESS;
dummy->pr_Task.tc_Node.ln_Name = (APTR32)(IPTR)abiv0_AllocMem(10, MEMF_CLEAR, SysBaseV0);
strcpy((char *)(IPTR)dummy->pr_Task.tc_Node.ln_Name, "emulator");
dummy->pr_CLI = 0x1; //fake
dummy->pr_CLI = (BPTR32)(IPTR)abiv0_AllocMem(sizeof(struct CommandLineInterfaceV0), MEMF_CLEAR, SysBaseV0);
dummy->pr_CIS = 0x1; //fake
dummy->pr_CES = 0x1; //fake
dummy->pr_COS = 0x1; //fake
@ -299,6 +299,12 @@ LONG abiv0_SetVBuf()
}
MAKE_PROXY_ARG_5(SetVBuf)
struct ProcessV0 *abiv0_CreateNewProc()
{
return (APTR)0x1;
}
MAKE_PROXY_ARG_2(CreateNewProc)
void abiv0_GetSysTime(struct timeval *dest, struct LibraryV0 *TimerBaseV0)
{
return GetSysTime(dest);
@ -410,6 +416,7 @@ LONG_FUNC run_emulation()
__AROS_SETVECADDRV0(abiv0DOSBase, 82, dosfunctable[81]); // Cli
__AROS_SETVECADDRV0(abiv0DOSBase, 159, dosfunctable[158]); // VPrintf
__AROS_SETVECADDRV0(abiv0DOSBase, 52, (APTR32)(IPTR)proxy_FPutC);
__AROS_SETVECADDRV0(abiv0DOSBase, 83, (APTR32)(IPTR)proxy_CreateNewProc);
BPTR cgfxseg = LoadSeg32("SYS:Libs32/partial/cybergraphics.library", DOSBase);

View File

@ -3,7 +3,52 @@
#include "../exec/structures.h"
typedef ULONG BPTR32;
typedef ULONG BPTR32;
typedef APTR32 BSTR32;
/* Structure used for CLIs and Shells. Allocate this structure with
AllocDosObject() only! */
struct CommandLineInterfaceV0
{
/* Secondary error code, set by last command. */
LONG cli_Result2;
/* Name of the current directory. */
BSTR32 cli_SetName;
/* Lock of the first directory in path. (struct FileLock *) */
BPTR32 cli_CommandDir;
/* Error code, the last command returned. See <dos/dos.h> for
definitions. */
LONG cli_ReturnCode;
/* Name of the command that is currently executed. */
BSTR32 cli_CommandName;
/* Fail-Level as set by the command "FailAt". */
LONG cli_FailLevel;
/* Current prompt in the CLI window. */
BSTR32 cli_Prompt;
/* Standard/Default input file. (struct FileLock *) */
BPTR32 cli_StandardInput;
/* Current input file. (struct FileLock *) */
BPTR32 cli_CurrentInput;
/* Name of the file that is currently executed. */
BSTR32 cli_CommandFile;
/* TRUE if the currently CLI is connected to a controlling terminal,
otherwise FALSE. */
LONG cli_Interactive;
/* FALSE if there is no controlling terminal, otherwise TRUE. */
LONG cli_Background;
/* Current output file. (struct FileLock *) */
BPTR32 cli_CurrentOutput;
/* Default stack size as set by the command "Stack". */
LONG cli_DefaultStack;
/* Standard/Default output file. (struct FileLock *) */
BPTR32 cli_StandardOutput;
/* SegList of currently loaded command. */
BPTR32 cli_Module;
/* Here begins the aros specific part */
/* Standard/Default Error file. (struct FileLock *) */
BPTR32 cli_StandardError;
};
/* Standard process structure. Processes are just extended tasks. */
struct ProcessV0