Short: Guide to AmigaDOS Shared Libraries Author: dast@sth.frontec.se Uploader: dast@sth.frontec.se Type: docs/help This is an ASCII formatted article describing most of the things AmigaDOS shared libraries are all about. This is the table of contents: 1 Shared Library Overview 1.1 Shared Library 1.2 Link Library 1.3 ROM Based/Disk Based Libraries 1.4 Memory Usage 1.5 Other Operating Systems 1.6 Advantages 2 Calling Shared Library Functions 2.1 Address Library Functions 2.2 Library Base 2.3 Index 2.4 Parameters 2.5 Access Libraries 2.5.1 OpenLibrary() 2.5.2 CloseLibrary() 2.5.3 RemLibrary() 2.6 Return Code 2.7 Glue Code 2.8 C and Register Parameters 2.8.1 SAS/Dice pragmas 2.8.2 Aztec/Maxon pragmas 2.8.3 How to create pragma files 2.9 Near Data Effects 2.10 Registers 3 Parts of an AmigaDOS Shared Library Image 3.1 Prevent Execution 3.2 ROMTag Structure 3.3 Init Table 3.4 Function Pointer Table 3.5 Data Table 3.6 Init Routine 3.7 Functions 4 Libraries in the System 4.1 Library Opening Details 4.2 Library List 4.3 Patching Libraries 5 Programming 5.1 Functions 5.1.1 Open() 5.1.2 Close() 5.1.3 Expunge() 5.1.4 Extfunc() 5.2 Function Descriptor File 5.3 Glue Code 5.4 Compiling 5.5 Linking 5.6 Debugging 5.7 Hints 6 Support library calls from ARexx 6.1 How ARexx access the library 6.2 ARexx calls a library function 6.3 ARexx function Appendix A. Version numbers and shared libraries B. Further reading C. Library source examples