DeskLib 2.90a:SWI.h


Contents


Introduction and Overview

This header provides functions related to SWI handling - a general-purpose SWI calling veneer and SWI name/number translation veneers. It also defines many macros giving names to SWI numbers.


Functions


SWI_SWINumberToString

os_error * SWI_SWINumberToString(int number, char *buffer, int size);

This converts the given SWI number to the corresponding SWI name. The name is placed in the string pointed to by 'buffer' of length 'size'.

This returns NULL if there is no error.


SWI_SWINumberFromString

os_error * SWI_SWINumberFromString(const char *string, int *number);

This converts the given SWI name to the corresponding SWI number. The number is placed in 'number'.

This returns NULL if there is no error.


SWI

os_error * SWI(int numregsin, int numregsout, int swicode, ... );

This function provides a general-purpose SWI calling veneer. It is not meant to be (and is not) the most efficient way of calling a SWI, but rather the most general one. If you require faster SWI handling than this provides, you will need to construct an assembler veneer for the SWI (the Hourglass and WimpSWIs libraries are examples of these).

You specify the number of arguments you are passing in, the number you want passed back and the SWI number to call (many of which are #defined by this header), and the parameters themselves. It returns any error, or NULL if the SWI is executed successfully.

The 'in' parameter list 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 10 such registers can be specified.

The 'out' parameter list 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);

To call the 'X' version of the SWI: SWI(0, 0, SWI_Hourglass_Smash | XOS_Bit);


Macros


SWI_XOS_Bit

#define SWI_XOS_Bit                        0x020000

Bitwise-OR this with a #defined SWI number to call the 'X' version


XOS_Bit

#define XOS_Bit SWI_XOS_Bit

Bitwise-OR this with a #defined SWI number to call the 'X' version


SWI_OS_WriteI

#define SWI_OS_WriteI                      0x000100

SWI_OS_WriteC

#define SWI_OS_WriteC                      0x000000

SWI_OS_WriteS

#define SWI_OS_WriteS                      0x000001

SWI_OS_Write0

#define SWI_OS_Write0                      0x000002

SWI_OS_NewLine

#define SWI_OS_NewLine                     0x000003

SWI_OS_ReadC

#define SWI_OS_ReadC                       0x000004

SWI_OS_CLI

#define SWI_OS_CLI                         0x000005

SWI_OS_Byte

#define SWI_OS_Byte                        0x000006

SWI_OS_Word

#define SWI_OS_Word                        0x000007

SWI_OS_File

#define SWI_OS_File                        0x000008

SWI_OS_Args

#define SWI_OS_Args                        0x000009

SWI_OS_BGet

#define SWI_OS_BGet                        0x00000a

SWI_OS_BPut

#define SWI_OS_BPut                        0x00000b

SWI_OS_GBPB

#define SWI_OS_GBPB                        0x00000c

SWI_OS_Find

#define SWI_OS_Find                        0x00000d

SWI_OS_ReadLine

#define SWI_OS_ReadLine                    0x00000e

SWI_OS_Control

#define SWI_OS_Control                     0x00000f

SWI_OS_GetEnv

#define SWI_OS_GetEnv                      0x000010

SWI_OS_Exit

#define SWI_OS_Exit                        0x000011

SWI_OS_SetEnv

#define SWI_OS_SetEnv                      0x000012

SWI_OS_IntOn

#define SWI_OS_IntOn                       0x000013

SWI_OS_IntOff

#define SWI_OS_IntOff                      0x000014

SWI_OS_CallBack

#define SWI_OS_CallBack                    0x000015

SWI_OS_EnterOS

#define SWI_OS_EnterOS                     0x000016

SWI_OS_BreakPt

#define SWI_OS_BreakPt                     0x000017

SWI_OS_BreakCtrl

#define SWI_OS_BreakCtrl                   0x000018

SWI_OS_UnusedSWI

#define SWI_OS_UnusedSWI                   0x000019

SWI_OS_UpdateMEMC

#define SWI_OS_UpdateMEMC                  0x00001a

SWI_OS_SetCallBack

#define SWI_OS_SetCallBack                 0x00001b

