OSLib – Open source API for RISC OS development

OS

#include "oslib/os.h"

os_t

typedef int os_t;

Monotonic time

os_f

typedef byte os_f;

Deprecated 8-bit File handle. From OSLib V6.3 onwards the headers equate this name to its 32 bit equivalent, but the library retains this symbol for binary compatibility. To revert to legacy behaviour, #define OSLIB_F8 during compilation.

os_fw

typedef bits os_fw;

Wide (32-bit) File handle

os_mode

typedef struct {...} *os_mode;

Mode number

Values:
os_MODE1BPP90X45
os_MODE2BPP90X45
os_MODE4BPP90X45
os_MODE8BPP90X45
os_MODE2BPP45X45
os_MODE4BPP45X45
os_MODE8BPP45X45
os_MODE1BPP90X90
os_MODE2BPP90X90
os_MODE4BPP90X90
os_MODE8BPP90X90
os_CURRENT_MODE
os_NO_ALTERNATIVE_MODE

os_gcol

typedef byte os_gcol;

Graphical colour, 6 or 8 bits

Values:
os_GCOL_SET_FG
os_GCOL_SET_BG

os_tint

typedef byte os_tint;

Graphical tint

os_action

typedef byte os_action;

Graphical action

Values:
os_ACTION_OVERWRITE
os_ACTION_DISJOIN
os_ACTION_CONJOIN
os_ACTION_EXCLUSIVE_DISJOIN
os_ACTION_INVERT
os_ACTION_IDENTITY
os_ACTION_CONJOIN_NEGATION
os_ACTION_DISJOIN_NEGATION
os_ACTION_USE_MASK
os_ACTION_USE_ECF1
os_ACTION_USE_ECF2
os_ACTION_USE_ECF3
os_ACTION_USE_ECF4
os_ACTION_USE_GIANT_ECF

os_colour

typedef bits os_colour;

0xBBGGRR00 triplet, also called palette entry

Values:
os_COLOUR_TRANSPARENT
os_COLOUR_RED
os_COLOUR_GREEN
os_COLOUR_BLUE
os_COLOUR_CYAN
os_COLOUR_MAGENTA
os_COLOUR_YELLOW
os_COLOUR_WHITE
os_COLOUR_VERY_LIGHT_GREY
os_COLOUR_LIGHT_GREY
os_COLOUR_MID_LIGHT_GREY
os_COLOUR_MID_DARK_GREY
os_COLOUR_DARK_GREY
os_COLOUR_VERY_DARK_GREY
os_COLOUR_BLACK
os_COLOUR_DARK_BLUE
os_COLOUR_LIGHT_YELLOW
os_COLOUR_LIGHT_GREEN
os_COLOUR_LIGHT_RED
os_COLOUR_CREAM
os_COLOUR_DARK_GREEN
os_COLOUR_ORANGE
os_COLOUR_LIGHT_BLUE

os_colour_number

typedef int os_colour_number;

Colour number - value in screen memory

os_colour_pair

typedef struct
   {  os_colour on;
      os_colour off;
   }
   os_colour_pair;

os_palette

typedef struct
   {  os_colour entries [...];
   }
   os_palette;

os_sprite_palette

typedef struct
   {  os_colour_pair entries [...];
   }
   os_sprite_palette;

os_ecf

typedef struct
   {  bits ecf [8];
   }
   os_ecf;

os_correction_table

typedef struct
   {  byte gamma [256];
   }
   os_correction_table;

os_bcd_date_and_time

typedef struct
   {  byte year;
      byte month;
      byte date;
      byte weekday;
      byte hour;
      byte minute;
      byte second;
   }
   os_bcd_date_and_time;

os_station_number

typedef struct
   {  int station;
      int net;
   }
   os_station_number;

os_box

typedef struct
   {  int x0;
      int y0;
      int x1;
      int y1;
   }
   os_box;

os_factors

typedef struct
   {  int xmul;
      int ymul;
      int xdiv;
      int ydiv;
   }
   os_factors;

Scaling factors for plotting

os_change_box

typedef struct
   {  int state;
      os_box box;
   }
   os_change_box;

os_error

typedef struct
   {  bits errnum;
      char errmess [252];
   }
   os_error;

os_date_and_time

typedef byte os_date_and_time [5];

System date and time

os_coord

typedef struct
   {  int x;
      int y;
   }
   os_coord;

os_trfm

typedef struct
   {  int entries [3] [2];
   }
   os_trfm;

Transformation matrix

os_hom_trfm

typedef struct
   {  int entries [2] [2];
   }
   os_hom_trfm;

Transformation matrix without translation part

os_pgm

typedef struct
   {  os_coord coords [4];
   }
   os_pgm;

Parallelogram

os_error_handler_buffer

typedef struct
   {  int pc;
      bits errnum;
      char errmess [248];
   }
   os_error_handler_buffer;

os_string_value

typedef union
   {  int offset;
      char *pointer;
   }
   os_string_value;

os_mode_var

typedef int os_mode_var;
Values:
os_MODEVAR_MODE_FLAGS
os_MODEVAR_RSCREEN
os_MODEVAR_BSCREEN
os_MODEVAR_NCOLOUR
os_MODEVAR_XEIG_FACTOR
os_MODEVAR_YEIG_FACTOR
os_MODEVAR_LINE_LENGTH
os_MODEVAR_SCREEN_SIZE
os_MODEVAR_YSHIFT_FACTOR
os_MODEVAR_LOG2_BPP
os_MODEVAR_LOG2_BPC
os_MODEVAR_XWIND_LIMIT
os_MODEVAR_YWIND_LIMIT

os_plot_code

typedef bits os_plot_code;
Values:
os_PLOT_SOLID
os_PLOT_SOLID_EX_END
os_PLOT_DOTTED
os_PLOT_DOTTED_EX_END
os_PLOT_SOLID_EX_START
os_PLOT_SOLID_EX_BOTH
os_PLOT_DOTTED_EX_START
os_PLOT_DOTTED_EX_BOTH
os_PLOT_POINT
os_PLOT_HORIZONTAL_TO_NON_BG
os_PLOT_TRIANGLE
os_PLOT_RIGHT_TO_BG
os_PLOT_RECTANGLE
os_PLOT_HORIZONTAL_TO_FG
os_PLOT_PARALLELOGRAM
os_PLOT_RIGHT_TO_NON_FG
os_PLOT_FLOOD_TO_NON_BG
os_PLOT_FLOOD_TO_FG
os_PLOT_CIRCLE_OUTLINE
os_PLOT_CIRCLE
os_PLOT_ARC
os_PLOT_SEGMENT
os_PLOT_SECTOR
os_PLOT_BLOCK
os_PLOT_ELLIPSE_OUTLINE
os_PLOT_ELLIPSE
os_MOVE_BY
os_PLOT_BY
os_PLOT_INVERSE_BY
os_PLOT_BG_BY
os_MOVE_TO
os_PLOT_TO
os_PLOT_INVERSE_TO
os_PLOT_BG_TO

os_var_type

typedef int os_var_type;
Values:
os_VARTYPE_STRING
os_VARTYPE_NUMBER
os_VARTYPE_MACRO
os_VARTYPE_EXPANDED
os_VARTYPE_LITERAL_STRING
os_VARTYPE_CODE

os_mode_flags

typedef bits os_mode_flags;
Values:
os_MODE_FLAG_NON_GRAPHICS
os_MODE_FLAG_TELETEXT
os_MODE_FLAG_GAP
os_MODE_FLAG_BBC_GAP
os_MODE_FLAG_HI_RES_MONO
os_MODE_FLAG_DOUBLE_HEIGHT
os_MODE_FLAG_HARDWARE_SCROLL
os_MODE_FLAG_FULL_PALETTE
os_MODE_FLAG_INTERLACED
os_MODE_FLAG_GREYSCALE
os_MODE_FLAG_DATA_FORMAT
os_MODE_FLAG_DATA_FORMAT_RGB
os_MODE_FLAG_DATA_FORMAT_CMYK

os_vdu_var

typedef os_mode_var os_vdu_var;
Values:
os_VDUVAR_MODE_FLAGS
os_VDUVAR_RSCREEN
os_VDUVAR_BSCREEN
os_VDUVAR_NCOLOUR
os_VDUVAR_XEIG_FACTOR
os_VDUVAR_YEIG_FACTOR
os_VDUVAR_LINE_LENGTH
os_VDUVAR_SCREEN_SIZE
os_VDUVAR_YSHIFT_FACTOR
os_VDUVAR_LOG2_BPP
os_VDUVAR_LOG2_BPC
os_VDUVAR_XWIND_LIMIT
os_VDUVAR_YWIND_LIMIT
os_VDUVAR_GWL_COL
os_VDUVAR_GWB_ROW
os_VDUVAR_GWR_COL
os_VDUVAR_GWT_ROW
os_VDUVAR_TWL_COL
os_VDUVAR_TWB_ROW
os_VDUVAR_TWR_COL
os_VDUVAR_TWT_ROW
os_VDUVAR_ORGX
os_VDUVAR_ORGY
os_VDUVAR_GCSX
os_VDUVAR_GCSY
os_VDUVAR_OLDER_CSX
os_VDUVAR_OLDER_CSY
os_VDUVAR_OLD_CSX
os_VDUVAR_OLD_CSY
os_VDUVAR_GCS_IX
os_VDUVAR_GCS_IY
os_VDUVAR_NEW_PTX
os_VDUVAR_NEW_PTY
os_VDUVAR_SCREEN_START
os_VDUVAR_DISPLAY_START
os_VDUVAR_TOTAL_SCREEN_SIZE
os_VDUVAR_GPLFMD
os_VDUVAR_GPLBMD
os_VDUVAR_GFCOL
os_VDUVAR_GBCOL
os_VDUVAR_TFORE_COL
os_VDUVAR_TBACK_COL
os_VDUVAR_GF_TINT
os_VDUVAR_GB_TINT
os_VDUVAR_TF_TINT
os_VDUVAR_TB_TINT
os_VDUVAR_MAX_MODE
os_VDUVAR_GCHAR_SIZEX
os_VDUVAR_GCHAR_SIZEY
os_VDUVAR_GCHAR_SPACEX
os_VDUVAR_GCHAR_SPACEY
os_VDUVAR_HLINE_ADDR
os_VDUVAR_TCHAR_SIZEX
os_VDUVAR_TCHAR_SIZEY
os_VDUVAR_TCHAR_SPACEX
os_VDUVAR_TCHAR_SPACEY
os_VDUVAR_GCOL_ORA_EOR_ADDR
os_VDUVAR_VIDC_CLOCK_SPEED
os_VDUVAR_DISPLAY_NUMBER
os_VDUVAR_POLY_HLINE_ADDR
os_VDUVAR_WINDOW_WIDTH
os_VDUVAR_WINDOW_HEIGHT
os_VDUVAR_END_LIST

os_device_type

typedef bits os_device_type;
Values:
osdevicetype_CORE_IRQ_HANDLER
os_DEVICE_PRINTER_BUSY
os_DEVICE_PRINTER
os_DEVICE_SERIAL_RINGING
os_DEVICE_BATTERY_WARNING
os_DEVICE_PRINTER_ACKNOWLEDGE
os_DEVICE_FLOPPY_DISC_INDEX
os_DEVICE_VSYNC
os_DEVICE_POWER_ON
os_DEVICE_IOC_TIMER0
os_DEVICE_IOC_TIMER1
os_DEVICE_FIQ_DOWNGRADE
os_DEVICE_EXPANSION_FIQ_DOWNGRADE
os_DEVICE_SOUND_BUFFER
os_DEVICE_IDE_DISCA
os_DEVICE_SERIAL_CONTROLLER
os_DEVICE_SERIAL_PORT
os_DEVICE_HARD_DISC_CONTROLLER
os_DEVICE_FLOPPY_DISC
os_DEVICE_NETWORK
os_DEVICE_FLOPPY_DISC_CHANGED
os_DEVICE_IDE_DISC
os_DEVICE_FLOPPY_DISCA
os_DEVICE_EXPANSION_CARD
os_DEVICE_KEYBOARD_TX_EMPTY
os_DEVICE_KEYBOARD_RX_FULL
os_DEVICE_DMA_CHANNEL0
os_DEVICE_DMA_CHANNEL1
os_DEVICE_DMA_CHANNEL2
os_DEVICE_DMA_CHANNEL3
os_DEVICE_DMA_SOUND_CHANNEL0
os_DEVICE_DMA_SOUND_CHANNEL1
os_DEVICE_MOUSE_RX_FULL
os_DEVICE_MOUSE_TX_EMPTY
os_DEVICE_JOYSTICK_CONVERSION
os_DEVICE_EVENT0
os_DEVICE_EVENT1
osdevicetype_GET_IRQ_HANDLER
osdevicetype_REGISTER_SUB_CHAIN
osdevicetype_PASS_ON

osreadline_flags

typedef bits osreadline_flags;
Values:
osreadline_GIVEN_ECHO_CHARACTER
osreadline_SUPPRESS_INVALID
osreadline_ECHO_CHARACTER

os_register_block

typedef struct
   {  int registers [16];
      int cpsr;
   }
   os_register_block;

os_read_unsigned_flags

typedef bits os_read_unsigned_flags;
Values:
os_READ_CONTROL_TERMINATED
os_READ_BYTE
os_READ_LIMITED

os_gs_flags

typedef bits os_gs_flags;
Values:
os_GS_TERMINATE_ON_SPACE
os_GS_RETAIN_STICK
os_GS_RETAIN_DOUBLE_QUOTE

os_dynamic_area_no

typedef int os_dynamic_area_no;
Values:
os_DYNAMIC_AREA_APPLICATION_SPACE
os_DYNAMIC_AREA_SYSTEM_HEAP
os_DYNAMIC_AREA_RMA
os_DYNAMIC_AREA_SCREEN_MEMORY
os_DYNAMIC_AREA_SYSTEM_SPRITES
os_DYNAMIC_AREA_FONT_CACHE
os_DYNAMIC_AREA_RAM_DISC
os_DYNAMIC_AREA_FREE_POOL
os_DYNAMIC_VRAM_RESCUE
os_DYNAMIC_KERNEL_BUFFERS
os_DYNAMIC_ABORT_SVC_AND_IRQ_STACK_COPY
os_DYNAMIC_OPERATING_SYSTEM_ROM
os_DYNAMIC_SWI_DISPATCH_IRQ_WORKSPACE
os_DYNAMIC_SVC_STACK
os_DYNAMIC_IRQ_STACK
os_DYNAMIC_UND_STACK
os_DYNAMIC_LEVEL2_PAGE_TABLES
os_DYNAMIC_SOFT_CAM

os_vdu_var_list

typedef struct
   {  os_vdu_var var [...];
   }
   os_vdu_var_list;

os_key_handler

typedef struct
   {  byte k [...];
   }
   os_key_handler;

os_handler_type

typedef int os_handler_type;
Values:
os_HANDLER_MEMORY_LIMIT
os_HANDLER_UNDEFINED_INSTRUCTION
os_HANDLER_PREFETCH_ABORT
os_HANDLER_DATA_ABORT
os_HANDLER_ADDRESS_EXCEPTION
os_HANDLER_OTHER_EXCEPTIONS
os_HANDLER_ERROR
os_HANDLER_CALL_BACK
os_HANDLER_BREAK_PT
os_HANDLER_ESCAPE
os_HANDLER_EVENT
os_HANDLER_EXIT
os_HANDLER_UNUSED_SWI
os_HANDLER_EXCEPTION_REGISTERS
os_HANDLER_APPLICATION_SPACE
os_HANDLER_CAO
os_HANDLER_UP_CALL
os_HANDLER_BACKWARD_COMPATIBILITY

os_substitute_args_flags

typedef bits os_substitute_args_flags;
Values:
os_SUBSTITUTE_ARGS_IGNORE_EXTRAS

os_gi

typedef struct
   {  byte type;
      byte i [4];
   }
   os_gi;

Type to which the output from a /e directive points after OS_ReadArgs

os_GS_MEMBERS

#define os_GS_MEMBERS \
   short size;

os_gs_base

typedef struct
   {  short size;
   }
   os_gs_base;

Type to which the output from a /g directive points after OS_ReadArgs

os_gs

typedef struct
   {  short size;
      char s [...];
   }
   os_gs;

Type to which the output from a /g directive points after OS_ReadArgs

os_sort_type

typedef asm_routine os_sort_type;
Values:
os_SORT_CARDINAL
os_SORT_INTEGER
os_SORT_CARDINAL_POINTER
os_SORT_INTEGER_POINTER
os_SORT_CI_STRING
os_SORT_STRING

os_heap_sort_flags

typedef struct {...} *os_heap_sort_flags;
Values:
os_SORT_GIVEN_WORKSPACE
os_SORT_BUILD_ARRAY
os_SORT_OBJECTS

os_area_flags

typedef bits os_area_flags;
Values:
os_AREA_ACCESS_READ_WRITE
os_AREA_ACCESS_READ_ONLY
os_AREA_ACCESS_NONE
os_AREA_NOT_BUFFERABLE
os_AREA_NOT_CACHEABLE
os_AREA_DOUBLY_MAPPED
os_AREA_NO_USER_DRAG
os_AREA_NEEDS_GIVEN_PAGES
os_AREA_SHRINKABLE
os_AREA_SPARSE
os_AREA_PRIVATE
os_AREA_DMA
os_AREA_LOCKED
os_AREA_IS_HEAP
os_AREA_PHYSICAL
os_AREA_ABORTABLE
os_AREA_DOMAIN
os_AREA_INVISIBLE
os_AREA_FIXED_PAGE

os_mem_map_request

typedef struct
   {  int page_no;
      byte *map;
      os_area_flags access;
   }
   os_mem_map_request;

os_mem_map_request_list

typedef struct
   {  os_mem_map_request requests [...];
   }
   os_mem_map_request_list;

os_page_block

typedef struct
   {  int page_no;
      byte *log_addr;
      byte *phys_addr;
   }
   os_page_block;

os_changed_box_state

typedef int os_changed_box_state;
Values:
os_DISABLE_CHANGED_BOX
os_ENABLE_CHANGED_BOX
os_RESET_CHANGED_BOX
os_READ_CHANGED_BOX

os_colour_flags

typedef bits os_colour_flags;
Values:
os_COLOUR_SET_BG
os_COLOUR_GIVEN_PATTERN
os_COLOUR_SET_TEXT
os_COLOUR_READ

os_pointer_type

typedef int os_pointer_type;
Values:
pointerv_TYPE_QUADRATURE
pointerv_TYPE_MICROSOFT
pointerv_TYPE_MOUSE_SYSTEMS
pointerv_TYPE_PS2

osscreenmodeconfigacceleration_flags

typedef bits osscreenmodeconfigacceleration_flags;
Values:
osscreenmodeconfigaccelerationflags_SUSPEND_CACHEING
osscreenmodeconfigaccelerationflags_SUSPEND_CLEANING
osscreenmodeconfigaccelerationflags_DISABLE_HW_ACCELERATION

osscreenmodeconfigacceleration_cleaner_laziness

typedef int osscreenmodeconfigacceleration_cleaner_laziness;
Values:
osscreenmode_READ_LAZINESS
osscreenmode_SECOND_VSYNC
osscreenmode_THIRD_VSYNC

osdisplaydevice_tag_tag_length

typedef bits osdisplaydevice_tag_tag_length;
Values:
osdisplaydevicetag_END_LIST
osdisplaydevicetag_DEVICE_NAME
osdisplaydevicetag_FEATURES
osdisplaydevicetag_CAPABILITIES
osdisplaydevicetag_BANDWIDTH
osdisplaydevicetag_MAX_PHYS_MEM
osdisplaydevicetag_ALIGNMENT
osdisplaydevicetag_MODEL
osdisplaydevicetag_DEVICE_SPECIFIC

osdisplaydevicedescriptor

typedef struct
   {  union
      {  osdisplaydevice_tag_tag_length tag_taglength;
         int value;
      }
      entry [...];
   }
   osdisplaydevicedescriptor;

osscreenmoderegisterdisplaydriver_action

typedef int osscreenmoderegisterdisplaydriver_action;
Values:
osscreenmoderegisterdisplaydriveraction_NONE
osscreenmoderegisterdisplaydriveraction_SELECT_DISPLAY

osdynamicareadomain_state

typedef int osdynamicareadomain_state;
Values:
osdynamicareadomainstate_READ
osdynamicareadomainstate_ABORT
osdynamicareadomainstate_NORMAL
osdynamicareadomainstate_MANAGER

osaborttrap_flags

typedef bits osaborttrap_flags;
Values:
osaborttrap_REGISTER
osaborttrap_DEREGISTER

osmemory_flags

typedef bits osmemory_flags;
Values:
osmemory_GIVEN_PAGE_NO
osmemory_GIVEN_LOG_ADDR
osmemory_GIVEN_PHYS_ADDR
osmemory_RETURN_PAGE_NO
osmemory_RETURN_LOG_ADDR
osmemory_RETURN_PHYS_ADDR
osmemory_CACHE
osmemory_CACHE_DISABLE
osmemory_CACHE_ENABLE

osmemory_type_flags

typedef bits osmemory_type_flags;
Values:
osmemory_TYPE
osmemory_TYPE_ABSENT
osmemory_TYPE_DRAM
osmemory_TYPE_VRAM
osmemory_TYPE_ROM
osmemory_TYPE_IO
osmemory_TYPE_SOFT_ROM

osmemory_controller_flags

typedef bits osmemory_controller_flags;

osmemory_io_flags

typedef bits osmemory_io_flags;
Values:
osmemory_IO_BUFFERABLE
osmemory_IO_CACHEABLE
osmemory_IO_DOUBLY_MAPPED
osmemory_IO_RESTRICT_ACCESS
osmemory_IO_ACCESS

osmemory_io_reference_key

typedef struct {...} *osmemory_io_reference_key;

osmemory_area_flags

typedef bits osmemory_area_flags;
Values:
osmemory_AREA
osmemory_AREA_CURSOR_SYSTEM_SOUND
osmemory_AREA_IRQ_STACK
osmemory_AREA_SVC_STACK
osmemory_AREA_ABT_STACK
osmemory_AREA_UND_STACK
osmemory_AREA_SOFT_CAM
osmemory_AREA_LEVEL_ONE_PAGE_TABLES
osmemory_AREA_LEVEL_TWO_PAGE_TABLES
osmemory_AREA_HAL_WORKSPACE
osmemory_AREA_KERNEL_BUFFERS
osmemory_AREA_UNCACHEABLE_HAL_WORKSPACE

osmemoryrecommendpage_flags

typedef bits osmemoryrecommendpage_flags;
Values:
osmemoryrecommendpageflags_DMA

osmemorycheckmemoryaccess_flags

typedef bits osmemorycheckmemoryaccess_flags;

osmemorycheckmemoryaccess_bits

typedef bits osmemorycheckmemoryaccess_bits;
Values:
osmemorycheckmemoryaccessbits_USER_RFULL
osmemorycheckmemoryaccessbits_USER_WFULL
osmemorycheckmemoryaccessbits_PRIV_RFULL
osmemorycheckmemoryaccessbits_PRIV_WFULL
osmemorycheckmemoryaccessbits_USER_RPART
osmemorycheckmemoryaccessbits_USER_WPART
osmemorycheckmemoryaccessbits_PRIV_RPART
osmemorycheckmemoryaccessbits_PRIV_WPART
osmemorycheckmemoryaccessbits_PHYS_FULL
osmemorycheckmemoryaccessbits_ABORT_FULL
osmemorycheckmemoryaccessbits_PHYS_PART
osmemorycheckmemoryaccessbits_ABORT_PART

osmemoryreadcontrollerbaseaddress_flags

typedef bits osmemoryreadcontrollerbaseaddress_flags;

os_mmu_control_flush_request_flags

typedef bits os_mmu_control_flush_request_flags;

For OS_MMUControl with reason code 1, RISC OS 3.7+

Values:
os_MMU_CONTROL_FLUSH_REQUEST_FLAG_SINGLE_ENTRY
os_MMU_CONTROL_FLUSH_REQUEST_FLAG_PROC_TLB
os_MMU_CONTROL_FLUSH_REQUEST_FLAG_PROC_CACHE

os_platform_feature_flags

typedef bits os_platform_feature_flags;
Values:
os_PLATFORM_CODE_NEEDS_SYNCHRONISATION
os_PLATFORM_NEEDS_PREDISABLE_FUNCTION
os_PLATFORM_EXCEPTION_VECTOR_MODIFY_NEEDS32BIT
os_PLATFORM_PIPELINE_LENGTH2
os_PLATFORM_FULL_EARLY_DATA_ABORTS
os_PLATFORM32_BIT_OS
os_PLATFORM26_BIT_MODE_NOT_AVAILABLE

os_synchronise_code_flags

typedef bits os_synchronise_code_flags;
Values:
os_GIVEN_CODE_RANGE

os_amb

typedef int os_amb;

Application memory block

os_amb_control_flags

typedef bits os_amb_control_flags;
Values:
os_GIVEN_AMB_PAGE_RANGE

os_lazy_swapping

typedef int os_lazy_swapping;
Values:
os_LAZY_SWAPPING_DISABLE
os_LAZY_SWAPPING_ENABLE
os_LAZY_SWAPPING_READ

os_amb_flags

typedef bits os_amb_flags;

os_amb_info

typedef struct
   {  os_amb amb;
      int pages;
      byte *base_address;
      os_amb_flags flags;
   }
   os_amb_info;

os_AMB_TABLE_MEMBERS

#define os_AMB_TABLE_MEMBERS \
   int count; \
   os_amb current_amb;

os_amb_table_base

typedef struct
   {  int count;
      os_amb current_amb;
   }
   os_amb_table_base;

os_amb_table

typedef struct
   {  int count;
      os_amb current_amb;
      os_amb_info entries [...];
   }
   os_amb_table;

os_hardware_flags

typedef bits os_hardware_flags;

keyv_type

typedef int keyv_type;
Values:
keyv_TYPE_ARCHIMEDES
keyv_TYPE_PCAT

palettev_screen_state

typedef int palettev_screen_state;
Values:
palettev_SCREEN_STATE_READ
palettev_SCREEN_STATE_NORMAL
palettev_SCREEN_STATE_QUIET

pointerv_record

typedef struct
   {  pointerv_record *next;
      bits flags;
      os_pointer_type pointer_type;
      char name [30];
   }
   pointerv_record;

os_MODE_BLOCK_MEMBERS

#define os_MODE_BLOCK_MEMBERS \
   int size; \
   bits flags; \
   int xres; \
   int yres; \
   int log2_bpp; \
   int frame_rate;

os_mode_block_base

typedef struct
   {  int size;
      bits flags;
      int xres;
      int yres;
      int log2_bpp;
      int frame_rate;
   }
   os_mode_block_base;

os_mode_block

typedef struct
   {  int size;
      bits flags;
      int xres;
      int yres;
      int log2_bpp;
      int frame_rate;
      char name [...];
   }
   os_mode_block;

os_MODE_SELECTOR_MEMBERS

#define os_MODE_SELECTOR_MEMBERS \
   bits flags; \
   int xres; \
   int yres; \
   int log2_bpp; \
   int frame_rate;

os_mode_selector_base

typedef struct
   {  bits flags;
      int xres;
      int yres;
      int log2_bpp;
      int frame_rate;
   }
   os_mode_selector_base;

os_mode_selector

typedef struct
   {  bits flags;
      int xres;
      int yres;
      int log2_bpp;
      int frame_rate;
      struct
      {  os_mode_var var;
         int val;
      }
      modevars [...];
   }
   os_mode_selector;

servicedisplaychanged_state

typedef int servicedisplaychanged_state;
Values:
servicedisplaychangedstate_IN_PROCESS
servicedisplaychangedstate_DONE

servicedisplaystatus_reason

typedef int servicedisplaystatus_reason;
Values:
servicedisplaystatusreason_DEREGISTERED
servicedisplaystatusreason_REGISTERED

os_ERROR_LIMIT

#define os_ERROR_LIMIT 252

os_FILE_NAME_LIMIT

#define os_FILE_NAME_LIMIT 256

os_CLI_LIMIT

#define os_CLI_LIMIT 256

os_CLI_LIMIT_RO4

#define os_CLI_LIMIT_RO4 1024

os_MODEVAR_MODE_FLAGS

#define os_MODEVAR_MODE_FLAGS ((os_mode_var) 0x0u)

os_MODEVAR_RSCREEN

#define os_MODEVAR_RSCREEN ((os_mode_var) 0x1u)

os_MODEVAR_BSCREEN

#define os_MODEVAR_BSCREEN ((os_mode_var) 0x2u)

os_MODEVAR_NCOLOUR

#define os_MODEVAR_NCOLOUR ((os_mode_var) 0x3u)

os_MODEVAR_XEIG_FACTOR

#define os_MODEVAR_XEIG_FACTOR ((os_mode_var) 0x4u)

os_MODEVAR_YEIG_FACTOR

#define os_MODEVAR_YEIG_FACTOR ((os_mode_var) 0x5u)

os_MODEVAR_LINE_LENGTH

#define os_MODEVAR_LINE_LENGTH ((os_mode_var) 0x6u)

os_MODEVAR_SCREEN_SIZE

#define os_MODEVAR_SCREEN_SIZE ((os_mode_var) 0x7u)

os_MODEVAR_YSHIFT_FACTOR

#define os_MODEVAR_YSHIFT_FACTOR ((os_mode_var) 0x8u)

os_MODEVAR_LOG2_BPP

#define os_MODEVAR_LOG2_BPP ((os_mode_var) 0x9u)

os_MODEVAR_LOG2_BPC

#define os_MODEVAR_LOG2_BPC ((os_mode_var) 0xAu)

os_MODEVAR_XWIND_LIMIT

#define os_MODEVAR_XWIND_LIMIT ((os_mode_var) 0xBu)

os_MODEVAR_YWIND_LIMIT

#define os_MODEVAR_YWIND_LIMIT ((os_mode_var) 0xCu)

os_MODE1BPP90X45

#define os_MODE1BPP90X45 ((os_mode) 0x0u)

os_MODE2BPP90X45

#define os_MODE2BPP90X45 ((os_mode) 0x8u)

os_MODE4BPP90X45

#define os_MODE4BPP90X45 ((os_mode) 0xCu)

os_MODE8BPP90X45

#define os_MODE8BPP90X45 ((os_mode) 0xFu)

os_MODE2BPP45X45

#define os_MODE2BPP45X45 ((os_mode) 0x1u)

os_MODE4BPP45X45

#define os_MODE4BPP45X45 ((os_mode) 0x9u)

os_MODE8BPP45X45

#define os_MODE8BPP45X45 ((os_mode) 0xDu)

os_MODE1BPP90X90

#define os_MODE1BPP90X90 ((os_mode) 0x19u)

os_MODE2BPP90X90

#define os_MODE2BPP90X90 ((os_mode) 0x1Au)

os_MODE4BPP90X90

#define os_MODE4BPP90X90 ((os_mode) 0x1Bu)

os_MODE8BPP90X90

#define os_MODE8BPP90X90 ((os_mode) 0x1Cu)

os_RSHIFT

#define os_RSHIFT 8

os_GSHIFT

#define os_GSHIFT 16

os_BSHIFT

#define os_BSHIFT 24

os_R

#define os_R 0xFF00u

os_G

#define os_G 0xFF0000u

os_B

#define os_B 0xFF000000u

os_COLOUR_RANGE

#define os_COLOUR_RANGE 255

os_INCH

#define os_INCH 180

1in in OS units

os_VDU_NULL

#define os_VDU_NULL ((char) '\x00')

os_VDU_CHAR_TO_PRINTER

#define os_VDU_CHAR_TO_PRINTER ((char) '\x01')

os_VDU_PRINTER_ON

#define os_VDU_PRINTER_ON ((char) '\x02')

os_VDU_PRINTER_OFF

#define os_VDU_PRINTER_OFF ((char) '\x03')

os_VDU_GRAPH_TEXT_OFF

#define os_VDU_GRAPH_TEXT_OFF ((char) '\x04')

os_VDU_SPLIT_CURSORS

#define os_VDU_SPLIT_CURSORS ((char) '\x04')

os_VDU_GRAPH_TEXT_ON

#define os_VDU_GRAPH_TEXT_ON ((char) '\x05')

os_VDU_JOIN_CURSORS

#define os_VDU_JOIN_CURSORS ((char) '\x05')

os_VDU_SCREEN_ON

#define os_VDU_SCREEN_ON ((char) '\x06')

os_VDU_VDU_ON

#define os_VDU_VDU_ON ((char) '\x06')

os_VDU_BELL

#define os_VDU_BELL ((char) '\x07')

