; Constants  0.18  15-09-2020

; All assignments must use real tabs or PROC_ObjAsmToBASIC will fail.
; StrongED$Mode = ObjAsm

; Starting with some 'unofficial' ones...

	GBLS	NAME				; name, version and (build) date
	GBLS	VERSION
	GBLS	DATE
	GBLA	DNSVER

	GBLL	APCS				; {TRUE} if the program uses the ARM Procedure Call Standard
	GBLL	MODULE				; {TRUE} if the object is a relocatable module
	GBLL	APPLIC				; {TRUE} if the object is an application
	GBLL	R9SET				; {TRUE} or {FALSE} depending on whether r9 needs to be set explicitly
	GBLS	INSERT				; set to the dump routine that needs to be inserted (empty string if none required)
	GBLA	EBASE				; error base - for use by the EBLOCK macro

wp		RN r12				; workspace pointer
SP		RN r13

; ctype bits

WhiteSpaceBit	* 1<<0
PunctuationBit	* 1<<1
BlankBit	* 1<<2
LowerCaseBit	* 1<<3
UpperCaseBit	* 1<<4
DecDigitBit	* 1<<5
ControlBit	* 1<<6
ABCDEF_Bit	* 1<<7
HexDigitBits	* ABCDEF_Bit :OR: DecDigitBit

; offsets in a hostent block
PrimaryName	* 0				; pointer to primary name of host
AliasPointers	* 4				; pointer to block of pointers to alias names for host
AddressType	* 8				; address type (AF_INET - 2)
AddressLength	* 12				; address length (4)
ListPointer	* 16				; pointer to list of addresses for host

; control character values
	GBLS	cA
	GBLS	cB
	GBLS	cC
	GBLS	cD
	GBLS	cE
	GBLS	cF
	GBLS	cG
	GBLS	cH
	GBLS	cI
	GBLS	cJ
	GBLS	cK
	GBLS	cL
	GBLS	cM
	GBLS	cN
	GBLS	cO
	GBLS	cP
	GBLS	cQ
	GBLS	cR
	GBLS	cS
	GBLS	cT
	GBLS	cU
	GBLS	cV
	GBLS	cW
	GBLS	cX
	GBLS	cY
	GBLS	cZ

cA	SETS	:CHR: 1
cB	SETS	:CHR: 2
cC	SETS	:CHR: 3
cD	SETS	:CHR: 4
cE	SETS	:CHR: 5
cF	SETS	:CHR: 6
cG	SETS	:CHR: 7
cH	SETS	:CHR: 8
cI	SETS	:CHR: 9
cJ	SETS	:CHR: 10
cK	SETS	:CHR: 11
cL	SETS	:CHR: 12
cM	SETS	:CHR: 13
cN	SETS	:CHR: 14
cO	SETS	:CHR: 15
cP	SETS	:CHR: 16
cQ	SETS	:CHR: 17
cR	SETS	:CHR: 18
cS	SETS	:CHR: 19
cT	SETS	:CHR: 20
cU	SETS	:CHR: 21
cV	SETS	:CHR: 22
cW	SETS	:CHR: 23
cX	SETS	:CHR: 24
cY	SETS	:CHR: 25
cZ	SETS	:CHR: 26

; misc

I_flag		* 1<<7				; interrupt bit
V_flag		* 1<<28				; overflow flag bit
C_flag		* 1<<29				; carry flag bit
Z_flag		* 1<<30				; zero flag bit
N_flag		* 1<<31				; negative flag bit
UDP_MessageSize	* 512				; usually anyway...
X		* 1<<17				; X-bit

; These are official...

; ASCII control codes

NUL		* 0				; null
SOH		* 1				; start of heading
STX		* 2				; start of text
ETX		* 3				; end of text
EOT		* 4				; end of transmission
ENQ		* 5				; enquiry
ACK		* 6				; acknowledge
BEL		* 7				; bell
BS		* 8				; backspace
HT		* 9				; horizontal tabulation
LF		* 10				; line feed
VT		* 11				; vertical tabulation
FF		* 12				; form feed
CR		* 13				; carriage return
SO		* 14				; shift out
SI		* 15				; shift in
DLE		* 16				; data link escape
DC1		* 17				; device controller 1
DC2		* 18				; device controller 2
DC3		* 19				; device controller 3
DC4		* 20				; device controller 4
NAK		* 21				; negative acknowledge
SYN		* 22				; synchronous idle
ETB		* 23				; end of transmission block
CAN		* 24				; cancel
EM		* 25				; end of medium
;SUB		* 26				; substitute (conflicts with SUB mnemonic)
ESC		* 27				; escape
FS		* 28				; file separator
GS		* 29				; group separator
RS		* 30				; record separator
US		* 31				; unit separator
DEL		* 127				; delete

; protocol and address family

PF_INET				* 2
AF_INET				* 2

; socket types

SOCK_STREAM			* 1
SOCK_DGRAM			* 2
SOCK_RAW			* 3

; socket error numbers

