#ifndef XFDMASTER_INTERFACE_DEF_H
#define XFDMASTER_INTERFACE_DEF_H

/*
** This file was machine generated by idltool 51.8.
** Do not edit
*/ 

#ifndef EXEC_TYPES_H
#include <exec/types.h>
#endif
#ifndef EXEC_EXEC_H
#include <exec/exec.h>
#endif
#ifndef EXEC_INTERFACES_H
#include <exec/interfaces.h>
#endif

#ifndef LIBRARIES_XFDMASTER_H
#include <libraries/xfdmaster.h>
#endif

struct XfdIFace
{
	struct InterfaceData Data;

	ULONG APICALL (*Obtain)(struct XfdIFace *Self);
	ULONG APICALL (*Release)(struct XfdIFace *Self);
	void APICALL (*Expunge)(struct XfdIFace *Self);
	struct Interface * APICALL (*Clone)(struct XfdIFace *Self);
	struct xfdBufferInfo * APICALL (*xfdAllocBufferInfo)(struct XfdIFace *Self);
	void APICALL (*xfdFreeBufferInfo)(struct XfdIFace *Self, struct xfdBufferInfo * bufferinfo);
	struct xfdSegmentInfo * APICALL (*xfdAllocSegmentInfo)(struct XfdIFace *Self);
	void APICALL (*xfdFreeSegmentInfo)(struct XfdIFace *Self, struct xfdSegmentInfo * segmentinfo);
	BOOL APICALL (*xfdRecogBuffer)(struct XfdIFace *Self, struct xfdBufferInfo * bufferinfo);
	BOOL APICALL (*xfdDecrunchBuffer)(struct XfdIFace *Self, struct xfdBufferInfo * bufferinfo);
	BOOL APICALL (*xfdRecogSegment)(struct XfdIFace *Self, struct xfdSegmentInfo * segmentinfo);
	BOOL APICALL (*xfdDecrunchSegment)(struct XfdIFace *Self, struct xfdSegmentInfo * segmentinfo);
	STRPTR APICALL (*xfdGetErrorText)(struct XfdIFace *Self, UWORD error);
	BOOL APICALL (*xfdTestHunkStructure)(struct XfdIFace *Self, APTR buffer, ULONG length);
	UWORD APICALL (*xfdTestHunkStructureNew)(struct XfdIFace *Self, APTR buffer, ULONG length);
	UWORD APICALL (*xfdRelocate)(struct XfdIFace *Self, APTR buffer, ULONG length, ULONG * result, UWORD mode);
	UWORD APICALL (*xfdTestHunkStructureFlags)(struct XfdIFace *Self, APTR buffer, ULONG length, UWORD flags);
	UWORD APICALL (*xfdStripHunks)(struct XfdIFace *Self, APTR buffer, ULONG length, ULONG * result, UWORD flags);
	APTR APICALL (*xfdAllocObject)(struct XfdIFace *Self, ULONG objecttype);
	void APICALL (*xfdFreeObject)(struct XfdIFace *Self, APTR object);
	BOOL APICALL (*xfdRecogLinker)(struct XfdIFace *Self, struct xfdLinkerInfo * linkerinfo);
	BOOL APICALL (*xfdUnlink)(struct XfdIFace *Self, struct xfdLinkerInfo * linkerinfo);
	UWORD APICALL (*xfdScanData)(struct XfdIFace *Self, APTR buffer, ULONG length, ULONG * result, UWORD flags, struct xfdScanHook * scanhook);
	void APICALL (*xfdFreeScanList)(struct XfdIFace *Self, struct xfdScanNode * scannode);
	ULONG APICALL (*xfdObjectType)(struct XfdIFace *Self, APTR object);
	struct xfdScanHook * APICALL (*xfdInitScanHook)(struct XfdIFace *Self, BOOL (*entry)(), APTR data);
};

#endif /* XFDMASTER_INTERFACE_DEF_H */