os_VDU_BACKSPACE

#define os_VDU_BACKSPACE ((char) '\x08')

os_VDU_TAB

#define os_VDU_TAB ((char) '\x09')

os_VDU_LINEFEED

#define os_VDU_LINEFEED ((char) '\x0A')

os_VDU_LINE_FEED

#define os_VDU_LINE_FEED ((char) '\x0A')

os_VDU_VERTICAL_TAB

#define os_VDU_VERTICAL_TAB ((char) '\x0B')

os_VDU_CLS

#define os_VDU_CLS ((char) '\x0C')

os_VDU_RETURN

#define os_VDU_RETURN ((char) '\x0D')

os_VDU_PAGE_MODE_ON

#define os_VDU_PAGE_MODE_ON ((char) '\x0E')

os_VDU_PAGE_MODE_OFF

#define os_VDU_PAGE_MODE_OFF ((char) '\x0F')

os_VDU_CLG

#define os_VDU_CLG ((char) '\x10')

os_VDU_SET_TEXT_COLOUR

#define os_VDU_SET_TEXT_COLOUR ((char) '\x11')

os_VDU_SET_GCOL

#define os_VDU_SET_GCOL ((char) '\x12')

os_VDU_SET_PALETTE

#define os_VDU_SET_PALETTE ((char) '\x13')

os_VDU_RESET_COLOURS

#define os_VDU_RESET_COLOURS ((char) '\x14')

os_VDU_SCREEN_OFF

#define os_VDU_SCREEN_OFF ((char) '\x15')

os_VDU_VDU_OFF

#define os_VDU_VDU_OFF ((char) '\x15')

os_VDU_MODE

#define os_VDU_MODE ((char) '\x16')

os_VDU_SET_MODE

#define os_VDU_SET_MODE ((char) '\x16')

os_VDU_MISC

#define os_VDU_MISC ((char) '\x17')

os_VDU_SET_GRAPHICS_WINDOW

#define os_VDU_SET_GRAPHICS_WINDOW ((char) '\x18')

os_VDU_PLOT

#define os_VDU_PLOT ((char) '\x19')

os_VDU_PLOT_VDU

#define os_VDU_PLOT_VDU ((char) '\x19')

os_VDU_RESET_WINDOWS

#define os_VDU_RESET_WINDOWS ((char) '\x1A')

os_VDU_ESCAPE

#define os_VDU_ESCAPE ((char) '\x1B')

os_VDU_SET_TEXT_WINDOW

#define os_VDU_SET_TEXT_WINDOW ((char) '\x1C')

os_VDU_SET_GRAPHICS_ORIGIN

#define os_VDU_SET_GRAPHICS_ORIGIN ((char) '\x1D')

os_VDU_HOME_TEXT_CURSOR

#define os_VDU_HOME_TEXT_CURSOR ((char) '\x1E')

os_VDU_SET_TEXT_CURSOR

#define os_VDU_SET_TEXT_CURSOR ((char) '\x1F')

os_VDU_SPACE

#define os_VDU_SPACE ((char) ' ')

os_VDU_DELETE

#define os_VDU_DELETE ((char) '\x7F')

os_MISC_INTERLACE

#define os_MISC_INTERLACE ((char) '\x00')

os_MISC_CURSOR

#define os_MISC_CURSOR ((char) '\x01')

os_MISC_SET_ECF1

#define os_MISC_SET_ECF1 ((char) '\x02')

os_MISC_SET_ECF2

#define os_MISC_SET_ECF2 ((char) '\x03')

os_MISC_SET_ECF3

#define os_MISC_SET_ECF3 ((char) '\x04')

os_MISC_SET_ECF4

#define os_MISC_SET_ECF4 ((char) '\x05')

os_MISC_SET_DOT_STYLE

#define os_MISC_SET_DOT_STYLE ((char) '\x06')

os_MISC_SCROLL

#define os_MISC_SCROLL ((char) '\x07')

os_MISC_CLEAR_REGION

#define os_MISC_CLEAR_REGION ((char) '\x08')

os_MISC_SET_ON

#define os_MISC_SET_ON ((char) '\x09')

os_MISC_SET_OFF

#define os_MISC_SET_OFF ((char) '\x0A')

os_MISC_SET_BBCECF

#define os_MISC_SET_BBCECF ((char) '\x0B')

os_MISC_SET_UNPACKED_ECF1

#define os_MISC_SET_UNPACKED_ECF1 ((char) '\x0C')

os_MISC_SET_UNPACKED_ECF2

#define os_MISC_SET_UNPACKED_ECF2 ((char) '\x0D')

os_MISC_SET_UNPACKED_ECF3

#define os_MISC_SET_UNPACKED_ECF3 ((char) '\x0E')

os_MISC_SET_UNPACKED_ECF4

#define os_MISC_SET_UNPACKED_ECF4 ((char) '\x0F')

os_MISC_SET_CURSOR_MOVEMENT

#define os_MISC_SET_CURSOR_MOVEMENT ((char) '\x10')

os_MISC_MISC

#define os_MISC_MISC ((char) '\x11')

os_MISC_SET_TEXT_FG_TINT

#define os_MISC_SET_TEXT_FG_TINT ((char) '\x00')

os_MISC_SET_TEXT_BG_TINT

#define os_MISC_SET_TEXT_BG_TINT ((char) '\x01')

os_MISC_SET_GRAPHICS_FG_TINT

#define os_MISC_SET_GRAPHICS_FG_TINT ((char) '\x02')

os_MISC_SET_GRAPHICS_BG_TINT

#define os_MISC_SET_GRAPHICS_BG_TINT ((char) '\x03')

os_MISC_SET_ECF_INTERPRETATION

#define os_MISC_SET_ECF_INTERPRETATION ((char) '\x04')

os_MISC_INVERT_TEXT

#define os_MISC_INVERT_TEXT ((char) '\x05')

os_MISC_SET_ECF_ORIGIN

#define os_MISC_SET_ECF_ORIGIN ((char) '\x06')

os_MISC_SET_CHAR_SIZE

#define os_MISC_SET_CHAR_SIZE ((char) '\x07')

os_ACTION_OVERWRITE

#define os_ACTION_OVERWRITE ((os_action) 0x0u)

os_ACTION_DISJOIN

#define os_ACTION_DISJOIN ((os_action) 0x1u)

os_ACTION_CONJOIN

#define os_ACTION_CONJOIN ((os_action) 0x2u)

os_ACTION_EXCLUSIVE_DISJOIN

#define os_ACTION_EXCLUSIVE_DISJOIN ((os_action) 0x3u)

os_ACTION_INVERT

#define os_ACTION_INVERT ((os_action) 0x4u)

os_ACTION_IDENTITY

#define os_ACTION_IDENTITY ((os_action) 0x5u)

os_ACTION_CONJOIN_NEGATION

#define os_ACTION_CONJOIN_NEGATION ((os_action) 0x6u)

os_ACTION_DISJOIN_NEGATION

#define os_ACTION_DISJOIN_NEGATION ((os_action) 0x7u)

os_ACTION_USE_MASK

#define os_ACTION_USE_MASK ((os_action) 0x8u)

os_ACTION_USE_ECF1

#define os_ACTION_USE_ECF1 ((os_action) 0x10u)

os_ACTION_USE_ECF2

#define os_ACTION_USE_ECF2 ((os_action) 0x20u)

os_ACTION_USE_ECF3

#define os_ACTION_USE_ECF3 ((os_action) 0x30u)

os_ACTION_USE_ECF4

#define os_ACTION_USE_ECF4 ((os_action) 0x40u)

os_ACTION_USE_GIANT_ECF

#define os_ACTION_USE_GIANT_ECF ((os_action) 0x50u)

os_GCOL_SET_FG

#define os_GCOL_SET_FG ((os_gcol) 0x0u)

os_GCOL_SET_BG

#define os_GCOL_SET_BG ((os_gcol) 0x80u)

os_PLOT_SOLID

#define os_PLOT_SOLID ((os_plot_code) 0x0u)

os_PLOT_SOLID_EX_END

#define os_PLOT_SOLID_EX_END ((os_plot_code) 0x8u)

os_PLOT_DOTTED

#define os_PLOT_DOTTED ((os_plot_code) 0x10u)

os_PLOT_DOTTED_EX_END

#define os_PLOT_DOTTED_EX_END ((os_plot_code) 0x18u)

os_PLOT_SOLID_EX_START

#define os_PLOT_SOLID_EX_START ((os_plot_code) 0x20u)

os_PLOT_SOLID_EX_BOTH

#define os_PLOT_SOLID_EX_BOTH ((os_plot_code) 0x28u)

os_PLOT_DOTTED_EX_START

#define os_PLOT_DOTTED_EX_START ((os_plot_code) 0x30u)

os_PLOT_DOTTED_EX_BOTH

#define os_PLOT_DOTTED_EX_BOTH ((os_plot_code) 0x38u)

os_PLOT_POINT

#define os_PLOT_POINT ((os_plot_code) 0x40u)

os_PLOT_HORIZONTAL_TO_NON_BG

#define os_PLOT_HORIZONTAL_TO_NON_BG ((os_plot_code) 0x48u)

os_PLOT_TRIANGLE

#define os_PLOT_TRIANGLE ((os_plot_code) 0x50u)

os_PLOT_RIGHT_TO_BG

#define os_PLOT_RIGHT_TO_BG ((os_plot_code) 0x58u)

os_PLOT_RECTANGLE

#define os_PLOT_RECTANGLE ((os_plot_code) 0x60u)

os_PLOT_HORIZONTAL_TO_FG

#define os_PLOT_HORIZONTAL_TO_FG ((os_plot_code) 0x68u)

os_PLOT_PARALLELOGRAM

#define os_PLOT_PARALLELOGRAM ((os_plot_code) 0x70u)

os_PLOT_RIGHT_TO_NON_FG

#define os_PLOT_RIGHT_TO_NON_FG ((os_plot_code) 0x78u)

os_PLOT_FLOOD_TO_NON_BG

#define os_PLOT_FLOOD_TO_NON_BG ((os_plot_code) 0x80u)

os_PLOT_FLOOD_TO_FG

#define os_PLOT_FLOOD_TO_FG ((os_plot_code) 0x88u)

os_PLOT_CIRCLE_OUTLINE

#define os_PLOT_CIRCLE_OUTLINE ((os_plot_code) 0x90u)

os_PLOT_CIRCLE

#define os_PLOT_CIRCLE ((os_plot_code) 0x98u)

os_PLOT_ARC

#define os_PLOT_ARC ((os_plot_code) 0xA0u)

os_PLOT_SEGMENT

#define os_PLOT_SEGMENT ((os_plot_code) 0xA8u)

os_PLOT_SECTOR

#define os_PLOT_SECTOR ((os_plot_code) 0xB0u)

os_PLOT_BLOCK

#define os_PLOT_BLOCK ((os_plot_code) 0xB8u)

os_PLOT_ELLIPSE_OUTLINE

#define os_PLOT_ELLIPSE_OUTLINE ((os_plot_code) 0xC0u)

os_PLOT_ELLIPSE

#define os_PLOT_ELLIPSE ((os_plot_code) 0xC8u)

os_MOVE_BY

#define os_MOVE_BY ((os_plot_code) 0x0u)

os_PLOT_BY

#define os_PLOT_BY ((os_plot_code) 0x1u)

os_PLOT_INVERSE_BY

#define os_PLOT_INVERSE_BY ((os_plot_code) 0x2u)

os_PLOT_BG_BY

#define os_PLOT_BG_BY ((os_plot_code) 0x3u)

os_MOVE_TO

#define os_MOVE_TO ((os_plot_code) 0x4u)

os_PLOT_TO

#define os_PLOT_TO ((os_plot_code) 0x5u)

os_PLOT_INVERSE_TO

#define os_PLOT_INVERSE_TO ((os_plot_code) 0x6u)

os_PLOT_BG_TO

#define os_PLOT_BG_TO ((os_plot_code) 0x7u)

os_VARTYPE_STRING

#define os_VARTYPE_STRING ((os_var_type) 0x0u)

os_VARTYPE_NUMBER

#define os_VARTYPE_NUMBER ((os_var_type) 0x1u)

os_VARTYPE_MACRO

#define os_VARTYPE_MACRO ((os_var_type) 0x2u)

os_VARTYPE_EXPANDED

#define os_VARTYPE_EXPANDED ((os_var_type) 0x3u)

os_VARTYPE_LITERAL_STRING

#define os_VARTYPE_LITERAL_STRING ((os_var_type) 0x4u)

os_VARTYPE_CODE

#define os_VARTYPE_CODE ((os_var_type) 0x10u)

os_MODE_FLAG_NON_GRAPHICS

#define os_MODE_FLAG_NON_GRAPHICS ((os_mode_flags) 0x1u)

os_MODE_FLAG_TELETEXT

#define os_MODE_FLAG_TELETEXT ((os_mode_flags) 0x2u)

os_MODE_FLAG_GAP

#define os_MODE_FLAG_GAP ((os_mode_flags) 0x4u)

os_MODE_FLAG_BBC_GAP

#define os_MODE_FLAG_BBC_GAP ((os_mode_flags) 0x8u)

os_MODE_FLAG_HI_RES_MONO

#define os_MODE_FLAG_HI_RES_MONO ((os_mode_flags) 0x10u)

os_MODE_FLAG_DOUBLE_HEIGHT

#define os_MODE_FLAG_DOUBLE_HEIGHT ((os_mode_flags) 0x20u)

os_MODE_FLAG_HARDWARE_SCROLL

#define os_MODE_FLAG_HARDWARE_SCROLL ((os_mode_flags) 0x40u)

os_MODE_FLAG_FULL_PALETTE

#define os_MODE_FLAG_FULL_PALETTE ((os_mode_flags) 0x80u)

os_MODE_FLAG_INTERLACED

#define os_MODE_FLAG_INTERLACED ((os_mode_flags) 0x10u)

os_MODE_FLAG_GREYSCALE

#define os_MODE_FLAG_GREYSCALE ((os_mode_flags) 0x20u)

RISC OS 6

os_MODE_FLAG_DATA_FORMAT

#define os_MODE_FLAG_DATA_FORMAT ((os_mode_flags) 0xF000u)

RISC OS 4.32+

os_MODE_FLAG_DATA_FORMAT_SHIFT

#define os_MODE_FLAG_DATA_FORMAT_SHIFT 12

RISC OS 4.32+

os_MODE_FLAG_DATA_FORMAT_RGB

#define os_MODE_FLAG_DATA_FORMAT_RGB ((os_mode_flags) 0x0u)

RISC OS 4.32+

os_MODE_FLAG_DATA_FORMAT_CMYK

#define os_MODE_FLAG_DATA_FORMAT_CMYK ((os_mode_flags) 0x1u)

RISC OS 4.32+

os_VDUVAR_MODE_FLAGS

#define os_VDUVAR_MODE_FLAGS ((os_vdu_var) 0x0u)

os_VDUVAR_RSCREEN

#define os_VDUVAR_RSCREEN ((os_vdu_var) 0x1u)

os_VDUVAR_BSCREEN

#define os_VDUVAR_BSCREEN ((os_vdu_var) 0x2u)

os_VDUVAR_NCOLOUR

#define os_VDUVAR_NCOLOUR ((os_vdu_var) 0x3u)

os_VDUVAR_XEIG_FACTOR

#define os_VDUVAR_XEIG_FACTOR ((os_vdu_var) 0x4u)

os_VDUVAR_YEIG_FACTOR

#define os_VDUVAR_YEIG_FACTOR ((os_vdu_var) 0x5u)

os_VDUVAR_LINE_LENGTH

#define os_VDUVAR_LINE_LENGTH ((os_vdu_var) 0x6u)

os_VDUVAR_SCREEN_SIZE

#define os_VDUVAR_SCREEN_SIZE ((os_vdu_var) 0x7u)

os_VDUVAR_YSHIFT_FACTOR

#define os_VDUVAR_YSHIFT_FACTOR ((os_vdu_var) 0x8u)

os_VDUVAR_LOG2_BPP

#define os_VDUVAR_LOG2_BPP ((os_vdu_var) 0x9u)

os_VDUVAR_LOG2_BPC

#define os_VDUVAR_LOG2_BPC ((os_vdu_var) 0xAu)

os_VDUVAR_XWIND_LIMIT

#define os_VDUVAR_XWIND_LIMIT ((os_vdu_var) 0xBu)

os_VDUVAR_YWIND_LIMIT

#define os_VDUVAR_YWIND_LIMIT ((os_vdu_var) 0xCu)

os_VDUVAR_GWL_COL

#define os_VDUVAR_GWL_COL ((os_vdu_var) 0x80u)

os_VDUVAR_GWB_ROW

#define os_VDUVAR_GWB_ROW ((os_vdu_var) 0x81u)

os_VDUVAR_GWR_COL

#define os_VDUVAR_GWR_COL ((os_vdu_var) 0x82u)

os_VDUVAR_GWT_ROW

#define os_VDUVAR_GWT_ROW ((os_vdu_var) 0x83u)

os_VDUVAR_TWL_COL

#define os_VDUVAR_TWL_COL ((os_vdu_var) 0x84u)

os_VDUVAR_TWB_ROW

#define os_VDUVAR_TWB_ROW ((os_vdu_var) 0x85u)

os_VDUVAR_TWR_COL

#define os_VDUVAR_TWR_COL ((os_vdu_var) 0x86u)

os_VDUVAR_TWT_ROW

#define os_VDUVAR_TWT_ROW ((os_vdu_var) 0x87u)

os_VDUVAR_ORGX

#define os_VDUVAR_ORGX ((os_vdu_var) 0x88u)

os_VDUVAR_ORGY

#define os_VDUVAR_ORGY ((os_vdu_var) 0x89u)

os_VDUVAR_GCSX

#define os_VDUVAR_GCSX ((os_vdu_var) 0x8Au)

os_VDUVAR_GCSY

#define os_VDUVAR_GCSY ((os_vdu_var) 0x8Bu)

os_VDUVAR_OLDER_CSX

#define os_VDUVAR_OLDER_CSX ((os_vdu_var) 0x8Cu)

os_VDUVAR_OLDER_CSY

#define os_VDUVAR_OLDER_CSY ((os_vdu_var) 0x8Du)

os_VDUVAR_OLD_CSX

#define os_VDUVAR_OLD_CSX ((os_vdu_var) 0x8Eu)

os_VDUVAR_OLD_CSY

#define os_VDUVAR_OLD_CSY ((os_vdu_var) 0x8Fu)

os_VDUVAR_GCS_IX

#define os_VDUVAR_GCS_IX ((os_vdu_var) 0x90u)

os_VDUVAR_GCS_IY

#define os_VDUVAR_GCS_IY ((os_vdu_var) 0x91u)

os_VDUVAR_NEW_PTX

#define os_VDUVAR_NEW_PTX ((os_vdu_var) 0x92u)

os_VDUVAR_NEW_PTY

#define os_VDUVAR_NEW_PTY ((os_vdu_var) 0x93u)

os_VDUVAR_SCREEN_START

#define os_VDUVAR_SCREEN_START ((os_vdu_var) 0x94u)

os_VDUVAR_DISPLAY_START

#define os_VDUVAR_DISPLAY_START ((os_vdu_var) 0x95u)

os_VDUVAR_TOTAL_SCREEN_SIZE

#define os_VDUVAR_TOTAL_SCREEN_SIZE ((os_vdu_var) 0x96u)

os_VDUVAR_GPLFMD

#define os_VDUVAR_GPLFMD ((os_vdu_var) 0x97u)

os_VDUVAR_GPLBMD

#define os_VDUVAR_GPLBMD ((os_vdu_var) 0x98u)

os_VDUVAR_GFCOL

#define os_VDUVAR_GFCOL ((os_vdu_var) 0x99u)

os_VDUVAR_GBCOL

#define os_VDUVAR_GBCOL ((os_vdu_var) 0x9Au)

os_VDUVAR_TFORE_COL

#define os_VDUVAR_TFORE_COL ((os_vdu_var) 0x9Bu)

os_VDUVAR_TBACK_COL

#define os_VDUVAR_TBACK_COL ((os_vdu_var) 0x9Cu)

os_VDUVAR_GF_TINT

#define os_VDUVAR_GF_TINT ((os_vdu_var) 0x9Du)

os_VDUVAR_GB_TINT

#define os_VDUVAR_GB_TINT ((os_vdu_var) 0x9Eu)

os_VDUVAR_TF_TINT

#define os_VDUVAR_TF_TINT ((os_vdu_var) 0x9Fu)

os_VDUVAR_TB_TINT

#define os_VDUVAR_TB_TINT ((os_vdu_var) 0xA0u)

os_VDUVAR_MAX_MODE

#define os_VDUVAR_MAX_MODE ((os_vdu_var) 0xA1u)

os_VDUVAR_GCHAR_SIZEX

#define os_VDUVAR_GCHAR_SIZEX ((os_vdu_var) 0xA2u)

os_VDUVAR_GCHAR_SIZEY

#define os_VDUVAR_GCHAR_SIZEY ((os_vdu_var) 0xA3u)

os_VDUVAR_GCHAR_SPACEX

#define os_VDUVAR_GCHAR_SPACEX ((os_vdu_var) 0xA4u)

os_VDUVAR_GCHAR_SPACEY

#define os_VDUVAR_GCHAR_SPACEY ((os_vdu_var) 0xA5u)

os_VDUVAR_HLINE_ADDR

#define os_VDUVAR_HLINE_ADDR ((os_vdu_var) 0xA6u)

os_VDUVAR_TCHAR_SIZEX

#define os_VDUVAR_TCHAR_SIZEX ((os_vdu_var) 0xA7u)

os_VDUVAR_TCHAR_SIZEY

#define os_VDUVAR_TCHAR_SIZEY ((os_vdu_var) 0xA8u)

os_VDUVAR_TCHAR_SPACEX

#define os_VDUVAR_TCHAR_SPACEX ((os_vdu_var) 0xA9u)

os_VDUVAR_TCHAR_SPACEY

#define os_VDUVAR_TCHAR_SPACEY ((os_vdu_var) 0xAAu)

os_VDUVAR_GCOL_ORA_EOR_ADDR

#define os_VDUVAR_GCOL_ORA_EOR_ADDR ((os_vdu_var) 0xABu)

os_VDUVAR_VIDC_CLOCK_SPEED

#define os_VDUVAR_VIDC_CLOCK_SPEED ((os_vdu_var) 0xACu)

deprecated from RISC OS 6 onwards

os_VDUVAR_DISPLAY_NUMBER

#define os_VDUVAR_DISPLAY_NUMBER ((os_vdu_var) 0xC0u)

RISC OS 6

os_VDUVAR_POLY_HLINE_ADDR

#define os_VDUVAR_POLY_HLINE_ADDR ((os_vdu_var) 0xC1u)

RISC OS 6

os_VDUVAR_WINDOW_WIDTH

#define os_VDUVAR_WINDOW_WIDTH ((os_vdu_var) 0x100u)

os_VDUVAR_WINDOW_HEIGHT

#define os_VDUVAR_WINDOW_HEIGHT ((os_vdu_var) 0x101u)

os_VDUVAR_END_LIST

#define os_VDUVAR_END_LIST ((os_vdu_var) 0xFFFFFFFFu)

os_FOREGROUND

#define os_FOREGROUND 0x0u

os_BACKGROUND

#define os_BACKGROUND 0x80u

os_COLOUR_TRANSPARENT

#define os_COLOUR_TRANSPARENT ((os_colour) 0xFFFFFFFFu)

os_COLOUR_RED

#define os_COLOUR_RED ((os_colour) 0xFF00u)

os_COLOUR_GREEN

#define os_COLOUR_GREEN ((os_colour) 0xFF0000u)

os_COLOUR_BLUE

#define os_COLOUR_BLUE ((os_colour) 0xFF000000u)

os_COLOUR_CYAN

#define os_COLOUR_CYAN ((os_colour) 0xFFFF0000u)

os_COLOUR_MAGENTA

#define os_COLOUR_MAGENTA ((os_colour) 0xFF00FF00u)

os_COLOUR_YELLOW

#define os_COLOUR_YELLOW ((os_colour) 0xFFFF00u)

os_COLOUR_WHITE

#define os_COLOUR_WHITE ((os_colour) 0xFFFFFF00u)

os_COLOUR_VERY_LIGHT_GREY

#define os_COLOUR_VERY_LIGHT_GREY ((os_colour) 0xDDDDDD00u)

os_COLOUR_LIGHT_GREY

#define os_COLOUR_LIGHT_GREY ((os_colour) 0xBBBBBB00u)

os_COLOUR_MID_LIGHT_GREY

#define os_COLOUR_MID_LIGHT_GREY ((os_colour) 0x99999900u)

os_COLOUR_MID_DARK_GREY

#define os_COLOUR_MID_DARK_GREY ((os_colour) 0x77777700u)

os_COLOUR_DARK_GREY

#define os_COLOUR_DARK_GREY ((os_colour) 0x55555500u)

os_COLOUR_VERY_DARK_GREY

#define os_COLOUR_VERY_DARK_GREY ((os_colour) 0x33333300u)

os_COLOUR_BLACK

#define os_COLOUR_BLACK ((os_colour) 0x0u)

os_COLOUR_DARK_BLUE

#define os_COLOUR_DARK_BLUE ((os_colour) 0x99440000u)

os_COLOUR_LIGHT_YELLOW

#define os_COLOUR_LIGHT_YELLOW ((os_colour) 0xEEEE00u)

os_COLOUR_LIGHT_GREEN

#define os_COLOUR_LIGHT_GREEN ((os_colour) 0xCC0000u)

os_COLOUR_LIGHT_RED

#define os_COLOUR_LIGHT_RED ((os_colour) 0xDD00u)

os_COLOUR_CREAM

#define os_COLOUR_CREAM ((os_colour) 0xBBEEEE00u)

os_COLOUR_DARK_GREEN

#define os_COLOUR_DARK_GREEN ((os_colour) 0x885500u)

os_COLOUR_ORANGE

#define os_COLOUR_ORANGE ((os_colour) 0xBBFF00u)

os_COLOUR_LIGHT_BLUE

#define os_COLOUR_LIGHT_BLUE ((os_colour) 0xFFBB0000u)

osdevicetype_CORE_IRQ_HANDLER

#define osdevicetype_CORE_IRQ_HANDLER ((os_device_type) 0xFFFFFFFFu)

RISC OS 6

osdevicetype_DEVICE_NUMBER_SHIFT

#define osdevicetype_DEVICE_NUMBER_SHIFT 0

osdevicetype_DEVICE_NUMBER_MASK

#define osdevicetype_DEVICE_NUMBER_MASK 16777215

os_DEVICE_PRINTER_BUSY

#define os_DEVICE_PRINTER_BUSY ((os_device_type) 0x0u)

Early

os_DEVICE_PRINTER

#define os_DEVICE_PRINTER ((os_device_type) 0x0u)

82C71x/IOMD/ARM 7500

os_DEVICE_SERIAL_RINGING

#define os_DEVICE_SERIAL_RINGING ((os_device_type) 0x1u)

Early

os_DEVICE_BATTERY_WARNING

#define os_DEVICE_BATTERY_WARNING ((os_device_type) 0x1u)

82C71x

os_DEVICE_PRINTER_ACKNOWLEDGE

#define os_DEVICE_PRINTER_ACKNOWLEDGE ((os_device_type) 0x2u)

Early

os_DEVICE_FLOPPY_DISC_INDEX

#define os_DEVICE_FLOPPY_DISC_INDEX ((os_device_type) 0x2u)

82C71x/IOMD/ARM 7500

os_DEVICE_VSYNC

#define os_DEVICE_VSYNC ((os_device_type) 0x3u)

Early/82C71x/IOMD/ARM 7500

os_DEVICE_POWER_ON

#define os_DEVICE_POWER_ON ((os_device_type) 0x4u)

Early/82C71x/IOMD/ARM 7500

os_DEVICE_IOC_TIMER0

#define os_DEVICE_IOC_TIMER0 ((os_device_type) 0x5u)

Early/82C71x/IOMD/ARM 7500

os_DEVICE_IOC_TIMER1

#define os_DEVICE_IOC_TIMER1 ((os_device_type) 0x6u)

Early/82C71x/IOMD/ARM 7500

os_DEVICE_FIQ_DOWNGRADE

#define os_DEVICE_FIQ_DOWNGRADE ((os_device_type) 0x7u)

Early/82C71x/IOMD/ARM 7500

os_DEVICE_EXPANSION_FIQ_DOWNGRADE

#define os_DEVICE_EXPANSION_FIQ_DOWNGRADE ((os_device_type) 0x8u)

Early/82C71x/IOMD/ARM 7500

os_DEVICE_SOUND_BUFFER

#define os_DEVICE_SOUND_BUFFER ((os_device_type) 0x9u)

Early/82C71x

os_DEVICE_IDE_DISCA

#define os_DEVICE_IDE_DISCA ((os_device_type) 0x9u)

IOMD/ARM 7500

os_DEVICE_SERIAL_CONTROLLER

#define os_DEVICE_SERIAL_CONTROLLER ((os_device_type) 0xAu)

Early

os_DEVICE_SERIAL_PORT

#define os_DEVICE_SERIAL_PORT ((os_device_type) 0xAu)

82C71xIOMD/ARM 7500

os_DEVICE_HARD_DISC_CONTROLLER

#define os_DEVICE_HARD_DISC_CONTROLLER ((os_device_type) 0xBu)

Early

os_DEVICE_FLOPPY_DISC

#define os_DEVICE_FLOPPY_DISC ((os_device_type) 0xBu)

82C71x

os_DEVICE_NETWORK

#define os_DEVICE_NETWORK ((os_device_type) 0xBu)

IOMD/ARM 7500

os_DEVICE_FLOPPY_DISC_CHANGED

#define os_DEVICE_FLOPPY_DISC_CHANGED ((os_device_type) 0xCu)

Early

os_DEVICE_IDE_DISC

#define os_DEVICE_IDE_DISC ((os_device_type) 0xCu)

82C71x

os_DEVICE_FLOPPY_DISCA

#define os_DEVICE_FLOPPY_DISCA ((os_device_type) 0xCu)

IOMD/ARM 7500

os_DEVICE_EXPANSION_CARD

#define os_DEVICE_EXPANSION_CARD ((os_device_type) 0xDu)

Early/82C71x/IOMD/ARM 7500

os_DEVICE_KEYBOARD_TX_EMPTY

#define os_DEVICE_KEYBOARD_TX_EMPTY ((os_device_type) 0xEu)

Early/82C71x/IOMD/ARM 7500

os_DEVICE_KEYBOARD_RX_FULL

#define os_DEVICE_KEYBOARD_RX_FULL ((os_device_type) 0xFu)

Early/82C71x/IOMD/ARM 7500

os_DEVICE_DMA_CHANNEL0

#define os_DEVICE_DMA_CHANNEL0 ((os_device_type) 0x10u)

IOMD/ARM 7500

os_DEVICE_DMA_CHANNEL1

#define os_DEVICE_DMA_CHANNEL1 ((os_device_type) 0x11u)

IOMD/ARM 7500

os_DEVICE_DMA_CHANNEL2

#define os_DEVICE_DMA_CHANNEL2 ((os_device_type) 0x12u)

IOMD/ARM 7500

os_DEVICE_DMA_CHANNEL3

#define os_DEVICE_DMA_CHANNEL3 ((os_device_type) 0x13u)

IOMD/ARM 7500

os_DEVICE_DMA_SOUND_CHANNEL0

#define os_DEVICE_DMA_SOUND_CHANNEL0 ((os_device_type) 0x14u)

IOMD/ARM 7500

os_DEVICE_DMA_SOUND_CHANNEL1

#define os_DEVICE_DMA_SOUND_CHANNEL1 ((os_device_type) 0x15u)

IOMD/ARM 7500

os_DEVICE_MOUSE_RX_FULL

#define os_DEVICE_MOUSE_RX_FULL ((os_device_type) 0x16u)

ARM 7500

os_DEVICE_MOUSE_TX_EMPTY

#define os_DEVICE_MOUSE_TX_EMPTY ((os_device_type) 0x17u)

ARM 7500

os_DEVICE_JOYSTICK_CONVERSION

#define os_DEVICE_JOYSTICK_CONVERSION ((os_device_type) 0x18u)

ARM 7500

os_DEVICE_EVENT0

#define os_DEVICE_EVENT0 ((os_device_type) 0x19u)

ARM 7500

os_DEVICE_EVENT1

#define os_DEVICE_EVENT1 ((os_device_type) 0x1Au)

ARM 7500

osdevicetype_GET_IRQ_HANDLER

#define osdevicetype_GET_IRQ_HANDLER ((os_device_type) 0x20000000u)