EPERM				* 1		; Operation not permitted
ENOENT				* 2		; No such file or directory
ESRCH				* 3		; No such process
EINTR				* 4		; Interrupted system call
EIO				* 5		; I/O error
ENXIO				* 6		; Device not configured
E2BIG				* 7		; Argument list too long
ENOEXEC				* 8		; Exec format error
EBADF				* 9		; Bad file descriptor
ECHILD				* 10		; No child processes
EDEADLK				* 11		; Resource deadlock avoided
ENOMEM				* 12		; Cannot allocate memory
EACCES				* 13		; Permission denied
EFAULT				* 14		; Bad address
ENOTBLK				* 15		; Block device required
EBUSY				* 16		; Device busy
EEXIST				* 17		; File exists
EXDEV				* 18		; Cross-device link
ENODEV				* 19		; Operation not supported by device
ENOTDIR				* 20		; Not a directory
EISDIR				* 21		; Is a directory
EINVAL				* 22		; Invalid argument
ENFILE				* 23		; Too manu open files in system
EMFILE				* 24		; Too many open files
ENOTTY				* 25		; Inappropriate ioctl for device
ETXTBSY				* 26		; Text file busy
EFBIG				* 27		; File too large
ENOSPC				* 28		; No space left on device
ESPIPE				* 29		; Illegal seek
EROFS				* 30		; Read-only filesystem
EMLINK				* 31		; Too many links
EPIPE				* 32		; Broken pipe
EDOM				* 33		; Numerical argument out of domain
ERANGE				* 34		; Result too large
EAGAIN                         	* 35		; Resource temporarily unavailable
EWOULDBLOCK			* 35		; Operation would block
EINPROGRESS			* 36		; Operation now in progress
EALREADY			* 37		; Operation already in progress
ENOTSOCK			* 38		; Socket operation on non-socket
EDESTADDRREQ			* 39		; Destination address required
EMSGSIZE			* 40		; Message too long
EPROTOTYPE			* 41		; Protocol wrong type for socket
ENOPROTOOPT			* 42		; Protocol not available
EPROTONOSUPPORT			* 43		; Protocol not supported
ESOCKNOSUPPORT			* 44		; Socket type not supported
EOPNOTSUPP			* 45		; Operation not supported on socket
ENOTSUPP			* 45		; Operation not supported
EPFNOSUPPORT			* 46		; Protocol family not supported
EAFNOSUPPORT			* 47		; Address family not supported by protocol family
EADDRINUSE			* 48		; Address already in use
EADDRNOTAVAIL			* 49		; Can't assign requested address
ENETDOWN			* 50		; Network is down
ENETUNREACH			* 51		; Network is unreachable
ENETRESET			* 52		; Network dropped connection on reset
ECONNABORTED			* 53		; Software caused connection abort
ECONNRESET			* 54		; Connection reset by peer
ENOBUFS				* 55		; No buffer space available
EISCONN				* 56		; Socket is already connected
ENOTCONN			* 57		; Socket is not connected
ESHUTDOWN			* 58		; Can't send after socket shutdown
ETOOMANYREFS			* 59		; Too many references: can't splice
ETIMEDOUT			* 60		; Connection timed out
ECONNREFUSED			* 61		; Connection refused
ELOOP				* 62		; Too many levels of symbolic links
ENAMETOOLONG			* 63		; File name too long
EHOSTDOWN			* 64		; Host is down
EHOSTUNREACH			* 65		; No route to host
ENOTEMPTY			* 66		; Directory not empty
EPROCLIM			* 67		; Too many processes
EUSERS				* 68		; Too many users
EDQUOT				* 69		; Disc quota exceeded
ESTALE				* 70		; Stale NFS file handle
EREMOTE				* 71		; Too many levels of remote in path
EBADRPC				* 72		; RPC structure is bad
ERPCMISMATCH			* 73		; RPC version is wrong
EPROGUNAVAIL			* 74		; RPC program not available
EPROGMISMATCH			* 75		; RPC program version wrong
EPROCUNAVAIL			* 76		; RPC bad procedure for program
ENOLCK				* 77		; No locks available
ENOSYS				* 78		; Function not implemented
EFTYPE				* 79		; Inappropriate file type or format
EAUTH				* 80		; Authentication error
ENEEDAUTH			* 81		; Need authenticator
EIDRM				* 82		; Identifier removed
ENOMSG				* 83		; No message of desired type
EOVERFLOW			* 84		; Value too large to be stored in data type
ECANCELED			* 85		; Operation canceled
EILSEQ				* 86		; Illegal byte sequence
ENOATTR				* 87		; Attribute not found
EDOOFUS				* 88		; Programming error
EBADMSG				* 89		; Bad message
EMULTIHOP			* 90		; Multihop attempted
ENOLINK				* 91		; Link has been severed
EPROTO				* 92		; Protocol error
ENOTCAPABLE			* 93		; Capabilities insufficient
ECAPMODE			* 94		; Not permitted in capability mode
ENOTRECOVERABLE			* 95		; State not recoverable
EOWNERDEAD			* 96		; Previous owner died
ELAST				* 96		; Must be equal largest errno

; Acorn
;EDEADLK			* 78		; Deadlock condition.
;ENOLCK				* 79		; No record locks available.
;ENOMSG				* 80		; No suitable message on queue
;EIDRM				* 81		; Identifier removed from system
;ELIBVER			* 82		; Wrong version of shared library
;ELIBACC			* 83		; Permission denied (shared library)
;ELIBLIM			* 84		; Shared libraries nested too deeply
;ELIBNOENT			* 85		; Shared library file not found
;ELIBNOEXEC			* 86		; Shared library exec format error

;UnixLib
EBACKGROUND			* 100		; Inappropriate operation for background process
EDIED				* 101		; Translator died
EGREGIOUS			* 103		; A pretty bad error (so says unixlib!)
EGRATUITOUS			* 105		; Gratuitous error (!)

; iotcl values

FIOSLEEPTW			* &80046679	; Allow sleeps in taskwindows
FIORXDIR			* &8004667A	; Select direct reception
FIOGETOWN			* &8004667B	; Get owner of connection
FIOSETOWN			* &8004667C	; Set owner of connection
FIOASYNC			* &8004667D	; Select asynchronous connection
FIONBIO				* &8004667E	; Select non-blocking connection
FIONREAD			* &4004667F	; Read number of bytes awaiting reception

