MODULE	'devices/serial',
			'devices/timer',
			'exec/libraries',
			'exec/ports',
			'exec/tasks',
			'intuition/preferences'

CONST	DEVICES_PRTBASE_I=1

OBJECT DeviceData
	Lib:Lib,
	Segment:LONG,
	ExecBase:LONG,
	CmdVectors:LONG,
	CmdBytes:PTR TO CHAR,
	NumCommands:UWORD

CONST	DU_FLAGS=9,
		IOF_QUEUED=16,
		IOF_CURRENT=$20,
		IOF_SERVICING=$40,
		IOF_DONE=$80,
		DUF_STOPPED=1,
		P_PRIORITY=0,
		P_OLDSTKSIZE=$800,
		P_STKSIZE=$1000,
		P_BUFSIZE=$100,
		P_SAFESIZE=$80,
		PF_IOR0=1,
		PF_IOR1=2,
		PF_EXPUNGED=$80

OBJECT PrinterData
	DD:DeviceData,
	Unit:MP,
	PrinterSegment:LONG,
	PrinterType:UWORD,
	SegmentData:PTR TO PrinterSegment,
	PrintBuf:PTR TO CHAR,
	PWrite:LONG,
	PBothReady:LONG,
	NEWUNION	IOR0
		P0:IOExtPar,
		S0:IOExtSer
	UNION IOR1
		P1:IOExtPar,
		S1:IOExtSer
	ENDUNION,
	TIOR:TimeRequest,
	IORPort:MP,
	TC:TC,
	OldStk[$800]:CHAR,
	Flags:CHAR,
	pad:CHAR,
	Preferences:Preferences,
	Pwaitenabled:CHAR,
	pad1:CHAR,
	Stk[$1000]:CHAR

CONST	PPCB_GFX=0,
		PPCF_GFX=1,
		PPCB_COLOR=1,
		PPCF_COLOR=2,
		PPC_BWALPHA=0,
		PPC_BWGFX=1,
		PPC_COLORALPHA=2,
		PPC_COLORGFX=3,
		PCC_BW=1,
		PCC_YMC=2,
		PCC_YMC_BW=3,
		PCC_YMCB=4,
		PCC_4COLOR=4,
		PCC_ADDITIVE=8,
		PCC_WB=9,
		PCC_BGR=10,
		PCC_BGR_WB=11,
		PCC_BGRW=12,
		PCC_MULTI_PASS=16

OBJECT printerextendeddata
	PrinterName:PTR TO CHAR,
	Init:LONG,
	Expunge:LONG,
	Open:LONG,
	Close:LONG,
	PrinterClass:CHAR,
	ColorClass:CHAR,
	MaxColumns:CHAR,
	NumCharSets:CHAR,
	NumRows:UWORD,
	MaxXDots:LONG,
	MaxYDots:LONG,
	XDotsInch:UWORD,
	YDotsInch:UWORD,
	Commands:PTR TO LONG,
	DoSpecial:LONG,
	Render:LONG,
	TimeOutSecs:LONG,
	X8BitChars:PTR TO LONG,
	PrintMode:LONG,
	ConvFunv:LONG

OBJECT PrinterSegment
	NextSegment:LONG,
	RunAlert:LONG,
	Version:UWORD,
	Revision:UWORD,
	PED:PrinterExtendedData
