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

  1. ;Assembler header file for OSGBPB
  2. ;written by DefMod (Jun 30 1995) on Tue Aug 22 14:43:40 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: Get_FileSwitch
  26.         GBLS    Get_FileSwitch
  27.         ]
  28.         [       :LNOT: :DEF: FileSwitch_Hdr
  29. Get_FileSwitch                  SETS    "GET OS:Hdr.FileSwitch"
  30.         |
  31. Get_FileSwitch                  SETS    ""
  32.         ]
  33.         $Get_FileSwitch
  34.  
  35.         [       :LNOT: :DEF: OSGBPB_Hdr
  36.         GBLS    OSGBPB_Hdr
  37.  
  38. ;Symbols for constants
  39. OSGBPB_PrivilegeOwner           *       &0
  40. OSGBPB_PrivilegePublic          *       &FF
  41. OSGBPB_NoMore                   *       -1
  42.  
  43. ;Symbols for structure offsets and sizes
  44.                                 ^       0
  45. OSGBPB_Name_count               #       Byte
  46. OSGBPB_Name_c                   #       Char
  47. OSGBPB_Name                     *       @
  48.  
  49.                                 ^       0
  50. OSGBPB_DiscName_name            #       OSGBPB_Name
  51. OSGBPB_DiscName                 *       @
  52.  
  53.                                 ^       0
  54. OSGBPB_DirName_reserved         #       Byte
  55. OSGBPB_DirName_name             #       OSGBPB_Name
  56. OSGBPB_DirName                  *       @
  57.  
  58.                                 ^       0
  59. OSGBPB_NameList_names           #       OSGBPB_Name
  60. OSGBPB_NameList                 *       @
  61.  
  62.                                 ^       0
  63. OSGBPB_Info_load_addr           #       Bits
  64. OSGBPB_Info_exec_addr           #       Bits
  65. OSGBPB_Info_size                #       Int
  66. OSGBPB_Info_attr                #       FileSwitch_Attr
  67. OSGBPB_Info_obj_type            #       FileSwitch_ObjectType
  68. OSGBPB_Info_name                #       Char
  69. OSGBPB_Info                     *       @
  70.  
  71.                                 ^       0
  72. OSGBPB_SystemInfo_load_addr     #       Bits
  73. OSGBPB_SystemInfo_exec_addr     #       Bits
  74. OSGBPB_SystemInfo_size          #       Int
  75. OSGBPB_SystemInfo_attr          #       FileSwitch_Attr
  76. OSGBPB_SystemInfo_obj_type      #       FileSwitch_ObjectType
  77. OSGBPB_SystemInfo_sin           #       Int
  78. OSGBPB_SystemInfo_stamp         #       OS_DateAndTime
  79. OSGBPB_SystemInfo_name          #       Char
  80. OSGBPB_SystemInfo               *       @
  81.  
  82.                                 ^       0
  83. OSGBPB_InfoStamped_load_addr    #       Bits
  84. OSGBPB_InfoStamped_exec_addr    #       Bits
  85. OSGBPB_InfoStamped_size         #       Int
  86. OSGBPB_InfoStamped_attr         #       FileSwitch_Attr
  87. OSGBPB_InfoStamped_obj_type     #       FileSwitch_ObjectType
  88. OSGBPB_InfoStamped_file_type    #       Bits
  89. OSGBPB_InfoStamped_name         #       Char
  90. OSGBPB_InfoStamped              *       @
  91.  
  92.                                 ^       0
  93. OSGBPB_StringList_names         #       Skip
  94. OSGBPB_StringList               *       @
  95.  
  96.                                 ^       0
  97. OSGBPB_InfoList_info            #       OSGBPB_Info
  98. OSGBPB_InfoList                 *       @
  99.  
  100.                                 ^       0
  101. OSGBPB_SystemInfoList_info      #       OSGBPB_SystemInfo
  102. OSGBPB_SystemInfoList           *       @
  103.  
  104.                                 ^       0
  105. OSGBPB_InfoStampedList_info     #       OSGBPB_InfoStamped
  106. OSGBPB_InfoStampedList          *       @
  107.  
  108. OSGBPB_Privilege                *       Byte
  109.  
  110.  
  111. ;Symbols for SWI's and SWI reason codes
  112. XOS_GBPB                        *       &2000C
  113. OS_GBPB                         *       &C
  114.  
  115. OSGBPB_WriteAt                  *       &1
  116.    ;Entry
  117.    ;  R0 = &1
  118.    ;  R1 = file (OS_F)
  119.    ;  R2 -> data (data)
  120.    ;  R3 = size (Int)
  121.    ;  R4 = ptr (Int)
  122.    ;Exit
  123.    ;  R2 corrupted
  124.    ;  R3 = unwritten (Int)
  125.    ;  R4 corrupted
  126.  
  127. OSGBPB_Write                    *       &2
  128.    ;Entry
  129.    ;  R0 = &2
  130.    ;  R1 = file (OS_F)
  131.    ;  R2 -> data (data)
  132.    ;  R3 = size (Int)
  133.    ;Exit
  134.    ;  R2 corrupted
  135.    ;  R3 = unwritten (Int)
  136.    ;  R4 corrupted
  137.  
  138. OSGBPB_ReadAt                   *       &3
  139.    ;Entry
  140.    ;  R0 = &3
  141.    ;  R1 = file (OS_F)
  142.    ;  R2 = buffer (pointer to data)
  143.    ;  R3 = size (Int)
  144.    ;  R4 = ptr (Int)
  145.    ;Exit
  146.    ;  R2 corrupted
  147.    ;  R3 = unread (Int)
  148.    ;  R4 corrupted
  149.  
  150. OSGBPB_Read                     *       &4
  151.    ;Entry
  152.    ;  R0 = &4
  153.    ;  R1 = file (OS_F)
  154.    ;  R2 = buffer (pointer to data)
  155.    ;  R3 = size (Int)
  156.    ;Exit
  157.    ;  R2 corrupted
  158.    ;  R3 = unread (Int)
  159.    ;  R4 corrupted
  160.  
  161. OSGBPB_ReadDiscName             *       &5
  162.    ;Entry
  163.    ;  R0 = &5
  164.    ;  R2 = disc_name (pointer to OSGBPB_DiscName)
  165.  
  166. OSGBPB_ReadCSDName              *       &6
  167.    ;Entry
  168.    ;  R0 = &6
  169.    ;  R2 = csd_name (pointer to OSGBPB_DirName)
  170.  
  171. OSGBPB_ReadLibName              *       &7
  172.    ;Entry
  173.    ;  R0 = &7
  174.    ;  R2 = lib_name (pointer to OSGBPB_DirName)
  175.  
  176. OSGBPB_CSDEntries               *       &8
  177.    ;Entry
  178.    ;  R0 = &8
  179.    ;  R2 = name_list (pointer to OSGBPB_NameList)
  180.    ;  R3 = count (Int)
  181.    ;  R4 = context (Int)
  182.    ;Exit
  183.    ;  R3 = unread (Int)
  184.    ;  R4 = context_out (Int)
  185.  
  186. OSGBPB_DirEntries               *       &9
  187.    ;Entry
  188.    ;  R0 = &9
  189.    ;  R1 -> dir_name (String)
  190.    ;  R2 = name_list (pointer to OSGBPB_StringList)
  191.    ;  R3 = count (Int)
  192.    ;  R4 = context (Int)
  193.    ;  R5 = size (Int)
  194.    ;  R6 -> entries (String)
  195.    ;Exit
  196.    ;  R3 = read_count (Int)
  197.    ;  R4 = context_out (Int)
  198.  
  199. OSGBPB_DirEntriesInfo           *       &A
  200.    ;Entry
  201.    ;  R0 = &A
  202.    ;  R1 -> dir_name (String)
  203.    ;  R2 = info_list (pointer to OSGBPB_InfoList)
  204.    ;  R3 = count (Int)
  205.    ;  R4 = context (Int)
  206.    ;  R5 = size (Int)
  207.    ;  R6 -> entries (String)
  208.    ;Exit
  209.    ;  R3 = read_count (Int)
  210.    ;  R4 = context_out (Int)
  211.  
  212. OSGBPB_DirEntriesSystemInfo     *       &B
  213.    ;Entry
  214.    ;  R0 = &B
  215.    ;  R1 -> dir_name (String)
  216.    ;  R2 = info_list (pointer to OSGBPB_SystemInfoList)
  217.    ;  R3 = count (Int)
  218.    ;  R4 = context (Int)
  219.    ;  R5 = size (Int)
  220.    ;  R6 -> entries (String)
  221.    ;Exit
  222.    ;  R3 = read_count (Int)
  223.    ;  R4 = context_out (Int)
  224.  
  225. OSGBPB_DirEntriesInfoStamped    *       &C
  226.    ;Entry
  227.    ;  R0 = &C
  228.    ;  R1 -> dir_name (String)
  229.    ;  R2 = info_list (pointer to OSGBPB_InfoStampedList)
  230.    ;  R3 = count (Int)
  231.    ;  R4 = context (Int)
  232.    ;  R5 = size (Int)
  233.    ;  R6 -> entries (String)
  234.    ;Exit
  235.    ;  R3 = read_count (Int)
  236.    ;  R4 = context_out (Int)
  237.  
  238. GBPBV                           *       &C
  239.  
  240.         ]
  241.         END
  242.