; socket flags

MSG_OOB				* 1		; Send/read 'out of band' data
MSG_PEEK			* 2		; Examine data
MSG_EOR				* 8		; This data completes the record
MSG_TRUNC			* &10		; Message was truncated
MSG_WAITALL			* &40		; Force blocking
MSG_DONTWAIT			* &80		; Force non-blocking

; socket options

SOL_SOCKET			* &FFFF

SO_REUSEADDR			* 4
SO_KEEPALIVE			* 8
SO_DONTROUTE			* &10
SO_BROADCAST			* &20
SO_LINGER			* &80
SO_OOBINLINE			* &100
SO_SNDBUF			* &1001
SO_RCVBUF			* &1002
SO_SNDLOWAT			* &1003
SO_RCVLOWAT			* &1004
SO_SNDTIMEO			* &1005
SO_RCVTIMEO			* &1006
SO_ERROR			* &1007
SO_TYPE				* &1008
; extension socket options to getsockopt() and setsockopt()
SO_ACORNSSL_HOSTNAME		* &11E0
SO_ACORNSSL_PROMPTTIME		* &11E1


; SWI numbers

OS_WriteC			* &00
OS_WriteS			* &01
OS_Write0			* &02
OS_NewLine			* &03
OS_ReadC			* &04
OS_CLI				* &05
OS_Byte				* &06
OS_Word				* &07
OS_File				* &08
OS_Args				* &09
OS_BGet				* &0A
OS_BPut				* &0B
OS_GBPB				* &0C
OS_Find				* &0D
OS_ReadLine			* &0E
OS_Control			* &0F
OS_GetEnv			* &10
OS_Exit				* &11
OS_SetEnv			* &12
OS_IntOn			* &13
OS_IntOff			* &14
OS_CallBack			* &15
OS_EnterOS			* &16
OS_BreakPt			* &17
OS_BreakCtrl			* &18
OS_UnusedSWI			* &19
OS_UpdateMEMC			* &1A
OS_SetCallBack			* &1B
OS_Mouse			* &1C
OS_Heap				* &1D
OS_Module			* &1E
OS_Claim			* &1F
OS_Release			* &20
OS_ReadUnsigned			* &21
OS_GenerateEvent		* &22
OS_ReadVarVal			* &23
OS_SetVarVal			* &24
OS_GSInit			* &25
OS_GSRead			* &26
OS_GSTrans			* &27
OS_BinaryToDecimal		* &28
OS_FSControl			* &29
OS_ChangeDynamicArea		* &2A
OS_GenerateError		* &2B
OS_ReadEscapeState		* &2C
OS_EvaluateExpression		* &2D
OS_SpriteOp			* &2E
OS_ReadPalette			* &2F
OS_ServiceCall			* &30
OS_ReadVduVariables		* &31
OS_ReadPoint			* &32
OS_UpCall			* &33
OS_CallAVector			* &34
OS_ReadModeVariable		* &35
OS_RemoveCursors		* &36
OS_RestoreCursors		* &37
OS_SWINumberToString		* &38
OS_SWINumberFromString		* &39
OS_ValidateAddress		* &3A
OS_CallAfter			* &3B
OS_CallEvery			* &3C
OS_RemoveTickerEvent		* &3D
OS_InstallKeyHandler		* &3E
OS_CheckModeValid		* &3F
OS_ChangeEnvironment		* &40
OS_ClaimScreenMemory		* &41
OS_ReadMonotonicTime		* &42
OS_SubstituteArgs		* &43
OS_PrettyPrint			* &44
OS_Plot				* &45
OS_WriteN			* &46
OS_AddToVector			* &47
OS_WriteEnv			* &48
OS_ReadArgs			* &49
OS_ReadRAMFsLimits		* &4A
OS_ClaimDeviceVector		* &4B
OS_ReleaseDeviceVector		* &4C
OS_DelinkApplication		* &4D
OS_RelinkApplication		* &4E
OS_HeapSort			* &4F
OS_ExitAndDie			* &50
OS_ReadMemMapInfo		* &51
OS_ReadMemMapEntries		* &52
OS_SetMemMapEntries		* &53
OS_AddCallBack			* &54
OS_ReadDefaultHandler		* &55
OS_SetECFOrigin			* &56
OS_SerialOp			* &57
OS_ReadSysInfo			* &58
OS_Confirm			* &59
OS_ChangedBox			* &5A
OS_CRC				* &5B
OS_ReadDynamicArea		* &5C
OS_PrintChar			* &5D
OS_ChangeRedirection		* &5E
OS_RemoveCallBack		* &5F
OS_FindMemMapEntries		* &60
OS_ReadDefaultVector		* &61
OS_Pointer			* &64
OS_ScreenMode			* &65
OS_DynamicArea			* &66
OS_AbortTrap			* &67
OS_Memory			* &68
OS_ClaimProcessorVector		* &69
OS_Reset			* &6A
OS_MMUControl			* &6B
OS_PlatformFeatures		* &6D
OS_SynchroniseCodeAreas		* &6E
OS_CallASWI			* &6F
OS_AMBControl			* &70
OS_CallASWIR12			* &71
OS_EnterUSR32			* &73
OS_EnterUSR26			* &74
OS_Hardware			* &7A
OS_LeaveOS			* &7C
OS_ReadLine32			* &7D
OS_SubstituteArgs32		* &7E
OS_HeapSort32			* &7F
OS_ConvertStandardDateAndTime	* &C0
OS_ConvertDateAndTime		* &C1
OS_ConvertHex1			* &D0
OS_ConvertHex2			* &D1
OS_ConvertHex4			* &D2
OS_ConvertHex6			* &D3
OS_ConvertHex8			* &D4
OS_ConvertCardinal1		* &D5
OS_ConvertCardinal2		* &D6
OS_ConvertCardinal3		* &D7
OS_ConvertCardinal4		* &D8
OS_ConvertInteger1		* &D9
OS_ConvertInteger2		* &DA
OS_ConvertInteger3		* &DB
OS_ConvertInteger4		* &DC
OS_ConvertBinary1		* &DD
OS_ConvertBinary2		* &DE
OS_ConvertBinary3		* &DF
OS_ConvertBinary4		* &E0
OS_ConvertSpacedCardinal1	* &E1
OS_ConvertSpacedCardinal2	* &E2
OS_ConvertSpacedCardinal3	* &E3
OS_ConvertSpacedCardinal4	* &E4
OS_ConvertSpacedInteger1	* &E5
OS_ConvertSpacedInteger2	* &E6
OS_ConvertSpacedInteger3	* &E7
OS_ConvertSpacedInteger4	* &E8
OS_ConvertFixedNetStation	* &E9
OS_ConvertNetStation		* &EA
OS_ConvertFixedFileSize		* &EB
OS_ConvertFileSize		* &EC
OS_WriteI			* &100