SWI_OS_Mouse

#define SWI_OS_Mouse                       0x00001c

SWI_OS_Heap

#define SWI_OS_Heap                        0x00001d

SWI_OS_Module

#define SWI_OS_Module                      0x00001e

SWI_OS_Claim

#define SWI_OS_Claim                       0x00001f

SWI_OS_Release

#define SWI_OS_Release                     0x000020

SWI_OS_ReadUnsigned

#define SWI_OS_ReadUnsigned                0x000021

SWI_OS_GenerateEvent

#define SWI_OS_GenerateEvent               0x000022

SWI_OS_ReadVarVal

#define SWI_OS_ReadVarVal                  0x000023

SWI_OS_SetVarVal

#define SWI_OS_SetVarVal                   0x000024

SWI_OS_GSInit

#define SWI_OS_GSInit                      0x000025

SWI_OS_GSRead

#define SWI_OS_GSRead                      0x000026

SWI_OS_GSTrans

#define SWI_OS_GSTrans                     0x000027

SWI_OS_BinaryToDecimal

#define SWI_OS_BinaryToDecimal             0x000028

SWI_OS_FSControl

#define SWI_OS_FSControl                   0x000029

SWI_OS_ChangeDynamicArea

#define SWI_OS_ChangeDynamicArea           0x00002a

SWI_OS_GenerateError

#define SWI_OS_GenerateError               0x00002b

SWI_OS_ReadEscapeState

#define SWI_OS_ReadEscapeState             0x00002c

SWI_OS_EvaluateExpression

#define SWI_OS_EvaluateExpression          0x00002d

SWI_OS_SpriteOp

#define SWI_OS_SpriteOp                    0x00002e

SWI_OS_ReadPalette

#define SWI_OS_ReadPalette                 0x00002f

SWI_OS_ServiceCall

#define SWI_OS_ServiceCall                 0x000030

SWI_OS_ReadVduVariables

#define SWI_OS_ReadVduVariables            0x000031

SWI_OS_ReadPoint

#define SWI_OS_ReadPoint                   0x000032

SWI_OS_UpCall

#define SWI_OS_UpCall                      0x000033

SWI_OS_CallAVector

#define SWI_OS_CallAVector                 0x000034

SWI_OS_ReadModeVariable

#define SWI_OS_ReadModeVariable            0x000035

SWI_OS_RemoveCursors

#define SWI_OS_RemoveCursors               0x000036

SWI_OS_RestoreCursors

#define SWI_OS_RestoreCursors              0x000037

SWI_OS_SWINumberToString

#define SWI_OS_SWINumberToString           0x000038

SWI_OS_SWINumberFromString

#define SWI_OS_SWINumberFromString         0x000039

SWI_OS_ValidateAddress

#define SWI_OS_ValidateAddress             0x00003a

SWI_OS_CallAfter

#define SWI_OS_CallAfter                   0x00003b

SWI_OS_CallEvery

#define SWI_OS_CallEvery                   0x00003c

SWI_OS_RemoveTickerEvent

#define SWI_OS_RemoveTickerEvent           0x00003d

SWI_OS_InstallKeyHandler

#define SWI_OS_InstallKeyHandler           0x00003e

SWI_OS_CheckModeValid

#define SWI_OS_CheckModeValid              0x00003f

SWI_OS_ChangeEnvironment

#define SWI_OS_ChangeEnvironment           0x000040

SWI_OS_ClaimScreenMemory

#define SWI_OS_ClaimScreenMemory           0x000041

SWI_OS_ReadMonotonicTime

#define SWI_OS_ReadMonotonicTime           0x000042

SWI_OS_SubstituteArgs

#define SWI_OS_SubstituteArgs              0x000043

SWI_OS_PrettyPrint

#define SWI_OS_PrettyPrint                 0x000044

SWI_OS_Plot

#define SWI_OS_Plot                        0x000045

SWI_OS_WriteN

#define SWI_OS_WriteN                      0x000046

SWI_OS_AddToVector

#define SWI_OS_AddToVector                 0x000047

SWI_OS_WriteEnv

