# module.c File Reference

`#include "magick/studio.h"`
`#include "magick/blob.h"`
`#include "magick/coder.h"`
`#include "magick/client.h"`
`#include "magick/configure.h"`
`#include "magick/exception.h"`
`#include "magick/exception-private.h"`
`#include "magick/log.h"`
`#include "magick/hashmap.h"`
`#include "magick/magic.h"`
`#include "magick/magick.h"`
`#include "magick/memory_.h"`
`#include "magick/module.h"`
`#include "magick/semaphore.h"`
`#include "magick/splay-tree.h"`
`#include "magick/static.h"`
`#include "magick/string_.h"`
`#include "magick/token.h"`
`#include "magick/utility.h"`
`#include "ltdl.h"`

## Defines

#define | ModuleGlobExpression "*.la"

## Typedefs

typedef lt_dlhandle | ModuleHandle

## Functions

static const ModuleInfo * | RegisterModule (const ModuleInfo *, ExceptionInfo *)
static MagickBooleanType | GetMagickModulePath (const char *, MagickModuleType, char *, ExceptionInfo *)
static MagickBooleanType | InitializeModuleList (ExceptionInfo *)
static MagickBooleanType | UnregisterModule (const ModuleInfo *, ExceptionInfo *)
static void | TagToCoderModuleName (const char *, char *)
static void | TagToFilterModuleName (const char *, char *)
static void | TagToModuleName (const char *, const char *, char *)
MagickExport void | DestroyModuleList (void)
MagickExport const ModuleInfo * | GetModuleInfo (const char *tag, ExceptionInfo *exception)
static int | ModuleInfoCompare (const void *x, const void *y)
MagickExport const ModuleInfo ** | GetModuleInfoList (const char *pattern, unsigned long *number_modules, ExceptionInfo *exception)
static int | ModuleCompare (const void *x, const void *y)
MagickExport char ** | GetModuleList (const char *pattern, unsigned long *number_modules, ExceptionInfo *exception)
static void * | DestroyModuleNode (void *module_info)
static MagickBooleanType | InitializeModuleList (ExceptionInfo *magick_unused(exception))
MagickExport MagickBooleanType | InvokeDynamicImageFilter (const char *tag, Image **images, const int argc, char **argv, ExceptionInfo *exception)
MagickExport MagickBooleanType | ListModuleInfo (FILE *file, ExceptionInfo *exception)
MagickExport MagickBooleanType | OpenModule (const char *module, ExceptionInfo *exception)
MagickExport MagickBooleanType | OpenModules (ExceptionInfo *exception)

## Variables

static SemaphoreInfo * | module_semaphore = (SemaphoreInfo *) NULL
static SplayTreeInfo * | module_list = (SplayTreeInfo *) NULL
static volatile MagickBooleanType | instantiate_module = MagickFalse

## Define Documentation

#define ModuleGlobExpression "*.la"

## Typedef Documentation

typedef lt_dlhandle ModuleHandle

## Function Documentation

MagickExport void DestroyModuleList | ( | void |  | ) |

static void* DestroyModuleNode | ( | void * | module_info | ) | `[static]`

static MagickBooleanType GetMagickModulePath | ( | const char * | filename,
|  | MagickModuleType | module_type,
|  | char * | path,
|  | ExceptionInfo * | exception |
| ) |  |  | `[static]`

MagickExport const ModuleInfo* GetModuleInfo | ( | const char * | tag,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport const ModuleInfo** GetModuleInfoList | ( | const char * | pattern,
|  | unsigned long * | number_modules,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport char** GetModuleList | ( | const char * | pattern,
|  | unsigned long * | number_modules,
|  | ExceptionInfo * | exception |
| ) |  |  |

static MagickBooleanType InitializeModuleList | ( | ExceptionInfo * | magick_unused(exception) | ) | `[static]`

static MagickBooleanType InitializeModuleList | ( | ExceptionInfo * |  | ) |

MagickExport MagickBooleanType InvokeDynamicImageFilter | ( | const char * | tag,
|  | Image ** | images,
|  | const int | argc,
|  | char ** | argv,
|  | ExceptionInfo * | exception |
| ) |  |  |

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

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

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

MagickExport MagickBooleanType OpenModule | ( | const char * | module,
|  | ExceptionInfo * | exception |
| ) |  |  |

MagickExport MagickBooleanType OpenModules | ( | ExceptionInfo * | exception | ) |

static const ModuleInfo * RegisterModule | ( | const ModuleInfo * | module_info,
|  | ExceptionInfo * | exception |
| ) |  |  | `[static]`

static void TagToCoderModuleName | ( | const char * | tag,
|  | char * | name |
| ) |  |  | `[static]`

static void TagToFilterModuleName | ( | const char * | tag,
|  | char * | name |
| ) |  |  |

static void TagToModuleName | ( | const char * | tag,
|  | const char * | format,
|  | char * | module |
| ) |  |  |

static MagickBooleanType UnregisterModule | ( | const ModuleInfo * | module_info,
|  | ExceptionInfo * | exception |
| ) |  |  |

## Variable Documentation

volatile MagickBooleanType instantiate_module = MagickFalse`[static]`

SplayTreeInfo* module_list = (SplayTreeInfo *) NULL`[static]`

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