IIC_Control			* &240

Cache_Control			* &280
Cache_Cacheable			* &281
Cache_Updateable		* &282
Cache_Disruptive		* &283
Cache_Flush			* &284

Econet_CreateReceive		* &40000
Econet_ExamineReceive		* &40001
Econet_ReadReceive		* &40002
Econet_AbandonReceive		* &40003
Econet_WaitForReception		* &40004
Econet_EnumerateReceive		* &40005
Econet_StartTransmit		* &40006
Econet_PollTransmit		* &40007
Econet_AbandonTransmit		* &40008
Econet_DoTransmit		* &40009
Econet_ReadLocalStationAndNet	* &4000A
Econet_ConvertStatusToString	* &4000B
Econet_ConvertStatusToError	* &4000C
Econet_ReadProtection		* &4000D
Econet_SetProtection		* &4000E
Econet_ReadStationNumber	* &4000F
Econet_PrintBanner		* &40010
Econet_ReadTransportType	* &40011
Econet_ReleasePort		* &40012
Econet_AllocatePort		* &40013
Econet_DeAllocatePort		* &40014
Econet_ClaimPort		* &40015
Econet_StartImmediate		* &40016
Econet_DoImmediate		* &40017
Econet_AbandonAndReadReceive	* &40018
Econet_Version			* &40019
Econet_NetworkState		* &4001A
Econet_PacketSize		* &4001B
Econet_ReadTransportName	* &4001C
Econet_InetRxDirect		* &4001D
Econet_EnumerateMap		* &4001E
Econet_EnumerateTransmit	* &4001F
Econet_HardwareAddresses	* &40020

NetFS_ReadFSNumber		* &40040
NetFS_SetFSNumber		* &40041
NetFS_ReadFSName		* &40042
NetFS_SetFSName			* &40043
NetFS_ReadCurrentContext	* &40044
NetFS_SetCurrentContext		* &40045
NetFS_ReadFSTimeouts		* &40046
NetFS_SetFSTimeouts		* &40047
NetFS_DoFSOp			* &40048
NetFS_EnumerateFSList		* &40049
NetFS_EnumerateFS		* &4004A
NetFS_ConvertDate		* &4004B
NetFS_DoFSOpToGivenFS		* &4004C
NetFS_UpdateFSList		* &4004D
NetFS_EnumerateFSContexts	* &4004E
NetFS_ReadUserId		* &4004F
NetFS_GetObjectUID		* &40050
NetFS_EnableCache		* &40051

Font_CacheAddr			* &40080
Font_FindFont			* &40081
Font_LoseFont			* &40082
Font_ReadDefn			* &40083
Font_ReadInfo			* &40084
Font_StringWidth		* &40085
Font_Paint			* &40086
Font_Caret			* &40087
Font_ConverttoOS		* &40088
Font_Converttopoints		* &40089
Font_SetFont			* &4008A
Font_CurrentFont		* &4008B
Font_FutureFont			* &4008C
Font_FindCaret			* &4008D
Font_CharBBox			* &4008E
Font_ReadScaleFactor		* &4008F
Font_SetScaleFactor		* &40090
Font_ListFonts			* &40091
Font_SetFontColours		* &40092
Font_SetPalette			* &40093
Font_ReadThresholds		* &40094
Font_SetThresholds		* &40095
Font_FindCaretJ			* &40096
Font_StringBBox			* &40097
Font_ReadColourTable		* &40098
Font_MakeBitmap			* &40099
Font_UnCacheFile		* &4009A
Font_SetFontMax			* &4009B
Font_ReadFontMax		* &4009C
Font_ReadFontPrefix		* &4009D
Font_SwitchOutputToBuffer	* &4009E
Font_ReadFontMetrics		* &4009F
Font_DecodeMenu			* &400A0
Font_ScanString			* &400A1
Font_SetColourTable		* &400A2
Font_CurrentRGB			* &400A3
Font_FutureRGB			* &400A4
Font_ReadEncodingFilename	* &400A5
Font_FindField			* &400A6
Font_ApplyFields		* &400A7
Font_LookupFont			* &400A8

