00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef MAGICKCORE_MODULE_H
00019 #define MAGICKCORE_MODULE_H
00020
00021 #include "MagickCore/version.h"
00022
00023 #if defined(__cplusplus) || defined(c_plusplus)
00024 extern "C" {
00025 #endif
00026
00027 #define MagickImageCoderSignature ((size_t) \
00028 (((MagickLibInterface) << 8) | MAGICKCORE_QUANTUM_DEPTH))
00029 #define MagickImageFilterSignature ((size_t) \
00030 (((MagickLibInterface) << 8) | MAGICKCORE_QUANTUM_DEPTH))
00031
00032 typedef enum
00033 {
00034 MagickImageCoderModule,
00035 MagickImageFilterModule
00036 } MagickModuleType;
00037
00038 typedef struct _ModuleInfo
00039 {
00040 char
00041 *path,
00042 *tag;
00043
00044 void
00045 *handle,
00046 (*unregister_module)(void);
00047
00048 size_t
00049 (*register_module)(void);
00050
00051 time_t
00052 timestamp;
00053
00054 MagickBooleanType
00055 stealth;
00056
00057 size_t
00058 signature;
00059 } ModuleInfo;
00060
00061 typedef size_t
00062 ImageFilterHandler(Image **,const int,const char **,ExceptionInfo *);
00063
00064 extern MagickExport char
00065 **GetModuleList(const char *,const MagickModuleType,size_t *,ExceptionInfo *);
00066
00067 extern MagickExport const ModuleInfo
00068 **GetModuleInfoList(const char *,size_t *,ExceptionInfo *);
00069
00070 extern MagickExport MagickBooleanType
00071 InvokeDynamicImageFilter(const char *,Image **,const int,const char **,
00072 ExceptionInfo *),
00073 ListModuleInfo(FILE *,ExceptionInfo *);
00074
00075 extern MagickExport ModuleInfo
00076 *GetModuleInfo(const char *,ExceptionInfo *);
00077
00078 extern MagickExport void
00079 DestroyModuleList(void);
00080
00081 #if defined(__cplusplus) || defined(c_plusplus)
00082 }
00083 #endif
00084
00085 #endif