home *** CD-ROM | disk | FTP | other *** search
/ RISC DISC 1 / RISC_DISC_1.iso / pd_share / code / oslib / Hdr / Econet < prev    next >
Encoding:
Text File  |  1994-09-22  |  13.1 KB  |  483 lines

  1. ;AAsm header file for Econet
  2. ;written by DefMod (Aug  8 1994) on Thu Sep 22 16:09:12 1994
  3.  
  4.         [       :LNOT: :DEF: Get_Types
  5.         GBLS    Get_Types
  6. Get_Types                       SETS    "GET OS:Hdr.Types"
  7.         |
  8. Get_Types                       SETS    ""
  9.         ]
  10.         $Get_Types
  11.  
  12.         [       :LNOT: :DEF: Get_OS
  13.         GBLS    Get_OS
  14. Get_OS                          SETS    "GET OS:Hdr.OS"
  15.         |
  16. Get_OS                          SETS    ""
  17.         ]
  18.         $Get_OS
  19.  
  20.         [       :LNOT: :DEF: Econet_Hdr
  21.         GBLS    Econet_Hdr
  22.  
  23. ;Symbols for constants
  24. Econet_StatusTransmitted        *       0
  25. Econet_StatusLineJammed         *       1
  26. Econet_StatusNetError           *       2
  27. Econet_StatusNotListening       *       3
  28. Econet_StatusNoClock            *       4
  29. Econet_StatusTxReady            *       5
  30. Econet_StatusTransmitting       *       6
  31. Econet_StatusRxReady            *       7
  32. Econet_StatusReceiving          *       8
  33. Econet_StatusReceived           *       9
  34. Econet_StatusNoReply            *       10
  35. Econet_StatusEscape             *       11
  36. Econet_StatusNotPresent         *       12
  37. Error_EconetTxReady             *       &300
  38. Error_EconetTransmitting        *       &301
  39. Error_EconetRxReady             *       &302
  40. Error_EconetReceiving           *       &303
  41. Error_EconetReceived            *       &304
  42. Error_EconetTransmitted         *       &305
  43. Error_EconetBadStation          *       &306
  44. Error_EconetBadNetwork          *       &307
  45. Error_EconetUnableToDefault     *       &308
  46. Error_EconetBadPort             *       &309
  47. Error_EconetBadControl          *       &30A
  48. Error_EconetBadBuffer           *       &30B
  49. Error_EconetBadSize             *       &30C
  50. Error_EconetBadMask             *       &30D
  51. Error_EconetBadCount            *       &30E
  52. Error_EconetBadDelay            *       &30F
  53. Error_EconetBadStatus           *       &310
  54. Error_EconetNoHardware          *       &311
  55. Error_EconetNoEconet            *       &312
  56. Error_EconetNoMoreDomains       *       &313
  57. Error_EconetBadDomain           *       &314
  58. Error_EconetUnRegisteredDomain  *       &315
  59. Error_EconetPortNotAllocated    *       &316
  60. Error_EconetPortAllocated       *       &317
  61. Error_EconetNoMorePorts         *       &318
  62. Econet_ImmediatePeek            *       1
  63. Econet_ImmediatePoke            *       2
  64. Econet_ImmediateJSR             *       3
  65. Econet_ImmediateUserProcedureCall *       4
  66. Econet_ImmediateOSProcedureCall *       5
  67. Econet_ImmediateHalt            *       6
  68. Econet_ImmediateContinue        *       7
  69. Econet_ImmediateMachinePeek     *       8
  70. Econet_ImmediateGetRegisters    *       9
  71. Econet_OSCharFromNotify         *       0
  72. Econet_OSInitialiseRemote       *       1
  73. Econet_OSGetViewParameters      *       2
  74. Econet_OSCauseFatalError        *       3
  75. Econet_OSCharFromRemote         *       4
  76. Econet_ProtectionPeek           *       &1
  77. Econet_ProtectionPoke           *       &2
  78. Econet_ProtectionJSR            *       &4
  79. Econet_ProtectionUserProcedureCall *       &8
  80. Econet_ProtectionOSProcedureCall *       &10
  81. Econet_ProtectionHalt           *       &20
  82. Econet_ProtectionContinue       *       &40
  83. Econet_ProtectionMachinePeek    *       &80
  84. Econet_ProtectionGetRegisters   *       &100
  85. Econet_ProtectionWriteCMOS      *       &80000000
  86. Econet_TransportNotKnown        *       0
  87. Econet_TransportInternet        *       1
  88. Econet_TransportEconet          *       2
  89. Econet_TransportNexus           *       3
  90. Econet_StateOK                  *       0
  91. Econet_StateNoClock             *       1
  92. Econet_NetFSStartLoad           *       16
  93. Econet_NetFSPartLoad            *       17
  94. Econet_NetFSFinishLoad          *       18
  95. Econet_NetFSStartSave           *       32
  96. Econet_NetFSPartSave            *       33
  97. Econet_NetFSFinishSave          *       34
  98. Econet_NetFSStartCreate         *       48
  99. Econet_NetFSPartCreate          *       49
  100. Econet_NetFSFinishCreate        *       50
  101. Econet_NetFSStartGetBytes       *       64
  102. Econet_NetFSPartGetBytes        *       65
  103. Econet_NetFSFinishGetBytes      *       66
  104. Econet_NetFSStartPutBytes       *       80
  105. Econet_NetFSPartPutBytes        *       81
  106. Econet_NetFSFinishPutBytes      *       82
  107. Econet_NetFSStartWait           *       96
  108. Econet_NetFSFinishWait          *       98
  109. Econet_NetFSStartBroadcastLoad  *       112
  110. Econet_NetFSPartBroadcastLoad   *       113
  111. Econet_NetFSFinishBroadcastLoad *       114
  112. Econet_NetFSStartBroadcastSave  *       128
  113. Econet_NetFSPartBroadcastSave   *       129
  114. Econet_NetFSFinishBroadcastSave *       130
  115. Econet_EconetStartTransmission  *       192
  116. Econet_EconetFinishTransmission *       194
  117. Econet_EconetStartReception     *       208
  118. Econet_EconetFinishReception    *       210
  119.  
  120. ;Symbols for structure offsets and sizes
  121. Econet_RxCB                     *       4 ;abstract type
  122. Econet_TxCB                     *       4 ;abstract type
  123.  
  124. ;Symbols for SWI's and SWI reason codes
  125. XEconet_CreateReceive           *       &60000
  126. Econet_CreateReceive            *       &40000
  127.    ;Entry
  128.    ;  R0 = port (Byte)
  129.    ;  R1 = station (Byte)
  130.    ;  R2 = net (Byte)
  131.    ;  R3 = buffer (pointer to data)
  132.    ;  R4 = size (Int)
  133.    ;Exit
  134.    ;  R0 = rx_cb (Econet_RxCB)
  135.    ;  R2 = nonlocal (Bool)
  136.  
  137. XEconet_ExamineReceive          *       &60001
  138. Econet_ExamineReceive           *       &40001
  139.    ;Entry
  140.    ;  R0 = rx_cb (Econet_RxCB)
  141.    ;Exit
  142.    ;  R0 = status (Int)
  143.  
  144. XEconet_ReadReceive             *       &60002
  145. Econet_ReadReceive              *       &40002
  146.    ;Entry
  147.    ;  R0 = rx_cb (Econet_RxCB)
  148.    ;Exit
  149.    ;  R0 = status (Int)
  150.    ;  R1 = flag (Byte)
  151.    ;  R2 = port (Byte)
  152.    ;  R3 = station (Byte)
  153.    ;  R4 = net (Byte)
  154.    ;  R5 -> buffer (data)
  155.    ;  R6 = size (Int)
  156.  
  157. XEconet_AbandonReceive          *       &60003
  158. Econet_AbandonReceive           *       &40003
  159.    ;Entry
  160.    ;  R0 = rx_cb (Econet_RxCB)
  161.    ;Exit
  162.    ;  R0 = status (Int)
  163.  
  164. XEconet_WaitForReception        *       &60004
  165. Econet_WaitForReception         *       &40004
  166.    ;Entry
  167.    ;  R0 = rx_cb (Econet_RxCB)
  168.    ;  R1 = delay (Int)
  169.    ;  R2 = abort_on_escape (Bool)
  170.    ;Exit
  171.    ;  R0 = status (Int)
  172.    ;  R1 = flag (Byte)
  173.    ;  R2 = port (Byte)
  174.    ;  R3 = station (Byte)
  175.    ;  R4 = net (Byte)
  176.    ;  R5 -> buffer (data)
  177.    ;  R6 = size (Int)
  178.  
  179. XEconet_EnumerateReceive        *       &60005
  180. Econet_EnumerateReceive         *       &40005
  181.    ;Entry
  182.    ;  R0 = rx_cb_no (Int)
  183.    ;Exit
  184.    ;  R0 = rx_cb (Econet_RxCB)
  185.  
  186. XEconet_StartTransmit           *       &60006
  187. Econet_StartTransmit            *       &40006
  188.    ;Entry
  189.    ;  R0 = flags (Byte)
  190.    ;  R1 = port (Byte)
  191.    ;  R2 = station (Byte)
  192.    ;  R3 = net (Byte)
  193.    ;  R4 = buffer (pointer to data)
  194.    ;  R5 = size (Int)
  195.    ;  R6 = count (Int)
  196.    ;  R7 = delay (Int)
  197.    ;Exit
  198.    ;  R0 = tx_cb (Econet_TxCB)
  199.    ;  R1 corrupted
  200.    ;  R2 corrupted
  201.    ;  R3 corrupted
  202.    ;  R4 = nonlocal (Bool)
  203.  
  204. XEconet_PollTransmit            *       &60007
  205. Econet_PollTransmit             *       &40007
  206.    ;Entry
  207.    ;  R0 = tx_cb (Econet_TxCB)
  208.    ;Exit
  209.    ;  R0 = status (Int)
  210.  
  211. XEconet_AbandonTransmit         *       &60008
  212. Econet_AbandonTransmit          *       &40008
  213.    ;Entry
  214.    ;  R0 = tx_cb (Econet_TxCB)
  215.    ;Exit
  216.    ;  R0 = status (Int)
  217.  
  218. XEconet_DoTransmit              *       &60009
  219. Econet_DoTransmit               *       &40009
  220.    ;Entry
  221.    ;  R0 = flags (Byte)
  222.    ;  R1 = port (Byte)
  223.    ;  R2 = station (Byte)
  224.    ;  R3 = net (Byte)
  225.    ;  R4 = buffer (pointer to data)
  226.    ;  R5 = size (Int)
  227.    ;  R6 = count (Int)
  228.    ;  R7 = delay (Int)
  229.    ;Exit
  230.    ;  R0 = status (Int)
  231.    ;  R1 corrupted
  232.    ;  R2 corrupted
  233.    ;  R3 corrupted
  234.    ;  R4 = nonlocal (Bool)
  235.  
  236. XEconet_ReadLocalStationAndNet  *       &6000A
  237. Econet_ReadLocalStationAndNet   *       &4000A
  238.    ;Exit
  239.    ;  R0 = station (Byte)
  240.    ;  R1 = net (Byte)
  241.  
  242. XEconet_ConvertStatusToString   *       &6000B
  243. Econet_ConvertStatusToString    *       &4000B
  244.    ;Entry
  245.    ;  R0 = status (Int)
  246.    ;  R1 = buffer (pointer to String)
  247.    ;  R2 = size (Int)
  248.    ;  R3 = station (Byte)
  249.    ;  R4 = net (Byte)
  250.    ;Exit
  251.    ;  R0 corrupted
  252.    ;  R1 -> end (Char)
  253.    ;  R2 corrupted
  254.  
  255. XEconet_ConvertStatusToError    *       &6000C
  256. Econet_ConvertStatusToError     *       &4000C
  257.    ;Entry
  258.    ;  R0 = status (Int)
  259.    ;  R1 = buffer (pointer to OS_Error)
  260.    ;  R2 = size (Int)
  261.    ;  R3 = station (Byte)
  262.    ;  R4 = net (Byte)
  263.  
  264. XEconet_ReadProtection          *       &6000D
  265. Econet_ReadProtection           *       &4000D
  266.    ;Exit
  267.    ;  R0 = protection (Bits)
  268.  
  269. XEconet_SetProtection           *       &6000E
  270. Econet_SetProtection            *       &4000E
  271.    ;Entry
  272.    ;  R0 = eor_mask (Bits)
  273.    ;  R1 = and_mask (Bits)
  274.    ;Exit
  275.    ;  R0 = old_protection (Bits)
  276.  
  277. XEconet_ReadStationNumber       *       &6000F
  278. Econet_ReadStationNumber        *       &4000F
  279.    ;Entry
  280.    ;  R1 -> s (String)
  281.    ;Exit
  282.    ;  R1 -> end (Char)
  283.    ;  R2 = station (Int)
  284.    ;  R3 = net (Int)
  285.  
  286. XEconet_PrintBanner             *       &60010
  287. Econet_PrintBanner              *       &40010
  288.  
  289. XEconet_ReadTransportType       *       &60011
  290. Econet_ReadTransportType        *       &40011
  291.    ;Entry
  292.    ;  R0 = station (Byte)
  293.    ;  R1 = net (Byte)
  294.    ;  R2 = &2
  295.    ;Exit
  296.    ;  R2 = transport_type (Int)
  297.  
  298. XEconet_ReleasePort             *       &60012
  299. Econet_ReleasePort              *       &40012
  300.    ;Entry
  301.    ;  R0 = port (Byte)
  302.  
  303. XEconet_AllocatePort            *       &60013
  304. Econet_AllocatePort             *       &40013
  305.    ;Exit
  306.    ;  R0 = port (Byte)
  307.  
  308. XEconet_DeAllocatePort          *       &60014
  309. Econet_DeAllocatePort           *       &40014
  310.    ;Entry
  311.    ;  R0 = port (Byte)
  312.  
  313. XEconet_ClaimPort               *       &60015
  314. Econet_ClaimPort                *       &40015
  315.    ;Entry
  316.    ;  R0 = port (Byte)
  317.  
  318. XEconet_StartImmediate          *       &60016
  319. Econet_StartImmediate           *       &40016
  320.    ;Entry
  321.    ;  R0 = op_type (Int)
  322.    ;  R1 = procedure (Int)
  323.    ;  R2 = station (Byte)
  324.    ;  R3 = net (Byte)
  325.    ;  R4 -> buffer (data)
  326.    ;  R5 = size (Int)
  327.    ;  R6 = count (Int)
  328.    ;  R7 = delay (Int)
  329.    ;Exit
  330.    ;  R0 = tx_cb (Econet_TxCB)
  331.    ;  R1 corrupted
  332.    ;  R2 corrupted
  333.    ;  R3 corrupted
  334.    ;  R4 = nonlocal (Bool)
  335.  
  336. XEconet_DoImmediate             *       &60017
  337. Econet_DoImmediate              *       &40017
  338.    ;Entry
  339.    ;  R0 = op_type (Int)
  340.    ;  R1 = procedure (Int)
  341.    ;  R2 = station (Byte)
  342.    ;  R3 = net (Byte)
  343.    ;  R4 -> buffer (data)
  344.    ;  R5 = size (Int)
  345.    ;  R6 = count (Int)
  346.    ;  R7 = delay (Int)
  347.    ;Exit
  348.    ;  R0 = status (Int)
  349.    ;  R1 corrupted
  350.    ;  R2 corrupted
  351.    ;  R3 corrupted
  352.    ;  R4 = nonlocal (Bool)
  353.  
  354. XEconet_AbandonAndReadReceive   *       &60018
  355. Econet_AbandonAndReadReceive    *       &40018
  356.    ;Entry
  357.    ;  R0 = rx_cb (Econet_RxCB)
  358.    ;Exit
  359.    ;  R0 = status (Int)
  360.    ;  R1 = flag (Byte)
  361.    ;  R2 = port (Byte)
  362.    ;  R3 = station (Byte)
  363.    ;  R4 = net (Byte)
  364.    ;  R5 -> buffer (data)
  365.    ;  R6 = size (Int)
  366.  
  367. XEconet_Version                 *       &60019
  368. Econet_Version                  *       &40019
  369.    ;Entry
  370.    ;  R0 = station (Byte)
  371.    ;  R1 = net (Byte)
  372.    ;Exit
  373.    ;  R2 = version (Int)
  374.  
  375. XEconet_NetworkState            *       &6001A
  376. Econet_NetworkState             *       &4001A
  377.    ;Entry
  378.    ;  R0 = station (Byte)
  379.    ;  R1 = net (Byte)
  380.    ;Exit
  381.    ;  R2 = state (Int)
  382.  
  383. XEconet_PacketSize              *       &6001B
  384. Econet_PacketSize               *       &4001B
  385.    ;Entry
  386.    ;  R0 = station (Byte)
  387.    ;  R1 = net (Byte)
  388.    ;Exit
  389.    ;  R2 = packet_limit (Int)
  390.  
  391. XEconet_ReadTransportName       *       &6001C
  392. Econet_ReadTransportName        *       &4001C
  393.    ;Entry
  394.    ;  R0 = station (Byte)
  395.    ;  R1 = net (Byte)
  396.    ;Exit
  397.    ;  R2 -> transport_name (String)
  398.  
  399. XEconet_InetRxDirect            *       &6001D
  400. Econet_InetRxDirect             *       &4001D
  401.  
  402. XEconet_EnumerateMap            *       &6001E
  403. Econet_EnumerateMap             *       &4001E
  404.    ;Entry
  405.    ;  R0 = flags (Bits)
  406.    ;  R4 = context (Int)
  407.    ;Exit
  408.    ;  R1 = net (Byte)
  409.    ;  R2 -> net_name (String)
  410.    ;  R3 = ip_subnetwork_address (Int)
  411.    ;  R4 = context_out (Int)
  412.  
  413. XEconet_EnumerateTransmit       *       &6001F
  414. Econet_EnumerateTransmit        *       &4001F
  415.    ;Entry
  416.    ;  R0 = tx_cb_no (Int)
  417.    ;Exit
  418.    ;  R0 = tx_cb (Econet_TxCB)
  419.  
  420. XEconet_HardwareAddresses       *       &60020
  421. Econet_HardwareAddresses        *       &40020
  422.    ;Exit
  423.    ;  R0 = hardware_address (pointer to data)
  424.    ;  R1 = register_address (pointer to data)
  425.    ;  R2 = register_mask (Bits)
  426.  
  427. EconetV                         *       &21
  428.    ;Entry
  429.    ;  R0 = action (Int)
  430.    ;  R1 = count (Int)
  431.    ;  R9 = &21
  432.  
  433. Service_ReallocatePorts         *       &48
  434.    ;Entry
  435.    ;  R1 = &48
  436.  
  437. Service_EconetDying             *       &56
  438.    ;Entry
  439.    ;  R1 = &56
  440.  
  441. Service_ProtocolDying           *       &83
  442.    ;Entry
  443.    ;  R1 = &83
  444.  
  445. Service_FindNetworkDriver       *       &84
  446.    ;Entry
  447.    ;  R1 = &84
  448.  
  449. Service_NetworkDriverStatus     *       &8B
  450.    ;Entry
  451.    ;  R1 = &8B
  452.  
  453. Event_EconetUserRPC             *       &8
  454.    ;Entry
  455.    ;  R0 = &8
  456.    ;  R1 -> args (data)
  457.    ;  R2 = rpc (Int)
  458.    ;  R3 = station (Byte)
  459.    ;  R4 = net (Byte)
  460.  
  461. Event_EconetRx                  *       &E
  462.    ;Entry
  463.    ;  R0 = &E
  464.    ;  R1 = rx_cb (Econet_RxCB)
  465.    ;  R2 = status (Int)
  466.  
  467. Event_EconetTx                  *       &F
  468.    ;Entry
  469.    ;  R0 = &F
  470.    ;  R1 = tx_cb (Econet_TxCB)
  471.    ;  R2 = status (Int)
  472.  
  473. Event_EconetOSProc              *       &10
  474.    ;Entry
  475.    ;  R0 = &10
  476.    ;  R1 -> args (data)
  477.    ;  R2 = rpc (Int)
  478.    ;  R3 = station (Byte)
  479.    ;  R4 = net (Byte)
  480.  
  481.         ]
  482.         END
  483.