# delegate.c File Reference

`#include "magick/studio.h"`
`#include "magick/property.h"`
`#include "magick/blob.h"`
`#include "magick/client.h"`
`#include "magick/configure.h"`
`#include "magick/constitute.h"`
`#include "magick/delegate.h"`
`#include "magick/exception.h"`
`#include "magick/exception-private.h"`
`#include "magick/hashmap.h"`
`#include "magick/list.h"`
`#include "magick/memory_.h"`
`#include "magick/resource_.h"`
`#include "magick/semaphore.h"`
`#include "magick/string_.h"`
`#include "magick/token.h"`
`#include "magick/utility.h"`
`#include "magick/xml-tree.h"`

## Defines

#define | DelegateFilename "delegates.xml"

## Functions

static MagickBooleanType | InitializeDelegateList (ExceptionInfo *)
static MagickBooleanType | LoadDelegateLists (const char *, ExceptionInfo *)
static void * | DestroyDelegate (void *delegate_info)
MagickExport void | DestroyDelegateList (void)
MagickExport char * | GetDelegateCommand (const ImageInfo *image_info, Image *image, const char *decode, const char *encode, ExceptionInfo *exception)
MagickExport const char * | GetDelegateCommands (const DelegateInfo *delegate_info)
MagickExport const DelegateInfo * | GetDelegateInfo (const char *decode, const char *encode, ExceptionInfo *exception)
static int | DelegateInfoCompare (const void *x, const void *y)
MagickExport const DelegateInfo ** | GetDelegateInfoList (const char *pattern, unsigned long *number_delegates, ExceptionInfo *exception)
static int | DelegateCompare (const void *x, const void *y)
MagickExport char ** | GetDelegateList (const char *pattern, unsigned long *number_delegates, ExceptionInfo *exception)
MagickExport long | GetDelegateMode (const DelegateInfo *delegate_info)
MagickExport MagickBooleanType | GetDelegateThreadSupport (const DelegateInfo *delegate_info)
static size_t | MagickMin (const size_t x, const size_t y)
static void | CopyDelegateFile (const char *source, const char *destination)
MagickExport MagickBooleanType | InvokeDelegate (ImageInfo *image_info, Image *image, const char *decode, const char *encode, ExceptionInfo *exception)
MagickExport MagickBooleanType | ListDelegateInfo (FILE *file, ExceptionInfo *exception)
static MagickBooleanType | LoadDelegateList (const char *xml, const char *filename, const unsigned long depth, ExceptionInfo *exception)

## Variables

static const char * | DelegateMap
static LinkedListInfo * | delegate_list = (LinkedListInfo *) NULL
static SemaphoreInfo * | delegate_semaphore = (SemaphoreInfo *) NULL
static volatile MagickBooleanType | instantiate_delegate = MagickFalse

## Define Documentation

#define DelegateFilename "delegates.xml"

## Function Documentation

static void CopyDelegateFile | ( | const char * | source,
|  | const char * | destination |
| ) |  |  | `[static]`

static int DelegateCompare | ( | const void * | x,
|  | const void * | y |
| ) |  |  | `[static]`

static int DelegateInfoCompare | ( | const void * | x,
|  | const void * | y |
| ) |  |  | `[static]`

static void* DestroyDelegate | ( | void * | delegate_info | ) | `[static]`

MagickExport void DestroyDelegateList | ( | void |  | ) |

MagickExport char* GetDelegateCommand | ( | const ImageInfo * | image_info,
|  | Image * | image,
|  | const char * | decode,
|  | const char * | encode,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport const char* GetDelegateCommands | ( | const DelegateInfo * | delegate_info | ) |

MagickExport const DelegateInfo* GetDelegateInfo | ( | const char * | decode,
|  | const char * | encode,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport const DelegateInfo** GetDelegateInfoList | ( | const char * | pattern,
|  | unsigned long * | number_delegates,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport char** GetDelegateList | ( | const char * | pattern,
|  | unsigned long * | number_delegates,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport long GetDelegateMode | ( | const DelegateInfo * | delegate_info | ) |

MagickExport MagickBooleanType GetDelegateThreadSupport | ( | const DelegateInfo * | delegate_info | ) |

static MagickBooleanType InitializeDelegateList | ( | ExceptionInfo * | exception | ) | `[static]`

MagickExport MagickBooleanType InvokeDelegate | ( | ImageInfo * | image_info,
|  | Image * | image,
|  | const char * | decode,
|  | const char * | encode,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport MagickBooleanType ListDelegateInfo | ( | FILE * | file,
|  | ExceptionInfo * | exception |
| ) |  |  |

static MagickBooleanType LoadDelegateList | ( | const char * | xml,
|  | const char * | filename,
|  | const unsigned long | depth,
|  | ExceptionInfo * | exception |
| ) |  |  | `[static]`

static MagickBooleanType LoadDelegateLists | ( | const char * | filename,
|  | ExceptionInfo * | exception |
| ) |  |  |

static size_t MagickMin | ( | const size_t | x,
|  | const size_t | y |
| ) |  |  | `[inline, static]`

## Variable Documentation

LinkedListInfo* delegate_list = (LinkedListInfo *) NULL`[static]`

SemaphoreInfo* delegate_semaphore = (SemaphoreInfo *) NULL`[static]`

const char* DelegateMap `[static]`

volatile MagickBooleanType instantiate_delegate = MagickFalse`[static]`