|
MagickCore
6.7.5
|
00001 /* 00002 Copyright 1999-2012 ImageMagick Studio LLC, a non-profit organization 00003 dedicated to making software imaging solutions freely available. 00004 00005 You may not use this file except in compliance with the License. 00006 obtain a copy of the License at 00007 00008 http://www.imagemagick.org/script/license.php 00009 00010 Unless required by applicable law or agreed to in writing, software 00011 distributed under the License is distributed on an "AS IS" BASIS, 00012 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 00013 See the License for the specific language governing permissions and 00014 limitations under the License. 00015 00016 MagickCore module methods. 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 "MagickCore/version.h" 00027 00028 #define MagickImageCoderSignature ((size_t) \ 00029 (((MagickLibVersion) << 8) | MAGICKCORE_QUANTUM_DEPTH)) 00030 #define MagickImageFilterSignature ((size_t) \ 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 size_t 00050 (*register_module)(void); 00051 00052 time_t 00053 timestamp; 00054 00055 MagickBooleanType 00056 stealth; 00057 00058 size_t 00059 signature; 00060 } ModuleInfo; 00061 00062 typedef size_t 00063 ImageFilterHandler(Image **,const int,const char **,ExceptionInfo *); 00064 00065 extern MagickExport char 00066 **GetModuleList(const char *,const MagickModuleType,size_t *,ExceptionInfo *); 00067 00068 extern MagickExport const ModuleInfo 00069 **GetModuleInfoList(const char *,size_t *,ExceptionInfo *); 00070 00071 extern MagickExport MagickBooleanType 00072 InvokeDynamicImageFilter(const char *,Image **,const int,const char **, 00073 ExceptionInfo *), 00074 ListModuleInfo(FILE *,ExceptionInfo *); 00075 00076 extern MagickExport ModuleInfo 00077 *GetModuleInfo(const char *,ExceptionInfo *); 00078 00079 extern MagickExport void 00080 DestroyModuleList(void), 00081 RegisterStaticModules(void), 00082 UnregisterStaticModules(void); 00083 00084 #if defined(__cplusplus) || defined(c_plusplus) 00085 } 00086 #endif 00087 00088 #endif