#ifndef _MAGICKCORE_DELEGATE_H
#define _MAGICKCORE_DELEGATE_H
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
#endif
#include <stdarg.h>
#include "magick/semaphore.h"
typedef struct _DelegateInfo
{
char
*path,
*decode,
*encode,
*commands;
ssize_t
mode;
MagickBooleanType
thread_support,
spawn,
stealth;
struct _DelegateInfo
*previous,
*next;
size_t
signature;
SemaphoreInfo
*semaphore;
} DelegateInfo;
extern MagickExport char
*GetDelegateCommand(const ImageInfo *,Image *,const char *,const char *,
ExceptionInfo *),
**GetDelegateList(const char *,size_t *,ExceptionInfo *);
extern MagickExport const char
*GetDelegateCommands(const DelegateInfo *);
extern MagickExport const DelegateInfo
*GetDelegateInfo(const char *,const char *,ExceptionInfo *exception),
**GetDelegateInfoList(const char *,size_t *,ExceptionInfo *);
extern MagickExport int
ExternalDelegateCommand(const MagickBooleanType,const MagickBooleanType,
const char *,char *,ExceptionInfo *);
extern MagickExport ssize_t
GetDelegateMode(const DelegateInfo *);
extern MagickExport MagickBooleanType
DelegateComponentGenesis(void),
GetDelegateThreadSupport(const DelegateInfo *),
InvokeDelegate(ImageInfo *,Image *,const char *,const char *,ExceptionInfo *),
ListDelegateInfo(FILE *,ExceptionInfo *);
extern MagickExport void
DelegateComponentTerminus(void);
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif
#endif