Wimp_Initialise			* &400C0
Wimp_CreateWindow		* &400C1
Wimp_CreateIcon			* &400C2
Wimp_DeleteWindow		* &400C3
Wimp_DeleteIcon			* &400C4
Wimp_OpenWindow			* &400C5
Wimp_CloseWindow		* &400C6
Wimp_Poll			* &400C7
Wimp_RedrawWindow		* &400C8
Wimp_UpdateWindow		* &400C9
Wimp_GetRectangle		* &400CA
Wimp_GetWindowState		* &400CB
Wimp_GetWindowInfo		* &400CC
Wimp_SetIconState		* &400CD
Wimp_GetIconState		* &400CE
Wimp_GetPointerInfo		* &400CF
Wimp_DragBox			* &400D0
Wimp_ForceRedraw		* &400D1
Wimp_SetCaretPosition		* &400D2
Wimp_GetCaretPosition		* &400D3
Wimp_CreateMenu			* &400D4
Wimp_DecodeMenu			* &400D5
Wimp_WhichIcon			* &400D6
Wimp_SetExtent			* &400D7
Wimp_SetPointerShape		* &400D8
Wimp_OpenTemplate		* &400D9
Wimp_CloseTemplate		* &400DA
Wimp_LoadTemplate		* &400DB
Wimp_ProcessKey			* &400DC
Wimp_CloseDown			* &400DD
Wimp_StartTask			* &400DE
Wimp_ReportError		* &400DF
Wimp_GetWindowOutline		* &400E0
Wimp_PollIdle			* &400E1
Wimp_PlotIcon			* &400E2
Wimp_SetMode			* &400E3
Wimp_SetPalette			* &400E4
Wimp_ReadPalette		* &400E5
Wimp_SetColour			* &400E6
Wimp_SendMessage		* &400E7
Wimp_CreateSubMenu		* &400E8
Wimp_SpriteOp			* &400E9
Wimp_BaseOfSprites		* &400EA
Wimp_BlockCopy			* &400EB
Wimp_SlotSize			* &400EC
Wimp_ReadPixTrans		* &400ED
Wimp_ClaimFreeMemory		* &400EE
Wimp_CommandWindow		* &400EF
Wimp_TextColour			* &400F0
Wimp_TransferBlock		* &400F1
Wimp_ReadSysInfo		* &400F2
Wimp_SetFontColours		* &400F3
Wimp_GetMenuState		* &400F4
Wimp_RegisterFilter		* &400F5
Wimp_AddMessages		* &400F6
Wimp_RemoveMessages		* &400F7
Wimp_SetColourMapping		* &400F8
Wimp_TextOp			* &400F9
Wimp_SetWatchdogState		* &400FA
Wimp_Extend			* &400FB
Wimp_ResizeIcon			* &400FC

Sound_Configure			* &40140
Sound_Enable			* &40141
Sound_Stereo			* &40142
Sound_Speaker			* &40143
Sound_Mode			* &40144
Sound_LinearHandler		* &40145
Sound_SampleRate		* &40146
Sound_Volume			* &40180
Sound_SoundLog			* &40181
Sound_LogScale			* &40182
Sound_InstallVoice		* &40183
Sound_RemoveVoice		* &40184
Sound_AttachVoice		* &40185
Sound_ControlPacked		* &40186
Sound_Tuning			* &40187
Sound_Pitch			* &40188
Sound_Control			* &40189
Sound_AttachNamedVoice		* &4018A
Sound_ReadControlBlock		* &4018B
Sound_WriteControlBlock		* &4018C
Sound_QInit			* &401C0
Sound_QSchedule			* &401C1
Sound_QRemove			* &401C2
Sound_QFree			* &401C3
Sound_QSDispatch		* &401C4
Sound_QTempo			* &401C5
Sound_QBeat			* &401C6
Sound_QInterface		* &401C7

NetPrint_ReadPSNumber		* &40200
NetPrint_SetPSNumber		* &40201
NetPrint_ReadPSName		* &40202
NetPrint_SetPSName		* &40203
NetPrint_ReadPSTimeouts		* &40204
NetPrint_SetPSTimeouts		* &40205
NetPrint_BindPSName		* &40206
NetPrint_ListServers		* &40207
NetPrint_ConvertStatusToString	* &40208

ADFS_DiscOp			* &40240
ADFS_HDC			* &40241
ADFS_Drives			* &40242
ADFS_FreeSpace			* &40243
ADFS_Retries			* &40244
ADFS_DescribeDisc		* &40245
ADFS_VetFormat			* &40246
ADFS_FlpProcessDCB		* &40247
ADFS_ControllerType		* &40248
ADFS_PowerControl		* &40249
ADFS_SetIDEController		* &4024A
ADFS_IDEUserOp			* &4024B
ADFS_MiscOp			* &4024C

ADFS_ECCSAndRetries		* &40250

Podule_ReadID			* &40280
Podule_ReadHeader		* &40281
Podule_EnumerateChunks		* &40282
Podule_ReadChunk		* &40283
Podule_ReadBytes		* &40284
Podule_WriteBytes		* &40285
Podule_CallLoader		* &40286
Podule_RawRead			* &40287
Podule_RawWrite			* &40288
Podule_HardwareAddress		* &40289
Podule_EnumerateChunksWithInfo	* &4028A
Podule_HardwareAddresses	* &4028B
Podule_ReturnNumber		* &4028C
Podule_ReadInfo			* &4028D
Podule_SetSpeed			* &4028E

Debugger_Disassemble		* &40380

FPEmulator_Version		* &40480

FileCore_DiscOp				* &40540
FileCore_Create				* &40541
FileCore_Drives				* &40542
FileCore_FreeSpace			* &40543
FileCore_FloppyStructure		* &40544
FileCore_DescribeDisc			* &40545
FileCore_DiscardReadSectorsCache	* &40546
FileCore_DiscFormat			* &40547
FileCore_LayoutStructure		* &40548
FileCore_MiscOp				* &40549