#define SWI_OS_WriteEnv                    0x000048

SWI_OS_ReadArgs

#define SWI_OS_ReadArgs                    0x000049

SWI_OS_ReadRAMFsLimits

#define SWI_OS_ReadRAMFsLimits             0x00004a

SWI_OS_ClaimDeviceVector

#define SWI_OS_ClaimDeviceVector           0x00004b

SWI_OS_ReleaseDeviceVector

#define SWI_OS_ReleaseDeviceVector         0x00004c

SWI_OS_DelinkApplication

#define SWI_OS_DelinkApplication           0x00004d

SWI_OS_RelinkApplication

#define SWI_OS_RelinkApplication           0x00004e

SWI_OS_HeapSort

#define SWI_OS_HeapSort                    0x00004f

SWI_OS_ExitAndDie

#define SWI_OS_ExitAndDie                  0x000050

SWI_OS_ReadMemMapInfo

#define SWI_OS_ReadMemMapInfo              0x000051

SWI_OS_ReadMemMapEntries

#define SWI_OS_ReadMemMapEntries           0x000052

SWI_OS_SetMemMapEntries

#define SWI_OS_SetMemMapEntries            0x000053

SWI_OS_AddCallBack

#define SWI_OS_AddCallBack                 0x000054

SWI_OS_ReadDefaultHandler

#define SWI_OS_ReadDefaultHandler          0x000055

SWI_OS_SetECFOrigin

#define SWI_OS_SetECFOrigin                0x000056

SWI_OS_SerialOp

#define SWI_OS_SerialOp                    0x000057

SWI_OS_ReadSysInfo

#define SWI_OS_ReadSysInfo                 0x000058

SWI_OS_Confirm

#define SWI_OS_Confirm                     0x000059

SWI_OS_ChangedBox

#define SWI_OS_ChangedBox                  0x00005a

SWI_OS_CRC

#define SWI_OS_CRC                         0x00005b

SWI_OS_ReadDynamicArea

#define SWI_OS_ReadDynamicArea             0x00005c

SWI_OS_PrintChar

#define SWI_OS_PrintChar                   0x00005d

SWI_OS_ChangeRedirection

#define SWI_OS_ChangeRedirection           0x00005e

SWI_OS_RemoveCallBack

#define SWI_OS_RemoveCallBack              0x00005f

SWI_OS_FindMemMapEntries

#define SWI_OS_FindMemMapEntries           0x000060

SWI_OS_SetColour

#define SWI_OS_SetColour                   0x000061

SWI_OS_Pointer

#define SWI_OS_Pointer                     0x000064

SWI_OS_ScreenMode

#define SWI_OS_ScreenMode                  0x000065

SWI_OS_DynamicArea

#define SWI_OS_DynamicArea                 0x000066

SWI_OS_Memory

#define SWI_OS_Memory                      0x000068

SWI_OS_ClaimProcessorVector

#define SWI_OS_ClaimProcessorVector        0x000069

SWI_OS_Reset

#define SWI_OS_Reset                       0x00006a

SWI_OS_MMUControl

#define SWI_OS_MMUControl                  0x00006b

SWI_OS_ConvertStandardDateAndTime

#define SWI_OS_ConvertStandardDateAndTime  0x0000c0

SWI_OS_ConvertDateAndTime

#define SWI_OS_ConvertDateAndTime          0x0000c1

SWI_OS_ConvertHex1

#define SWI_OS_ConvertHex1                 0x0000d0

SWI_OS_ConvertHex2

#define SWI_OS_ConvertHex2                 0x0000d1

SWI_OS_ConvertHex4

#define SWI_OS_ConvertHex4                 0x0000d2

SWI_OS_ConvertHex6

#define SWI_OS_ConvertHex6                 0x0000d3

SWI_OS_ConvertHex8

#define SWI_OS_ConvertHex8                 0x0000d4

SWI_OS_ConvertCardinal1

#define SWI_OS_ConvertCardinal1            0x0000d5

SWI_OS_ConvertCardinal2

#define SWI_OS_ConvertCardinal2            0x0000d6

SWI_OS_ConvertCardinal3

