AcornSearch - Acorn and RISC OS information searching
RISC OS Search
containing
"Nutty quip goes here!"
Home  |  About  |  Filebase Archive  |  StrongHelp Manuals  |  Newsgroups  |  Module Database
Reason     Action
0     Ensure library module(s) present
1     List libraries already loaded
2     Read highest available version number of library
3     Add file to library search path
4     Remove file from library search path
5     Add file to library module search path permanently
6     Read address of library
7     Deregister libraries
8     Deregister all libraries
9     Kill library
10     Library file modified

Provided by Kernel
Ensure library module(s) present
Entry
     R0 = 0
     R1 -> list of library specifiers

The list pointed to as follows consists of zero or more two-word pairs, and a single-word -1 value for a terminator. Each two-word pair is one word module specifier, and one word version specifier (the version number multiplied by 100 - eg. 2.10 is 210).

Library module specifiers, function identifiers and current version numbers are listed in the library file.

Note that some library routines may require other library routines - eg. Sort requires MemMove. In these cases the required library will be loaded automatically for you, even if you don‘t specify it explicitly.

Note that any libraries you request will be noted as being used by your task. These libraries will then not be allowed to be killed. When your task calls WimpExt_CloseDown, the libraries will be freed again. If you wish to free libraries without quitting your task, use LibraryOp 8.
List libraries already loaded
Entry
     R0 = 1
     R1 -> block to contain library numbers and version numbers
     R2 = size of block
     R3 = continuation value (0 to begin with)
Exit
     R2 = space free in block
     R3 = new continuation value (-1 if there are no more libraries)

Reads in a list of the currently loaded libraries.
Read highest available version number of library
Entry
     R0 = 2
     R1 = library number
Exit
     R0 = version number *100 of library in memory, or 0 if the specified library isn‘t in memory
     R1 = version number *100 of library on disc, or 0 if the specified library isn‘t on disc

Reads the highest available version number of the specified library in the library file(s), and the version number in memory.
Add file to library search path
Entry
     R0 = 3
     R1 -> full pathname of file

Adds the specified file to the list of files to be searched for libraries.  The file will be automatically removed again from the list when your task quits.
Remove file from library search path
Entry
     R0 = 4
     R1 -> to full pathname of file

Removes the specified file from the list of files to be searched for libraries.
Add file to library module search path permanently
Entry
     R0 = 5
     R1 -> full pathname of file

Adds the specified file to the list of files to be searched for libraries.  The file will not be removed from the list when your task quits.
Read address of library
Entry
     R0 = 6
     R1 = library number
Exit
     R0 -> library, or 0 if library not loaded

Locates the specified library in memory.
Deregister libraries
Entry
     R0 = 7
     R1 -> list of library specifiers

The list pointed to as follows consists of zero or more two-word pairs, and a single-word -1 value for a terminator.  Each two-word pair is one word library specifier, and one word unused (which may contain any value).  The specified libraries will be noted as no longer being used by your task.  You cannot use any of the facilities of any libraries you de-register.
Deregister all libraries
Entry
     R0 = 8

Deregisters all libraries that your task is registered with.
Kill library
Entry
R0 = 9
R1 = library number

This removes the library from memory.  Returns an error if the library is currently in use.
Library file modified
Entry
     R0 = 10
     R1 -> full pathname of file

Informs WimpExtension that the specified library file has been modified.  WimpExtension will rescan the file and update its cached data.  If the file is not registered with WimpExtension as a library file then no action is taken.

[sh-index] Back to list of manuals