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

  1. ;AAsm header file for DeviceFS
  2. ;written by DefMod (Aug  8 1994) on Mon Sep 26 16:38:41 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: DeviceFS_Hdr
  21.         GBLS    DeviceFS_Hdr
  22.  
  23. ;Symbols for constants
  24. DeviceFS_DeviceBuffered         *       &1
  25. DeviceFS_DeviceUsesPathVar      *       &2
  26. DeviceFS_RegisterBlockDevice    *       &1
  27. DeviceFS_RegisterFullDuplex     *       &2
  28.  
  29. ;Symbols for structure offsets and sizes
  30. DeviceFS_D                      *       4 ;abstract type
  31. DeviceFS_S                      *       4 ;abstract type
  32. DeviceFS_H                      *       4 ;abstract type
  33.                                 ^       0
  34. DeviceFS_Device_name_offset     #       Int
  35. DeviceFS_Device_flags           #       Bits
  36. DeviceFS_Device_rx_flags        #       Bits
  37. DeviceFS_Device_rx_buffer_size  #       Int
  38. DeviceFS_Device_tx_flags        #       Bits
  39. DeviceFS_Device_tx_buffer_size  #       Int
  40. DeviceFS_Device_reserved        #       Int
  41. DeviceFS_Device                 *       @
  42.  
  43.                                 ^       0
  44. DeviceFS_DeviceList_d           #       DeviceFS_Device
  45. DeviceFS_DeviceList             *       @
  46.  
  47.  
  48. ;Symbols for SWI's and SWI reason codes
  49. XDeviceFS_Register              *       &62740
  50. DeviceFS_Register               *       &42740
  51.    ;Entry
  52.    ;  R0 = flags (Bits)
  53.    ;  R1 -> devices (DeviceFS_DeviceList)
  54.    ;  R2 -> driver (code)
  55.    ;  R3 = handle (Int)
  56.    ;  R4 = workspace (pointer to Void)
  57.    ;  R5 -> validation (String)
  58.    ;  R6 = rx_limit (Int)
  59.    ;  R7 = tx_limit (Int)
  60.    ;Exit
  61.    ;  R0 = d (DeviceFS_D)
  62.  
  63. XDeviceFS_Deregister            *       &62741
  64. DeviceFS_Deregister             *       &42741
  65.    ;Entry
  66.    ;  R0 = d (DeviceFS_D)
  67.  
  68. XDeviceFS_RegisterObjects       *       &62742
  69. DeviceFS_RegisterObjects        *       &42742
  70.    ;Entry
  71.    ;  R0 = d (DeviceFS_D)
  72.    ;  R1 -> devices (DeviceFS_DeviceList)
  73.  
  74. XDeviceFS_DeregisterObjects     *       &62743
  75. DeviceFS_DeregisterObjects      *       &42743
  76.    ;Entry
  77.    ;  R0 = d (DeviceFS_D)
  78.    ;  R1 -> device_name (String)
  79.  
  80. XDeviceFS_CallDevice            *       &62744
  81. DeviceFS_CallDevice             *       &42744
  82.  
  83. DeviceFSCallDevice_Initialise   *       &0
  84.    ;Entry
  85.    ;  R0 = &0
  86.    ;  R1 = d (DeviceFS_D)
  87.    ;  R2 = s (DeviceFS_S)
  88.    ;  R3 = flags (Bits)
  89.    ;  R6 -> decoded_special (data)
  90.    ;Exit
  91.    ;  R2 = h (DeviceFS_H)
  92.  
  93. DeviceFSCallDevice_Terminate    *       &1
  94.    ;Entry
  95.    ;  R0 = &1
  96.    ;  R1 = d (DeviceFS_D)
  97.    ;  R2 = h (DeviceFS_H)
  98.  
  99. DeviceFSCallDevice_TxWakeUp     *       &2
  100.    ;Entry
  101.    ;  R0 = &2
  102.    ;  R1 = d (DeviceFS_D)
  103.    ;  R2 = h (DeviceFS_H)
  104.    ;Exit
  105.    ;  R0 = woken_up (Bool)
  106.  
  107. DeviceFSCallDevice_RxWakeUp     *       &3
  108.    ;Entry
  109.    ;  R0 = &3
  110.    ;  R1 = d (DeviceFS_D)
  111.    ;  R2 = h (DeviceFS_H)
  112.  
  113. DeviceFSCallDevice_RxSleep      *       &4
  114.    ;Entry
  115.    ;  R0 = &4
  116.    ;  R1 = d (DeviceFS_D)
  117.    ;  R2 = h (DeviceFS_H)
  118.  
  119. DeviceFSCallDevice_EnumDir      *       &5
  120.    ;Entry
  121.    ;  R0 = &5
  122.    ;  R1 = d (DeviceFS_D)
  123.    ;  R2 -> file_name (String)
  124.  
  125. DeviceFSCallDevice_TxCreateBuffer *       &6
  126.    ;Entry
  127.    ;  R0 = &6
  128.    ;  R1 = d (DeviceFS_D)
  129.    ;  R2 = h (DeviceFS_H)
  130.    ;  R3 = buffer_flags (Bits)
  131.    ;  R4 = size (Int)
  132.    ;  R5 = b (Buffer_B)
  133.    ;  R6 = threshold (Int)
  134.    ;Exit
  135.    ;  R3 = buffer_flags_out (Bits)
  136.    ;  R4 = size_out (Int)
  137.    ;  R5 = b_out (Buffer_B)
  138.    ;  R6 = threshold_out (Int)
  139.  
  140. DeviceFSCallDevice_RxCreateBuffer *       &7
  141.    ;Entry
  142.    ;  R0 = &7
  143.    ;  R1 = d (DeviceFS_D)
  144.    ;  R2 = h (DeviceFS_H)
  145.    ;  R3 = buffer_flags (Bits)
  146.    ;  R4 = size (Int)
  147.    ;  R5 = b (Buffer_B)
  148.    ;  R6 = threshold (Int)
  149.    ;Exit
  150.    ;  R3 = buffer_flags_out (Bits)
  151.    ;  R4 = size_out (Int)
  152.    ;  R5 = b_out (Buffer_B)
  153.    ;  R6 = threshold_out (Int)
  154.  
  155. DeviceFSCallDevice_Halt         *       &8
  156.    ;Entry
  157.    ;  R0 = &8
  158.    ;  R1 = d (DeviceFS_D)
  159.    ;  R2 = h (DeviceFS_H)
  160.  
  161. DeviceFSCallDevice_Resume       *       &9
  162.    ;Entry
  163.    ;  R0 = &9
  164.    ;  R1 = d (DeviceFS_D)
  165.    ;  R2 = h (DeviceFS_H)
  166.  
  167. DeviceFSCallDevice_EndOfData    *       &A
  168.    ;Entry
  169.    ;  R0 = &A
  170.    ;  R1 = d (DeviceFS_D)
  171.    ;  R2 = h (DeviceFS_H)
  172.    ;  R3 = &FFFFFFFF
  173.    ;Exit
  174.    ;  R3 = end_of_data (Bool)
  175.  
  176. DeviceFSCallDevice_StreamCreated *       &B
  177.    ;Entry
  178.    ;  R0 = &B
  179.    ;  R1 = d (DeviceFS_D)
  180.    ;  R2 = h (DeviceFS_H)
  181.    ;  R3 = b (Buffer_B)
  182.  
  183. XDeviceFS_Threshold             *       &62745
  184. DeviceFS_Threshold              *       &42745
  185.    ;Entry
  186.    ;  R1 = s (DeviceFS_S)
  187.    ;  R2 = threshold (Int)
  188.  
  189. XDeviceFS_ReceivedChar          *       &62746
  190. DeviceFS_ReceivedChar           *       &42746
  191.    ;Entry
  192.    ;  R0 = b (Byte)
  193.    ;  R1 = s (DeviceFS_S)
  194.  
  195. XDeviceFS_TransmitChar          *       &62747
  196. DeviceFS_TransmitChar           *       &42747
  197.    ;Entry
  198.    ;  R1 = s (DeviceFS_S)
  199.    ;Exit
  200.    ;  R0 = b (Byte)
  201.  
  202. Service_DeviceFSStarting        *       &70
  203.    ;Entry
  204.    ;  R1 = &70
  205.  
  206. Service_DeviceFSDying           *       &71
  207.    ;Entry
  208.    ;  R0 = &0
  209.    ;  R1 = &71
  210.  
  211. Service_DeviceDead              *       &79
  212.    ;Entry
  213.    ;  R0 = &0
  214.    ;  R1 = &79
  215.    ;  R2 = d (DeviceFS_D)
  216.    ;  R3 -> device_name (String)
  217.  
  218. Service_DeviceFSCloseRequest    *       &81
  219.    ;Entry
  220.    ;  R1 = &81
  221.    ;  R2 = file (OS_F)
  222.    ;Exit
  223.    ;  R1 = unclaimed (Bool)
  224.  
  225. UpCall_StreamCreated            *       &A
  226.    ;Entry
  227.    ;  R0 = &A
  228.    ;  R1 = d (DeviceFS_D)
  229.    ;  R2 = tx_stream (Bool)
  230.    ;  R3 = file (OS_F)
  231.    ;  R4 = s (DeviceFS_S)
  232.  
  233. UpCall_StreamClosed             *       &B
  234.    ;Entry
  235.    ;  R0 = &B
  236.    ;  R1 = d (DeviceFS_D)
  237.    ;  R2 = tx_stream (Bool)
  238.    ;  R3 = file (OS_F)
  239.    ;  R4 = s (DeviceFS_S)
  240.  
  241. Event_DeviceOverrun             *       &16
  242.    ;Entry
  243.    ;  R0 = &16
  244.    ;  R1 = d (DeviceFS_D)
  245.    ;  R2 = file (OS_F)
  246.    ;  R3 = &0
  247.  
  248.         ]
  249.         END
  250.