home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
463.lha
/
PPLib_v34.2
/
example.c
< prev
next >
Wrap
C/C++ Source or Header
|
1991-01-05
|
2KB
|
99 lines
/*********************************
* *
* powerpacker.library V34.2 *
* *
* Release 1.1a *
* *
* (c) Oct 1990 Nico François *
* *
* example.c *
* *
* This source is public domain *
* in all respects. *
* *
*********************************/
#include <exec/types.h>
#include <exec/memory.h>
#include <libraries/dos.h>
#include <proto/exec.h>
#include <proto/dos.h>
#include <stdio.h>
/* if you define NO_PRAGMAS before including proto/powerpacker.h
you must link with ppSCglue.o or ppLCglue.o */
#include <proto/powerpacker.h>
#include <libraries/ppbase.h>
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);
}