home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 1: Amiga
/
FrozenFish-Apr94.iso
/
bbs
/
alib
/
d5xx
/
d566
/
apfelkiste.lha
/
Apfelkiste
/
Apfelkiste1.3
/
Includes
/
printersupport.h
< prev
next >
Wrap
C/C++ Source or Header
|
1991-11-21
|
2KB
|
72 lines
#include <devices/printer.h>
#include <intuition/intuition.h>
union printerIO {
struct IOStdReq ios;
struct IODRPReq iodrp;
struct IOPrtCmdReq iopc;
};
long OpenPrinter(union printerIO *request)
{
return (long) OpenDevice("printer.device", 0L, (struct IORequest *) request, 0L);
}
long ClosePrinter(union printerIO *request)
{
CloseDevice((struct IORequest *) request);
return 0L;
}
long PrintString(union printerIO *request, char *string)
{
request->ios.io_Command = CMD_WRITE;
request->ios.io_Data = (APTR) string;
request->ios.io_Length = -1L;
return (long) DoIO((struct IORequest *) request);
}
long PrintRaw(union printerIO *request, char *buffer, long count)
{
request->ios.io_Command = PRD_RAWWRITE;
request->ios.io_Data = (APTR) buffer;
request->ios.io_Length = count;
return (long) DoIO((struct IORequest *) request);
}
long PrintCommand(union printerIO *request, long command,
long p0, long p1, long p2, long p3)
{
request->iopc.io_Command = PRD_PRTCOMMAND;
request->iopc.io_PrtCommand = command;
request->iopc.io_Parm0 = p0;
request->iopc.io_Parm1 = p1;
request->iopc.io_Parm2 = p2;
request->iopc.io_Parm3 = p3;
return (long) DoIO((struct IORequest *) request);
}
long DumpRPort(union printerIO *request, struct RastPort *rastPort,
struct ColorMap *colorMap, ULONG modes,
UWORD sx, UWORD sy, UWORD sw, UWORD sh,
LONG dc, LONG dr,
UWORD s)
{
request->iodrp.io_Command = PRD_DUMPRPORT;
request->iodrp.io_RastPort = rastPort;
request->iodrp.io_ColorMap = colorMap;
request->iodrp.io_Modes = modes;
request->iodrp.io_SrcX = sx;
request->iodrp.io_SrcY = sy;
request->iodrp.io_SrcWidth = sw;
request->iodrp.io_SrcHeight = sh;
request->iodrp.io_DestCols = dc;
request->iodrp.io_DestRows = dr;
request->iodrp.io_Special = s;
return (long) DoIO((struct IORequest *) request);
}