xadmaster.library got a design which is a result of programming for xfdmaster.library, programming xpkmaster.library and fd2pragma tool. I got some problems with these and tried to fix them for xadmaster.library. I hope I got all :-) We will see in some years. The library has a very open interface allowing future enhancements easily. Nearly all funtions get their arguments through TagItem structures and all structures must be allocated through xadmaster.library which ensures the ability to expand them. The functions using Tag arrays end with A. Related varargs functions end without A, but are not supported on all compilers directly. Use fd2pragma to create link libraries for e.g. MaxonC++ compiler. The library is done in pure C code compiled with SAS-C. It does not use global variables and library bases or the ExecBase pointer from 4.W. All the necessary data is stored locally. All library functions use the normal library interface for their work (e.g. xadGetInfo does not call xadAllocObject internally, but with normal library call). The library base pointers stored in xadMasterBase should be used from clients only. No other programs should access them to ensure future compatibility! If you need additionally include files, use fd2pragma utility. It can be found in Aminet under name dev/misc/fd2pragma.lha. It is able to produce stub libraries, lvo, proto and pragma files and a lot of other stuff. The inline files in directory inline will work with GCC and VBCC. The pragma files will work with SAS, Maxon, Storm, Dice and Aztec compiler. The proto files will work with all of these compilers! Most of these files were automatically created with fd2pragma (2.139 or better): fd2pragma SPECIAL 6 INFILE SFD/xadmaster_lib.sfd TO C/pragma fd2pragma SPECIAL 18 INFILE SFD/xadmaster_lib.sfd TO AmigaE/ fd2pragma SPECIAL 40 INFILE SFD/xadmaster_lib.sfd TO C/inline fd2pragma SPECIAL 38 INFILE SFD/xadmaster_lib.sfd TO C/proto fd2pragma SPECIAL 70 INFILE SFD/xadmaster_lib.sfd TO C/inline fd2pragma SPECIAL 23 INFILE SFD/xadmaster_lib.sfd TO ASM/lvo fd2pragma SPECIAL 110 INFILE SFD/xadmaster_lib.sfd TO FD COMMENT fd2pragma SPECIAL 111 INFILE SFD/xadmaster_lib.sfd TO C/clib COMMENT COPYRIGHT "Dirk Stöcker" For GCC you may delete the pragma directory. For all the other C compilers you may delete the inline directory, but use pragma instead. Do not rename pragma to pragmas or change the file names! When pragma does not exist, please create it. Always call files in proto directory instead of clib, inline or pragma directory! This makes usage of different compilers possible. You need not to modify any of the include files or change their names! Dirk Stöcker 13th December 2001