Short: Use Amiga-E to create xpk sublibraries. Uploader: Torgil Svenssom (snorq@lyator.liu.se) Author: Torgil Svensson (snorq@lysator.liu.se) Type: dev/e Distribution: Your choice. Requirements: Any Amiga. Amiga-E V3.2+, xpk25usr + xpk25dev packages. Restrictions: Not much to add here. Please send me bugreports, comments, suggestions, other examples etc. archive contents: ---------------------------------------------------------------------- README - this file xpkrev - modified bumpee program for revision ctrl Bumpee1_44.lha - orig. bumpee prog by Leon Woestenberg none/none.e - example library none/none_xpkrev.e - revision module for use with xpkrev none/none_xpkrev.m - compiled module source/xpk.e - converted from xpk.h source/xpksub.e - converted from xpksub.h source/xpk_pragmas.h - from xpk.h source/xpksub_pragmas.h - from xpksub.h source/xpkrev.e - source to xpkrev source/xpkrev_rev.e - revision module for use with Bumpee source/xpkrev_rev.m - compiled module modules/xpk.m - Pragma2Module xpk_pragmas.h (libcalls) modules/xpksub.m - Pragma2Module xpksub_pragmas.h modules/libraries/xpk.m - EC xpk.e modules/libraries/xpksub.m - EC xpksub.e ---------------------------------------------------------------------- USE THEESE FILES ON YOUR OWN RISK xpk.h & xpksub.h mentioned above are those in the xpk25dev.lha archive. installation: simply copy the module files where they belong. copy modules/xpk.m EMODULES: copy modules/xpksub.m EMODULES: copy modules/libraries/xpk.m EMODULES:libraries copy modules/libraries/xpksub.m EMODULES:libraries The included example sub library does no compression but is a good example for beginners (read the docs in the xpk developer archive and of the E language library mode carefully). Here are some notes about the example program. - For version/revision control I have used the xpkrev program (included) which is a changed version of Bumpee program by Leon Woestenberg. xpkrev is done for use with xpk sublibraries. All the changes are listed in the source xpkrev.e. some chages are: * new options (keywords) in xpkrev BUMPINFO=INFO/S bump info structure version BUMPMODES=MODES/S bumps modes descriptors version * defines to build other defines (look in a _xpkrev.e file) * an sourcename none.e will get an LIB_NAME xpkNONE.library (source name are converted to upper case) NAME=NONE Look in an _xpkrev.e file to see what defines/constants you can use. Read bumpee.doc about all the details. - There are a dummy parameters in the library functions to force 'param' in register a0 which are required by the xpk package. Includes are converted to modules as follows - Removed tags/hooks definitions. Use utility/? instead. - All constants defines replaced with CONST with original names - All struct definitions replaced with objects - Object and field names are the same as the original except the two first letters that are converted to lower case!! example : tyedef struct XpkIOMsg { ULONG Type; ... } XIOMSG; converted as : OBJECT xpkIOMsg type:LONG -> (unsigned) ... ENDOBJECT - field type conversion : LONG -> :LONG LONG [n] -> [n] :ARRAY OF LONG ULONG -> :LONG -> (unsigned) WORD -> :INT UWORD -> :INT -> (unsigned) BYTE [n] -> [n] :ARRAY BYTE [n][m] -> [n*m] :ARRAY -> ... UBYTE [n] -> [n] :ARRAY -> (unsigned) APTR -> :LONG -> (APTR) STRPTR -> :PTR TO CHAR - All typedefs are removed. If you really want them, you'll have to #define them. Here's the list xpk.h #define XIOMSG xpkIOMsg #define XPROG xpkProgress #define XFIB xpkFib #define XPINFO xpkPackerInfo #define XMINFO xpkMode #define XPLIST xpkPackerList #define XFH xpkFib xpksub.h #define XINFO xpkInfo #define XPARAMS xpkSubParams