diff --git a/compiler/systems/i_aros.pas b/compiler/systems/i_aros.pas index 55cb486cf9..9c7524c1a6 100644 --- a/compiler/systems/i_aros.pas +++ b/compiler/systems/i_aros.pas @@ -37,7 +37,7 @@ unit i_aros; flags : [tf_files_case_aware, tf_smartlink_library, tf_has_winlike_resources]; cpu : cpu_i386; unit_env : 'AROSUNITS'; - extradefines : 'HASAMIGA'; + extradefines : 'HASAMIGA;AROS_ABIv0'; exeext : ''; defext : '.def'; scriptext : '.sh'; @@ -100,7 +100,7 @@ unit i_aros; flags : [tf_files_case_aware, tf_smartlink_library, tf_has_winlike_resources]; cpu : cpu_x86_64; unit_env : 'AROSUNITS'; - extradefines : 'HASAMIGA;AROS_FLAVOUR_BINCOMPAT'; + extradefines : 'HASAMIGA;AROS_BINCOMPAT;AROS_ABIv1'; exeext : ''; defext : '.def'; scriptext : '.sh'; @@ -162,7 +162,7 @@ unit i_aros; flags : [tf_files_case_aware, tf_smartlink_library, tf_has_winlike_resources]; cpu : cpu_arm; unit_env : 'AROSUNITS'; - extradefines : 'HASAMIGA;AROS_FLAVOUR_BINCOMPAT'; + extradefines : 'HASAMIGA;AROS_BINCOMPAT;AROS_ABIv0'; exeext : ''; defext : '.def'; scriptext : '.sh'; diff --git a/packages/arosunits/src/amigados.pas b/packages/arosunits/src/amigados.pas index 9e2cd93c89..a8c957bcb3 100644 --- a/packages/arosunits/src/amigados.pas +++ b/packages/arosunits/src/amigados.pas @@ -1518,7 +1518,7 @@ type TDosLibrary = record dl_lib: TLibrary; dl_Root: PRootNode; // Pointer to RootNode, described below } -{$ifdef AROS_FLAVOUR_BINCOMPAT} +{$ifdef AROS_BINCOMPAT} dl_GV: APTR; // Pointer to BCPL global vector } dl_A2: LongInt; // Private register dump of DOS } dl_A5: LongInt; diff --git a/packages/arosunits/src/exec.pas b/packages/arosunits/src/exec.pas index 5fba938b61..d869956558 100644 --- a/packages/arosunits/src/exec.pas +++ b/packages/arosunits/src/exec.pas @@ -21,7 +21,7 @@ missing: defines: AROS_NEED_LONG_ALIGN = ???? - AROS_FLAVOUR_BINCOMPAT = Bincompat mode + AROS_FLAVOUR_BINCOMPAT = AROS_BINCOMPAT (Bincompat mode) AROS_MORPHOS_COMPATIBLE = ???? } @@ -89,7 +89,7 @@ type // List Node Structure. Each member in a list starts with a Node PNode = ^TNode; -{$ifdef AROS_FLAVOUR_BINCOMPAT} +{$ifdef AROS_BINCOMPAT} TNode = record ln_Succ, // Pointer to next (successor) ln_Pred : PNode; // Pointer to previous (predecessor) @@ -1214,154 +1214,184 @@ const RAWFMTFUNC_COUNT = 2; // Just count characters, PutChData is a pointer to the counter (ULONG *) // function headers -function AbortIO(IORequest: PIORequest): LongInt; syscall AOS_ExecBase 80; -procedure AddDevice(Device: PDevice); syscall AOS_ExecBase 72; -procedure AddHead(List: PList; Node: PNode); syscall AOS_ExecBase 40; -procedure AddIntServer(IntNumber: ULONG; Interrupt_: PInterrupt); syscall AOS_ExecBase 28; -procedure AddLibrary(Library_: PLibrary); syscall AOS_ExecBase 66; -procedure AddMemHandler(MemHandler: PInterrupt); syscall AOS_ExecBase 129; -procedure AddMemList(Size: ULONG; Attributes: ULONG; Pri: LongInt; Base: APTR; const Name: STRPTR); syscall AOS_ExecBase 103; -procedure AddPort(Port: PMsgPort); syscall AOS_ExecBase 59; -function AddResetCallback(ResetCallback: PInterrupt): LongBool; syscall AOS_ExecBase 167; -procedure AddResource(Resource: APTR); syscall AOS_ExecBase 81; -procedure AddSemaphore(SigSem: PSignalSemaphore); syscall AOS_ExecBase 100; -procedure AddTail(List: PList; Node: PNode); syscall AOS_ExecBase 41; -function AddTask(Task: PTask; const InitialPC: APTR; const FinalPC: APTR): PTask; syscall AOS_ExecBase 47; deprecated; +function Supervisor(UserFunction: TProcedure): ULONG; syscall AOS_ExecBase 5; +procedure Reschedule(Task: PTask); syscall AOS_ExecBase 8; +procedure ExecException; syscall AOS_ExecBase 11; +procedure InitCode(StartClass: ULONG; Version: ULONG); syscall AOS_ExecBase 12; +procedure InitStruct(const InitTable: APTR; Memory: APTR; Size: ULONG); syscall AOS_ExecBase 13; +function MakeLibrary(const FuncInit: APTR; const StructInit: APTR; LibInit: TProcedure; DataSize: ULONG; SegList: ULONG): PLibrary; syscall AOS_ExecBase 14; +procedure MakeFunctions(const Target: APTR; const FunctionArray: CONST_APTR; const FuncDispBase: CONST_APTR); syscall AOS_ExecBase 15; +function FindResident(const Name: PChar): PResident; syscall AOS_ExecBase 16; +function InitResident(const Resident_: PResident; SegList: ULONG): PResident; syscall AOS_ExecBase 17; procedure Alert(AlertNum: ULONG); syscall AOS_ExecBase 18; -function AllocAbs(ByteSize: ULONG; Location: APTR): APTR; syscall AOS_ExecBase 34; +procedure Debug(Flags: ULONG); syscall AOS_ExecBase 19; +procedure Disable; syscall AOS_ExecBase 20; +procedure Enable; syscall AOS_ExecBase 21; +procedure Forbid; syscall AOS_ExecBase 22; +procedure Permit; syscall AOS_ExecBase 23; +function SetSR(NewSR: ULONG; Mask: ULONG): ULONG; syscall AOS_ExecBase 24; +function SuperState: APTR; syscall AOS_ExecBase 25; +procedure UserState(SysStack: APTR); syscall AOS_ExecBase 26; +function SetIntVector(IntNumber: LongInt; const Interrupt_: PInterrupt): PInterrupt; syscall AOS_ExecBase 27; +procedure AddIntServer(IntNumber: ULONG; Interrupt_: PInterrupt); syscall AOS_ExecBase 28; +procedure RemIntServer(IntNumber: ULONG; Interrupt_: PInterrupt); syscall AOS_ExecBase 29; +procedure Cause(Interrupt_: PInterrupt); syscall AOS_ExecBase 30; function Allocate(FreeList: PMemHeader; ByteSize: ULONG): PMemHeader; syscall AOS_ExecBase 31; -function AllocEntry(Entry: PMemList): PMemList; syscall AOS_ExecBase 37; +procedure Deallocate(FreeList: PMemHeader; MemoryBlock: APTR; ByteSize: ULONG); syscall AOS_ExecBase 32; function ExecAllocMem(ByteSize: ULONG; Requirements: ULONG): APTR; syscall AOS_ExecBase 33; -function AllocPooled(PoolHeader: APTR; MemSize: ULONG): APTR; syscall AOS_ExecBase 118; -function AllocSignal(SignalNum: LongInt): ShortInt; syscall AOS_ExecBase 55; -function AllocTrap(TrapNum: LongInt): LongInt; syscall AOS_ExecBase 57; -function AllocVec(ByteSize: ULONG; Requirements: ULONG): APTR; syscall AOS_ExecBase 114; -function AllocVecPooled(Pool: APTR; Size: ULONG): APTR; syscall AOS_ExecBase 149; -function AttemptSemaphore(SigSem: PSignalSemaphore): ULONG; syscall AOS_ExecBase 96; -function AttemptSemaphoreShared(SigSem: PSignalSemaphore): ULONG; syscall AOS_ExecBase 120; +function AllocAbs(ByteSize: ULONG; Location: APTR): APTR; syscall AOS_ExecBase 34; +procedure ExecFreeMem(MemoryBlock: APTR; ByteSize: ULONG); syscall AOS_ExecBase 35; function AvailMem(Requirements: ULONG): ULONG; syscall AOS_ExecBase 36; +function AllocEntry(Entry: PMemList): PMemList; syscall AOS_ExecBase 37; +procedure FreeEntry(Entry: PMemList); syscall AOS_ExecBase 38; +procedure ExecInsert(List: PList; Node: PNode; Pred: PNode); syscall AOS_ExecBase 39; +procedure AddHead(List: PList; Node: PNode); syscall AOS_ExecBase 40; +procedure AddTail(List: PList; Node: PNode); syscall AOS_ExecBase 41; +procedure Remove(Node: PNode); syscall AOS_ExecBase 42; +function RemHead(List: PList): PNode; syscall AOS_ExecBase 43; +function RemTail(List: PList): PNode; syscall AOS_ExecBase 44; +procedure Enqueue(List: PList; Node: PNode); syscall AOS_ExecBase 45; +function FindName(List: PList; const Name: PChar): PNode; syscall AOS_ExecBase 46; +function AddTask(Task: PTask; const InitialPC: APTR; const FinalPC: APTR): PTask; syscall AOS_ExecBase 47; deprecated; +procedure RemTask(Task: PTask); syscall AOS_ExecBase 48; +function FindTask(const Name: STRPTR): PTask; syscall AOS_ExecBase 49; +function SetTaskPri(Task: PTask; Priority: LongInt): ShortInt; syscall AOS_ExecBase 50; +function SetSignal(NewSignals: ULONG; SignalSet: ULONG): ULONG; syscall AOS_ExecBase 51; +function SetExcept(NewSignals: ULONG; SignalSet: ULONG): ULONG; syscall AOS_ExecBase 52; +function Wait(SignalSet: ULONG): ULONG; syscall AOS_ExecBase 53; +procedure Signal(Task: PTask; SignalSet: ULONG); syscall AOS_ExecBase 54; +function AllocSignal(SignalNum: LongInt): ShortInt; syscall AOS_ExecBase 55; +procedure FreeSignal(SignalNum: LongInt); syscall AOS_ExecBase 56; +function AllocTrap(TrapNum: LongInt): LongInt; syscall AOS_ExecBase 57; +procedure FreeTrap(TrapNum: LongInt); syscall AOS_ExecBase 58; +procedure AddPort(Port: PMsgPort); syscall AOS_ExecBase 59; +procedure RemPort(Port: PMsgPort); syscall AOS_ExecBase 60; +procedure PutMsg(Port: PMsgPort; Message: PMessage); syscall AOS_ExecBase 61; +function GetMsg(Port: PMsgPort): PMessage; syscall AOS_ExecBase 62; +procedure ReplyMsg(Message: PMessage); syscall AOS_ExecBase 63; +function WaitPort(Port: PMsgPort): PMessage; syscall AOS_ExecBase 64; +function FindPort(const Name: STRPTR): PMsgPort; syscall AOS_ExecBase 65; +procedure AddLibrary(Library_: PLibrary); syscall AOS_ExecBase 66; +procedure RemLibrary(Library_: PLibrary); syscall AOS_ExecBase 67; +function OldOpenLibrary(const LibName: STRPTR): PLibrary; syscall AOS_ExecBase 68; deprecated; +procedure CloseLibrary(Library_: PLibrary); syscall AOS_ExecBase 69; +function SetFunction(Library_: PLibrary; FuncOffset: LongInt; NewFunction: TProcedure): APTR; syscall AOS_ExecBase 70; +procedure SumLibrary(Library_: PLibrary); syscall AOS_ExecBase 71; +procedure AddDevice(Device: PDevice); syscall AOS_ExecBase 72; +procedure RemDevice(Device: PDevice); syscall AOS_ExecBase 73; +function OpenDevice(const DevName: STRPTR; UnitNumber: ULONG; IORequest: PIORequest; Flags: ULONG): LongInt; syscall AOS_ExecBase 74; +procedure CloseDevice(IORequest: PIORequest); syscall AOS_ExecBase 75; +function DoIO(IORequest: PIORequest): LongInt; syscall AOS_ExecBase 76; +procedure SendIO(IORequest: PIORequest); syscall AOS_ExecBase 77; +function CheckIO(IORequest: PIORequest): PIORequest; syscall AOS_ExecBase 78; +function WaitIO(IORequest: PIORequest): LongInt; syscall AOS_ExecBase 79; +function AbortIO(IORequest: PIORequest): LongInt; syscall AOS_ExecBase 80; +procedure AddResource(Resource: APTR); syscall AOS_ExecBase 81; +procedure RemResource(Resource: APTR); syscall AOS_ExecBase 82; +function OpenResource(const ResName: STRPTR): APTR; syscall AOS_ExecBase 83; +procedure RawIOInit; syscall AOS_ExecBase 84; +function RawMayGetChar: LongInt; syscall AOS_ExecBase 85; +procedure RawMayPutChar(Cha: Byte); syscall AOS_ExecBase 86; +function RawDoFmt(const FormatString: STRPTR; const DataStream: APTR; PutChProc: TProcedure; PutChData: APTR): APTR; syscall AOS_ExecBase 87; +function GetCC: Word; syscall AOS_ExecBase 88; +function TypeOfMem(const Address: APTR): ULONG; syscall AOS_ExecBase 89; +function Procure(SigSem: PSignalSemaphore; BidMsg: PSemaphoreMessage): ULONG; syscall AOS_ExecBase 90; +procedure Vacate(SigSem: PSignalSemaphore; BidMsg: PSemaphoreMessage); syscall AOS_ExecBase 91; +function OpenLibrary(const LibName: STRPTR; Version: ULONG): PLibrary; syscall AOS_ExecBase 92; +procedure InitSemaphore(SigSem: PSignalSemaphore); syscall AOS_ExecBase 93; +procedure ObtainSemaphore(SigSem: PSignalSemaphore); syscall AOS_ExecBase 94; +procedure ReleaseSemaphore(SigSem: PSignalSemaphore); syscall AOS_ExecBase 95; +function AttemptSemaphore(SigSem: PSignalSemaphore): ULONG; syscall AOS_ExecBase 96; +procedure ObtainSemaphoreList(SigSem: PList); syscall AOS_ExecBase 97; +procedure ReleaseSemaphoreList(SigSem: PList); syscall AOS_ExecBase 98; +function FindSemaphore(const SigSem: STRPTR): PSignalSemaphore; syscall AOS_ExecBase 99; +procedure AddSemaphore(SigSem: PSignalSemaphore); syscall AOS_ExecBase 100; +procedure RemSemaphore(SigSem: PSignalSemaphore); syscall AOS_ExecBase 101; +procedure SumKickData; syscall AOS_ExecBase 102; +procedure AddMemList(Size: ULONG; Attributes: ULONG; Pri: LongInt; Base: APTR; const Name: STRPTR); syscall AOS_ExecBase 103; +procedure CopyMem(const Source: APTR; Dest: APTR; Size: ULONG); syscall AOS_ExecBase 104; +procedure CopyMemQuick(const Source: APTR; Dest: APTR; Size: ULONG); syscall AOS_ExecBase 105; +procedure CacheClearU;syscall AOS_ExecBase 106; +procedure CacheClearE(Address: APTR; Length: ULONG; Caches: ULONG); syscall AOS_ExecBase 107; +function CacheControl(CacheBits: ULONG; CacheMask: ULONG): ULONG; syscall AOS_ExecBase 108; +function CreateIORequest(const IOReplyPort: PMsgPort; Size: ULONG): APTR; syscall AOS_ExecBase 109; +procedure DeleteIORequest(IORequest: APTR); syscall AOS_ExecBase 110; +function CreateMsgPort: PMsgPort; syscall AOS_ExecBase 111; +procedure DeleteMsgPort(Port: PMsgPort); syscall AOS_ExecBase 112; +procedure ObtainSemaphoreShared(SigSem: PSignalSemaphore); syscall AOS_ExecBase 113; +function AllocVec(ByteSize: ULONG; Requirements: ULONG): APTR; syscall AOS_ExecBase 114; +procedure FreeVec(MemoryBlock: APTR); syscall AOS_ExecBase 115; +function CreatePool(Requirements: ULONG; PuddleSize: ULONG; ThreshSize: ULONG): APTR; syscall AOS_ExecBase 116; +procedure DeletePool(PoolHeader: APTR); syscall AOS_ExecBase 117; +function AllocPooled(PoolHeader: APTR; MemSize: ULONG): APTR; syscall AOS_ExecBase 118; +procedure FreePooled(PoolHeader: APTR; Memory: APTR; MemSize: ULONG); syscall AOS_ExecBase 119; +function AttemptSemaphoreShared(SigSem: PSignalSemaphore): ULONG; syscall AOS_ExecBase 120; +procedure ColdReboot; syscall AOS_ExecBase 121; +procedure StackSwap(NewStack: PStackSwapStruct); syscall AOS_ExecBase 122; deprecated; +procedure ChildFree(Tid: ULONG); syscall AOS_ExecBase 123; +function ChildOrphan(Tid: ULONG): ULONG; syscall AOS_ExecBase 124; +function ChildStatus(Tid: ULONG): ULONG; syscall AOS_ExecBase 125; +function ChildWait(Tid: ULONG): IPTR; syscall AOS_ExecBase 126; +function CachePreDMA(const Address: APTR; var Length: ULONG; Flags: ULONG): APTR; syscall AOS_ExecBase 127; +procedure CachePostDMA(const Address: APTR; var Length: ULONG; Flags: ULONG); syscall AOS_ExecBase 128; +procedure AddMemHandler(MemHandler: PInterrupt); syscall AOS_ExecBase 129; +procedure RemMemHandler(MemHandler: PInterrupt); syscall AOS_ExecBase 130; +function ObtainQuickVector(InterruptCode: APTR): ULONG; syscall AOS_ExecBase 131; +function NewStackSwap(NewStack: PStackSwapStruct; Function_: APTR; Args: PStackSwapArgs): IPTR; syscall AOS_ExecBase 134; +function TaggedOpenLibrary(Tag: LongInt): APTR; syscall AOS_ExecBase 135; +function ReadGayle: ULONG; syscall AOS_ExecBase 136; +function VNewRawDoFmt(const FormatString: STRPTR; PutChProc: TProcedure; PutChData: APTR; VaListStream: PChar): STRPTR; syscall AOS_ExecBase 137; +function NewAddTaskA(TagList: PTagItem): APTR; syscall AOS_ExecBase 153; +function AddResetCallback(ResetCallback: PInterrupt): LongBool; syscall AOS_ExecBase 167; +procedure RemResetCallback(ResetCallback: PInterrupt); syscall AOS_ExecBase 168; +function ShutdownA(Action: ULONG): ULONG; syscall AOS_ExecBase 173; + + +{$ifdef AROS_ABIv0} +function PrepareContext(Task: PTask; EntryPoint: APTR; FallBack: APTR; TagList: PTagItem): LongBool; syscall AOS_ExecBase 6; +procedure Switch; syscall AOS_ExecBase 9; +procedure Dispatch; syscall AOS_ExecBase 10; function AVL_AddNode(Root: PPAVLNode; Node: PAVLNode; Func: PAVLNODECOMP): PAVLNode; syscall AOS_ExecBase 139; -function AVL_FindFirstNode(Root: PAVLNode): PAVLNode; syscall AOS_ExecBase 147; -function AVL_FindLastNode(Root: PAVLNode): PAVLNode; syscall AOS_ExecBase 148; +function AVL_RemNodeByAddress(Root: PPAVLNode; Node: PAVLNode): PAVLNode; syscall AOS_ExecBase 140; +function AVL_RemNodeByKey(Root: PPAVLNode; Key: AVLKey; Func: PAVLNODECOMP): PAVLNode; syscall AOS_ExecBase 141; function AVL_FindNode(Root: PPAVLNode; Key: AVLKey; Func: PAVLNODECOMP): PAVLNode; syscall AOS_ExecBase 142; function AVL_FindPrevNodeByAddress(Node: PAVLNode): PAVLNode; syscall AOS_ExecBase 143; function AVL_FindPrevNodeByKey(Node: PAVLNode; Key: AVLKey): PAVLNode; syscall AOS_ExecBase 144; function AVL_FindNextNodeByAddress(Node: PAVLNode): PAVLNode; syscall AOS_ExecBase 145; function AVL_FindNextNodeByKey(Node: PAVLNode; Key: AVLKey): PAVLNode; syscall AOS_ExecBase 146; -function AVL_RemNodeByAddress(Root: PPAVLNode; Node: PAVLNode): PAVLNode; syscall AOS_ExecBase 140; -function AVL_RemNodeByKey(Root: PPAVLNode; Key: AVLKey; Func: PAVLNODECOMP): PAVLNode; syscall AOS_ExecBase 141; -procedure CacheClearE(Address: APTR; Length: ULONG; Caches: ULONG); syscall AOS_ExecBase 107; -procedure CacheClearU;syscall AOS_ExecBase 106; -function CacheControl(CacheBits: ULONG; CacheMask: ULONG): ULONG; syscall AOS_ExecBase 108; -procedure CachePostDMA(const Address: APTR; var Length: ULONG; Flags: ULONG); syscall AOS_ExecBase 128; -function CachePreDMA(const Address: APTR; var Length: ULONG; Flags: ULONG): APTR; syscall AOS_ExecBase 127; -procedure Cause(Interrupt_: PInterrupt); syscall AOS_ExecBase 30; -function CheckIO(IORequest: PIORequest): PIORequest; syscall AOS_ExecBase 78; -procedure ChildFree(Tid: ULONG); syscall AOS_ExecBase 123; -function ChildOrphan(Tid: ULONG): ULONG; syscall AOS_ExecBase 124; -function ChildStatus(Tid: ULONG): ULONG; syscall AOS_ExecBase 125; -function ChildWait(Tid: ULONG): IPTR; syscall AOS_ExecBase 126; -procedure CloseDevice(IORequest: PIORequest); syscall AOS_ExecBase 75; -procedure CloseLibrary(Library_: PLibrary); syscall AOS_ExecBase 69; -procedure ColdReboot; syscall AOS_ExecBase 121; -procedure CopyMem(const Source: APTR; Dest: APTR; Size: ULONG); syscall AOS_ExecBase 104; -procedure CopyMemQuick(const Source: APTR; Dest: APTR; Size: ULONG); syscall AOS_ExecBase 105; -function CreateIORequest(const IOReplyPort: PMsgPort; Size: ULONG): APTR; syscall AOS_ExecBase 109; -function CreateMsgPort: PMsgPort; syscall AOS_ExecBase 111; -function CreatePool(Requirements: ULONG; PuddleSize: ULONG; ThreshSize: ULONG): APTR; syscall AOS_ExecBase 116; -procedure Deallocate(FreeList: PMemHeader; MemoryBlock: APTR; ByteSize: ULONG); syscall AOS_ExecBase 32; -procedure Debug(Flags: ULONG); syscall AOS_ExecBase 19; -procedure DeleteIORequest(IORequest: APTR); syscall AOS_ExecBase 110; -procedure DeleteMsgPort(Port: PMsgPort); syscall AOS_ExecBase 112; -procedure DeletePool(PoolHeader: APTR); syscall AOS_ExecBase 117; -procedure Disable; syscall AOS_ExecBase 20; -procedure Dispatch; syscall AOS_ExecBase 10; -function DoIO(IORequest: PIORequest): LongInt; syscall AOS_ExecBase 76; -procedure Enable; syscall AOS_ExecBase 21; -procedure Enqueue(List: PList; Node: PNode); syscall AOS_ExecBase 45; -procedure ExecFreeMem(MemoryBlock: APTR; ByteSize: ULONG); syscall AOS_ExecBase 35; -procedure ExecInsert(List: PList; Node: PNode; Pred: PNode); syscall AOS_ExecBase 39; -procedure ExecException; syscall AOS_ExecBase 11; -function FindName(List: PList; const Name: PChar): PNode; syscall AOS_ExecBase 46; -function FindPort(const Name: STRPTR): PMsgPort; syscall AOS_ExecBase 65; -function FindResident(const Name: PChar): PResident; syscall AOS_ExecBase 16; -function FindSemaphore(const SigSem: STRPTR): PSignalSemaphore; syscall AOS_ExecBase 99; -function FindTask(const Name: STRPTR): PTask; syscall AOS_ExecBase 49; -procedure Forbid; syscall AOS_ExecBase 22; -procedure FreeEntry(Entry: PMemList); syscall AOS_ExecBase 38; -procedure FreePooled(PoolHeader: APTR; Memory: APTR; MemSize: ULONG); syscall AOS_ExecBase 119; -procedure FreeSignal(SignalNum: LongInt); syscall AOS_ExecBase 56; -procedure FreeTrap(TrapNum: LongInt); syscall AOS_ExecBase 58; -procedure FreeVec(MemoryBlock: APTR); syscall AOS_ExecBase 115; -procedure FreeVecPooled(Pool: APTR; Memory: APTR); syscall AOS_ExecBase 150; -function GetCC: Word; syscall AOS_ExecBase 88; -function GetMsg(Port: PMsgPort): PMessage; syscall AOS_ExecBase 62; -procedure InitCode(StartClass: ULONG; Version: ULONG); syscall AOS_ExecBase 12; -function InitResident(const Resident_: PResident; SegList: ULONG): PResident; syscall AOS_ExecBase 17; -procedure InitSemaphore(SigSem: PSignalSemaphore); syscall AOS_ExecBase 93; -procedure InitStruct(const InitTable: APTR; Memory: APTR; Size: ULONG); syscall AOS_ExecBase 13; -procedure MakeFunctions(const Target: APTR; const FunctionArray: CONST_APTR; const FuncDispBase: CONST_APTR); syscall AOS_ExecBase 15; -function MakeLibrary(const FuncInit: APTR; const StructInit: APTR; LibInit: TProcedure; DataSize: ULONG; SegList: ULONG): PLibrary; syscall AOS_ExecBase 14; +function AVL_FindFirstNode(Root: PAVLNode): PAVLNode; syscall AOS_ExecBase 147; +function AVL_FindLastNode(Root: PAVLNode): PAVLNode; syscall AOS_ExecBase 148; function NewAddTask(Task: PTask; InitialPC: APTR; FinalPC: APTR; TagList: PTagItem): APTR; syscall AOS_ExecBase 152; -function NewAddTaskA(TagList: PTagItem): APTR; syscall AOS_ExecBase 153; +function AllocVecPooled(Pool: APTR; Size: ULONG): APTR; syscall AOS_ExecBase 149; +procedure FreeVecPooled(Pool: APTR; Memory: APTR); syscall AOS_ExecBase 150; function NewAllocEntry(Entry: PMemList; var Return_Entry: PMemList; var Return_Flags: ULONG): LongBool; syscall AOS_ExecBase 151; -function NewStackSwap(NewStack: PStackSwapStruct; Function_: APTR; Args: PStackSwapArgs): IPTR; syscall AOS_ExecBase 134; -function ObtainQuickVector(InterruptCode: APTR): ULONG; syscall AOS_ExecBase 131; -procedure ObtainSemaphore(SigSem: PSignalSemaphore); syscall AOS_ExecBase 94; -procedure ObtainSemaphoreList(SigSem: PList); syscall AOS_ExecBase 97; -procedure ObtainSemaphoreShared(SigSem: PSignalSemaphore); syscall AOS_ExecBase 113; -function OldOpenLibrary(const LibName: STRPTR): PLibrary; syscall AOS_ExecBase 68; deprecated; -function OpenDevice(const DevName: STRPTR; UnitNumber: ULONG; IORequest: PIORequest; Flags: ULONG): LongInt; syscall AOS_ExecBase 74; -function OpenLibrary(const LibName: STRPTR; Version: ULONG): PLibrary; syscall AOS_ExecBase 92; -function OpenResource(const ResName: STRPTR): APTR; syscall AOS_ExecBase 83; -procedure Permit; syscall AOS_ExecBase 23; -function PrepareContext(Task: PTask; EntryPoint: APTR; FallBack: APTR; TagList: PTagItem): LongBool; syscall AOS_ExecBase 6; -function Procure(SigSem: PSignalSemaphore; BidMsg: PSemaphoreMessage): ULONG; syscall AOS_ExecBase 90; -procedure PutMsg(Port: PMsgPort; Message: PMessage); syscall AOS_ExecBase 61; -function RawDoFmt(const FormatString: STRPTR; const DataStream: APTR; PutChProc: TProcedure; PutChData: APTR): APTR; syscall AOS_ExecBase 87; -procedure RawIOInit; syscall AOS_ExecBase 84; -function RawMayGetChar: LongInt; syscall AOS_ExecBase 85; -procedure RawMayPutChar(Cha: Byte); syscall AOS_ExecBase 86; -function ReadGayle: ULONG; syscall AOS_ExecBase 136; -procedure ReleaseSemaphore(SigSem: PSignalSemaphore); syscall AOS_ExecBase 95; -procedure ReleaseSemaphoreList(SigSem: PList); syscall AOS_ExecBase 98; -procedure RemDevice(Device: PDevice); syscall AOS_ExecBase 73; -function RemHead(List: PList): PNode; syscall AOS_ExecBase 43; -procedure RemIntServer(IntNumber: ULONG; Interrupt_: PInterrupt); syscall AOS_ExecBase 29; -procedure RemLibrary(Library_: PLibrary); syscall AOS_ExecBase 67; -procedure RemMemHandler(MemHandler: PInterrupt); syscall AOS_ExecBase 130; -procedure Remove(Node: PNode); syscall AOS_ExecBase 42; -procedure RemPort(Port: PMsgPort); syscall AOS_ExecBase 60; -procedure RemResetCallback(ResetCallback: PInterrupt); syscall AOS_ExecBase 168; -procedure RemResource(Resource: APTR); syscall AOS_ExecBase 82; -procedure RemSemaphore(SigSem: PSignalSemaphore); syscall AOS_ExecBase 101; -function RemTail(List: PList): PNode; syscall AOS_ExecBase 44; -procedure RemTask(Task: PTask); syscall AOS_ExecBase 48; -procedure ReplyMsg(Message: PMessage); syscall AOS_ExecBase 63; -procedure Reschedule(Task: PTask); syscall AOS_ExecBase 8; -procedure SendIO(IORequest: PIORequest); syscall AOS_ExecBase 77; -function SetExcept(NewSignals: ULONG; SignalSet: ULONG): ULONG; syscall AOS_ExecBase 52; -function SetFunction(Library_: PLibrary; FuncOffset: LongInt; NewFunction: TProcedure): APTR; syscall AOS_ExecBase 70; -function SetIntVector(IntNumber: LongInt; const Interrupt_: PInterrupt): PInterrupt; syscall AOS_ExecBase 27; -function SetSignal(NewSignals: ULONG; SignalSet: ULONG): ULONG; syscall AOS_ExecBase 51; -function SetSR(NewSR: ULONG; Mask: ULONG): ULONG; syscall AOS_ExecBase 24; -function SetTaskPri(Task: PTask; Priority: LongInt): ShortInt; syscall AOS_ExecBase 50; -function ShutdownA(Action: ULONG): ULONG; syscall AOS_ExecBase 173; -procedure Signal(Task: PTask; SignalSet: ULONG); syscall AOS_ExecBase 54; -procedure StackSwap(NewStack: PStackSwapStruct); syscall AOS_ExecBase 122; deprecated; -procedure SumKickData; syscall AOS_ExecBase 102; -procedure SumLibrary(Library_: PLibrary); syscall AOS_ExecBase 71; -function SuperState: APTR; syscall AOS_ExecBase 25; -function Supervisor(UserFunction: TProcedure): ULONG; syscall AOS_ExecBase 5; -procedure Switch; syscall AOS_ExecBase 9; -function TaggedOpenLibrary(Tag: LongInt): APTR; syscall AOS_ExecBase 135; -function TypeOfMem(const Address: APTR): ULONG; syscall AOS_ExecBase 89; -procedure UserState(SysStack: APTR); syscall AOS_ExecBase 26; -procedure Vacate(SigSem: PSignalSemaphore; BidMsg: PSemaphoreMessage); syscall AOS_ExecBase 91; -function VNewRawDoFmt(const FormatString: STRPTR; PutChProc: TProcedure; PutChData: APTR; VaListStream: PChar): STRPTR; syscall AOS_ExecBase 137; -function Wait(SignalSet: ULONG): ULONG; syscall AOS_ExecBase 53; -function WaitIO(IORequest: PIORequest): LongInt; syscall AOS_ExecBase 79; -function WaitPort(Port: PMsgPort): PMessage; syscall AOS_ExecBase 64; +{$endif} + +{$ifdef AROS_ABIv1} +procedure NewMinList(Ml: PMinList); syscall AOS_ExecBase 138; +function AVL_AddNode(Root: PPAVLNode; Node: PAVLNode; Func: PAVLNODECOMP): PAVLNode; syscall AOS_ExecBase 142; +function AVL_RemNodeByAddress(Root: PPAVLNode; Node: PAVLNode): PAVLNode; syscall AOS_ExecBase 143; +function AVL_RemNodeByKey(Root: PPAVLNode; Key: AVLKey; Func: PAVLNODECOMP): PAVLNode; syscall AOS_ExecBase 144; +function AVL_FindNode(Root: PPAVLNode; Key: AVLKey; Func: PAVLNODECOMP): PAVLNode; syscall AOS_ExecBase 145; +function AVL_FindPrevNodeByAddress(Node: PAVLNode): PAVLNode; syscall AOS_ExecBase 146; +function AVL_FindPrevNodeByKey(Node: PAVLNode; Key: AVLKey): PAVLNode; syscall AOS_ExecBase 147; +function AVL_FindNextNodeByAddress(Node: PAVLNode): PAVLNode; syscall AOS_ExecBase 148; +function AVL_FindNextNodeByKey(Node: PAVLNode; Key: AVLKey): PAVLNode; syscall AOS_ExecBase 149; +function AVL_FindFirstNode(Root: PAVLNode): PAVLNode; syscall AOS_ExecBase 150; +function AVL_FindLastNode(Root: PAVLNode): PAVLNode; syscall AOS_ExecBase 151; +function FindTaskByPID(ProcessID: LongWord): PTask; syscall AOS_ExecBase 166; +function AllocVecPooled(Pool: APTR; Size: ULONG): APTR; syscall AOS_ExecBase 169; +procedure FreeVecPooled(Pool: APTR; Memory: APTR); syscall AOS_ExecBase 170; +function NewAllocEntry(Entry: PMemList; var Return_Entry: PMemList; var Return_Flags: ULONG): LongBool; syscall AOS_ExecBase 174; +function NewAddTask(Task: PTask; InitialPC: APTR; FinalPC: APTR; TagList: PTagItem): APTR; syscall AOS_ExecBase 176; +function AllocTaskStorage: LongInt; syscall AOS_ExecBase 180; +procedure FreeTaskStorage(Slot: LongInt); syscall AOS_ExecBase 181; +function SaveTaskStorage: APTR; syscall AOS_ExecBase 182; +procedure RestoreTaskStorage(Id: APTR); syscall AOS_ExecBase 183; +function SetTaskStorageSlot(Id: LongInt; Value: IPTR): LongBool; syscall AOS_ExecBase 184; +function GetTaskStorageSlot(Id: LongInt): IPTR; syscall AOS_ExecBase 185; +function GetParentTaskStorageSlot(Id: LongInt): IPTR; syscall AOS_ExecBase 186; +{$endif} function BitMask(no :ShortInt): LongInt; // C Macros diff --git a/packages/arosunits/src/intuition.pas b/packages/arosunits/src/intuition.pas index 303640518f..4cad797169 100644 --- a/packages/arosunits/src/intuition.pas +++ b/packages/arosunits/src/intuition.pas @@ -559,7 +559,7 @@ type TopEdge: SmallInt; // screen dimensions of window Width, Height: SmallInt; // screen dimensions of window -{$ifdef AROS_FLAVOUR_BINCOMPAT} +{$ifdef AROS_BINCOMPAT} MouseY, MouseX: SmallInt; // relative to upper-left of window {$else} @@ -656,7 +656,7 @@ type Width, Height: SmallInt; // parameters of the screen -{$ifdef AROS_FLAVOUR_BINCOMPAT} +{$ifdef AROS_BINCOMPAT} MouseY, MouseX: SmallInt; // position relative to upper-left {$else} @@ -1662,7 +1662,7 @@ type FirstScreen: PScreen; { for linked list of all screens, the FirstScreen variable points to the frontmost Screen. Screens are then maintained in a front to back order using Screen.NextScreen } Flags: LongWord; // see definitions below -{$ifdef AROS_FLAVOUR_BINCOMPAT} +{$ifdef AROS_BINCOMPAT} MouseX, MouseY: SmallInt; // mouse position relative to View {$else} diff --git a/packages/arosunits/src/mui.pas b/packages/arosunits/src/mui.pas index 3f377bd32f..d6c1a6fd8f 100644 --- a/packages/arosunits/src/mui.pas +++ b/packages/arosunits/src/mui.pas @@ -401,7 +401,7 @@ const // one or more IDCMP flags this handler should react on. // MUIM_Window_AddEventHandler/RemoveEventHandler type -{$ifdef AROS_FLAVOUR_BINCOMPAT} +{$ifdef AROS_BINCOMPAT} TMUI_EventHandlerNode = record ehn_Node: TMinNode; ehn_Reserved: byte; @@ -3686,6 +3686,7 @@ function MUI_CreateCustomClass(Base: PLibrary; Supername: PChar; Supermcc: PMUI_ function MUI_DeleteCustomClass(Mcc: PMUI_CustomClass): LongBool; syscall MUIMasterBase 19; function MUI_MakeObjectA(Typ: LongInt; Params: PIPTR): PObject_; syscall MUIMasterBase 20; function MUI_Layout(Obj: PObject_; Left: LongInt; Top: LongInt; Width: LongInt; Height: LongInt; Flags: LongWord): LongBool; syscall MUIMasterBase 21; +{$ifdef AROS_ABIv0} function MUI_ObtainPen(Mri: PMUI_RenderInfo; spec : pMUI_PenSpec; flags : LongWord) : LongInt; syscall MUIMasterBase 22; procedure MUI_ReleasePen(Mri: PMUI_RenderInfo; Pen: LongInt); syscall MUIMasterBase 23; function MUI_AddClipping(Mri: PMUI_RenderInfo; Left: SmallInt; Top: SmallInt; Width: SmallInt; Height: SmallInt): APTR; syscall MUIMasterBase 24; @@ -3694,6 +3695,17 @@ function MUI_AddClipRegion(Mri: PMUI_RenderInfo; Region: PRegion): APTR; syscall procedure MUI_RemoveClipRegion(Mri: PMUI_RenderInfo; Handle: Pointer); syscall MUIMasterBase 27; function MUI_BeginRefresh(Mri: PMUI_RenderInfo; Flags: LongWord): LongBool; syscall MUIMasterBase 28; procedure MUI_EndRefresh(Mri: PMUI_RenderInfo; Flags: LongWord); syscall MUIMasterBase 29; +{$endif} +{$ifdef AROS_ABIv1} +function MUI_ObtainPen(Mri: PMUI_RenderInfo; spec : pMUI_PenSpec; flags : LongWord) : LongInt; syscall MUIMasterBase 26; +procedure MUI_ReleasePen(Mri: PMUI_RenderInfo; Pen: LongInt); syscall MUIMasterBase 27; +function MUI_AddClipping(Mri: PMUI_RenderInfo; Left: SmallInt; Top: SmallInt; Width: SmallInt; Height: SmallInt): APTR; syscall MUIMasterBase 28; +procedure MUI_RemoveClipping(Mri: PMUI_RenderInfo; Handle: APTR); syscall MUIMasterBase 29; +function MUI_AddClipRegion(Mri: PMUI_RenderInfo; Region: PRegion): APTR; syscall MUIMasterBase 30; +procedure MUI_RemoveClipRegion(Mri: PMUI_RenderInfo; Handle: Pointer); syscall MUIMasterBase 31; +function MUI_BeginRefresh(Mri: PMUI_RenderInfo; Flags: LongWord): LongBool; syscall MUIMasterBase 32; +procedure MUI_EndRefresh(Mri: PMUI_RenderInfo; Flags: LongWord); syscall MUIMasterBase 33; +{$endif} // some procedures to get some information about our object diff --git a/rtl/amicommon/dos.pp b/rtl/amicommon/dos.pp index e7141e5163..37547e804b 100644 --- a/rtl/amicommon/dos.pp +++ b/rtl/amicommon/dos.pp @@ -111,7 +111,7 @@ end; function BADDR(bval: PtrInt): Pointer; Inline; begin - {$if defined(AROS)} // deactivated for now //and (not defined(AROS_FLAVOUR_BINCOMPAT))} + {$if defined(AROS)} // deactivated for now //and (not defined(AROS_BINCOMPAT))} BADDR := Pointer(bval); {$else} BADDR:=Pointer(bval Shl 2); @@ -120,7 +120,7 @@ end; function BSTR2STRING(s : Pointer): PChar; Inline; begin - {$if defined(AROS)} // deactivated for now //and (not defined(AROS_FLAVOUR_BINCOMPAT))} + {$if defined(AROS)} // deactivated for now //and (not defined(AROS_BINCOMPAT))} BSTR2STRING:=PChar(s); {$else} BSTR2STRING:=PChar(BADDR(PtrInt(s)))+1; @@ -129,7 +129,7 @@ end; function BSTR2STRING(s : PtrInt): PChar; Inline; begin - {$if defined(AROS)} // deactivated for now //and (not defined(AROS_FLAVOUR_BINCOMPAT))} + {$if defined(AROS)} // deactivated for now //and (not defined(AROS_BINCOMPAT))} BSTR2STRING:=PChar(s); {$else} BSTR2STRING:=PChar(BADDR(s))+1; diff --git a/rtl/amicommon/sysutils.pp b/rtl/amicommon/sysutils.pp index 0802b2d5f5..e55410ec27 100644 --- a/rtl/amicommon/sysutils.pp +++ b/rtl/amicommon/sysutils.pp @@ -89,7 +89,7 @@ var function BADDR(bval: BPTR): Pointer; Inline; begin - {$if defined(AROS)} // deactivated for now //and (not defined(AROS_FLAVOUR_BINCOMPAT))} + {$if defined(AROS)} // deactivated for now //and (not defined(AROS_BINCOMPAT))} BADDR := Pointer(bval); {$else} BADDR:=Pointer(bval Shl 2); @@ -98,7 +98,7 @@ end; function BSTR2STRING(s : Pointer): PChar; Inline; begin - {$if defined(AROS)} // deactivated for now //and (not defined(AROS_FLAVOUR_BINCOMPAT))} + {$if defined(AROS)} // deactivated for now //and (not defined(AROS_BINCOMPAT))} BSTR2STRING:=PChar(s); {$else} BSTR2STRING:=PChar(BADDR(PtrInt(s)))+1; @@ -107,7 +107,7 @@ end; function BSTR2STRING(s : BPTR): PChar; Inline; begin - {$if defined(AROS)} // deactivated for now //and (not defined(AROS_FLAVOUR_BINCOMPAT))} + {$if defined(AROS)} // deactivated for now //and (not defined(AROS_BINCOMPAT))} BSTR2STRING:=PChar(s); {$else} BSTR2STRING:=PChar(BADDR(s))+1; diff --git a/rtl/aros/doslibd.inc b/rtl/aros/doslibd.inc index bb1ea12eeb..4b30554ddd 100644 --- a/rtl/aros/doslibd.inc +++ b/rtl/aros/doslibd.inc @@ -544,7 +544,7 @@ type // Checked OK 05.08.2011 ALB TDOSLibrary = record dl_Lib : TLibrary; dl_Root : PRootNode; - {$ifdef AROS_FLAVOUR_BINCOMPAT} + {$ifdef AROS_BINCOMPAT} dl_GV : Pointer; dl_A2 : LongInt; dl_A5 : LongInt; diff --git a/rtl/aros/i386/execd.inc b/rtl/aros/i386/execd.inc index ca2d4d256d..5da6cf11b5 100644 --- a/rtl/aros/i386/execd.inc +++ b/rtl/aros/i386/execd.inc @@ -33,7 +33,7 @@ type // Checked OK 05.08.2011 ALB TNode = record ln_Succ: PNode; ln_Pred: PNode; -{$ifdef AROS_FLAVOUR_BINCOMPAT} +{$ifdef AROS_BINCOMPAT} ln_Type: Byte; ln_Pri : ShortInt; ln_Name: PChar;