RISC OS 6

osdevicetype_REGISTER_SUB_CHAIN

#define osdevicetype_REGISTER_SUB_CHAIN ((os_device_type) 0x40000000u)

RISC OS 6

osdevicetype_PASS_ON

#define osdevicetype_PASS_ON ((os_device_type) 0x80000000u)

RISC OS 6

os_ERROR_NUMBER_SHIFT

#define os_ERROR_NUMBER_SHIFT 0

os_ERROR_NUMBER

#define os_ERROR_NUMBER 0xFFu

os_ERROR_SOURCE_SHIFT

#define os_ERROR_SOURCE_SHIFT 8

os_ERROR_SOURCE

#define os_ERROR_SOURCE 0xFFFF00u

os_ERROR_CATEGORY_SHIFT

#define os_ERROR_CATEGORY_SHIFT 24

os_ERROR_CATEGORY

#define os_ERROR_CATEGORY 0x7000000u

os_CATEGORY_UNCLASSIFIED

#define os_CATEGORY_UNCLASSIFIED 0

os_CATEGORY_INFORMATION

#define os_CATEGORY_INFORMATION 1

os_CATEGORY_WARNING

#define os_CATEGORY_WARNING 2

os_CATEGORY_SYSTEM

#define os_CATEGORY_SYSTEM 3

os_GLOBAL_ESCAPE

#define os_GLOBAL_ESCAPE 1

os_GLOBAL_FATAL

#define os_GLOBAL_FATAL 2

os_GLOBAL_IS_AFIL

#define os_GLOBAL_IS_AFIL 3

os_GLOBAL_ISNT_FIL

#define os_GLOBAL_ISNT_FIL 4

os_GLOBAL_IS_ADIR

#define os_GLOBAL_IS_ADIR 5

os_GLOBAL_ISNT_DIR

#define os_GLOBAL_ISNT_DIR 6

os_GLOBAL_NO_FILE

#define os_GLOBAL_NO_FILE 7

os_GLOBAL_NO_DIR

#define os_GLOBAL_NO_DIR 8

os_GLOBAL_NO_ANY

#define os_GLOBAL_NO_ANY 9

os_GLOBAL_TYPS_BAD

#define os_GLOBAL_TYPS_BAD 10

os_GLOBAL_BAD_REN

#define os_GLOBAL_BAD_REN 11

os_GLOBAL_BAD_ACC

#define os_GLOBAL_BAD_ACC 12

os_GLOBAL_OPN_FILS

#define os_GLOBAL_OPN_FILS 13

os_GLOBAL_BAD_NAME

#define os_GLOBAL_BAD_NAME 14

os_GLOBAL_LONG_NAM

#define os_GLOBAL_LONG_NAM 15

os_GLOBAL_CHANNEL

#define os_GLOBAL_CHANNEL 16

os_GLOBAL_BAD_SWI

#define os_GLOBAL_BAD_SWI 17

os_GLOBAL_MOD_IN_US

#define os_GLOBAL_MOD_IN_US 18

os_GLOBAL_STR_OFLO

#define os_GLOBAL_STR_OFLO 19

os_GLOBAL_NUM_OFLO

#define os_GLOBAL_NUM_OFLO 20

os_GLOBAL_BUF_OFLO

#define os_GLOBAL_BUF_OFLO 21

os_GLOBAL_BAD_STN

#define os_GLOBAL_BAD_STN 22

os_GLOBAL_BAD_NET

#define os_GLOBAL_BAD_NET 23

os_GLOBAL_FULL_NET

#define os_GLOBAL_FULL_NET 24

os_GLOBAL_NO_ECO

#define os_GLOBAL_NO_ECO 25

os_GLOBAL_BAD_READ

#define os_GLOBAL_BAD_READ 26

os_GLOBAL_BAD_WRT

#define os_GLOBAL_BAD_WRT 27

os_GLOBAL_DATA_LST

#define os_GLOBAL_DATA_LST 28

os_GLOBAL_BAD_FS_OP

#define os_GLOBAL_BAD_FS_OP 29

os_GLOBAL_FS_NO_RD

#define os_GLOBAL_FS_NO_RD 30

os_GLOBAL_FS_NO_WRT

#define os_GLOBAL_FS_NO_WRT 31

os_GLOBAL_FS_IN_USE

#define os_GLOBAL_FS_IN_USE 32

os_GLOBAL_BAD_ADDRESS

#define os_GLOBAL_BAD_ADDRESS 33

os_GLOBAL_NO_STORE

#define os_GLOBAL_NO_STORE 34

os_GLOBAL_RAM_LOADC

#define os_GLOBAL_RAM_LOADC 35

os_GLOBAL_DDS0

#define os_GLOBAL_DDS0 36

os_GLOBAL_DDS1

#define os_GLOBAL_DDS1 37

os_GLOBAL_DDS2

#define os_GLOBAL_DDS2 38

os_GLOBAL_DDS3

#define os_GLOBAL_DDS3 39

os_GLOBAL_CSDS

#define os_GLOBAL_CSDS 40

os_GLOBAL_LDS

#define os_GLOBAL_LDS 41

os_GLOBAL_URDS

#define os_GLOBAL_URDS 42

os_GLOBAL_DR

#define os_GLOBAL_DR 43

os_GLOBAL_APP

#define os_GLOBAL_APP 44

os_GLOBAL_EX_DT

#define os_GLOBAL_EX_DT 45

os_GLOBAL_EX_LD_EX

#define os_GLOBAL_EX_LD_EX 46

os_GLOBAL_USE_DESK

#define os_GLOBAL_USE_DESK 47

os_GLOBAL_APP_QUIT

#define os_GLOBAL_APP_QUIT 48

os_GLOBAL_NO_MEM

#define os_GLOBAL_NO_MEM 49

os_GLOBAL_BAD_HARD

#define os_GLOBAL_BAD_HARD 50

os_GLOBAL_BAD_PARM

#define os_GLOBAL_BAD_PARM 51

os_GLOBAL_NO_WIMP

#define os_GLOBAL_NO_WIMP 52

error_ESCAPE

#define error_ESCAPE 0x11u

error_BAD_MODE

#define error_BAD_MODE 0x19u

error_IS_ADIR

#define error_IS_ADIR 0xA8u

error_TYPES_DONT_MATCH

#define error_TYPES_DONT_MATCH 0xAFu

error_BAD_RENAME

#define error_BAD_RENAME 0xB0u

error_BAD_COPY

#define error_BAD_COPY 0xB1u

error_OUTSIDE_FILE

#define error_OUTSIDE_FILE 0xB7u

error_ACCESS_VIOLATION

#define error_ACCESS_VIOLATION 0xBDu

error_TOO_MANY_OPEN_FILES

#define error_TOO_MANY_OPEN_FILES 0xC0u

error_NOT_OPEN_FOR_UPDATE

#define error_NOT_OPEN_FOR_UPDATE 0xC1u

error_FILE_OPEN

#define error_FILE_OPEN 0xC2u

error_OBJECT_LOCKED

#define error_OBJECT_LOCKED 0xC3u

error_ALREADY_EXISTS

#define error_ALREADY_EXISTS 0xC4u

error_BAD_FILE_NAME

#define error_BAD_FILE_NAME 0xCCu

error_FILE_NOT_FOUND

#define error_FILE_NOT_FOUND 0xD6u

error_SYNTAX

#define error_SYNTAX 0xDCu

error_BAD_NO_PARMS

#define error_BAD_NO_PARMS 0xDCu

error_TOO_MANY_PARMS

#define error_TOO_MANY_PARMS 0xDCu

error_CHANNEL

#define error_CHANNEL 0xDEu

error_END_OF_FILE

#define error_END_OF_FILE 0xDFu

error_BAD_FILING_SYSTEM_NAME

#define error_BAD_FILING_SYSTEM_NAME 0xF8u

error_UNKNOWN_FILING_SYSTEM

#define error_UNKNOWN_FILING_SYSTEM 0xF8u

error_BAD_KEY

#define error_BAD_KEY 0xFBu

error_BAD_ADDRESS

#define error_BAD_ADDRESS 0xFCu

error_BAD_STRING

#define error_BAD_STRING 0xFDu

error_BAD_ALIAS_STRING

#define error_BAD_ALIAS_STRING 0xFDu

error_BAD_PARM_STRING

#define error_BAD_PARM_STRING 0xFDu

error_WILD_CARDS

#define error_WILD_CARDS 0xFDu

error_BAD_COMMAND

#define error_BAD_COMMAND 0xFEu

error_BAD_MAC_VAL

#define error_BAD_MAC_VAL 0x120u

error_BAD_VAR_NAM

#define error_BAD_VAR_NAM 0x121u

error_BAD_VAR_TYPE

#define error_BAD_VAR_TYPE 0x122u

error_VAR_NO_ROOM

#define error_VAR_NO_ROOM 0x123u

error_VAR_CANT_FIND

#define error_VAR_CANT_FIND 0x124u

error_VAR_TOO_LONG

#define error_VAR_TOO_LONG 0x125u

error_REDIRECT_FAIL

#define error_REDIRECT_FAIL 0x140u

error_STACK_FULL

#define error_STACK_FULL 0x141u

error_BAD_HEX

#define error_BAD_HEX 0x160u

error_BAD_EXPR

#define error_BAD_EXPR 0x161u

error_BAD_BRA

#define error_BAD_BRA 0x162u

error_STK_OFLO

#define error_STK_OFLO 0x163u

error_MISS_OPN

#define error_MISS_OPN 0x164u

error_MISS_OPR

#define error_MISS_OPR 0x165u

error_BAD_BITS

#define error_BAD_BITS 0x166u

error_STR_OFLO

#define error_STR_OFLO 0x167u

error_BAD_ITM

#define error_BAD_ITM 0x168u

error_DIV_ZERO

#define error_DIV_ZERO 0x169u

error_BAD_BASE

#define error_BAD_BASE 0x16Au

error_BAD_NUMB

#define error_BAD_NUMB 0x16Bu

error_NUMB_TOO_BIG

#define error_NUMB_TOO_BIG 0x16Cu

error_BAD_CLAIM_NUM

#define error_BAD_CLAIM_NUM 0x1A1u

error_BAD_RELEASE

#define error_BAD_RELEASE 0x1A2u

error_BAD_DEV_NO

#define error_BAD_DEV_NO 0x1A3u

error_BAD_DEV_VEC_REL

#define error_BAD_DEV_VEC_REL 0x1A4u

error_BAD_ENV_NUMBER

#define error_BAD_ENV_NUMBER 0x1B0u

error_CANT_CANCEL_QUIT

#define error_CANT_CANCEL_QUIT 0x1B1u

error_CH_DYNAM_CAO

#define error_CH_DYNAM_CAO 0x1C0u

error_CH_DYNAM_NOT_ALL_MOVED

#define error_CH_DYNAM_NOT_ALL_MOVED 0x1C1u

error_APL_WSPACE_IN_USE

#define error_APL_WSPACE_IN_USE 0x1C2u

error_RAM_FS_UNCHANGEABLE

#define error_RAM_FS_UNCHANGEABLE 0x1C3u

error_OSCLI_LONG_LINE

#define error_OSCLI_LONG_LINE 0x1E0u

line too long for OS_CLI

error_OSCLI_TOO_HARD

#define error_OSCLI_TOO_HARD 0x1E1u

OS_CLI ran out of buffers

error_RC_EXC

#define error_RC_EXC 0x1E2u

error_RC_NEGATIVE

#define error_RC_NEGATIVE 0x1E2u

error_SYS_HEAP_FULL

#define error_SYS_HEAP_FULL 0x1E3u

error_BUFF_OVERFLOW

#define error_BUFF_OVERFLOW 0x1E4u

error_BAD_TIME

#define error_BAD_TIME 0x1E5u

error_NO_SUCH_SWI

#define error_NO_SUCH_SWI 0x1E6u

error_UNIMPLEMENTED

#define error_UNIMPLEMENTED 0x1E7u

error_OUT_OF_RANGE

#define error_OUT_OF_RANGE 0x1E8u

error_NO_OSCLI_SPECIALS

#define error_NO_OSCLI_SPECIALS 0x1E9u

error_BAD_PARAMETERS

#define error_BAD_PARAMETERS 0x1EAu

error_ARG_REPEATED

#define error_ARG_REPEATED 0x1EBu

error_BAD_READ_SYS_INFO

#define error_BAD_READ_SYS_INFO 0x1ECu

error_CDAT_STACK_OVERFLOW

#define error_CDAT_STACK_OVERFLOW 0x2C0u

error_CDAT_BUFFER_OVERFLOW

#define error_CDAT_BUFFER_OVERFLOW 0x2C1u

error_CDAT_BAD_FIELD

#define error_CDAT_BAD_FIELD 0x2C2u

error_CANT_START_APPLICATION

#define error_CANT_START_APPLICATION 0x600u

Unable to start application

error_BAD_COMMAND_OPTION

#define error_BAD_COMMAND_OPTION 0x601u

Bad command option

error_UNKNOWN_SERIAL_OP

#define error_UNKNOWN_SERIAL_OP 0x602u

Unknown serial operation

error_BAD_HARD

#define error_BAD_HARD 0x603u

Unsupported hardware configuration

osreadline_GIVEN_ECHO_CHARACTER

#define osreadline_GIVEN_ECHO_CHARACTER ((osreadline_flags) 0x40000000u)

osreadline_SUPPRESS_INVALID

#define osreadline_SUPPRESS_INVALID ((osreadline_flags) 0x80000000u)

osreadline_ECHO_CHARACTER

#define osreadline_ECHO_CHARACTER ((osreadline_flags) 0xFFu)

osreadline_ECHO_CHARACTER_SHIFT

#define osreadline_ECHO_CHARACTER_SHIFT 0

os_READ_CONTROL_TERMINATED

#define os_READ_CONTROL_TERMINATED ((os_read_unsigned_flags) 0x80000000u)

os_READ_BYTE

#define os_READ_BYTE ((os_read_unsigned_flags) 0x40000000u)

os_READ_LIMITED

#define os_READ_LIMITED ((os_read_unsigned_flags) 0x20000000u)

os_DESTROY_VAR

#define os_DESTROY_VAR (-1)

for use as 'size' in OS_SetVarVal

os_GS_TERMINATE_ON_SPACE

#define os_GS_TERMINATE_ON_SPACE ((os_gs_flags) 0x20000000u)

os_GS_RETAIN_STICK

#define os_GS_RETAIN_STICK ((os_gs_flags) 0x40000000u)

os_GS_RETAIN_DOUBLE_QUOTE

#define os_GS_RETAIN_DOUBLE_QUOTE ((os_gs_flags) 0x80000000u)

os_DYNAMIC_AREA_APPLICATION_SPACE

#define os_DYNAMIC_AREA_APPLICATION_SPACE ((os_dynamic_area_no) 0xFFFFFFFFu)

RISC OS 3.5+

os_DYNAMIC_AREA_SYSTEM_HEAP

#define os_DYNAMIC_AREA_SYSTEM_HEAP ((os_dynamic_area_no) 0x0u)

os_DYNAMIC_AREA_RMA

#define os_DYNAMIC_AREA_RMA ((os_dynamic_area_no) 0x1u)

os_DYNAMIC_AREA_SCREEN_MEMORY

#define os_DYNAMIC_AREA_SCREEN_MEMORY ((os_dynamic_area_no) 0x2u)

os_DYNAMIC_AREA_SYSTEM_SPRITES

#define os_DYNAMIC_AREA_SYSTEM_SPRITES ((os_dynamic_area_no) 0x3u)

os_DYNAMIC_AREA_FONT_CACHE

#define os_DYNAMIC_AREA_FONT_CACHE ((os_dynamic_area_no) 0x4u)

os_DYNAMIC_AREA_RAM_DISC

#define os_DYNAMIC_AREA_RAM_DISC ((os_dynamic_area_no) 0x5u)

os_DYNAMIC_AREA_FREE_POOL

#define os_DYNAMIC_AREA_FREE_POOL ((os_dynamic_area_no) 0x6u)

RISC OS 3.5+

os_DYNAMIC_VRAM_RESCUE

#define os_DYNAMIC_VRAM_RESCUE ((os_dynamic_area_no) 0x7u)

RISC OS 6

os_DYNAMIC_KERNEL_BUFFERS

#define os_DYNAMIC_KERNEL_BUFFERS ((os_dynamic_area_no) 0x8u)

RISC OS 6

os_DYNAMIC_ABORT_SVC_AND_IRQ_STACK_COPY

#define os_DYNAMIC_ABORT_SVC_AND_IRQ_STACK_COPY ((os_dynamic_area_no) 0xAu)

RISC OS 6

os_DYNAMIC_OPERATING_SYSTEM_ROM

#define os_DYNAMIC_OPERATING_SYSTEM_ROM ((os_dynamic_area_no) 0xBu)

RISC OS 6

os_DYNAMIC_SWI_DISPATCH_IRQ_WORKSPACE

#define os_DYNAMIC_SWI_DISPATCH_IRQ_WORKSPACE ((os_dynamic_area_no) 0xCu)

RISC OS 6

os_DYNAMIC_SVC_STACK

#define os_DYNAMIC_SVC_STACK ((os_dynamic_area_no) 0xDu)

RISC OS 6

os_DYNAMIC_IRQ_STACK

#define os_DYNAMIC_IRQ_STACK ((os_dynamic_area_no) 0xEu)

RISC OS 6

os_DYNAMIC_UND_STACK

#define os_DYNAMIC_UND_STACK ((os_dynamic_area_no) 0xFu)

RISC OS 6

os_DYNAMIC_LEVEL2_PAGE_TABLES

#define os_DYNAMIC_LEVEL2_PAGE_TABLES ((os_dynamic_area_no) 0x10u)

RISC OS 6

os_DYNAMIC_SOFT_CAM

#define os_DYNAMIC_SOFT_CAM ((os_dynamic_area_no) 0x11u)

RISC OS 6

os_CURRENT_MODE

#define os_CURRENT_MODE ((os_mode) 0xFFFFFFFFu)

os_NONEXISTENT_MODE

#define os_NONEXISTENT_MODE (-1)

os_NOT_ENOUGH_MEMORY_FOR_MODE

#define os_NOT_ENOUGH_MEMORY_FOR_MODE (-2)

os_NO_ALTERNATIVE_MODE

#define os_NO_ALTERNATIVE_MODE ((os_mode) 0xFFFFFFFEu)

os_HANDLER_MEMORY_LIMIT

#define os_HANDLER_MEMORY_LIMIT ((os_handler_type) 0x0u)

os_HANDLER_UNDEFINED_INSTRUCTION

#define os_HANDLER_UNDEFINED_INSTRUCTION ((os_handler_type) 0x1u)

os_HANDLER_PREFETCH_ABORT

#define os_HANDLER_PREFETCH_ABORT ((os_handler_type) 0x2u)

os_HANDLER_DATA_ABORT

#define os_HANDLER_DATA_ABORT ((os_handler_type) 0x3u)

os_HANDLER_ADDRESS_EXCEPTION

#define os_HANDLER_ADDRESS_EXCEPTION ((os_handler_type) 0x4u)

os_HANDLER_OTHER_EXCEPTIONS

#define os_HANDLER_OTHER_EXCEPTIONS ((os_handler_type) 0x5u)

os_HANDLER_ERROR

#define os_HANDLER_ERROR ((os_handler_type) 0x6u)

os_HANDLER_CALL_BACK

#define os_HANDLER_CALL_BACK ((os_handler_type) 0x7u)

os_HANDLER_BREAK_PT

#define os_HANDLER_BREAK_PT ((os_handler_type) 0x8u)

os_HANDLER_ESCAPE

#define os_HANDLER_ESCAPE ((os_handler_type) 0x9u)

os_HANDLER_EVENT

#define os_HANDLER_EVENT ((os_handler_type) 0xAu)

os_HANDLER_EXIT

#define os_HANDLER_EXIT ((os_handler_type) 0xBu)

os_HANDLER_UNUSED_SWI

#define os_HANDLER_UNUSED_SWI ((os_handler_type) 0xCu)

os_HANDLER_EXCEPTION_REGISTERS

#define os_HANDLER_EXCEPTION_REGISTERS ((os_handler_type) 0xDu)

os_HANDLER_APPLICATION_SPACE

#define os_HANDLER_APPLICATION_SPACE ((os_handler_type) 0xEu)

os_HANDLER_CAO

#define os_HANDLER_CAO ((os_handler_type) 0xFu)

os_HANDLER_UP_CALL

#define os_HANDLER_UP_CALL ((os_handler_type) 0x10u)

os_HANDLER_BACKWARD_COMPATIBILITY

#define os_HANDLER_BACKWARD_COMPATIBILITY ((os_handler_type) 0x11u)

Never to be used

os_SUBSTITUTE_ARGS_IGNORE_EXTRAS

#define os_SUBSTITUTE_ARGS_IGNORE_EXTRAS ((os_substitute_args_flags) 0x80000000u)

os_SORT_CARDINAL

#define os_SORT_CARDINAL ((os_sort_type) 0x0u)

os_SORT_INTEGER

#define os_SORT_INTEGER ((os_sort_type) 0x1u)

os_SORT_CARDINAL_POINTER

#define os_SORT_CARDINAL_POINTER ((os_sort_type) 0x2u)

os_SORT_INTEGER_POINTER

#define os_SORT_INTEGER_POINTER ((os_sort_type) 0x3u)

os_SORT_CI_STRING

#define os_SORT_CI_STRING ((os_sort_type) 0x4u)

os_SORT_STRING

#define os_SORT_STRING ((os_sort_type) 0x5u)

os_SORT_GIVEN_WORKSPACE

#define os_SORT_GIVEN_WORKSPACE ((os_heap_sort_flags) 0x20000000u)

os_SORT_BUILD_ARRAY

#define os_SORT_BUILD_ARRAY ((os_heap_sort_flags) 0x40000000u)

os_SORT_OBJECTS

#define os_SORT_OBJECTS ((os_heap_sort_flags) 0x80000000u)

os_AREA_ACCESS_READ_WRITE

#define os_AREA_ACCESS_READ_WRITE ((os_area_flags) 0x0u)

os_AREA_ACCESS_READ_ONLY

#define os_AREA_ACCESS_READ_ONLY ((os_area_flags) 0x1u)

os_AREA_ACCESS_NONE

#define os_AREA_ACCESS_NONE ((os_area_flags) 0x3u)

os_AREA_ACCESS_SHIFT

#define os_AREA_ACCESS_SHIFT 0

os_AREA_NOT_BUFFERABLE

#define os_AREA_NOT_BUFFERABLE ((os_area_flags) 0x10u)

os_AREA_NOT_CACHEABLE

#define os_AREA_NOT_CACHEABLE ((os_area_flags) 0x20u)

os_AREA_DOUBLY_MAPPED

#define os_AREA_DOUBLY_MAPPED ((os_area_flags) 0x40u)

os_AREA_NO_USER_DRAG

#define os_AREA_NO_USER_DRAG ((os_area_flags) 0x80u)

os_AREA_NEEDS_GIVEN_PAGES

#define os_AREA_NEEDS_GIVEN_PAGES ((os_area_flags) 0x100u)

os_AREA_SHRINKABLE

#define os_AREA_SHRINKABLE ((os_area_flags) 0x200u)

os_AREA_SPARSE

#define os_AREA_SPARSE ((os_area_flags) 0x400u)

os_AREA_PRIVATE

#define os_AREA_PRIVATE ((os_area_flags) 0x800u)

os_AREA_DMA

#define os_AREA_DMA ((os_area_flags) 0x1000u)

RISC OS 6

os_AREA_LOCKED

#define os_AREA_LOCKED ((os_area_flags) 0x2000u)

RISC OS 6

os_AREA_IS_HEAP

#define os_AREA_IS_HEAP ((os_area_flags) 0x4000u)

RISC OS Select

os_AREA_PHYSICAL

#define os_AREA_PHYSICAL ((os_area_flags) 0x8000u)

RISC OS 6

os_AREA_ABORTABLE

#define os_AREA_ABORTABLE ((os_area_flags) 0x10000u)

RISC OS 6

os_AREA_DOMAIN

#define os_AREA_DOMAIN ((os_area_flags) 0x20000u)

RISC OS 6

os_AREA_INVISIBLE

#define os_AREA_INVISIBLE ((os_area_flags) 0x40000u)

RISC OS 6

os_AREA_FIXED_PAGE

#define os_AREA_FIXED_PAGE ((os_area_flags) 0x80000u)

RISC OS 6

os_DISABLE_CHANGED_BOX

#define os_DISABLE_CHANGED_BOX ((os_changed_box_state) 0x0u)

os_ENABLE_CHANGED_BOX

#define os_ENABLE_CHANGED_BOX ((os_changed_box_state) 0x1u)

os_RESET_CHANGED_BOX

#define os_RESET_CHANGED_BOX ((os_changed_box_state) 0x2u)

os_READ_CHANGED_BOX

#define os_READ_CHANGED_BOX ((os_changed_box_state) 0xFFFFFFFFu)

os_COLOUR_SET_BG

#define os_COLOUR_SET_BG ((os_colour_flags) 0x10u)

os_COLOUR_GIVEN_PATTERN

#define os_COLOUR_GIVEN_PATTERN ((os_colour_flags) 0x20u)

os_COLOUR_SET_TEXT

#define os_COLOUR_SET_TEXT ((os_colour_flags) 0x40u)

RISC OS 3.5+

os_COLOUR_READ

#define os_COLOUR_READ ((os_colour_flags) 0x80u)

RISC OS 3.5+

pointerv_TYPE_QUADRATURE

#define pointerv_TYPE_QUADRATURE ((os_pointer_type) 0x0u)

pointerv_TYPE_MICROSOFT

#define pointerv_TYPE_MICROSOFT ((os_pointer_type) 0x1u)

RISC OS 3.5+

pointerv_TYPE_MOUSE_SYSTEMS

#define pointerv_TYPE_MOUSE_SYSTEMS ((os_pointer_type) 0x2u)

RISC OS 3.5+

pointerv_TYPE_PS2

#define pointerv_TYPE_PS2 ((os_pointer_type) 0x3u)

RISC OS 3.6+

osscreenmodeconfigaccelerationflags_SUSPEND_CACHEING

#define osscreenmodeconfigaccelerationflags_SUSPEND_CACHEING ((osscreenmodeconfigacceleration_flags) 0x1u)

osscreenmodeconfigaccelerationflags_SUSPEND_CLEANING

#define osscreenmodeconfigaccelerationflags_SUSPEND_CLEANING ((osscreenmodeconfigacceleration_flags) 0x2u)

osscreenmodeconfigaccelerationflags_DISABLE_HW_ACCELERATION

#define osscreenmodeconfigaccelerationflags_DISABLE_HW_ACCELERATION ((osscreenmodeconfigacceleration_flags) 0x4u)

osscreenmode_READ_LAZINESS

#define osscreenmode_READ_LAZINESS ((osscreenmodeconfigacceleration_cleaner_laziness) 0xFFFFFFFFu)

osscreenmode_FIRST_VSYNC

#define osscreenmode_FIRST_VSYNC ((osscreenmodconfigacceleratione_cleaner_laziness) 0x1u)

osscreenmode_SECOND_VSYNC

#define osscreenmode_SECOND_VSYNC ((osscreenmodeconfigacceleration_cleaner_laziness) 0x2u)

osscreenmode_THIRD_VSYNC

#define osscreenmode_THIRD_VSYNC ((osscreenmodeconfigacceleration_cleaner_laziness) 0x3u)

osdisplaydevicetagtaglength_TAG_SHIFT

#define osdisplaydevicetagtaglength_TAG_SHIFT 0

osdisplaydevicetagtaglength_TAG_MASK

#define osdisplaydevicetagtaglength_TAG_MASK 16777215

osdisplaydevicetagtaglength_TAG_LENGTH

#define osdisplaydevicetagtaglength_TAG_LENGTH 24

osdisplaydevicetagtaglength_TAG_LENGTH_MASK

#define osdisplaydevicetagtaglength_TAG_LENGTH_MASK 255

osdisplaydevicetag_END_LIST

#define osdisplaydevicetag_END_LIST ((osdisplaydevice_tag_tag_length) 0x0u)

osdisplaydevicetag_DEVICE_NAME

#define osdisplaydevicetag_DEVICE_NAME ((osdisplaydevice_tag_tag_length) 0x1u)

osdisplaydevicetag_FEATURES

#define osdisplaydevicetag_FEATURES ((osdisplaydevice_tag_tag_length) 0x2u)

osdisplaydevicetag_CAPABILITIES

#define osdisplaydevicetag_CAPABILITIES ((osdisplaydevice_tag_tag_length) 0x3u)

osdisplaydevicetag_BANDWIDTH

#define osdisplaydevicetag_BANDWIDTH ((osdisplaydevice_tag_tag_length) 0x4u)

osdisplaydevicetag_MAX_PHYS_MEM

#define osdisplaydevicetag_MAX_PHYS_MEM ((osdisplaydevice_tag_tag_length) 0x5u)

osdisplaydevicetag_ALIGNMENT

#define osdisplaydevicetag_ALIGNMENT ((osdisplaydevice_tag_tag_length) 0x6u)

osdisplaydevicetag_MODEL

#define osdisplaydevicetag_MODEL ((osdisplaydevice_tag_tag_length) 0x7u)

osdisplaydevicetag_DEVICE_SPECIFIC

#define osdisplaydevicetag_DEVICE_SPECIFIC ((osdisplaydevice_tag_tag_length) 0x800000u)

osscreenmoderegisterdisplaydriveraction_NONE

#define osscreenmoderegisterdisplaydriveraction_NONE ((osscreenmoderegisterdisplaydriver_action) 0x0u)

osscreenmoderegisterdisplaydriveraction_SELECT_DISPLAY

#define osscreenmoderegisterdisplaydriveraction_SELECT_DISPLAY ((osscreenmoderegisterdisplaydriver_action) 0x1u)

osdynamicarea_ALLOCATE_AREA

#define osdynamicarea_ALLOCATE_AREA (-1)

osdynamicarea_ALLOCATE_BASE

#define osdynamicarea_ALLOCATE_BASE ((byte *) 0xFFFFFFFFu)

osdynamicareadomainstate_READ

#define osdynamicareadomainstate_READ ((osdynamicareadomain_state) 0xFFFFFFFFu)

osdynamicareadomainstate_ABORT

#define osdynamicareadomainstate_ABORT ((osdynamicareadomain_state) 0x0u)

osdynamicareadomainstate_NORMAL

#define osdynamicareadomainstate_NORMAL ((osdynamicareadomain_state) 0x1u)

osdynamicareadomainstate_MANAGER

#define osdynamicareadomainstate_MANAGER ((osdynamicareadomain_state) 0x3u)

osaborttrap_REGISTER

#define osaborttrap_REGISTER ((osaborttrap_flags) 0x0u)

osaborttrap_DEREGISTER

#define osaborttrap_DEREGISTER ((osaborttrap_flags) 0x1u)

osmemory_GIVEN_PAGE_NO

#define osmemory_GIVEN_PAGE_NO ((osmemory_flags) 0x100u)

osmemory_GIVEN_LOG_ADDR

#define osmemory_GIVEN_LOG_ADDR ((osmemory_flags) 0x200u)

osmemory_GIVEN_PHYS_ADDR

#define osmemory_GIVEN_PHYS_ADDR ((osmemory_flags) 0x400u)

osmemory_RETURN_PAGE_NO

#define osmemory_RETURN_PAGE_NO ((osmemory_flags) 0x800u)

osmemory_RETURN_LOG_ADDR

#define osmemory_RETURN_LOG_ADDR ((osmemory_flags) 0x1000u)

osmemory_RETURN_PHYS_ADDR

#define osmemory_RETURN_PHYS_ADDR ((osmemory_flags) 0x2000u)

osmemory_CACHE

#define osmemory_CACHE ((osmemory_flags) 0xC000u)

osmemory_CACHE_SHIFT

#define osmemory_CACHE_SHIFT 14

osmemory_CACHE_DISABLE

#define osmemory_CACHE_DISABLE ((osmemory_flags) 0x2u)

osmemory_CACHE_ENABLE

#define osmemory_CACHE_ENABLE ((osmemory_flags) 0x3u)

osmemory_TYPE

#define osmemory_TYPE ((osmemory_type_flags) 0xF00u)

osmemory_TYPE_SHIFT

#define osmemory_TYPE_SHIFT 8

osmemory_TYPE_ABSENT

#define osmemory_TYPE_ABSENT ((osmemory_type_flags) 0x0u)

osmemory_TYPE_DRAM

#define osmemory_TYPE_DRAM ((osmemory_type_flags) 0x1u)

