1{ 2 This file is part of the Free Pascal run time library. 3 4 utility functions for AmigaOS/m68k 5 Copyright (c) 2007 Karoly Balogh 6 7 See the file COPYING.FPC, included in this distribution, 8 for details about the copyright. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 13 14 **********************************************************************} 15 16 17function FindTagItem(tagVal : Cardinal location 'd0'; 18 tagList: PTagItem location 'a0'): PTagItem; 19SysCall AOS_UtilityBase 030; 20 21function GetTagData(tagValue : Cardinal location 'd0'; 22 defaultVal: Cardinal location 'd1'; 23 tagList : PTagItem location 'a0'): Cardinal; 24SysCall AOS_UtilityBase 036; 25 26function PackBoolTags(initialFlags: Cardinal location 'd0'; 27 tagList : PTagItem location 'a0'; 28 boolMap : PTagItem location 'a1'): Cardinal; 29SysCall AOS_UtilityBase 042; 30 31function NextTagItem(tagListPtr: pPTagItem location 'a0'): PTagItem; 32SysCall AOS_UtilityBase 048; 33 34procedure FilterTagChanges(changeList : PTagItem location 'a0'; 35 originalList: PTagItem location 'a1'; 36 apply : Cardinal location 'd0'); 37SysCall AOS_UtilityBase 054; 38 39procedure MapTags(tagList: PTagItem location 'a0'; 40 mapList: PTagItem location 'a1'; 41 mapType: Cardinal location 'd0'); 42SysCall AOS_UtilityBase 060; 43 44function AllocateTagItems(numTags: Cardinal location 'd0'): PTagItem; 45SysCall AOS_UtilityBase 066; 46 47function CloneTagItems(tagList: PTagItem location 'a0'): PTagItem; 48SysCall AOS_UtilityBase 072; 49 50procedure FreeTagItems(tagList: PTagItem location 'a0'); 51SysCall AOS_UtilityBase 078; 52 53procedure RefreshTagItemClones(clone : PTagItem location 'a0'; 54 original: PTagItem location 'a1'); 55SysCall AOS_UtilityBase 084; 56 57function TagInArray(tagValue : Cardinal location 'd0'; 58 var tagArray: Cardinal location 'a0'): LongBool; 59SysCall AOS_UtilityBase 090; 60 61function FilterTagItems(tagList : PTagItem location 'a0'; 62 var filterArray: Cardinal location 'a1'; 63 logic : Cardinal location 'd0'): Cardinal; 64SysCall AOS_UtilityBase 096; 65 66function CallHookPkt(hook : PHook location 'a0'; 67 hobject : Pointer location 'a2'; 68 paramPacket: Pointer location 'a1'): Cardinal; 69SysCall AOS_UtilityBase 102; 70 71procedure Amiga2Date(seconds: Cardinal location 'd0'; 72 result : PClockData location 'a0'); 73SysCall AOS_UtilityBase 120; 74 75function Date2Amiga(date: PClockData location 'a0'): Cardinal; 76SysCall AOS_UtilityBase 126; 77 78function CheckDate(date: PClockData location 'a0'): Cardinal; 79SysCall AOS_UtilityBase 132; 80 81function SMult32(arg1: LongInt location 'd0'; 82 arg2: LongInt location 'd1'): LongInt; 83SysCall AOS_UtilityBase 138; 84 85function UMult32(arg1: Cardinal location 'd0'; 86 arg2: Cardinal location 'd1'): Cardinal; 87SysCall AOS_UtilityBase 144; 88 89function SDivMod32(dividend: LongInt location 'd0'; 90 divisor: LongInt location 'd1'): LongInt; 91SysCall AOS_UtilityBase 150; 92 93function UDivMod32(dividend: Cardinal location 'd0'; 94 divisor : Cardinal location 'd1'): Cardinal; 95SysCall AOS_UtilityBase 156; 96 97function Stricmp(string1: PChar location 'a0'; 98 string2: PChar location 'a1'): LongInt; 99SysCall AOS_UtilityBase 162; 100 101function Strnicmp(string1: PChar location 'a0'; 102 string2: PChar location 'a1'; 103 length : LongInt location 'd0'): LongInt; 104SysCall AOS_UtilityBase 168; 105 106function ToUpper(character: Cardinal location 'd0'): Char; 107SysCall AOS_UtilityBase 174; 108 109function ToLower(character: Cardinal location 'd0'): Char; 110SysCall AOS_UtilityBase 180; 111 112procedure ApplyTagChanges(list : PTagItem location 'a0'; 113 changeList: PTagItem location 'a1'); 114SysCall AOS_UtilityBase 186; 115 116function SMult64(arg1: LongInt location 'd0'; 117 arg2: LongInt location 'd1'): LongInt; 118SysCall AOS_UtilityBase 198; 119 120function UMult64(arg1: Cardinal location 'd0'; 121 arg2: Cardinal location 'd1'): Cardinal; 122SysCall AOS_UtilityBase 204; 123 124function PackStructureTags(pack : Pointer location 'a0'; 125 var packTable: Cardinal location 'a1'; 126 tagList : PTagItem location 'a2'): Cardinal; 127SysCall AOS_UtilityBase 210; 128 129function UnpackStructureTags(pack : Pointer location 'a0'; 130 var packTable: Cardinal location 'a1'; 131 tagList : PTagItem location 'a2'): Cardinal; 132SysCall AOS_UtilityBase 216; 133 134function AddNamedObject(nameSpace: PNamedObject location 'a0'; 135 nobject : PNamedObject location 'a1'): LongBool; 136SysCall AOS_UtilityBase 222; 137 138function AllocNamedObjectA(name : PChar location 'a0'; 139 tagList: PTagItem location 'a1'): PNamedObject; 140SysCall AOS_UtilityBase 228; 141 142function AttemptRemNamedObject(nobject: PNamedObject location 'a0'): LongInt; 143SysCall AOS_UtilityBase 234; 144 145function FindNamedObject(nameSpace : PNamedObject location 'a0'; 146 name : PChar location 'a1'; 147 lastObject: PNamedObject location 'a2'): PNamedObject; 148SysCall AOS_UtilityBase 240; 149 150procedure FreeNamedObject(nobject: PNamedObject location 'a0'); 151SysCall AOS_UtilityBase 246; 152 153function NamedObjectName(nobject: PNamedObject location 'a0'): PChar; 154SysCall AOS_UtilityBase 252; 155 156procedure ReleaseNamedObject(nobject: pNamedObject location 'a0'); 157SysCall AOS_UtilityBase 258; 158 159procedure RemNamedObject(nobject: PNamedObject location 'a0'; 160 message: PMessage location 'a1'); 161SysCall AOS_UtilityBase 264; 162 163function GetUniqueID: Cardinal; 164SysCall AOS_UtilityBase 270; 165 166