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

  1. ;AAsm header file for OSFSControl
  2. ;written by DefMod (Aug  8 1994) on Thu Sep 29 15:10:33 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: OSFSControl_Hdr
  21.         GBLS    OSFSControl_Hdr
  22.  
  23. ;Symbols for constants
  24. OSFSControl_FSNumber            *       &FF
  25. OSFSControl_FSOpenFileLimit     *       &FF00
  26. OSFSControl_FSReadOnly          *       &10000
  27. OSFSControl_FSNumberNone        *       0
  28. OSFSControl_FSNumberROMFS       *       3
  29. OSFSControl_FSNumberNETFS       *       5
  30. OSFSControl_FSNumberADFS        *       8
  31. OSFSControl_FSNumberNETPRINT    *       12
  32. OSFSControl_FSNumberNull        *       13
  33. OSFSControl_FSNumberPrinter     *       14
  34. OSFSControl_FSNumberSerial      *       15
  35. OSFSControl_FSNumberVDU         *       17
  36. OSFSControl_FSNumberRAWVDU      *       18
  37. OSFSControl_FSNumberKBD         *       19
  38. OSFSControl_FSNumberRAWKBD      *       20
  39. OSFSControl_FSNumberDESKFS      *       21
  40. OSFSControl_FSNumberRAMFS       *       23
  41. OSFSControl_FSNumberRISCIXFS    *       24
  42. OSFSControl_FSNumberStreamer    *       25
  43. OSFSControl_FSNumberSCSIFS      *       26
  44. OSFSControl_FSNumberDigitiser   *       27
  45. OSFSControl_FSNumberScanner     *       28
  46. OSFSControl_FSNumberMULTIFS     *       29
  47. OSFSControl_FSNumberNFS         *       33
  48. OSFSControl_FSNumberCDFS        *       37
  49. OSFSControl_FSNumberDOSFS       *       43
  50. OSFSControl_FSNumberRESOURCEFS  *       46
  51. OSFSControl_FSNumberPIPEFS      *       47
  52. OSFSControl_FSNumberDEVICEFS    *       53
  53. OSFSControl_FSNumberParallel    *       54
  54. OSFSControl_FSNumberSHAREFS     *       99
  55. OSFSControl_TypeUntyped         *       &1000
  56. OSFSControl_TypeDir             *       &2000
  57. OSFSControl_TypeApplication     *       &FFFFFFFF
  58. OSFSControl_OptRestoreDefault   *       0
  59. OSFSControl_OptMessageLevel     *       1
  60. OSFSControl_OptBootAction       *       4
  61. OSFSControl_CopyRecurse         *       &1
  62. OSFSControl_CopyForce           *       &2
  63. OSFSControl_CopyGivenTimes      *       &4
  64. OSFSControl_CopyConfirm         *       &8
  65. OSFSControl_CopyVerbose         *       &10
  66. OSFSControl_CopyQuick           *       &20
  67. OSFSControl_CopyPrompt          *       &40
  68. OSFSControl_CopyDelete          *       &80
  69. OSFSControl_CopyAllowPrint      *       &100
  70. OSFSControl_CopyNoAttributes    *       &200
  71. OSFSControl_CopyStamp           *       &400
  72. OSFSControl_CopyStructure       *       &800
  73. OSFSControl_CopyNewer           *       &1000
  74. OSFSControl_CopyGivenDescriptor *       &2000
  75. OSFSControl_CopyLook            *       &4000
  76. OSFSControl_WipeRecurse         *       &1
  77. OSFSControl_WipeForce           *       &2
  78. OSFSControl_WipeGivenTimes      *       &4
  79. OSFSControl_WipeConfirm         *       &8
  80. OSFSControl_WipeVerbose         *       &10
  81. OSFSControl_WipeAllowPrint      *       &100
  82. OSFSControl_CountRecurse        *       &1
  83. OSFSControl_CountGivenTimes     *       &4
  84. OSFSControl_CountConfirm        *       &8
  85. OSFSControl_CountVerbose        *       &10
  86. OSFSControl_CountAllowPrint     *       &100
  87. OSFSControl_KindFree            *       0
  88. OSFSControl_KindAllocated       *       1
  89. OSFSControl_KindFound           *       2
  90. OSFSControl_KindSharable        *       3
  91. OSFSControl_DirCSD              *       0
  92. OSFSControl_DirPSD              *       1
  93. OSFSControl_DirURD              *       2
  94. OSFSControl_DirLib              *       3
  95.  
  96. ;Symbols for structure offsets and sizes
  97. OSFSControl_Id                  *       4 ;abstract type
  98.                                 ^       0
  99. OSFSControl_Descriptor_addr     #       Ptr
  100. OSFSControl_Descriptor_size     #       Int
  101. OSFSControl_Descriptor          *       @
  102.  
  103.  
  104. ;Symbols for SWI's and SWI reason codes
  105. XOS_FSControl                   *       &20029
  106. OS_FSControl                    *       &29
  107.  
  108. OSFSControl_Dir                 *       &0
  109.    ;Entry
  110.    ;  R0 = &0
  111.    ;  R1 -> dir_names (String)
  112.  
  113. OSFSControl_Lib                 *       &1
  114.    ;Entry
  115.    ;  R0 = &1
  116.    ;  R1 -> dir_names (String)
  117.  
  118. OSFSControl_StartApplication    *       &2
  119.    ;Entry
  120.    ;  R0 = &2
  121.    ;  R1 -> tail (String)
  122.    ;  R2 = cao (pointer to data)
  123.    ;  R3 -> command (String)
  124.  
  125. OSFSControl_Run                 *       &4
  126.    ;Entry
  127.    ;  R0 = &4
  128.    ;  R1 -> file_names (String)
  129.  
  130. OSFSControl_Cat                 *       &5
  131.    ;Entry
  132.    ;  R0 = &5
  133.    ;  R1 -> dir_names (String)
  134.  
  135. OSFSControl_Ex                  *       &6
  136.    ;Entry
  137.    ;  R0 = &6
  138.    ;  R1 -> dir_names (String)
  139.  
  140. OSFSControl_LCat                *       &7
  141.    ;Entry
  142.    ;  R0 = &7
  143.    ;  R1 -> dir_names (String)
  144.  
  145. OSFSControl_LEx                 *       &8
  146.    ;Entry
  147.    ;  R0 = &8
  148.    ;  R1 -> dir_names (String)
  149.  
  150. OSFSControl_Info                *       &9
  151.    ;Entry
  152.    ;  R0 = &9
  153.    ;  R1 -> file_names (String)
  154.  
  155. OSFSControl_Opt                 *       &A
  156.    ;Entry
  157.    ;  R0 = &A
  158.    ;  R1 = opt (Int)
  159.    ;  R2 = value (Int)
  160.  
  161. OSFSControl_SetTemporaryFS      *       &B
  162.    ;Entry
  163.    ;  R0 = &B
  164.    ;  R1 -> file_name (String)
  165.    ;Exit
  166.    ;  R1 -> file_name_out (String)
  167.    ;  R2 = old_fs (Int)
  168.    ;  R3 -> special (String)
  169.  
  170. OSFSControl_AddFS               *       &C
  171.    ;Entry
  172.    ;  R0 = &C
  173.    ;  R1 -> module (data)
  174.    ;  R2 = fs_info_offset (Int)
  175.    ;  R3 = workspace (pointer to Void)
  176.  
  177. OSFSControl_LookupFS            *       &D
  178.    ;Entry
  179.    ;  R0 = &D
  180.    ;  R1 = fs (OSFSControl_Id)
  181.    ;  R2 = control_terminated (Bool)
  182.    ;Exit
  183.    ;  R1 = fs_out (Int)
  184.    ;  R2 = fs_found (Bool)
  185.  
  186. OSFSControl_SelectFS            *       &E
  187.    ;Entry
  188.    ;  R0 = &E
  189.    ;  R1 = fs (OSFSControl_Id)
  190.  
  191. OSFSControl_BootFromFS          *       &F
  192.    ;Entry
  193.    ;  R0 = &F
  194.  
  195. OSFSControl_RemoveFS            *       &10
  196.    ;Entry
  197.    ;  R0 = &10
  198.    ;  R1 -> fs (String)
  199.  
  200. OSFSControl_AddSecondaryFS      *       &11
  201.    ;Entry
  202.    ;  R0 = &11
  203.    ;  R1 = fs (OSFSControl_Id)
  204.    ;  R2 -> secondary_name (String)
  205.    ;  R3 = workspace (pointer to Void)
  206.  
  207. OSFSControl_ReadFileType        *       &12
  208.    ;Entry
  209.    ;  R0 = &12
  210.    ;  R2 = file_type (Bits)
  211.    ;Exit
  212.    ;  R2 = name1 (Bits)
  213.    ;  R3 = name2 (Bits)
  214.  
  215. OSFSControl_RestoreCurrent      *       &13
  216.    ;Entry
  217.    ;  R0 = &13
  218.  
  219. OSFSControl_ReadModuleBase      *       &14
  220.    ;Entry
  221.    ;  R0 = &14
  222.    ;Exit
  223.    ;  R1 -> module (data)
  224.    ;  R2 = workspace (pointer to Void)
  225.  
  226. OSFSControl_ReadFSHandle        *       &15
  227.    ;Entry
  228.    ;  R0 = &15
  229.    ;  R1 = file (OS_F)
  230.    ;Exit
  231.    ;  R1 = fs_handle (Int)
  232.    ;  R2 = info_word (Int)
  233.  
  234. OSFSControl_Shut                *       &16
  235.    ;Entry
  236.    ;  R0 = &16
  237.  
  238. OSFSControl_Shutdown            *       &17
  239.    ;Entry
  240.    ;  R0 = &17
  241.  
  242. OSFSControl_Access              *       &18
  243.    ;Entry
  244.    ;  R0 = &18
  245.    ;  R1 -> file_names (String)
  246.    ;  R2 -> access (String)
  247.  
  248. OSFSControl_Rename              *       &19
  249.    ;Entry
  250.    ;  R0 = &19
  251.    ;  R1 -> file_name (String)
  252.    ;  R2 -> new_file_name (String)
  253.  
  254. OSFSControl_Copy                *       &1A
  255.    ;Entry
  256.    ;  R0 = &1A
  257.    ;  R1 -> from (String)
  258.    ;  R2 -> to (String)
  259.    ;  R3 = flags (Bits)
  260.    ;  R4 = start_load (Bits)
  261.    ;  R5 = start_exec (Bits)
  262.    ;  R6 = end_load (Bits)
  263.    ;  R7 = end_exec (Bits)
  264.    ;  R8 -> descriptor (OSFSControl_Descriptor)
  265.  
  266. OSFSControl_Wipe                *       &1B
  267.    ;Entry
  268.    ;  R0 = &1B
  269.    ;  R1 -> file_names (String)
  270.    ;  R3 = flags (Bits)
  271.    ;  R4 = start_load (Bits)
  272.    ;  R5 = start_exec (Bits)
  273.    ;  R6 = end_load (Bits)
  274.    ;  R7 = end_exec (Bits)
  275.  
  276. OSFSControl_Count               *       &1C
  277.    ;Entry
  278.    ;  R0 = &1C
  279.    ;  R1 -> file_names (String)
  280.    ;  R3 = flags (Bits)
  281.    ;  R4 = start_load (Bits)
  282.    ;  R5 = start_exec (Bits)
  283.    ;  R6 = end_load (Bits)
  284.    ;  R7 = end_exec (Bits)
  285.  
  286. OSFSControl_ReadSecondaryFS     *       &1E
  287.    ;Entry
  288.    ;  R0 = &1E
  289.    ;Exit
  290.    ;  R1 -> module (data)
  291.    ;  R2 = workspace (pointer to Void)
  292.  
  293. OSFSControl_FileTypeFromString  *       &1F
  294.    ;Entry
  295.    ;  R0 = &1F
  296.    ;  R1 -> file_type_name (String)
  297.    ;Exit
  298.    ;  R2 = file_type (Bits)
  299.  
  300. OSFSControl_FileInfo            *       &20
  301.    ;Entry
  302.    ;  R0 = &20
  303.    ;  R1 -> file_names (String)
  304.  
  305. OSFSControl_ReadFSName          *       &21
  306.    ;Entry
  307.    ;  R0 = &21
  308.    ;  R1 = fs (Int)
  309.    ;  R2 = buffer (pointer to String)
  310.    ;  R3 = size (Int)
  311.  
  312. OSFSControl_RegisterImageFS     *       &23
  313.    ;Entry
  314.    ;  R0 = &23
  315.    ;  R1 -> module (data)
  316.    ;  R2 = fs_info_offset (Int)
  317.    ;  R3 = workspace (pointer to Void)
  318.  
  319. OSFSControl_DeregisterImageFS   *       &24
  320.    ;Entry
  321.    ;  R0 = &24
  322.    ;  R1 = file_type (Bits)
  323.  
  324. OSFSControl_CanonicalisePath    *       &25
  325.    ;Entry
  326.    ;  R0 = &25
  327.    ;  R1 -> path_name (String)
  328.    ;  R2 = buffer (pointer to String)
  329.    ;  R3 -> var (String)
  330.    ;  R4 -> path (String)
  331.    ;  R5 = size (Int)
  332.    ;Exit
  333.    ;  R5 = spare (Int)
  334.  
  335. OSFSControl_InfoToFileType      *       &26
  336.    ;Entry
  337.    ;  R0 = &26
  338.    ;  R1 -> file_name (String)
  339.    ;  R2 = load_addr (Bits)
  340.    ;  R3 = exec_addr (Bits)
  341.    ;  R4 = size (Int)
  342.    ;  R5 = attr (Bits)
  343.    ;  R6 = obj_type (Int)
  344.    ;Exit
  345.    ;  R2 = file_type (Bits)
  346.  
  347. OSFSControl_URD                 *       &27
  348.    ;Entry
  349.    ;  R0 = &27
  350.    ;  R1 -> dir_name (String)
  351.  
  352. OSFSControl_Back                *       &28
  353.    ;Entry
  354.    ;  R0 = &28
  355.  
  356. OSFSControl_DefectList          *       &29
  357.    ;Entry
  358.    ;  R0 = &29
  359.    ;  R1 -> image_name (String)
  360.    ;  R2 = buffer (pointer to data)
  361.    ;  R3 = size (Int)
  362.  
  363. OSFSControl_AddDefect           *       &2A
  364.    ;Entry
  365.    ;  R0 = &2A
  366.    ;  R1 -> image_name (String)
  367.    ;  R2 = offset (Int)
  368.  
  369. OSFSControl_NoDir               *       &2B
  370.    ;Entry
  371.    ;  R0 = &2B
  372.  
  373. OSFSControl_NoURD               *       &2C
  374.    ;Entry
  375.    ;  R0 = &2C
  376.  
  377. OSFSControl_NoLib               *       &2D
  378.    ;Entry
  379.    ;  R0 = &2D
  380.  
  381. OSFSControl_UsedSpaceMap        *       &2E
  382.    ;Entry
  383.    ;  R0 = &2E
  384.    ;  R1 -> image_name (String)
  385.    ;  R2 = buffer (pointer to data)
  386.    ;  R3 = size (Int)
  387.  
  388. OSFSControl_ReadBootOption      *       &2F
  389.    ;Entry
  390.    ;  R0 = &2F
  391.    ;  R1 -> file_name (String)
  392.    ;Exit
  393.    ;  R2 = boot_option (Int)
  394.  
  395. OSFSControl_WriteBootOption     *       &30
  396.    ;Entry
  397.    ;  R0 = &30
  398.    ;  R1 -> file_name (String)
  399.    ;  R2 = boot_option (Int)
  400.  
  401. OSFSControl_FreeSpace           *       &31
  402.    ;Entry
  403.    ;  R0 = &31
  404.    ;  R1 -> file_name (String)
  405.    ;Exit
  406.    ;  R0 = free (Int)
  407.    ;  R1 = max (Int)
  408.    ;  R2 = size (Int)
  409.  
  410. OSFSControl_NameDisc            *       &32
  411.    ;Entry
  412.    ;  R0 = &32
  413.    ;  R1 -> file_name (String)
  414.    ;  R2 -> disc_name (String)
  415.  
  416. OSFSControl_StampImage          *       &33
  417.    ;Entry
  418.    ;  R0 = &33
  419.    ;  R1 -> file_name (String)
  420.    ;  R2 = stamp_now (Bool)
  421.  
  422. OSFSControl_ObjectAtOffset      *       &34
  423.    ;Entry
  424.    ;  R0 = &34
  425.    ;  R1 -> file_name (String)
  426.    ;  R2 = offset (Int)
  427.    ;  R3 -> buffer (String)
  428.    ;  R4 = size (Int)
  429.    ;Exit
  430.    ;  R2 = obj_kind (Int)
  431.  
  432. OSFSControl_SetDir              *       &35
  433.    ;Entry
  434.    ;  R0 = &35
  435.    ;  R1 -> path (String)
  436.    ;  R2 = set (Int)
  437.    ;  R3 -> fs (String)
  438.    ;  R6 -> special (String)
  439.  
  440. OSFSControl_ReadDir             *       &36
  441.    ;Entry
  442.    ;  R0 = &36
  443.    ;  R1 = buffer (pointer to String)
  444.    ;  R2 = set (Int)
  445.    ;  R3 -> fs (String)
  446.    ;  R5 = size (Int)
  447.    ;Exit
  448.    ;  R5 = spare (Int)
  449.    ;  R6 -> special (String)
  450.  
  451. FSCV                            *       &F
  452.  
  453. UpCall_MediaNotPresent          *       &1
  454.    ;Entry
  455.    ;  R0 = &1
  456.    ;  R1 = fs_no (Int)
  457.    ;  R2 -> media_name (String)
  458.    ;  R3 = device_no (Int)
  459.    ;  R4 = iteration_count (Int)
  460.    ;  R5 = timeout (Int)
  461.    ;  R6 -> media_type (String)
  462.    ;Exit
  463.    ;  R0 = changed (Int)
  464.  
  465. UpCall_MediaNotKnown            *       &2
  466.    ;Entry
  467.    ;  R0 = &2
  468.    ;  R1 = fs_no (Int)
  469.    ;  R2 -> media_name (String)
  470.    ;  R3 = device_no (Int)
  471.    ;  R4 = iteration_count (Int)
  472.    ;  R5 = timeout (Int)
  473.    ;  R6 -> media_type (String)
  474.    ;Exit
  475.    ;  R0 = changed (Int)
  476.  
  477. UpCallFSControl_SetArgsSize     *       &200
  478.    ;Entry
  479.    ;  R0 = &3
  480.    ;  R1 = f (OS_F)
  481.    ;  R2 = size (Int)
  482.    ;  R8 = fs_info (Bits)
  483.    ;  R9 = &200
  484.  
  485. UpCallFSControl_Rename          *       &208
  486.    ;Entry
  487.    ;  R0 = &3
  488.    ;  R1 -> file_name (String)
  489.    ;  R2 -> new_file_name (String)
  490.    ;  R6 -> special (String)
  491.    ;  R7 -> new_special (String)
  492.    ;  R8 = fs_info (Bits)
  493.    ;  R9 = &208
  494.  
  495. UpCallFSControl_SetAttrString   *       &209
  496.    ;Entry
  497.    ;  R0 = &3
  498.    ;  R1 -> file_name (String)
  499.    ;  R2 -> attr (String)
  500.    ;  R6 -> special (String)
  501.    ;  R8 = fs_info (Bits)
  502.    ;  R9 = &209
  503.  
  504. UpCall_MediaSearchEnd           *       &4
  505.    ;Entry
  506.    ;  R0 = &4
  507.  
  508. UpCall_NewApplication           *       &100
  509.    ;Entry
  510.    ;  R0 = &100
  511.    ;  R2 = cao (pointer to data)
  512.    ;Exit
  513.    ;  R0 = started (Bool)
  514.  
  515.         ]
  516.         END
  517.