	IFND PowerCrawler_I
PowerCrawler_I Set 1

	IFND EXEC_TYPES_I
	INCLUDE "exec/types.i"
	ENDC
	
	IFND LIBRARIES_ASL_I
	INCLUDE "libraries/asl.i"
	ENDC
;----------------------------------------------------------
	
	
PC_IO_LOADMAP = 0
PC_IO_SAVEMAP = 1
PC_IO_GETINFO = 2

PC_PL_LOADPIC = 0
PC_PL_GETINFO = 2

PC_ACTION_NOACTION = 0
PC_ACTION_GETRECT = 1

PC_RETURN_OK = 0
PC_RETURN_ERROR = 1
PC_RETURN_READERROR = 2
PC_RETURN_WRITEERROR = 3
PC_RETURN_DOSERROR = 4
PC_RETURN_NOMEMORY = 5
PC_RETURN_WRONGFORMAT = 6
PC_RETURN_NOMAPBUFFER = 7

;----------------------------------------------------------

	STRUCTURE PCMapData,0
	
	UBYTE	pcd_MemoryType			;1=Byte,  2=Word
	UBYTE	pcd_Layers			;Number of Layers
	UBYTE	pcd_BlockSizeX
	UBYTE	pcd_BlockSizeY
	ULONG	pcd_MapWidth
	ULONG	pcd_MapHeight
	UBYTE	pcd_TransparentBlock		;0=Block 0,  1=Block -1
	UBYTE	pcd_Compression			;(only when saved!) 0=NONE,   1=BYTERUN1
	ULONG	pcd_Reserved1
	ULONG	pcd_Reserved2
	ULONG	pcd_Reserved3
	LABEL	PCMapData_SIZEOF

;----------------------------------------------------------
	STRUCTURE PCBrushData,0
	
	STRUCT	pcb_Node,LN_SIZE
	UWORD	pcb_NameLength
	STRUCT	pcb_Name,26
	UWORD	pcb_Width
	UWORD	pcb_Height
	UWORD	pcb_Layers
	ULONG	pcb_LayerSize
	UWORD	pcb_MemoryType
	ULONG	pcb_AllocSize				;Memory, the Brush needs
	ULONG	pcb_Reserved1
	ULONG	pcb_Reserved2
	ULONG	pcb_Reserved3
	UWORD	pcb_Data				;
	LABEL	PCBrushData_SIZEOF
		
;----------------------------------------------------------
	STRUCTURE PCInformation,0

	APTR		pci_DosBase			;Some Libraries
	APTR		pci_GfxBase
	APTR		pci_IntBase
	APTR		pci_GadBase
	APTR		pci_AslBase
	APTR		pci_DiskFontbase
	APTR		pci_LayersBase
	APTR		pci_IconBase			;May be 0 (not opened)
	APTR		pci_WBBase			;May be 0 (not opened)
	ULONG		pci_reserved1
	ULONG		pci_reserved2
	ULONG		pci_reserved3
	APTR		pci_WindowScreen		;Screen on which the Mainwindow was opened (Workbench!?)
	APTR		pci_PicScreen			;Blocks-Screen (may be 0)
	APTR		pci_EditScreen			;Edit-Screen (may be 0)
	ULONG		pci_PicDisplayID
	ULONG		pci_EditDisplayID
	UWORD		pci_PicOverScanType
	UWORD		pci_EditOverScanType
	ULONG		pci_PicWidth
	ULONG		pci_PicHeight
	UWORD		pci_PicPlanes
	APTR		pci_PicRastPort			;RastPort of the borderless Window on Block-Screen
	APTR		pci_PicColors			;Pointer to a CMAP-Chunk (IFF-ILBM-FORMAT)
	UWORD		pci_EditPlanes			;# of Planes on EditScreen ( >= pci_PicPlanes)
	APTR		pci_MaskBitmap			;Pointer to the Mask-Bitmap (same Width, Height, Planes like Pic-Screen)
	APTR		pci_WBFont			;Pointer to TextFont-Structure
	APTR		pci_EDFont			;"       "  "
	APTR		pci_EDFontFix			;"       "  "
	ULONG		pci_WBFontSX			;X-Width of Font used on WB-Screen
	ULONG		pci_WBFontSY			;Y-Width of Font used on WB-Screen
	ULONG		pci_WBdx			;Window-LeftBorder-Offset for WB
	ULONG		pci_WBdy			;Window-TopBorder-Offset for WB
	ULONG		pci_EDFontSX			;X-Width of Font used on Edit-Screen
	ULONG		pci_EDFontSY			;Y-Width of Font uses on Edit-Screen
	ULONG		pci_EDFixSX			;X-Width of Fix-Font used on Edit-Screen
	ULONG		pci_EDFixSY			;Y-Width of Fix-Font used on Edit-Screen
	ULONG		pci_EDdx			;Window-LeftBorder-Offset for Edit-Screen
	ULONG		pci_EDdy			;Window-TopBorder-Offset for Edit-Screen
	UWORD		pci_WBShine			;Shinepen for WB
	UWORD		pci_WBShadow			;Shadowpen for WB
	UWORD		pci_WBFill			;Fillpen for WB
	UWORD		pci_WBBack			;BackgroundPen for WB
	UWORD		pci_EDShine			;ShinePen for EDIT
	UWORD		pci_EDShadow			;ShadowPen for EDIT
	UWORD		pci_EDFill			;Fillpen for EDIT
	UWORD		pci_EDBack			;BackgroundPen for EDIT
	APTR		pci_MapBuffer			;Pointer to Mapbuffer
	STRUCT		pci_MapData,PCMapData_SIZEOF	;MapData-Structure (see above!)
	UWORD		pci_NumBlocksX			;Number of Blocks in one line (= PicWidth / pci_MapData.pcd_BlockSizeX)
	APTR		pci_BrushTable			;Pointer to an array of LEBrushData-Pointers
	APTR		pci_ActualBrush			;Pointer to active Brush (LEBrushData)
	UWORD		pci_NumBrushes			;Number of Brushes in BrushTable
	APTR		pci_FlipTable			;Pointer to array of word (1..pci_FlipTableEntries,1..2) [Format see below]
	UWORD		pci_FlipTableEntries		;Number of Flip-Entries (1 entry = 2 words. 1st word X-flip, 2nd Y-flip)
	UWORD		pci_PenMode			;(1=Block,   2=Brush)
	UWORD		pci_PutMode			;(1=Replace,   2=Matte)
	UWORD		pci_ActualLayer			;
	UWORD		pci_ActualBlock			;(if Penmode=Block)
	UWORD		pci_PenWidth			;in Blocks
	UWORD		pci_PenHeight			;in Blocks
	ULONG		pci_MapPosX			;actual View-Start-Position X (Edit-Mode (= Edit-Screen))
	ULONG		pci_MapPosY			;actual View-Start-Position Y (Edit-Mode (= Edit-Screen))
	UWORD		pci_VisibleX			;actual visible Blocks X (Edit-Mode (= Edit-Screen))
	UWORD		pci_VisibleY			;actual visible Blocks Y (Edit-Mode (= Edit-Screen))

	LABEL		PCInformation_SIZEOF
	
	ENDC