/*
    ####             #    #     # #
    #   #            #    #       #          The FreeWare C library for
    #   #  ##   ###  #  # #     # ###             RISC OS machines
    #   # #  # #     # #  #     # #  #   ___________________________________
    #   # ####  ###  ##   #     # #  #
    #   # #        # # #  #     # #  #    Please refer to the accompanying
    ####   ### ####  #  # ##### # ###    documentation for conditions of use
    ________________________________________________________________________

    File:    SWI.h
    Author:  Copyright  1992 Jason Williams
    Version: 1.02 (30 May 1994)
    Purpose: Generic SWI call veneer function
*/


#ifndef __dl_swi_h
#define __dl_swi_h

#ifdef __cplusplus
extern "C" {
#endif

#ifndef __dl_core_h
#include "Core.h"
#endif

os_error *SWI(int numregsin, int numregsout, int swicode, ... );
/*
 *  This function provides a general-purpose SWI call veneer.
 *  It is not meant to be the most efficient SWI caller, but the most
 *  general one. If you require faster SWI handling than this function
 *  provides, then you will need to construct an assembler veneer for the SWI
 *  (see WimpSWIs library source for examples)
 *
 *  Call it specifying the number of arguments you are passing in,
 *                     the number of arguments you want passed back,
 *                     the SWI number to call (X or normal),
 *                     and a list of parameters...
 * Parameters:
 *   The SWI list in should be a list of integers, exactly the number
 *   specified as "numregsin". These will be passed to the SWI as registers
 *   0, 1, 2, ... A maximum of 6 such registers can be specified.
 *
 *   The SWI list out should be a list of pointers to result variables
 *   they will be assigned the register results from the SWI, in order.
 *   Pass in a NULL pointer for any of these if the result is to be ignored
 *
 * Examples:
 *   SWI(0, 0, SWI_Hourglass_On);
 *   SWI(1, 0, SWI_Hourglass_Percentage, 33);
 *   SWI(0, 0, SWI_Hourglass_Smash | XOS_Bit);   // To call XHourglass_Smash
 *
 *   { int ramsprites, romsprites;
 *     \* Read rom sprite and ram sprite pool base addresses: *\
 *     SWI(0, 2, SWI_Wimp_BaseOfSprites, &romsprites, &ramsprites)
 *
 *     \* Read ram sprite base ONLY *\
 *     SWI(0, 2, SWI_Wimp_BaseOfSprites, NULL, &ramsprites)
 *   }
 *
 *   -- See Hourglass.h for examples of how to make low-level SWI calls
 *      look nice in your calling code without the extra expense of another
 *      function call.
 */


#define SWI_XOS_Bit                                     0x020000
#define XOS_Bit                                         SWI_XOS_Bit

// Module "UtilityModule" (SWI &0)
#define SWI_OS_WriteC                                   0x0
#define SWI_OS_WriteS                                   0x1
#define SWI_OS_Write0                                   0x2
#define SWI_OS_NewLine                                  0x3
#define SWI_OS_ReadC                                    0x4
#define SWI_OS_CLI                                      0x5
#define SWI_OS_Byte                                     0x6
#define SWI_OS_Word                                     0x7
#define SWI_OS_File                                     0x8
#define SWI_OS_Args                                     0x9
#define SWI_OS_BGet                                     0xA
#define SWI_OS_BPut                                     0xB
#define SWI_OS_GBPB                                     0xC
#define SWI_OS_Find                                     0xD
#define SWI_OS_ReadLine                                 0xE
#define SWI_OS_Control                                  0xF
#define SWI_OS_GetEnv                                   0x10
#define SWI_OS_Exit                                     0x11
#define SWI_OS_SetEnv                                   0x12
#define SWI_OS_IntOn                                    0x13
#define SWI_OS_IntOff                                   0x14
#define SWI_OS_CallBack                                 0x15
#define SWI_OS_EnterOS                                  0x16
#define SWI_OS_BreakPt                                  0x17
#define SWI_OS_BreakCtrl                                0x18
#define SWI_OS_UnusedSWI                                0x19
#define SWI_OS_UpdateMEMC                               0x1A
#define SWI_OS_SetCallBack                              0x1B
#define SWI_OS_Mouse                                    0x1C
#define SWI_OS_Heap                                     0x1D
#define SWI_OS_Module                                   0x1E
#define SWI_OS_Claim                                    0x1F
#define SWI_OS_Release                                  0x20
#define SWI_OS_ReadUnsigned                             0x21
#define SWI_OS_GenerateEvent                            0x22
#define SWI_OS_ReadVarVal                               0x23
#define SWI_OS_SetVarVal                                0x24
#define SWI_OS_GSInit                                   0x25
#define SWI_OS_GSRead                                   0x26
#define SWI_OS_GSTrans                                  0x27
#define SWI_OS_BinaryToDecimal                          0x28
#define SWI_OS_FSControl                                0x29
#define SWI_OS_ChangeDynamicArea                        0x2A
#define SWI_OS_GenerateError                            0x2B
#define SWI_OS_ReadEscapeState                          0x2C
#define SWI_OS_EvaluateExpression                       0x2D
#define SWI_OS_SpriteOp                                 0x2E
#define SWI_OS_ReadPalette                              0x2F
#define SWI_OS_ServiceCall                              0x30
#define SWI_OS_ReadVduVariables                         0x31
#define SWI_OS_ReadPoint                                0x32
#define SWI_OS_UpCall                                   0x33
#define SWI_OS_CallAVector                              0x34
#define SWI_OS_ReadModeVariable                         0x35
#define SWI_OS_RemoveCursors                            0x36
#define SWI_OS_RestoreCursors                           0x37
#define SWI_OS_SWINumberToString                        0x38
#define SWI_OS_SWINumberFromString                      0x39
#define SWI_OS_ValidateAddress                          0x3A
#define SWI_OS_CallAfter                                0x3B
#define SWI_OS_CallEvery                                0x3C
#define SWI_OS_RemoveTickerEvent                        0x3D
#define SWI_OS_InstallKeyHandler                        0x3E
#define SWI_OS_CheckModeValid                           0x3F
#define SWI_OS_ChangeEnvironment                        0x40
#define SWI_OS_ClaimScreenMemory                        0x41
#define SWI_OS_ReadMonotonicTime                        0x42
#define SWI_OS_SubstituteArgs                           0x43
#define SWI_OS_PrettyPrint                              0x44
#define SWI_OS_Plot                                     0x45
#define SWI_OS_WriteN                                   0x46
#define SWI_OS_AddToVector                              0x47
#define SWI_OS_WriteEnv                                 0x48
#define SWI_OS_ReadArgs                                 0x49
#define SWI_OS_ReadRAMFsLimits                          0x4A
#define SWI_OS_ClaimDeviceVector                        0x4B
#define SWI_OS_ReleaseDeviceVector                      0x4C
#define SWI_OS_DelinkApplication                        0x4D
#define SWI_OS_RelinkApplication                        0x4E
#define SWI_OS_HeapSort                                 0x4F
#define SWI_OS_ExitAndDie                               0x50
#define SWI_OS_ReadMemMapInfo                           0x51
#define SWI_OS_ReadMemMapEntries                        0x52
#define SWI_OS_SetMemMapEntries                         0x53
#define SWI_OS_AddCallBack                              0x54
#define SWI_OS_ReadDefaultHandler                       0x55
#define SWI_OS_SetECFOrigin                             0x56
#define SWI_OS_SerialOp                                 0x57
#define SWI_OS_ReadSysInfo                              0x58
#define SWI_OS_Confirm                                  0x59
#define SWI_OS_ChangedBox                               0x5A
#define SWI_OS_CRC                                      0x5B
#define SWI_OS_ReadDynamicArea                          0x5C
#define SWI_OS_PrintChar                                0x5D
#define SWI_OS_ChangeRedirection                        0x5E
#define SWI_OS_RemoveCallBack                           0x5F
#define SWI_OS_FindMemMapEntries                        0x60
#define SWI_OS_SetColour                                0x61
#define SWI_OS_ClaimSWI                                 0x62
#define SWI_OS_ReleaseSWI                               0x63
#define SWI_OS_Pointer                                  0x64
#define SWI_OS_ScreenMode                               0x65
#define SWI_OS_DynamicArea                              0x66
#define SWI_OS_AbortTrap                                0x67
#define SWI_OS_Memory                                   0x68
#define SWI_OS_ClaimProcessorVector                     0x69
#define SWI_OS_Reset                                    0x6A
#define SWI_OS_MMUControl                               0x6B
#define SWI_OS_ResyncTime                               0x6C
#define SWI_OS_PlatformFeatures                         0x6D
#define SWI_OS_SynchroniseCodeAreas                     0x6E
#define SWI_OS_CallASWI                                 0x6F
#define SWI_OS_AMBControl                               0x70
#define SWI_OS_CallASWIR12                              0x71
#define SWI_OS_SpecialControl                           0x72
#define SWI_OS_EnterUSR32                               0x73
#define SWI_OS_EnterUSR26                               0x74
#define SWI_OS_VIDCDivider                              0x75
#define SWI_OS_NVMemory                                 0x76
#define SWI_OS_ClaimOSSWI                               0x77
#define SWI_OS_TaskControl                              0x78
#define SWI_OS_DeviceDriver                             0x79
#define SWI_OS_Hardware                                 0x7A
#define SWI_OS_IICOp                                    0x7B
#define SWI_OS_LeaveOS                                  0x7C
#define SWI_OS_ReadLine32                               0x7D
#define SWI_OS_SubstituteArgs32                         0x7E
#define SWI_OS_HeapSort32                               0x7F
#define SWI_OS_ConvertStandardDateAndTime               0xC0
#define SWI_OS_ConvertDateAndTime                       0xC1
#define SWI_OS_ConvertHex1                              0xD0
#define SWI_OS_ConvertHex2                              0xD1
#define SWI_OS_ConvertHex4                              0xD2
#define SWI_OS_ConvertHex6                              0xD3
#define SWI_OS_ConvertHex8                              0xD4
#define SWI_OS_ConvertCardinal1                         0xD5
#define SWI_OS_ConvertCardinal2                         0xD6
#define SWI_OS_ConvertCardinal3                         0xD7
#define SWI_OS_ConvertCardinal4                         0xD8
#define SWI_OS_ConvertInteger1                          0xD9
#define SWI_OS_ConvertInteger2                          0xDA
#define SWI_OS_ConvertInteger3                          0xDB
#define SWI_OS_ConvertInteger4                          0xDC
#define SWI_OS_ConvertBinary1                           0xDD
#define SWI_OS_ConvertBinary2                           0xDE
#define SWI_OS_ConvertBinary3                           0xDF
#define SWI_OS_ConvertBinary4                           0xE0
#define SWI_OS_ConvertSpacedCardinal1                   0xE1
#define SWI_OS_ConvertSpacedCardinal2                   0xE2
#define SWI_OS_ConvertSpacedCardinal3                   0xE3
#define SWI_OS_ConvertSpacedCardinal4                   0xE4
#define SWI_OS_ConvertSpacedInteger1                    0xE5
#define SWI_OS_ConvertSpacedInteger2                    0xE6
#define SWI_OS_ConvertSpacedInteger3                    0xE7
#define SWI_OS_ConvertSpacedInteger4                    0xE8
#define SWI_OS_ConvertFixedNetStation                   0xE9
#define SWI_OS_ConvertNetStation                        0xEA
#define SWI_OS_ConvertFixedFileSize                     0xEB
#define SWI_OS_ConvertFileSize                          0xEC
#define SWI_OS_ConvertVariform                          0xED
#define SWI_OS_WriteI                                   0x100

// Module "PCI" (SWI &50380)
#define SWI_PCI_ReadID                                  0x50380
#define SWI_PCI_ReadHeader                              0x50381
#define SWI_PCI_ReturnNumber                            0x50382
#define SWI_PCI_EnumerateFunctions                      0x50383
#define SWI_PCI_IORead                                  0x50384
#define SWI_PCI_IOWrite                                 0x50385
#define SWI_PCI_MemoryRead                              0x50386
#define SWI_PCI_MemoryWrite                             0x50387
#define SWI_PCI_ConfigurationRead                       0x50388
#define SWI_PCI_ConfigurationWrite                      0x50389
#define SWI_PCI_HardwareAddress                         0x5038A
#define SWI_PCI_ReadInfo                                0x5038B
#define SWI_PCI_SpecialCycle                            0x5038C
#define SWI_PCI_FindByLocation                          0x5038D
#define SWI_PCI_FindByID                                0x5038E
#define SWI_PCI_FindByClass                             0x5038F
#define SWI_PCI_RAMAlloc                                0x50390
#define SWI_PCI_RAMFree                                 0x50391
#define SWI_PCI_LogicalAddress                          0x50392

// Module "ResourceFS" (SWI &41B40)
#define SWI_ResourceFS_RegisterFiles                    0x41B40
#define SWI_ResourceFS_DeregisterFiles                  0x41B41

// Module "TerritoryManager" (SWI &43040)
#define SWI_Territory_Number                            0x43040
#define SWI_Territory_Register                          0x43041
#define SWI_Territory_Deregister                        0x43042
#define SWI_Territory_NumberToName                      0x43043
#define SWI_Territory_Exists                            0x43044
#define SWI_Territory_AlphabetNumberToName              0x43045
#define SWI_Territory_SelectAlphabet                    0x43046
#define SWI_Territory_SetTime                           0x43047
#define SWI_Territory_ReadCurrentTimeZone               0x43048
#define SWI_Territory_ConvertTimeToUTCOrdinals          0x43049
#define SWI_Territory_ReadTimeZones                     0x4304A
#define SWI_Territory_ConvertDateAndTime                0x4304B
#define SWI_Territory_ConvertStandardDateAndTime        0x4304C
#define SWI_Territory_ConvertStandardDate               0x4304D
#define SWI_Territory_ConvertStandardTime               0x4304E
#define SWI_Territory_ConvertTimeToOrdinals             0x4304F
#define SWI_Territory_ConvertTimeStringToOrdinals       0x43050
#define SWI_Territory_ConvertOrdinalsToTime             0x43051
#define SWI_Territory_Alphabet                          0x43052
#define SWI_Territory_AlphabetIdentifier                0x43053
#define SWI_Territory_SelectKeyboardHandler             0x43054
#define SWI_Territory_WriteDirection                    0x43055
#define SWI_Territory_CharacterPropertyTable            0x43056
#define SWI_Territory_LowerCaseTable                    0x43057
#define SWI_Territory_UpperCaseTable                    0x43058
#define SWI_Territory_ControlTable                      0x43059
#define SWI_Territory_PlainTable                        0x4305A
#define SWI_Territory_ValueTable                        0x4305B
#define SWI_Territory_RepresentationTable               0x4305C
#define SWI_Territory_Collate                           0x4305D
#define SWI_Territory_ReadSymbols                       0x4305E
#define SWI_Territory_ReadCalendarInformation           0x4305F
#define SWI_Territory_NameToNumber                      0x43060
#define SWI_Territory_TransformString                   0x43061
#define SWI_Territory_IME                               0x43062
#define SWI_Territory_DaylightRules                     0x43063
#define SWI_Territory_ConvertTextToString               0x43075
#define SWI_Territory_Select                            0x43076
#define SWI_Territory_DaylightSaving                    0x43077
#define SWI_Territory_ConvertTimeFormats                0x43078

// Module "MessageTrans" (SWI &41500)
#define SWI_MessageTrans_FileInfo                       0x41500
#define SWI_MessageTrans_OpenFile                       0x41501
#define SWI_MessageTrans_Lookup                         0x41502
#define SWI_MessageTrans_MakeMenus                      0x41503
#define SWI_MessageTrans_CloseFile                      0x41504
#define SWI_MessageTrans_EnumerateTokens                0x41505
#define SWI_MessageTrans_ErrorLookup                    0x41506
#define SWI_MessageTrans_GSLookup                       0x41507
#define SWI_MessageTrans_CopyError                      0x41508
#define SWI_MessageTrans_Dictionary                     0x41509

// Module "WindowManager" (SWI &400C0)
#define SWI_Wimp_Initialise                             0x400C0
#define SWI_Wimp_CreateWindow                           0x400C1
#define SWI_Wimp_CreateIcon                             0x400C2
#define SWI_Wimp_DeleteWindow                           0x400C3
#define SWI_Wimp_DeleteIcon                             0x400C4
#define SWI_Wimp_OpenWindow                             0x400C5
#define SWI_Wimp_CloseWindow                            0x400C6
#define SWI_Wimp_Poll                                   0x400C7
#define SWI_Wimp_RedrawWindow                           0x400C8
#define SWI_Wimp_UpdateWindow                           0x400C9
#define SWI_Wimp_GetRectangle                           0x400CA
#define SWI_Wimp_GetWindowState                         0x400CB
#define SWI_Wimp_GetWindowInfo                          0x400CC
#define SWI_Wimp_SetIconState                           0x400CD
#define SWI_Wimp_GetIconState                           0x400CE
#define SWI_Wimp_GetPointerInfo                         0x400CF
#define SWI_Wimp_DragBox                                0x400D0
#define SWI_Wimp_ForceRedraw                            0x400D1
#define SWI_Wimp_SetCaretPosition                       0x400D2
#define SWI_Wimp_GetCaretPosition                       0x400D3
#define SWI_Wimp_CreateMenu                             0x400D4
#define SWI_Wimp_DecodeMenu                             0x400D5
#define SWI_Wimp_WhichIcon                              0x400D6
#define SWI_Wimp_SetExtent                              0x400D7
#define SWI_Wimp_SetPointerShape                        0x400D8
#define SWI_Wimp_OpenTemplate                           0x400D9
#define SWI_Wimp_CloseTemplate                          0x400DA
#define SWI_Wimp_LoadTemplate                           0x400DB
#define SWI_Wimp_ProcessKey                             0x400DC
#define SWI_Wimp_CloseDown                              0x400DD
#define SWI_Wimp_StartTask                              0x400DE
#define SWI_Wimp_ReportError                            0x400DF
#define SWI_Wimp_GetWindowOutline                       0x400E0
#define SWI_Wimp_PollIdle                               0x400E1
#define SWI_Wimp_PlotIcon                               0x400E2
#define SWI_Wimp_SetMode                                0x400E3
#define SWI_Wimp_SetPalette                             0x400E4
#define SWI_Wimp_ReadPalette                            0x400E5
#define SWI_Wimp_SetColour                              0x400E6
#define SWI_Wimp_SendMessage                            0x400E7
#define SWI_Wimp_CreateSubMenu                          0x400E8
#define SWI_Wimp_SpriteOp                               0x400E9
#define SWI_Wimp_BaseOfSprites                          0x400EA
#define SWI_Wimp_BlockCopy                              0x400EB
#define SWI_Wimp_SlotSize                               0x400EC
#define SWI_Wimp_ReadPixTrans                           0x400ED
#define SWI_Wimp_ClaimFreeMemory                        0x400EE
#define SWI_Wimp_CommandWindow                          0x400EF
#define SWI_Wimp_TextColour                             0x400F0
#define SWI_Wimp_TransferBlock                          0x400F1
#define SWI_Wimp_ReadSysInfo                            0x400F2
#define SWI_Wimp_SetFontColours                         0x400F3
#define SWI_Wimp_GetMenuState                           0x400F4
#define SWI_Wimp_RegisterFilter                         0x400F5
#define SWI_Wimp_AddMessages                            0x400F6
#define SWI_Wimp_RemoveMessages                         0x400F7
#define SWI_Wimp_SetColourMapping                       0x400F8
#define SWI_Wimp_TextOp                                 0x400F9
#define SWI_Wimp_SetWatchdogState                       0x400FA
#define SWI_Wimp_Extend                                 0x400FB
#define SWI_Wimp_ResizeIcon                             0x400FC
#define SWI_Wimp_AutoScroll                             0x400FD

// Module "TaskManager" (SWI &42680)
#define SWI_TaskManager_TaskNameFromHandle              0x42680
#define SWI_TaskManager_EnumerateTasks                  0x42681
#define SWI_TaskManager_Shutdown                        0x42682
#define SWI_TaskManager_StartTask                       0x42683

// Module "SharedCLibrary" (SWI &80680)
#define SWI_SharedCLibrary_LibInitAPCS_A                0x80680
#define SWI_SharedCLibrary_LibInitAPCS_R                0x80681
#define SWI_SharedCLibrary_LibInitModule                0x80682
#define SWI_SharedCLibrary_LibInitAPCS_32               0x80683
#define SWI_SharedCLibrary_LibInitModuleAPCS_32         0x80684

// Module "BlendTable" (SWI &56280)
#define SWI_BlendTable_GenerateTable                    0x56280
#define SWI_BlendTable_UnlockTable                      0x56281

// Module "BufferManager" (SWI &42940)
#define SWI_Buffer_Create                               0x42940
#define SWI_Buffer_Remove                               0x42941
#define SWI_Buffer_Register                             0x42942
#define SWI_Buffer_Deregister                           0x42943
#define SWI_Buffer_ModifyFlags                          0x42944
#define SWI_Buffer_LinkDevice                           0x42945
#define SWI_Buffer_UnlinkDevice                         0x42946
#define SWI_Buffer_GetInfo                              0x42947
#define SWI_Buffer_Threshold                            0x42948
#define SWI_Buffer_InternalInfo                         0x42949

// Module "ColourTrans" (SWI &40740)
#define SWI_ColourTrans_SelectTable                     0x40740
#define SWI_ColourTrans_SelectGCOLTable                 0x40741
#define SWI_ColourTrans_ReturnGCOL                      0x40742
#define SWI_ColourTrans_SetGCOL                         0x40743
#define SWI_ColourTrans_ReturnColourNumber              0x40744
#define SWI_ColourTrans_ReturnGCOLForMode               0x40745
#define SWI_ColourTrans_ReturnColourNumberForMode       0x40746
#define SWI_ColourTrans_ReturnOppGCOL                   0x40747
#define SWI_ColourTrans_SetOppGCOL                      0x40748
#define SWI_ColourTrans_ReturnOppColourNumber           0x40749
#define SWI_ColourTrans_ReturnOppGCOLForMode            0x4074A
#define SWI_ColourTrans_ReturnOppColourNumberForMode    0x4074B
#define SWI_ColourTrans_GCOLToColourNumber              0x4074C
#define SWI_ColourTrans_ColourNumberToGCOL              0x4074D
#define SWI_ColourTrans_ReturnFontColours               0x4074E
#define SWI_ColourTrans_SetFontColours                  0x4074F
#define SWI_ColourTrans_InvalidateCache                 0x40750
#define SWI_ColourTrans_SetCalibration                  0x40751
#define SWI_ColourTrans_ReadCalibration                 0x40752
#define SWI_ColourTrans_ConvertDeviceColour             0x40753
#define SWI_ColourTrans_ConvertDevicePalette            0x40754
#define SWI_ColourTrans_ConvertRGBToCIE                 0x40755
#define SWI_ColourTrans_ConvertCIEToRGB                 0x40756
#define SWI_ColourTrans_WriteCalibrationToFile          0x40757
#define SWI_ColourTrans_ConvertRGBToHSV                 0x40758
#define SWI_ColourTrans_ConvertHSVToRGB                 0x40759
#define SWI_ColourTrans_ConvertRGBToCMYK                0x4075A
#define SWI_ColourTrans_ConvertCMYKToRGB                0x4075B
#define SWI_ColourTrans_ReadPalette                     0x4075C
#define SWI_ColourTrans_WritePalette                    0x4075D
#define SWI_ColourTrans_SetColour                       0x4075E
#define SWI_ColourTrans_MiscOp                          0x4075F
#define SWI_ColourTrans_WriteLoadingsToFile             0x40760
#define SWI_ColourTrans_SetTextColour                   0x40761
#define SWI_ColourTrans_SetOppTextColour                0x40762
#define SWI_ColourTrans_GenerateTable                   0x40763

// Module "Debugger" (SWI &40380)
#define SWI_Debugger_Disassemble                        0x40380
#define SWI_Debugger_DisassembleThumb                   0x40381

// Module "DeviceFS" (SWI &42740)
#define SWI_DeviceFS_Register                           0x42740
#define SWI_DeviceFS_Deregister                         0x42741
#define SWI_DeviceFS_RegisterObjects                    0x42742
#define SWI_DeviceFS_DeregisterObjects                  0x42743
#define SWI_DeviceFS_CallDevice                         0x42744
#define SWI_DeviceFS_Threshold                          0x42745
#define SWI_DeviceFS_ReceivedCharacter                  0x42746
#define SWI_DeviceFS_TransmitCharacter                  0x42747

// Module "Portable" (SWI &42FC0)
#define SWI_Portable_Speed                              0x42FC0
#define SWI_Portable_Control                            0x42FC1
#define SWI_Portable_ReadBMUVariable                    0x42FC2
#define SWI_Portable_WriteBMUVariable                   0x42FC3
#define SWI_Portable_CommandBMU                         0x42FC4
#define SWI_Portable_ReadFeatures                       0x42FC5
#define SWI_Portable_Idle                               0x42FC6
#define SWI_Portable_Stop                               0x42FC7
#define SWI_Portable_Status                             0x42FC8
#define SWI_Portable_Contrast                           0x42FC9
#define SWI_Portable_Refresh                            0x42FCA
#define SWI_Portable_Halt                               0x42FCB
#define SWI_Portable_SleepTime                          0x42FCC
#define SWI_Portable_SMBusOp                            0x42FCD
#define SWI_Portable_Speed2                             0x42FCE
#define SWI_Portable_WakeTime                           0x42FCF
#define SWI_Portable_EnumerateBMU                       0x42FD0
#define SWI_Portable_ReadBMUVariables                   0x42FD1

// Module "RTSupport" (SWI &575C0)
#define SWI_RT_Register                                 0x575C0
#define SWI_RT_Deregister                               0x575C1
#define SWI_RT_Yield                                    0x575C2
#define SWI_RT_TimedYield                               0x575C3
#define SWI_RT_ChangePriority                           0x575C4
#define SWI_RT_ReadInfo                                 0x575C5

// Module "USBDriver" (SWI &54A40)
#define SWI_USBDriver_RegisterBus                       0x54A40
#define SWI_USBDriver_DeRegisterBus                     0x54A41
#define SWI_USBDriver_InsertTransfer                    0x54A42
#define SWI_USBDriver_TransferComplete                  0x54A43
#define SWI_USBDriver_ScheduleSoftInterrupt             0x54A44
#define SWI_USBDriver_Version                           0x54A45

// Module "VCHIQ" (SWI &59200)
#define SWI_VCHIQ_Initialise                            0x59200
#define SWI_VCHIQ_Connect                               0x59201
#define SWI_VCHIQ_Disconnect                            0x59202
#define SWI_VCHIQ_BulkQueueTransmit                     0x59203
#define SWI_VCHIQ_MsgDequeue                            0x59204
#define SWI_VCHIQ_MsgQueue                              0x59205
#define SWI_VCHIQ_MsgQueueV                             0x59206
#define SWI_VCHIQ_MsgPeek                               0x59207
#define SWI_VCHIQ_MsgRemove                             0x59208
#define SWI_VCHIQ_ServiceClose                          0x59209
#define SWI_VCHIQ_ServiceOpen                           0x5920A
#define SWI_VCHIQ_ServiceCreate                         0x5920B
#define SWI_VCHIQ_ServiceDestroy                        0x5920C
#define SWI_VCHIQ_ServiceUse                            0x5920D
#define SWI_VCHIQ_ServiceRelease                        0x5920E

// Module "FPEmulator" (SWI &40480)
#define SWI_FPEmulator_Version                          0x40480
#define SWI_FPEmulator_DeactivateContext                0x40481
#define SWI_FPEmulator_ActivateContext                  0x40482
#define SWI_FPEmulator_ChangeContext                    0x40483
#define SWI_FPEmulator_ContextLength                    0x40484
#define SWI_FPEmulator_InitContext                      0x40485
#define SWI_FPEmulator_ExceptionDump                    0x40486
#define SWI_FPEmulator_Abort                            0x40487
#define SWI_FPEmulator_LoadContext                      0x40488
#define SWI_FPEmulator_SaveContext                      0x40489

// Module "ScreenModes" (SWI &487C0)
#define SWI_ScreenModes_ReadInfo                        0x487C0

// Module "DMAManager" (SWI &46140)
#define SWI_DMA_RegisterChannel                         0x46140
#define SWI_DMA_DeregisterChannel                       0x46141
#define SWI_DMA_QueueTransfer                           0x46142
#define SWI_DMA_TerminateTransfer                       0x46143
#define SWI_DMA_SuspendTransfer                         0x46144
#define SWI_DMA_ResumeTransfer                          0x46145
#define SWI_DMA_ExamineTransfer                         0x46146
#define SWI_DMA_AllocateLogicalChannels                 0x46147

// Module "DragASprite" (SWI &42400)
#define SWI_DragASprite_Start                           0x42400
#define SWI_DragASprite_Stop                            0x42401

// Module "DragAnObject" (SWI &49C40)
#define SWI_DragAnObject_Start                          0x49C40
#define SWI_DragAnObject_Stop                           0x49C41

// Module "Draw" (SWI &40700)
#define SWI_Draw_ProcessPath                            0x40700
#define SWI_Draw_ProcessPathFP                          0x40701
#define SWI_Draw_Fill                                   0x40702
#define SWI_Draw_FillFP                                 0x40703
#define SWI_Draw_Stroke                                 0x40704
#define SWI_Draw_StrokeFP                               0x40705
#define SWI_Draw_StrokePath                             0x40706
#define SWI_Draw_StrokePathFP                           0x40707
#define SWI_Draw_FlattenPath                            0x40708
#define SWI_Draw_FlattenPathFP                          0x40709
#define SWI_Draw_TransformPath                          0x4070A
#define SWI_Draw_TransformPathFP                        0x4070B
#define SWI_Draw_FillClipped                            0x4070C
#define SWI_Draw_FillClippedFP                          0x4070D
#define SWI_Draw_StrokeClipped                          0x4070E
#define SWI_Draw_StrokeClippedFP                        0x4070F

// Module "FileCore" (SWI &40540)
#define SWI_FileCore_DiscOp                             0x40540
#define SWI_FileCore_Create                             0x40541
#define SWI_FileCore_Drives                             0x40542
#define SWI_FileCore_FreeSpace                          0x40543
#define SWI_FileCore_FloppyStructure                    0x40544
#define SWI_FileCore_DescribeDisc                       0x40545
#define SWI_FileCore_DiscardReadSectorsCache            0x40546
#define SWI_FileCore_DiscFormat                         0x40547
#define SWI_FileCore_LayoutStructure                    0x40548
#define SWI_FileCore_MiscOp                             0x40549
#define SWI_FileCore_SectorDiscOp                       0x4054A
#define SWI_FileCore_FreeSpace64                        0x4054B
#define SWI_FileCore_DiscOp64                           0x4054C
#define SWI_FileCore_Features                           0x4054D

// Module "FilerSWIs" (SWI &40F80)
#define SWI_FilerAction_SendSelectedDirectory           0x40F80
#define SWI_FilerAction_SendSelectedFile                0x40F81
#define SWI_FilerAction_SendStartOperation              0x40F82

// Module "FSLock" (SWI &44780)
#define SWI_FSLock_Version                              0x44780

// Module "FontManager" (SWI &40080)
#define SWI_Font_CacheAddr                              0x40080
#define SWI_Font_FindFont                               0x40081
#define SWI_Font_LoseFont                               0x40082
#define SWI_Font_ReadDefn                               0x40083
#define SWI_Font_ReadInfo                               0x40084
#define SWI_Font_StringWidth                            0x40085
#define SWI_Font_Paint                                  0x40086
#define SWI_Font_Caret                                  0x40087
#define SWI_Font_ConverttoOS                            0x40088
#define SWI_Font_Converttopoints                        0x40089
#define SWI_Font_SetFont                                0x4008A
#define SWI_Font_CurrentFont                            0x4008B
#define SWI_Font_FutureFont                             0x4008C
#define SWI_Font_FindCaret                              0x4008D
#define SWI_Font_CharBBox                               0x4008E
#define SWI_Font_ReadScaleFactor                        0x4008F
#define SWI_Font_SetScaleFactor                         0x40090
#define SWI_Font_ListFonts                              0x40091
#define SWI_Font_SetFontColours                         0x40092
#define SWI_Font_SetPalette                             0x40093
#define SWI_Font_ReadThresholds                         0x40094
#define SWI_Font_SetThresholds                          0x40095
#define SWI_Font_FindCaretJ                             0x40096
#define SWI_Font_StringBBox                             0x40097
#define SWI_Font_ReadColourTable                        0x40098
#define SWI_Font_MakeBitmap                             0x40099
#define SWI_Font_UnCacheFile                            0x4009A
#define SWI_Font_SetFontMax                             0x4009B
#define SWI_Font_ReadFontMax                            0x4009C
#define SWI_Font_ReadFontPrefix                         0x4009D
#define SWI_Font_SwitchOutputToBuffer                   0x4009E
#define SWI_Font_ReadFontMetrics                        0x4009F
#define SWI_Font_DecodeMenu                             0x400A0
#define SWI_Font_ScanString                             0x400A1
#define SWI_Font_SetColourTable                         0x400A2
#define SWI_Font_CurrentRGB                             0x400A3
#define SWI_Font_FutureRGB                              0x400A4
#define SWI_Font_ReadEncodingFilename                   0x400A5
#define SWI_Font_FindField                              0x400A6
#define SWI_Font_ApplyFields                            0x400A7
#define SWI_Font_LookupFont                             0x400A8
#define SWI_Font_EnumerateCharacters                    0x400A9

// Module "VFPSupport" (SWI &58EC0)
#define SWI_VFPSupport_CheckContext                     0x58EC0
#define SWI_VFPSupport_CreateContext                    0x58EC1
#define SWI_VFPSupport_DestroyContext                   0x58EC2
#define SWI_VFPSupport_ChangeContext                    0x58EC3
#define SWI_VFPSupport_ExamineContext                   0x58EC4
#define SWI_VFPSupport_FastAPI                          0x58EC5
#define SWI_VFPSupport_ActiveContext                    0x58EC6
#define SWI_VFPSupport_Version                          0x58EC7
#define SWI_VFPSupport_Features                         0x58EC8
#define SWI_VFPSupport_ExceptionDump                    0x58EC9

// Module "Free" (SWI &444C0)
#define SWI_Free_Register                               0x444C0
#define SWI_Free_DeRegister                             0x444C1

// Module "Hourglass" (SWI &406C0)
#define SWI_Hourglass_On                                0x406C0
#define SWI_Hourglass_Off                               0x406C1
#define SWI_Hourglass_Smash                             0x406C2
#define SWI_Hourglass_Start                             0x406C3
#define SWI_Hourglass_Percentage                        0x406C4
#define SWI_Hourglass_LEDs                              0x406C5
#define SWI_Hourglass_Colours                           0x406C6

// Module "IIC" (SWI &240)
#define SWI_IIC_Control                                 0x240

// Module "InverseTable" (SWI &4BF40)
#define SWI_InverseTable_Calculate                      0x4BF40
#define SWI_InverseTable_SpriteTable                    0x4BF41

// Module "RTC" (SWI &594C0)
#define SWI_RTC_Features                                0x594C0
#define SWI_RTC_Read                                    0x594C1
#define SWI_RTC_Write                                   0x594C2
#define SWI_RTC_Adjust                                  0x594C3

// Module "ScreenBlanker" (SWI &43100)
#define SWI_ScreenBlanker_Control                       0x43100

// Module "ShellCLI" (SWI &405C0)
#define SWI_Shell_Create                                0x405C0
#define SWI_Shell_Destroy                               0x405C1

// Module "SoundDMA" (SWI &40140)
#define SWI_Sound_Configure                             0x40140
#define SWI_Sound_Enable                                0x40141
#define SWI_Sound_Stereo                                0x40142
#define SWI_Sound_Speaker                               0x40143
#define SWI_Sound_Mode                                  0x40144
#define SWI_Sound_LinearHandler                         0x40145
#define SWI_Sound_SampleRate                            0x40146
#define SWI_Sound_ReadSysInfo                           0x40147

// Module "SoundControl" (SWI &50000)
#define SWI_SoundCtrl_ExamineMixer                      0x50000
#define SWI_SoundCtrl_SetMix                            0x50001
#define SWI_SoundCtrl_GetMix                            0x50002

// Module "SoundChannels" (SWI &40180)
#define SWI_Sound_Volume                                0x40180
#define SWI_Sound_SoundLog                              0x40181
#define SWI_Sound_LogScale                              0x40182
#define SWI_Sound_InstallVoice                          0x40183
#define SWI_Sound_RemoveVoice                           0x40184
#define SWI_Sound_AttachVoice                           0x40185
#define SWI_Sound_ControlPacked                         0x40186
#define SWI_Sound_Tuning                                0x40187
#define SWI_Sound_Pitch                                 0x40188
#define SWI_Sound_Control                               0x40189
#define SWI_Sound_AttachNamedVoice                      0x4018A
#define SWI_Sound_ReadControlBlock                      0x4018B
#define SWI_Sound_WriteControlBlock                     0x4018C

// Module "SoundScheduler" (SWI &401C0)
#define SWI_Sound_QInit                                 0x401C0
#define SWI_Sound_QSchedule                             0x401C1
#define SWI_Sound_QRemove                               0x401C2
#define SWI_Sound_QFree                                 0x401C3
#define SWI_Sound_QSDispatch                            0x401C4
#define SWI_Sound_QTempo                                0x401C5
#define SWI_Sound_QBeat                                 0x401C6
#define SWI_Sound_QInterface                            0x401C7

// Module "SpriteExtend" (SWI &49980)
#define SWI_JPEG_Info                                   0x49980
#define SWI_JPEG_FileInfo                               0x49981
#define SWI_JPEG_PlotScaled                             0x49982
#define SWI_JPEG_PlotFileScaled                         0x49983
#define SWI_JPEG_PlotTransformed                        0x49984
#define SWI_JPEG_PlotFileTransformed                    0x49985
#define SWI_JPEG_PDriverIntercept                       0x49986

// Module "Squash" (SWI &42700)
#define SWI_Squash_Compress                             0x42700
#define SWI_Squash_Decompress                           0x42701

// Module "BootFX" (SWI &59140)
#define SWI_BootFX_BarUpdate                            0x59140
#define SWI_BootFX_BarLoad                              0x59141
#define SWI_BootFX_BarDisplay                           0x59142
#define SWI_BootFX_BarFree                              0x59143
#define SWI_BootFX_BarReadInfo                          0x59144

// Module "SuperSample" (SWI &40D80)
#define SWI_Super_Sample90                              0x40D80
#define SWI_Super_Sample45                              0x40D81

// Module "TaskWindow" (SWI &43380)
#define SWI_TaskWindow_TaskInfo                         0x43380

// Module "FilterManager" (SWI &42640)
#define SWI_Filter_RegisterPreFilter                    0x42640
#define SWI_Filter_RegisterPostFilter                   0x42641
#define SWI_Filter_DeRegisterPreFilter                  0x42642
#define SWI_Filter_DeRegisterPostFilter                 0x42643
#define SWI_Filter_RegisterRectFilter                   0x42644
#define SWI_Filter_DeRegisterRectFilter                 0x42645
#define SWI_Filter_RegisterCopyFilter                   0x42646
#define SWI_Filter_DeRegisterCopyFilter                 0x42647
#define SWI_Filter_RegisterPostRectFilter               0x42648
#define SWI_Filter_DeRegisterPostRectFilter             0x42649
#define SWI_Filter_RegisterPostIconFilter               0x4264A
#define SWI_Filter_DeRegisterPostIconFilter             0x4264B

// Module "SharedSound" (SWI &4B440)
#define SWI_SharedSound_InstallHandler                  0x4B440
#define SWI_SharedSound_RemoveHandler                   0x4B441
#define SWI_SharedSound_HandlerInfo                     0x4B442
#define SWI_SharedSound_HandlerVolume                   0x4B443
#define SWI_SharedSound_HandlerSampleType               0x4B444
#define SWI_SharedSound_HandlerPause                    0x4B445
#define SWI_SharedSound_SampleRate                      0x4B446
#define SWI_SharedSound_InstallDriver                   0x4B447
#define SWI_SharedSound_RemoveDriver                    0x4B448
#define SWI_SharedSound_DriverInfo                      0x4B449
#define SWI_SharedSound_DriverVolume                    0x4B44A
#define SWI_SharedSound_DriverMixer                     0x4B44B
#define SWI_SharedSound_CheckDriver                     0x4B44C
#define SWI_SharedSound_ControlWord                     0x4B44D
#define SWI_SharedSound_HandlerType                     0x4B44E

// Module "DOSFS" (SWI &44B00)
#define SWI_DOSFS_DiscFormat                            0x44B00
#define SWI_DOSFS_LayoutStructure                       0x44B01

// Module "SCSIDriver" (SWI &403C0)
#define SWI_SCSI_Version                                0x403C0
#define SWI_SCSI_Initialise                             0x403C1
#define SWI_SCSI_Control                                0x403C2
#define SWI_SCSI_Op                                     0x403C3
#define SWI_SCSI_Status                                 0x403C4
#define SWI_SCSI_Reserve                                0x403C7
#define SWI_SCSI_List                                   0x403C8
#define SWI_SCSI_Deregister                             0x403FE
#define SWI_SCSI_Register                               0x403FF

// Module "SCSIFS" (SWI &40980)
#define SWI_SCSIFS_DiscOp                               0x40980
#define SWI_SCSIFS_Drives                               0x40982
#define SWI_SCSIFS_FreeSpace                            0x40983
#define SWI_SCSIFS_DescribeDisc                         0x40985
#define SWI_SCSIFS_TestReady                            0x40986
#define SWI_SCSIFS_MiscOp                               0x4098C
#define SWI_SCSIFS_SectorDiscOp                         0x4098D
#define SWI_SCSIFS_FreeSpace64                          0x40992
#define SWI_SCSIFS_DiscOp64                             0x40994
#define SWI_SCSIFS_Partitions                           0x40995

// Module "SDIODriver" (SWI &59000)
#define SWI_SDIO_Initialise                             0x59000
#define SWI_SDIO_Control                                0x59001
#define SWI_SDIO_Enumerate                              0x59002
#define SWI_SDIO_ControllerFeatures                     0x59003
#define SWI_SDIO_ReadRegister                           0x59004
#define SWI_SDIO_Op                                     0x59005
#define SWI_SDIO_ClaimDeviceVector                      0x59006
#define SWI_SDIO_ReleaseDeviceVector                    0x59007

// Module "SDFS" (SWI &59040)
#define SWI_SDFS_DiscOp                                 0x59040
#define SWI_SDFS_Drives                                 0x59042
#define SWI_SDFS_FreeSpace                              0x59043
#define SWI_SDFS_DescribeDisc                           0x59045
#define SWI_SDFS_MiscOp                                 0x59049
#define SWI_SDFS_SectorDiscOp                           0x5904A
#define SWI_SDFS_FreeSpace64                            0x5904B
#define SWI_SDFS_DiscOp64                               0x5904C
#define SWI_SDFS_ReadCardInfo                           0x59060

// Module "ColourPicker" (SWI &47700)
#define SWI_ColourPicker_RegisterModel                  0x47700
#define SWI_ColourPicker_DeregisterModel                0x47701
#define SWI_ColourPicker_OpenDialogue                   0x47702
#define SWI_ColourPicker_CloseDialogue                  0x47703
#define SWI_ColourPicker_UpdateDialogue                 0x47704
#define SWI_ColourPicker_ReadDialogue                   0x47705
#define SWI_ColourPicker_SetColour                      0x47706
#define SWI_ColourPicker_HelpReply                      0x47707
#define SWI_ColourPicker_ModelSWI                       0x47708

// Module "DrawFile" (SWI &45540)
#define SWI_DrawFile_Render                             0x45540
#define SWI_DrawFile_BBox                               0x45541
#define SWI_DrawFile_DeclareFonts                       0x45542

// Module "MbufManager" (SWI &4A580)
#define SWI_Mbuf_OpenSession                            0x4A580
#define SWI_Mbuf_CloseSession                           0x4A581
#define SWI_Mbuf_Memory                                 0x4A582
#define SWI_Mbuf_Statistic                              0x4A583
#define SWI_Mbuf_Control                                0x4A584

// Module "Internet" (SWI &41200)
#define SWI_Socket_Creat                                0x41200
#define SWI_Socket_Bind                                 0x41201
#define SWI_Socket_Listen                               0x41202
#define SWI_Socket_Accept                               0x41203
#define SWI_Socket_Connect                              0x41204
#define SWI_Socket_Recv                                 0x41205
#define SWI_Socket_Recvfrom                             0x41206
#define SWI_Socket_Recvmsg                              0x41207
#define SWI_Socket_Send                                 0x41208
#define SWI_Socket_Sendto                               0x41209
#define SWI_Socket_Sendmsg                              0x4120A
#define SWI_Socket_Shutdown                             0x4120B
#define SWI_Socket_Setsockopt                           0x4120C
#define SWI_Socket_Getsockopt                           0x4120D
#define SWI_Socket_Getpeername                          0x4120E
#define SWI_Socket_Getsockname                          0x4120F
#define SWI_Socket_Close                                0x41210
#define SWI_Socket_Select                               0x41211
#define SWI_Socket_Ioctl                                0x41212
#define SWI_Socket_Read                                 0x41213
#define SWI_Socket_Write                                0x41214
#define SWI_Socket_Stat                                 0x41215
#define SWI_Socket_Readv                                0x41216
#define SWI_Socket_Writev                               0x41217
#define SWI_Socket_Gettsize                             0x41218
#define SWI_Socket_Sendtosm                             0x41219
#define SWI_Socket_Sysctl                               0x4121A
#define SWI_Socket_Accept_1                             0x4121B
#define SWI_Socket_Recvfrom_1                           0x4121C
#define SWI_Socket_Recvmsg_1                            0x4121D
#define SWI_Socket_Sendmsg_1                            0x4121E
#define SWI_Socket_Getpeername_1                        0x4121F
#define SWI_Socket_Getsockname_1                        0x41220
#define SWI_Socket_InternalLookup                       0x41221
#define SWI_Socket_Version                              0x41222

// Module "Resolver" (SWI &46000)
#define SWI_Resolver_GetHostByName                      0x46000
#define SWI_Resolver_GetHost                            0x46001
#define SWI_Resolver_GetCache                           0x46002
#define SWI_Resolver_CacheControl                       0x46003

// Module "MimeMap" (SWI &50B00)
#define SWI_MimeMap_Translate                           0x50B00

// Module "LanManFS" (SWI &49240)
#define SWI_LanMan_OmniOp                               0x49240
#define SWI_LanMan_FreeOp                               0x49241
#define SWI_LanMan_NameOp                               0x49242
#define SWI_LanMan_Transact                             0x49243
#define SWI_LanMan_LogonOp                              0x49244

// Module "EtherUSB" (SWI &55200)
#define SWI_EtherUSB_DCIVersion                         0x55200
#define SWI_EtherUSB_Inquire                            0x55201
#define SWI_EtherUSB_GetNetworkMTU                      0x55202
#define SWI_EtherUSB_SetNetworkMTU                      0x55203
#define SWI_EtherUSB_Transmit                           0x55204
#define SWI_EtherUSB_Filter                             0x55205
#define SWI_EtherUSB_Stats                              0x55206
#define SWI_EtherUSB_MulticastRequest                   0x55207

// Module "DHCP" (SWI &52E80)
#define SWI_DHCP_Version                                0x52E80
#define SWI_DHCP_Execute                                0x52E81
#define SWI_DHCP_GetState                               0x52E82
#define SWI_DHCP_GetOption                              0x52E83
#define SWI_DHCP_SetOption                              0x52E84
#define SWI_DHCP_Inform                                 0x52E85

// Module "AcornURI" (SWI &4E380)
#define SWI_URI_Version                                 0x4E380
#define SWI_URI_Dispatch                                0x4E381
#define SWI_URI_RequestURI                              0x4E382
#define SWI_URI_InvalidateURI                           0x4E383

// Module "TinyStubs" (SWI &82C40)
#define SWI_TinySupport_Init                            0x82C40
#define SWI_TinySupport_Die                             0x82C41
#define SWI_TinySupport_Init2                           0x82C42
#define SWI_TinySupport_Share                           0x82C43

// Module "Toolbox" (SWI &44EC0)
#define SWI_Toolbox_CreateObject                        0x44EC0
#define SWI_Toolbox_DeleteObject                        0x44EC1
#define SWI_Toolbox_CopyObject                          0x44EC2
#define SWI_Toolbox_ShowObject                          0x44EC3
#define SWI_Toolbox_HideObject                          0x44EC4
#define SWI_Toolbox_GetObjectInfo                       0x44EC5
#define SWI_Toolbox_ObjectMiscOp                        0x44EC6
#define SWI_Toolbox_SetClientHandle                     0x44EC7
#define SWI_Toolbox_GetClientHandle                     0x44EC8
#define SWI_Toolbox_GetObjectClass                      0x44EC9
#define SWI_Toolbox_GetParent                           0x44ECA
#define SWI_Toolbox_GetAncestor                         0x44ECB
#define SWI_Toolbox_GetTemplateName                     0x44ECC
#define SWI_Toolbox_RaiseToolboxEvent                   0x44ECD
#define SWI_Toolbox_GetSysInfo                          0x44ECE
#define SWI_Toolbox_Initialise                          0x44ECF
#define SWI_Toolbox_LoadResources                       0x44ED0
#define SWI_Toolbox_Memory                              0x44EF9
#define SWI_Toolbox_DeRegisterObjectModule              0x44EFA
#define SWI_Toolbox_TemplateLookUp                      0x44EFB
#define SWI_Toolbox_GetInternalHandle                   0x44EFC
#define SWI_Toolbox_RegisterPostFilter                  0x44EFD
#define SWI_Toolbox_RegisterPreFilter                   0x44EFE
#define SWI_Toolbox_RegisterObjectModule                0x44EFF

// Module "Window" (SWI &82880)
#define SWI_Window_ClassSWI                             0x82880
#define SWI_Window_PostFilter                           0x82881
#define SWI_Window_PreFilter                            0x82882
#define SWI_Window_GetPointerInfo                       0x82883
#define SWI_Window_WimpToToolbox                        0x82884
#define SWI_Window_RegisterExternal                     0x82885
#define SWI_Window_DeregisterExternal                   0x82886
#define SWI_Window_SupportExternal                      0x82887
#define SWI_Window_RegisterFilter                       0x82888
#define SWI_Window_DeregisterFilter                     0x82889
#define SWI_Window_EnumerateGadgets                     0x8288A
#define SWI_Window_GadgetGetIconList                    0x8288B
#define SWI_Window_ExtractGadgetInfo                    0x828BE

// Module "ToolAction" (SWI &140140)
#define SWI_ToolAction_ToolAction                       0x140140

// Module "Menu" (SWI &828C0)
#define SWI_Menu_ClassSWI                               0x828C0
#define SWI_Menu_PostFilter                             0x828C1
#define SWI_Menu_PreFilter                              0x828C2
#define SWI_Menu_UpdateTree                             0x828C3

// Module "Iconbar" (SWI &82900)
#define SWI_Iconbar_ClassSWI                            0x82900
#define SWI_Iconbar_PostFilter                          0x82901
#define SWI_Iconbar_PreFilter                           0x82902

// Module "ColourDbox" (SWI &829C0)
#define SWI_ColourDbox_ClassSWI                         0x829C0
#define SWI_ColourDbox_PostFilter                       0x829C1
#define SWI_ColourDbox_PreFilter                        0x829C2

// Module "ColourMenu" (SWI &82980)
#define SWI_ColourMenu_ClassSWI                         0x82980
#define SWI_ColourMenu_PostFilter                       0x82981
#define SWI_ColourMenu_PreFilter                        0x82982

// Module "DCS" (SWI &82A80)
#define SWI_DCS_ClassSWI                                0x82A80
#define SWI_DCS_PostFilter                              0x82A81
#define SWI_DCS_PreFilter                               0x82A82

// Module "FileInfo" (SWI &82AC0)
#define SWI_FileInfo_ClassSWI                           0x82AC0
#define SWI_FileInfo_PostFilter                         0x82AC1
#define SWI_FileInfo_PreFilter                          0x82AC2

// Module "FontDbox" (SWI &82A00)
#define SWI_FontDbox_ClassSWI                           0x82A00
#define SWI_FontDbox_PostFilter                         0x82A01
#define SWI_FontDbox_PreFilter                          0x82A02

// Module "FontMenu" (SWI &82A40)
#define SWI_FontMenu_ClassSWI                           0x82A40
#define SWI_FontMenu_PostFilter                         0x82A41
#define SWI_FontMenu_PreFilter                          0x82A42

// Module "PrintDbox" (SWI &82B00)
#define SWI_PrintDbox_ClassSWI                          0x82B00
#define SWI_PrintDbox_PostFilter                        0x82B01
#define SWI_PrintDbox_PreFilter                         0x82B02

// Module "ProgInfo" (SWI &82B40)
#define SWI_ProgInfo_ClassSWI                           0x82B40
#define SWI_ProgInfo_PostFilter                         0x82B41
#define SWI_ProgInfo_PreFilter                          0x82B42

// Module "SaveAs" (SWI &82BC0)
#define SWI_SaveAs_ClassSWI                             0x82BC0
#define SWI_SaveAs_PostFilter                           0x82BC1
#define SWI_SaveAs_PreFilter                            0x82BC2

// Module "Scale" (SWI &82C00)
#define SWI_Scale_ClassSWI                              0x82C00
#define SWI_Scale_PostFilter                            0x82C01
#define SWI_Scale_PreFilter                             0x82C02

// Module "TextGadgets" (SWI &140180)
#define SWI_TextGadgets_TextArea                        0x140180
#define SWI_TextGadgets_TextField                       0x140181
#define SWI_TextGadgets_ScrollList                      0x140182
#define SWI_TextGadgets_Scrollbar                       0x140183
#define SWI_TextGadgets_RedrawAll                       0x140184
#define SWI_TextGadgets_Filter                          0x140185

// Module "CDFSDriver" (SWI &41240)
#define SWI_CD_Version                                  0x41240
#define SWI_CD_ReadData                                 0x41241
#define SWI_CD_SeekTo                                   0x41242
#define SWI_CD_DriveStatus                              0x41243
#define SWI_CD_DriveReady                               0x41244
#define SWI_CD_GetParameters                            0x41245
#define SWI_CD_SetParameters                            0x41246
#define SWI_CD_OpenDrawer                               0x41247
#define SWI_CD_EjectButton                              0x41248
#define SWI_CD_EnquireAddress                           0x41249
#define SWI_CD_EnquireDataMode                          0x4124A
#define SWI_CD_PlayAudio                                0x4124B
#define SWI_CD_PlayTrack                                0x4124C
#define SWI_CD_AudioPause                               0x4124D
#define SWI_CD_EnquireTrack                             0x4124E
#define SWI_CD_ReadSubChannel                           0x4124F
#define SWI_CD_CheckDrive                               0x41250
#define SWI_CD_DiscChanged                              0x41251
#define SWI_CD_StopDisc                                 0x41252
#define SWI_CD_DiscUsed                                 0x41253
#define SWI_CD_AudioStatus                              0x41254
#define SWI_CD_Inquiry                                  0x41255
#define SWI_CD_DiscHasChanged                           0x41256
#define SWI_CD_Control                                  0x41257
#define SWI_CD_Supported                                0x41258
#define SWI_CD_Prefetch                                 0x41259
#define SWI_CD_Reset                                    0x4125A
#define SWI_CD_CloseDrawer                              0x4125B
#define SWI_CD_IsDrawerLocked                           0x4125C
#define SWI_CD_AudioControl                             0x4125D
#define SWI_CD_LastError                                0x4125E
#define SWI_CD_AudioLevel                               0x4125F
#define SWI_CD_Register                                 0x41260
#define SWI_CD_Unregister                               0x41261
#define SWI_CD_ByteCopy                                 0x41262
#define SWI_CD_Identify                                 0x41263
#define SWI_CD_ConvertToLBA                             0x41264
#define SWI_CD_ConvertToMSF                             0x41265
#define SWI_CD_ReadAudio                                0x41266
#define SWI_CD_ReadUserData                             0x41267
#define SWI_CD_SeekUserData                             0x41268
#define SWI_CD_GetAudioParms                            0x41269
#define SWI_CD_SetAudioParms                            0x4126A
#define SWI_CD_SCSIUserOp                               0x4126B

// Module "CDFS" (SWI &41E80)
#define SWI_CDFS_ConvertDriveToDevice                   0x41E80
#define SWI_CDFS_SetBufferSize                          0x41E81
#define SWI_CDFS_GetBufferSize                          0x41E82
#define SWI_CDFS_SetNumberOfDrives                      0x41E83
#define SWI_CDFS_GetNumberOfDrives                      0x41E84
#define SWI_CDFS_GiveFileType                           0x41E85
#define SWI_CDFS_DescribeDisc                           0x41E86
#define SWI_CDFS_WhereIsFile                            0x41E87
#define SWI_CDFS_Truncation                             0x41E88


// ============================================================
//
// The following are not built into RISC OS but were present
// on my system when generating the SWI file; so they may be
// of use...
//


// Module "NetTime" (SWI &54AC0)
#define SWI_NetTime_Status                              0x54AC0
#define SWI_NetTime_States                              0x54AC1

// Module "OLED" (SWI &59540)
#define SWI_OLED_Initialise                             0x59540
#define SWI_OLED_Print                                  0x59541
#define SWI_OLED_CLS                                    0x59542
#define SWI_OLED_Op                                     0x59543
#define SWI_OLED_SetColours                             0x59544
#define SWI_OLED_DrawLine                               0x59545
#define SWI_OLED_DrawBox                                0x59546
#define SWI_OLED_DrawCircle                             0x59547
#define SWI_OLED_DrawTriangle                           0x59548
#define SWI_OLED_DrawFont                               0x59549
#define SWI_OLED_DrawSprite                             0x5954A
#define SWI_OLED_ForceRefresh                           0x5954B
#define SWI_OLED_DumpSprite                             0x5954C
#define SWI_OLED_DumpRaw                                0x5954D

// Module "DADebug" (SWI &531C0)
#define SWI_DADebug_GetWriteCAddress                    0x531C0
#define SWI_DADebug_Print                               0x531C1
#define SWI_DADebug_Reset                               0x531C2

// Module "Hearsay" (SWI &43AC0)
#define SWI_Hearsay_Keyboard                            0x43AC0
#define SWI_Hearsay_TxRate                              0x43AC1
#define SWI_Hearsay_RxRate                              0x43AC2
#define SWI_Hearsay_ParityBits                          0x43AC3
#define SWI_Hearsay_DataBits                            0x43AC4
#define SWI_Hearsay_StopBits                            0x43AC5
#define SWI_Hearsay_Status                              0x43AC6
#define SWI_Hearsay_Flow                                0x43AC7
#define SWI_Hearsay_Select                              0x43AC8
#define SWI_Hearsay_Break                               0x43AC9
#define SWI_Hearsay_Get                                 0x43ACA
#define SWI_Hearsay_Put                                 0x43ACB
#define SWI_Hearsay_CountPurge                          0x43ACC
#define SWI_Hearsay_Register                            0x43ACD
#define SWI_Hearsay_BlockRead                           0x43ACE
#define SWI_Hearsay_BlockWrite                          0x43ACF

// Module "FrontEnd" (SWI &81400)
#define SWI_FrontEnd_ExtendedCmdLine                    0x81400
#define SWI_FrontEnd_FreeCmdLine                        0x81401

// Module "ZapRedraw" (SWI &48480)
#define SWI_ZapRedraw_RedrawArea                        0x48480
#define SWI_ZapRedraw_GetPaletteEntry                   0x48481
#define SWI_ZapRedraw_RedrawRaster                      0x48482
#define SWI_ZapRedraw_ConvertBitmap                     0x48483
#define SWI_ZapRedraw_PrepareDataLine                   0x48484
#define SWI_ZapRedraw_AddCursor                         0x48485
#define SWI_ZapRedraw_FindCharacter                     0x48486
#define SWI_ZapRedraw_MoveBytes                         0x48487
#define SWI_ZapRedraw_CachedCharSize                    0x48488
#define SWI_ZapRedraw_ConvBitmapChar                    0x48489
#define SWI_ZapRedraw_CreatePalette                     0x4848A
#define SWI_ZapRedraw_InsertChar                        0x4848B
#define SWI_ZapRedraw_ReadSystemChars                   0x4848C
#define SWI_ZapRedraw_ReverseBitmaps                    0x4848D
#define SWI_ZapRedraw_ReadVduVars                       0x4848E
#define SWI_ZapRedraw_GetRectangle                      0x4848F
#define SWI_ZapRedraw_AddVduBitmaps                     0x48490
#define SWI_ZapRedraw_CacheFontChars                    0x48491
#define SWI_ZapRedraw_SpriteSize                        0x48492
#define SWI_ZapRedraw_RedrawWindow                      0x48493
#define SWI_ZapRedraw_Divide                            0x48494
#define SWI_ZapRedraw_PlotRectangle                     0x48495
#define SWI_ZapRedraw_AddCursorSmart                    0x48496
#define SWI_ZapRedraw_FindFont                          0x48497
#define SWI_ZapRedraw_LoseFont                          0x48498
#define SWI_ZapRedraw_ReadCharSize                      0x48499
#define SWI_ZapRedraw_Version                           0x4849A
#define SWI_ZapRedraw_ListFonts                         0x4849B
#define SWI_ZapRedraw_UpdateWindow                      0x4849C
#define SWI_ZapRedraw_ReadFontInfo                      0x4849D
#define SWI_ZapRedraw_ReadModeBPP                       0x4849E
#define SWI_ZapRedraw_DecodeMenu                        0x4849F
#define SWI_ZapRedraw_Encoding                          0x484A0

// Module "DDEUtils" (SWI &42580)
#define SWI_DDEUtils_Prefix                             0x42580
#define SWI_DDEUtils_SetCLSize                          0x42581
#define SWI_DDEUtils_SetCL                              0x42582
#define SWI_DDEUtils_GetCLSize                          0x42583
#define SWI_DDEUtils_GetCl                              0x42584
#define SWI_DDEUtils_ThrowbackRegister                  0x42585
#define SWI_DDEUtils_ThrowbackUnRegister                0x42586
#define SWI_DDEUtils_ThrowbackStart                     0x42587
#define SWI_DDEUtils_ThrowbackSend                      0x42588
#define SWI_DDEUtils_ThrowbackEnd                       0x42589
#define SWI_DDEUtils_ReadPrefix                         0x4258A
#define SWI_DDEUtils_FlushCL                            0x4258B

// Module "LineEditor" (SWI &83880)
#define SWI_LineEditor_SetOptions                       0x83880
#define SWI_LineEditor_GetOptions                       0x83881
#define SWI_LineEditor_CreateBuffer                     0x83882
#define SWI_LineEditor_DeleteBuffer                     0x83883
#define SWI_LineEditor_SetPos                           0x83884
#define SWI_LineEditor_GetPos                           0x83885
#define SWI_LineEditor_GetLine                          0x83886
#define SWI_LineEditor_AppendLine                       0x83887
#define SWI_LineEditor_DeleteLine                       0x83888
#define SWI_LineEditor_ReadInfo                         0x83889
#define SWI_LineEditor_ReadLine                         0x8388A

// Module "DCDUtils" (SWI &52780)
#define SWI_DCDUtils_Version                            0x52780
#define SWI_DCDUtils_RegisterPlayer                     0x52781
#define SWI_DCDUtils_UnregisterPlayer                   0x52782
#define SWI_DCDUtils_RegisterPlugIn                     0x52783
#define SWI_DCDUtils_UnregisterPlugIn                   0x52784
#define SWI_DCDUtils_SetPlayerInfo                      0x52785
#define SWI_DCDUtils_GetPlayerInfo                      0x52786
#define SWI_DCDUtils_FillBuffer                         0x52787
#define SWI_DCDUtils_GetFullScreenPlugIn                0x52788
#define SWI_DCDUtils_FillRawBuffer                      0x52789
#define SWI_DCDUtils_StopPlugIns                        0x5278A
#define SWI_DCDUtils_UpdatePlugInsPosition              0x5278B
#define SWI_DCDUtils_GetBufferRate                      0x5278C
#define SWI_DCDUtils_PlayerHasPlugIn                    0x5278D
#define SWI_DCDUtils_FillABuffer                        0x5278E
#define SWI_DCDUtils_PlayerInfo                         0x5278F
#define SWI_DCDUtils_PlugInInfo                         0x52790
#define SWI_DCDUtils_FillFFT                            0x52791
#define SWI_DCDUtils_BufferSizes                        0x52792
#define SWI_DCDUtils_PlayerFindPlugIn                   0x52793
#define SWI_DCDUtils_SetSaverTask                       0x52794
#define SWI_DCDUtils_RemoteControl                      0x52795
#define SWI_DCDUtils_ListPlayers                        0x52796

// Module "MIDI" (SWI &404C0)
#define SWI_MIDI_SoundEnable                            0x404C0
#define SWI_MIDI_SetMode                                0x404C1
#define SWI_MIDI_SetTxChannel                           0x404C2
#define SWI_MIDI_SetTxActiveSensing                     0x404C3
#define SWI_MIDI_InqSongPositionPointer                 0x404C4
#define SWI_MIDI_InqBufferSize                          0x404C5
#define SWI_MIDI_InqError                               0x404C6
#define SWI_MIDI_RxByte                                 0x404C7
#define SWI_MIDI_RxCommand                              0x404C8
#define SWI_MIDI_TxByte                                 0x404C9
#define SWI_MIDI_TxCommand                              0x404CA
#define SWI_MIDI_TxNoteOff                              0x404CB
#define SWI_MIDI_TxNoteOn                               0x404CC
#define SWI_MIDI_TxPolyKeyPressure                      0x404CD
#define SWI_MIDI_TxControlChange                        0x404CE
#define SWI_MIDI_TxLocalControl                         0x404CF
#define SWI_MIDI_TxAllNotesOff                          0x404D0
#define SWI_MIDI_TxOmniModeOff                          0x404D1
#define SWI_MIDI_TxOmniModeOn                           0x404D2
#define SWI_MIDI_TxMonoModeOn                           0x404D3
#define SWI_MIDI_TxPolyModeOn                           0x404D4
#define SWI_MIDI_TxProgramChange                        0x404D5
#define SWI_MIDI_TxChannelPressure                      0x404D6
#define SWI_MIDI_TxPitchWheel                           0x404D7
#define SWI_MIDI_TxSongPositionPointer                  0x404D8
#define SWI_MIDI_TxSongSelect                           0x404D9
#define SWI_MIDI_TxTuneRequest                          0x404DA
#define SWI_MIDI_TxStart                                0x404DB
#define SWI_MIDI_TxContinue                             0x404DC
#define SWI_MIDI_TxStop                                 0x404DD
#define SWI_MIDI_TxSystemReset                          0x404DE
#define SWI_MIDI_IgnoreTiming                           0x404DF
#define SWI_MIDI_SynchSoundScheduler                    0x404E0
#define SWI_MIDI_FastClock                              0x404E1
#define SWI_MIDI_Init                                   0x404E2
#define SWI_MIDI_SetBufferSize                          0x404E3
#define SWI_MIDI_Interface                              0x404E4
#define SWI_MIDI_USBInfo                                0x404EA
#define SWI_MIDI_Options                                0x404EB

// Module "MoreKeys" (SWI &59180)
#define SWI_MoreKeys_DataPointer                        0x59180
#define SWI_MoreKeys_ReadData                           0x59181
#define SWI_MoreKeys_ClearData                          0x59182

// Module "Teletext+" (SWI &4E440)
#define SWI_TTX_Channel                                 0x4E440
#define SWI_TTX_Page                                    0x4E441
#define SWI_TTX_TransferPage                            0x4E442
#define SWI_TTX_TransferHeader                          0x4E443
#define SWI_TTX_ConvertPage                             0x4E444
#define SWI_TTX_ConvertHeader                           0x4E445
#define SWI_TTX_PageFound                               0x4E446
#define SWI_TTX_Colours                                 0x4E447
#define SWI_TTX_CrcOK                                   0x4E448
#define SWI_TTX_TuneChannel                             0x4E449
#define SWI_TTX_SearchForChannel                        0x4E44A
#define SWI_TTX_TransferTSDP                            0x4E44B
#define SWI_TTX_SetType                                 0x4E44C
#define SWI_TTX_TransferPageFast                        0x4E44D
#define SWI_TTX_TransferExtensionPacket                 0x4E44E

// Module "TTXHelper" (SWI &57180)
#define SWI_TTXHelper_AutoDetect                        0x57180
#define SWI_TTXHelper_ScanFlash                         0x57181
#define SWI_TTXHelper_ConvertToISO                      0x57182
#define SWI_TTXHelper_ConvertToANSI                     0x57183
#define SWI_TTXHelper_ExtractLine                       0x57184
#define SWI_TTXHelper_UseInterface                      0x57189
#define SWI_TTXHelper_ReadBytes                         0x5718A
#define SWI_TTXHelper_WriteBytes                        0x5718B
#define SWI_TTXHelper_ReadRegister                      0x5718C
#define SWI_TTXHelper_WriteRegister                     0x5718D
#define SWI_TTXHelper_ReadChapter                       0x5718E
#define SWI_TTXHelper_ClearTSDP                         0x5718F

// Module "SharedUnixLibrary" (SWI &55C80)
#define SWI_SharedUnixLibrary_RegisterUpCall            0x55C80
#define SWI_SharedUnixLibrary_DeRegisterUpCall          0x55C81
#define SWI_SharedUnixLibrary_SetValue                  0x55C82
#define SWI_SharedUnixLibrary_Count                     0x55C83
#define SWI_SharedUnixLibrary_Initialise                0x55C84

// Module "Tinct" (SWI &57240)
#define SWI_Tinct_PlotAlpha                             0x57240
#define SWI_Tinct_PlotScaledAlpha                       0x57241
#define SWI_Tinct_Plot                                  0x57242
#define SWI_Tinct_PlotScaled                            0x57243
#define SWI_Tinct_ConvertSprite                         0x57244
#define SWI_Tinct_AvailableFeatures                     0x57245
#define SWI_Tinct_Compress                              0x57246
#define SWI_Tinct_Decompress                            0x57247

// Module "Iconv" (SWI &57540)
#define SWI_Iconv_Open                                  0x57540
#define SWI_Iconv_Iconv                                 0x57541
#define SWI_Iconv_Close                                 0x57542
#define SWI_Iconv_Convert                               0x57543
#define SWI_Iconv_CreateMenu                            0x57544
#define SWI_Iconv_DecodeMenu                            0x57545

// Module "CryptRandom" (SWI &51980)
#define SWI_CryptRandom_Byte                            0x51980
#define SWI_CryptRandom_Stir                            0x51981
#define SWI_CryptRandom_AddNoise                        0x51982
#define SWI_CryptRandom_Block                           0x51983
#define SWI_CryptRandom_Word                            0x51984

// Module "SparkFS" (SWI &445C0)
#define SWI_SparkFS_Link                                0x445C0
#define SWI_SparkFS_Memory                              0x445C1
#define SWI_SparkFS_Info                                0x445C2
#define SWI_SparkFS_Code                                0x445C3
#define SWI_SparkFS_Util                                0x445C4
#define SWI_SparkFS_User                                0x445C5
#define SWI_SparkFS_String                              0x445C6

// Module "DitherExtend" (SWI &44580)
#define SWI_DitherExtend_SelectTable                    0x44580
#define SWI_DitherExtend_SelectGCOLTable                0x44581
#define SWI_DitherExtend_ReturnGCOL                     0x44582
#define SWI_DitherExtend_SetGCOL                        0x44583
#define SWI_DitherExtend_ReturnColourNumber             0x44584
#define SWI_DitherExtend_ReturnGCOLForMode              0x44585
#define SWI_DitherExtend_ReturnColourNumberForMode      0x44586
#define SWI_DitherExtend_ReturnOppGCOL                  0x44587
#define SWI_DitherExtend_SetOppGCOL                     0x44588
#define SWI_DitherExtend_ReturnOppColourNumber          0x44589
#define SWI_DitherExtend_ReturnOppGCOLForMode           0x4458A
#define SWI_DitherExtend_ReturnOppColourNumberForMode   0x4458B
#define SWI_DitherExtend_GCOLToColourNumber             0x4458C
#define SWI_DitherExtend_ColourNumberToGCOL             0x4458D
#define SWI_DitherExtend_Info                           0x4458E
#define SWI_DitherExtend_Control                        0x4458F
#define SWI_DitherExtend_ReturnColourPattern            0x44590
#define SWI_DitherExtend_ReturnColourPatternTable       0x44591
#define SWI_DitherExtend_InvalidatePalette              0x44592
#define SWI_DitherExtend_Antialias                      0x44593
#define SWI_DitherExtend_ReadPalette                    0x44594
#define SWI_DitherExtend_ReturnColourPatternArray       0x44595
#define SWI_DitherExtend_SetHalftone                    0x44596
#define SWI_DitherExtend_ReturnHalftone                 0x44597
#define SWI_DitherExtend_SetHalftoneOrigin              0x44598
#define SWI_DitherExtend_ReturnHalftoneOrigin           0x44599
#define SWI_DitherExtend_SelectHalftoneTable            0x4459A
#define SWI_DitherExtend_ReturnHalftoneIntensity        0x4459B
#define SWI_DitherExtend_ReturnHalftoneTable            0x4459C
#define SWI_DitherExtend_SetScreen                      0x4459D
#define SWI_DitherExtend_CacheScreen                    0x4459E
#define SWI_DitherExtend_SelectColourPatternTable       0x4459F
#define SWI_DitherExtend_GetReturnColourPatternAddress  0x445A0

// Module "ArtworksRenderer" (SWI &46080)
#define SWI_AWRender_FileInitAddress                    0x46080
#define SWI_AWRender_RenderAddress                      0x46081
#define SWI_AWRender_DocBounds                          0x46082
#define SWI_AWRender_SendDefs                           0x46083
#define SWI_AWRender_ClaimVectors                       0x46084
#define SWI_AWRender_ReleaseVectors                     0x46085
#define SWI_AWRender_FindFirstFont                      0x46086
#define SWI_AWRender_FindNextFont                       0x46087
#define SWI_AWRender_MemoryNeeded                       0x46088
#define SWI_AWRender_Version                            0x46089
#define SWI_AWRender_GetPageInfo                        0x4608A
#define SWI_AWRender_SwitchToPage                       0x4608B

// Module "GSpriteExtend" (SWI &41480)
#define SWI_GSpriteExtend_PlotSprite                    0x41480
#define SWI_GSpriteExtend_SwitchOutputToSprite          0x41481
#define SWI_GSpriteExtend_ReadVariable                  0x41482

// Module "GDraw" (SWI &44540)
#define SWI_GDraw_ProcessPath                           0x44540
#define SWI_GDraw_ProcessPathFP                         0x44541
#define SWI_GDraw_Fill                                  0x44542
#define SWI_GDraw_FillFP                                0x44543
#define SWI_GDraw_Stroke                                0x44544
#define SWI_GDraw_StrokeFP                              0x44545
#define SWI_GDraw_StrokePath                            0x44546
#define SWI_GDraw_StrokePathFP                          0x44547
#define SWI_GDraw_FlattenPath                           0x44548
#define SWI_GDraw_FlattenPathFP                         0x44549
#define SWI_GDraw_TransformPath                         0x4454A
#define SWI_GDraw_TransformPathFP                       0x4454B
#define SWI_GDraw_ProcessClipPath                       0x4454C
#define SWI_GDraw_ProcessClipPathFP                     0x4454D
#define SWI_GDraw_ClipPath                              0x4454E
#define SWI_GDraw_ClipPathFP                            0x4454F
#define SWI_GDraw_ClipPathToPath                        0x44550
#define SWI_GDraw_ClipPathToPathFP                      0x44551
#define SWI_GDraw_ClearClipRegion                       0x44552
#define SWI_GDraw_SetClipRegion                         0x44553
#define SWI_GDraw_SetFillStyle                          0x44554
#define SWI_GDraw_FillRegion                            0x44555
#define SWI_GDraw_SetPrintFlag                          0x44556
#define SWI_GDraw_ReadFillStyle                         0x44557
#define SWI_GDraw_GetClipRegion                         0x44558

// Module "Ovation" (SWI &41A00)
#define SWI_OVATION_KEYBOARD_ON                         0x41A00
#define SWI_OVATION_KEYBOARD_OFF                        0x41A01

// Module "USBNotifier" (SWI &83000)
#define SWI_USBNotifier_RequestByHandle                 0x83000
#define SWI_USBNotifier_RelinquishByHandle              0x83001

// Module "USBInfo" (SWI &56300)
#define SWI_USBInfo_Poll                                0x56300
#define SWI_USBInfo_ReportConnected                     0x56301
#define SWI_USBInfo_VendorOp                            0x56302
#define SWI_USBInfo_PollWord                            0x56303
#define SWI_USBInfo_Device                              0x56304

// Module "VideoUtils" (SWI &40D40)
#define SWI_Video_VIDC                                  0x40D40
#define SWI_Video_Interlace                             0x40D41
#define SWI_Video_Mode                                  0x40D42
#define SWI_Video_FindOverscanMode                      0x40D43
#define SWI_Video_WideBorder                            0x40D44
#define SWI_Video_ScreenInfo                            0x40D45
#define SWI_Video_SuperImpose                           0x40D46
#define SWI_Video_NewModes                              0x40D47
#define SWI_Video_ReadPixelValue                        0x40D48
#define SWI_Video_TextOp                                0x40D49
#define SWI_Video_NarrowBorder                          0x40D4A
#define SWI_Video_Conceal                               0x40D4B
#define SWI_Video_Wipe                                  0x40D4C
#define SWI_Video_HLine                                 0x40D4D
#define SWI_Video_VLine                                 0x40D4E
#define SWI_Video_MoveBytes                             0x40D4F
#define SWI_Video_LineUp                                0x40D50
#define SWI_Video_DiagLine                              0x40D51
#define SWI_Video_SetShadowAddress                      0x40D52
#define SWI_Video_Hoffset                               0x40D53
#define SWI_Video_MoveWords                             0x40D54
#define SWI_Video_FilterArea                            0x40D55
#define SWI_Video_RollDown                              0x40D56
#define SWI_Video_SetWindow                             0x40D57
#define SWI_Video_DiagWipe                              0x40D58
#define SWI_Video_LineDown                              0x40D59
#define SWI_Video_CueMasterOp                           0x40D5A
#define SWI_Video_SelectColourTable                     0x40D5B
#define SWI_Video_InfoBar                               0x40D5C
#define SWI_Video_Rectangle                             0x40D5D
#define SWI_Video_SpriteOp                              0x40D5E
#define SWI_Video_DynamicArea                           0x40D5F
#define SWI_Video_ReadString                            0x40D60
#define SWI_Video_SliderOp                              0x40D61
#define SWI_Video_Transition                            0x40D62
#define SWI_Video_Debug                                 0x40D63

// Module "Log" (SWI &54500)
#define SWI_Log_Open                                    0x54500
#define SWI_Log_Input                                   0x54501
#define SWI_Log_Enumerate                               0x54502
#define SWI_Log_SetOptions                              0x54503
#define SWI_Log_GetOptions                              0x54504
#define SWI_Log_SetPath                                 0x54505
#define SWI_Log_GetPath                                 0x54506
#define SWI_Log_GetDateFromOffset                       0x54507
#define SWI_Log_KeepOpen                                0x54508
#define SWI_Log_Close                                   0x54509
#define SWI_Log_Debug                                   0x5450A

// Module "ABCLibrary" (SWI &80B80)
#define SWI_ABCLib_Init                                 0x80B80
#define SWI_ABCLib_Register                             0x80B81
#define SWI_ABCLib_Profile                              0x80B82
#define SWI_ABCLib_WAC                                  0x80B83
#define SWI_ABCLib_Init2632                             0x80B84

// Module "PDriver" (SWI &80140)
#define SWI_PDriver_Info                                0x80140
#define SWI_PDriver_SetInfo                             0x80141
#define SWI_PDriver_CheckFeatures                       0x80142
#define SWI_PDriver_PageSize                            0x80143
#define SWI_PDriver_SetPageSize                         0x80144
#define SWI_PDriver_SelectJob                           0x80145
#define SWI_PDriver_CurrentJob                          0x80146
#define SWI_PDriver_FontSWI                             0x80147
#define SWI_PDriver_EndJob                              0x80148
#define SWI_PDriver_AbortJob                            0x80149
#define SWI_PDriver_Reset                               0x8014A
#define SWI_PDriver_GiveRectangle                       0x8014B
#define SWI_PDriver_DrawPage                            0x8014C
#define SWI_PDriver_GetRectangle                        0x8014D
#define SWI_PDriver_CancelJob                           0x8014E
#define SWI_PDriver_ScreenDump                          0x8014F
#define SWI_PDriver_EnumerateJobs                       0x80150
#define SWI_PDriver_SetPrinter                          0x80151
#define SWI_PDriver_CancelJobWithError                  0x80152
#define SWI_PDriver_SelectIllustration                  0x80153
#define SWI_PDriver_InsertIllustration                  0x80154
#define SWI_PDriver_DeclareFont                         0x80155
#define SWI_PDriver_DeclareDriver                       0x80156
#define SWI_PDriver_RemoveDriver                        0x80157
#define SWI_PDriver_SelectDriver                        0x80158
#define SWI_PDriver_EnumerateDrivers                    0x80159
#define SWI_PDriver_MiscOp                              0x8015A
#define SWI_PDriver_MiscOpForDriver                     0x8015B
#define SWI_PDriver_SetDriver                           0x8015C
#define SWI_PDriver_JPEGSWI                             0x8015D
#define SWI_PDriver_Command                             0x8015E

// Module "RemotePrinterSupport" (SWI &47980)
#define SWI_RemotePrinterSupport_ReadPollwordLocation   0x47980
#define SWI_RemotePrinterSupport_GetNextEvent           0x47981
#define SWI_RemotePrinterSupport_ReadUniqueAddress      0x47982
#define SWI_RemotePrinterSupport_Enable                 0x47983
#define SWI_RemotePrinterSupport_Disable                0x47984
#define SWI_RemotePrinterSupport_EnableUpcalls          0x47985
#define SWI_RemotePrinterSupport_DisableUpcalls         0x47986
#define SWI_RemotePrinterSupport_EnumerateUSBPrinters   0x47987

// Module "MakePSFont" (SWI &43440)
#define SWI_MakePSFont_MakeFont                         0x43440

// Module "DiskSample" (SWI &52EC0)
#define SWI_DiskSample_Version                          0x52EC0
#define SWI_DiskSample_Configure                        0x52EC1
#define SWI_DiskSample_FileOpen                         0x52EC2
#define SWI_DiskSample_StreamClose                      0x52EC3
#define SWI_DiskSample_StreamCreate                     0x52EC4
#define SWI_DiskSample_StreamSource                     0x52EC5
#define SWI_DiskSample_StreamReceiver                   0x52EC6
#define SWI_DiskSample_Decoding                         0x52EC7
#define SWI_DiskSample_StreamPlay                       0x52EC8
#define SWI_DiskSample_StreamPause                      0x52EC9
#define SWI_DiskSample_StreamStop                       0x52ECA
#define SWI_DiskSample_StreamPosition                   0x52ECB
#define SWI_DiskSample_StreamVolume                     0x52ECC
#define SWI_DiskSample_StreamIsReady                    0x52ECD
#define SWI_DiskSample_StreamStatus                     0x52ECE
#define SWI_DiskSample_StreamInfo                       0x52ED0
#define SWI_DiskSample_StreamTexts                      0x52ED1
#define SWI_DiskSample_StreamParam                      0x52ED2
#define SWI_DiskSample_StreamDecoding                   0x52ED3
#define SWI_DiskSample_ChannelParams                    0x52ED4
#define SWI_DiskSample_ChannelStatus                    0x52ED5

// Module "AudioMPEG" (SWI &52180)
#define SWI_AudioMPEG_Init                              0x52180
#define SWI_AudioMPEG_Quit                              0x52181
#define SWI_AudioMPEG_Info                              0x52182
#define SWI_AudioMPEG_Clear                             0x52183
#define SWI_AudioMPEG_Attach                            0x52184
#define SWI_AudioMPEG_Configure                         0x52185


#ifdef __cplusplus
}
#endif


#endif