osmemory_TYPE_VRAM

#define osmemory_TYPE_VRAM ((osmemory_type_flags) 0x2u)

osmemory_TYPE_ROM

#define osmemory_TYPE_ROM ((osmemory_type_flags) 0x3u)

osmemory_TYPE_IO

#define osmemory_TYPE_IO ((osmemory_type_flags) 0x4u)

osmemory_TYPE_SOFT_ROM

#define osmemory_TYPE_SOFT_ROM ((osmemory_type_flags) 0x5u)

RISC OS 5+

osmemory_CONTROLLER_NO

#define osmemory_CONTROLLER_NO ((os_controller_flags) 0xFu)

osmemory_CONTROLLER_NO_SHIFT

#define osmemory_CONTROLLER_NO_SHIFT 0

osmemory_CONTROLLER_TYPE

#define osmemory_CONTROLLER_TYPE ((os_controller_flags) 0xFFFFFFF0u)

osmemory_CONTROLLER_TYPE_SHIFT

#define osmemory_CONTROLLER_TYPE_SHIFT 8

osmemory_CONTROLLER_TYPE_EASI

#define osmemory_CONTROLLER_TYPE_EASI ((os_controller_flags) 0x0u)

osmemory_CONTROLLER_TYPE_EASI_SPACE

#define osmemory_CONTROLLER_TYPE_EASI_SPACE ((os_controller_flags) 0x1u)

osmemory_CONTROLLER_TYPE_VIDC1

#define osmemory_CONTROLLER_TYPE_VIDC1 ((os_controller_flags) 0x2u)

osmemory_CONTROLLER_TYPE_VIDC20

#define osmemory_CONTROLLER_TYPE_VIDC20 ((os_controller_flags) 0x3u)

osmemory_CONTROLLER_TYPE_SSPACE

#define osmemory_CONTROLLER_TYPE_SSPACE ((os_controller_flags) 0x4u)

RISC OS 5

osmemory_CONTROLLER_TYPE_EXTENSION_RO_MS

#define osmemory_CONTROLLER_TYPE_EXTENSION_RO_MS ((os_controller_flags) 0x5u)

RISC OS 5+

osmemory_CONTROLLER_TYPE_PRIMARY_ROM

#define osmemory_CONTROLLER_TYPE_PRIMARY_ROM ((os_controller_flags) 0x20u)

RISC OS 6

osmemory_CONTROLLER_TYPE_IOMD

#define osmemory_CONTROLLER_TYPE_IOMD ((os_controller_flags) 0x21u)

RISC OS 6

osmemory_CONTROLLER_TYPE_FDC37C665

#define osmemory_CONTROLLER_TYPE_FDC37C665 ((os_controller_flags) 0x22u)

RISC OS 6

osmemory_IO_BUFFERABLE

#define osmemory_IO_BUFFERABLE ((osmemory_io_flags) 0x100u)

osmemory_IO_CACHEABLE

#define osmemory_IO_CACHEABLE ((osmemory_io_flags) 0x200u)

osmemory_IO_DOUBLY_MAPPED

#define osmemory_IO_DOUBLY_MAPPED ((osmemory_io_flags) 0x10000u)

osmemory_IO_RESTRICT_ACCESS

#define osmemory_IO_RESTRICT_ACCESS ((osmemory_io_flags) 0x20000u)

osmemory_IO_ACCESS

#define osmemory_IO_ACCESS ((osmemory_io_flags) 0xF000000u)

osmemory_IO_ACCESS_SHIFT

#define osmemory_IO_ACCESS_SHIFT 24

osmemory_AREA

#define osmemory_AREA ((osmemory_area_flags) 0xFF00u)

osmemory_AREA_SHIFT

#define osmemory_AREA_SHIFT 8

osmemory_AREA_CURSOR_SYSTEM_SOUND

#define osmemory_AREA_CURSOR_SYSTEM_SOUND ((osmemory_area_flags) 0x1u)

osmemory_AREA_IRQ_STACK

#define osmemory_AREA_IRQ_STACK ((osmemory_area_flags) 0x2u)

osmemory_AREA_SVC_STACK

#define osmemory_AREA_SVC_STACK ((osmemory_area_flags) 0x3u)

osmemory_AREA_ABT_STACK

#define osmemory_AREA_ABT_STACK ((osmemory_area_flags) 0x4u)

osmemory_AREA_UND_STACK

#define osmemory_AREA_UND_STACK ((osmemory_area_flags) 0x5u)

osmemory_AREA_SOFT_CAM

#define osmemory_AREA_SOFT_CAM ((osmemory_area_flags) 0x6u)

osmemory_AREA_LEVEL_ONE_PAGE_TABLES

#define osmemory_AREA_LEVEL_ONE_PAGE_TABLES ((osmemory_area_flags) 0x7u)

osmemory_AREA_LEVEL_TWO_PAGE_TABLES

#define osmemory_AREA_LEVEL_TWO_PAGE_TABLES ((osmemory_area_flags) 0x8u)

osmemory_AREA_HAL_WORKSPACE

#define osmemory_AREA_HAL_WORKSPACE ((osmemory_area_flags) 0x9u)

osmemory_AREA_KERNEL_BUFFERS

#define osmemory_AREA_KERNEL_BUFFERS ((osmemory_area_flags) 0xAu)

osmemory_AREA_UNCACHEABLE_HAL_WORKSPACE

#define osmemory_AREA_UNCACHEABLE_HAL_WORKSPACE ((osmemory_area_flags) 0xBu)

osmemoryrecommendpageflags_DMA

#define osmemoryrecommendpageflags_DMA ((osmemoryrecommendpage_flags) 0x100u)

osmemorycheckmemoryaccessbits_USER_RFULL

#define osmemorycheckmemoryaccessbits_USER_RFULL ((osmemorycheckmemoryaccess_bits) 0x1u)

osmemorycheckmemoryaccessbits_USER_WFULL

#define osmemorycheckmemoryaccessbits_USER_WFULL ((osmemorycheckmemoryaccess_bits) 0x2u)

osmemorycheckmemoryaccessbits_PRIV_RFULL

#define osmemorycheckmemoryaccessbits_PRIV_RFULL ((osmemorycheckmemoryaccess_bits) 0x4u)

osmemorycheckmemoryaccessbits_PRIV_WFULL

#define osmemorycheckmemoryaccessbits_PRIV_WFULL ((osmemorycheckmemoryaccess_bits) 0x8u)

osmemorycheckmemoryaccessbits_USER_RPART

#define osmemorycheckmemoryaccessbits_USER_RPART ((osmemorycheckmemoryaccess_bits) 0x10u)

osmemorycheckmemoryaccessbits_USER_WPART

#define osmemorycheckmemoryaccessbits_USER_WPART ((osmemorycheckmemoryaccess_bits) 0x20u)

osmemorycheckmemoryaccessbits_PRIV_RPART

#define osmemorycheckmemoryaccessbits_PRIV_RPART ((osmemorycheckmemoryaccess_bits) 0x40u)

osmemorycheckmemoryaccessbits_PRIV_WPART

#define osmemorycheckmemoryaccessbits_PRIV_WPART ((osmemorycheckmemoryaccess_bits) 0x80u)

osmemorycheckmemoryaccessbits_PHYS_FULL

#define osmemorycheckmemoryaccessbits_PHYS_FULL ((osmemorycheckmemoryaccess_bits) 0x100u)

osmemorycheckmemoryaccessbits_ABORT_FULL

#define osmemorycheckmemoryaccessbits_ABORT_FULL ((osmemorycheckmemoryaccess_bits) 0x200u)

osmemorycheckmemoryaccessbits_PHYS_PART

#define osmemorycheckmemoryaccessbits_PHYS_PART ((osmemorycheckmemoryaccess_bits) 0x1000u)

osmemorycheckmemoryaccessbits_ABORT_PART

#define osmemorycheckmemoryaccessbits_ABORT_PART ((osmemorycheckmemoryaccess_bits) 0x2000u)

os_MMU_CONTROL_FLUSH_REQUEST_FLAG_SINGLE_ENTRY

#define os_MMU_CONTROL_FLUSH_REQUEST_FLAG_SINGLE_ENTRY ((os_mmu_control_flush_request_flags) 0x20000000u)

os_MMU_CONTROL_FLUSH_REQUEST_FLAG_PROC_TLB

#define os_MMU_CONTROL_FLUSH_REQUEST_FLAG_PROC_TLB ((os_mmu_control_flush_request_flags) 0x40000000u)

os_MMU_CONTROL_FLUSH_REQUEST_FLAG_PROC_CACHE

#define os_MMU_CONTROL_FLUSH_REQUEST_FLAG_PROC_CACHE ((os_mmu_control_flush_request_flags) 0x80000000u)

os_PLATFORM_CODE_NEEDS_SYNCHRONISATION

#define os_PLATFORM_CODE_NEEDS_SYNCHRONISATION ((os_platform_feature_flags) 0x1u)

os_PLATFORM_NEEDS_PREDISABLE_FUNCTION

#define os_PLATFORM_NEEDS_PREDISABLE_FUNCTION ((os_platform_feature_flags) 0x2u)

os_PLATFORM_EXCEPTION_VECTOR_MODIFY_NEEDS32BIT

#define os_PLATFORM_EXCEPTION_VECTOR_MODIFY_NEEDS32BIT ((os_platform_feature_flags) 0x4u)

os_PLATFORM_PIPELINE_LENGTH2

#define os_PLATFORM_PIPELINE_LENGTH2 ((os_platform_feature_flags) 0x8u)

os_PLATFORM_FULL_EARLY_DATA_ABORTS

#define os_PLATFORM_FULL_EARLY_DATA_ABORTS ((os_platform_feature_flags) 0x10u)

os_PLATFORM32_BIT_OS

#define os_PLATFORM32_BIT_OS ((os_platform_feature_flags) 0x40u)

RISC OS 5+

os_PLATFORM26_BIT_MODE_NOT_AVAILABLE

#define os_PLATFORM26_BIT_MODE_NOT_AVAILABLE ((os_platform_feature_flags) 0x80u)

RISC OS 5+

os_GIVEN_CODE_RANGE

#define os_GIVEN_CODE_RANGE ((os_synchronise_code_flags) 0x1u)

os_GIVEN_AMB_PAGE_RANGE

#define os_GIVEN_AMB_PAGE_RANGE ((os_amb_control_flags) 0x100u)

os_LAZY_SWAPPING_DISABLE

#define os_LAZY_SWAPPING_DISABLE ((os_lazy_swapping) 0x0u)

os_LAZY_SWAPPING_ENABLE

#define os_LAZY_SWAPPING_ENABLE ((os_lazy_swapping) 0x1u)

os_LAZY_SWAPPING_READ

#define os_LAZY_SWAPPING_READ ((os_lazy_swapping) 0xFFFFFFFFu)

os_HEX1_LIMIT

#define os_HEX1_LIMIT 1

os_HEX2_LIMIT

#define os_HEX2_LIMIT 2

os_HEX4_LIMIT

#define os_HEX4_LIMIT 4

os_HEX6_LIMIT

#define os_HEX6_LIMIT 6

os_HEX8_LIMIT

#define os_HEX8_LIMIT 8

os_CARDINAL1_LIMIT

#define os_CARDINAL1_LIMIT 3

os_CARDINAL2_LIMIT

#define os_CARDINAL2_LIMIT 5

os_CARDINAL3_LIMIT

#define os_CARDINAL3_LIMIT 8

os_CARDINAL4_LIMIT

#define os_CARDINAL4_LIMIT 10

os_INTEGER1_LIMIT

#define os_INTEGER1_LIMIT 4

os_INTEGER2_LIMIT

#define os_INTEGER2_LIMIT 6

os_INTEGER3_LIMIT

#define os_INTEGER3_LIMIT 8

os_INTEGER4_LIMIT

#define os_INTEGER4_LIMIT 11

os_BINARY1_LIMIT

#define os_BINARY1_LIMIT 8

os_BINARY2_LIMIT

#define os_BINARY2_LIMIT 16

os_BINARY3_LIMIT

#define os_BINARY3_LIMIT 24

os_BINARY4_LIMIT

#define os_BINARY4_LIMIT 32

os_SPACED_CARDINAL1_LIMIT

#define os_SPACED_CARDINAL1_LIMIT 3

os_SPACED_CARDINAL2_LIMIT

#define os_SPACED_CARDINAL2_LIMIT 6

os_SPACED_CARDINAL3_LIMIT

#define os_SPACED_CARDINAL3_LIMIT 10

os_SPACED_CARDINAL4_LIMIT

#define os_SPACED_CARDINAL4_LIMIT 13

os_SPACED_INTEGER1_LIMIT

#define os_SPACED_INTEGER1_LIMIT 4

os_SPACED_INTEGER2_LIMIT

#define os_SPACED_INTEGER2_LIMIT 7

os_SPACED_INTEGER3_LIMIT

#define os_SPACED_INTEGER3_LIMIT 10

os_SPACED_INTEGER4_LIMIT

#define os_SPACED_INTEGER4_LIMIT 14

os_FIXED_NET_STATION_LIMIT

#define os_FIXED_NET_STATION_LIMIT 7

os_NET_STATION_LIMIT

#define os_NET_STATION_LIMIT 7

os_FIXED_FILE_SIZE_LIMIT

#define os_FIXED_FILE_SIZE_LIMIT 11

os_FILE_SIZE_LIMIT

#define os_FILE_SIZE_LIMIT 11

keyv_TYPE_ARCHIMEDES

#define keyv_TYPE_ARCHIMEDES ((keyv_type) 0x1u)

keyv_TYPE_PCAT

#define keyv_TYPE_PCAT ((keyv_type) 0x2u)

palettev_SCREEN_STATE_READ

#define palettev_SCREEN_STATE_READ ((palettev_screen_state) 0xFFFFFFFFu)

palettev_SCREEN_STATE_NORMAL

#define palettev_SCREEN_STATE_NORMAL ((palettev_screen_state) 0x0u)

palettev_SCREEN_STATE_QUIET

#define palettev_SCREEN_STATE_QUIET ((palettev_screen_state) 0x1u)

servicedisplaychangedstate_IN_PROCESS

#define servicedisplaychangedstate_IN_PROCESS ((servicedisplaychanged_state) 0x0u)

servicedisplaychangedstate_DONE

#define servicedisplaychangedstate_DONE ((servicedisplaychanged_state) 0x1u)

servicedisplaystatusreason_DEREGISTERED

#define servicedisplaystatusreason_DEREGISTERED ((servicedisplaystatus_reason) 0x0u)

servicedisplaystatusreason_REGISTERED

#define servicedisplaystatusreason_REGISTERED ((servicedisplaystatus_reason) 0x1u)

os_TRANSITION_MOUSE_RIGHT

#define os_TRANSITION_MOUSE_RIGHT 0x1u

os_TRANSITION_MOUSE_MIDDLE

#define os_TRANSITION_MOUSE_MIDDLE 0x2u

os_TRANSITION_MOUSE_LEFT

#define os_TRANSITION_MOUSE_LEFT 0x4u

os_TRANSITION_KEY_ESCAPE

#define os_TRANSITION_KEY_ESCAPE ((byte) 0)

os_TRANSITION_KEY_F1

#define os_TRANSITION_KEY_F1 ((byte) 1)

os_TRANSITION_KEY_F2

#define os_TRANSITION_KEY_F2 ((byte) 2)

os_TRANSITION_KEY_F3

#define os_TRANSITION_KEY_F3 ((byte) 3)

os_TRANSITION_KEY_F4

#define os_TRANSITION_KEY_F4 ((byte) 4)

os_TRANSITION_KEY_F5

#define os_TRANSITION_KEY_F5 ((byte) 5)

os_TRANSITION_KEY_F6

#define os_TRANSITION_KEY_F6 ((byte) 6)

os_TRANSITION_KEY_F7

#define os_TRANSITION_KEY_F7 ((byte) 7)

os_TRANSITION_KEY_F8

#define os_TRANSITION_KEY_F8 ((byte) 8)

os_TRANSITION_KEY_F9

#define os_TRANSITION_KEY_F9 ((byte) 9)

os_TRANSITION_KEY_F10

#define os_TRANSITION_KEY_F10 ((byte) 10)

os_TRANSITION_KEY_F11

#define os_TRANSITION_KEY_F11 ((byte) 11)

os_TRANSITION_KEY_F12

#define os_TRANSITION_KEY_F12 ((byte) 12)

os_TRANSITION_KEY_PRINT

#define os_TRANSITION_KEY_PRINT ((byte) 13)

os_TRANSITION_KEY_SCROLL_LOCK

#define os_TRANSITION_KEY_SCROLL_LOCK ((byte) 14)

os_TRANSITION_KEY_BREAK

#define os_TRANSITION_KEY_BREAK ((byte) 15)

os_TRANSITION_KEY_GRAVE

#define os_TRANSITION_KEY_GRAVE ((byte) 16)

os_TRANSITION_KEY1

#define os_TRANSITION_KEY1 ((byte) 17)

os_TRANSITION_KEY2

#define os_TRANSITION_KEY2 ((byte) 18)

os_TRANSITION_KEY3

#define os_TRANSITION_KEY3 ((byte) 19)

os_TRANSITION_KEY4

#define os_TRANSITION_KEY4 ((byte) 20)

os_TRANSITION_KEY5

#define os_TRANSITION_KEY5 ((byte) 21)

os_TRANSITION_KEY6

#define os_TRANSITION_KEY6 ((byte) 22)

os_TRANSITION_KEY7

#define os_TRANSITION_KEY7 ((byte) 23)

os_TRANSITION_KEY8

#define os_TRANSITION_KEY8 ((byte) 24)

os_TRANSITION_KEY9

#define os_TRANSITION_KEY9 ((byte) 25)

os_TRANSITION_KEY0

#define os_TRANSITION_KEY0 ((byte) 26)

os_TRANSITION_KEY_HYPHEN

#define os_TRANSITION_KEY_HYPHEN ((byte) 27)

os_TRANSITION_KEY_EQUALS

#define os_TRANSITION_KEY_EQUALS ((byte) 28)

os_TRANSITION_KEY_POUND

#define os_TRANSITION_KEY_POUND ((byte) 29)

os_TRANSITION_KEY_BACKSPACE

#define os_TRANSITION_KEY_BACKSPACE ((byte) 30)

os_TRANSITION_KEY_INSERT

#define os_TRANSITION_KEY_INSERT ((byte) 31)

os_TRANSITION_KEY_HOME

#define os_TRANSITION_KEY_HOME ((byte) 32)

os_TRANSITION_KEY_PAGE_UP

#define os_TRANSITION_KEY_PAGE_UP ((byte) 33)

os_TRANSITION_KEY_NUM_LOCK

#define os_TRANSITION_KEY_NUM_LOCK ((byte) 34)

os_TRANSITION_KEY_KEYPAD_SLASH

#define os_TRANSITION_KEY_KEYPAD_SLASH ((byte) 35)

os_TRANSITION_KEY_KEYPAD_STAR

#define os_TRANSITION_KEY_KEYPAD_STAR ((byte) 36)

os_TRANSITION_KEY_KEYPAD_HASH

#define os_TRANSITION_KEY_KEYPAD_HASH ((byte) 37)

os_TRANSITION_KEY_TAB

#define os_TRANSITION_KEY_TAB ((byte) 38)

os_TRANSITION_KEYQ

#define os_TRANSITION_KEYQ ((byte) 39)

os_TRANSITION_KEYW

#define os_TRANSITION_KEYW ((byte) 40)

os_TRANSITION_KEYE

#define os_TRANSITION_KEYE ((byte) 41)

os_TRANSITION_KEYR

#define os_TRANSITION_KEYR ((byte) 42)

os_TRANSITION_KEYT

#define os_TRANSITION_KEYT ((byte) 43)

os_TRANSITION_KEYY

#define os_TRANSITION_KEYY ((byte) 44)

os_TRANSITION_KEYU

#define os_TRANSITION_KEYU ((byte) 45)

os_TRANSITION_KEYI

#define os_TRANSITION_KEYI ((byte) 46)

os_TRANSITION_KEYO

#define os_TRANSITION_KEYO ((byte) 47)

os_TRANSITION_KEYP

#define os_TRANSITION_KEYP ((byte) 48)

os_TRANSITION_KEY_SQUARE_BRA

#define os_TRANSITION_KEY_SQUARE_BRA ((byte) 49)

os_TRANSITION_KEY_SQUARE_KET

#define os_TRANSITION_KEY_SQUARE_KET ((byte) 50)

os_TRANSITION_KEY_BACKSLASH

#define os_TRANSITION_KEY_BACKSLASH ((byte) 51)

os_TRANSITION_KEY_DELETE

#define os_TRANSITION_KEY_DELETE ((byte) 52)

os_TRANSITION_KEY_COPY

#define os_TRANSITION_KEY_COPY ((byte) 53)

os_TRANSITION_KEY_PAGE_DOWN

#define os_TRANSITION_KEY_PAGE_DOWN ((byte) 54)

os_TRANSITION_KEY_KEYPAD7

#define os_TRANSITION_KEY_KEYPAD7 ((byte) 55)

os_TRANSITION_KEY_KEYPAD8

#define os_TRANSITION_KEY_KEYPAD8 ((byte) 56)

os_TRANSITION_KEY_KEYPAD9

#define os_TRANSITION_KEY_KEYPAD9 ((byte) 57)

os_TRANSITION_KEY_KEYPAD_MINUS

#define os_TRANSITION_KEY_KEYPAD_MINUS ((byte) 58)

os_TRANSITION_KEY_LEFT_CONTROL

#define os_TRANSITION_KEY_LEFT_CONTROL ((byte) 59)

os_TRANSITION_KEYA

#define os_TRANSITION_KEYA ((byte) 60)

os_TRANSITION_KEYS

#define os_TRANSITION_KEYS ((byte) 61)

os_TRANSITION_KEYD

#define os_TRANSITION_KEYD ((byte) 62)

os_TRANSITION_KEYF

#define os_TRANSITION_KEYF ((byte) 63)

os_TRANSITION_KEYG

#define os_TRANSITION_KEYG ((byte) 64)

os_TRANSITION_KEYH

#define os_TRANSITION_KEYH ((byte) 65)

os_TRANSITION_KEYJ

#define os_TRANSITION_KEYJ ((byte) 66)

os_TRANSITION_KEYK

#define os_TRANSITION_KEYK ((byte) 67)

os_TRANSITION_KEYL

#define os_TRANSITION_KEYL ((byte) 68)

os_TRANSITION_KEY_SEMICOLON

#define os_TRANSITION_KEY_SEMICOLON ((byte) 69)

os_TRANSITION_KEY_ACUTE

#define os_TRANSITION_KEY_ACUTE ((byte) 70)

os_TRANSITION_KEY_RETURN

#define os_TRANSITION_KEY_RETURN ((byte) 71)

os_TRANSITION_KEY_KEYPAD4

#define os_TRANSITION_KEY_KEYPAD4 ((byte) 72)

os_TRANSITION_KEY_KEYPAD5

#define os_TRANSITION_KEY_KEYPAD5 ((byte) 73)

os_TRANSITION_KEY_KEYPAD6

#define os_TRANSITION_KEY_KEYPAD6 ((byte) 74)

os_TRANSITION_KEY_KEYPAD_PLUS

#define os_TRANSITION_KEY_KEYPAD_PLUS ((byte) 75)

os_TRANSITION_KEY_LEFT_SHIFT

#define os_TRANSITION_KEY_LEFT_SHIFT ((byte) 76)

os_TRANSITION_KEYZ

#define os_TRANSITION_KEYZ ((byte) 78)

os_TRANSITION_KEYX

#define os_TRANSITION_KEYX ((byte) 79)

os_TRANSITION_KEYC

#define os_TRANSITION_KEYC ((byte) 80)

os_TRANSITION_KEYV

#define os_TRANSITION_KEYV ((byte) 81)

os_TRANSITION_KEYB

#define os_TRANSITION_KEYB ((byte) 82)

os_TRANSITION_KEYN

#define os_TRANSITION_KEYN ((byte) 83)

os_TRANSITION_KEYM

#define os_TRANSITION_KEYM ((byte) 84)

os_TRANSITION_KEY_COMMA

#define os_TRANSITION_KEY_COMMA ((byte) 85)

os_TRANSITION_KEY_POINT

#define os_TRANSITION_KEY_POINT ((byte) 86)

os_TRANSITION_KEY_SLASH

#define os_TRANSITION_KEY_SLASH ((byte) 87)

os_TRANSITION_KEY_RIGHT_SHIFT

#define os_TRANSITION_KEY_RIGHT_SHIFT ((byte) 88)

os_TRANSITION_KEY_UP

#define os_TRANSITION_KEY_UP ((byte) 89)

os_TRANSITION_KEY_KEYPAD1

#define os_TRANSITION_KEY_KEYPAD1 ((byte) 90)

os_TRANSITION_KEY_KEYPAD2

#define os_TRANSITION_KEY_KEYPAD2 ((byte) 91)

os_TRANSITION_KEY_KEYPAD3

#define os_TRANSITION_KEY_KEYPAD3 ((byte) 92)

os_TRANSITION_KEY_CAPS_LOCK

#define os_TRANSITION_KEY_CAPS_LOCK ((byte) 93)

os_TRANSITION_KEY_LEFT_ALT

#define os_TRANSITION_KEY_LEFT_ALT ((byte) 94)

os_TRANSITION_KEY_SPACE

#define os_TRANSITION_KEY_SPACE ((byte) 95)

os_TRANSITION_KEY_RIGHT_ALT

#define os_TRANSITION_KEY_RIGHT_ALT ((byte) 96)

os_TRANSITION_KEY_RIGHT_CONTROL

#define os_TRANSITION_KEY_RIGHT_CONTROL ((byte) 97)

os_TRANSITION_KEY_LEFT

#define os_TRANSITION_KEY_LEFT ((byte) 98)

os_TRANSITION_KEY_DOWN

#define os_TRANSITION_KEY_DOWN ((byte) 99)

os_TRANSITION_KEY_RIGHT

#define os_TRANSITION_KEY_RIGHT ((byte) 100)

os_TRANSITION_KEY_KEYPAD0

#define os_TRANSITION_KEY_KEYPAD0 ((byte) 101)

os_TRANSITION_KEY_KEYPAD_POINT

#define os_TRANSITION_KEY_KEYPAD_POINT ((byte) 102)

os_TRANSITION_KEY_ENTER

#define os_TRANSITION_KEY_ENTER ((byte) 103)

os_TRANSITION_UP

#define os_TRANSITION_UP 0

os_TRANSITION_DOWN

#define os_TRANSITION_DOWN 1

xos_read_var_val_size

extern os_error *xos_read_var_val_size (char const *var,
      int context,
      os_var_type var_type,
      int *used,
      int *context_out,
      os_var_type *var_type_out);

Gets size of system variable or checks for its existance (PRM 1-309, 5a-661)

Entry:
varR0
contextR3
var_typeR4
Exit:
used0 if not found or, if var_type_out != 3, then NOT the number of bytes required for the variableR2
context_outR3
var_type_outR4

os_read_var_val_size

extern int os_read_var_val_size (char const *var,
      int context,
      os_var_type var_type,
      int *used,
      os_var_type *var_type_out);

Gets size of system variable or checks for its existance (PRM 1-309, 5a-661)

Entry:
varR0
contextR3
var_typeR4
Exit:
used0 if not found or, if var_type_out != 3, then NOT the number of bytes required for the variableR2
var_type_outR4
Returns:
context_outR3

xos_change_dynamic_area_no_fail

extern os_error *xos_change_dynamic_area_no_fail (os_dynamic_area_no area_type,
      int change,
      int *change_out);

Alters the space allocation of a dynamic area without throwing an error if the change was only partially performed

Entry:
area_typeR0
changeIncrease required (signed integer)R1
Exit:
change_outAmount changed (unsigned integer)R1

os_change_dynamic_area_no_fail

extern int os_change_dynamic_area_no_fail (os_dynamic_area_no area_type,
      int change);

Alters the space allocation of a dynamic area without throwing an error if the change was only partially performed

Entry:
area_typeR0
changeIncrease required (signed integer)R1
Returns:
change_outAmount changed (unsigned integer)R1

xos_writec

extern os_error *xos_writec (char c);

Writes a character to all of the active output streams

Entry:
cR0

os_writec

extern void os_writec (char c);

Writes a character to all of the active output streams

Entry:
cR0

xos_write0

extern os_error *xos_write0 (char const *s);

Writes a string to all of the active output streams

Entry:
sR0

os_write0

extern void os_write0 (char const *s);

Writes a string to all of the active output streams

Entry:
sR0

xos_new_line

extern os_error *xos_new_line (void);

Writes a line feed followed by a carriage return to all of the active output streams

os_new_line

extern void os_new_line (void);

Writes a line feed followed by a carriage return to all of the active output streams

xos_readc

extern os_error *xos_readc (char *c,
      bits *psr);

Reads a character from the input stream

Exit:
cR0

os_readc

extern bits os_readc (char *c);

Reads a character from the input stream

Exit:
cR0
Returns:
processor status register

xos_cli

extern os_error *xos_cli (char const *command);

Processes a supervisor command

Entry:
commandR0

os_cli

extern void os_cli (char const *command);

Processes a supervisor command

Entry:
commandR0

xos_read_line

extern os_error *xos_read_line (char *buffer,
      int size,
      char min_char,
      char max_char,
      int *used,
      bits *psr);

Reads a line from the input stream - prefer OS_ReadLine32 on RISC OS 5+

Entry:
bufferR0
sizeR1
min_charR2
max_charR3
Exit:
usedR1

os_read_line

extern bits os_read_line (char *buffer,
      int size,
      char min_char,
      char max_char,
      int *used);

Reads a line from the input stream - prefer OS_ReadLine32 on RISC OS 5+

Entry:
bufferR0
sizeR1
min_charR2
max_charR3
Exit:
usedR1
Returns:
processor status register

xos_read_line_given_echo

extern os_error *xos_read_line_given_echo (char *buffer,
      int size,
      char min_char,
      char max_char,
      char echo,
      int *used,
      bits *psr);

Reads a line from the input stream, using the given echo character - use OS_ReadLine32 on RISC OS 5+

Entry:
bufferR0
sizeR1
min_charR2
max_charR3
echoR4
Exit:
usedR1

os_read_line_given_echo

extern bits os_read_line_given_echo (char *buffer,
      int size,
      char min_char,
      char max_char,
      char echo,
      int *used);

Reads a line from the input stream, using the given echo character - use OS_ReadLine32 on RISC OS 5+

Entry:
bufferR0
sizeR1
min_charR2
max_charR3
echoR4
Exit:
usedR1
Returns:
processor status register

xos_read_line_suppress_invalid

extern os_error *xos_read_line_suppress_invalid (char *buffer,
      int size,
      char min_char,
      char max_char,
      int *used,
      bits *psr);

Reads a line from the input stream, not echoing invalid characters - use OS_ReadLine32 on RISC OS 5+

Entry:
bufferR0
sizeR1
min_charR2
max_charR3
Exit:
usedR1

os_read_line_suppress_invalid

extern bits os_read_line_suppress_invalid (char *buffer,
      int size,
      char min_char,
      char max_char,
      int *used);

Reads a line from the input stream, not echoing invalid characters - use OS_ReadLine32 on RISC OS 5+

Entry:
bufferR0
sizeR1
min_charR2
max_charR3
Exit:
usedR1
Returns:
processor status register

xos_read_line_given_echo_suppress_invalid

extern os_error *xos_read_line_given_echo_suppress_invalid (char *buffer,
      int size,
      char min_char,
      char max_char,
      char echo,
      int *used,
      bits *psr);

Reads a line from the input stream, using the given echo character and not echoing invalid characters - use OS_ReadLine32 on RISC OS 5+

Entry:
bufferR0
sizeR1
min_charR2
max_charR3
echoR4
Exit:
usedR1

os_read_line_given_echo_suppress_invalid

extern bits os_read_line_given_echo_suppress_invalid (char *buffer,
      int size,
      char min_char,
      char max_char,
      char echo,
      int *used);

Reads a line from the input stream, using the given echo character and not echoing invalid characters - use OS_ReadLine32 on RISC OS 5+

Entry:
bufferR0
sizeR1
min_charR2
max_charR3
echoR4
Exit:
usedR1
Returns:
processor status register

xos_read_line32

extern os_error *xos_read_line32 (char *buffer,
      int size,
      char min_char,
      char max_char,
      osreadline_flags flags,
      int *used,
      bits *psr);

Reads a line from the input stream - RISC OS 5+

Entry:
bufferR0
sizeR1
min_charR2
max_charR3
flagsR4
Exit:
usedR1

