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

  1. ;AAsm header file for OSFile
  2. ;written by DefMod (Aug  8 1994) on Fri Sep 16 13:26:47 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: OSFile_Hdr
  21.         GBLS    OSFile_Hdr
  22.  
  23. ;Symbols for constants
  24. OSFile_NotFound                 *       0
  25. OSFile_IsFile                   *       1
  26. OSFile_IsDir                    *       2
  27. OSFile_IsImage                  *       3
  28. OSFile_FileType                 *       &FFF00
  29. OSFile_FileTypeShift            *       8
  30. OSFile_TypeDraw                 *       &AFF
  31. OSFile_TypeBBCROM               *       &BBC
  32. OSFile_TypeDOSDisc              *       &FC8
  33. OSFile_TypeDevice               *       &FCC
  34. OSFile_TypeCache                *       &FCF
  35. OSFile_TypeTaskExec             *       &FD6
  36. OSFile_TypeTaskObey             *       &FD7
  37. OSFile_TypeDOS                  *       &FE4
  38. OSFile_TypeDesktop              *       &FEA
  39. OSFile_TypeObey                 *       &FEB
  40. OSFile_TypeTemplate             *       &FEC
  41. OSFile_TypePalette              *       &FED
  42. OSFile_TypeConfig               *       &FF2
  43. OSFile_TypePrintout             *       &FF4
  44. OSFile_TypePostscript           *       &FF5
  45. OSFile_TypeFont                 *       &FF6
  46. OSFile_TypeBBCFont              *       &FF7
  47. OSFile_TypeAbsolute             *       &FF8
  48. OSFile_TypeSprite               *       &FF9
  49. OSFile_TypeModule               *       &FFA
  50. OSFile_TypeBASIC                *       &FFB
  51. OSFile_TypeUtility              *       &FFC
  52. OSFile_TypeData                 *       &FFD
  53. OSFile_TypeCommand              *       &FFE
  54. OSFile_TypeText                 *       &FFF
  55. OSFile_TypeDir                  *       &1000
  56. OSFile_TypeApplication          *       &2000
  57. OSFile_TypeUntyped              *       &FFFFFFFF
  58. OSFile_AttrOwnerRead            *       &1
  59. OSFile_AttrOwnerWrite           *       &2
  60. OSFile_AttrOwnerSpecial         *       &4
  61. OSFile_AttrOwnerLocked          *       &8
  62. OSFile_AttrWorldRead            *       &10
  63. OSFile_AttrWorldWrite           *       &20
  64. OSFile_AttrWorldSpecial         *       &40
  65. OSFile_AttrWorldLocked          *       &80
  66.  
  67. ;Symbols for SWI's and SWI reason codes
  68. XOS_File                        *       &20008
  69. OS_File                         *       &8
  70.  
  71. OSFile_SaveStamped              *       &A
  72.    ;Entry
  73.    ;  R0 = &A
  74.    ;  R1 -> file_name (String)
  75.    ;  R2 = file_type (Bits)
  76.    ;  R4 -> data (data)
  77.    ;  R5 -> end (data)
  78.  
  79. OSFile_Write                    *       &1
  80.    ;Entry
  81.    ;  R0 = &1
  82.    ;  R1 -> file_name (String)
  83.    ;  R2 = load_addr (Bits)
  84.    ;  R3 = exec_addr (Bits)
  85.    ;  R5 = attr (Bits)
  86.  
  87. OSFile_WriteLoad                *       &2
  88.    ;Entry
  89.    ;  R0 = &2
  90.    ;  R1 -> file_name (String)
  91.    ;  R2 = load_addr (Bits)
  92.  
  93. OSFile_WriteExec                *       &3
  94.    ;Entry
  95.    ;  R0 = &3
  96.    ;  R1 -> file_name (String)
  97.    ;  R3 = exec_addr (Bits)
  98.  
  99. OSFile_WriteAttr                *       &4
  100.    ;Entry
  101.    ;  R0 = &4
  102.    ;  R1 -> file_name (String)
  103.    ;  R5 = attr (Bits)
  104.  
  105. OSFile_Stamp                    *       &9
  106.    ;Entry
  107.    ;  R0 = &9
  108.    ;  R1 -> file_name (String)
  109.  
  110. OSFile_SetType                  *       &12
  111.    ;Entry
  112.    ;  R0 = &12
  113.    ;  R1 -> file_name (String)
  114.    ;  R2 = file_type (Bits)
  115.  
  116. OSFile_Delete                   *       &6
  117.    ;Entry
  118.    ;  R0 = &6
  119.    ;  R1 -> file_name (String)
  120.    ;Exit
  121.    ;  R0 = obj_type (Int)
  122.    ;  R2 = load_addr (Bits)
  123.    ;  R3 = exec_addr (Bits)
  124.    ;  R4 = size (Int)
  125.    ;  R5 = attr (Bits)
  126.  
  127. OSFile_CreateStamped            *       &B
  128.    ;Entry
  129.    ;  R0 = &B
  130.    ;  R1 -> file_name (String)
  131.    ;  R2 = file_type (Bits)
  132.    ;  R4 = &0
  133.    ;  R5 = size (Int)
  134.  
  135. OSFile_CreateDir                *       &8
  136.    ;Entry
  137.    ;  R0 = &8
  138.    ;  R1 -> dir_name (String)
  139.    ;  R4 = entry_count (Int)
  140.  
  141. OSFile_LoadStamped              *       &FF
  142.    ;Entry
  143.    ;  R0 = &FF
  144.    ;  R1 -> file_name (String)
  145.    ;  R2 = addr (pointer to data)
  146.    ;  R3 = &0
  147.    ;Exit
  148.    ;  R0 = obj_type (Int)
  149.    ;  R2 = load_addr (Bits)
  150.    ;  R3 = exec_addr (Bits)
  151.    ;  R4 = size (Int)
  152.    ;  R5 = attr (Bits)
  153.  
  154. OSFile_LoadStampedPath          *       &C
  155.    ;Entry
  156.    ;  R0 = &C
  157.    ;  R1 -> file_name (String)
  158.    ;  R2 = addr (pointer to data)
  159.    ;  R3 = &0
  160.    ;  R4 -> path (String)
  161.    ;Exit
  162.    ;  R0 = obj_type (Int)
  163.    ;  R2 = load_addr (Bits)
  164.    ;  R3 = exec_addr (Bits)
  165.    ;  R4 = size (Int)
  166.    ;  R5 = attr (Bits)
  167.  
  168. OSFile_LoadStampedPathVar       *       &E
  169.    ;Entry
  170.    ;  R0 = &E
  171.    ;  R1 -> file_name (String)
  172.    ;  R2 = addr (pointer to data)
  173.    ;  R3 = &0
  174.    ;  R4 -> var (String)
  175.    ;Exit
  176.    ;  R0 = obj_type (Int)
  177.    ;  R2 = load_addr (Bits)
  178.    ;  R3 = exec_addr (Bits)
  179.    ;  R4 = size (Int)
  180.    ;  R5 = attr (Bits)
  181.  
  182. OSFile_LoadStampedNoPath        *       &10
  183.    ;Entry
  184.    ;  R0 = &10
  185.    ;  R1 -> file_name (String)
  186.    ;  R2 = addr (pointer to data)
  187.    ;  R3 = &0
  188.    ;Exit
  189.    ;  R0 = obj_type (Int)
  190.    ;  R2 = load_addr (Bits)
  191.    ;  R3 = exec_addr (Bits)
  192.    ;  R4 = size (Int)
  193.    ;  R5 = attr (Bits)
  194.  
  195. OSFile_MakeError                *       &13
  196.    ;Entry
  197.    ;  R0 = &13
  198.    ;  R1 -> file_name (String)
  199.    ;  R2 = obj_type (Int)
  200.  
  201. OSFile_ReadStamped              *       &14
  202.    ;Entry
  203.    ;  R0 = &14
  204.    ;  R1 -> file_name (String)
  205.    ;Exit
  206.    ;  R0 = obj_type (Int)
  207.    ;  R2 = load_addr (Bits)
  208.    ;  R3 = exec_addr (Bits)
  209.    ;  R4 = size (Int)
  210.    ;  R5 = attr (Bits)
  211.    ;  R6 = file_type (Bits)
  212.  
  213. OSFile_ReadStampedPath          *       &15
  214.    ;Entry
  215.    ;  R0 = &15
  216.    ;  R1 -> file_name (String)
  217.    ;  R4 -> path (String)
  218.    ;Exit
  219.    ;  R0 = obj_type (Int)
  220.    ;  R2 = load_addr (Bits)
  221.    ;  R3 = exec_addr (Bits)
  222.    ;  R4 = size (Int)
  223.    ;  R5 = attr (Bits)
  224.    ;  R6 = file_type (Bits)
  225.  
  226. OSFile_ReadStampedPathVar       *       &16
  227.    ;Entry
  228.    ;  R0 = &16
  229.    ;  R1 -> file_name (String)
  230.    ;  R4 -> var (String)
  231.    ;Exit
  232.    ;  R0 = obj_type (Int)
  233.    ;  R2 = load_addr (Bits)
  234.    ;  R3 = exec_addr (Bits)
  235.    ;  R4 = size (Int)
  236.    ;  R5 = attr (Bits)
  237.    ;  R6 = file_type (Bits)
  238.  
  239. OSFile_ReadStampedNoPath        *       &17
  240.    ;Entry
  241.    ;  R0 = &17
  242.    ;  R1 -> file_name (String)
  243.    ;Exit
  244.    ;  R0 = obj_type (Int)
  245.    ;  R2 = load_addr (Bits)
  246.    ;  R3 = exec_addr (Bits)
  247.    ;  R4 = size (Int)
  248.    ;  R5 = attr (Bits)
  249.    ;  R6 = file_type (Bits)
  250.  
  251. OSFile_ReadBlockSize            *       &18
  252.    ;Entry
  253.    ;  R0 = &18
  254.    ;  R1 -> file_name (String)
  255.    ;Exit
  256.    ;  R2 = block_size (Int)
  257.  
  258. OSFile_Save                     *       &0
  259.    ;Entry
  260.    ;  R0 = &0
  261.    ;  R1 -> file_name (String)
  262.    ;  R2 = load_addr (Bits)
  263.    ;  R3 = exec_addr (Bits)
  264.    ;  R4 -> data (data)
  265.    ;  R5 -> end (data)
  266.  
  267. OSFile_Read                     *       &5
  268.    ;Entry
  269.    ;  R0 = &5
  270.    ;  R1 -> file_name (String)
  271.    ;Exit
  272.    ;  R0 = obj_type (Int)
  273.    ;  R2 = load_addr (Bits)
  274.    ;  R3 = exec_addr (Bits)
  275.    ;  R4 = size (Int)
  276.    ;  R5 = attr (Bits)
  277.  
  278. OSFile_ReadPath                 *       &D
  279.    ;Entry
  280.    ;  R0 = &D
  281.    ;  R1 -> file_name (String)
  282.    ;  R4 -> path (String)
  283.    ;Exit
  284.    ;  R0 = obj_type (Int)
  285.    ;  R2 = load_addr (Bits)
  286.    ;  R3 = exec_addr (Bits)
  287.    ;  R4 = size (Int)
  288.    ;  R5 = attr (Bits)
  289.  
  290. OSFile_ReadPathVar              *       &F
  291.    ;Entry
  292.    ;  R0 = &F
  293.    ;  R1 -> file_name (String)
  294.    ;  R4 -> var (String)
  295.    ;Exit
  296.    ;  R0 = obj_type (Int)
  297.    ;  R2 = load_addr (Bits)
  298.    ;  R3 = exec_addr (Bits)
  299.    ;  R4 = size (Int)
  300.    ;  R5 = attr (Bits)
  301.  
  302. OSFile_ReadNoPath               *       &11
  303.    ;Entry
  304.    ;  R0 = &11
  305.    ;  R1 -> file_name (String)
  306.    ;Exit
  307.    ;  R0 = obj_type (Int)
  308.    ;  R2 = load_addr (Bits)
  309.    ;  R3 = exec_addr (Bits)
  310.    ;  R4 = size (Int)
  311.    ;  R5 = attr (Bits)
  312.  
  313. OSFile_Create                   *       &7
  314.    ;Entry
  315.    ;  R0 = &7
  316.    ;  R1 -> file_name (String)
  317.    ;  R2 = load_addr (Bits)
  318.    ;  R3 = exec_addr (Bits)
  319.    ;  R4 = &0
  320.    ;  R5 = size (Int)
  321.  
  322. OSFile_Load                     *       &FF
  323.    ;Entry
  324.    ;  R0 = &FF
  325.    ;  R1 -> file_name (String)
  326.    ;  R3 = &1
  327.    ;Exit
  328.    ;  R0 = obj_type (Int)
  329.    ;  R2 = load_addr (Bits)
  330.    ;  R3 = exec_addr (Bits)
  331.    ;  R4 = size (Int)
  332.    ;  R5 = attr (Bits)
  333.  
  334. OSFile_LoadPath                 *       &C
  335.    ;Entry
  336.    ;  R0 = &C
  337.    ;  R1 -> file_name (String)
  338.    ;  R3 = &1
  339.    ;  R4 -> path (String)
  340.    ;Exit
  341.    ;  R0 = obj_type (Int)
  342.    ;  R2 = load_addr (Bits)
  343.    ;  R3 = exec_addr (Bits)
  344.    ;  R4 = size (Int)
  345.    ;  R5 = attr (Bits)
  346.  
  347. OSFile_LoadPathVar              *       &E
  348.    ;Entry
  349.    ;  R0 = &E
  350.    ;  R1 -> file_name (String)
  351.    ;  R3 = &1
  352.    ;  R4 -> var (String)
  353.    ;Exit
  354.    ;  R0 = obj_type (Int)
  355.    ;  R2 = load_addr (Bits)
  356.    ;  R3 = exec_addr (Bits)
  357.    ;  R4 = size (Int)
  358.    ;  R5 = attr (Bits)
  359.  
  360. OSFile_LoadNoPath               *       &10
  361.    ;Entry
  362.    ;  R0 = &10
  363.    ;  R1 -> file_name (String)
  364.    ;  R3 = &1
  365.    ;Exit
  366.    ;  R0 = obj_type (Int)
  367.    ;  R2 = load_addr (Bits)
  368.    ;  R3 = exec_addr (Bits)
  369.    ;  R4 = size (Int)
  370.    ;  R5 = attr (Bits)
  371.  
  372. FileV                           *       &8
  373.  
  374. UpCallFile_Save                 *       &0
  375.    ;Entry
  376.    ;  R0 = &3
  377.    ;  R1 -> file_name (String)
  378.    ;  R2 = load_addr (Bits)
  379.    ;  R3 = exec_addr (Bits)
  380.    ;  R4 -> data (data)
  381.    ;  R5 -> end (data)
  382.    ;  R6 -> special (String)
  383.    ;  R8 = fs_info (Bits)
  384.    ;  R9 = &0
  385.  
  386. UpCallFile_SetArgs              *       &1
  387.    ;Entry
  388.    ;  R0 = &3
  389.    ;  R1 -> file_name (String)
  390.    ;  R2 = load_addr (Bits)
  391.    ;  R3 = exec_addr (Bits)
  392.    ;  R5 = attr (Bits)
  393.    ;  R6 -> special (String)
  394.    ;  R8 = fs_info (Bits)
  395.    ;  R9 = &1
  396.  
  397. UpCallFile_SetLoadAddr          *       &2
  398.    ;Entry
  399.    ;  R0 = &3
  400.    ;  R1 -> file_name (String)
  401.    ;  R2 = load_addr (Bits)
  402.    ;  R6 -> special (String)
  403.    ;  R8 = fs_info (Bits)
  404.    ;  R9 = &2
  405.  
  406. UpCallFile_SetExecAddr          *       &3
  407.    ;Entry
  408.    ;  R0 = &3
  409.    ;  R1 -> file_name (String)
  410.    ;  R3 = exec_addr (Bits)
  411.    ;  R6 -> special (String)
  412.    ;  R8 = fs_info (Bits)
  413.    ;  R9 = &3
  414.  
  415. UpCallFile_SetAttr              *       &4
  416.    ;Entry
  417.    ;  R0 = &3
  418.    ;  R1 -> file_name (String)
  419.    ;  R5 = attr (Bits)
  420.    ;  R6 -> special (String)
  421.    ;  R8 = fs_info (Bits)
  422.    ;  R9 = &4
  423.  
  424. UpCallFile_Delete               *       &6
  425.    ;Entry
  426.    ;  R0 = &3
  427.    ;  R1 -> file_name (String)
  428.    ;  R6 -> special (String)
  429.    ;  R8 = fs_info (Bits)
  430.    ;  R9 = &6
  431.  
  432. UpCallFile_Create               *       &7
  433.    ;Entry
  434.    ;  R0 = &3
  435.    ;  R1 -> file_name (String)
  436.    ;  R2 = load_addr (Bits)
  437.    ;  R3 = exec_addr (Bits)
  438.    ;  R4 -> data (data)
  439.    ;  R5 -> end (data)
  440.    ;  R6 -> special (String)
  441.    ;  R8 = fs_info (Bits)
  442.    ;  R9 = &7
  443.  
  444. UpCallFile_CreateDir            *       &8
  445.    ;Entry
  446.    ;  R0 = &3
  447.    ;  R1 -> file_name (String)
  448.    ;  R2 = load_addr (Bits)
  449.    ;  R3 = exec_addr (Bits)
  450.    ;  R4 = entry_count (Int)
  451.    ;  R6 -> special (String)
  452.    ;  R8 = fs_info (Bits)
  453.    ;  R9 = &8
  454.  
  455.         ]
  456.         END
  457.