#define SWI_OS_ConvertCardinal3            0x0000d7

SWI_OS_ConvertCardinal4

#define SWI_OS_ConvertCardinal4            0x0000d8

SWI_OS_ConvertInteger1

#define SWI_OS_ConvertInteger1             0x0000d9

SWI_OS_ConvertInteger2

#define SWI_OS_ConvertInteger2             0x0000da

SWI_OS_ConvertInteger3

#define SWI_OS_ConvertInteger3             0x0000db

SWI_OS_ConvertInteger4

#define SWI_OS_ConvertInteger4             0x0000dc

SWI_OS_ConvertBinary1

#define SWI_OS_ConvertBinary1              0x0000dd

SWI_OS_ConvertBinary2

#define SWI_OS_ConvertBinary2              0x0000de

SWI_OS_ConvertBinary3

#define SWI_OS_ConvertBinary3              0x0000df

SWI_OS_ConvertBinary4

#define SWI_OS_ConvertBinary4              0x0000e0

SWI_OS_ConvertSpacedCardinal1

#define SWI_OS_ConvertSpacedCardinal1      0x0000e1

SWI_OS_ConvertSpacedCardinal2

#define SWI_OS_ConvertSpacedCardinal2      0x0000e2

SWI_OS_ConvertSpacedCardinal3

#define SWI_OS_ConvertSpacedCardinal3      0x0000e3

SWI_OS_ConvertSpacedCardinal4

#define SWI_OS_ConvertSpacedCardinal4      0x0000e4

SWI_OS_ConvertSpacedInteger1

#define SWI_OS_ConvertSpacedInteger1       0x0000e5

SWI_OS_ConvertSpacedInteger2

#define SWI_OS_ConvertSpacedInteger2       0x0000e6

SWI_OS_ConvertSpacedInteger3

#define SWI_OS_ConvertSpacedInteger3       0x0000e7

SWI_OS_ConvertSpacedInteger4

#define SWI_OS_ConvertSpacedInteger4       0x0000e8

SWI_OS_ConvertFixedNetStation

#define SWI_OS_ConvertFixedNetStation      0x0000e9

SWI_OS_ConvertNetStation

#define SWI_OS_ConvertNetStation           0x0000ea

SWI_OS_ConvertFixedFileSize

#define SWI_OS_ConvertFixedFileSize        0x0000eb

SWI_OS_ConvertFileSize

#define SWI_OS_ConvertFileSize             0x0000ec

SWI_IIC_Control

#define SWI_IIC_Control                    0x000240

SWI_Econet_CreateReceive

#define SWI_Econet_CreateReceive           0x040000

SWI_Econet_ExamineReceive

#define SWI_Econet_ExamineReceive          0x040001

SWI_Econet_ReadReceive

#define SWI_Econet_ReadReceive             0x040002

SWI_Econet_AbandonReceive

#define SWI_Econet_AbandonReceive          0x040003

SWI_Econet_WaitForReception

#define SWI_Econet_WaitForReception        0x040004

SWI_Econet_EnumerateReceive

#define SWI_Econet_EnumerateReceive        0x040005

SWI_Econet_StartTransmit

#define SWI_Econet_StartTransmit           0x040006

SWI_Econet_PollTransmit

#define SWI_Econet_PollTransmit            0x040007

SWI_Econet_AbandonTransmit

#define SWI_Econet_AbandonTransmit         0x040008

SWI_Econet_DoTransmit

#define SWI_Econet_DoTransmit              0x040009

SWI_Econet_ReadLocalStationAndNet

#define SWI_Econet_ReadLocalStationAndNet  0x04000a

SWI_Econet_ConvertStatusTOString

#define SWI_Econet_ConvertStatusTOString   0x04000b

SWI_Econet_ConvertStatusToError

#define SWI_Econet_ConvertStatusToError    0x04000c

SWI_Econet_ReadProtection

#define SWI_Econet_ReadProtection          0x04000d

SWI_Econet_SetProtection

#define SWI_Econet_SetProtection           0x04000e

SWI_Econet_ReadStationNumber

#define SWI_Econet_ReadStationNumber       0x04000f