os_read_line32

extern bits os_read_line32 (char *buffer,
      int size,
      char min_char,
      char max_char,
      osreadline_flags flags,
      int *used);

Reads a line from the input stream - RISC OS 5+

Entry:
bufferR0
sizeR1
min_charR2
max_charR3
flagsR4
Exit:
usedR1
Returns:
processor status register

xos_control

extern os_error *xos_control (asm_routine error_handler,
      os_error *error_buffer,
      asm_routine escape_handler,
      asm_routine event_handler,
      asm_routine *old_error_handler,
      os_error **old_error_buffer,
      asm_routine *old_escape_handler,
      asm_routine *old_event_handler);

Reads/writes handler addresses - prefer OS_ChangeEnvironment

Entry:
error_handlerR0
error_bufferR1
escape_handlerR2
event_handlerR3
Exit:
old_error_handlerR0
old_error_bufferR1
old_escape_handlerR2
old_event_handlerR3

os_control

extern void os_control (asm_routine error_handler,
      os_error *error_buffer,
      asm_routine escape_handler,
      asm_routine event_handler,
      asm_routine *old_error_handler,
      os_error **old_error_buffer,
      asm_routine *old_escape_handler,
      asm_routine *old_event_handler);

Reads/writes handler addresses - prefer OS_ChangeEnvironment

Entry:
error_handlerR0
error_bufferR1
escape_handlerR2
event_handlerR3
Exit:
old_error_handlerR0
old_error_bufferR1
old_escape_handlerR2
old_event_handlerR3

xos_get_env

extern os_error *xos_get_env (char **command,
      byte **ram_limit,
      os_date_and_time **start);

Reads environment parameters

Exit:
commandR0
ram_limitR1
startR2

os_get_env

extern char *os_get_env (byte **ram_limit,
      os_date_and_time **start);

Reads environment parameters

Exit:
ram_limitR1
startR2
Returns:
commandR0

xos_exit

extern os_error *xos_exit (os_error const *error,
      int rc);

Passes control to the most recent exit handler

Entry:
errorR0
rcR2

os_exit

extern void os_exit (os_error const *error,
      int rc);

Passes control to the most recent exit handler

Entry:
errorR0
rcR2

xos_set_env

extern os_error *xos_set_env (asm_routine exit_handler,
      byte *ram_limit,
      asm_routine undefined_instruction_handler,
      asm_routine prefetch_abort_handler,
      asm_routine data_abort_handler,
      asm_routine address_exception_handler,
      asm_routine *old_exit_handler,
      byte **old_ram_limit,
      asm_routine *old_undefined_instruction_handler,
      asm_routine *old_prefetch_abort_handler,
      asm_routine *old_data_abort_handler,
      asm_routine *old_address_exception_handler);

Sets environment parameters - prefer OS_ChangeEnvironment

Entry:
exit_handlerR0
ram_limitR1
undefined_instruction_handlerR4
prefetch_abort_handlerR5
data_abort_handlerR6
address_exception_handlerR7
Exit:
old_exit_handlerR0
old_ram_limitR1
old_undefined_instruction_handlerR4
old_prefetch_abort_handlerR5
old_data_abort_handlerR6
old_address_exception_handlerR7

os_set_env

extern void os_set_env (asm_routine exit_handler,
      byte *ram_limit,
      asm_routine undefined_instruction_handler,
      asm_routine prefetch_abort_handler,
      asm_routine data_abort_handler,
      asm_routine address_exception_handler,
      asm_routine *old_exit_handler,
      byte **old_ram_limit,
      asm_routine *old_undefined_instruction_handler,
      asm_routine *old_prefetch_abort_handler,
      asm_routine *old_data_abort_handler,
      asm_routine *old_address_exception_handler);

Sets environment parameters - prefer OS_ChangeEnvironment

Entry:
exit_handlerR0
ram_limitR1
undefined_instruction_handlerR4
prefetch_abort_handlerR5
data_abort_handlerR6
address_exception_handlerR7
Exit:
old_exit_handlerR0
old_ram_limitR1
old_undefined_instruction_handlerR4
old_prefetch_abort_handlerR5
old_data_abort_handlerR6
old_address_exception_handlerR7

xos_int_on

extern os_error *xos_int_on (void);

Enables interrupts - cannot be called via APCS-26

os_int_on

extern void os_int_on (void);

Enables interrupts - cannot be called via APCS-26

xos_int_off

extern os_error *xos_int_off (void);

Disables interrupts - cannot be called via APCS-26

os_int_off

extern void os_int_off (void);

Disables interrupts - cannot be called via APCS-26

xos_call_back

extern os_error *xos_call_back (os_register_block const *register_block,
      asm_routine call_back_handler,
      os_register_block **old_register_block,
      asm_routine *old_call_back_handler);

Sets up the callback handler - prefer OS_ChangeEnvironment

Entry:
register_blockR0
call_back_handlerR1
Exit:
old_register_blockR0
old_call_back_handlerR1

os_call_back

extern void os_call_back (os_register_block const *register_block,
      asm_routine call_back_handler,
      os_register_block **old_register_block,
      asm_routine *old_call_back_handler);

Sets up the callback handler - prefer OS_ChangeEnvironment

Entry:
register_blockR0
call_back_handlerR1
Exit:
old_register_blockR0
old_call_back_handlerR1

xos_break_pt

extern os_error *xos_break_pt (void);

Causes a break point trap to occur and the break point handler to be entered

os_break_pt

extern void os_break_pt (void);

Causes a break point trap to occur and the break point handler to be entered

xos_break_ctrl

extern os_error *xos_break_ctrl (os_register_block *register_block,
      asm_routine break_pt_handler,
      os_register_block **old_register_block,
      asm_routine *old_break_pt_handler);

Sets up the break point handler - prefer OS_ChangeEnvironment

Entry:
register_blockR0
break_pt_handlerR1
Exit:
old_register_blockR0
old_break_pt_handlerR1

os_break_ctrl

extern void os_break_ctrl (os_register_block *register_block,
      asm_routine break_pt_handler,
      os_register_block **old_register_block,
      asm_routine *old_break_pt_handler);

Sets up the break point handler - prefer OS_ChangeEnvironment

Entry:
register_blockR0
break_pt_handlerR1
Exit:
old_register_blockR0
old_break_pt_handlerR1

xos_unused_swi

extern os_error *xos_unused_swi (asm_routine unused_swi_handler,
      asm_routine *old_unused_swi_handler);

Sets up the handler for unused SWI's - prefer OS_ChangeEnvironment

Entry:
unused_swi_handlerR0
Exit:
old_unused_swi_handlerR0

os_unused_swi

extern asm_routine os_unused_swi (asm_routine unused_swi_handler);

Sets up the handler for unused SWI's - prefer OS_ChangeEnvironment

Entry:
unused_swi_handlerR0
Returns:
old_unused_swi_handlerR0

xos_update_memc

extern os_error *xos_update_memc (bits value,
      bits mask,
      bits *old_value);

Reads or alters the contents of the MEMC control register

Entry:
valueR0
maskR1
Exit:
old_valueR0

os_update_memc

extern bits os_update_memc (bits value,
      bits mask);

Reads or alters the contents of the MEMC control register

Entry:
valueR0
maskR1
Returns:
old_valueR0

xos_set_call_back

extern os_error *xos_set_call_back (void);

Causes a call to the callback handler

os_set_call_back

extern void os_set_call_back (void);

Causes a call to the callback handler

xos_mouse

extern os_error *xos_mouse (int *x,
      int *y,
      bits *buttons,
      os_t *t);

Reads a mouse state from the buffer

Exit:
xR0
yR1
buttonsR2
tR3

os_mouse

extern void os_mouse (int *x,
      int *y,
      bits *buttons,
      os_t *t);

Reads a mouse state from the buffer

Exit:
xR0
yR1
buttonsR2
tR3

xos_claim

extern os_error *xos_claim (int vector,
      asm_routine routine,
      byte *handle);

Adds a routine to the list of those that claim a vector

Entry:
vectorR0
routineR1
handleR2

os_claim

extern void os_claim (int vector,
      asm_routine routine,
      byte *handle);

Adds a routine to the list of those that claim a vector

Entry:
vectorR0
routineR1
handleR2

xos_release

extern os_error *xos_release (int vector,
      asm_routine routine,
      byte *handle);

Removes a routine from the list of those that claim a vector

Entry:
vectorR0
routineR1
handleR2

os_release

extern void os_release (int vector,
      asm_routine routine,
      byte *handle);

Removes a routine from the list of those that claim a vector

Entry:
vectorR0
routineR1
handleR2

xos_read_unsigned

extern os_error *xos_read_unsigned (os_read_unsigned_flags flags,
      char const *number,
      bits limit,
      char **end,
      bits *value);

Converts a string to an unsigned number

Entry:
flagsR0
numberR1
limitR2
Exit:
endR1
valueR2

os_read_unsigned

extern bits os_read_unsigned (os_read_unsigned_flags flags,
      char const *number,
      bits limit,
      char **end);

Converts a string to an unsigned number

Entry:
flagsR0
numberR1
limitR2
Exit:
endR1
Returns:
valueR2

xos_read_var_val

extern os_error *xos_read_var_val (char const *var,
      char *value,
      int size,
      int context,
      os_var_type var_type,
      int *used,
      int *context_out,
      os_var_type *var_type_out);

Reads a variable value (PRM 1-309, 5a-661) - Prefer OS_ReadVarValSize to read size of variable

Entry:
varR0
valueR1
sizeR2
contextR3
var_typeR4
Exit:
usedR2
context_outR3
var_type_outR4

os_read_var_val

extern int os_read_var_val (char const *var,
      char *value,
      int size,
      int context,
      os_var_type var_type,
      int *used,
      os_var_type *var_type_out);

Reads a variable value (PRM 1-309, 5a-661) - Prefer OS_ReadVarValSize to read size of variable

Entry:
varR0
valueR1
sizeR2
contextR3
var_typeR4
Exit:
usedR2
var_type_outR4
Returns:
context_outR3

xos_set_var_val

extern os_error *xos_set_var_val (char const *var,
      byte const *value,
      int size,
      int context,
      os_var_type var_type,
      int *context_out,
      os_var_type *var_type_out);

Writes a variable value

Entry:
varR0
valueR1
sizeR2
contextR3
var_typeR4
Exit:
context_outR3
var_type_outR4

os_set_var_val

extern int os_set_var_val (char const *var,
      byte const *value,
      int size,
      int context,
      os_var_type var_type,
      os_var_type *var_type_out);

Writes a variable value

Entry:
varR0
valueR1
sizeR2
contextR3
var_typeR4
Exit:
var_type_outR4
Returns:
context_outR3

xossetvarval_code

extern os_error *xossetvarval_code (char const *var,
      asm_routine read_write_code,
      int size,
      int context,
      int *context_out,
      os_var_type *var_type_out);

Writes a code variable value with workspace pointer - RISC OS Select

Entry:
varR0
read_write_codeR1
sizeR2
contextR3
Exit:
context_outR3
var_type_outR4

ossetvarval_code

extern int ossetvarval_code (char const *var,
      asm_routine read_write_code,
      int size,
      int context,
      os_var_type *var_type_out);

Writes a code variable value with workspace pointer - RISC OS Select

Entry:
varR0
read_write_codeR1
sizeR2
contextR3
Exit:
var_type_outR4
Returns:
context_outR3

xos_gs_init

extern os_error *xos_gs_init (char const *s,
      os_gs_flags flags,
      int *context1,
      int *context2);

Initialises context for use by OS_GSRead

Entry:
sR0
flagsR2
Exit:
context1R0
context2R2

os_gs_init

extern void os_gs_init (char const *s,
      os_gs_flags flags,
      int *context1,
      int *context2);

Initialises context for use by OS_GSRead

Entry:
sR0
flagsR2
Exit:
context1R0
context2R2

xos_gs_read

extern os_error *xos_gs_read (int context1,
      int context2,
      int *context1_out,
      char *c,
      int *context2_out,
      bits *psr);

Returns a character from a string which has been initialised by OS_GSInit

Entry:
context1R0
context2R2
Exit:
context1_outR0
cR1
context2_outR2

os_gs_read

extern bits os_gs_read (int context1,
      int context2,
      int *context1_out,
      char *c,
      int *context2_out);

Returns a character from a string which has been initialised by OS_GSInit

Entry:
context1R0
context2R2
Exit:
context1_outR0
cR1
context2_outR2
Returns:
processor status register

xos_gs_trans

extern os_error *xos_gs_trans (char const *s,
      char *buffer,
      int size,
      int *used,
      bits *psr);

Equivalent to a call to OS_GSInit and repeated calls to OS_GSRead

Entry:
sR0
bufferR1
sizeR2
Exit:
usedR2

os_gs_trans

extern bits os_gs_trans (char const *s,
      char *buffer,
      int size,
      int *used);

Equivalent to a call to OS_GSInit and repeated calls to OS_GSRead

Entry:
sR0
bufferR1
sizeR2
Exit:
usedR2
Returns:
processor status register

xos_binary_to_decimal

extern os_error *xos_binary_to_decimal (int i,
      char *buffer,
      int size,
      int *used);

Converts a signed number to a string

Entry:
iR0
bufferR1
sizeR2
Exit:
usedR2

os_binary_to_decimal

extern int os_binary_to_decimal (int i,
      char *buffer,
      int size);

Converts a signed number to a string

Entry:
iR0
bufferR1
sizeR2
Returns:
usedR2

xos_change_dynamic_area

extern os_error *xos_change_dynamic_area (os_dynamic_area_no area_type,
      int change,
      int *change_out);

Alters the space allocation of a dynamic area

Entry:
area_typeR0
changeR1
Exit:
change_outR1

os_change_dynamic_area

extern int os_change_dynamic_area (os_dynamic_area_no area_type,
      int change);

Alters the space allocation of a dynamic area

Entry:
area_typeR0
changeR1
Returns:
change_outR1

xos_generate_error

extern os_error *xos_generate_error (os_error const *error);

Generates an error and invokes the error handler

Entry:
errorR0

os_generate_error

extern void os_generate_error (os_error const *error);

Generates an error and invokes the error handler

Entry:
errorR0

xos_read_escape_state

extern os_error *xos_read_escape_state (bits *psr);

Checks whether an escape condition has occurred

os_read_escape_state

extern bits os_read_escape_state (void);

Checks whether an escape condition has occurred

Returns:
processor status register

xos_evaluate_expression

extern os_error *xos_evaluate_expression (char const *expr,
      char *buffer,
      int size,
      osbool *expr_is_str,
      int *int_value_or_str_used);

Evaluates a string expression and returns an integer or string result

Entry:
exprR0
bufferR1
sizeR2
Exit:
expr_is_strR1
int_value_or_str_usedR2

os_evaluate_expression

extern osbool os_evaluate_expression (char const *expr,
      char *buffer,
      int size,
      int *int_value_or_str_used);

Evaluates a string expression and returns an integer or string result

Entry:
exprR0
bufferR1
sizeR2
Exit:
int_value_or_str_usedR2
Returns:
expr_is_strR1

xos_read_palette

extern os_error *xos_read_palette (os_colour_number entry,
      int colour_type,
      os_colour *on,
      os_colour *off);

Reads the palette setting of a colour

Entry:
entryR0
colour_typeR1
Exit:
onR2
offR3

os_read_palette

extern void os_read_palette (os_colour_number entry,
      int colour_type,
      os_colour *on,
      os_colour *off);

Reads the palette setting of a colour

Entry:
entryR0
colour_typeR1
Exit:
onR2
offR3

xos_read_vdu_variables

extern os_error *xos_read_vdu_variables (os_vdu_var_list const *var_list,
      int *value_list);

Reads a series of VDU variables

Entry:
var_listR0
value_listR1

os_read_vdu_variables

extern void os_read_vdu_variables (os_vdu_var_list const *var_list,
      int *value_list);

Reads a series of VDU variables

Entry:
var_listR0
value_listR1

xos_read_point

extern os_error *xos_read_point (int x,
      int y,
      os_gcol *gcol,
      os_tint *tint,
      osbool *off_screen);

Reads the colour of a point

Entry:
xR0
yR1
Exit:
gcolR2
tintR3
off_screenR4

os_read_point

extern osbool os_read_point (int x,
      int y,
      os_gcol *gcol,
      os_tint *tint);

Reads the colour of a point

Entry:
xR0
yR1
Exit:
gcolR2
tintR3
Returns:
off_screenR4

xos_read_mode_variable

extern os_error *xos_read_mode_variable (os_mode mode,
      os_mode_var var,
      int *var_val,
      bits *psr);

Reads information about a screen mode

Entry:
modeR0
varR1
Exit:
var_valR2

os_read_mode_variable

extern bits os_read_mode_variable (os_mode mode,
      os_mode_var var,
      int *var_val);

Reads information about a screen mode

Entry:
modeR0
varR1
Exit:
var_valR2
Returns:
processor status register

xos_remove_cursors

extern os_error *xos_remove_cursors (void);

Removes the cursors from the screen

os_remove_cursors

extern void os_remove_cursors (void);

Removes the cursors from the screen

xos_restore_cursors

extern os_error *xos_restore_cursors (void);

Restores the cursors to the screen

os_restore_cursors

extern void os_restore_cursors (void);

Restores the cursors to the screen

xos_swi_number_to_string

extern os_error *xos_swi_number_to_string (int swi,
      char *buffer,
      int size,
      int *used);

Converts a SWI number to a string containing its name

Entry:
swiR0
bufferR1
sizeR2
Exit:
usedR2

os_swi_number_to_string

extern int os_swi_number_to_string (int swi,
      char *buffer,
      int size);

Converts a SWI number to a string containing its name

Entry:
swiR0
bufferR1
sizeR2
Returns:
usedR2

xos_swi_number_from_string

extern os_error *xos_swi_number_from_string (char const *swi_name,
      int *swi);

Converts a string to a SWI number if valid

Entry:
swi_nameR1
Exit:
swiR0

os_swi_number_from_string

extern int os_swi_number_from_string (char const *swi_name);

Converts a string to a SWI number if valid

Entry:
swi_nameR1
Returns:
swiR0

xos_validate_address

extern os_error *xos_validate_address (byte *min,
      byte *max,
      bits *psr);

Checks that a range of address are in logical RAM

Entry:
minR0
maxR1

os_validate_address

extern bits os_validate_address (byte *min,
      byte *max);

Checks that a range of address are in logical RAM

Entry:
minR0
maxR1
Returns:
processor status register

xos_call_after

extern os_error *xos_call_after (int delay,
      asm_routine code,
      byte *handle);

Calls a specified address after a delay

Entry:
delayR0
codeR1
handleR2

os_call_after

extern void os_call_after (int delay,
      asm_routine code,
      byte *handle);

Calls a specified address after a delay

Entry:
delayR0
codeR1
handleR2

xos_call_every

extern os_error *xos_call_every (int delay,
      asm_routine code,
      byte *handle);

Calls a specified address every time a delay elapses

Entry:
delayR0
codeR1
handleR2

os_call_every

extern void os_call_every (int delay,
      asm_routine code,
      byte *handle);

Calls a specified address every time a delay elapses

Entry:
delayR0
codeR1
handleR2

xos_remove_ticker_event

extern os_error *xos_remove_ticker_event (asm_routine code,
      byte *handle);

Removes a given call address and handle value from the ticker event list

Entry:
codeR0
handleR1

os_remove_ticker_event

extern void os_remove_ticker_event (asm_routine code,
      byte *handle);

Removes a given call address and handle value from the ticker event list

Entry:
codeR0
handleR1

xos_install_key_handler

extern os_error *xos_install_key_handler (os_key_handler const *key_handler,
      os_key_handler **old_key_handler);

Installs a key handler or reads the address of the current one

Entry:
key_handlerR0
Exit:
old_key_handlerR0

os_install_key_handler

extern os_key_handler *os_install_key_handler (os_key_handler const *key_handler);

Installs a key handler or reads the address of the current one

Entry:
key_handlerR0
Returns:
old_key_handlerR0

xos_check_mode_valid

extern os_error *xos_check_mode_valid (os_mode mode,
      int *mode_status,
      os_mode *alternative_mode,
      bits *psr);

Checks if it is possible to change into a specified mode

Entry:
modeR0
Exit:
mode_statusR0
alternative_modeR1

os_check_mode_valid

extern bits os_check_mode_valid (os_mode mode,
      int *mode_status,
      os_mode *alternative_mode);

Checks if it is possible to change into a specified mode

Entry:
modeR0
Exit:
mode_statusR0
alternative_modeR1
Returns:
processor status register

xos_change_environment

extern os_error *xos_change_environment (os_handler_type handler_type,
      asm_routine handler,
      byte *handle,
      byte *buffer,
      asm_routine *old_handler,
      byte **old_handle,
      byte **old_buffer);

Installs a handler

Entry:
handler_typeR0
handlerR1
handleR2
bufferR3
Exit:
old_handlerR1
old_handleR2
old_bufferR3

os_change_environment

extern asm_routine os_change_environment (os_handler_type handler_type,
      asm_routine handler,
      byte *handle,
      byte *buffer,
      byte **old_handle,
      byte **old_buffer);

Installs a handler

Entry:
handler_typeR0
handlerR1
handleR2
bufferR3
Exit:
old_handleR2
old_bufferR3
Returns:
old_handlerR1

xosclaimscreenmemory_free

extern os_error *xosclaimscreenmemory_free (void);

Releases spare screen memory - Deprecated under RISC OS 3.7+

osclaimscreenmemory_free

extern void osclaimscreenmemory_free (void);

Releases spare screen memory - Deprecated under RISC OS 3.7+

xosclaimscreenmemory_alloc

extern os_error *xosclaimscreenmemory_alloc (int size,
      int *size_out,
      void **blk,
      bits *psr);

Claims spare screen memory - Deprecated under RISC OS 3.7+

Entry:
sizeR1
Exit:
size_outR1
blkR2

osclaimscreenmemory_alloc

extern bits osclaimscreenmemory_alloc (int size,
      int *size_out,
      void **blk);

Claims spare screen memory - Deprecated under RISC OS 3.7+

Entry:
sizeR1
Exit:
size_outR1
blkR2
Returns:
processor status register

xos_read_monotonic_time

extern os_error *xos_read_monotonic_time (os_t *t);

Returns the number of centiseconds since the last hard reset

Exit:
tR0

os_read_monotonic_time

extern os_t os_read_monotonic_time (void);

Returns the number of centiseconds since the last hard reset

Returns:
tR0

xos_substitute_args

extern os_error *xos_substitute_args (char const *args,
      char *buffer,
      int size,
      char const *source,
      int source_size,
      int *used);

Substitutes command line arguments

Entry:
argsR0
bufferR1
sizeR2
sourceR3
source_sizeR4
Exit:
usedR2

os_substitute_args

extern int os_substitute_args (char const *args,
      char *buffer,
      int size,
      char const *source,
      int source_size);

Substitutes command line arguments

Entry:
argsR0
bufferR1
sizeR2
sourceR3
source_sizeR4
Returns:
usedR2

xos_substitute_args32

extern os_error *xos_substitute_args32 (char const *args,
      char *buffer,
      int size,
      char const *source,
      int source_size,
      os_substitute_args_flags flags,
      int *used);

Substitutes command line arguments - RISC OS 5+

Entry:
argsR0
bufferR1
sizeR2
sourceR3
source_sizeR4
flagsR5
Exit:
usedR2

os_substitute_args32

extern int os_substitute_args32 (char const *args,
      char *buffer,
      int size,
      char const *source,
      int source_size,
      os_substitute_args_flags flags);

Substitutes command line arguments - RISC OS 5+

Entry:
argsR0
bufferR1
sizeR2
sourceR3
source_sizeR4
flagsR5
Returns:
usedR2

xos_pretty_print

extern os_error *xos_pretty_print (char const *string,
      byte const *dictionary,
      char const *special);

Writes a string with some formatting to all of the active output streams

Entry:
stringR0
dictionaryR1
specialR2

os_pretty_print

extern void os_pretty_print (char const *string,
      byte const *dictionary,
      char const *special);

Writes a string with some formatting to all of the active output streams

Entry:
stringR0
dictionaryR1
specialR2

xosprettyprint_get_os_dict

extern os_error *xosprettyprint_get_os_dict (byte **os_dict);

Get the OS dictionary table - RISC OS 6

Exit:
os_dictR1

osprettyprint_get_os_dict

extern byte *osprettyprint_get_os_dict (void);

Get the OS dictionary table - RISC OS 6

Returns:
os_dictR1

xos_plot

extern os_error *xos_plot (os_plot_code plot_code,
      int x,
      int y);

Direct VDU call to general plot command

Entry:
plot_codeR0
xR1
yR2

os_plot

extern void os_plot (os_plot_code plot_code,
      int x,
      int y);

Direct VDU call to general plot command

Entry:
plot_codeR0
xR1
yR2

xos_writen

extern os_error *xos_writen (char const *s,
      int size);

Writes a counted string to all of the active output streams

Entry:
sR0
sizeR1

os_writen

extern void os_writen (char const *s,
      int size);

Writes a counted string to all of the active output streams

Entry:
sR0
sizeR1

xos_add_to_vector

extern os_error *xos_add_to_vector (int vector,
      asm_routine routine,
      byte *handle);

Adds a routine to the list of those that claim a vector

Entry:
vectorR0
routineR1
handleR2

os_add_to_vector

extern void os_add_to_vector (int vector,
      asm_routine routine,
      byte *handle);

Adds a routine to the list of those that claim a vector

Entry:
vectorR0
routineR1
handleR2

xos_write_env

extern os_error *xos_write_env (char const *command,
      os_date_and_time const *start);

Sets the program environment command string and start time

Entry:
commandR0
startR1

os_write_env

extern void os_write_env (char const *command,
      os_date_and_time const *start);

Sets the program environment command string and start time

Entry:
commandR0
startR1

xos_read_args

extern os_error *xos_read_args (char const *keywords,
      char const *input,
      char *buffer,
      int size,
      int *spare);

Given a keyword definition, scans a command string

Entry:
keywordsR0
inputR1
bufferR2
sizeR3
Exit:
spareR3

os_read_args

extern int os_read_args (char const *keywords,
      char const *input,
      char *buffer,
      int size);

Given a keyword definition, scans a command string

Entry:
keywordsR0
inputR1
bufferR2
sizeR3
Returns:
spareR3

xos_read_ram_fs_limits

extern os_error *xos_read_ram_fs_limits (byte **start,
      char **end);

Gets the current limits of the RAM filing system

Exit:
startR0
endR1

os_read_ram_fs_limits

extern void os_read_ram_fs_limits (byte **start,
      char **end);

Gets the current limits of the RAM filing system

Exit:
startR0
endR1

xos_claim_device_vector

extern os_error *xos_claim_device_vector (os_device_type device,
      asm_routine driver,
      int handle,
      int *status,
      bits mask);

Claims a device vector

Entry:
deviceR0
driverR1
handleR2
statusR3
maskR4

os_claim_device_vector

extern void os_claim_device_vector (os_device_type device,
      asm_routine driver,
      int handle,
      int *status,
      bits mask);

Claims a device vector

Entry:
deviceR0
driverR1
handleR2
statusR3
maskR4

xos_claim_device_vector_and_get_handler

extern os_error *xos_claim_device_vector_and_get_handler (os_device_type device,
      asm_routine driver,
      int handle,
      int *status,
      bits mask,
      asm_routine *handler,
      int *ws_ptr);

Claims a device vector and gets IRQ enable/disable handler

Entry:
deviceR0
driverR1
handleR2
statusR3
maskR4
Exit:
handlerR1
ws_ptrR2

os_claim_device_vector_and_get_handler

extern void os_claim_device_vector_and_get_handler (os_device_type device,
      asm_routine driver,
      int handle,
      int *status,
      bits mask,
      asm_routine *handler,
      int *ws_ptr);

Claims a device vector and gets IRQ enable/disable handler

Entry:
deviceR0
driverR1
handleR2
statusR3
maskR4
Exit:
handlerR1
ws_ptrR2

xos_claim_core_irq_handler

extern os_error *xos_claim_core_irq_handler (asm_routine handler,
      int ws_ptr,
      asm_routine *handler_unclaimed,
      int *ws_ptr_unclaimed);

Register a core IRQ handler replacement

Entry:
handlerR1
ws_ptrR2
Exit:
handler_unclaimedR1
ws_ptr_unclaimedR2

os_claim_core_irq_handler

extern void os_claim_core_irq_handler (asm_routine handler,
      int ws_ptr,
      asm_routine *handler_unclaimed,
      int *ws_ptr_unclaimed);

Register a core IRQ handler replacement

Entry:
handlerR1
ws_ptrR2
Exit:
handler_unclaimedR1
ws_ptr_unclaimedR2

xos_release_device_vector

extern os_error *xos_release_device_vector (os_device_type device,
      asm_routine driver,
      byte *handle,
      int *status,
      bits mask);

Releases a device vector

Entry:
deviceR0
driverR1
handleR2
statusR3
maskR4

os_release_device_vector

extern void os_release_device_vector (os_device_type device,
      asm_routine driver,
      byte *handle,
      int *status,
      bits mask);

Releases a device vector

Entry:
deviceR0
driverR1
handleR2
statusR3
maskR4

xos_release_core_irq_handler

extern os_error *xos_release_core_irq_handler (asm_routine handler,
      int ws_ptr);

Release a core IRQ handler and restore the OS default

Entry:
handlerR1
ws_ptrR2

os_release_core_irq_handler

extern void os_release_core_irq_handler (asm_routine handler,
      int ws_ptr);

Release a core IRQ handler and restore the OS default

Entry:
handlerR1
ws_ptrR2
extern os_error *xos_delink_application (byte *vector_details,
      int size,
      int *used);

Removes any vectors that an application is using

Entry:
vector_detailsR0
sizeR1
Exit:
usedR1
extern int os_delink_application (byte *vector_details,
      int size);

Removes any vectors that an application is using

Entry:
vector_detailsR0
sizeR1
Returns:
usedR1
extern os_error *xos_relink_application (byte const *vector_details);

Restores from a buffer any vectors that an application is using

Entry:
vector_detailsR0
extern void os_relink_application (byte const *vector_details);

Restores from a buffer any vectors that an application is using

Entry:
vector_detailsR0

xos_heap_sort

extern os_error *xos_heap_sort (int count,
      int *array,
      os_sort_type compare_fn,
      byte *handle,
      byte *objects,
      int object_size,
      void *workspace);

Heap-sorts a list of objects - prefer OS_HeapSort32 on RISC OS 5+

Entry:
countR0
arrayR1
compare_fnR2
handleR3
objectsR4
object_sizeR5
workspaceR6

os_heap_sort

extern void os_heap_sort (int count,
      int *array,
      os_sort_type compare_fn,
      byte *handle,
      byte *objects,
      int object_size,
      void *workspace);

Heap-sorts a list of objects - prefer OS_HeapSort32 on RISC OS 5+

Entry:
countR0
arrayR1
compare_fnR2
handleR3
objectsR4
object_sizeR5
workspaceR6

xos_heap_sort32

extern os_error *xos_heap_sort32 (int count,
      int *array,
      os_sort_type compare_fn,
      byte *handle,
      byte *objects,
      int object_size,
      void *workspace,
      os_heap_sort_flags flags);

Heap-sorts a list of objects - RISC OS 5+

Entry:
countR0
arrayR1
compare_fnR2
handleR3
objectsR4
object_sizeR5
workspaceR6
flagsR7

os_heap_sort32

extern void os_heap_sort32 (int count,
      int *array,
      os_sort_type compare_fn,
      byte *handle,
      byte *objects,
      int object_size,
      void *workspace,
      os_heap_sort_flags flags);

Heap-sorts a list of objects - RISC OS 5+

Entry:
countR0
arrayR1
compare_fnR2
handleR3
objectsR4
object_sizeR5
workspaceR6
flagsR7

xos_exit_and_die

extern os_error *xos_exit_and_die (os_error const *error,
      int rc,
      char const *module_name);

Kills a module and passes control to the most recent exit handler

Entry:
errorR0
rcR2
module_nameR3

os_exit_and_die

extern void os_exit_and_die (os_error const *error,
      int rc,
      char const *module_name);

Kills a module and passes control to the most recent exit handler

Entry:
errorR0
rcR2
module_nameR3

xos_read_mem_map_info

extern os_error *xos_read_mem_map_info (int *page_size,
      int *page_count);

Reads the page size and count

Exit:
page_sizeR0
page_countR1

os_read_mem_map_info

extern void os_read_mem_map_info (int *page_size,
      int *page_count);

Reads the page size and count

Exit:
page_sizeR0
page_countR1

