fork of PCE focusing on macplus, supporting DaynaPort SCSI network emulation
at master 817 lines 22 kB view raw
1/***************************************************************************** 2 * pce * 3 *****************************************************************************/ 4 5/***************************************************************************** 6 * File name: src/arch/macplus/traps.c * 7 * Created: 2007-11-22 by Hampa Hug <hampa@hampa.ch> * 8 * Copyright: (C) 2007-2013 Hampa Hug <hampa@hampa.ch> * 9 *****************************************************************************/ 10 11/***************************************************************************** 12 * This program is free software. You can redistribute it and / or modify it * 13 * under the terms of the GNU General Public License version 2 as published * 14 * by the Free Software Foundation. * 15 * * 16 * This program is distributed in the hope that it will be useful, but * 17 * WITHOUT ANY WARRANTY, without even the implied warranty of * 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General * 19 * Public License for more details. * 20 *****************************************************************************/ 21 22 23#include "main.h" 24#include "traps.h" 25 26#include <stdlib.h> 27 28 29typedef struct { 30 unsigned short trap; 31 const char *name; 32} trap_list_t; 33 34 35static 36trap_list_t trap_list_1[] = { 37 { 0xa000, "Open" }, 38 { 0xa001, "Close" }, 39 { 0xa002, "Read" }, 40 { 0xa003, "Write" }, 41 { 0xa004, "Control" }, 42 { 0xa005, "Status" }, 43 { 0xa006, "KillIO" }, 44 { 0xa007, "GetVolInfo" }, 45 { 0xa008, "Create" }, 46 { 0xa009, "Delete" }, 47 { 0xa00a, "OpenRF" }, 48 { 0xa00b, "Rename" }, 49 { 0xa00c, "GetFileInfo" }, 50 { 0xa00d, "SetFileInfo" }, 51 { 0xa00e, "UnmountVol" }, 52 { 0xa00f, "MountVol" }, 53 { 0xa010, "Allocate" }, 54 { 0xa011, "GetEOF" }, 55 { 0xa012, "SetEOF" }, 56 { 0xa013, "FlushVol" }, 57 { 0xa014, "GetVol" }, 58 { 0xa015, "SetVol" }, 59 { 0xa016, "InitQueue" }, 60 { 0xa017, "Eject" }, 61 { 0xa018, "GetFPos" }, 62 { 0xa019, "InitZone" }, 63 { 0xa01a, "GetZone" }, 64 { 0xa01b, "SetZone" }, 65 { 0xa01c, "FreeMem" }, 66 { 0xa01d, "MaxMem" }, 67 { 0xa01e, "NewPtr" }, 68 { 0xa01f, "DisposPtr" }, 69 { 0xa020, "SetPtrSize" }, 70 { 0xa021, "GetPtrSize" }, 71 { 0xa022, "NewHandle" }, 72 { 0xa023, "DisposHandle" }, 73 { 0xa024, "SetHandleSize" }, 74 { 0xa025, "GetHandleSize" }, 75 { 0xa026, "HandleZone" }, 76 { 0xa027, "ReallocHandle" }, 77 { 0xa028, "RecoverHandle" }, 78 { 0xa029, "HLock" }, 79 { 0xa02a, "HUnlock" }, 80 { 0xa02b, "EmptyHandle" }, 81 { 0xa02c, "InitApplZone" }, 82 { 0xa02d, "SetApplLimit" }, 83 { 0xa02e, "BlockMove" }, 84 { 0xa02f, "PostEvent" }, 85 { 0xa030, "OSEventAvail" }, 86 { 0xa031, "GetOSEvent" }, 87 { 0xa032, "FlushEvents" }, 88 { 0xa033, "VInstall" }, 89 { 0xa034, "VRemove" }, 90 { 0xa035, "Offline" }, 91 { 0xa036, "MoreMasters" }, 92 { 0xa038, "WriteParam" }, 93 { 0xa039, "ReadDateTime" }, 94 { 0xa03a, "SetDateTime" }, 95 { 0xa03b, "Delay" }, 96 { 0xa03c, "CmpString" }, 97 { 0xa03d, "DrvrInstall" }, 98 { 0xa03e, "DrvrRemove" }, 99 { 0xa03f, "InitUtil" }, 100 { 0xa040, "ResrvMem" }, 101 { 0xa041, "SetFilLock" }, 102 { 0xa042, "RstFilLock" }, 103 { 0xa043, "SetFilType" }, 104 { 0xa044, "SetFPos" }, 105 { 0xa045, "FlushFile" }, 106 { 0xa046, "GetTrapAddress" }, 107 { 0xa047, "SetTrapAddress" }, 108 { 0xa048, "PtrZone" }, 109 { 0xa049, "HPurge" }, 110 { 0xa04a, "HNoPurge" }, 111 { 0xa04b, "SetGrowZone" }, 112 { 0xa04c, "CompactMem" }, 113 { 0xa04d, "PurgeMem" }, 114 { 0xa04e, "AddDrive" }, 115 { 0xa04f, "RDrvrInstall" }, 116 { 0xa050, "RelString" }, 117 { 0xa051, "ReadXPram" }, 118 { 0xa052, "WriteXPram" }, 119 { 0xa054, "UprString" }, 120 { 0xa055, "StripAddress" }, 121 { 0xa056, "LowerText" }, 122 { 0xa057, "SetAppBase" }, 123 { 0xa058, "InsTime" }, 124 { 0xa059, "RmvTime" }, 125 { 0xa05a, "PrimeTime" }, 126 { 0xa05b, "PowerOff" }, 127 { 0xa05c, "MemoryDispatch" }, 128 { 0xa05d, "SwapMMUMode" }, 129 { 0xa05e, "NMInstall" }, 130 { 0xa05f, "NMRemove" }, 131 { 0xa060, "HFSDispatch" }, 132 { 0xa061, "MaxBlock" }, 133 { 0xa062, "PurgeSpace" }, 134 { 0xa063, "MaxApplZone" }, 135 { 0xa064, "MoveHHi" }, 136 { 0xa065, "StackSpace" }, 137 { 0xa066, "NewEmptyHandle" }, 138 { 0xa067, "HSetRBit" }, 139 { 0xa068, "HClrRBit" }, 140 { 0xa069, "HGetState" }, 141 { 0xa06a, "HSetState" }, 142 { 0xa06c, "InitFS" }, 143 { 0xa06d, "InitEvents" }, 144 { 0xa06e, "SlotManager" }, 145 { 0xa06f, "SlotVInstall" }, 146 { 0xa070, "SlotVRemove" }, 147 { 0xa071, "AttachVBL" }, 148 { 0xa072, "DoVBLTask" }, 149 { 0xa075, "SIntInstall" }, 150 { 0xa076, "SIntRemove" }, 151 { 0xa077, "CountADBs" }, 152 { 0xa078, "GetIndADB" }, 153 { 0xa079, "GetADBInfo" }, 154 { 0xa07a, "SetADBInfo" }, 155 { 0xa07b, "ADBReInit" }, 156 { 0xa07c, "ADBOp" }, 157 { 0xa07d, "GetDefaultStartup" }, 158 { 0xa07e, "SetDefaultStartup" }, 159 { 0xa07f, "InternalWait" }, 160 { 0xa080, "GetVideoDefault" }, 161 { 0xa081, "SetVideoDefault" }, 162 { 0xa082, "DTInstall" }, 163 { 0xa083, "SetOSDefault" }, 164 { 0xa084, "GetOSDefault" }, 165 { 0xa085, "PMgrOp" }, 166 { 0xa086, "IOPInfoAccess" }, 167 { 0xa087, "IOPMsgRequest" }, 168 { 0xa088, "IOPMoveData", }, 169 { 0xa08a, "Sleep" }, 170 { 0xa08b, "CommToolboxDispatch" }, 171 { 0xa08d, "DebugUtil" }, 172 { 0xa08f, "DeferUserFn" }, 173 { 0xa090, "SysEnvirons" }, 174 { 0xa091, "Translate24to32" }, 175 { 0xa092, "EgretDispatch" }, 176 { 0xa098, "HWPriv" }, 177 { 0x0000, NULL } 178}; 179 180static 181trap_list_t trap_list_2[] = { 182 { 0xa800, "SoundDispatch" }, 183 { 0xa801, "SndDisposeChannel" }, 184 { 0xa802, "SndAddModifier" }, 185 { 0xa803, "SndDoCommand" }, 186 { 0xa804, "SndDoImmediate" }, 187 { 0xa805, "SndPlay" }, 188 { 0xa806, "SndControl" }, 189 { 0xa807, "SndNewChannel" }, 190 { 0xa808, "InitProcMenu" }, 191 { 0xa809, "GetCVariant" }, 192 { 0xa80a, "GetWVariant" }, 193 { 0xa80b, "PopUpMenuSelect" }, 194 { 0xa80c, "RGetResource" }, 195 { 0xa80d, "Count1Resources" }, 196 { 0xa80e, "Get1IxResource" }, 197 { 0xa80f, "Get1IxType" }, 198 { 0xa810, "Unique1ID" }, 199 { 0xa811, "TESelView" }, 200 { 0xa812, "TEPinScroll" }, 201 { 0xa813, "TEAutoView" }, 202 { 0xa814, "SetFractEnable" }, 203 { 0xa815, "SCSIDispatch" }, 204 { 0xa816, "Pack8" }, 205 { 0xa817, "CopyMask" }, 206 { 0xa818, "FixAtan2" }, 207 { 0xa819, "XMunger" }, 208 { 0xa81a, "HOpenResFile" }, 209 { 0xa81b, "HCreateResFile" }, 210 { 0xa81c, "Count1Types" }, 211 { 0xa81d, "InvalMenuBar" }, 212 { 0xa81f, "Get1Resource" }, 213 { 0xa820, "Get1NamedResource" }, 214 { 0xa821, "MaxSizeRsrc" }, 215 { 0xa822, "ResourceDispatch" }, 216 { 0xa823, "AliasDispatch" }, 217 { 0xa826, "InsMenuItem" }, 218 { 0xa827, "HideDItem" }, 219 { 0xa828, "ShowDItem" }, 220 { 0xa829, "LayerDispatch" }, 221 { 0xa82a, "ComponentDispatch" }, 222 { 0xa82b, "Pack9" }, 223 { 0xa82c, "Pack10" }, 224 { 0xa82d, "Pack11" }, 225 { 0xa82e, "Pack12" }, 226 { 0xa82f, "Pack13" }, 227 { 0xa830, "Pack14" }, 228 { 0xa831, "Pack15" }, 229 { 0xa833, "ScrnBitMap" }, 230 { 0xa834, "SetFScaleDisable" }, 231 { 0xa835, "FontMetrics" }, 232 { 0xa836, "GetMaskTable" }, 233 { 0xa837, "MeasureText" }, 234 { 0xa838, "CalcMask" }, 235 { 0xa839, "SeedFill" }, 236 { 0xa83a, "ZoomWindow" }, 237 { 0xa83b, "TrackBox" }, 238 { 0xa83c, "TEGetOffset" }, 239 { 0xa83d, "TEDispatch" }, 240 { 0xa83e, "TEStyleNew" }, 241 { 0xa83f, "Long2Fix" }, 242 { 0xa840, "Fix2Long" }, 243 { 0xa841, "Fix2Frac" }, 244 { 0xa842, "Frac2Fix" }, 245 { 0xa843, "Fix2X" }, 246 { 0xa844, "X2Fix" }, 247 { 0xa845, "Frac2X" }, 248 { 0xa846, "X2Frac" }, 249 { 0xa847, "FracCos" }, 250 { 0xa848, "FracSin" }, 251 { 0xa849, "FracSqrt" }, 252 { 0xa84a, "FracMul" }, 253 { 0xa84b, "FracDiv" }, 254 { 0xa84c, "UserDelay" }, 255 { 0xa84d, "FixDiv" }, 256 { 0xa84e, "GetItemCmd" }, 257 { 0xa84f, "SetItemCmd" }, 258 { 0xa850, "InitCursor" }, 259 { 0xa851, "SetCursor" }, 260 { 0xa852, "HideCursor" }, 261 { 0xa853, "ShowCursor" }, 262 { 0xa854, "FontDispatch" }, 263 { 0xa855, "ShieldCursor" }, 264 { 0xa856, "ObscureCursor" }, 265 { 0xa858, "BitAnd" }, 266 { 0xa859, "BitXor" }, 267 { 0xa85a, "BitNot" }, 268 { 0xa85b, "BitOr" }, 269 { 0xa85c, "BitShift" }, 270 { 0xa85d, "BitTst" }, 271 { 0xa85e, "BitSet" }, 272 { 0xa85f, "BitClr" }, 273 { 0xa860, "WaitNextEvent" }, 274 { 0xa861, "Random" }, 275 { 0xa862, "ForeColor" }, 276 { 0xa863, "BackColor" }, 277 { 0xa864, "ColorBit" }, 278 { 0xa865, "GetPixel" }, 279 { 0xa866, "StuffHex" }, 280 { 0xa867, "LongMul" }, 281 { 0xa868, "FixMul" }, 282 { 0xa869, "FixRatio" }, 283 { 0xa86a, "HiWord" }, 284 { 0xa86b, "LoWord" }, 285 { 0xa86c, "FixRound" }, 286 { 0xa86d, "InitPort" }, 287 { 0xa86e, "InitGraf" }, 288 { 0xa86f, "OpenPort" }, 289 { 0xa870, "LocalToGlobal" }, 290 { 0xa871, "GlobalToLocal" }, 291 { 0xa872, "GrafDevice" }, 292 { 0xa873, "SetPort" }, 293 { 0xa874, "GetPort" }, 294 { 0xa875, "SetPBits" }, 295 { 0xa876, "PortSize" }, 296 { 0xa877, "MovePortTo" }, 297 { 0xa878, "SetOrigin" }, 298 { 0xa879, "SetClip" }, 299 { 0xa87a, "GetClip" }, 300 { 0xa87b, "ClipRect" }, 301 { 0xa87c, "BackPat" }, 302 { 0xa87d, "ClosePort" }, 303 { 0xa87d, "CloseCPort" }, 304 { 0xa87e, "AddPt" }, 305 { 0xa87f, "SubPt" }, 306 { 0xa880, "SetPt" }, 307 { 0xa881, "EqualPt" }, 308 { 0xa882, "StdText" }, 309 { 0xa883, "DrawChar" }, 310 { 0xa884, "DrawString" }, 311 { 0xa885, "DrawText" }, 312 { 0xa886, "TextWidth" }, 313 { 0xa887, "TextFont" }, 314 { 0xa888, "TextFace" }, 315 { 0xa889, "TextMode" }, 316 { 0xa88a, "TextSize" }, 317 { 0xa88b, "GetFontInfo" }, 318 { 0xa88c, "StringWidth" }, 319 { 0xa88d, "CharWidth" }, 320 { 0xa88e, "SpaceExtra" }, 321 { 0xa88f, "OSDispatch" }, 322 { 0xa890, "StdLine" }, 323 { 0xa891, "LineTo" }, 324 { 0xa892, "Line" }, 325 { 0xa893, "MoveTo" }, 326 { 0xa894, "Move" }, 327 { 0xa895, "Shutdown" }, 328 { 0xa896, "HidePen" }, 329 { 0xa897, "ShowPen" }, 330 { 0xa898, "GetPenState" }, 331 { 0xa899, "SetPenState" }, 332 { 0xa89a, "GetPen" }, 333 { 0xa89b, "PenSize" }, 334 { 0xa89c, "PenMode" }, 335 { 0xa89d, "PenPat" }, 336 { 0xa89e, "PenNormal" }, 337 { 0xa89f, "Unimplemented" }, 338 { 0xa8a0, "StdRect" }, 339 { 0xa8a1, "FrameRect" }, 340 { 0xa8a2, "PaintRect" }, 341 { 0xa8a3, "EraseRect" }, 342 { 0xa8a4, "InverRect" }, 343 { 0xa8a5, "FillRect" }, 344 { 0xa8a6, "EqualRect" }, 345 { 0xa8a7, "SetRect" }, 346 { 0xa8a8, "OffsetRect" }, 347 { 0xa8a9, "InsetRect" }, 348 { 0xa8aa, "SectRect" }, 349 { 0xa8ab, "UnionRect" }, 350 { 0xa8ac, "Pt2Rect" }, 351 { 0xa8ad, "PtInRect" }, 352 { 0xa8ae, "EmptyRect" }, 353 { 0xa8af, "StdRRect" }, 354 { 0xa8b0, "FrameRoundRect" }, 355 { 0xa8b1, "PaintRoundRect" }, 356 { 0xa8b2, "EraseRoundRect" }, 357 { 0xa8b3, "InverRoundRect" }, 358 { 0xa8b4, "FillRoundRect" }, 359 { 0xa8b5, "ScriptUtil" }, 360 { 0xa8b6, "StdOval" }, 361 { 0xa8b7, "FrameOval" }, 362 { 0xa8b8, "PaintOval" }, 363 { 0xa8b9, "EraseOval" }, 364 { 0xa8ba, "InvertOval" }, 365 { 0xa8bb, "FillOval" }, 366 { 0xa8bc, "SlopeFromAngle" }, 367 { 0xa8bd, "StdArc" }, 368 { 0xa8be, "FrameArc" }, 369 { 0xa8bf, "PaintArc" }, 370 { 0xa8c0, "EraseArc" }, 371 { 0xa8c1, "InvertArc" }, 372 { 0xa8c2, "FillArc" }, 373 { 0xa8c3, "PtToAngle" }, 374 { 0xa8c4, "AngleFromSlope" }, 375 { 0xa8c5, "StdPoly" }, 376 { 0xa8c6, "FramePoly" }, 377 { 0xa8c7, "PaintPoly" }, 378 { 0xa8c8, "ErasePoly" }, 379 { 0xa8c9, "InvertPoly" }, 380 { 0xa8ca, "FillPoly" }, 381 { 0xa8cb, "OpenPoly" }, 382 { 0xa8cc, "ClosePgon" }, 383 { 0xa8cd, "KillPoly" }, 384 { 0xa8ce, "OffsetPoly" }, 385 { 0xa8cf, "PackBits" }, 386 { 0xa8d0, "UnpackBits" }, 387 { 0xa8d1, "StdRgn" }, 388 { 0xa8d2, "FrameRgn" }, 389 { 0xa8d3, "PaintRgn" }, 390 { 0xa8d4, "EraseRgn" }, 391 { 0xa8d5, "InverRgn" }, 392 { 0xa8d6, "FillRgn" }, 393 { 0xa8d7, "BitMapToRegion" }, 394 { 0xa8d8, "NewRgn" }, 395 { 0xa8d9, "DisposRgn" }, 396 { 0xa8da, "OpenRgn" }, 397 { 0xa8db, "CloseRgn" }, 398 { 0xa8dc, "CopyRgn" }, 399 { 0xa8dd, "SetEmptyRgn" }, 400 { 0xa8de, "SetRecRgn" }, 401 { 0xa8df, "RectRgn" }, 402 { 0xa8e0, "OfsetRgn" }, 403 { 0xa8e1, "InsetRgn" }, 404 { 0xa8e2, "EmptyRgn" }, 405 { 0xa8e3, "EqualRgn" }, 406 { 0xa8e4, "SectRgn" }, 407 { 0xa8e5, "UnionRgn" }, 408 { 0xa8e6, "DiffRgn" }, 409 { 0xa8e7, "XorRgn" }, 410 { 0xa8e8, "PtInRgn" }, 411 { 0xa8e9, "RectInRgn" }, 412 { 0xa8ea, "SetStdProcs" }, 413 { 0xa8eb, "StdBits" }, 414 { 0xa8ec, "CopyBits" }, 415 { 0xa8ed, "StdTxMeas" }, 416 { 0xa8ee, "StdGetPic" }, 417 { 0xa8ef, "ScrollRect" }, 418 { 0xa8f0, "StdPutPic" }, 419 { 0xa8f1, "StdComment" }, 420 { 0xa8f2, "PicComment" }, 421 { 0xa8f3, "OpenPicture" }, 422 { 0xa8f4, "ClosePicture" }, 423 { 0xa8f5, "KillPicture" }, 424 { 0xa8f6, "DrawPicture" }, 425 { 0xa8f7, "Layout" }, 426 { 0xa8f8, "ScalePt" }, 427 { 0xa8f9, "MapPt" }, 428 { 0xa8fa, "MapRect" }, 429 { 0xa8fb, "MapRgn" }, 430 { 0xa8fc, "MapPoly" }, 431 { 0xa8fd, "PrGlue" }, 432 { 0xa8fe, "InitFonts" }, 433 { 0xa8ff, "GetFName" }, 434 { 0xa900, "GetFNum" }, 435 { 0xa901, "FMSwapFont" }, 436 { 0xa902, "RealFont" }, 437 { 0xa903, "SetFontLock" }, 438 { 0xa904, "DrawGrowIcon" }, 439 { 0xa905, "DragGrayRgn" }, 440 { 0xa906, "NewString" }, 441 { 0xa907, "SetString" }, 442 { 0xa908, "ShowHide" }, 443 { 0xa909, "CalcVis" }, 444 { 0xa90a, "CalcVBehind" }, 445 { 0xa90b, "ClipAbove" }, 446 { 0xa90c, "PaintOne" }, 447 { 0xa90d, "PaintBehind" }, 448 { 0xa90e, "SaveOld" }, 449 { 0xa90f, "DrawNew" }, 450 { 0xa910, "GetWMgrPort" }, 451 { 0xa911, "CheckUpdate" }, 452 { 0xa912, "InitWindows" }, 453 { 0xa913, "NewWindow" }, 454 { 0xa914, "DisposWindow" }, 455 { 0xa915, "ShowWindow" }, 456 { 0xa916, "HideWindow" }, 457 { 0xa917, "GetWRefCon" }, 458 { 0xa918, "SetWRefCon" }, 459 { 0xa919, "GetWTitle" }, 460 { 0xa91a, "SetWTitle" }, 461 { 0xa91b, "MoveWindow" }, 462 { 0xa91c, "HiliteWindow" }, 463 { 0xa91d, "SizeWindow" }, 464 { 0xa91e, "TrackGoAway" }, 465 { 0xa91f, "SelectWindow" }, 466 { 0xa920, "BringToFront" }, 467 { 0xa921, "SendBehind" }, 468 { 0xa922, "BeginUpdate" }, 469 { 0xa923, "EndUpdate" }, 470 { 0xa924, "FrontWindow" }, 471 { 0xa925, "DragWindow" }, 472 { 0xa926, "DragTheRgn" }, 473 { 0xa927, "InvalRgn" }, 474 { 0xa928, "InvalRect" }, 475 { 0xa929, "ValidRgn" }, 476 { 0xa92a, "ValidRect" }, 477 { 0xa92b, "GrowWindow" }, 478 { 0xa92c, "FindWindow" }, 479 { 0xa92d, "CloseWindow" }, 480 { 0xa92e, "SetWindowPic" }, 481 { 0xa92f, "GetWindowPic" }, 482 { 0xa930, "InitMenus" }, 483 { 0xa931, "NewMenu" }, 484 { 0xa932, "DisposMenu" }, 485 { 0xa933, "AppendMenu" }, 486 { 0xa934, "ClearMenuBar" }, 487 { 0xa935, "InsertMenu" }, 488 { 0xa936, "DeleteMenu" }, 489 { 0xa937, "DrawMenuBar" }, 490 { 0xa938, "HiliteMenu" }, 491 { 0xa939, "EnableItem" }, 492 { 0xa93a, "DisableItem" }, 493 { 0xa93b, "GetMenuBar" }, 494 { 0xa93c, "SetMenuBar" }, 495 { 0xa93d, "MenuSelect" }, 496 { 0xa93e, "MenuKey" }, 497 { 0xa93f, "GetItmIcon" }, 498 { 0xa940, "SetItmIcon" }, 499 { 0xa941, "GetItmStyle" }, 500 { 0xa942, "SetItmStyle" }, 501 { 0xa943, "GetItmMark" }, 502 { 0xa944, "SetItmMark" }, 503 { 0xa945, "CheckItem" }, 504 { 0xa946, "GetItem" }, 505 { 0xa947, "SetItem" }, 506 { 0xa948, "CalcMenuSize" }, 507 { 0xa949, "GetMHandle" }, 508 { 0xa94a, "SetMFlash" }, 509 { 0xa94b, "PlotIcon" }, 510 { 0xa94c, "FlashMenuBar" }, 511 { 0xa94d, "AddResMenu" }, 512 { 0xa94e, "PinRect" }, 513 { 0xa94f, "DeltaPoint" }, 514 { 0xa950, "CountMItems" }, 515 { 0xa951, "InsertResMenu" }, 516 { 0xa952, "DelMenuItem" }, 517 { 0xa953, "UpdtControl" }, 518 { 0xa954, "NewControl" }, 519 { 0xa955, "DisposControl" }, 520 { 0xa956, "KillControls" }, 521 { 0xa957, "ShowControl" }, 522 { 0xa958, "HideControl" }, 523 { 0xa959, "MoveControl" }, 524 { 0xa95a, "GetCRefCon" }, 525 { 0xa95b, "SetCRefCon" }, 526 { 0xa95c, "SizeControl" }, 527 { 0xa95d, "HiliteControl" }, 528 { 0xa95e, "GetCTitle" }, 529 { 0xa95f, "SetCTitle" }, 530 { 0xa960, "GetCtlValue" }, 531 { 0xa961, "GetMinCtl" }, 532 { 0xa962, "GetMaxCtl" }, 533 { 0xa963, "SetCtlValue" }, 534 { 0xa964, "SetMinCtl" }, 535 { 0xa965, "SetMaxCtl" }, 536 { 0xa966, "TestControl" }, 537 { 0xa967, "DragControl" }, 538 { 0xa968, "TrackControl" }, 539 { 0xa969, "DrawControls" }, 540 { 0xa96a, "GetCtlAction" }, 541 { 0xa96b, "SetCtlAction" }, 542 { 0xa96c, "FindControl" }, 543 { 0xa96d, "Draw1Control" }, 544 { 0xa96e, "Dequeue" }, 545 { 0xa96f, "Enqueue" }, 546 { 0xa970, "GetNextEvent" }, 547 { 0xa971, "EventAvail" }, 548 { 0xa972, "GetMouse" }, 549 { 0xa973, "StillDown" }, 550 { 0xa974, "Button" }, 551 { 0xa975, "TickCount" }, 552 { 0xa976, "GetKeys" }, 553 { 0xa977, "WaitMouseUp" }, 554 { 0xa978, "UpdtDialog" }, 555 { 0xa979, "CouldDialog" }, 556 { 0xa97a, "FreeDialog" }, 557 { 0xa97b, "InitDialogs" }, 558 { 0xa97c, "GetNewDialog" }, 559 { 0xa97d, "NewDialog" }, 560 { 0xa97e, "SelIText" }, 561 { 0xa97f, "IsDialogEvent" }, 562 { 0xa980, "DialogSelect" }, 563 { 0xa981, "DrawDialog" }, 564 { 0xa982, "CloseDialog" }, 565 { 0xa983, "DisposDialog" }, 566 { 0xa984, "FindDItem" }, 567 { 0xa985, "Alert" }, 568 { 0xa986, "StopAlert" }, 569 { 0xa987, "NoteAlert" }, 570 { 0xa988, "CautionAlert" }, 571 { 0xa989, "CouldAlert" }, 572 { 0xa98a, "FreeAlert" }, 573 { 0xa98b, "ParamText" }, 574 { 0xa98c, "ErrorSound" }, 575 { 0xa98d, "GetDItem" }, 576 { 0xa98e, "SetDItem" }, 577 { 0xa98f, "SetIText" }, 578 { 0xa990, "GetIText" }, 579 { 0xa991, "ModalDialog" }, 580 { 0xa992, "DetachResource" }, 581 { 0xa993, "SetResPurge" }, 582 { 0xa994, "CurResFile" }, 583 { 0xa995, "InitResources" }, 584 { 0xa996, "RsrcZoneInit" }, 585 { 0xa997, "OpenResFile" }, 586 { 0xa998, "UseResFile" }, 587 { 0xa999, "UpdateResFile" }, 588 { 0xa99a, "CloseResFile" }, 589 { 0xa99b, "SetResLoad" }, 590 { 0xa99c, "CountResources" }, 591 { 0xa99d, "GetIndResource" }, 592 { 0xa99e, "CountTypes" }, 593 { 0xa99f, "GetIndType" }, 594 { 0xa9a0, "GetResource" }, 595 { 0xa9a1, "GetNamedResource" }, 596 { 0xa9a2, "LoadResource" }, 597 { 0xa9a3, "ReleaseResource" }, 598 { 0xa9a4, "HomeResFile" }, 599 { 0xa9a5, "SizeRsrc" }, 600 { 0xa9a6, "GetResAttrs" }, 601 { 0xa9a7, "SetResAttrs" }, 602 { 0xa9a8, "GetResInfo" }, 603 { 0xa9a9, "SetResInfo" }, 604 { 0xa9aa, "ChangedResource" }, 605 { 0xa9ab, "AddResource" }, 606 { 0xa9ac, "AddReference" }, 607 { 0xa9ad, "RmveResource" }, 608 { 0xa9ae, "RmveReference" }, 609 { 0xa9af, "ResError" }, 610 { 0xa9b0, "WriteResource" }, 611 { 0xa9b1, "CreateResFile" }, 612 { 0xa9b2, "SystemEvent" }, 613 { 0xa9b3, "SystemClick" }, 614 { 0xa9b4, "SystemTask" }, 615 { 0xa9b5, "SystemMenu" }, 616 { 0xa9b6, "OpenDeskAcc" }, 617 { 0xa9b7, "CloseDeskAcc" }, 618 { 0xa9b8, "GetPattern" }, 619 { 0xa9b9, "GetCursor" }, 620 { 0xa9ba, "GetString" }, 621 { 0xa9bb, "GetIcon" }, 622 { 0xa9bc, "GetPicture" }, 623 { 0xa9bd, "GetNewWindow" }, 624 { 0xa9be, "GetNewControl" }, 625 { 0xa9bf, "GetRMenu" }, 626 { 0xa9c0, "GetNewMBar" }, 627 { 0xa9c1, "UniqueID" }, 628 { 0xa9c2, "SysEdit" }, 629 { 0xa9c3, "KeyTrans" }, 630 { 0xa9c4, "OpenRFPerm" }, 631 { 0xa9c5, "RsrcMapEntry" }, 632 { 0xa9c6, "Secs2Date" }, 633 { 0xa9c7, "Date2Sec" }, 634 { 0xa9c8, "SysBeep" }, 635 { 0xa9c9, "SysError" }, 636 { 0xa9ca, "PutIcon" }, 637 { 0xa9cb, "TEGetText" }, 638 { 0xa9cc, "TEInit" }, 639 { 0xa9cd, "TEDispose" }, 640 { 0xa9ce, "TextBox" }, 641 { 0xa9cf, "TESetText" }, 642 { 0xa9d0, "TECalText" }, 643 { 0xa9d1, "TESetSelect" }, 644 { 0xa9d2, "TENew" }, 645 { 0xa9d3, "TEUpdate" }, 646 { 0xa9d4, "TEClick" }, 647 { 0xa9d5, "TECopy" }, 648 { 0xa9d6, "TECut" }, 649 { 0xa9d7, "TEDelete" }, 650 { 0xa9d8, "TEActivate" }, 651 { 0xa9d9, "TEDeactivate" }, 652 { 0xa9da, "TEIdle" }, 653 { 0xa9db, "TEPaste" }, 654 { 0xa9dc, "TEKey" }, 655 { 0xa9dd, "TEScroll" }, 656 { 0xa9de, "TEInsert" }, 657 { 0xa9df, "TESetJust" }, 658 { 0xa9e0, "Munger" }, 659 { 0xa9e1, "HandToHand" }, 660 { 0xa9e2, "PtrToXHand" }, 661 { 0xa9e3, "PtrToHand" }, 662 { 0xa9e4, "HandAndHand" }, 663 { 0xa9e5, "InitPack" }, 664 { 0xa9e6, "InitAllPacks" }, 665 { 0xa9e7, "Pack0" }, 666 { 0xa9e8, "Pack1" }, 667 { 0xa9e9, "Pack2" }, 668 { 0xa9ea, "Pack3" }, 669 { 0xa9eb, "FP68K" }, 670 { 0xa9eb, "Pack4" }, 671 { 0xa9ec, "Elems68K" }, 672 { 0xa9ec, "Pack5" }, 673 { 0xa9ed, "Pack6" }, 674 { 0xa9ee, "Pack7" }, 675 { 0xa9ef, "PtrAndHand" }, 676 { 0xa9f0, "LoadSeg" }, 677 { 0xa9f1, "UnloadSeg" }, 678 { 0xa9f2, "Launch" }, 679 { 0xa9f3, "Chain" }, 680 { 0xa9f4, "ExitToShell" }, 681 { 0xa9f5, "GetAppParms" }, 682 { 0xa9f6, "GetResFileAttrs" }, 683 { 0xa9f7, "SetResFileAttrs" }, 684 { 0xa9f8, "MethodDispatch" }, 685 { 0xa9f9, "InfoScrap" }, 686 { 0xa9fa, "UnlodeScrap" }, 687 { 0xa9fb, "LodeScrap" }, 688 { 0xa9fc, "ZeroScrap" }, 689 { 0xa9fd, "GetScrap" }, 690 { 0xa9fe, "PutScrap" }, 691 { 0xa9ff, "Debugger" }, 692 { 0xaa00, "OpenCport" }, 693 { 0xaa01, "InitCport" }, 694 { 0xaa03, "NewPixMap" }, 695 { 0xaa04, "DisposPixMap" }, 696 { 0xaa05, "CopyPixMap" }, 697 { 0xaa06, "SetCPortPix" }, 698 { 0xaa07, "NewPixPat" }, 699 { 0xaa08, "DisposPixPat" }, 700 { 0xaa09, "CopyPixPat" }, 701 { 0xaa0a, "PenPixPat" }, 702 { 0xaa0b, "BackPixPat" }, 703 { 0xaa0c, "GetPixPat" }, 704 { 0xaa0d, "MakeRGBPat" }, 705 { 0xaa0e, "FillCRect" }, 706 { 0xaa0f, "FillCOval" }, 707 { 0xaa10, "FillCRoundRect" }, 708 { 0xaa11, "FillCArc" }, 709 { 0xaa12, "FillCRgn" }, 710 { 0xaa13, "FillCPoly" }, 711 { 0xaa14, "RGBForeColor" }, 712 { 0xaa15, "RGBBackColor" }, 713 { 0xaa16, "SetCPixel" }, 714 { 0xaa17, "GetCPixel" }, 715 { 0xaa18, "GetCTable" }, 716 { 0xaa19, "GetForeColor" }, 717 { 0xaa1a, "GetBackColor" }, 718 { 0xaa1b, "GetCCursor" }, 719 { 0xaa1c, "SetCCursor" }, 720 { 0xaa1d, "AllocCursor" }, 721 { 0xaa1e, "GetCIcon" }, 722 { 0xaa1f, "PlotCIcon" }, 723 { 0xaa21, "OpColor" }, 724 { 0xaa22, "HiliteColor" }, 725 { 0xaa23, "CharExtra" }, 726 { 0xaa24, "DisposCTable" }, 727 { 0xaa25, "DisposCIcon" }, 728 { 0xaa26, "DisposCCursor" }, 729 { 0xaa27, "GetMaxDevice" }, 730 { 0xaa28, "GetCTSeed" }, 731 { 0xaa29, "GetDeviceList" }, 732 { 0xaa2a, "GetMainDevice" }, 733 { 0xaa2b, "GetNextDevice" }, 734 { 0xaa2c, "TestDeviceAttribute" }, 735 { 0xaa2d, "SetDeviceAttribute" }, 736 { 0xaa2e, "InitGDevice" }, 737 { 0xaa2f, "NewGDevice" }, 738 { 0xaa30, "DisposGDevice" }, 739 { 0xaa31, "SetGDevice" }, 740 { 0xaa32, "GetGDevice" }, 741 { 0xaa33, "Color2Index" }, 742 { 0xaa34, "Index2Color" }, 743 { 0xaa35, "InvertColor" }, 744 { 0xaa36, "RealColor" }, 745 { 0xaa37, "GetSubTable" }, 746 { 0xaa38, "UpdatePixMap" }, 747 { 0xaa39, "MakeITable" }, 748 { 0xaa3a, "AddSearch" }, 749 { 0xaa3b, "AddComp" }, 750 { 0xaa3c, "SetClientID" }, 751 { 0xaa3d, "ProtectEntry" }, 752 { 0xaa3e, "ReserveEntry" }, 753 { 0xaa3f, "SetEntries" }, 754 { 0xaa40, "QDError" }, 755 { 0xaa41, "SetWinColor" }, 756 { 0xaa42, "GetAuxWin" }, 757 { 0xaa43, "SetCtlColor" }, 758 { 0xaa44, "GetAuxCtl" }, 759 { 0xaa45, "NewCWindow" }, 760 { 0xaa46, "GetNewCWindow" }, 761 { 0xaa47, "SetDeskCPat" }, 762 { 0xaa48, "GetCWMgrPort" }, 763 { 0xaa49, "SaveEntries" }, 764 { 0xaa4a, "RestoreEntries" }, 765 { 0xaa4b, "NewCDialog" }, 766 { 0xaa4c, "DelSearch" }, 767 { 0xaa4d, "DelComp" }, 768 { 0xaa4e, "SetStdCProcs" }, 769 { 0xaa4f, "CalcCMask" }, 770 { 0xaa50, "SeedCFill" }, 771 { 0xaa51, "CopyDeepMask" }, 772 { 0xaa52, "HighLevelFSDispatch" }, 773 { 0xaa60, "DelMCEntries" }, 774 { 0xaa61, "GetMCInfo" }, 775 { 0xaa62, "SetMCInfo" }, 776 { 0xaa63, "DispMCEntries" }, 777 { 0xaa64, "GetMCEntry" }, 778 { 0xaa65, "SetMCEntries" }, 779 { 0xaa66, "MenuChoice" }, 780 { 0xaa67, "ModalDialogMenuSetup" }, 781 { 0xaa68, "DialogDispatch" }, 782 { 0x0000, NULL } 783}; 784 785 786const char *mac_get_trap_name (unsigned trap) 787{ 788 unsigned i; 789 unsigned base, mask; 790 trap_list_t *list; 791 792 if ((trap & 0xf000) != 0xa000) { 793 return (NULL); 794 } 795 796 if (trap & 0x0800) { 797 mask = 0xf800 | 0x03ff; 798 list = trap_list_2; 799 } 800 else { 801 mask = 0xf800 | 0x00ff; 802 list = trap_list_1; 803 } 804 805 base = trap & mask; 806 807 i = 0; 808 while (list[i].name != NULL) { 809 if ((list[i].trap & mask) == base) { 810 return (list[i].name); 811 } 812 813 i += 1; 814 } 815 816 return (NULL); 817}