SWI_Econet_PrintBanner

#define SWI_Econet_PrintBanner             0x040010

SWI_Econet_ReleasePort

#define SWI_Econet_ReleasePort             0x040012

SWI_Econet_AllocatePort

#define SWI_Econet_AllocatePort            0x040013

SWI_Econet_DeAllocatePort

#define SWI_Econet_DeAllocatePort          0x040014

SWI_Econet_ClaimPort

#define SWI_Econet_ClaimPort               0x040015

SWI_Econet_StartImmediate

#define SWI_Econet_StartImmediate          0x040016

SWI_Econet_DoImmediate

#define SWI_Econet_DoImmediate             0x040017

SWI_NetFS_ReadFSNumber

#define SWI_NetFS_ReadFSNumber             0x040040

SWI_NetFS_SetFSNumber

#define SWI_NetFS_SetFSNumber              0x040041

SWI_NetFS_ReadFSName

#define SWI_NetFS_ReadFSName               0x040042

SWI_NetFS_SetFSName

#define SWI_NetFS_SetFSName                0x040043

SWI_NetFS_ReadCurrentContext

#define SWI_NetFS_ReadCurrentContext       0x040044

SWI_NetFS_SetCurrentContext

#define SWI_NetFS_SetCurrentContext        0x040045

SWI_NetFS_ReadFSTimeouts

#define SWI_NetFS_ReadFSTimeouts           0x040046

SWI_NetFS_SetFSTimeouts

#define SWI_NetFS_SetFSTimeouts            0x040047

SWI_NetFS_DoFSOp

#define SWI_NetFS_DoFSOp                   0x040048

SWI_NetFS_EnumerateFSList

#define SWI_NetFS_EnumerateFSList          0x040049

SWI_NetFS_EnumerateFS

#define SWI_NetFS_EnumerateFS              0x04004a

SWI_NetFS_ConvertDate

#define SWI_NetFS_ConvertDate              0x04004b

SWI_NetFS_DoFSOpToGivenFS

#define SWI_NetFS_DoFSOpToGivenFS          0x04004c

SWI_Wimp_TextOp

#define SWI_Wimp_TextOp                    0x0400F9

SWI_Wimp_SetWatchdogState

#define SWI_Wimp_SetWatchdogState          0x0400FA

SWI_Wimp_Extend

#define SWI_Wimp_Extend                    0x0400FB

SWI_Wimp_ResizeIcon

#define SWI_Wimp_ResizeIcon                0x0400FC

SWI_Sound_Configure

#define SWI_Sound_Configure                0x040140

SWI_Sound_Enable

#define SWI_Sound_Enable                   0x040141

SWI_Sound_Stereo

#define SWI_Sound_Stereo                   0x040142

SWI_Sound_Speaker

#define SWI_Sound_Speaker                  0x040143

SWI_Sound_Volume

#define SWI_Sound_Volume                   0x040180

SWI_Sound_SoundLog

#define SWI_Sound_SoundLog                 0x040181

SWI_Sound_LogScale

#define SWI_Sound_LogScale                 0x040182

SWI_Sound_InstallVoice

#define SWI_Sound_InstallVoice             0x040183

SWI_Sound_RemoveVoice

#define SWI_Sound_RemoveVoice              0x040184

SWI_Sound_AttachVoice

#define SWI_Sound_AttachVoice              0x040185

SWI_Sound_ControlPacked

#define SWI_Sound_ControlPacked            0x040186

SWI_Sound_Tuning

#define SWI_Sound_Tuning                   0x040187

SWI_Sound_Pitch

#define SWI_Sound_Pitch                    0x040188

SWI_Sound_Control

#define SWI_Sound_Control                  0x040189

SWI_Sound_AttachNamedVoice

#define SWI_Sound_AttachNamedVoice         0x04018a

SWI_Sound_ReadControlBlock

#define SWI_Sound_ReadControlBlock         0x04018b

SWI_Sound_WriteControlBlock

#define SWI_Sound_WriteControlBlock        0x04018c

SWI_Sound_QInit

#define SWI_Sound_QInit                    0x0401c0