xos_read_mem_map_entries

extern os_error *xos_read_mem_map_entries (os_mem_map_request_list *request_list);

Reads by page number the logical to physical memory mapping used by MEMC

Entry:
request_listR0

os_read_mem_map_entries

extern void os_read_mem_map_entries (os_mem_map_request_list *request_list);

Reads by page number the logical to physical memory mapping used by MEMC

Entry:
request_listR0

xos_set_mem_map_entries

extern os_error *xos_set_mem_map_entries (os_mem_map_request_list const *request_list);

Writes the logical to physical memory mapping used by MEMC

Entry:
request_listR0

os_set_mem_map_entries

extern void os_set_mem_map_entries (os_mem_map_request_list const *request_list);

Writes the logical to physical memory mapping used by MEMC

Entry:
request_listR0

xos_add_call_back

extern os_error *xos_add_call_back (asm_routine call_back,
      byte *handle);

Adds a transient callback to the list

Entry:
call_backR0
handleR1

os_add_call_back

extern void os_add_call_back (asm_routine call_back,
      byte *handle);

Adds a transient callback to the list

Entry:
call_backR0
handleR1

xos_read_default_handler

extern os_error *xos_read_default_handler (int handler_type,
      asm_routine *handler,
      byte **handle,
      byte **buffer);

Gets the address of the default handler

Entry:
handler_typeR0
Exit:
handlerR1
handleR2
bufferR3

os_read_default_handler

extern asm_routine os_read_default_handler (int handler_type,
      byte **handle,
      byte **buffer);

Gets the address of the default handler

Entry:
handler_typeR0
Exit:
handleR2
bufferR3
Returns:
handlerR1

xos_set_ecf_origin

extern os_error *xos_set_ecf_origin (int x,
      int y);

Sets the origin of the ECF patterns

Entry:
xR0
yR1

os_set_ecf_origin

extern void os_set_ecf_origin (int x,
      int y);

Sets the origin of the ECF patterns

Entry:
xR0
yR1

xos_confirm

extern os_error *xos_confirm (char *key,
      bits *psr);

Gets a yes or no answer

Exit:
keyR0

os_confirm

extern bits os_confirm (char *key);

Gets a yes or no answer

Exit:
keyR0
Returns:
processor status register

xos_changed_box

extern os_error *xos_changed_box (os_changed_box_state state,
      osbool *enabled,
      os_change_box **change_box);

Determines which area of the screen has changed

Entry:
stateR0
Exit:
enabledR0
change_boxR1

os_changed_box

extern osbool os_changed_box (os_changed_box_state state,
      os_change_box **change_box);

Determines which area of the screen has changed

Entry:
stateR0
Exit:
change_boxR1
Returns:
enabledR0

xos_crc

extern os_error *xos_crc (int crc_in,
      byte const *block,
      byte const *end,
      int stride,
      int *crc);

Calculates the cyclic redundancy check for a block of data

Entry:
crc_inR0
blockR1
endR2
strideR3
Exit:
crcR0

os_crc

extern int os_crc (int crc_in,
      byte const *block,
      byte const *end,
      int stride);

Calculates the cyclic redundancy check for a block of data

Entry:
crc_inR0
blockR1
endR2
strideR3
Returns:
crcR0

xos_read_dynamic_area

extern os_error *xos_read_dynamic_area (os_dynamic_area_no area,
      byte **area_start,
      int *size,
      int *size_limit);

Reads the space allocation of a dynamic area

Entry:
areaR0
Exit:
area_startR0
sizeR1
size_limitR2

os_read_dynamic_area

extern byte *os_read_dynamic_area (os_dynamic_area_no area,
      int *size,
      int *size_limit);

Reads the space allocation of a dynamic area

Entry:
areaR0
Exit:
sizeR1
size_limitR2
Returns:
area_startR0

xos_print_char

extern os_error *xos_print_char (char c);

Sends a character to the printer stream

Entry:
cR0

os_print_char

extern void os_print_char (char c);

Sends a character to the printer stream

Entry:
cR0

xos_change_redirection

extern os_error *xos_change_redirection (os_f input,
      os_f output,
      os_f *old_input,
      os_f *old_output);

Reads or writes OS_CLI input/output redirection handles - prefer OS_ChangeRedirectionW

Entry:
inputR0
outputR1
Exit:
old_inputR0
old_outputR1

os_change_redirection

extern void os_change_redirection (os_f input,
      os_f output,
      os_f *old_input,
      os_f *old_output);

Reads or writes OS_CLI input/output redirection handles - prefer OS_ChangeRedirectionW

Entry:
inputR0
outputR1
Exit:
old_inputR0
old_outputR1

xos_change_redirectionw

extern os_error *xos_change_redirectionw (os_fw input,
      os_fw output,
      os_fw *old_input,
      os_fw *old_output);

Reads or writes OS_CLI input/output redirection. Uses 32-bit file handles

Entry:
inputR0
outputR1
Exit:
old_inputR0
old_outputR1

os_change_redirectionw

extern void os_change_redirectionw (os_fw input,
      os_fw output,
      os_fw *old_input,
      os_fw *old_output);

Reads or writes OS_CLI input/output redirection. Uses 32-bit file handles

Entry:
inputR0
outputR1
Exit:
old_inputR0
old_outputR1

xos_remove_call_back

extern os_error *xos_remove_call_back (asm_routine call_back,
      byte *handle);

Removes a transient callback from the list

Entry:
call_backR0
handleR1

os_remove_call_back

extern void os_remove_call_back (asm_routine call_back,
      byte *handle);

Removes a transient callback from the list

Entry:
call_backR0
handleR1

xos_find_mem_map_entries

extern os_error *xos_find_mem_map_entries (os_mem_map_request_list *request_list);

Reads by logical address the logical to physical memory mapping used by MEMC

Entry:
request_listR0

os_find_mem_map_entries

extern void os_find_mem_map_entries (os_mem_map_request_list *request_list);

Reads by logical address the logical to physical memory mapping used by MEMC

Entry:
request_listR0

xos_set_colour

extern os_error *xos_set_colour (os_colour_flags flags,
      os_colour_number colour_number);

Sets the current colour or colour pattern

Entry:
flagsR0
colour_numberR1

os_set_colour

extern void os_set_colour (os_colour_flags flags,
      os_colour_number colour_number);

Sets the current colour or colour pattern

Entry:
flagsR0
colour_numberR1

xos_read_colour

extern os_error *xos_read_colour (os_colour_flags flags,
      os_ecf *pattern,
      os_colour_flags *flags_out,
      os_colour_number *colour_number);

Reads the current colour or colour pattern - RISC OS 3.5+

Entry:
flagsR0
patternR1
Exit:
flags_outR0
colour_numberR1

os_read_colour

extern os_colour_number os_read_colour (os_colour_flags flags,
      os_ecf *pattern,
      os_colour_flags *flags_out);

Reads the current colour or colour pattern - RISC OS 3.5+

Entry:
flagsR0
patternR1
Exit:
flags_outR0
Returns:
colour_numberR1

xos_claim_swi

extern os_error *xos_claim_swi (int swi,
      asm_routine routine,
      byte *handle);

Claims a software interrupt

Entry:
swiR0
routineR1
handleR2

os_claim_swi

extern void os_claim_swi (int swi,
      asm_routine routine,
      byte *handle);

Claims a software interrupt

Entry:
swiR0
routineR1
handleR2

xos_release_swi

extern os_error *xos_release_swi (int swi,
      asm_routine routine,
      byte *handle);

Release a software interrupt

Entry:
swiR0
routineR1
handleR2

os_release_swi

extern void os_release_swi (int swi,
      asm_routine routine,
      byte *handle);

Release a software interrupt

Entry:
swiR0
routineR1
handleR2

xospointer_get

extern os_error *xospointer_get (os_pointer_type *pointer_type);

Gets the currently selected pointer device type - RISC OS 3.5+

Exit:
pointer_typeR0

ospointer_get

extern os_pointer_type ospointer_get (void);

Gets the currently selected pointer device type - RISC OS 3.5+

Returns:
pointer_typeR0

xospointer_set

extern os_error *xospointer_set (os_pointer_type pointer_type);

Sets the currently selected pointer device type - RISC OS 3.5+

Entry:
pointer_typeR1

ospointer_set

extern void ospointer_set (os_pointer_type pointer_type);

Sets the currently selected pointer device type - RISC OS 3.5+

Entry:
pointer_typeR1

xospointer_read_alternate_position

extern os_error *xospointer_read_alternate_position (int *xposition,
      int *yposition);

Reads the position of the alternate pointing device - RISC OS 4.32+

Exit:
xpositionR0
ypositionR1

ospointer_read_alternate_position

extern void ospointer_read_alternate_position (int *xposition,
      int *yposition);

Reads the position of the alternate pointing device - RISC OS 4.32+

Exit:
xpositionR0
ypositionR1

xosscreenmode_select

extern os_error *xosscreenmode_select (os_mode mode);

Selects a screen mode - RISC OS 3.5+

Entry:
modeR1

osscreenmode_select

extern void osscreenmode_select (os_mode mode);

Selects a screen mode - RISC OS 3.5+

Entry:
modeR1

xosscreenmode_current

extern os_error *xosscreenmode_current (os_mode *mode);

Returns the mode specifier for the current mode - RISC OS 3.5+

Exit:
modeR1

osscreenmode_current

extern os_mode osscreenmode_current (void);

Returns the mode specifier for the current mode - RISC OS 3.5+

Returns:
modeR1

xosscreenmode_enumerate

extern os_error *xosscreenmode_enumerate (int context,
      os_mode_block *block,
      int block_size,
      osbool *complete,
      int *context_out,
      byte **end,
      int *free);

Enumerates the available screen modes - RISC OS 3.5+

Entry:
contextR2
blockR6
block_sizeR7
Exit:
completeR1
context_outR2
endR6
freeR7

osscreenmode_enumerate

extern osbool osscreenmode_enumerate (int context,
      os_mode_block *block,
      int block_size,
      int *context_out,
      byte **end,
      int *free);

Enumerates the available screen modes - RISC OS 3.5+

Entry:
contextR2
blockR6
block_sizeR7
Exit:
context_outR2
endR6
freeR7
Returns:
completeR1

xosscreenmode_config_acceleration

extern os_error *xosscreenmode_config_acceleration (osscreenmodeconfigacceleration_flags flags,
      osscreenmodeconfigacceleration_cleaner_laziness laziness,
      osscreenmodeconfigacceleration_flags *current_flags,
      osscreenmodeconfigacceleration_cleaner_laziness *current_laziness);

Controls cacheing of screen memory and screen cleaning - RISC OS 4+

Entry:
flagsR1
lazinessR2
Exit:
current_flagsR1
current_lazinessR2

osscreenmode_config_acceleration

extern osscreenmodeconfigacceleration_flags osscreenmode_config_acceleration (osscreenmodeconfigacceleration_flags flags,
      osscreenmodeconfigacceleration_cleaner_laziness laziness,
      osscreenmodeconfigacceleration_cleaner_laziness *current_laziness);

Controls cacheing of screen memory and screen cleaning - RISC OS 4+

Entry:
flagsR1
lazinessR2
Exit:
current_lazinessR2
Returns:
current_flagsR1

xosscreenmode_request_clean

extern os_error *xosscreenmode_request_clean (void);

Request a foreground screen clean - RISC OS 4+

osscreenmode_request_clean

extern void osscreenmode_request_clean (void);

Request a foreground screen clean - RISC OS 4+

xosscreenmode_force_clean

extern os_error *xosscreenmode_force_clean (void);

Force a screen clean if needed - RISC OS 4+

osscreenmode_force_clean

extern void osscreenmode_force_clean (void);

Force a screen clean if needed - RISC OS 4+

xosscreenmode_count_number_banks

extern os_error *xosscreenmode_count_number_banks (int *num_banks);

Returns the number of screen banks the current display driver is capable of providing for the current screen mode - RISC OS 6

Exit:
num_banksR1

osscreenmode_count_number_banks

extern int osscreenmode_count_number_banks (void);

Returns the number of screen banks the current display driver is capable of providing for the current screen mode - RISC OS 6

Returns:
num_banksR1

xosscreenmode_select_display_bank

extern os_error *xosscreenmode_select_display_bank (int bank_number,
      int *prev_bank,
      int *new_bank,
      void **bank_addr);

Select display bank - RISC OS 6

Entry:
bank_number1 .. maxbankR1
Exit:
prev_bankR0
new_bankR1
bank_addrR2

osscreenmode_select_display_bank

extern void osscreenmode_select_display_bank (int bank_number,
      int *prev_bank,
      int *new_bank,
      void **bank_addr);

Select display bank - RISC OS 6

Entry:
bank_number1 .. maxbankR1
Exit:
prev_bankR0
new_bankR1
bank_addrR2

xosscreenmode_read_display_bank

extern os_error *xosscreenmode_read_display_bank (int *prev_bank,
      int *new_bank,
      void **bank_addr);

Read display bank - RISC OS 6

Exit:
prev_bankR0
new_bankR1
bank_addrR2

osscreenmode_read_display_bank

extern void osscreenmode_read_display_bank (int *prev_bank,
      int *new_bank,
      void **bank_addr);

Read display bank - RISC OS 6

Exit:
prev_bankR0
new_bankR1
bank_addrR2

xosscreenmode_select_driver_bank

extern os_error *xosscreenmode_select_driver_bank (int bank_number,
      int *prev_bank,
      int *new_bank,
      void **bank_addr);

Select driver bank - RISC OS 6

Entry:
bank_number1 .. maxbankR1
Exit:
prev_bankR0
new_bankR1
bank_addrR2

osscreenmode_select_driver_bank

extern void osscreenmode_select_driver_bank (int bank_number,
      int *prev_bank,
      int *new_bank,
      void **bank_addr);

Select driver bank - RISC OS 6

Entry:
bank_number1 .. maxbankR1
Exit:
prev_bankR0
new_bankR1
bank_addrR2

xosscreenmode_read_driver_bank

extern os_error *xosscreenmode_read_driver_bank (int *prev_bank,
      int *new_bank,
      void **bank_addr);

Read driver bank - RISC OS 6

Exit:
prev_bankR0
new_bankR1
bank_addrR2

osscreenmode_read_driver_bank

extern void osscreenmode_read_driver_bank (int *prev_bank,
      int *new_bank,
      void **bank_addr);

Read driver bank - RISC OS 6

Exit:
prev_bankR0
new_bankR1
bank_addrR2

xosscreenmode_copy_bank

extern os_error *xosscreenmode_copy_bank (int src_bank,
      int dst_bank);

Copy bank - RISC OS 6

Entry:
src_bank1 .. maxbankR1
dst_bank1 .. maxbankR2

osscreenmode_copy_bank

extern void osscreenmode_copy_bank (int src_bank,
      int dst_bank);

Copy bank - RISC OS 6

Entry:
src_bank1 .. maxbankR1
dst_bank1 .. maxbankR2

xosscreenmode_select_display_device

extern os_error *xosscreenmode_select_display_device (int display_number,
      int *prev_display_number);

Select a new display device - RISC OS 6

Entry:
display_numberR1
Exit:
prev_display_numberR1

osscreenmode_select_display_device

extern void osscreenmode_select_display_device (int display_number,
      int *prev_display_number);

Select a new display device - RISC OS 6

Entry:
display_numberR1
Exit:
prev_display_numberR1

xosscreenmode_read_display_device

extern os_error *xosscreenmode_read_display_device (int *cur_display_number);

Read currently configured display device - RISC OS 6

Exit:
cur_display_numberR1

osscreenmode_read_display_device

extern void osscreenmode_read_display_device (int *cur_display_number);

Read currently configured display device - RISC OS 6

Exit:
cur_display_numberR1

xosscreenmode_read_display_details

extern os_error *xosscreenmode_read_display_details (int display_number,
      osdisplaydevice_tag_tag_length tag,
      int const *buf,
      int buf_size,
      int *buf_size_out);

Read details from the display device descriptor used during registration of the driver - RISC OS 6

Entry:
display_numberR1
tagR2
bufR3
buf_sizeR4
Exit:
buf_size_outR4

osscreenmode_read_display_details

extern void osscreenmode_read_display_details (int display_number,
      osdisplaydevice_tag_tag_length tag,
      int const *buf,
      int buf_size,
      int *buf_size_out);

Read details from the display device descriptor used during registration of the driver - RISC OS 6

Entry:
display_numberR1
tagR2
bufR3
buf_sizeR4
Exit:
buf_size_outR4

xosscreenmode_mode_string_to_specifier

extern os_error *xosscreenmode_mode_string_to_specifier (char const *mode_string,
      os_mode const *mode_specifier,
      int size_mode_specifier);

Convert a mode string into a mode specifier - RISC OS 6

Entry:
mode_stringR1
mode_specifierR2
size_mode_specifierR3

osscreenmode_mode_string_to_specifier

extern void osscreenmode_mode_string_to_specifier (char const *mode_string,
      os_mode const *mode_specifier,
      int size_mode_specifier);

Convert a mode string into a mode specifier - RISC OS 6

Entry:
mode_stringR1
mode_specifierR2
size_mode_specifierR3

xosscreenmode_mode_specifier_to_string

extern os_error *xosscreenmode_mode_specifier_to_string (os_mode const *mode_specifier,
      char *buf_mode_string,
      int buf_mode_string_size,
      int *buf_free);

Encode a mode string from a mode specifier - RISC OS 6

Entry:
mode_specifierR1
buf_mode_stringR2
buf_mode_string_sizeR3
Exit:
buf_freeR3

osscreenmode_mode_specifier_to_string

extern void osscreenmode_mode_specifier_to_string (os_mode const *mode_specifier,
      char *buf_mode_string,
      int buf_mode_string_size,
      int *buf_free);

Encode a mode string from a mode specifier - RISC OS 6

Entry:
mode_specifierR1
buf_mode_stringR2
buf_mode_string_sizeR3
Exit:
buf_freeR3

xosscreenmode_select_mode_with_mode_string

extern os_error *xosscreenmode_select_mode_with_mode_string (char const *mode_string);

Select a mode given a mode string - RISC OS 6

Entry:
mode_stringR1

osscreenmode_select_mode_with_mode_string

extern void osscreenmode_select_mode_with_mode_string (char const *mode_string);

Select a mode given a mode string - RISC OS 6

Entry:
mode_stringR1

xosscreenmode_read_max_display_number

extern os_error *xosscreenmode_read_max_display_number (int *display_number);

Read highest display number - RISC OS 6

Exit:
display_numberR1

osscreenmode_read_max_display_number

extern int osscreenmode_read_max_display_number (void);

Read highest display number - RISC OS 6

Returns:
display_numberR1

xosscreenmode_deregister_display_device

extern os_error *xosscreenmode_deregister_display_device (int display_number);

Deregister display driver - RISC OS 6

Entry:
display_numberR1

osscreenmode_deregister_display_device

extern void osscreenmode_deregister_display_device (int display_number);

Deregister display driver - RISC OS 6

Entry:
display_numberR1

xosscreenmode_register_display_device

extern os_error *xosscreenmode_register_display_device (osdisplaydevicedescriptor const *descriptor,
      int *display_number,
      asm_routine *vsync_dispatch,
      int *ws_ptr,
      osscreenmoderegisterdisplaydriver_action *action);

Register new display driver - RISC OS 6

Entry:
descriptorR1
Exit:
display_numberR0
vsync_dispatchR1
ws_ptrR2
actionR3

osscreenmode_register_display_device

extern void osscreenmode_register_display_device (osdisplaydevicedescriptor const *descriptor,
      int *display_number,
      asm_routine *vsync_dispatch,
      int *ws_ptr,
      osscreenmoderegisterdisplaydriver_action *action);

Register new display driver - RISC OS 6

Entry:
descriptorR1
Exit:
display_numberR0
vsync_dispatchR1
ws_ptrR2
actionR3

xosdynamicarea_create

extern os_error *xosdynamicarea_create (os_dynamic_area_no area,
      int size,
      byte const *base_address,
      os_area_flags flags,
      int size_limit,
      asm_routine handler,
      void *workspace,
      char const *description,
      os_dynamic_area_no *area_out,
      byte **base_address_out,
      int *size_limit_out);

Creates a new dynamic area - RISC OS 3.5+

Entry:
areaR1
sizeR2
base_addressR3
flagsR4
size_limitR5
handlerR6
workspaceR7
descriptionR8
Exit:
area_outR1
base_address_outR3
size_limit_outR5

osdynamicarea_create

extern os_dynamic_area_no osdynamicarea_create (os_dynamic_area_no area,
      int size,
      byte const *base_address,
      os_area_flags flags,
      int size_limit,
      asm_routine handler,
      void *workspace,
      char const *description,
      byte **base_address_out,
      int *size_limit_out);

Creates a new dynamic area - RISC OS 3.5+

Entry:
areaR1
sizeR2
base_addressR3
flagsR4
size_limitR5
handlerR6
workspaceR7
descriptionR8
Exit:
base_address_outR3
size_limit_outR5
Returns:
area_outR1

xosdynamicarea_delete

extern os_error *xosdynamicarea_delete (os_dynamic_area_no area);

Removes a previously created dynamic area - RISC OS 3.5+

Entry:
areaR1

osdynamicarea_delete

extern void osdynamicarea_delete (os_dynamic_area_no area);

Removes a previously created dynamic area - RISC OS 3.5+

Entry:
areaR1

xosdynamicarea_read

extern os_error *xosdynamicarea_read (os_dynamic_area_no area,
      int *size,
      byte **base_address,
      os_area_flags *flags,
      int *size_limit,
      asm_routine *handler,
      void **workspace,
      char **description);

Returns information on a dynamic area - RISC OS 3.5+

Entry:
areaR1
Exit:
sizeR2
base_addressR3
flagsR4
size_limitR5
handlerR6
workspaceR7
descriptionR8

osdynamicarea_read

extern void osdynamicarea_read (os_dynamic_area_no area,
      int *size,
      byte **base_address,
      os_area_flags *flags,
      int *size_limit,
      asm_routine *handler,
      void **workspace,
      char **description);

Returns information on a dynamic area - RISC OS 3.5+

Entry:
areaR1
Exit:
sizeR2
base_addressR3
flagsR4
size_limitR5
handlerR6
workspaceR7
descriptionR8

xosdynamicarea_enumerate

extern os_error *xosdynamicarea_enumerate (int context,
      int *context_out);

Enumerates dynamic areas - RISC OS 3.5+

Entry:
contextR1
Exit:
context_outR1

osdynamicarea_enumerate

extern int osdynamicarea_enumerate (int context);

Enumerates dynamic areas - RISC OS 3.5+

Entry:
contextR1
Returns:
context_outR1

xosdynamicarea_renumber

extern os_error *xosdynamicarea_renumber (os_dynamic_area_no old_area,
      os_dynamic_area_no new_area);

Renumbers dynamic areas - RISC OS 3.5+

Entry:
old_areaR1
new_areaR2

osdynamicarea_renumber

extern void osdynamicarea_renumber (os_dynamic_area_no old_area,
      os_dynamic_area_no new_area);

Renumbers dynamic areas - RISC OS 3.5+

Entry:
old_areaR1
new_areaR2

xosdynamicarea_free_space

extern os_error *xosdynamicarea_free_space (os_dynamic_area_no exclude_area,
      int *free_space);

Return total free space, allowing for shrinkable areas - RISC OS 4+

Entry:
exclude_areaR1
Exit:
free_spaceR2

osdynamicarea_free_space

extern int osdynamicarea_free_space (os_dynamic_area_no exclude_area);

Return total free space, allowing for shrinkable areas - RISC OS 4+

Entry:
exclude_areaR1
Returns:
free_spaceR2

xosdynamicarea_set_clamps

extern os_error *xosdynamicarea_set_clamps (int unlimited_area_clamp,
      int limited_area_clamp,
      int sparse_area_clamp,
      int *old_unlimited_area_clamp,
      int *old_limited_area_clamp,
      int *old_sparse_area_clamp);

Set clamps on maximum sizes for subsequently created dynamic areas - RISC OS 4+

Entry:
unlimited_area_clampR1
limited_area_clampR2
sparse_area_clampR3
Exit:
old_unlimited_area_clampR1
old_limited_area_clampR2
old_sparse_area_clampR3

osdynamicarea_set_clamps

extern void osdynamicarea_set_clamps (int unlimited_area_clamp,
      int limited_area_clamp,
      int sparse_area_clamp,
      int *old_unlimited_area_clamp,
      int *old_limited_area_clamp,
      int *old_sparse_area_clamp);

Set clamps on maximum sizes for subsequently created dynamic areas - RISC OS 4+

Entry:
unlimited_area_clampR1
limited_area_clampR2
sparse_area_clampR3
Exit:
old_unlimited_area_clampR1
old_limited_area_clampR2
old_sparse_area_clampR3

xosdynamicarea_ensure_region

extern os_error *xosdynamicarea_ensure_region (os_dynamic_area_no area,
      byte const *base_address,
      int size);

Ensures that a region of a sparse area is mapped to valid memory - RISC OS 4+

Entry:
areaR1
base_addressR2
sizeR3

osdynamicarea_ensure_region

extern void osdynamicarea_ensure_region (os_dynamic_area_no area,
      byte const *base_address,
      int size);

Ensures that a region of a sparse area is mapped to valid memory - RISC OS 4+

Entry:
areaR1
base_addressR2
sizeR3

xosdynamicarea_release_region

extern os_error *xosdynamicarea_release_region (os_dynamic_area_no area,
      byte const *base_address,
      int size);

Allows a region of a sparse area to be released as free memory - RISC OS 4+

Entry:
areaR1
base_addressR2
sizeR3

osdynamicarea_release_region

extern void osdynamicarea_release_region (os_dynamic_area_no area,
      byte const *base_address,
      int size);

Allows a region of a sparse area to be released as free memory - RISC OS 4+

Entry:
areaR1
base_addressR2
sizeR3

xosdynamicarea_lock_area

extern os_error *xosdynamicarea_lock_area (os_dynamic_area_no area,
      int lock_code);

Lock the dynamic area - RISC OS 6

Entry:
areaR1
lock_codeR2

osdynamicarea_lock_area

extern void osdynamicarea_lock_area (os_dynamic_area_no area,
      int lock_code);

Lock the dynamic area - RISC OS 6

Entry:
areaR1
lock_codeR2

xosdynamicarea_unlock_area

extern os_error *xosdynamicarea_unlock_area (os_dynamic_area_no area,
      int lock_code);

Unlock the dynamic area

Entry:
areaR1
lock_codeR2

osdynamicarea_unlock_area

extern void osdynamicarea_unlock_area (os_dynamic_area_no area,
      int lock_code);

Unlock the dynamic area

Entry:
areaR1
lock_codeR2

xosdynamicarea_heap_describe

extern os_error *xosdynamicarea_heap_describe (os_dynamic_area_no area,
      int *max,
      int *free);

Describe the space used by a dynamic area's heap - RISC OS Select

Entry:
areaR1
Exit:
maxR2
freeR3

osdynamicarea_heap_describe

extern int osdynamicarea_heap_describe (os_dynamic_area_no area,
      int *max);

Describe the space used by a dynamic area's heap - RISC OS Select

Entry:
areaR1
Exit:
maxR2
Returns:
freeR3

xosdynamicarea_heap_alloc

extern os_error *xosdynamicarea_heap_alloc (os_dynamic_area_no area,
      int size,
      void **blk);

Claim space from a dynamic area's heap - RISC OS Select

Entry:
areaR1
sizeR3
Exit:
blkR2

osdynamicarea_heap_alloc

extern void *osdynamicarea_heap_alloc (os_dynamic_area_no area,
      int size);

Claim space from a dynamic area's heap - RISC OS Select

Entry:
areaR1
sizeR3
Returns:
blkR2

xosdynamicarea_heap_free

extern os_error *xosdynamicarea_heap_free (os_dynamic_area_no area,
      void *blk);

Release space previously claimed from a dynamic area's heap - RISC OS Select

Entry:
areaR1
blkR2

osdynamicarea_heap_free

extern void osdynamicarea_heap_free (os_dynamic_area_no area,
      void *blk);

Release space previously claimed from a dynamic area's heap - RISC OS Select

Entry:
areaR1
blkR2

xosdynamicarea_heap_realloc

extern os_error *xosdynamicarea_heap_realloc (os_dynamic_area_no area,
      void *blk,
      int size_increase,
      void **blk_out);

Resize a previously claimed block from a dynamic area's heap - RISC OS Select

Entry:
areaR1
blkR2
size_increaseR3
Exit:
blk_outR2

osdynamicarea_heap_realloc

extern void *osdynamicarea_heap_realloc (os_dynamic_area_no area,
      void *blk,
      int size_increase);

Resize a previously claimed block from a dynamic area's heap - RISC OS Select

Entry:
areaR1
blkR2
size_increaseR3
Returns:
blk_outR2

xosdynamicarea_heap_read_size

extern os_error *xosdynamicarea_heap_read_size (os_dynamic_area_no area,
      void *blk,
      int *size);

Read the size of a block allocated from a dynamic area's heap - RISC OS Select

Entry:
areaR1
blkR2
Exit:
sizeR3

osdynamicarea_heap_read_size

extern int osdynamicarea_heap_read_size (os_dynamic_area_no area,
      void *blk);

Read the size of a block allocated from a dynamic area's heap - RISC OS Select

Entry:
areaR1
blkR2
Returns:
sizeR3

xosdynamicarea_change_domain_state

extern os_error *xosdynamicarea_change_domain_state (os_dynamic_area_no area,
      osdynamicareadomain_state state,
      osdynamicareadomain_state *old_state);

Change the access of Domain dynamic areas to aborting, or to allow full access - RISC OS 6

Entry:
areaR1
stateR2
Exit:
old_stateR2

osdynamicarea_change_domain_state

extern osdynamicareadomain_state osdynamicarea_change_domain_state (os_dynamic_area_no area,
      osdynamicareadomain_state state);

Change the access of Domain dynamic areas to aborting, or to allow full access - RISC OS 6

Entry:
areaR1
stateR2
Returns:
old_stateR2

xos_abort_trap

extern os_error *xos_abort_trap (osaborttrap_flags operation,
      int low_address,
      int high_address,
      asm_routine abort_handler,
      int r12_abort_handler);

Register or deregister an AbortTrap handler - RISC OS 6

Entry:
operationR0
low_addressR1
high_addressR2
abort_handlerR3
r12_abort_handlerR4

os_abort_trap

extern void os_abort_trap (osaborttrap_flags operation,
      int low_address,
      int high_address,
      asm_routine abort_handler,
      int r12_abort_handler);

Register or deregister an AbortTrap handler - RISC OS 6

Entry:
operationR0
low_addressR1
high_addressR2
abort_handlerR3
r12_abort_handlerR4

xosmemory_page_op

extern os_error *xosmemory_page_op (osmemory_flags flags,
      os_page_block const *page_block,
      int page_count);

General page block operations - RISC OS 3.5+

Entry:
flagsR0
page_blockR1
page_countR2

osmemory_page_op

extern void osmemory_page_op (osmemory_flags flags,
      os_page_block const *page_block,
      int page_count);

General page block operations - RISC OS 3.5+

Entry:
flagsR0
page_blockR1
page_countR2

xosmemory_read_arrangement_table_size

extern os_error *xosmemory_read_arrangement_table_size (int *table_size,
      int *page_size);

Reads the size of the physical memory arrangement table - RISC OS 3.5+ - deprecated in RISC OS 6

Exit:
table_sizeR1
page_sizeR2

osmemory_read_arrangement_table_size

extern int osmemory_read_arrangement_table_size (int *page_size);

Reads the size of the physical memory arrangement table - RISC OS 3.5+ - deprecated in RISC OS 6

Exit:
page_sizeR2
Returns:
table_sizeR1

xosmemory_read_arrangement_table

extern os_error *xosmemory_read_arrangement_table (byte *arrangement_table);

Read the physical memory arrangement table - RISC OS 3.5+ - deprecated in RISC OS 6

Entry:
arrangement_tableR1

osmemory_read_arrangement_table

extern void osmemory_read_arrangement_table (byte *arrangement_table);

Read the physical memory arrangement table - RISC OS 3.5+ - deprecated in RISC OS 6

Entry:
arrangement_tableR1

xosmemory_read_size

extern os_error *xosmemory_read_size (osmemory_type_flags type,
      int *page_count,
      int *page_size);

Reads the amount of a specified type of memory available on the computer - RISC OS 3.5+

Entry:
typeR0
Exit:
page_countR1
page_sizeR2

osmemory_read_size

extern void osmemory_read_size (osmemory_type_flags type,
      int *page_count,
      int *page_size);

Reads the amount of a specified type of memory available on the computer - RISC OS 3.5+

