Short: Use ANY shared library within Arexx progs Author: Ivan Sturlic Uploader: Ivan.Sturlic@fer.hr (Ivan Sturlic) Type: util/rexx ----------------------------------------------------------------------------- ROYAL BRIDGE v1.1 Copyright (c) 1998, Ivan Sturlic ----------------------------------------------------------------------------- royalbridge.library version 34.31 (31 Oct 1998) royalbridge.library is an Arexx external function library which acts as a bridge to any Amiga shared library. To call the library function royalbridge.library needs to know the library base, function offset and information about which processor registers to use for function arguments. To make coding much easier you can use the Royal Bridge Arexx Preprocessor which is also included. Arexx preprocessor requires a C compiler which will be used to access C include files. From this version it is also possible to call a shared library function in a very simple way without using preprocessor. Example: call rbCall('$graphics.library $Text',rp,'$Royal Bridge',12) When using Arexx preprocessor you write an .app file which is nothing else but normal Arexx program with some preprocessor commands which will be replaced by real things in final .rexx file. For example, to call the exec.library/AllocVec() function you would write: #call 0 bmap = AllocVec(#{sizeof(struct BitMap)},#{MEMF_CLEAR}) This line would be replaced by preprocessor and would look like: bmap = rbCall(0 || ' 2ac 1002',40,65536) CURRENT LIMITATIONS ------------------- - It is not possible to call a library function which uses an a5 register for its argument - Won't work with floating point arguments HISTORY ------- - 31 Oct 1998 ----------- Version 1.1 (royalbridge.library 34.31) - new very simple ways of calling a shared library function - rbCall() accepts Arexx strings - auto opening/closing of libraries - new utility MakeRB - 26 Apr 1998 ----------- First public release ============================= Archive contents ============================= Original Packed Ratio Date Time Name -------- ------- ----- --------- -------- ------------- 798 324 59.3% 01-Nov-98 19:25:02 +amigaguide.library.rb 217 115 47.0% 01-Nov-98 19:25:02 +asl.library.rb 76 64 15.7% 01-Nov-98 19:25:02 +battclock.library.rb 113 87 23.0% 01-Nov-98 19:25:02 +battmem.library.rb 185 111 40.0% 01-Nov-98 19:25:02 +bullet.library.rb 425 273 35.7% 01-Nov-98 19:25:02 +cardres.library.rb 94 76 19.1% 01-Nov-98 19:25:02 +cia.library.rb 61 57 6.5% 01-Nov-98 19:25:02 +colorwheel.library.rb 609 346 43.1% 01-Nov-98 19:25:02 +commodities.library.rb 60 60 0.0% 01-Nov-98 19:25:02 +console.library.rb 589 285 51.6% 01-Nov-98 19:25:02 +datatypes.library.rb 124 89 28.2% 01-Nov-98 19:25:02 +disk.library.rb 142 104 26.7% 01-Nov-98 19:25:02 +diskfont.library.rb 3850 1733 54.9% 01-Nov-98 19:25:02 +dos.library.rb 27 27 0.0% 01-Nov-98 19:25:02 +dtclass.library.rb 2706 1323 51.1% 01-Nov-98 19:25:02 +exec.library.rb 568 306 46.1% 01-Nov-98 19:25:02 +expansion.library.rb 738 343 53.5% 01-Nov-98 19:25:02 +gadtools.library.rb 4297 2065 51.9% 01-Nov-98 19:25:02 +graphics.library.rb 320 194 39.3% 01-Nov-98 19:25:02 +icon.library.rb 1004 514 48.8% 01-Nov-98 19:25:02 +iffparse.library.rb 28 28 0.0% 01-Nov-98 19:25:02 +input.library.rb 3526 1622 53.9% 01-Nov-98 19:25:02 +intuition.library.rb 106 90 15.0% 01-Nov-98 19:25:02 +keymap.library.rb 887 438 50.6% 01-Nov-98 19:25:02 +layers.library.rb 571 314 45.0% 01-Nov-98 19:25:02 +locale.library.rb 415 246 40.7% 01-Nov-98 19:25:02 +lowlevel.library.rb 217 137 36.8% 01-Nov-98 19:25:02 +mathffp.library.rb 265 146 44.9% 01-Nov-98 19:25:02 +mathieeedoubbas.library.rb 380 186 51.0% 01-Nov-98 19:25:02 +mathieeedoubtrans.library.rb 265 146 44.9% 01-Nov-98 19:25:02 +mathieeesingbas.library.rb 380 184 51.5% 01-Nov-98 19:25:02 +mathieeesingtrans.library.rb 312 172 44.8% 01-Nov-98 19:25:02 +mathtrans.library.rb 61 57 6.5% 01-Nov-98 19:25:02 +misc.library.rb 168 130 22.6% 01-Nov-98 19:25:02 +nonvolatile.library.rb 73 66 9.5% 01-Nov-98 19:25:02 +potgo.library.rb 42 41 2.3% 01-Nov-98 19:25:02 +ramdrive.library.rb 345 198 42.6% 01-Nov-98 19:25:02 +realtime.library.rb 262 153 41.6% 01-Nov-98 19:25:02 +rexxsyslib.library.rb 109 84 22.9% 01-Nov-98 19:25:02 +timer.library.rb 29 29 0.0% 01-Nov-98 19:25:02 +translator.library.rb 984 510 48.1% 01-Nov-98 19:25:02 +utility.library.rb 281 140 50.1% 01-Nov-98 19:25:02 +wb.library.rb 166 131 21.0% 01-Nov-98 19:25:10 +about.author 1305 568 56.4% 01-Nov-98 19:25:02 +exectest.app 861 404 53.0% 01-Nov-98 19:25:02 +muimaster.library.rb 951 441 53.6% 01-Nov-98 19:25:02 +reqtools.library.rb 1132 517 54.3% 01-Nov-98 19:25:02 +exectest.rexx 1801 763 57.6% 01-Nov-98 19:25:02 +graphtest.app 1783 661 62.9% 01-Nov-98 19:25:02 +graphtest.rexx 3466 1264 63.5% 01-Nov-98 19:25:02 +graphtest2.rexx 12364 5820 52.9% 01-Nov-98 19:25:18 +app 137 102 25.5% 01-Nov-98 19:25:18 +app.opts 1365 622 54.4% 01-Nov-98 19:25:00 +makerb.doc 6252 3584 42.6% 01-Nov-98 19:25:02 +royalbridge.library 2047 913 55.3% 01-Nov-98 19:25:12 +royalbridge.readme 8038 2882 64.1% 01-Nov-98 19:25:00 +app.doc 8335 2493 70.0% 01-Nov-98 19:25:00 +royalbridge.doc 122 90 26.2% 01-Nov-98 19:25:12 +install.readme 4496 3036 32.4% 01-Nov-98 19:25:02 +makerb -------- ------- ----- --------- -------- 81330 37904 53.3% 03-Nov-98 11:56:40 60 files