FDTools, V1.0 1. What is this ? FDTools is a package of three small programs that handle .fd (shared library description) files: - fd2i: FDFILE/A,IFILE/A fd2i converts a .fd file into an assembler include file (.i) containing the LVO values for the library. - fd2stub: FDFILE/A,STUBFILE/A fd2stub creates an assembler (.a) file containing the LVOs and stub function calls - including stubs for easy varargs usage. - fd2pragma: FDFILE/A,INCFILE/A fd2pragma is a replacement for the SAS/C utility fd2pragma. My fd2pragma is able to generate #pragma tagcall statements correctly ! 2. Varargs detection The .fd tools are able to detect functions with varargs (e.g. taglists) if they follow the naming convention: - Function names of the form xxxA() (exceptions: Cache(Pre|Post)DMA()) and yyyTagList() indicate varargs. - The respective stubs/tagcalls are xxx() and yyyTags(). - In addition to that yyyTagList() has a (non varargs) alias yyy() (exceptions: Open(Window|Screen)TagList). - Any function whose last parameter is called "taglist" or "tags" but whose name does not end with "A" or "TagList" is handled like a yyyTagList() type funtion. - The functions VFWritef, VFPrintf and VPrintf have varargs stubs without the leading "V". 3. Legal stuff FDTools is freeware. There is *absolutely no warranty*. 4. Bug reports Send bug reports, suggestions, flames et al. to Usenet: nobbi@zaphod.rhein.de Fidonet: 2:2453/30.14 Gernet: 21:100/50.14 5. History 1.0 - first public release