The new release of OSLib, version 5.1, is available on the Acorn F T P server. Please note that there is a new address for the author, Jonathan Coxhead . This is because my position at Acorn has been made redundant. I will continue to support OSLib, however, since, as noted below it is not an Acorn product. The usual blurb follows ... OSLib is a set of functions and C headers to provide complete coverage of the RISC OS application programmer's interface from C. It provides access from C code to all SWI calls which is efficient: often, memory access is completely avoided; type-safe: every argument can be type-checked by the compiler; obvious: a SWI is called by the "obvious" syntax; complete: every SWI is covered; register-safe: hides register allocation; language-independent: although the headers are specific to C, the library is not - any A P C S-conformant language can call it. It also provides names for all the data structures and reason codes used by the A P I. Code that uses it is superior to the same code using _kernel_swi() or _swix(), both in terms of the compile-time checking that is available, and the size and speed of the code generated. ... end of usual blurb. Changes since the last release are not many, since this is mainly a bugfix release. The most important are: * The help file is now a single StrongHelp 2 manual, thanks to Alexander Thoukydides. This means you can use it on a FileCore disc with the 77 file directory limit. * Numberrange_set_bounds(), radiobutton_get_state() arguments corrected. * |NULL| is now |0| in C (was |((void *) 0)|). * Some symbols defined in "drawfile.h" had the prefix |draw_|; changed to |drawfile_|. * Added |pdriver_draw_flags|. * Added class_PRINT_DBOX, adjuster_DECREMENT changed to adjuster_INCREMENT, popup_CLASS and stringset_CLASS corrected, numberrange gadget flags corrected. * Make sure the largest components of unions are at the end, to keep the ObjAsm header files correct (this doesn't affect the C headers). Not done for NetFS file server protocol blocks, so these should be reserved by giving the actual size needed in each case. * Systematic incorporation of PRM vol 5a material. * Changed various |char *| components in toolbox objects to |toolbox_msg_reference| (which is a typedef for |char *| anyway), etc, in an attempt to represent their relocation behaviour. Deleted Gadget_Header, renamed |body| field as |gadget| and all gadget structure ending in 'object' to 'gadget.' Used Window_Window and Window_IconData instead of Wimp_Window and Wimp_IconData, since they are slightly different. Toolbox_Class now a short. * Added obsolete OS_Byte and OS_Word calls. (Why? Why not?) These files are to be found at site ftp.acorn.co.uk in directory /pub/riscos/releases/oslib. Although this is Acorn's F T P site OSLib is *not* an Acorn product: it is free software. For support information, see the last paragraph. Thanks to everyone who has helped by submitting fault reports. OSLib is copyright 1994, 1995 Acorn Computers Ltd (strangely enough). It is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. Fault reports, suggestions for improvement and commiserations may be sent to the author, Jonathan Coxhead .