#ifndef XFDMASTER_INTERFACE_DEF_H
#define XFDMASTER_INTERFACE_DEF_H

/*
** This file was machine generated by idltool 53.7.
** 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

#ifdef __cplusplus
#ifdef __USE_AMIGAOS_NAMESPACE__
namespace AmigaOS {
#endif
extern "C" {
#endif

struct xfdMasterIFace
{
	struct InterfaceData Data;

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

#ifdef __cplusplus
}
#ifdef __USE_AMIGAOS_NAMESPACE__
}
#endif
#endif

#endif /* XFDMASTER_INTERFACE_DEF_H */