SWI_Sound_QSchedule

#define SWI_Sound_QSchedule                0x0401c1

SWI_Sound_QRemove

#define SWI_Sound_QRemove                  0x0401c2

SWI_Sound_QFree

#define SWI_Sound_QFree                    0x0401c3

SWI_Sound_QSDispatch

#define SWI_Sound_QSDispatch               0x0401c4

SWI_Sound_QTempo

#define SWI_Sound_QTempo                   0x0401c5

SWI_Sound_QBeat

#define SWI_Sound_QBeat                    0x0401c6

SWI_Sound_QInterface

#define SWI_Sound_QInterface               0x0401c7

SWI_NetPrint_ReadPSNumber

#define SWI_NetPrint_ReadPSNumber          0x040200

SWI_NetPrint_SetPSNumber

#define SWI_NetPrint_SetPSNumber           0x040201

SWI_NetPrint_ReadPSName

#define SWI_NetPrint_ReadPSName            0x040202

SWI_NetPrint_SetPSName

#define SWI_NetPrint_SetPSName             0x040203

SWI_NetPrint_ReadPSTimeouts

#define SWI_NetPrint_ReadPSTimeouts        0x040204

SWI_NetPrint_SetPSTimeouts

#define SWI_NetPrint_SetPSTimeouts         0x040205

SWI_ADFS_DiscOp

#define SWI_ADFS_DiscOp                    0x040240

SWI_ADFS_HDC

#define SWI_ADFS_HDC                       0x040241

SWI_ADFS_Drives

#define SWI_ADFS_Drives                    0x040242

SWI_ADFS_FreeSpace

#define SWI_ADFS_FreeSpace                 0x040243

SWI_ADFS_Retries

#define SWI_ADFS_Retries                   0x040244

SWI_ADFS_DescribeDisc

#define SWI_ADFS_DescribeDisc              0x040245

SWI_Podule_ReadID

#define SWI_Podule_ReadID                  0x040280

SWI_Podule_ReadHeader

#define SWI_Podule_ReadHeader              0x040281

SWI_Podule_EnumerateChunks

#define SWI_Podule_EnumerateChunks         0x040282

SWI_Podule_ReadChunk

#define SWI_Podule_ReadChunk               0x040283

SWI_Podule_ReadBytes

#define SWI_Podule_ReadBytes               0x040284

SWI_Podule_WriteBytes

#define SWI_Podule_WriteBytes              0x040285

SWI_Podule_CallLoader

#define SWI_Podule_CallLoader              0x040286

SWI_Podule_RawRead

#define SWI_Podule_RawRead                 0x040287

SWI_Podule_RawWrite

#define SWI_Podule_RawWrite                0x040288

SWI_Podule_HardwareAddress

#define SWI_Podule_HardwareAddress         0x040289

SWI_Podule_EnumerateChunksWithInfo

#define SWI_Podule_EnumerateChunksWithInfo 0x04028A

SWI_Podule_HardwareAddresses

#define SWI_Podule_HardwareAddresses       0x04028B

SWI_Podule_ReturnNumber

#define SWI_Podule_ReturnNumber            0x04028C

SWI_Podule_ReadInfo

#define SWI_Podule_ReadInfo                0x04028D

SWI_Podule_SetSpeed

#define SWI_Podule_SetSpeed                0x04028E

SWI_WaveSynth_Load

#define SWI_WaveSynth_Load                 0x040300

SWI_Debugger_Disassemble

#define SWI_Debugger_Disassemble           0x040380

SWI_FPEmulator_Version

#define SWI_FPEmulator_Version             0x040480

SWI_FileCore_DiscOp

#define SWI_FileCore_DiscOp                0x040540

SWI_FileCore_Create

#define SWI_FileCore_Create                0x040541

SWI_FileCore_Drives

#define SWI_FileCore_Drives                0x040542

SWI_FileCore_FreeSpace

#define SWI_FileCore_FreeSpace             0x040543

SWI_FileCore_FloppyStructure

#define SWI_FileCore_FloppyStructure       0x040544

SWI_FileCore_DescribeDisc