Shell_Create			* &405C0

Hourglass_On			* &406C0
Hourglass_Off			* &406C1
Hourglass_Smash			* &406C2
Hourglass_Start			* &406C3
Hourglass_Percentage		* &406C4
Hourglass_LEDs			* &406C5
Hourglass_Colours		* &406C6

Draw_ProcessPath		* &40700
Draw_ProcessPathFP		* &40701
Draw_Fill			* &40702
Draw_FillFP			* &40703
Draw_Stroke			* &40704
Draw_StrokeFP			* &40705
Draw_StrokePath			* &40706
Draw_StrokePathFP		* &40707
Draw_FlattenPath		* &40708
Draw_FlattenPathFP		* &40709
Draw_TransformPath		* &4070A
Draw_TransformPathFP		* &4070B

ColourTrans_SelectTable				* &40740
ColourTrans_SelectGCOLTable			* &40741
ColourTrans_ReturnGCOL				* &40742
ColourTrans_SetGCOL				* &40743
ColourTrans_ReturnColourNumber			* &40744
ColourTrans_ReturnGCOLForMode			* &40745
ColourTrans_ReturnColourNumberForMode		* &40746
ColourTrans_ReturnOppGCOL			* &40747
ColourTrans_SetOppGCOL				* &40748
ColourTrans_ReturnOppColourNumber		* &40749
ColourTrans_ReturnOppGCOLForMode		* &4074A
ColourTrans_ReturnOppColourNumberForMode	* &4074B
ColourTrans_GCOLToColourNumber			* &4074C
ColourTrans_ColourNumberToGCOL			* &4074D
ColourTrans_ReturnFontColours			* &4074E
ColourTrans_SetFontColours			* &4074F
ColourTrans_InvalidateCache			* &40750
ColourTrans_SetCalibration			* &40751
ColourTrans_ReadCalibration			* &40752
ColourTrans_ConvertDeviceColour			* &40753
ColourTrans_ConvertDevicePalette		* &40754
ColourTrans_ConvertRGBToCIE			* &40755
ColourTrans_ConvertCIEToRGB			* &40756
ColourTrans_WriteCalibrationToFile		* &40757
ColourTrans_ConvertRGBToHSV			* &40758
ColourTrans_ConvertHSVToRGB			* &40759
ColourTrans_ConvertRGBToCMYK			* &4075A
ColourTrans_ConvertCMYKToRGB			* &4075B
ColourTrans_ReadPalette				* &4075C
ColourTrans_WritePalette			* &4075D
ColourTrans_SetColour				* &4075E
ColourTrans_MiscOp				* &4075F
ColourTrans_WriteLoadingsToFile			* &40760
ColourTrans_SetTextColour			* &40761
ColourTrans_SetOppTextColour			* &40762
ColourTrans_GenerateTable			* &40763

RamFS_DiscOp			* &40780
RamFS_NOP1			* &40781
RamFS_Drives			* &40782
RamFS_FreeSpace			* &40783
RamFS_NOP2			* &40784
RamFS_DescribeDisc		* &40785

SuperSample_Sample90		* &40D80
SuperSample_Sample45		* &40D81

FilerAction_SendSelectedDirectory	* &40F80
FilerAction_SendSelectedFile		* &40F81
FilerAction_SendStartOperation		* &40F82

Socket_Creat			* &41200
Socket_Bind			* &41201
Socket_Listen			* &41202
Socket_Accept			* &41203
Socket_Connect			* &41204
Socket_Recv			* &41205
Socket_Recvfrom			* &41206
Socket_Recvmsg			* &41207
Socket_Send			* &41208
Socket_Sendto			* &41209
Socket_Sendmsg			* &4120A
Socket_Shutdown			* &4120B
Socket_Setsockopt		* &4120C
Socket_Getsockopt		* &4120D
Socket_Getpeername		* &4120E
Socket_Getsockname		* &4120F
Socket_Close			* &41210
Socket_Select			* &41211
Socket_Ioctl			* &41212
Socket_Read			* &41213
Socket_Write			* &41214
Socket_Stat			* &41215
Socket_Readv			* &41216
Socket_Writev			* &41217
Socket_Gettsize			* &41218
Socket_Sendtosm			* &41219
Socket_Sysctl			* &4121A
Socket_Accept_1			* &4121B
Socket_Recvfrom_1		* &4121C
Socket_Recvmsg_1		* &4121D
Socket_Sendmsg_1		* &4121E
Socket_Getpeername_1		* &4121F
Socket_Getsockname_1		* &41220
Socket_InternalLookup		* &41221
Socket_Version			* &41222

MessageTrans_FileInfo		* &41500
MessageTrans_OpenFile		* &41501
MessageTrans_Lookup		* &41502
MessageTrans_MakeMenus		* &41503
MessageTrans_CloseFile		* &41504
MessageTrans_EnumerateTokens	* &41505
MessageTrans_ErrorLookup	* &41506
MessageTrans_GSLookup		* &41507
MessageTrans_CopyError		* &41508

PDumper_Info			* &41B00
PDumper_Claim			* &41B01
PDumper_Free			* &41B02
PDumper_Find			* &41B03
PDumper_StartJob		* &41B04
PDumper_TidyJob			* &41B05
PDumper_SetColour		* &41B06
PDumper_PrepareStrip		* &41B07
PDumper_LookupError		* &41B08
PDumper_CopyFilename		* &41B09

ResourceFS_RegisterFiles	* &41B40
ResourceFS_DeregisterFiles	* &41B41

DragASprite_Start		* &42400
DragASprite_Stop		* &42401