Entry:
typeR0
Exit:
page_countR1
page_sizeR2

xosmemory_read_controller

extern os_error *xosmemory_read_controller (osmemory_controller_flags controller,
      asm_routine *controller_addr);

Reads controller presence and base address - RISC OS 3.5+

Entry:
controllerR1
Exit:
controller_addrR1

osmemory_read_controller

extern void osmemory_read_controller (osmemory_controller_flags controller,
      asm_routine *controller_addr);

Reads controller presence and base address - RISC OS 3.5+

Entry:
controllerR1
Exit:
controller_addrR1

xosmemory_recommend_page

extern os_error *xosmemory_recommend_page (osmemoryrecommendpage_flags flags,
      int size,
      int alignment,
      int *page_number);

Recommends a base page for a currently available (not locked down) region of physically contiguous RAM - RISC OS 4+

Entry:
flagsR0
sizeR1
alignmentbetween 12 and 30R2
Exit:
page_numberR3

osmemory_recommend_page

extern int osmemory_recommend_page (osmemoryrecommendpage_flags flags,
      int size,
      int alignment);

Recommends a base page for a currently available (not locked down) region of physically contiguous RAM - RISC OS 4+

Entry:
flagsR0
sizeR1
alignmentbetween 12 and 30R2
Returns:
page_numberR3

xosmemory_map_in_permanent_io

extern os_error *xosmemory_map_in_permanent_io (osmemory_io_flags flags,
      byte *phys_addr,
      int size,
      byte **log_addr);

Permanently map in a region of IO memory - RISC OS 5

Entry:
flagsR0
phys_addrR1
sizeR2
Exit:
log_addrR3

osmemory_map_in_permanent_io

extern byte *osmemory_map_in_permanent_io (osmemory_io_flags flags,
      byte *phys_addr,
      int size);

Permanently map in a region of IO memory - RISC OS 5

Entry:
flagsR0
phys_addrR1
sizeR2
Returns:
log_addrR3

xosmemory_map_in_temporary_io

extern os_error *xosmemory_map_in_temporary_io (osmemory_io_flags flags,
      byte *phys_addr,
      byte **log_addr,
      osmemory_io_reference_key *key);

Temporarily map in 1Mb of IO memory - RISC OS 5

Entry:
flagsR0
phys_addrR1
Exit:
log_addrR2
keyR3

osmemory_map_in_temporary_io

extern byte *osmemory_map_in_temporary_io (osmemory_io_flags flags,
      byte *phys_addr,
      osmemory_io_reference_key *key);

Temporarily map in 1Mb of IO memory - RISC OS 5

Entry:
flagsR0
phys_addrR1
Exit:
keyR3
Returns:
log_addrR2

xosmemory_map_out_temporary_io

extern os_error *xosmemory_map_out_temporary_io (osmemory_io_reference_key key);

Map out a region of temporary IO memory - RISC OS 5

Entry:
keyR1

osmemory_map_out_temporary_io

extern void osmemory_map_out_temporary_io (osmemory_io_reference_key key);

Map out a region of temporary IO memory - RISC OS 5

Entry:
keyR1

xosmemory_get_area_info

extern os_error *xosmemory_get_area_info (osmemory_area_flags type,
      byte **base,
      int *allocated,
      int *used);

Get information on a memory area - RISC OS 5

Entry:
typeR0
Exit:
baseR1
allocatedR2
usedR3

osmemory_get_area_info

extern byte *osmemory_get_area_info (osmemory_area_flags type,
      int *allocated,
      int *used);

Get information on a memory area - RISC OS 5

Entry:
typeR0
Exit:
allocatedR2
usedR3
Returns:
baseR1

xosmemory_check_memory_access

extern os_error *xosmemory_check_memory_access (osmemorycheckmemoryaccess_flags flags,
      byte *low,
      byte *high,
      osmemorycheckmemoryaccess_bits *access_flags);

Determine the accessibility of a range of memory - RISC OS 6

Entry:
flagsR0
lowR1
highR2
Exit:
access_flagsR1

osmemory_check_memory_access

extern osmemorycheckmemoryaccess_bits osmemory_check_memory_access (osmemorycheckmemoryaccess_flags flags,
      byte *low,
      byte *high);

Determine the accessibility of a range of memory - RISC OS 6

Entry:
flagsR0
lowR1
highR2
Returns:
access_flagsR1

xosmemory_read_controller_base_address

extern os_error *xosmemory_read_controller_base_address (osmemoryreadcontrollerbaseaddress_flags flags,
      osmemory_controller_flags controller,
      byte **address);

Checks for the presence of a given controller and returns its physical address - RISC OS 6

Entry:
flagsR0
controllerR1
Exit:
addressR1

osmemory_read_controller_base_address

extern byte *osmemory_read_controller_base_address (osmemoryreadcontrollerbaseaddress_flags flags,
      osmemory_controller_flags controller);

Checks for the presence of a given controller and returns its physical address - RISC OS 6

Entry:
flagsR0
controllerR1
Returns:
addressR1

xosclaimprocessorvector_alloc

extern os_error *xosclaimprocessorvector_alloc (bits vector,
      asm_routine routine,
      asm_routine *old_routine);

Claims a processor vector - RISC OS 3.5+

Entry:
vectorR0
routineR1
Exit:
old_routineR1

osclaimprocessorvector_alloc

extern asm_routine osclaimprocessorvector_alloc (bits vector,
      asm_routine routine);

Claims a processor vector - RISC OS 3.5+

Entry:
vectorR0
routineR1
Returns:
old_routineR1

xosclaimprocessorvector_free

extern os_error *xosclaimprocessorvector_free (bits vector,
      asm_routine old_routine);

Releases a processor vector - RISC OS 3.5+

Entry:
vectorR0
old_routineR2

osclaimprocessorvector_free

extern void osclaimprocessorvector_free (bits vector,
      asm_routine old_routine);

Releases a processor vector - RISC OS 3.5+

Entry:
vectorR0
old_routineR2

xos_reset

extern os_error *xos_reset (void);

Performs a hard reset - RISC OS 3.5+

os_reset

extern void os_reset (void);

Performs a hard reset - RISC OS 3.5+

xos_mmu_control

extern os_error *xos_mmu_control (bits eor_mask,
      bits and_mask,
      bits *old_value);

Modifies the ARM MMU - prefer Cache_Control; RISC OS 3.5+

Entry:
eor_maskR1
and_maskR2
Exit:
old_valueR1

os_mmu_control

extern bits os_mmu_control (bits eor_mask,
      bits and_mask);

Modifies the ARM MMU - prefer Cache_Control; RISC OS 3.5+

Entry:
eor_maskR1
and_maskR2
Returns:
old_valueR1

xos_mmu_control_flush_request

extern os_error *xos_mmu_control_flush_request (os_mmu_control_flush_request_flags request_type);

Request a cache flush - RISC OS 3.7+

Entry:
request_typeR0

os_mmu_control_flush_request

extern void os_mmu_control_flush_request (os_mmu_control_flush_request_flags request_type);

Request a cache flush - RISC OS 3.7+

Entry:
request_typeR0

xos_mmu_control_flush_request_single_entry

extern os_error *xos_mmu_control_flush_request_single_entry (byte *entry_address);

Request a cache flush of a single entry - RISC OS 3.7+

Entry:
entry_addressR1

os_mmu_control_flush_request_single_entry

extern void os_mmu_control_flush_request_single_entry (byte *entry_address);

Request a cache flush of a single entry - RISC OS 3.7+

Entry:
entry_addressR1

xosplatformfeatures_get_features

extern os_error *xosplatformfeatures_get_features (os_platform_feature_flags *flags,
      asm_routine *predisable_fn);

Reports platform code features - RISC OS 3.7+

Exit:
flagsR0
predisable_fnR1

osplatformfeatures_get_features

extern os_platform_feature_flags osplatformfeatures_get_features (asm_routine *predisable_fn);

Reports platform code features - RISC OS 3.7+

Exit:
predisable_fnR1
Returns:
flagsR0

xosplatformfeatures_get_mmu_features

extern os_error *xosplatformfeatures_get_mmu_features (int *cache_enabled_state,
      int *cache_disabled_state,
      int *acceptable_flags_proc,
      int *required_flags_proc,
      int *acceptable_flags_os,
      int *required_flags_os);

Reports MMU features - RISC OS 6

Exit:
cache_enabled_stateR0
cache_disabled_stateR1
acceptable_flags_procR2
required_flags_procR3
acceptable_flags_osR4
required_flags_osR6

osplatformfeatures_get_mmu_features

extern void osplatformfeatures_get_mmu_features (int *cache_enabled_state,
      int *cache_disabled_state,
      int *acceptable_flags_proc,
      int *required_flags_proc,
      int *acceptable_flags_os,
      int *required_flags_os);

Reports MMU features - RISC OS 6

Exit:
cache_enabled_stateR0
cache_disabled_stateR1
acceptable_flags_procR2
required_flags_procR3
acceptable_flags_osR4
required_flags_osR6

xos_synchronise_code_areas

extern os_error *xos_synchronise_code_areas (bits flags,
      asm_routine start,
      asm_routine end);

Informs the OS that code has been newly generated or modified in memory - RISC OS 3.7+

Entry:
flagsR0
startR1
endR2

os_synchronise_code_areas

extern void os_synchronise_code_areas (bits flags,
      asm_routine start,
      asm_routine end);

Informs the OS that code has been newly generated or modified in memory - RISC OS 3.7+

Entry:
flagsR0
startR1
endR2

xosambcontrol_create

extern os_error *xosambcontrol_create (int pages,
      int *pages_out,
      os_amb *amb);

Creates an application memory block - RISC OS 3.7+

Entry:
pagesR1
Exit:
pages_outR1
ambR2

osambcontrol_create

extern void osambcontrol_create (int pages,
      int *pages_out,
      os_amb *amb);

Creates an application memory block - RISC OS 3.7+

Entry:
pagesR1
Exit:
pages_outR1
ambR2

xosambcontrol_delete

extern os_error *xosambcontrol_delete (os_amb amb);

Removes an application memory block - RISC OS 3.7+

Entry:
ambR2

osambcontrol_delete

extern void osambcontrol_delete (os_amb amb);

Removes an application memory block - RISC OS 3.7+

Entry:
ambR2

xosambcontrol_resize

extern os_error *xosambcontrol_resize (int pages,
      os_amb amb,
      int *pages_out,
      os_amb *amb_out,
      int *pages_before);

Extends or shrinks an application memory block - RISC OS 3.7+

Entry:
pagesR1
ambR2
Exit:
pages_outR1
amb_outR2
pages_beforeR3

osambcontrol_resize

extern void osambcontrol_resize (int pages,
      os_amb amb,
      int *pages_out,
      os_amb *amb_out,
      int *pages_before);

Extends or shrinks an application memory block - RISC OS 3.7+

Entry:
pagesR1
ambR2
Exit:
pages_outR1
amb_outR2
pages_beforeR3

xosambcontrol_map

extern os_error *xosambcontrol_map (os_amb_control_flags flags,
      byte const *base_address,
      os_amb amb,
      int start,
      int end);

Map an application memory block into virtual memory - RISC OS 3.7+

Entry:
flagsR0
base_addressR1
ambR2
startR3
endR4

osambcontrol_map

extern void osambcontrol_map (os_amb_control_flags flags,
      byte const *base_address,
      os_amb amb,
      int start,
      int end);

Map an application memory block into virtual memory - RISC OS 3.7+

Entry:
flagsR0
base_addressR1
ambR2
startR3
endR4

xosambcontrol_info

extern os_error *xosambcontrol_info (os_amb amb,
      byte **base_address,
      int *pages);

Read information about an application memory block - RISC OS 3.7+

Entry:
ambR2
Exit:
base_addressR1
pagesR3

osambcontrol_info

extern void osambcontrol_info (os_amb amb,
      byte **base_address,
      int *pages);

Read information about an application memory block - RISC OS 3.7+

Entry:
ambR2
Exit:
base_addressR1
pagesR3

xosambcontrol_lazy_swapping

extern os_error *xosambcontrol_lazy_swapping (os_lazy_swapping action,
      os_lazy_swapping *state);

Read or change lazy task swapping state - RISC OS 3.7+

Entry:
actionR1
Exit:
stateR1

osambcontrol_lazy_swapping

extern void osambcontrol_lazy_swapping (os_lazy_swapping action,
      os_lazy_swapping *state);

Read or change lazy task swapping state - RISC OS 3.7+

Entry:
actionR1
Exit:
stateR1

xosambcontrol_enumerate

extern os_error *xosambcontrol_enumerate (os_amb_table *table);

Enumerate application memory blocks - RISC OS 3.7+

Entry:
tableR1

osambcontrol_enumerate

extern void osambcontrol_enumerate (os_amb_table *table);

Enumerate application memory blocks - RISC OS 3.7+

Entry:
tableR1

xos_enter_usr32

extern os_error *xos_enter_usr32 (void);

Enter 32 bit user mode - RISC OS 4+

os_enter_usr32

extern void os_enter_usr32 (void);

Enter 32 bit user mode - RISC OS 4+

xos_enter_usr26

extern os_error *xos_enter_usr26 (void);

Enter 26 bit user mode - RISC OS 4+

os_enter_usr26

extern void os_enter_usr26 (void);

Enter 26 bit user mode - RISC OS 4+

xosclaimosswi_claim

extern os_error *xosclaimosswi_claim (int swi,
      asm_routine routine,
      byte *handle,
      asm_routine *old_routine,
      byte **old_handle);

Claims a software interrupt

Entry:
swiR1
routineR2
handleR3
Exit:
old_routineR2
old_handleR3

osclaimosswi_claim

extern void osclaimosswi_claim (int swi,
      asm_routine routine,
      byte *handle,
      asm_routine *old_routine,
      byte **old_handle);

Claims a software interrupt

Entry:
swiR1
routineR2
handleR3
Exit:
old_routineR2
old_handleR3

xosclaimosswi_release

extern os_error *xosclaimosswi_release (int swi,
      asm_routine routine,
      byte *handle);

Releases a software interrupt

Entry:
swiR1
routineR2
handleR3

osclaimosswi_release

extern void osclaimosswi_release (int swi,
      asm_routine routine,
      byte *handle);

Releases a software interrupt

Entry:
swiR1
routineR2
handleR3

xostaskcontrol_read_addr_stack_reset_code

extern os_error *xostaskcontrol_read_addr_stack_reset_code (asm_routine *routine);

Read address of stacks reset code

Exit:
routineR0

ostaskcontrol_read_addr_stack_reset_code

extern asm_routine ostaskcontrol_read_addr_stack_reset_code (void);

Read address of stacks reset code

Returns:
routineR0

xos_hardware_call_hal

extern os_error *xos_hardware_call_hal (int arg1,
      int arg2,
      int arg3,
      int arg4,
      int arg5,
      int arg6,
      int arg7,
      int arg8,
      os_hardware_flags flags,
      int call,
      int *result1,
      int *result2,
      int *result3,
      int *result4);

Calls a HAL routine - RISC OS 5+

Entry:
arg1R0
arg2R1
arg3R2
arg4R3
arg5R4
arg6R5
arg7R6
arg8R7
flagsR8
callR9
Exit:
result1R0
result2R1
result3R2
result4R3

os_hardware_call_hal

extern void os_hardware_call_hal (int arg1,
      int arg2,
      int arg3,
      int arg4,
      int arg5,
      int arg6,
      int arg7,
      int arg8,
      os_hardware_flags flags,
      int call,
      int *result1,
      int *result2,
      int *result3,
      int *result4);

Calls a HAL routine - RISC OS 5+

Entry:
arg1R0
arg2R1
arg3R2
arg4R3
arg5R4
arg6R5
arg7R6
arg8R7
flagsR8
callR9
Exit:
result1R0
result2R1
result3R2
result4R3

xos_hardware_find_hal_routine

extern os_error *xos_hardware_find_hal_routine (os_hardware_flags flags,
      int call,
      asm_routine *routine,
      int *static_base);

Finds the address of a HAL routine - RISC OS 5+

Entry:
flagsR8
callR9
Exit:
routineR0
static_baseR1

os_hardware_find_hal_routine

extern asm_routine os_hardware_find_hal_routine (os_hardware_flags flags,
      int call,
      int *static_base);

Finds the address of a HAL routine - RISC OS 5+

Entry:
flagsR8
callR9
Exit:
static_baseR1
Returns:
routineR0

xos_convert_standard_date_and_time

extern os_error *xos_convert_standard_date_and_time (os_date_and_time const *date_and_time,
      char *buffer,
      int size,
      char **end);

Converts a 5-byte time into a string - prefer Territory_ConvertStandardDateAndTime

Entry:
date_and_timeR0
bufferR1
sizeR2
Exit:
endR1

os_convert_standard_date_and_time

extern char *os_convert_standard_date_and_time (os_date_and_time const *date_and_time,
      char *buffer,
      int size);

Converts a 5-byte time into a string - prefer Territory_ConvertStandardDateAndTime

Entry:
date_and_timeR0
bufferR1
sizeR2
Returns:
endR1

xos_convert_date_and_time

extern os_error *xos_convert_date_and_time (os_date_and_time const *date_and_time,
      char *buffer,
      int size,
      char const *format,
      char **end);

Converts a 5-byte time into a string using a supplied format string - prefer Territory_ConvertDateAndTime

Entry:
date_and_timeR0
bufferR1
sizeR2
formatR3
Exit:
endR1

os_convert_date_and_time

extern char *os_convert_date_and_time (os_date_and_time const *date_and_time,
      char *buffer,
      int size,
      char const *format);

Converts a 5-byte time into a string using a supplied format string - prefer Territory_ConvertDateAndTime

Entry:
date_and_timeR0
bufferR1
sizeR2
formatR3
Returns:
endR1

xos_convert_hex1

extern os_error *xos_convert_hex1 (int value,
      char *buffer,
      int size,
      char **end);

Converts a number into a 1-digit hexadecimal string

Entry:
valueR0
bufferR1
sizeR2
Exit:
endR1

os_convert_hex1

extern char *os_convert_hex1 (int value,
      char *buffer,
      int size);

Converts a number into a 1-digit hexadecimal string

Entry:
valueR0
bufferR1
sizeR2
Returns:
endR1

xos_convert_hex2

extern os_error *xos_convert_hex2 (int value,
      char *buffer,
      int size,
      char **end);

Converts a number into a 2-digit hexadecimal string

Entry:
valueR0
bufferR1
sizeR2
Exit:
endR1

os_convert_hex2

extern char *os_convert_hex2 (int value,
      char *buffer,
      int size);

Converts a number into a 2-digit hexadecimal string

Entry:
valueR0
bufferR1
sizeR2
Returns:
endR1

xos_convert_hex4

extern os_error *xos_convert_hex4 (int value,
      char *buffer,
      int size,
      char **end);

Converts a number into a 4-digit hexadecimal string

Entry:
valueR0
bufferR1
sizeR2
Exit:
endR1

os_convert_hex4

extern char *os_convert_hex4 (int value,
      char *buffer,
      int size);

Converts a number into a 4-digit hexadecimal string

Entry:
valueR0
bufferR1
sizeR2
Returns:
endR1

xos_convert_hex6

extern os_error *xos_convert_hex6 (int value,
      char *buffer,
      int size,
      char **end);

Converts a number into a 6-digit hexadecimal string

Entry:
valueR0
bufferR1
sizeR2
Exit:
endR1

os_convert_hex6

extern char *os_convert_hex6 (int value,
      char *buffer,
      int size);

Converts a number into a 6-digit hexadecimal string

Entry:
valueR0
bufferR1
sizeR2
Returns:
endR1

xos_convert_hex8

extern os_error *xos_convert_hex8 (int value,
      char *buffer,
      int size,
      char **end);

Converts a number into an 8-digit hexadecimal string

Entry:
valueR0
bufferR1
sizeR2
Exit:
endR1

os_convert_hex8

extern char *os_convert_hex8 (int value,
      char *buffer,
      int size);

Converts a number into an 8-digit hexadecimal string

Entry:
valueR0
bufferR1
sizeR2
Returns:
endR1

xos_convert_cardinal1

extern os_error *xos_convert_cardinal1 (int value,
      char *buffer,
      int size,
      char **end);

Converts a 1-byte number into an unsigned decimal string

Entry:
valueR0
bufferR1
sizeR2
Exit:
endR1

os_convert_cardinal1

extern char *os_convert_cardinal1 (int value,
      char *buffer,
      int size);

Converts a 1-byte number into an unsigned decimal string

Entry:
valueR0
bufferR1
sizeR2
Returns:
endR1

xos_convert_cardinal2

extern os_error *xos_convert_cardinal2 (int value,
      char *buffer,
      int size,
      char **end);

Converts a 2-byte number into an unsigned decimal string

Entry:
valueR0
bufferR1
sizeR2
Exit:
endR1

os_convert_cardinal2

extern char *os_convert_cardinal2 (int value,
      char *buffer,
      int size);

Converts a 2-byte number into an unsigned decimal string

Entry:
valueR0
bufferR1
sizeR2
Returns:
endR1

xos_convert_cardinal3

extern os_error *xos_convert_cardinal3 (int value,
      char *buffer,
      int size,
      char **end);

Converts a 3-byte number into an unsigned decimal string

Entry:
valueR0
bufferR1
sizeR2
Exit:
endR1

os_convert_cardinal3

extern char *os_convert_cardinal3 (int value,
      char *buffer,
      int size);

Converts a 3-byte number into an unsigned decimal string

Entry:
valueR0
bufferR1
sizeR2
Returns:
endR1

xos_convert_cardinal4

extern os_error *xos_convert_cardinal4 (int value,
      char *buffer,
      int size,
      char **end);

Converts a 4-byte number into an unsigned decimal string

Entry:
valueR0
bufferR1
sizeR2
Exit:
endR1

os_convert_cardinal4

extern char *os_convert_cardinal4 (int value,
      char *buffer,
      int size);

Converts a 4-byte number into an unsigned decimal string

Entry:
valueR0
bufferR1
sizeR2
Returns:
endR1

xos_convert_integer1

extern os_error *xos_convert_integer1 (int value,
      char *buffer,
      int size,
      char **end);

Converts a 1-byte number into a signed decimal string

Entry:
valueR0
bufferR1
sizeR2
Exit:
endR1

os_convert_integer1

extern char *os_convert_integer1 (int value,
      char *buffer,
      int size);

Converts a 1-byte number into a signed decimal string

Entry:
valueR0
bufferR1
sizeR2
Returns:
endR1

xos_convert_integer2

extern os_error *xos_convert_integer2 (int value,
      char *buffer,
      int size,
      char **end);

Converts a 2-byte number into a signed decimal string

Entry:
valueR0
bufferR1
sizeR2
Exit:
endR1

os_convert_integer2

extern char *os_convert_integer2 (int value,
      char *buffer,
      int size);

Converts a 2-byte number into a signed decimal string

Entry:
valueR0
bufferR1
sizeR2
Returns:
endR1

xos_convert_integer3

extern os_error *xos_convert_integer3 (int value,
      char *buffer,
      int size,
      char **end);

Converts a 3-byte number into a signed decimal string

Entry:
valueR0
bufferR1
sizeR2
Exit:
endR1

os_convert_integer3

extern char *os_convert_integer3 (int value,
      char *buffer,
      int size);

Converts a 3-byte number into a signed decimal string

Entry:
valueR0
bufferR1
sizeR2
Returns:
endR1

xos_convert_integer4

extern os_error *xos_convert_integer4 (int value,
      char *buffer,
      int size,
      char **end);

Converts a 4-byte number into a signed decimal string

Entry:
valueR0
bufferR1
sizeR2
Exit:
endR1

os_convert_integer4

extern char *os_convert_integer4 (int value,
      char *buffer,
      int size);

Converts a 4-byte number into a signed decimal string

Entry:
valueR0
bufferR1
sizeR2
Returns:
endR1

xos_convert_binary1

extern os_error *xos_convert_binary1 (int value,
      char *buffer,
      int size,
      char **end);

Converts a 1-byte number into an unsigned binary string

Entry:
valueR0
bufferR1
sizeR2
Exit:
endR1

os_convert_binary1

extern char *os_convert_binary1 (int value,
      char *buffer,
      int size);

Converts a 1-byte number into an unsigned binary string

Entry:
valueR0
bufferR1
sizeR2
Returns:
endR1

xos_convert_binary2

extern os_error *xos_convert_binary2 (int value,
      char *buffer,
      int size,
      char **end);

Converts a 2-byte number into an unsigned binary string

Entry:
valueR0
bufferR1
sizeR2
Exit:
endR1

os_convert_binary2

extern char *os_convert_binary2 (int value,
      char *buffer,
      int size);

Converts a 2-byte number into an unsigned binary string

Entry:
valueR0
bufferR1
sizeR2
Returns:
endR1

xos_convert_binary3

extern os_error *xos_convert_binary3 (int value,
      char *buffer,
      int size,
      char **end);

Converts a 3-byte number into an unsigned binary string

Entry:
valueR0
bufferR1
sizeR2
Exit:
endR1

os_convert_binary3

extern char *os_convert_binary3 (int value,
      char *buffer,
      int size);

Converts a 3-byte number into an unsigned binary string

Entry:
valueR0
bufferR1
sizeR2
Returns:
endR1

xos_convert_binary4

extern os_error *xos_convert_binary4 (int value,
      char *buffer,
      int size,
      char **end);

Converts a 4-byte number into an unsigned binary string

Entry:
valueR0
bufferR1
sizeR2
Exit:
endR1

os_convert_binary4

extern char *os_convert_binary4 (int value,
      char *buffer,
      int size);

Converts a 4-byte number into an unsigned binary string

Entry:
valueR0
bufferR1
sizeR2
Returns:
endR1

xos_convert_spaced_cardinal1

extern os_error *xos_convert_spaced_cardinal1 (int value,
      char *buffer,
      int size,
      char **end);

Converts a 1-byte number into a spaced unsigned decimal string

Entry:
valueR0
bufferR1
sizeR2
Exit:
endR1

os_convert_spaced_cardinal1

extern char *os_convert_spaced_cardinal1 (int value,
      char *buffer,
      int size);

Converts a 1-byte number into a spaced unsigned decimal string

Entry:
valueR0
bufferR1
sizeR2
Returns:
endR1

xos_convert_spaced_cardinal2

extern os_error *xos_convert_spaced_cardinal2 (int value,
      char *buffer,
      int size,
      char **end);

Converts a 2-byte number into a spaced unsigned decimal string

Entry:
valueR0
bufferR1
sizeR2
Exit:
endR1

os_convert_spaced_cardinal2

extern char *os_convert_spaced_cardinal2 (int value,
      char *buffer,
      int size);

Converts a 2-byte number into a spaced unsigned decimal string

Entry:
valueR0
bufferR1
sizeR2
Returns:
endR1

xos_convert_spaced_cardinal3

extern os_error *xos_convert_spaced_cardinal3 (int value,
      char *buffer,
      int size,
      char **end);

Converts a 3-byte number into a spaced unsigned decimal string

Entry:
valueR0
bufferR1
sizeR2
Exit:
endR1

os_convert_spaced_cardinal3

extern char *os_convert_spaced_cardinal3 (int value,
      char *buffer,
      int size);

Converts a 3-byte number into a spaced unsigned decimal string

Entry:
valueR0
bufferR1
sizeR2
Returns:
endR1

xos_convert_spaced_cardinal4

extern os_error *xos_convert_spaced_cardinal4 (int value,
      char *buffer,
      int size,
      char **end);

Converts a 4-byte number into a spaced unsigned decimal string

Entry:
valueR0
bufferR1
sizeR2
Exit:
endR1

os_convert_spaced_cardinal4

extern char *os_convert_spaced_cardinal4 (int value,
      char *buffer,
      int size);

Converts a 4-byte number into a spaced unsigned decimal string

Entry:
valueR0
bufferR1
sizeR2
Returns:
endR1

xos_convert_spaced_integer1

extern os_error *xos_convert_spaced_integer1 (int value,
      char *buffer,
      int size,
      char **end);

Converts a 1-byte number into a spaced signed decimal string

Entry:
valueR0
bufferR1
sizeR2
Exit:
endR1

os_convert_spaced_integer1

extern char *os_convert_spaced_integer1 (int value,
      char *buffer,
      int size);

Converts a 1-byte number into a spaced signed decimal string

Entry:
valueR0
bufferR1
sizeR2
Returns:
endR1

xos_convert_spaced_integer2

extern os_error *xos_convert_spaced_integer2 (int value,
      char *buffer,
      int size,
      char **end);

Converts a 2-byte number into a spaced signed decimal string

Entry:
valueR0
bufferR1
sizeR2
Exit:
endR1

os_convert_spaced_integer2

extern char *os_convert_spaced_integer2 (int value,
      char *buffer,
      int size);

Converts a 2-byte number into a spaced signed decimal string

Entry:
valueR0
bufferR1
sizeR2
Returns:
endR1

xos_convert_spaced_integer3

extern os_error *xos_convert_spaced_integer3 (int value,
      char *buffer,
      int size,
      char **end);

Converts a 3-byte number into a spaced signed decimal string

Entry:
valueR0
bufferR1
sizeR2
Exit:
endR1

os_convert_spaced_integer3

extern char *os_convert_spaced_integer3 (int value,
      char *buffer,
      int size);

Converts a 3-byte number into a spaced signed decimal string

Entry:
valueR0
bufferR1
sizeR2
Returns:
endR1

xos_convert_spaced_integer4

extern os_error *xos_convert_spaced_integer4 (int value,
      char *buffer,
      int size,
      char **end);

Converts a 4-byte number into a spaced signed decimal string

Entry:
valueR0
bufferR1
sizeR2
Exit:
endR1

os_convert_spaced_integer4

extern char *os_convert_spaced_integer4 (int value,
      char *buffer,
      int size);

Converts a 4-byte number into a spaced signed decimal string

Entry:
valueR0
bufferR1
sizeR2
Returns:
endR1

xos_convert_fixed_net_station

extern os_error *xos_convert_fixed_net_station (os_station_number const *station_number,
      char *buffer,
      int size,
      char **end);

Converts from an Econet station/network number pair to a string of fixed length

Entry:
station_numberR0
bufferR1
sizeR2
Exit:
endR1

os_convert_fixed_net_station

extern char *os_convert_fixed_net_station (os_station_number const *station_number,
      char *buffer,
      int size);

Converts from an Econet station/network number pair to a string of fixed length

Entry:
station_numberR0
bufferR1
sizeR2
Returns:
endR1

xos_convert_net_station

extern os_error *xos_convert_net_station (os_station_number const *station_number,
      char *buffer,
      int size,
      char **end);

Converts from an Econet station/network number pair to a string

Entry:
station_numberR0
bufferR1
sizeR2
Exit:
endR1

os_convert_net_station

extern char *os_convert_net_station (os_station_number const *station_number,
      char *buffer,
      int size);

Converts from an Econet station/network number pair to a string

Entry:
station_numberR0
bufferR1
sizeR2
Returns:
endR1

xos_convert_fixed_file_size

extern os_error *xos_convert_fixed_file_size (int file_size,
      char *buffer,
      int size,
      char **end);

Converts an integer into a filesize string of fixed length

Entry:
file_sizeR0
bufferR1
sizeR2
Exit:
endR1

os_convert_fixed_file_size

extern char *os_convert_fixed_file_size (int file_size,
      char *buffer,
      int size);

Converts an integer into a filesize string of fixed length

Entry:
file_sizeR0
bufferR1
sizeR2
Returns:
endR1

xos_convert_file_size

extern os_error *xos_convert_file_size (int file_size,
      char *buffer,
      int size,
      char **end);

Converts an integer into a filesize string

Entry:
file_sizeR0
bufferR1
sizeR2
Exit:
endR1

os_convert_file_size

extern char *os_convert_file_size (int file_size,
      char *buffer,
      int size);

Converts an integer into a filesize string

Entry:
file_sizeR0
bufferR1
sizeR2
Returns:
endR1

xos_null

extern os_error *xos_null (void);

VDU command for nul (no operation)

os_null

extern void os_null (void);

VDU command for nul (no operation)

xos_char_to_printer

extern os_error *xos_char_to_printer (void);

VDU command to send the next character to the printer only - must be followed by 'char'

os_char_to_printer

extern void os_char_to_printer (void);

VDU command to send the next character to the printer only - must be followed by 'char'

xos_printer_on

extern os_error *xos_printer_on (void);

VDU command to enable the printer stream - prefer PDriver

os_printer_on

extern void os_printer_on (void);

VDU command to enable the printer stream - prefer PDriver

xos_printer_off

extern os_error *xos_printer_off (void);

