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

  1. #ifndef osbyte_H
  2. #define osbyte_H
  3.  
  4. /* C header file for OSByte
  5.  * written by DefMod (Sep 16 1994) on Thu Sep 29 15:22:30 1994
  6.  * Copyright © Acorn Computers Ltd, 1994
  7.  */
  8.  
  9. /*************************************************************************
  10.  * This source file was written by Acorn Computers Limited. It is part   *
  11.  * of the OSLib library for writing applications for RISC OS. It may be  *
  12.  * used freely in the creation of programs for RISC OS.                  *
  13.  *************************************************************************/
  14.  
  15. #ifndef types_H
  16.    #include "types.h"
  17. #endif
  18.  
  19. #ifndef os_H
  20.    #include "os.h"
  21. #endif
  22.  
  23. /**********************************
  24.  * SWI names and SWI reason codes *
  25.  **********************************/
  26. #undef  OS_Byte
  27. #define OS_Byte                                 0x6
  28. #undef  XOS_Byte
  29. #define XOS_Byte                                0x20006
  30. #undef  ByteV
  31. #define ByteV                                   0x6
  32. #undef  OSByte_Read
  33. #define OSByte_Read                             0xFF
  34. #undef  OSByte_Write
  35. #define OSByte_Write                            0x0
  36.  
  37. /************************
  38.  * Constant definitions *
  39.  ************************/
  40. #define osbyte_VERSION                          ((byte) 0)
  41. #define osbyte_USER_FLAG                        ((byte) 1)
  42. #define osbyte_INPUT_STREAM                     ((byte) 2)
  43. #define osbyte_OUTPUT_STREAMS                   ((byte) 3)
  44. #define osbyte_INTERPRETATION_ARROWS            ((byte) 4)
  45. #define osbyte_PRINTER                          ((byte) 5)
  46. #define osbyte_IGNORE_CHAR                      ((byte) 6)
  47. #define osbyte_SERIAL_RECEIVE_RATE              ((byte) 7)
  48. #define osbyte_SERIAL_TRANSMIT_RATE             ((byte) 8)
  49. #define osbyte_ON_DURATION                      ((byte) 9)
  50. #define osbyte_OFF_DURATION                     ((byte) 10)
  51. #define osbyte_KEYBOARD_DELAY                   ((byte) 11)
  52. #define osbyte_KEYBOARD_RATE                    ((byte) 12)
  53. #define osbyte_DISABLE_EVENT                    ((byte) 13)
  54. #define osbyte_ENABLE_EVENT                     ((byte) 14)
  55. #define osbyte_FLUSH_BUFFERS                    ((byte) 15)
  56. #define osbyte_RESET_FUNCTION_KEYS              ((byte) 18)
  57. #define osbyte_AWAIT_VSYNC                      ((byte) 19)
  58. #define osbyte_RESET_SYSTEM_FONT                ((byte) 20)
  59. #define osbyte_FLUSH_BUFFER                     ((byte) 21)
  60. #define osbyte_RESET_SYSTEM_CHARS               ((byte) 25)
  61. #define osbyte_COUNTRY_NUMBER                   ((byte) 70)
  62. #define osbyte_ALPHABET_NUMBER                  ((byte) 71)
  63. #define osbyte_SELECT_POINTER                   ((byte) 106)
  64. #define osbyte_OUTPUT_SCREEN_BANK               ((byte) 112)
  65. #define osbyte_DISPLAY_SCREEN_BANK              ((byte) 113)
  66. #define osbyte_SHADOW_STATE                     ((byte) 114)
  67. #define osbyte_VDU_STATE                        ((byte) 117)
  68. #define osbyte_UPDATE_KEYBOARD                  ((byte) 118)
  69. #define osbyte_LOCK_REPEAT                      ((byte) 120)
  70. #define osbyte_SCAN_KEYBOARD                    ((byte) 121)
  71. #define osbyte_SCAN_KEYBOARD_LIMITED            ((byte) 122)
  72. #define osbyte_CLEAR_ESCAPE                     ((byte) 124)
  73. #define osbyte_SET_ESCAPE                       ((byte) 125)
  74. #define osbyte_ACKNOWLEDGE_ESCAPE               ((byte) 126)
  75. #define osbyte_EOF                              ((byte) 127)
  76. #define osbyte_POINTER_POSITION                 ((byte) 128)
  77. #define osbyte_BUFFER_STATE                     ((byte) 128)
  78. #define osbyte_IN_KEY                           ((byte) 129)
  79. #define osbyte_TEXT_CURSOR_POSITION             ((byte) 134)
  80. #define osbyte_SCREEN_CHAR                      ((byte) 135)
  81. #define osbyte_BUFFER_INSERT                    ((byte) 138)
  82. #define osbyte_OPT                              ((byte) 139)
  83. #define osbyte_SERVICE_CALL                     ((byte) 143)
  84. #define osbyte_TV                               ((byte) 144)
  85. #define osbyte_BUFFER_REMOVE                    ((byte) 145)
  86. #define osbyte_BUFFER_STATUS                    ((byte) 152)
  87. #define osbyte_TYPE_CHAR                        ((byte) 153)
  88. #define osbyte_SERIAL_STATE                     ((byte) 156)
  89. #define osbyte_READ_VDU_VARIABLE                ((byte) 160)
  90. #define osbyte_READ_CMOS                        ((byte) 161)
  91. #define osbyte_WRITE_CMOS                       ((byte) 162)
  92. #define osbyte_GRAPHICS_INFO                    ((byte) 163)
  93. #define osbyte_OUTPUT_CURSOR_POSITION           ((byte) 165)
  94. #define osbyte_VAR_VSYNC_TIMER                  ((byte) 176)
  95. #define osbyte_VAR_INPUT_STREAM                 ((byte) 177)
  96. #define osbyte_VAR_KEYBOARD_SEMAPHORE           ((byte) 178)
  97. #define osbyte_VAR_SERIAL_INTERPRETATION        ((byte) 181)
  98. #define osbyte_VAR_IGNORE_STATE                 ((byte) 182)
  99. #define osbyte_VAR_SERIAL_STATE                 ((byte) 192)
  100. #define osbyte_VAR_FLASH_COUNTER                ((byte) 193)
  101. #define osbyte_VAR_OFF_DURATION                 ((byte) 194)
  102. #define osbyte_VAR_ON_DURATION                  ((byte) 195)
  103. #define osbyte_VAR_KEYBOARD_DELAY               ((byte) 196)
  104. #define osbyte_VAR_KEYBOARD_RATE                ((byte) 197)
  105. #define osbyte_VAR_EXEC_HANDLE                  ((byte) 198)
  106. #define osbyte_VAR_SPOOL_HANDLE                 ((byte) 199)
  107. #define osbyte_VAR_RESET_EFFECTS                ((byte) 200)
  108. #define osbyte_VAR_KEYBOARD_DISABLE             ((byte) 201)
  109. #define osbyte_VAR_KEYBOARD_STATE               ((byte) 202)
  110. #define osbyte_VAR_SERIAL_THRESHOLD             ((byte) 203)
  111. #define osbyte_VAR_SERIAL_BUFFER_STATE          ((byte) 204)
  112. #define osbyte_VAR_BELL_CHANNEL                 ((byte) 211)
  113. #define osbyte_VAR_BELL_VOLUME                  ((byte) 212)
  114. #define osbyte_VAR_BELL_FREQUENCY               ((byte) 213)
  115. #define osbyte_VAR_BELL_DURATION                ((byte) 214)
  116. #define osbyte_VAR_PENDING_KEY_LENGTH           ((byte) 216)
  117. #define osbyte_VAR_PAGE_LENGTH                  ((byte) 217)
  118. #define osbyte_VAR_VDU_QUEUE_LENGTH             ((byte) 218)
  119. #define osbyte_VAR_TAB_CHAR                     ((byte) 219)
  120. #define osbyte_VAR_ESCAPE_CHAR                  ((byte) 220)
  121. #define osbyte_VAR_INTERPRETATION_GROUP4        ((byte) 221)
  122. #define osbyte_VAR_INTERPRETATION_GROUP5        ((byte) 222)
  123. #define osbyte_VAR_INTERPRETATION_GROUP6        ((byte) 223)
  124. #define osbyte_VAR_INTERPRETATION_GROUP7        ((byte) 224)
  125. #define osbyte_VAR_INTERPRETATION_GROUP0        ((byte) 225)
  126. #define osbyte_VAR_INTERPRETATION_GROUP1        ((byte) 226)
  127. #define osbyte_VAR_INTERPRETATION_GROUP2        ((byte) 227)
  128. #define osbyte_VAR_INTERPRETATION_GROUP3        ((byte) 228)
  129. #define osbyte_VAR_ESCAPE_STATE                 ((byte) 229)
  130. #define osbyte_VAR_ESCAPE_EFFECTS               ((byte) 230)
  131. #define osbyte_VAR_OUTPUT_STREAMS               ((byte) 236)
  132. #define osbyte_VAR_INTERPRETATION_ARROWS        ((byte) 237)
  133. #define osbyte_VAR_INTERPRETATION_KEYPAD        ((byte) 238)
  134. #define osbyte_VAR_COUNTRY_NUMBER               ((byte) 240)
  135. #define osbyte_VAR_USER_FLAG                    ((byte) 241)
  136. #define osbyte_VAR_SERIAL_RATE                  ((byte) 242)
  137. #define osbyte_VAR_INTERVAL_TIMER_STATE         ((byte) 243)
  138. #define osbyte_VAR_PRINTER                      ((byte) 245)
  139. #define osbyte_VAR_IGNORE_CHAR                  ((byte) 246)
  140. #define osbyte_VAR_INTERPRETATION_BREAK         ((byte) 247)
  141. #define osbyte_VAR_OUTPUT_SCREEN_BANK           ((byte) 250)
  142. #define osbyte_VAR_DISPLAY_SCREEN_BANK          ((byte) 251)
  143. #define osbyte_VAR_LAST_RESET                   ((byte) 253)
  144. #define osbyte_VAR_INTERPRETATION_SHIFTING      ((byte) 254)
  145. #define osbyte_VAR_BOOT_OPTION                  ((byte) 255)
  146. #define os_RESET_SOFT                           0
  147. #define os_RESET_POWER_ON                       1
  148. #define os_RESET_HARD                           2
  149. #define osbyte_CONFIGURE_STATION                0
  150. #define osbyte_CONFIGURE_FS_STATION             1
  151. #define osbyte_CONFIGURE_FS_NET                 2
  152. #define osbyte_CONFIGURE_FS_NAME0               2
  153. #define osbyte_CONFIGURE_PS_STATION             3
  154. #define osbyte_CONFIGURE_PS_NET                 4
  155. #define osbyte_CONFIGURE_PS_NAME0               4
  156. #define osbyte_CONFIGURE_FILE_SYSTEM            5
  157. #define osbyte_CONFIGURE_UNPLUG0                6
  158. #define osbyte_CONFIGURE_UNPLUG1                7
  159. #define osbyte_CONFIGURE_MODE                   10
  160. #define osbyte_CONFIGURE_MODE_SHIFT             0
  161. #define osbyte_CONFIGURE_MODE_MASK              0xFu
  162. #define osbyte_CONFIGURE_TV_INTERLACE           10
  163. #define osbyte_CONFIGURE_TV_INTERLACE_MASK      0x10u
  164. #define osbyte_CONFIGURE_TV_VERTICAL_ADJUST     10
  165. #define osbyte_CONFIGURE_TV_VERTICAL_ADJUST_SHIFT 5
  166. #define osbyte_CONFIGURE_TV_VERTICAL_ADJUST_MASK 0xE0u
  167. #define osbyte_CONFIGURE_DRIVE                  11
  168. #define osbyte_CONFIGURE_DRIVE_SHIFT            0
  169. #define osbyte_CONFIGURE_DRIVE_MASK             0x7u
  170. #define osbyte_CONFIGURE_CAPS                   11
  171. #define osbyte_CONFIGURE_CAPS_SHIFT             3
  172. #define osbyte_CONFIGURE_CAPS_MASK              0x38u
  173. #define osbyte_CONFIGURE_DIR                    11
  174. #define osbyte_CONFIGURE_DIR_MASK               0x40u
  175. #define osbyte_CONFIGURE_DELAY                  12
  176. #define osbyte_CONFIGURE_REPEAT                 13
  177. #define osbyte_CONFIGURE_IGNORE                 14
  178. #define osbyte_CONFIGURE_NO_IGNORE              15
  179. #define osbyte_CONFIGURE_NO_IGNORE_MASK         0x2u
  180. #define osbyte_CONFIGURE_BAUD                   15
  181. #define osbyte_CONFIGURE_BAUD_SHIFT             2
  182. #define osbyte_CONFIGURE_BAUD_MASK              0x1Cu
  183. #define osbyte_CONFIGURE_PRINT                  15
  184. #define osbyte_CONFIGURE_PRINT_SHIFT            5
  185. #define osbyte_CONFIGURE_PRINT_MASK             0xE0u
  186. #define osbyte_CONFIGURE_LOUD                   16
  187. #define osbyte_CONFIGURE_LOUD_MASK              0x2u
  188. #define osbyte_CONFIGURE_NO_SCROLL              16
  189. #define osbyte_CONFIGURE_NO_SCROLL_MASK         0x8u
  190. #define osbyte_CONFIGURE_BOOT                   16
  191. #define osbyte_CONFIGURE_BOOT_MASK              0x10u
  192. #define osbyte_CONFIGURE_DATA                   16
  193. #define osbyte_CONFIGURE_DATA_SHIFT             5
  194. #define osbyte_CONFIGURE_DATA_MASK              0xE0u
  195. #define osbyte_CONFIGURE_NET_FILER_SORT         17
  196. #define osbyte_CONFIGURE_NET_FILER_SORT_MASK    0x1u
  197. #define osbyte_CONFIGURE_LIBRARY                17
  198. #define osbyte_CONFIGURE_LIBRARY_MASK           0x2u
  199. #define osbyte_CONFIGURE_NET_FILER_DISPLAY      17
  200. #define osbyte_CONFIGURE_NET_FILER_DISPLAY_SHIFT 2
  201. #define osbyte_CONFIGURE_NET_FILER_DISPLAY_MASK 0xCu
  202. #define osbyte_CONFIGURE_UNPLUG2                18
  203. #define osbyte_CONFIGURE_UNPLUG3                19
  204. #define osbyte_CONFIGURE_UNPLUG_EXTENSION0      20
  205. #define osbyte_CONFIGURE_UNPLUG_EXTENSION1      21
  206. #define osbyte_CONFIGURE_WIMP_DOUBLE_CLICK_MOVE 22
  207. #define osbyte_CONFIGURE_WIMP_AUTO_MENU_DELAY   23
  208. #define osbyte_CONFIGURE_TERRITORY              24
  209. #define osbyte_CONFIGURE_PRINTER_BUFFER_SIZE    25
  210. #define osbyte_CONFIGURE_ADFS_SPINDOWN          26
  211. #define osbyte_CONFIGURE_WIMP_MENU_DRAG_DELAY   27
  212. #define osbyte_CONFIGURE_TRUNCATE               28
  213. #define osbyte_CONFIGURE_TRUNCATE_MASK          0x1u
  214. #define osbyte_CONFIGURE_DRAG_ASPRITE           28
  215. #define osbyte_CONFIGURE_DRAG_ASPRITE_MASK      0x2u
  216. #define osbyte_CONFIGURE_NO_FILER_ACTION        28
  217. #define osbyte_CONFIGURE_NO_FILER_ACTION_MASK   0x4u
  218. #define osbyte_CONFIGURE_DESKTOP_DITHER         28
  219. #define osbyte_CONFIGURE_DESKTOP_DITHER_MASK    0x8u
  220. #define osbyte_CONFIGURE_NO_OBSCURE_ICON_BAR    28
  221. #define osbyte_CONFIGURE_NO_OBSCURE_ICON_BAR_MASK 0x10u
  222. #define osbyte_CONFIGURE_SHUTDOWN_TYPE          28
  223. #define osbyte_CONFIGURE_SHUTDOWN_TYPE_SHIFT    6
  224. #define osbyte_CONFIGURE_SHUTDOWN_TYPE_MASK     0xC0u
  225. #define osbyte_CONFIGURE_MOUSE_TYPE             29
  226. #define osbyte_CONFIGURE_YEAR0                  128
  227. #define osbyte_CONFIGURE_YEAR1                  129
  228. #define osbyte_CONFIGURE_DUMP_FORMAT            132
  229. #define osbyte_CONFIGURE_DUMP_FORMAT_SHIFT      0
  230. #define osbyte_CONFIGURE_DUMP_FORMAT_MASK       0x1Fu
  231. #define osbyte_CONFIGURE_TUBE                   132
  232. #define osbyte_CONFIGURE_TUBE_MASK              0x20u
  233. #define osbyte_CONFIGURE_HOST_PODULE            132
  234. #define osbyte_CONFIGURE_HOST_PODULE_SHIFT      6
  235. #define osbyte_CONFIGURE_HOST_PODULE_MASK       0xC0u
  236. #define osbyte_CONFIGURE_SYNC                   133
  237. #define osbyte_CONFIGURE_SYNC_SHIFT             0
  238. #define osbyte_CONFIGURE_SYNC_MASK              0x81u
  239. #define osbyte_CONFIGURE_MODE_TOP_BIT           133
  240. #define osbyte_CONFIGURE_MODE_TOP_BIT_MASK      0x2u
  241. #define osbyte_CONFIGURE_MONITOR_TYPE           133
  242. #define osbyte_CONFIGURE_MONITOR_TYPE_SHIFT     2
  243. #define osbyte_CONFIGURE_MONITOR_TYPE_MASK      0x7Cu
  244. #define osbyte_CONFIGURE_FONT_SIZE              134
  245. #define osbyte_CONFIGURE_FLOPPIES               135
  246. #define osbyte_CONFIGURE_FLOPPIES_SHIFT         0
  247. #define osbyte_CONFIGURE_FLOPPIES_MASK          0x7u
  248. #define osbyte_CONFIGURE_HARD_DISCS             135
  249. #define osbyte_CONFIGURE_HARD_DISCS_SHIFT       3
  250. #define osbyte_CONFIGURE_HARD_DISCS_MASK        0x38u
  251. #define osbyte_CONFIGURE_IDE_DISCS              135
  252. #define osbyte_CONFIGURE_IDE_DISCS_SHIFT        6
  253. #define osbyte_CONFIGURE_IDE_DISCS_MASK         0xC0u
  254. #define osbyte_CONFIGURE_STEP0                  136
  255. #define osbyte_CONFIGURE_STEP0_SHIFT            0
  256. #define osbyte_CONFIGURE_STEP0_MASK             0x3u
  257. #define osbyte_CONFIGURE_STEP1                  136
  258. #define osbyte_CONFIGURE_STEP1_SHIFT            2
  259. #define osbyte_CONFIGURE_STEP1_MASK             0xCu
  260. #define osbyte_CONFIGURE_STEP2                  136
  261. #define osbyte_CONFIGURE_STEP2_SHIFT            4
  262. #define osbyte_CONFIGURE_STEP2_MASK             0x30u
  263. #define osbyte_CONFIGURE_STEP3                  136
  264. #define osbyte_CONFIGURE_STEP3_SHIFT            6
  265. #define osbyte_CONFIGURE_STEP3_MASK             0xC0u
  266. #define osbyte_CONFIGURE_ADFS_BUFFERS           137
  267. #define osbyte_CONFIGURE_CDFS_FLAGS             138
  268. #define osbyte_CONFIGURE_TIME_ZONE              139
  269. #define osbyte_CONFIGURE_NEW_LOOK               140
  270. #define osbyte_CONFIGURE_NEW_LOOK_MASK          0x1u
  271. #define osbyte_CONFIGURE_WIMP_FONT              140
  272. #define osbyte_CONFIGURE_WIMP_FONT_SHIFT        1
  273. #define osbyte_CONFIGURE_WIMP_FONT_MASK         0x1Eu
  274. #define osbyte_CONFIGURE_NO_TILE                140
  275. #define osbyte_CONFIGURE_NO_TILE_MASK           0x80u
  276. #define osbyte_CONFIGURE_PRINTER                141
  277. #define osbyte_CONFIGURE_TWIN_FLAGS             142
  278. #define osbyte_CONFIGURE_SCREEN_SIZE            143
  279. #define osbyte_CONFIGURE_RAMFS_SIZE             144
  280. #define osbyte_CONFIGURE_SYSTEM_SIZE            145
  281. #define osbyte_CONFIGURE_RMA_SIZE               146
  282. #define osbyte_CONFIGURE_SPRITE_SIZE            147
  283. #define osbyte_CONFIGURE_SOUND_DEFAULT          148
  284. #define osbyte_CONFIGURE_SOUND_DEFAULT_SHIFT    0
  285. #define osbyte_CONFIGURE_SOUND_DEFAULT_MASK     0xFu
  286. #define osbyte_CONFIGURE_SOUND_LOUDNESS         148
  287. #define osbyte_CONFIGURE_SOUND_LOUDNESS_SHIFT   4
  288. #define osbyte_CONFIGURE_SOUND_LOUDNESS_MASK    0x70u
  289. #define osbyte_CONFIGURE_SOUND_ON               148
  290. #define osbyte_CONFIGURE_SOUND_ON_MASK          0x80u
  291. #define osbyte_CONFIGURE_BASIC_EDITOR_FLAGS0    149
  292. #define osbyte_CONFIGURE_BASIC_EDITOR_FLAGS1    150
  293. #define osbyte_CONFIGURE_BASIC_EDITOR_FLAGS2    151
  294. #define osbyte_CONFIGURE_BASIC_EDITOR_FLAGS3    152
  295. #define osbyte_CONFIGURE_PS_NAME1               153
  296. #define osbyte_CONFIGURE_PS_NAME2               154
  297. #define osbyte_CONFIGURE_PS_NAME3               155
  298. #define osbyte_CONFIGURE_PS_NAME4               156
  299. #define osbyte_CONFIGURE_PS_NAME5               157
  300. #define osbyte_CONFIGURE_PS_NAME_LIMIT          6
  301. #define osbyte_CONFIGURE_FS_NAME1               158
  302. #define osbyte_CONFIGURE_FS_NAME2               159
  303. #define osbyte_CONFIGURE_FS_NAME3               160
  304. #define osbyte_CONFIGURE_FS_NAME4               161
  305. #define osbyte_CONFIGURE_FS_NAME5               162
  306. #define osbyte_CONFIGURE_FS_NAME6               163
  307. #define osbyte_CONFIGURE_FS_NAME7               164
  308. #define osbyte_CONFIGURE_FS_NAME8               165
  309. #define osbyte_CONFIGURE_FS_NAME9               166
  310. #define osbyte_CONFIGURE_FS_NAME10              167
  311. #define osbyte_CONFIGURE_FS_NAME11              168
  312. #define osbyte_CONFIGURE_FS_NAME12              169
  313. #define osbyte_CONFIGURE_FS_NAME13              170
  314. #define osbyte_CONFIGURE_FS_NAME14              171
  315. #define osbyte_CONFIGURE_FS_NAME15              172
  316. #define osbyte_CONFIGURE_FS_NAME_LIMIT          16
  317. #define osbyte_CONFIGURE_UNPLUG4                173
  318. #define osbyte_CONFIGURE_UNPLUG5                174
  319. #define osbyte_CONFIGURE_UNPLUG6                175
  320. #define osbyte_CONFIGURE_UNPLUG7                176
  321. #define osbyte_CONFIGURE_UNPLUG_EXPANSION_CARD0 177
  322. #define osbyte_CONFIGURE_UNPLUG_EXPANSION_CARD1 178
  323. #define osbyte_CONFIGURE_UNPLUG_EXPANSION_CARD2 179
  324. #define osbyte_CONFIGURE_UNPLUG_EXPANSION_CARD3 180
  325. #define osbyte_CONFIGURE_BASIC_EDITOR_WILD_CARD0 181
  326. #define osbyte_CONFIGURE_BASIC_EDITOR_WILD_CARD1 182
  327. #define osbyte_CONFIGURE_BASIC_EDITOR_WILD_CARD2 183
  328. #define osbyte_CONFIGURE_BASIC_EDITOR_WILD_CARD3 184
  329. #define osbyte_CONFIGURE_LANGUAGE               185
  330. #define osbyte_CONFIGURE_COUNTRY                186
  331. #define osbyte_CONFIGURE_VFS                    187
  332. #define osbyte_CONFIGURE_ROMFS_OPT              188
  333. #define osbyte_CONFIGURE_ROMFS_OPT_SHIFT        0
  334. #define osbyte_CONFIGURE_ROMFS_OPT_MASK         0x3u
  335. #define osbyte_CONFIGURE_ICON_CACHE             188
  336. #define osbyte_CONFIGURE_ICON_CACHE_MASK        0x4u
  337. #define osbyte_CONFIGURE_BLANK_TIME             188
  338. #define osbyte_CONFIGURE_BLANK_TIME_SHIFT       3
  339. #define osbyte_CONFIGURE_BLANK_TIME_MASK        0x38u
  340. #define osbyte_CONFIGURE_UNBLANK_ON_WRITE       188
  341. #define osbyte_CONFIGURE_UNBLANK_ON_WRITE_MASK  0x40u
  342. #define osbyte_CONFIGURE_NO_LONG_TEST           188
  343. #define osbyte_CONFIGURE_NO_LONG_TEST_MASK      0x80u
  344. #define osbyte_CONFIGURE_ADFS_DISC_SIZE0        189
  345. #define osbyte_CONFIGURE_ADFS_DISC_SIZE1        190
  346. #define osbyte_CONFIGURE_ADFS_DISC_SIZE2        191
  347. #define osbyte_CONFIGURE_ADFS_DISC_SIZE3        192
  348. #define osbyte_CONFIGURE_PROTECTION_PEEK        193
  349. #define osbyte_CONFIGURE_PROTECTION_PEEK_MASK   0x1u
  350. #define osbyte_CONFIGURE_PROTECTION_POKE        193
  351. #define osbyte_CONFIGURE_PROTECTION_POKE_MASK   0x2u
  352. #define osbyte_CONFIGURE_PROTECTION_JSR         193
  353. #define osbyte_CONFIGURE_PROTECTION_JSR_MASK    0x4u
  354. #define osbyte_CONFIGURE_PROTECTION_USER_RPC    193
  355. #define osbyte_CONFIGURE_PROTECTION_USER_RPC_MASK 0x8u
  356. #define osbyte_CONFIGURE_PROTECTION_OS_PROC     193
  357. #define osbyte_CONFIGURE_PROTECTION_OS_PROC_MASK 0x10u
  358. #define osbyte_CONFIGURE_PROTECTION_HALT        193
  359. #define osbyte_CONFIGURE_PROTECTION_HALT_MASK   0x20u
  360. #define osbyte_CONFIGURE_PROTECTION_GET_REGS    193
  361. #define osbyte_CONFIGURE_PROTECTION_GET_REGS_MASK 0x40u
  362. #define osbyte_CONFIGURE_MOUSE_STEP             194
  363. #define osbyte_CONFIGURE_BOOT_NET               195
  364. #define osbyte_CONFIGURE_BOOT_NET_MASK          0x1u
  365. #define osbyte_CONFIGURE_DYNAMIC_STATION        195
  366. #define osbyte_CONFIGURE_DYNAMIC_STATION_MASK   0x2u
  367. #define osbyte_CONFIGURE_CMOS_RESET             195
  368. #define osbyte_CONFIGURE_CMOS_RESET_MASK        0x4u
  369. #define osbyte_CONFIGURE_POWER_SAVE             195
  370. #define osbyte_CONFIGURE_POWER_SAVE_MASK        0x8u
  371. #define osbyte_CONFIGURE_AUTO_WIMP_MODE         195
  372. #define osbyte_CONFIGURE_AUTO_WIMP_MODE_MASK    0x10u
  373. #define osbyte_CONFIGURE_NO_CACHE               195
  374. #define osbyte_CONFIGURE_NO_CACHE_MASK          0x20u
  375. #define osbyte_CONFIGURE_BROADCAST_LOADER       195
  376. #define osbyte_CONFIGURE_BROADCAST_LOADER_MASK  0x40u
  377. #define osbyte_CONFIGURE_HOURGLASS_COLOUR       195
  378. #define osbyte_CONFIGURE_HOURGLASS_COLOUR_MASK  0x80u
  379. #define osbyte_CONFIGURE_WIMP_MODE              196
  380. #define osbyte_CONFIGURE_WIMP_FLAGS             197
  381. #define osbyte_CONFIGURE_FILER_DISPLAY          198
  382. #define osbyte_CONFIGURE_FILER_DISPLAY_SHIFT    0
  383. #define osbyte_CONFIGURE_FILER_DISPLAY_MASK     0x3u
  384. #define osbyte_CONFIGURE_FILER_SORT             198
  385. #define osbyte_CONFIGURE_FILER_SORT_SHIFT       2
  386. #define osbyte_CONFIGURE_FILER_SORT_MASK        0xCu
  387. #define osbyte_CONFIGURE_FILER_FORCE            198
  388. #define osbyte_CONFIGURE_FILER_FORCE_MASK       0x10u
  389. #define osbyte_CONFIGURE_FILER_CONFIRM          198
  390. #define osbyte_CONFIGURE_FILER_CONFIRM_MASK     0x20u
  391. #define osbyte_CONFIGURE_FILER_VERBOSE          198
  392. #define osbyte_CONFIGURE_FILER_VERBOSE_MASK     0x40u
  393. #define osbyte_CONFIGURE_FILER_NEWER            198
  394. #define osbyte_CONFIGURE_FILER_NEWER_MASK       0x80u
  395. #define osbyte_CONFIGURE_ADFS_DIR_CACHE         199
  396. #define osbyte_CONFIGURE_FONT_MAX               200
  397. #define osbyte_CONFIGURE_FONT_MAX1              201
  398. #define osbyte_CONFIGURE_FONT_MAX2              202
  399. #define osbyte_CONFIGURE_FONT_MAX3              203
  400. #define osbyte_CONFIGURE_FONT_MAX4              204
  401. #define osbyte_CONFIGURE_FONT_MAX5              205
  402. #define osbyte_CONFIGURE_FONT_MAX6              206
  403. #define osbyte_CONFIGURE_FONT_MAX7              207
  404. #define osbyte_CONFIGURE_SCSIFS_DISCS           208
  405. #define osbyte_CONFIGURE_SCSIFS_DISCS_SHIFT     0
  406. #define osbyte_CONFIGURE_SCSIFS_DISCS_MASK      0x7u
  407. #define osbyte_CONFIGURE_SCSIFS_DRIVE           208
  408. #define osbyte_CONFIGURE_SCSIFS_DRIVE_SHIFT     3
  409. #define osbyte_CONFIGURE_SCSIFS_DRIVE_MASK      0x38u
  410. #define osbyte_CONFIGURE_SCSIFS_BUFFERS         209
  411. #define osbyte_CONFIGURE_SCSIFS_DIR_CACHE       210
  412. #define osbyte_CONFIGURE_SCSIFS_DISC_SIZE0      211
  413. #define osbyte_CONFIGURE_SCSIFS_DISC_SIZE1      212
  414. #define osbyte_CONFIGURE_SCSIFS_DISC_SIZE2      213
  415. #define osbyte_CONFIGURE_SCSIFS_DISC_SIZE3      214
  416. #define osbyte_CONFIGURE_ROM_ALARM              215
  417. #define osbyte_CONFIGURE_ROM_ALARM_MASK         0x1u
  418. #define osbyte_CONFIGURE_ROM_CALC               215
  419. #define osbyte_CONFIGURE_ROM_CALC_MASK          0x2u
  420. #define osbyte_CONFIGURE_ROM_CHARS              215
  421. #define osbyte_CONFIGURE_ROM_CHARS_MASK         0x4u
  422. #define osbyte_CONFIGURE_ROM_CONFIGURE          215
  423. #define osbyte_CONFIGURE_ROM_CONFIGURE_MASK     0x8u
  424. #define osbyte_CONFIGURE_ROM_DRAW               215
  425. #define osbyte_CONFIGURE_ROM_DRAW_MASK          0x10u
  426. #define osbyte_CONFIGURE_ROM_EDIT               215
  427. #define osbyte_CONFIGURE_ROM_EDIT_MASK          0x20u
  428. #define osbyte_CONFIGURE_ROM_HELP               215
  429. #define osbyte_CONFIGURE_ROM_HELP_MASK          0x40u
  430. #define osbyte_CONFIGURE_ROM_PAINT              215
  431. #define osbyte_CONFIGURE_ROM_PAINT_MASK         0x80u
  432. #define osbyte_CONFIGURE_ROM_BAT_MAN            216
  433. #define osbyte_CONFIGURE_ROM_BAT_MAN_MASK       0x1u
  434. #define osbyte_CONFIGURE_ALARM_FORMAT           220
  435. #define osbyte_CONFIGURE_ALARM_FORMAT_SHIFT     0
  436. #define osbyte_CONFIGURE_ALARM_FORMAT_MASK      0x7u
  437. #define osbyte_CONFIGURE_ALARM_CONFIRM          220
  438. #define osbyte_CONFIGURE_ALARM_CONFIRM_MASK     0x8u
  439. #define osbyte_CONFIGURE_ALARM_AUTO_SAVE        220
  440. #define osbyte_CONFIGURE_ALARM_AUTO_SAVE_MASK   0x10u
  441. #define osbyte_CONFIGURE_ALARM_WORKING_WEEK     220
  442. #define osbyte_CONFIGURE_ALARM_WORKING_WEEK_MASK 0x20u
  443. #define osbyte_CONFIGURE_ALARM_SILENT           220
  444. #define osbyte_CONFIGURE_ALARM_SILENT_MASK      0x40u
  445. #define osbyte_CONFIGURE_DST                    220
  446. #define osbyte_CONFIGURE_DST_MASK               0x80u
  447. #define osbyte_CONFIGURE_WIMP_DRAG_DELAY        221
  448. #define osbyte_CONFIGURE_WIMP_DRAG_MOVE         222
  449. #define osbyte_CONFIGURE_WIMP_DOUBLE_CLICK_DELAY 223
  450. #define osbyte_CONFIGURE_FS_LOCK0               233
  451. #define osbyte_CONFIGURE_FS_LOCK1               234
  452. #define osbyte_CONFIGURE_FS_LOCK2               235
  453. #define osbyte_CONFIGURE_FS_LOCK3               236
  454. #define osbyte_CONFIGURE_FS_LOCK4               237
  455. #define osbyte_CONFIGURE_FS_LOCK5               238
  456. #define osbyte_CONFIGURE_CHECKSUM               239
  457. #define osbyte_CAPS_SHIFT                       0x1u
  458. #define osbyte_CAPS_NONE                        0x2u
  459. #define osbyte_CAPS_LOCK                        0x4u
  460. #define osbyte_SHUTDOWN_UNKNOWN                 0x0u
  461. #define osbyte_SHUTDOWN_FAILED                  0x1u
  462. #define osbyte_SHUTDOWN_POWER_LOST              0x2u
  463. #define osbyte_SHUTDOWN_UNDEFINED               0x3u
  464. #define osbyte_MOUSE_QUADRATURE                 0x0u
  465. #define osbyte_MOUSE_MICROSOFT_SERIAL           0x1u
  466. #define osbyte_MOUSE_MSC_SERIAL                 0x2u
  467. #define osbyte_SYNC_VERTICAL                    0x0u
  468. #define osbyte_SYNC_COMPOSITE                   0x1u
  469. #define osbyte_SYNC_AUTO                        0x81u
  470. #define osbyte_MONITOR_TYPE_AUTO                0x1Fu
  471. #define osbyte_BLANK_OFF                        0x0u
  472. #define osbyte_BLANK30S                         0x1u
  473. #define osbyte_BLANK1MIN                        0x2u
  474. #define osbyte_BLANK2MIN                        0x3u
  475. #define osbyte_BLANK5MIN                        0x4u
  476. #define osbyte_BLANK10MIN                       0x5u
  477. #define osbyte_BLANK15MIN                       0x6u
  478. #define osbyte_BLANK30MIN                       0x7u
  479. #define osbyte_DISPLAY_LARGE_ICONS              0x0u
  480. #define osbyte_DISPLAY_SMALL_ICONS              0x1u
  481. #define osbyte_DISPLAY_FULL_INFO                0x2u
  482. #define osbyte_SORT_BY_NAME                     0x0u
  483. #define osbyte_SORT_BY_NUMBER                   0x1u
  484. #define osbyte_SORT_BY_TYPE                     0x1u
  485. #define osbyte_SORT_BY_SIZE                     0x2u
  486. #define osbyte_SORT_BY_DATE                     0x3u
  487.  
  488. /*************************
  489.  * Function declarations *
  490.  *************************/
  491.  
  492. #ifdef __cplusplus
  493.    extern "C" {
  494. #endif
  495.  
  496. /*************************************************************
  497.  * NOTE: The following functions provide direct access to    *
  498.  *       the SWI's noted in the function description.        *
  499.  *       Please read the relevant PRM section for more       *
  500.  *       information on their input/output parameters.       *
  501.  *************************************************************/
  502.  
  503. /* ------------------------------------------------------------------------
  504.  * Function:      os_byte()
  505.  *
  506.  * Description:   General purpose call to alter status variables and
  507.  *                perform other actions
  508.  *
  509.  * Input:         op - value of R0 on entry
  510.  *                r1 - value of R1 on entry
  511.  *                r2 - value of R2 on entry
  512.  *
  513.  * Output:        r1_out - value of R1 on exit
  514.  *                r2_out - value of R2 on exit
  515.  *
  516.  * Other notes:   Calls SWI 0x6.
  517.  */
  518.  
  519. extern os_error *xos_byte (byte op,
  520.       int r1,
  521.       int r2,
  522.       int *r1_out,
  523.       int *r2_out);
  524. extern void os_byte (byte op,
  525.       int r1,
  526.       int r2,
  527.       int *r1_out,
  528.       int *r2_out);
  529.  
  530. /* ------------------------------------------------------------------------
  531.  * Function:      bytev()
  532.  *
  533.  * Description:   OS_Byte vector
  534.  *
  535.  * Input:         op - value of R0 on entry
  536.  *                r1 - value of R1 on entry
  537.  *                r2 - value of R2 on entry
  538.  *
  539.  * Output:        r1_out - value of R1 on exit
  540.  *                r2_out - value of R2 on exit
  541.  *
  542.  * Other notes:   Calls SWI 0x34 with R9 = 0x6.
  543.  */
  544.  
  545. extern os_error *xbytev (int op,
  546.       int r1,
  547.       int r2,
  548.       int *r1_out,
  549.       int *r2_out);
  550. extern void bytev (int op,
  551.       int r1,
  552.       int r2,
  553.       int *r1_out,
  554.       int *r2_out);
  555.  
  556. /* ------------------------------------------------------------------------
  557.  * Function:      osbyte_read()
  558.  *
  559.  * Description:   Reads an OS_Byte status variable
  560.  *
  561.  * Input:         var - value of R0 on entry
  562.  *
  563.  * Output:        value - value of R1 on exit (X version only)
  564.  *
  565.  * Returns:       R1 (non-X version only)
  566.  *
  567.  * Other notes:   Calls SWI 0x6 with R1 = 0x0, R2 = 0xFF.
  568.  */
  569.  
  570. extern os_error *xosbyte_read (int var,
  571.       int *value);
  572. extern int osbyte_read (int var);
  573.  
  574. /* ------------------------------------------------------------------------
  575.  * Function:      osbyte_write()
  576.  *
  577.  * Description:   Writes an OS_Byte status variable
  578.  *
  579.  * Input:         var - value of R0 on entry
  580.  *                value - value of R1 on entry
  581.  *
  582.  * Other notes:   Calls SWI 0x6 with R2 = 0x0.
  583.  */
  584.  
  585. extern os_error *xosbyte_write (int var,
  586.       int value);
  587. extern void osbyte_write (int var,
  588.       int value);
  589.  
  590. #ifdef __cplusplus
  591.    }
  592. #endif
  593.  
  594. #endif
  595.