|
|
1.1 root 1: /*
2: * UAE - The Un*x Amiga Emulator
3: *
4: * OS emulation prototypes
5: *
6: * Copyright 1996 Bernd Schmidt
7: */
8:
1.1.1.3 ! root 9: static __inline__ char *raddr(uaecptr p)
1.1.1.2 root 10: {
11: return p == 0 ? NULL : (char *)get_real_address(p);
12: }
13:
14: extern void timerdev_init(void);
15: extern void gfxlib_install(void);
16: extern void execlib_install(void);
17: extern void execlib_sysinit(void);
18:
19: /* exec.library */
20:
1.1.1.3 ! root 21: extern uaecptr EXEC_sysbase;
1.1 root 22:
1.1.1.3 ! root 23: extern void EXEC_NewList(uaecptr list);
! 24: extern void EXEC_Insert(uaecptr list, uaecptr node, uaecptr pred);
! 25: extern void EXEC_AddTail(uaecptr list, uaecptr node);
! 26: extern void EXEC_Enqueue(uaecptr list, uaecptr node);
! 27: extern void EXEC_Remove(uaecptr node);
! 28: extern uae_u32 EXEC_RemHead(uaecptr list);
! 29: extern uae_u32 EXEC_RemTail(uaecptr list);
! 30: extern uaecptr EXEC_FindName(uaecptr start, char *name);
! 31:
! 32: extern uaecptr EXEC_Allocate(uaecptr memheader, unsigned long size);
! 33: extern uaecptr EXEC_AllocMem(unsigned long size, uae_u32 requirements);
! 34: extern void EXEC_FreeMem(uaecptr, unsigned long);
! 35: extern void EXEC_Deallocate(uaecptr, uaecptr, unsigned long);
! 36: extern void EXEC_FreeMem(uaecptr, unsigned long);
! 37: extern unsigned long EXEC_AvailMem(uae_u32 requirements);
! 38: extern void EXEC_AddMemList(unsigned long, uae_u32, int, uaecptr, uaecptr);
! 39: extern void EXEC_InitStruct(uaecptr inittable, uaecptr memory, unsigned long size);
! 40:
! 41: extern uaecptr EXEC_SetIntVector(int number, uaecptr interrupt);
! 42: extern void EXEC_RemIntServer(uae_u32 nr, uaecptr interrupt);
! 43: extern void EXEC_AddIntServer(uae_u32 nr, uaecptr interrupt);
1.1 root 44:
45: extern int EXEC_AllocSignal(int signum);
46: extern void EXEC_FreeSignal(int signum);
1.1.1.3 ! root 47: extern void EXEC_InitSemaphore(uaecptr sigsem);
! 48: extern uaecptr EXEC_GetMsg(uaecptr port);
! 49: extern void EXEC_SumLibrary(uaecptr lib);
! 50: extern uaecptr EXEC_SetFunction(uaecptr lib, int funcOffset, uaecptr function);
! 51: extern void EXEC_MakeFunctions(uaecptr target, uaecptr funcarray, uaecptr funcdispb);
! 52: extern uaecptr EXEC_MakeLibrary(uaecptr, uaecptr, uaecptr, unsigned long, uae_u32);
! 53: extern void EXEC_AddLibrary(uaecptr lib);
! 54: extern void EXEC_AddDevice(uaecptr lib);
! 55: extern void EXEC_AddResource(uaecptr lib);
! 56: extern void EXEC_AddPort(uaecptr port);
! 57: extern void EXEC_RemPort(uaecptr port);
! 58:
! 59: extern uaecptr EXEC_FindTask(char *name);
! 60: extern uaecptr EXEC_FindResident(char *name);
! 61: extern uaecptr EXEC_RawDoFormat(uae_u8 *fstr, uaecptr data, uaecptr pcp, uae_u32 pcd);
1.1.1.2 root 62:
63: /* These require a multi-tasking EXEC emulation */
1.1.1.3 ! root 64: extern uae_u32 EXEC_Wait(uae_u32 exec_sigmask);
! 65: extern void EXEC_ObtainSemaphoreList(uaecptr l);
! 66: extern void EXEC_ReleaseSemaphoreList(uaecptr l);
! 67:
! 68: extern uae_u32 EXEC_Permit(void);
! 69: extern uae_u32 EXEC_Forbid(void);
! 70: extern uae_u32 EXEC_Disable(void);
! 71: extern uae_u32 EXEC_Enable(void);
! 72:
! 73: extern uae_s32 EXEC_WaitIO(uaecptr ioreq);
! 74: extern uae_s32 EXEC_DoIO(uaecptr ioreq);
! 75: extern void EXEC_SendIO(uaecptr ioreq);
! 76: extern uaecptr EXEC_CheckIO(uaecptr ioreq);
! 77: extern void EXEC_AbortIO(uaecptr ioRequest);
! 78:
! 79: extern void EXEC_InitSemaphore(uaecptr exec_sigsem);
! 80: extern uae_u32 EXEC_AttemptSemaphore(uaecptr exec_sigsem);
! 81: extern void EXEC_ObtainSemaphore(uaecptr exec_sigsem);
! 82: extern void EXEC_ReleaseSemaphore(uaecptr exec_sigsem);
! 83:
! 84: extern uaecptr EXEC_OpenLibrary(char *name, int version);
! 85: extern uaecptr EXEC_OpenResource(char *name);
! 86: extern uaecptr EXEC_OpenDevice(char *name, uae_u32 unit, uaecptr ioRequest, uae_u32 flags);
! 87: extern uae_u32 EXEC_CloseLibrary(uaecptr lib);
! 88: extern uae_u32 EXEC_CloseDevice(uaecptr ioRequest);
! 89:
! 90: extern uaecptr EXEC_AddTask(uaecptr task, uaecptr initPC, uaecptr finalPC);
! 91: extern void EXEC_RemTask(uaecptr task);
! 92: extern int EXEC_SetTaskPri(uaecptr task, int pri);
! 93:
! 94: extern uae_u32 EXEC_SetSignal(uae_u32 newsig, uae_u32 exec_sigmask);
! 95: extern void EXEC_Signal(uaecptr task, uae_u32 exec_sigmask);
! 96:
! 97: extern void EXEC_PutMsg(uaecptr port, uaecptr msg);
! 98: extern void EXEC_ReplyMsg(uaecptr msg);
! 99: extern uaecptr EXEC_WaitPort(uaecptr port);
1.1 root 100:
1.1.1.2 root 101: extern void EXEC_QuantumElapsed(void);
102:
1.1.1.3 ! root 103: extern uaecptr EXEC_InitResident(uaecptr resident, uae_u32 segList);
1.1.1.2 root 104:
105: /* timer.device */
106:
107: extern void TIMER_block(void);
108: extern void TIMER_unblock(void);
109: extern void TIMER_Interrupt(void);
110:
1.1 root 111: /* graphics.library */
1.1.1.2 root 112:
1.1.1.3 ! root 113: extern int GFX_WritePixel(uaecptr rp, int x, int y);
1.1 root 114:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.