RISCOS.com

www.riscos.com Technical Support:
Programmer's Reference Manual

 

Econet


Introduction and Overview

The Econet module was removed from RISC OS 3.5, and is now supplied in a ROM on the Econet network card. (This ROM may also contain updated versions of other RISC OS networking modules.) The first issue of the Econet card uses the Econet 5.70 module, which is the version described below.

New SWIs

The Econet module has had new SWIs added to it. These are documented on the following pages.

Machine type numbers

A machine type number has been defined for machines using the Risc PC architecture, and two further types have been allocated to a third party. In the Machine type numbers section, the line:

&000F to &FFF9 Reserved

should now read:

&000F Risc PC architecture
&0010 to &FFF7 Reserved
&FFF8 SJ Research GP server
&FFF9 SJ Research 80386 UNIX

Port numbers

From RISC OS 3.5 onwards, Econet uses its port numbers as follows:

Port Allocation
&00 Reserved
&01 - &0F Fixed reply ports, for backward compatibility
&10 - &8F Dynamic ports, allocated by Econet_AllocatePort
&90 - &FE Fixed ports, allocated by Acorn Computers
&FF Argument to Econet_CreateReceive for wild reception

The Port numbers section is no longer accurate for RISC OS 3.5 onwards:

  • Allocation &54 for Digital Services Tape Store is no longer used.
  • The port number &D0 has been reallocated in RISC OS 3.5 as PrinterServerDataReply.
  • Further fixed port numbers have been allocated to third parties, but for reasons of confidentiality we do not list them here.

Changes to existing SWIs

Econet_AllocatePort

The port numbers returned by this call now always lie in the range &01 - &8F, rather than the range &01 - &FE used by RISC OS 3.11 and earlier.

SWI Calls


Econet_InetRxDirect
(SWI &4001D)

This call is for internal use only. You must not use it in your own code.


Econet_EnumerateMap
(SWI &4001E)

Enumerates subnetwork addresses within an AUN site network

On entry

R0 = flags:

all bits reserved (must be 0)

R4 = enumeration reference (0 to start)

On exit

R0 preserved
R1 = net number
R2 = pointer to net name, or 0
R3 = IP subnetwork address
R4 = next enumeration reference, or -1 if no more

Interrupts

Interrupt status is unaltered
Fast interrupts are enabled

Processor mode

Processor is in SVC mode

Re-entrancy

Not defined

Use

This call enumerates subnetwork addresses within an AUN site network. It returns the AUN net names, net numbers and IP addresses of the subnetworks active within an AUN site network, as derived from the Map file located within an AUN gateway.

If R4 is -1 on exit then all subnetworks have been enumerated, and R1 - R3 are undefined. If R4 is -1 on exit from the first call then the calling application is running over a network containing no AUN gateways.

Under native Econet R4 is always returned as -1.

This call is available from RISC OS 3.5 onwards.

Related SWIs

None

Related vectors

None


Econet_EnumerateTransmit
(SWI &4001F)

Returns the handles of open TxCBs

On entry

R0 = index (1 to start with first transmit block)

On exit

R0 = handle, or 0 if no more transmit blocks

Interrupts

Interrupt status is unaltered
Fast interrupts are enabled

Processor mode

Processor is in SVC mode

Re-entrancy

Not defined

Use

This call returns the handles of open TxCBs. On entry R0 is the index of the TxCB being asked for (1, 2, 3, etc). If the value of R0 is greater than the number of open TxCBs, then the value returned as the handle will be 0, which is an invalid handle.

You should not make this call from an IRQ or event routine as, although it will not fail, the returned information may be inaccurate.

This call is available from RISC OS 3.5 onwards.

Related SWIs

Econet_StartTransmit, Econet_PollTransmit, Econet_AbandonTransmit

Related vectors

None


Econet_HardwareAddresses
(SWI &40020)

Returns the addresses of the Econet hardware and interrupt control registers

On entry

--

On exit

R0 = address of MC68B54 ADLC
R1 = address of FIQ mask register
R2 = bit mask value to use on the FIQ mask register

Interrupts

Interrupt status is unaltered
Fast interrupts are enabled

Processor mode

Processor is in SVC mode

Re-entrancy

SWI is re-entrant

Use

This call returns the addresses of the Econet hardware and interrupt control registers. It is provided for the internal working of Econet diagnostic software, and is not intended for any other use. The call returns an error if there is no native Econet.

This call is available from RISC OS 3.5 onwards.

Related SWIs

None

Related vectors

None


Econet_NetworkParameters
(SWI &40021)

On entry

--

On exit

R0 = Econet clock period in 1/4[MU]S (EG 20 FOR A 5[MU]s period), or 0 if no clock
R1 = Econet clock frequency in kHz (eg 200 for a 200kHz frequency), or 0 if no clock
R2, R3 corrupted

Interrupts

Interrupt status is unaltered
Fast interrupts are enabled

Processor mode

Processor is in SVC mode

Re-entrancy

SWI is re-entrant

Use

This call returns the Econet clock period and frequency. The call returns an error if there is no native Econet.

This call is available from RISC OS 3.5 onwards.

Related SWIs

None

Related vectors

None