home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / programming / oslib / oslib_1 / OSLib / Computer / Hdr / FileSwitch < prev    next >
Encoding:
Text File  |  1995-08-22  |  7.0 KB  |  204 lines

  1. ;Assembler header file for FileSwitch
  2. ;written by DefMod (Jun 30 1995) on Tue Aug 22 14:44:07 1995
  3. ;Jonathan Coxhead, Acorn Computers Ltd
  4.  
  5.         [       :LNOT: :DEF: Get_Types
  6.         GBLS    Get_Types
  7.         ]
  8.         [       :LNOT: :DEF: Types_Hdr
  9. Get_Types                       SETS    "GET OS:Hdr.Types"
  10.         |
  11. Get_Types                       SETS    ""
  12.         ]
  13.         $Get_Types
  14.  
  15.         [       :LNOT: :DEF: Get_OS
  16.         GBLS    Get_OS
  17.         ]
  18.         [       :LNOT: :DEF: OS_Hdr
  19. Get_OS                          SETS    "GET OS:Hdr.OS"
  20.         |
  21. Get_OS                          SETS    ""
  22.         ]
  23.         $Get_OS
  24.  
  25.         [       :LNOT: :DEF: FileSwitch_Hdr
  26.         GBLS    FileSwitch_Hdr
  27.  
  28. ;Symbols for constants
  29. Error_FileSwitchNoClaim         *       &400
  30. Error_BadFSControlReason        *       &401
  31. Error_BadOSFileReason           *       &402
  32. Error_BadOSArgsReason           *       &403
  33. Error_BadOSGBPBReason           *       &404
  34. Error_BadModeForOSFind          *       &405
  35. Error_NoRoomForTransient        *       &406
  36. Error_ExecAddrNotInCode         *       &407
  37. Error_ExecAddrTooLow            *       &408
  38. Error_UnknownActionType         *       &409
  39. Error_TooManyLevels             *       &40A
  40. Error_NoSelectedFilingSystem    *       &40B
  41. Error_CantRemoveFSByNumber      *       &40C
  42. Error_UnalignedFSEntry          *       &40D
  43. Error_UnsupportedFSEntry        *       &40E
  44. Error_FSNotSpecial              *       &40F
  45. Error_CoreNotReadable           *       &410
  46. Error_CoreNotWriteable          *       &411
  47. Error_BadBufferSizeForStream    *       &412
  48. Error_NotOpenForReading         *       &413
  49. Error_NotEnoughStackForFSEntry  *       &414
  50. Error_NothingToCopy             *       &415
  51. Error_NothingToDelete           *       &416
  52. Error_FileSwitchCantBeKilledWhilstThreaded *       &417
  53. Error_InvalidErrorBlock         *       &418
  54. Error_FSFileTooBig              *       &419
  55. Error_CantRMFasterFileSwitch    *       &41A
  56. Error_InconsistentHandleSet     *       &41B
  57. Error_IsAFile                   *       &41C
  58. Error_BadFileType               *       &41D
  59. Error_LibrarySomewhereElse      *       &41E
  60. Error_PathIsSelfContradictory   *       &41F
  61. Error_WasntDollarAfterDisc      *       &420
  62. Error_NotEnoughMemoryForWildcardResolution *       &421
  63. Error_NotEnoughStackForWildcardResolution *       &422
  64. Error_DirWantedFileFound        *       &423
  65. Error_NotFound                  *       &424
  66. Error_MultipartPathUsed         *       &425
  67. Error_RecursivePath             *       &426
  68. Error_MultiFSDoesNotSupportGBPB11 *       &427
  69. Error_FileSwitchDataLost        *       &428
  70. Error_TooManyErrorLookups       *       &429
  71. Error_MessageFileBusy           *       &42A
  72. Error_PartitionBusy             *       &42B
  73. FileSwitch_FSNumberNone         *       &0
  74. FileSwitch_FSNumberROMFS        *       &3
  75. FileSwitch_FSNumberNETFS        *       &5
  76. FileSwitch_FSNumberADFS         *       &8
  77. FileSwitch_FSNumberNETPRINT     *       &C
  78. FileSwitch_FSNumberNull         *       &D
  79. FileSwitch_FSNumberPrinter      *       &E
  80. FileSwitch_FSNumberSerial       *       &F
  81. FileSwitch_FSNumberVDU          *       &11
  82. FileSwitch_FSNumberRAWVDU       *       &12
  83. FileSwitch_FSNumberKBD          *       &13
  84. FileSwitch_FSNumberRAWKBD       *       &14
  85. FileSwitch_FSNumberDESKFS       *       &15
  86. FileSwitch_FSNumberRAMFS        *       &17
  87. FileSwitch_FSNumberRISCIXFS     *       &18
  88. FileSwitch_FSNumberStreamer     *       &19
  89. FileSwitch_FSNumberSCSIFS       *       &1A
  90. FileSwitch_FSNumberDigitiser    *       &1B
  91. FileSwitch_FSNumberScanner      *       &1C
  92. FileSwitch_FSNumberMULTIFS      *       &1D
  93. FileSwitch_FSNumberNFS          *       &21
  94. FileSwitch_FSNumberCDFS         *       &25
  95. FileSwitch_FSNumberDOSFS        *       &2B
  96. FileSwitch_FSNumberRESOURCEFS   *       &2E
  97. FileSwitch_FSNumberPIPEFS       *       &2F
  98. FileSwitch_FSNumberDEVICEFS     *       &35
  99. FileSwitch_FSNumberParallel     *       &36
  100. FileSwitch_FSNumberPCCARDFS     *       &59
  101. FileSwitch_FSNumberSHAREFS      *       &63
  102. FileSwitch_FSNumber             *       &FF
  103. FileSwitch_FSOpenFileLimit      *       &FF00
  104. FileSwitch_FSReadOnly           *       &10000
  105. FileSwitch_HasExtraFlags        *       &20000
  106. FileSwitch_NoFileEntries        *       &40000
  107. FileSwitch_NoSaveEntry          *       &80000
  108. FileSwitch_NoLoadEntry          *       &100000
  109. FileSwitch_ImplicitDirectories  *       &200000
  110. FileSwitch_NeedsURDAndLib       *       &400000
  111. FileSwitch_SupportsImage        *       &800000
  112. FileSwitch_Reserved             *       &1000000
  113. FileSwitch_SupportsFileInfo     *       &2000000
  114. FileSwitch_SupportsStampNamed   *       &4000000
  115. FileSwitch_NeedsFlush           *       &8000000
  116. FileSwitch_NeedsCreate          *       &10000000
  117. FileSwitch_SupportsEmptyNames   *       &20000000
  118. FileSwitch_Interactive          *       &40000000
  119. FileSwitch_SupportsSpecial      *       &80000000
  120. FileSwitch_SupportsDirChange    *       &1
  121. FileSwitch_NeedsCat             *       &2
  122. FileSwitch_NeedsEx              *       &4
  123. FileSwitch_NotFound             *       &0
  124. FileSwitch_IsFile               *       &1
  125. FileSwitch_IsDir                *       &2
  126. FileSwitch_IsImage              *       &3
  127. FileSwitch_AttrOwnerRead        *       &1
  128. FileSwitch_AttrOwnerWrite       *       &2
  129. FileSwitch_AttrOwnerSpecial     *       &4
  130. FileSwitch_AttrOwnerLocked      *       &8
  131. FileSwitch_AttrWorldRead        *       &10
  132. FileSwitch_AttrWorldWrite       *       &20
  133. FileSwitch_AttrWorldSpecial     *       &40
  134. FileSwitch_AttrWorldLocked      *       &80
  135. Error_NotSupported              *       &F8
  136. Error_FSWriteOnly               *       &FA
  137. Error_FSReadOnly                *       &FC
  138.  
  139. ;Symbols for structure offsets and sizes
  140. FileSwitch_FSNo                 *       Byte
  141.  
  142. FileSwitch_FSInfo               *       Bits
  143.  
  144. FileSwitch_FSExtraInfo          *       Bits
  145.  
  146. FileSwitch_ObjectType           *       Int
  147.  
  148. FileSwitch_Attr                 *       Bits
  149.  
  150.                                 ^       0
  151. FileSwitch_InfoWords_date_and_time #       OS_DateAndTime
  152.                                 ^       0
  153. FileSwitch_InfoWords_addrs_exec_addr #       Bits
  154. FileSwitch_InfoWords_addrs_load_addr #       Bits
  155. FileSwitch_InfoWords            *       @
  156.  
  157.  
  158. ;Symbols for SWI's and SWI reason codes
  159. XOS_BGet                        *       &2000A
  160. OS_BGet                         *       &A
  161.    ;Entry
  162.    ;  R1 = file (OS_F)
  163.    ;Exit
  164.    ;  R0 = c (Char)
  165.  
  166. BGetV                           *       &A
  167.    ;Entry
  168.    ;  R1 = file (OS_F)
  169.    ;  R9 = &A
  170.    ;Exit
  171.    ;  R0 = c (Char)
  172.  
  173. XOS_BPut                        *       &2000B
  174. OS_BPut                         *       &B
  175.    ;Entry
  176.    ;  R0 = c (Char)
  177.    ;  R1 = file (OS_F)
  178.  
  179. BPutV                           *       &B
  180.    ;Entry
  181.    ;  R0 = c (Char)
  182.    ;  R1 = file (OS_F)
  183.    ;  R9 = &B
  184.  
  185. Service_StartUpFS               *       &12
  186.    ;Entry
  187.    ;  R1 = &12
  188.    ;  R2 = fs_no (FileSwitch_FSNo)
  189.  
  190. Service_FSRedeclare             *       &40
  191.    ;Entry
  192.    ;  R1 = &40
  193.  
  194. Service_CloseFile               *       &68
  195.    ;Entry
  196.    ;  R1 = &68
  197.    ;  R2 -> file_name (String)
  198.    ;  R3 = count (Int)
  199.    ;Exit
  200.    ;  R3 = count_out (Int)
  201.  
  202.         ]
  203.         END
  204.