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 #if defined(__cplusplus) || defined(c_plusplus)
00022 extern "C" {
00023 #endif
00024
00025 #include <time.h>
00026 #include "magick/version.h"
00027
00028 #define MagickImageCoderSignature ((unsigned long) \
00029 (((MagickLibVersion) << 8) | MAGICKCORE_QUANTUM_DEPTH))
00030 #define MagickImageFilterSignature ((unsigned long) \
00031 (((MagickLibVersion) << 8) | MAGICKCORE_QUANTUM_DEPTH))
00032
00033 typedef enum
00034 {
00035 MagickImageCoderModule,
00036 MagickImageFilterModule
00037 } MagickModuleType;
00038
00039 typedef struct _ModuleInfo
00040 {
00041 char
00042 *path,
00043 *tag;
00044
00045 void
00046 *handle,
00047 (*unregister_module)(void);
00048
00049 unsigned long
00050 (*register_module)(void);
00051
00052 time_t
00053 load_time;
00054
00055 MagickBooleanType
00056 stealth;
00057
00058 struct _ModuleInfo
00059 *previous,
00060 *next;
00061
00062 unsigned long
00063 signature;
00064 } ModuleInfo;
00065
00066 typedef ModuleExport unsigned long
00067 ImageFilterHandler(Image **,const int,char **,ExceptionInfo *);
00068
00069 extern MagickExport char
00070 **GetModuleList(const char *,unsigned long *,ExceptionInfo *);
00071
00072 extern MagickExport const ModuleInfo
00073 *GetModuleInfo(const char *,ExceptionInfo *),
00074 **GetModuleInfoList(const char *,unsigned long *,ExceptionInfo *);
00075
00076 extern MagickExport MagickBooleanType
00077 InvokeDynamicImageFilter(const char *,Image **,const int,char **,
00078 ExceptionInfo *),
00079 InvokeStaticImageFilter(const char *,Image **,const int,char **,
00080 ExceptionInfo *),
00081 ListModuleInfo(FILE *,ExceptionInfo *),
00082 OpenModule(const char *,ExceptionInfo *),
00083 OpenModules(ExceptionInfo *);
00084
00085 extern MagickExport void
00086 DestroyModuleList(void),
00087 RegisterStaticModules(void),
00088 UnregisterStaticModules(void);
00089
00090 #if defined(__cplusplus) || defined(c_plusplus)
00091 }
00092 #endif
00093
00094 #endif