Filter_RegisterPreFilter	* &42640
Filter_RegisterPostFilter	* &42641
Filter_DeRegisterPreFilter	* &42642
Filter_DeRegisterPostFilter	* &42643

TaskManager_TaskNameFromHandle	* &42680
TaskManager_EnumerateTasks	* &42681
TaskManager_Shutdown		* &42682

Squash_Compress			* &42700
Squash_Decompress		* &42701

DeviceFS_Register		* &42740
DeviceFS_Deregister		* &42741
DeviceFS_RegisterObjects	* &42742
DeviceFS_DeregisterObjects	* &42743
DeviceFS_CallDevice		* &42744
DeviceFS_Threshold		* &42745
DeviceFS_ReceivedCharacter	* &42746
DeviceFS_TransmitCharacter	* &42747

Buffer_Create			* &42940
Buffer_Remove			* &42941
Buffer_Register			* &42942
Buffer_Deregister		* &42943
Buffer_ModifyFlags		* &42944
Buffer_LinkDevice		* &42945
Buffer_UnlinkDevice		* &42946
Buffer_GetInfo			* &42947
Buffer_Threshold		* &42948
Buffer_InternalInfo		* &42949

BASICTrans_HELP			* &42C80
BASICTrans_Error		* &42C81
BASICTrans_Message		* &42C82

Parallel_HardwareAddress	* &42EC0
Parallel_Op			* &42EC1

Portable_Speed			* &42FC0
Portable_Control		* &42FC1
Portable_ReadBMUVariable	* &42FC2
Portable_WriteBMUVariable	* &42FC3
Portable_CommandBMU		* &42FC4

Territory_Number			* &43040
Territory_Register			* &43041
Territory_Deregister			* &43042
Territory_NumberToName			* &43043
Territory_Exists			* &43044
Territory_AlphabetNumberToName		* &43045
Territory_SelectAlphabet		* &43046
Territory_SetTime			* &43047
Territory_ReadCurrentTimeZone		* &43048
Territory_ConvertTimeToUTCOrdinals	* &43049
Territory_ReadTimeZones			* &4304A
Territory_ConvertDateAndTime		* &4304B
Territory_ConvertStandardDateAndTime	* &4304C
Territory_ConvertStandardDate		* &4304D
Territory_ConvertStandardTime		* &4304E
Territory_ConvertTimeToOrdinals		* &4304F
Territory_ConvertTimeStringToOrdinals	* &43050
Territory_ConvertOrdinalsToTime		* &43051
Territory_Alphabet			* &43052
Territory_AlphabetIdentifier		* &43053
Territory_SelectKeyboardHandler		* &43054
Territory_WriteDirection		* &43055
Territory_CharacterPropertyTable	* &43056
Territory_LowerCaseTable		* &43057
Territory_UpperCaseTable		* &43058
Territory_ControlTable			* &43059
Territory_PlainTable			* &4305A
Territory_ValueTable			* &4305B
Territory_RepresentationTable		* &4305C
Territory_Collate			* &4305D
Territory_ReadSymbols			* &4305E
Territory_ReadCalendarInformation	* &4305F
Territory_NameToNumber			* &43060
Territory_TransformString		* &43061
Territory_ConvertTextToString		* &43075

ScreenBlanker_Control		* &43100

TaskWindow_TaskInfo		* &43380

MakePSFont_MakeFont		* &43440

Joystick_Read			* &43F40
Joystick_CalibrateTopRight	* &43F41
Joystick_CalibrateBottomLeft	* &43F42

Free_Register			* &444C0
Free_DeRegister			* &444C1

FSLock_Version			* &44780
FSLock_Status			* &44781
FSLock_ChangeStatus		* &44782

DOSFS_DiscFormat		* &44B00
DOSFS_LayoutStructure		* &44B01

DrawFile_Render			* &45540
DrawFile_BBox			* &45541
DrawFile_DeclareFonts		* &45542

Resolver_GetHostByName		* &46000
Resolver_GetHost		* &46001
Resolver_GetCache		* &46002
Resolver_CacheControl		* &46003

DMA_RegisterChannel		* &46140
DMA_DeregisterChannel		* &46141
DMA_QueueTransfer		* &46142
DMA_TerminateTransfer		* &46143
DMA_SuspendTransfer		* &46144
DMA_ResumeTransfer		* &46145
DMA_ExamineTransfer		* &46146

ColourPicker_RegisterModel	* &47700
ColourPicker_DeregisterModel	* &47701
ColourPicker_OpenDialogue	* &47702
ColourPicker_CloseDialogue	* &47703
ColourPicker_UpdateDialogue	* &47704
ColourPicker_ReadDialogue	* &47705
ColourPicker_SetColour		* &47706
ColourPicker_HelpReply		* &47707
ColourPicker_ModelSWI		* &47708

Freeway_Register		* &47A80
Freeway_Write			* &47A81
Freeway_Read			* &47A82
Freeway_Enumerate		* &47A83
Freeway_Status			* &47A84
Freeway_Serial			* &47A85

ScreenModes_ReadInfo		* &487C0

CompressJPEG_Start		* &4A500
CompressJPEG_WriteLine		* &4A501
CompressJPEG_Finish		* &4A502
CompressJPEG_Comment		* &4A503
CompressJPEG_WriteLineExtended	* &4A504