#define SWI_FileCore_DescribeDisc          0x040545

SWI_Shell_Create

#define SWI_Shell_Create                   0x0405c0

SWI_Shell_Destroy

#define SWI_Shell_Destroy                  0x0405c1

SWI_Draw_ProcessPath

#define SWI_Draw_ProcessPath               0x040700

SWI_Draw_ProcessPathFP

#define SWI_Draw_ProcessPathFP             0x040701

SWI_Draw_Fill

#define SWI_Draw_Fill                      0x040702

SWI_Draw_FillFP

#define SWI_Draw_FillFP                    0x040703

SWI_Draw_Stroke

#define SWI_Draw_Stroke                    0x040704

SWI_Draw_StrokeFP

#define SWI_Draw_StrokeFP                  0x040705

SWI_Draw_StrokePath

#define SWI_Draw_StrokePath                0x040706

SWI_Draw_StrokePathFP

#define SWI_Draw_StrokePathFP              0x040707

SWI_Draw_FlattenPath

#define SWI_Draw_FlattenPath               0x040708

SWI_Draw_FlattenPathFP

#define SWI_Draw_FlattenPathFP             0x040709

SWI_Draw_TransformPath

#define SWI_Draw_TransformPath             0x04070a

SWI_Draw_TransformPathFP

#define SWI_Draw_TransformPathFP           0x04070b

SWI_ColourTrans_GenerateTable

#define SWI_ColourTrans_GenerateTable      0x040763

SWI_RamFS_DiscOp

#define SWI_RamFS_DiscOp                   0x040780

SWI_RamFS_Drives

#define SWI_RamFS_Drives                   0x040782

SWI_RamFS_FreeSpace

#define SWI_RamFS_FreeSpace                0x040783

SWI_RamFS_DescribeDisc

#define SWI_RamFS_DescribeDisc             0x040785

SWI_TaskManager_TaskNameFromHandle

#define SWI_TaskManager_TaskNameFromHandle 0x042680

SWI_TaskManager_EnumerateTasks

#define SWI_TaskManager_EnumerateTasks     0x042681

SWI_TaskManager_Shutdown

#define SWI_TaskManager_Shutdown           0x042682

SWI_DeviceFS_Register

#define SWI_DeviceFS_Register              0x042740

DeviceFS


SWI_DeviceFS_Deregister

#define SWI_DeviceFS_Deregister            0x042741

SWI_DeviceFS_RegisterObjects

#define SWI_DeviceFS_RegisterObjects       0x042742

SWI_DeviceFS_DeregisterObjects

#define SWI_DeviceFS_DeregisterObjects     0x042743

SWI_DeviceFS_CallDevice

#define SWI_DeviceFS_CallDevice            0x042744

SWI_DeviceFS_Threshold

#define SWI_DeviceFS_Threshold             0x042745

SWI_DeviceFS_ReceivedCharacter

#define SWI_DeviceFS_ReceivedCharacter     0x042746

SWI_DeviceFS_TransmitCharacter

#define SWI_DeviceFS_TransmitCharacter     0x042747

SWI_URI_Version

#define SWI_URI_Version                    0x04E380

Acorn URI system SWIs


SWI_URI_Dispatch

#define SWI_URI_Dispatch                   0x04E381

SWI_URI_RequestURI

#define SWI_URI_RequestURI                 0x04E382

SWI_URI_InvalidateURI

#define SWI_URI_InvalidateURI              0x04E383

SWI_PCI_ReadID

#define SWI_PCI_ReadID                     0x050380

PCI Manager


SWI_PCI_ReadHeader

#define SWI_PCI_ReadHeader                 0x050381

SWI_PCI_ReturnNumber

#define SWI_PCI_ReturnNumber               0x050382

SWI_PCI_EnumerateFunctions

#define SWI_PCI_EnumerateFunctions         0x050383

SWI_PCI_IORead

#define SWI_PCI_IORead                     0x050384

SWI_PCI_IOWrite

#define SWI_PCI_IOWrite                    0x050385

SWI_PCI_MemoryRead

#define SWI_PCI_MemoryRead                 0x050386

SWI_PCI_MemoryWrite

