/********************************* * * * powerpacker.library V34.2 * * * * Release 1.1a * * * * (c) Oct 1990 Nico François * * * * example.c * * * * This source is public domain * * in all respects. * * * *********************************/ #include #include #include #include #include #include /* if you define NO_PRAGMAS before including proto/powerpacker.h you must link with ppSCglue.o or ppLCglue.o */ #include #include struct PPBase *PPBase = NULL; UBYTE *filestart = NULL; ULONG filelen; char file[108] = "testfile"; main() { int err; if (!(PPBase = (struct PPBase *)OpenLibrary ("powerpacker.library", 0L))) puts ("You need powerpacker.library V33+ !"); else { puts ("Loading file..."); err = ppLoadData (file, DECR_POINTER, 0L, &filestart, &filelen, NULL); if (err) { switch (err) { case PP_READERR: puts ("Error loading text file !"); break; case PP_NOMEMORY: puts ("No memory to decrunch file !"); break; case PP_PASSERR: puts ("Incorrect password, loading aborted !"); break; case PP_OPENERR: puts ("Can't open file !"); break; case PP_UNKNOWNPP: puts ("Crunched with unknown PP !"); break; default: puts ("Unknown error !"); break; } } else { puts ("file in memory, using it..."); /* file is loaded at 'filestart' and can now be used */ /* ... */ puts ("done, freeing file..."); } } /* free all resources */ if (filestart) FreeMem (filestart, filelen); if (PPBase) CloseLibrary ((struct Library *)PPBase); puts ("exiting."); exit (0); }