VDU command to disable the printer stream - prefer PDriver

os_printer_off

extern void os_printer_off (void);

VDU command to disable the printer stream - prefer PDriver

xos_split_cursors

extern os_error *xos_split_cursors (void);

VDU command to split the text and graphics cursors

os_split_cursors

extern void os_split_cursors (void);

VDU command to split the text and graphics cursors

xos_join_cursors

extern os_error *xos_join_cursors (void);

VDU command to join the text and graphics cursors

os_join_cursors

extern void os_join_cursors (void);

VDU command to join the text and graphics cursors

xos_vdu_on

extern os_error *xos_vdu_on (void);

VDU command to enable screen output

os_vdu_on

extern void os_vdu_on (void);

VDU command to enable screen output

xos_bell

extern os_error *xos_bell (void);

VDU command to ring the bell

os_bell

extern void os_bell (void);

VDU command to ring the bell

xos_backspace

extern os_error *xos_backspace (void);

VDU command to perform a backspace

os_backspace

extern void os_backspace (void);

VDU command to perform a backspace

xos_tab

extern os_error *xos_tab (void);

VDU command to perform a horizontal tab

os_tab

extern void os_tab (void);

VDU command to perform a horizontal tab

xos_line_feed

extern os_error *xos_line_feed (void);

VDU command to perform a linefeed

os_line_feed

extern void os_line_feed (void);

VDU command to perform a linefeed

xos_vertical_tab

extern os_error *xos_vertical_tab (void);

VDU command to perform a vertical tab

os_vertical_tab

extern void os_vertical_tab (void);

VDU command to perform a vertical tab

xos_cls

extern os_error *xos_cls (void);

VDU command to clear the text window

os_cls

extern void os_cls (void);

VDU command to clear the text window

xos_return

extern os_error *xos_return (void);

VDU command to perform a return

os_return

extern void os_return (void);

VDU command to perform a return

xos_page_mode_on

extern os_error *xos_page_mode_on (void);

VDU command to turn paged mode on

os_page_mode_on

extern void os_page_mode_on (void);

VDU command to turn paged mode on

xos_page_mode_off

extern os_error *xos_page_mode_off (void);

VDU command to turn paged mode off

os_page_mode_off

extern void os_page_mode_off (void);

VDU command to turn paged mode off

xos_clg

extern os_error *xos_clg (void);

VDU command to clear the graphics window

os_clg

extern void os_clg (void);

VDU command to clear the graphics window

xos_set_text_colour

extern os_error *xos_set_text_colour (void);

VDU command to set the text colour - must be followed by 'colour' - prefer OS_SetColour

os_set_text_colour

extern void os_set_text_colour (void);

VDU command to set the text colour - must be followed by 'colour' - prefer OS_SetColour

xos_set_gcol

extern os_error *xos_set_gcol (void);

VDU command to set the graphics colour and action - must be followed by 'action,' 'colour' - prefer OS_SetColour

os_set_gcol

extern void os_set_gcol (void);

VDU command to set the graphics colour and action - must be followed by 'action,' 'colour' - prefer OS_SetColour

xos_set_palette

extern os_error *xos_set_palette (void);

VDU command to set the palette - must be followed by 'colour,' 'mode,' 'red,' 'green,' 'blue'

os_set_palette

extern void os_set_palette (void);

VDU command to set the palette - must be followed by 'colour,' 'mode,' 'red,' 'green,' 'blue'

xos_reset_colours

extern os_error *xos_reset_colours (void);

VDU command to restore default colours

os_reset_colours

extern void os_reset_colours (void);

VDU command to restore default colours

xos_vdu_off

extern os_error *xos_vdu_off (void);

VDU command to disable screen output

os_vdu_off

extern void os_vdu_off (void);

VDU command to disable screen output

xos_set_mode

extern os_error *xos_set_mode (void);

VDU command to change display mode - must be followed by 'mode' - prefer OS_ScreenMode

os_set_mode

extern void os_set_mode (void);

VDU command to change display mode - must be followed by 'mode' - prefer OS_ScreenMode

xos_misc

extern os_error *xos_misc (void);

Miscellaneous VDU commands - must be followed by 'command' and 8 more arguments

os_misc

extern void os_misc (void);

Miscellaneous VDU commands - must be followed by 'command' and 8 more arguments

xos_set_graphics_window

extern os_error *xos_set_graphics_window (void);

VDU command to define the graphics window - must be followed by 'x0,' 'y0,' 'x1,' 'y1' (2 bytes each)

os_set_graphics_window

extern void os_set_graphics_window (void);

VDU command to define the graphics window - must be followed by 'x0,' 'y0,' 'x1,' 'y1' (2 bytes each)

xos_plot_vdu

extern os_error *xos_plot_vdu (void);

General VDU plot commands - must be followed by 'plot_type' and 'x,' 'y' (2 bytes each) - prefer OS_Plot

os_plot_vdu

extern void os_plot_vdu (void);

General VDU plot commands - must be followed by 'plot_type' and 'x,' 'y' (2 bytes each) - prefer OS_Plot

xos_reset_windows

extern os_error *xos_reset_windows (void);

VDU command to restore default windows

os_reset_windows

extern void os_reset_windows (void);

VDU command to restore default windows

xos_escape

extern os_error *xos_escape (void);

VDU command for escape (no operation)

os_escape

extern void os_escape (void);

VDU command for escape (no operation)

xos_set_text_window

extern os_error *xos_set_text_window (void);

VDU command to define the text window - must be followed by 'x0,' 'y0,' 'x1,' 'y1'

os_set_text_window

extern void os_set_text_window (void);

VDU command to define the text window - must be followed by 'x0,' 'y0,' 'x1,' 'y1'

xos_set_graphics_origin

extern os_error *xos_set_graphics_origin (void);

VDU command to set the graphics origin - must be followed by 'x,' 'y' (2 bytes each)

os_set_graphics_origin

extern void os_set_graphics_origin (void);

VDU command to set the graphics origin - must be followed by 'x,' 'y' (2 bytes each)

xos_home_text_cursor

extern os_error *xos_home_text_cursor (void);

VDU command to home the text cursor

os_home_text_cursor

extern void os_home_text_cursor (void);

VDU command to home the text cursor

xos_set_text_cursor

extern os_error *xos_set_text_cursor (void);

VDU command to position the text cursor - must be followed by 'x,' 'y'

os_set_text_cursor

extern void os_set_text_cursor (void);

VDU command to position the text cursor - must be followed by 'x,' 'y'

xos_space

extern os_error *xos_space (void);

VDU command to perform a space

os_space

extern void os_space (void);

VDU command to perform a space

xos_delete

extern os_error *xos_delete (void);

VDU command to perform a delete

os_delete

extern void os_delete (void);

VDU command to perform a delete

xerrorv

extern os_error *xerrorv (os_error const *error);

Calls ErrorV vector directly

Entry:
errorR0

errorv

extern void errorv (os_error const *error);

Calls ErrorV vector directly

Entry:
errorR0

xirqv

extern os_error *xirqv (void);

Calls IrqV vector directly and called when an unknown IRQ is detected

irqv

extern void irqv (void);

Calls IrqV vector directly and called when an unknown IRQ is detected

xwrchv

extern os_error *xwrchv (char c);

Calls WrchV vector directly

Entry:
cR0

wrchv

extern void wrchv (char c);

Calls WrchV vector directly

Entry:
cR0

xrdchv

extern os_error *xrdchv (char *c,
      bits *psr);

Calls RdchV vector directly

Exit:
cR0

rdchv

extern bits rdchv (char *c);

Calls RdchV vector directly

Exit:
cR0
Returns:
processor status register

xcliv

extern os_error *xcliv (char const *command);

Calls CLIV vector directly

Entry:
commandR0

cliv

extern void cliv (char const *command);

Calls CLIV vector directly

Entry:
commandR0

xreadlinev

extern os_error *xreadlinev (char *buffer,
      int size,
      char min_char,
      char max_char,
      char echo,
      int *used,
      bits *psr);

Calls ReadLineV vector directly - use ReadLine32V on RISC OS 5 and RISC OS 6

Entry:
bufferR0
sizeR1
min_charR2
max_charR3
echoR4
Exit:
usedR1

readlinev

extern bits readlinev (char *buffer,
      int size,
      char min_char,
      char max_char,
      char echo,
      int *used);

Calls ReadLineV vector directly - use ReadLine32V on RISC OS 5 and RISC OS 6

Entry:
bufferR0
sizeR1
min_charR2
max_charR3
echoR4
Exit:
usedR1
Returns:
processor status register

xreadline32v

extern os_error *xreadline32v (char *buffer,
      int size,
      char min_char,
      char max_char,
      osreadline_flags flags,
      int *used,
      bits *psr);

Calls ReadLineV vector directly - RISC OS 5 and RISC OS 6

Entry:
bufferR0
sizeR1
min_charR2
max_charR3
flagsR4
Exit:
usedR1

readline32v

extern bits readline32v (char *buffer,
      int size,
      char min_char,
      char max_char,
      osreadline_flags flags,
      int *used);

Calls ReadLineV vector directly - RISC OS 5 and RISC OS 6

Entry:
bufferR0
sizeR1
min_charR2
max_charR3
flagsR4
Exit:
usedR1
Returns:
processor status register

xkeyv_present

extern os_error *xkeyv_present (keyv_type keyboard_type);

Calls KeyV vector directly to indicate the given keyboard is present

Entry:
keyboard_typeR1

keyv_present

extern void keyv_present (keyv_type keyboard_type);

Calls KeyV vector directly to indicate the given keyboard is present

Entry:
keyboard_typeR1

xkeyv_present_no_debounce

extern os_error *xkeyv_present_no_debounce (keyv_type keyboard_type);

Calls KeyV vector directly to indicate the given keyboard is present and that kernel doesn't need to debounce keys - RISC OS 6

Entry:
keyboard_typeR1

keyv_present_no_debounce

extern void keyv_present_no_debounce (keyv_type keyboard_type);

Calls KeyV vector directly to indicate the given keyboard is present and that kernel doesn't need to debounce keys - RISC OS 6

Entry:
keyboard_typeR1

xkeyv_transition_up

extern os_error *xkeyv_transition_up (int key);

Calls KeyV vector directly to indicate a key is released

Entry:
keyR1

keyv_transition_up

extern void keyv_transition_up (int key);

Calls KeyV vector directly to indicate a key is released

Entry:
keyR1

xkeyv_transition_down

extern os_error *xkeyv_transition_down (int key);

Calls KeyV vector directly to indicate a key pressed

Entry:
keyR1

keyv_transition_down

extern void keyv_transition_down (int key);

Calls KeyV vector directly to indicate a key pressed

Entry:
keyR1

xkeyv_led_state

extern os_error *xkeyv_led_state (bits flags);

Calls KeyV vector directly to notifies driver of LED state

Entry:
flagsR1

keyv_led_state

extern void keyv_led_state (bits flags);

Calls KeyV vector directly to notifies driver of LED state

Entry:
flagsR1

xkeyv_enable_drivers

extern os_error *xkeyv_enable_drivers (void);

Calls KeyV vector directly to enable keyboard device drivers

keyv_enable_drivers

extern void keyv_enable_drivers (void);

Calls KeyV vector directly to enable keyboard device drivers

xukvdu23v

extern os_error *xukvdu23v (int n,
      byte const *queue);

Calls UKVDU23V vector directly and called when an unrecognised VDU 23 command is issued

Entry:
nR0
queueR1

ukvdu23v

extern void ukvdu23v (int n,
      byte const *queue);

Calls UKVDU23V vector directly and called when an unrecognised VDU 23 command is issued

Entry:
nR0
queueR1

xukplotv

extern os_error *xukplotv (os_plot_code plot_code);

Calls UKPLOTV vector directly and called when an unknown OS_Plot command is issued

Entry:
plot_codeR0

ukplotv

extern void ukplotv (os_plot_code plot_code);

Calls UKPLOTV vector directly and called when an unknown OS_Plot command is issued

Entry:
plot_codeR0

xmousev

extern os_error *xmousev (int *x,
      int *y,
      bits *buttons,
      os_t *t);

Calls MouseV vector directly

Exit:
xR0
yR1
buttonsR2
tR3

mousev

extern void mousev (int *x,
      int *y,
      bits *buttons,
      os_t *t);

Calls MouseV vector directly

Exit:
xR0
yR1
buttonsR2
tR3

xvduxv

extern os_error *xvduxv (byte b);

Calls VDUXV vector directly and called when VDU output has been redirected

Entry:
bR0

vduxv

extern void vduxv (byte b);

Calls VDUXV vector directly and called when VDU output has been redirected

Entry:
bR0

xtickerv

extern os_error *xtickerv (void);

Calls TickerV vector directly and called every centisecond

tickerv

extern void tickerv (void);

Calls TickerV vector directly and called every centisecond

xchangeenvironmentv

extern os_error *xchangeenvironmentv (os_handler_type handler_type,
      asm_routine handler,
      byte *handle,
      byte *buffer,
      asm_routine *old_handler,
      byte **old_handle,
      byte **old_buffer);

Calls ChangeEnvironmentV vector directly

Entry:
handler_typeR0
handlerR1
handleR2
bufferR3
Exit:
old_handlerR1
old_handleR2
old_bufferR3

changeenvironmentv

extern asm_routine changeenvironmentv (os_handler_type handler_type,
      asm_routine handler,
      byte *handle,
      byte *buffer,
      byte **old_handle,
      byte **old_buffer);

Calls ChangeEnvironmentV vector directly

Entry:
handler_typeR0
handlerR1
handleR2
bufferR3
Exit:
old_handleR2
old_bufferR3
Returns:
old_handlerR1

xpalettev_read_entry

extern os_error *xpalettev_read_entry (os_colour_number entry,
      int colour_type,
      os_colour *on,
      os_colour *off,
      osbool *incomplete);

Calls PaletteV vector directly and reads the palette

Entry:
entryR0
colour_typeR1
Exit:
onR2
offR3
incompleteR4

palettev_read_entry

extern osbool palettev_read_entry (os_colour_number entry,
      int colour_type,
      os_colour *on,
      os_colour *off);

Calls PaletteV vector directly and reads the palette

Entry:
entryR0
colour_typeR1
Exit:
onR2
offR3
Returns:
incompleteR4

xpalettev_set_entry

extern os_error *xpalettev_set_entry (os_colour_number entry,
      int colour_type,
      os_colour on,
      os_colour off,
      osbool *incomplete);

Calls PaletteV vector directly and sets the palette

Entry:
entryR0
colour_typeR1
onR2
offR3
Exit:
incompleteR4

palettev_set_entry

extern osbool palettev_set_entry (os_colour_number entry,
      int colour_type,
      os_colour on,
      os_colour off);

Calls PaletteV vector directly and sets the palette

Entry:
entryR0
colour_typeR1
onR2
offR3
Returns:
incompleteR4

xpalettev_set_on

extern os_error *xpalettev_set_on (osbool *incomplete);

Calls PaletteV vector directly and sets the flash state to on

Exit:
incompleteR4

palettev_set_on

extern osbool palettev_set_on (void);

Calls PaletteV vector directly and sets the flash state to on

Returns:
incompleteR4

xpalettev_set_off

extern os_error *xpalettev_set_off (osbool *incomplete);

Calls PaletteV vector directly and sets the flash state to off

Exit:
incompleteR4

palettev_set_off

extern osbool palettev_set_off (void);

Calls PaletteV vector directly and sets the flash state to off

Returns:
incompleteR4

xpalettev_default

extern os_error *xpalettev_default (osbool *incomplete);

Calls PaletteV vector directly and sets the palette to the default

Exit:
incompleteR4

palettev_default

extern osbool palettev_default (void);

Calls PaletteV vector directly and sets the palette to the default

Returns:
incompleteR4

xpalettev_blank_screen

extern os_error *xpalettev_blank_screen (palettev_screen_state state,
      palettev_screen_state *state_out,
      osbool *incomplete);

Calls PaletteV vector directly and called to control screenblanking

Entry:
stateR0
Exit:
state_outR0
incompleteR4

palettev_blank_screen

extern osbool palettev_blank_screen (palettev_screen_state state,
      palettev_screen_state *state_out);

Calls PaletteV vector directly and called to control screenblanking

Entry:
stateR0
Exit:
state_outR0
Returns:
incompleteR4

xpalettev_read_entries

extern os_error *xpalettev_read_entries (os_colour_number const *entry_list,
      bits colour_type_and_entry_count,
      os_palette *on,
      os_palette *off,
      osbool *incomplete);

Calls PaletteV vector directly and called to read palette entries

Entry:
entry_listR0
colour_type_and_entry_countR1
onR2
offR3
Exit:
incompleteR4

palettev_read_entries

extern osbool palettev_read_entries (os_colour_number const *entry_list,
      bits colour_type_and_entry_count,
      os_palette *on,
      os_palette *off);

Calls PaletteV vector directly and called to read palette entries

Entry:
entry_listR0
colour_type_and_entry_countR1
onR2
offR3
Returns:
incompleteR4

xpalettev_write_entries

extern os_error *xpalettev_write_entries (os_colour_number const *entry_list,
      bits colour_type_and_entry_count,
      os_palette const *palette,
      osbool *incomplete);

Calls PaletteV vector directly and called to write palette entries

Entry:
entry_listR0
colour_type_and_entry_countR1
paletteR2
Exit:
incompleteR4

palettev_write_entries

extern osbool palettev_write_entries (os_colour_number const *entry_list,
      bits colour_type_and_entry_count,
      os_palette const *palette);

Calls PaletteV vector directly and called to write palette entries

Entry:
entry_listR0
colour_type_and_entry_countR1
paletteR2
Returns:
incompleteR4

xpalettev_set_gamma_corrections

extern os_error *xpalettev_set_gamma_corrections (os_correction_table const *red_table,
      os_correction_table const *green_table,
      os_correction_table const *blue_table,
      osbool *incomplete);

Calls PaletteV vector directly and called to set the gamma correction tables

Entry:
red_tableR0
green_tableR1
blue_tableR2
Exit:
incompleteR4

palettev_set_gamma_corrections

extern osbool palettev_set_gamma_corrections (os_correction_table const *red_table,
      os_correction_table const *green_table,
      os_correction_table const *blue_table);

Calls PaletteV vector directly and called to set the gamma correction tables

Entry:
red_tableR0
green_tableR1
blue_tableR2
Returns:
incompleteR4

xpalettev_disable_video_hardware

extern os_error *xpalettev_disable_video_hardware (osbool *incomplete);

Power down the video hardware for the current display driver

Exit:
incompleteR4

palettev_disable_video_hardware

extern osbool palettev_disable_video_hardware (void);

Power down the video hardware for the current display driver

Returns:
incompleteR4

xpalettev_enable_video_hardware

extern os_error *xpalettev_enable_video_hardware (osbool *incomplete);

Enable power the video hardware for the current display driver

Exit:
incompleteR4

palettev_enable_video_hardware

extern osbool palettev_enable_video_hardware (void);

Enable power the video hardware for the current display driver

Returns:
incompleteR4

xpointerv_status

extern os_error *xpointerv_status (os_pointer_type pointer_type,
      int *xmove,
      int *ymove);

Calls PointerV vector directly and called to request status of pointer device - RISC OS 3.5+

Entry:
pointer_typeR1
Exit:
xmoveR2
ymoveR3

pointerv_status

extern void pointerv_status (os_pointer_type pointer_type,
      int *xmove,
      int *ymove);

Calls PointerV vector directly and called to request status of pointer device - RISC OS 3.5+

Entry:
pointer_typeR1
Exit:
xmoveR2
ymoveR3

xpointerv_enumerate

extern os_error *xpointerv_enumerate (pointerv_record const *record,
      pointerv_record **record_out);

Calls PointerV vector directly and called to enumerate pointer device types - RISC OS 3.5+

Entry:
recordR1
Exit:
record_outR1

pointerv_enumerate

extern pointerv_record *pointerv_enumerate (pointerv_record const *record);

Calls PointerV vector directly and called to enumerate pointer device types - RISC OS 3.5+

Entry:
recordR1
Returns:
record_outR1

xpointerv_selected

extern os_error *xpointerv_selected (os_pointer_type pointer_type);

Calls PointerV vector directly and called to select pointer device type - RISC OS 3.5+

Entry:
pointer_typeR1

pointerv_selected

extern void pointerv_selected (os_pointer_type pointer_type);

Calls PointerV vector directly and called to select pointer device type - RISC OS 3.5+

Entry:
pointer_typeR1

xpointerv_extended_status

extern os_error *xpointerv_extended_status (os_pointer_type pointer_type,
      int *claimed,
      int *xmove,
      int *ymove,
      int *xmove_alternate,
      int *ymove_alternate,
      bits *buttons);

Calls PointerV vector directly and called to request extended status of pointer device - RISC OS 4.32+

Entry:
pointer_typeR1
Exit:
claimed-1 relative pos device, 5 absolute pos deviceR0
xmoveR2
ymoveR3
xmove_alternateR4
ymove_alternateR5
buttonsR6

pointerv_extended_status

extern void pointerv_extended_status (os_pointer_type pointer_type,
      int *claimed,
      int *xmove,
      int *ymove,
      int *xmove_alternate,
      int *ymove_alternate,
      bits *buttons);

Calls PointerV vector directly and called to request extended status of pointer device - RISC OS 4.32+

Entry:
pointer_typeR1
Exit:
claimed-1 relative pos device, 5 absolute pos deviceR0
xmoveR2
ymoveR3
xmove_alternateR4
ymove_alternateR5
buttonsR6

xnvramv_fill_cache

extern os_error *xnvramv_fill_cache (byte *cache,
      int cache_size,
      int *nvram_size);

Fill kernel's cache of NVRAM values - RISC OS 6

Entry:
cacheR1
cache_sizeR2
Exit:
nvram_sizeR2

nvramv_fill_cache

extern void nvramv_fill_cache (byte *cache,
      int cache_size,
      int *nvram_size);

Fill kernel's cache of NVRAM values - RISC OS 6

Entry:
cacheR1
cache_sizeR2
Exit:
nvram_sizeR2

xnvramv_read_single_value

extern os_error *xnvramv_read_single_value (int index,
      byte *value);

Read single NVRAM value - RISC OS 6

Entry:
indexR1
Exit:
valueR1

nvramv_read_single_value

extern void nvramv_read_single_value (int index,
      byte *value);

Read single NVRAM value - RISC OS 6

Entry:
indexR1
Exit:
valueR1

xnvramv_write_single_value

extern os_error *xnvramv_write_single_value (int index,
      byte value);

Write single NVRAM value - RISC OS 6

Entry:
indexR1
valueR2

nvramv_write_single_value

extern void nvramv_write_single_value (int index,
      byte value);

Write single NVRAM value - RISC OS 6

Entry:
indexR1
valueR2

xservice_release_fiq

extern os_error *xservice_release_fiq (void);

FIQ released

service_release_fiq

extern void service_release_fiq (void);

FIQ released

xservice_claim_fiq

extern os_error *xservice_claim_fiq (void);

FIQ claimed

service_claim_fiq

extern void service_claim_fiq (void);

FIQ claimed

xservice_reset

extern os_error *xservice_reset (void);

Post-reset. Also, request to task modules and filing system-specific desktop filers to set task_handle variable to 0

service_reset

extern void service_reset (void);

Post-reset. Also, request to task modules and filing system-specific desktop filers to set task_handle variable to 0

xservice_key_handler

extern os_error *xservice_key_handler (int keyboard_id);

Keyboard handler changed

Entry:
keyboard_idR2

service_key_handler

extern void service_key_handler (int keyboard_id);

Keyboard handler changed

Entry:
keyboard_idR2

xservice_mode_change

extern os_error *xservice_mode_change (void);

Mode changed

service_mode_change

extern void service_mode_change (void);

Mode changed

xservice_claim_fiq_in_background

extern os_error *xservice_claim_fiq_in_background (void);

FIQ claimed in background

service_claim_fiq_in_background

extern void service_claim_fiq_in_background (void);

FIQ claimed in background

xservice_memory_moved

extern os_error *xservice_memory_moved (void);

Memory moved

service_memory_moved

extern void service_memory_moved (void);

Memory moved

xservice_pre_mode_change

extern os_error *xservice_pre_mode_change (os_mode mode);

Mode change

Entry:
modeR2

service_pre_mode_change

extern void service_pre_mode_change (os_mode mode);

Mode change

Entry:
modeR2

xservice_mode_extension

extern os_error *xservice_mode_extension (os_mode mode,
      int monitor_type,
      int bandwidth,
      int vram_size,
      osbool *unclaimed,
      int **vidc_list,
      int **workspace_list);

Allow soft modes

Entry:
modeR2
monitor_typeR3
bandwidthRISC OS 3.5+R4
vram_sizeRISC OS 3.5+R5
Exit:
unclaimedR1
vidc_listR3
workspace_listR4

service_mode_extension

extern osbool service_mode_extension (os_mode mode,
      int monitor_type,
      int bandwidth,
      int vram_size,
      int **vidc_list,
      int **workspace_list);

Allow soft modes

Entry:
modeR2
monitor_typeR3
bandwidthRISC OS 3.5+R4
vram_sizeRISC OS 3.5+R5
Exit:
vidc_listR3
workspace_listR4
Returns:
unclaimedR1

xservice_mode_translation

extern os_error *xservice_mode_translation (os_mode mode,
      int monitor_type);

Translate modes for unknown monitor types

Entry:
modeR2
monitor_typeR3

service_mode_translation

extern void service_mode_translation (os_mode mode,
      int monitor_type);

Translate modes for unknown monitor types

Entry:
modeR2
monitor_typeR3

xservice_validate_address

extern os_error *xservice_validate_address (void);

OS_ValidateAddress has been called with an unknown area

service_validate_address

extern void service_validate_address (void);

OS_ValidateAddress has been called with an unknown area

xservice_monitor_lead_translation

extern os_error *xservice_monitor_lead_translation (int lead_id);

Translate monitor lead ID

Entry:
lead_idR2

service_monitor_lead_translation

extern void service_monitor_lead_translation (int lead_id);

Translate monitor lead ID

Entry:
lead_idR2

xservice_mode_changing

extern os_error *xservice_mode_changing (os_mode mode,
      int monitor_type);

Mode change

Entry:
modeR2
monitor_typeR3

service_mode_changing

extern void service_mode_changing (os_mode mode,
      int monitor_type);

Mode change

Entry:
modeR2
monitor_typeR3

xservice_enumerate_screen_modes

extern os_error *xservice_enumerate_screen_modes (int context,
      int monitor_type,
      int bandwidth,
      int vram_size,
      os_mode_block *block,
      int block_size,
      osbool *unclaimed,
      int *context_out,
      byte **end,
      int *free);

Enumerates the available screen modes

Entry:
contextR2
monitor_typeR3
bandwidthR4
vram_sizeR5
blockR6
block_sizeR7
Exit:
unclaimedR1
context_outR2
endR6
freeR7

service_enumerate_screen_modes

extern osbool service_enumerate_screen_modes (int context,
      int monitor_type,
      int bandwidth,
      int vram_size,
      os_mode_block *block,
      int block_size,
      int *context_out,
      byte **end,
      int *free);

Enumerates the available screen modes

Entry:
contextR2
monitor_typeR3
bandwidthR4
vram_sizeR5
blockR6
block_sizeR7
Exit:
context_outR2
endR6
freeR7
Returns:
unclaimedR1

xservice_pages_unsafe

extern os_error *xservice_pages_unsafe (os_page_block const *page_block,
      int request_count);

Pages specified are about to be swapped for different pages - RISC OS 3.5+

Entry:
page_blockR2
request_countR3

service_pages_unsafe

extern void service_pages_unsafe (os_page_block const *page_block,
      int request_count);

Pages specified are about to be swapped for different pages - RISC OS 3.5+

Entry:
page_blockR2
request_countR3

xservice_pages_safe

extern os_error *xservice_pages_safe (int request_count,
      os_page_block const *old_page_block,
      os_page_block const *new_page_block);

Pages specified have been swapped for different pages - RISC OS 3.5+

Entry:
request_countR2
old_page_blockR3
new_page_blockR4

service_pages_safe

extern void service_pages_safe (int request_count,
      os_page_block const *old_page_block,
      os_page_block const *new_page_block);

Pages specified have been swapped for different pages - RISC OS 3.5+

Entry:
request_countR2
old_page_blockR3
new_page_blockR4

xservice_dynamic_area_create

extern os_error *xservice_dynamic_area_create (int area);

Dynamic area has just been successfully created - RISC OS 3.5+

Entry:
areaR2

service_dynamic_area_create

extern void service_dynamic_area_create (int area);

Dynamic area has just been successfully created - RISC OS 3.5+

Entry:
areaR2

xservice_dynamic_area_remove

extern os_error *xservice_dynamic_area_remove (int area);

Dynamic area is about to be removed - RISC OS 3.5+

Entry:
areaR2

service_dynamic_area_remove

extern void service_dynamic_area_remove (int area);

Dynamic area is about to be removed - RISC OS 3.5+

Entry:
areaR2

xservice_dynamic_area_renumber

extern os_error *xservice_dynamic_area_renumber (int area);

Dynamic area is being renumbered - RISC OS 3.5+

Entry:
areaR2

service_dynamic_area_renumber

extern void service_dynamic_area_renumber (int area);

Dynamic area is being renumbered - RISC OS 3.5+

Entry:
areaR2

xservice_display_changed

extern os_error *xservice_display_changed (servicedisplaychanged_state state,
      int display_number);

Display is changed - RISC OS 6

Entry:
stateR0
display_numberR2

service_display_changed

extern void service_display_changed (servicedisplaychanged_state state,
      int display_number);

Display is changed - RISC OS 6

Entry:
stateR0
display_numberR2

xservice_display_status

extern os_error *xservice_display_status (servicedisplaystatus_reason reason,
      int display_number,
      osdisplaydevicedescriptor *descriptor);

State of a display driver has changed - RISC OS 6

Entry:
reasonR0
display_numberR2
descriptorR3

service_display_status

extern void service_display_status (servicedisplaystatus_reason reason,
      int display_number,
      osdisplaydevicedescriptor *descriptor);

State of a display driver has changed - RISC OS 6

Entry:
reasonR0
display_numberR2
descriptorR3

xservice_device_reregister

extern os_error *xservice_device_reregister (os_device_type device);

Core IRQ handler initialises - RISC OS 6

Entry:
deviceR0

service_device_reregister

extern void service_device_reregister (os_device_type device);

Core IRQ handler initialises - RISC OS 6

Entry:
deviceR0

xevent_char_input

extern os_error *xevent_char_input (int buffer,
      byte b);

Character input

Entry:
bufferR1
bR2

event_char_input

extern void event_char_input (int buffer,
      byte b);

Character input

Entry:
bufferR1
bR2

xevent_vsync

extern os_error *xevent_vsync (void);

Vertical sync

event_vsync

extern void event_vsync (void);

Vertical sync

xevent_interval_timer

extern os_error *xevent_interval_timer (void);

Interval timer

event_interval_timer

extern void event_interval_timer (void);

Interval timer

xevent_escape

extern os_error *xevent_escape (void);

Escape

event_escape

extern void event_escape (void);

Escape

xevent_mouse_transition

extern os_error *xevent_mouse_transition (int x,
      int y,
      bits state,
      os_t t);

Mouse button up/down

Entry:
xR1
yR2
stateR3
tR4

event_mouse_transition

extern void event_mouse_transition (int x,
      int y,
      bits state,
      os_t t);

Mouse button up/down

Entry:
xR1
yR2
stateR3
tR4

xevent_key_transition

extern os_error *xevent_key_transition (osbool down,
      int key,
      int keyboard_id);

Key up/down

Entry:
downR1
keyR2
keyboard_idR3

event_key_transition

extern void event_key_transition (osbool down,
      int key,
      int keyboard_id);

Key up/down

Entry:
downR1
keyR2
keyboard_idR3

xevent_pointer_scroll

extern os_error *xevent_pointer_scroll (int xmove,
      int ymove);

Pointer scroll - RISC OS 4.32+

Entry:
xmoveR2
ymoveR3

event_pointer_scroll

extern void event_pointer_scroll (int xmove,
      int ymove);

Pointer scroll - RISC OS 4.32+

Entry:
xmoveR2
ymoveR3

xupcall_move_memory_request

extern os_error *xupcall_move_memory_request (int size_change,
      osbool *not_moved);

Informs your program that RISC OS would like to move memory

Entry:
size_changeR1
Exit:
not_movedR0

upcall_move_memory_request

extern osbool upcall_move_memory_request (int size_change);

Informs your program that RISC OS would like to move memory

Entry:
size_changeR1
Returns:
not_movedR0