#define SWI_PCI_MemoryWrite                0x050387

SWI_PCI_ConfigurationRead

#define SWI_PCI_ConfigurationRead          0x050388

SWI_PCI_ConfigurationWrite

#define SWI_PCI_ConfigurationWrite         0x050389

SWI_PCI_HardwareAddress

#define SWI_PCI_HardwareAddress            0x05038A

SWI_PCI_ReadInfo

#define SWI_PCI_ReadInfo                   0x05038B

SWI_PCI_SpecialCycle

#define SWI_PCI_SpecialCycle               0x05038C

SWI_PCI_FindByLocation

#define SWI_PCI_FindByLocation             0x05038D

SWI_PCI_FindByID

#define SWI_PCI_FindByID                   0x05038E

SWI_PCI_FindByClass

#define SWI_PCI_FindByClass                0x05038F

SWI_PCI_RAMAlloc

#define SWI_PCI_RAMAlloc                   0x050390

SWI_PCI_RAMFree

#define SWI_PCI_RAMFree                    0x050391

SWI_PCI_LogicalAddress

#define SWI_PCI_LogicalAddress             0x050392

SWI_Tinct_PlotAlpha

#define SWI_Tinct_PlotAlpha                0x057240

Tinct


SWI_Tinct_PlotScaledAlpha

#define SWI_Tinct_PlotScaledAlpha          0x057241

SWI_Tinct_Plot

#define SWI_Tinct_Plot                     0x057242

SWI_Tinct_PlotScaled

#define SWI_Tinct_PlotScaled               0x057243

SWI_Tinct_ConvertSprite

#define SWI_Tinct_ConvertSprite            0x057244

SWI_Tinct_AvailableFeatures

#define SWI_Tinct_AvailableFeatures        0x057245

SWI_Tinct_Compress

#define SWI_Tinct_Compress                 0x057246

SWI_Tinct_Decompress

#define SWI_Tinct_Decompress               0x057247

SWI_Reporter_Text0

#define SWI_Reporter_Text0                 0x054C80

Reporter


SWI_Reporter_TextS

#define SWI_Reporter_TextS                 0x054C81

SWI_Reporter_Regs

#define SWI_Reporter_Regs                  0x054C82

SWI_Reporter_Registers

#define SWI_Reporter_Registers             0x054C83

SWI_Reporter_Where

#define SWI_Reporter_Where                 0x054C84

SWI_Reporter_Poll

#define SWI_Reporter_Poll                  0x054C85

SWI_Reporter_Dump

#define SWI_Reporter_Dump                  0x054C86

SWI_SysLog_LogMessage

#define SWI_SysLog_LogMessage               0x4C880

SysLog


SWI_SysLog_GetLogLevel

#define SWI_SysLog_GetLogLevel              0x4C881

SWI_SysLog_FlushLog

#define SWI_SysLog_FlushLog                 0x4C882

SWI_SysLog_SetLogLevel

#define SWI_SysLog_SetLogLevel              0x4C883

SWI_SysLog_LogUnstamped

#define SWI_SysLog_LogUnstamped             0x4C884

SWI_SysLog_Indent

#define SWI_SysLog_Indent                   0x4C885

SWI_SysLog_UnIndent

#define SWI_SysLog_UnIndent                 0x4C886

SWI_SysLog_NoIndent

#define SWI_SysLog_NoIndent                 0x4C887

SWI_SysLog_OpenSessionLog

#define SWI_SysLog_OpenSessionLog           0x4C888

SWI_SysLog_CloseSessionLog

#define SWI_SysLog_CloseSessionLog          0x4C889

SWI_SysLog_LogData

#define SWI_SysLog_LogData                  0x4C88A

SWI_SysLog_LogFormatted

#define SWI_SysLog_LogFormatted             0x4C88B

SWI_SysLog_ReadErrorMessage

#define SWI_SysLog_ReadErrorMessage         0x4C88C

SWI_SysLog_LogComplete

#define SWI_SysLog_LogComplete              0x4C88D

SWI_SysLog_IRQMode

#define SWI_SysLog_IRQMode                  0x4C88E