Short: AmigaGuide to AmigaDOS Shared Libraries Author: dast@sth.frontec.se Uploader: istrice@paola.dei.unipd.it Type: docs/help The original file I've found in `aminet/docs/help/' was a standard plain file: short, printable ... readable ..., but not the best for a quick consultation. That is why I've translated it to an AmigaGuide for- mat: a bit longer, more readable, easy to use, ... 8) The translation was made with the great aid of `AGW' by David L. McPaul (you may find in `aminet/text/hyper/AGWriter???.lha'). P.S.: the guide has several nodes linked to AutoDocs (in the AmigaGuide format). Then you are supposed to have propely set AmigaGuide path env (try `aminet/text/hyper/GuidePrefs.lha' if you are not so con- fident with this issue), and to have the AmigaGuide version of AutoDocs. You are also supposed to have the assignment `TEXT-INCLUDE:' set too. Of course you also need include-files. I (the AmigaGuide-er) may be reached at the following addresses: E-Mail: istrice@paola.dei.unipd.it istrice2@maya.dei.unipd.it Ciao Alessandro Ponzio //// //// //// //// \\\\ //// \\\X/// \XXX/ Amiga® ************************************************************************* 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 ============================= Archive contents ============================= Original Packed Ratio Date Time Name -------- ------- ----- --------- -------- ------------- 628 266 57.6% 21-Sep-94 16:07:44 Libraries.info 492 248 49.5% 21-Sep-94 16:06:10 Libraries/Icons/AmigaDOS/libraries.info 1892 1007 46.7% 21-Sep-94 16:06:10 Libraries/Icons/MagicWB/libraries.info 1464 488 66.6% 21-Sep-94 16:06:08 Libraries/Install.info 582 338 41.9% 21-Sep-94 16:06:08 Libraries/Install/English.info 6080 1681 72.3% 21-Sep-94 16:06:08 Libraries/Install/Install 587 341 41.9% 21-Sep-94 16:06:08 Libraries/Install/Italiano.info 601 358 40.4% 21-Sep-94 16:06:08 Libraries/Install/ReadMe 427 213 50.1% 21-Sep-94 16:06:08 Libraries/Install/ReadMe.info 68136 22970 66.2% 21-Sep-94 16:41:46 Libraries/libraries 492 250 49.1% 21-Sep-94 16:06:08 Libraries/libraries.info 3327 1363 59.0% 21-Sep-94 16:06:08 Libraries/ReadMe 427 214 49.8% 21-Sep-94 16:06:08 Libraries/ReadMe.info -------- ------- ----- --------- -------- 85135 29737 65.0% 03-Oct-94 14:06:58 13 files