SysLog_LogMessage		* &4C880
SysLog_GetLogLevel		* &4C881
SysLog_FlushLog			* &4C882
SysLog_SetLogLevel		* &4C883
SysLog_LogUnstamped		* &4C884
SysLog_Indent			* &4C885
SysLog_UnIndent			* &4C886
SysLog_NoIndent			* &4C887
SysLog_OpenSessionLog		* &4C888
SysLog_CloseSessionLog		* &4C889
SysLog_LogData			* &4C88A
SysLog_LogFormatted		* &4C88B
SysLog_ReadErrorMessage		* &4C88C
SysLog_LogComplete		* &4C88D

AcornSSL_Creat			* &50F80
AcornSSL_Ioctl			* &50F81
AcornSSL_Connect		* &50F82
AcornSSL_Shutdown		* &50F83
AcornSSL_Close			* &50F84
AcornSSL_Getsockopt		* &50F85
AcornSSL_Write			* &50F86
AcornSSL_Recv			* &50F87
AcornSSL_CreateSession		* &50F88
AcornSSL_Getpeername		* &50F89
AcornSSL_Getsockname		* &50F8A
AcornSSL_Setsockopt		* &50F8B
AcornSSL_Stat			* &50F8C
AcornSSL_Version		* &50F8D
AcornSSL_Read			* &50F8E
AcornSSL_Send			* &50F8F

ZLib_Compress			* &53AC0
ZLib_Decompress			* &53AC1
ZLib_CRC32			* &53AC2
ZLib_Adler32			* &53AC3
ZLib_Version			* &53AC4
ZLib_ZCompress			* &53AC5
ZLib_ZCompress2			* &53AC6
ZLib_ZUncompress		* &53AC7
ZLib_DeflateInit		* &53AC8
ZLib_InflateInit		* &53AC9
ZLib_DeflateInit2		* &53ACA
ZLib_InflateInit2		* &53ACB
ZLib_Deflate			* &53ACC
ZLib_DeflateEnd			* &53ACD
ZLib_Inflate			* &53ACE
ZLib_InflateEnd			* &53ACF
ZLib_DeflateSetDictionary	* &53AD0
ZLib_DeflateCopy		* &53AD1
ZLib_DeflateReset		* &53AD2
ZLib_DeflateParams		* &53AD3
ZLib_InflateSetDictionary	* &53AD4
ZLib_InflateSync		* &53AD5
ZLib_InflateReset		* &53AD6
ZLib_GZOpen			* &53AD7
ZLib_GZRead			* &53AD8
ZLib_GZWrite			* &53AD9
ZLib_GZFlush			* &53ADA
ZLib_GZClose			* &53ADB
ZLib_GZError			* &53ADC
ZLib_GZSeek			* &53ADE
ZLib_GZEOF			* &53ADF
ZLib_TaskAssociate		* &53AE0

Secure_Connect			* &54280
Secure_Accept			* &54281
Secure_Read			* &54282
Secure_Peek			* &54283
Secure_Write			* &54284
Secure_GetError			* &54285
Secure_Disconnect		* &54286
Secure_NewCTX			* &54287
Secure_ConnectCTXToSocket	* &54288
Secure_AcceptCTXToSocket	* &54289
Secure_CTX_PrivateKey		* &5428A
Secure_CTX_CertFile		* &5428B
Secure_CTX_CheckPrivateKey	* &5428C
Secure_GetPeerCert		* &5428D
Secure_FreeCert			* &5428E
Secure_X509_getsubjectname	* &5428F
Secure_X509_getissuername	* &54290
Secure_X509_NameOneline		* &54291
Secure_State			* &54292
Secure_PollConnect		* &54293
Secure_PollAccept		* &54294

Zipper_UnZipOpen		* &559C0
Zipper_UnZipClose		* &559C1
Zipper_UnZipInfo		* &559C2
Zipper_UnZipEnumerate		* &559C3
Zipper_UnZipFileInfo		* &559C4
Zipper_UnZipFileOpen		* &559C5
Zipper_UnZipFileClose		* &559C6
Zipper_UnZipFileRead		* &559C7
Zipper_UnZipFileEOF		* &559C8
Zipper_ZipOpen			* &559D0
Zipper_ZipClose			* &559D1
Zipper_ZipFileOpen		* &559D2
Zipper_ZipFileClose		* &559D3
Zipper_ZipFileWrite		* &559D4

PDriver_Info			* &80140
PDriver_SetInfo			* &80141
PDriver_CheckFeatures		* &80142
PDriver_PageSize		* &80143
PDriver_SetPageSize		* &80144
PDriver_SelectJob		* &80145
PDriver_CurrentJob		* &80146
PDriver_FontSWI			* &80147
PDriver_EndJob			* &80148
PDriver_AbortJob		* &80149
PDriver_Reset			* &8014A
PDriver_GiveRectangle		* &8014B
PDriver_DrawPage		* &8014C
PDriver_GetRectangle		* &8014D
PDriver_CancelJob		* &8014E
PDriver_ScreenDump		* &8014F
PDriver_EnumerateJobs		* &80150
PDriver_SetPrinter		* &80151
PDriver_CancelJobWithError	* &80152
PDriver_SelectIllustration	* &80153
PDriver_InsertIllustration	* &80154
PDriver_DeclareFont		* &80155
PDriver_DeclareDriver		* &80156
PDriver_RemoveDriver		* &80157
PDriver_SelectDriver		* &80158
PDriver_EnumerateDrivers	* &80159
PDriver_MiscOp			* &8015A
PDriver_MiscOpForDriver		* &8015B
PDriver_SetDriver		* &8015C

SharedCLibrary_LibInitAPCS_A		* &80680
SharedCLibrary_LibInitAPCS_R		* &80681
SharedCLibrary_LibInitModule		* &80682
SharedCLibrary_LibInitAPCS_32		* &80683
SharedCLibrary_LibInitModuleAPCS_32	* &80684

        END
