MagickCore 6.9.13
Loading...
Searching...
No Matches
module.h
1/*
2 Copyright 1999 ImageMagick Studio LLC, a non-profit organization
3 dedicated to making software imaging solutions freely available.
4
5 You may not use this file except in compliance with the License. You may
6 obtain a copy of the License at
7
8 https://imagemagick.org/script/license.php
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15
16 MagickCore module methods.
17*/
18#ifndef MAGICKCORE_MODULE_H
19#define MAGICKCORE_MODULE_H
20
21#include <time.h>
22#include "magick/version.h"
23
24#if defined(__cplusplus) || defined(c_plusplus)
25extern "C" {
26#endif
27
28#define MagickImageCoderSignature ((size_t) \
29 (((MagickLibInterface) << 8) | MAGICKCORE_QUANTUM_DEPTH))
30#define MagickImageFilterSignature ((size_t) \
31 (((MagickLibInterface) << 8) | MAGICKCORE_QUANTUM_DEPTH))
32
33typedef enum
34{
35 MagickImageCoderModule,
36 MagickImageFilterModule
37} MagickModuleType;
38
39typedef struct _ModuleInfo
40{
41 char
42 *path,
43 *tag;
44
45 void
46 *handle,
47 (*unregister_module)(void);
48
49 size_t
50 (*register_module)(void);
51
52 time_t
53 timestamp;
54
55 MagickBooleanType
56 stealth;
57
58 struct _ModuleInfo
59 *previous,
60 *next; /* deprecated, use GetModuleInfoList() */
61
62 size_t
63 signature;
65
66typedef size_t
67 ImageFilterHandler(Image **,const int,const char **,ExceptionInfo *);
68
69extern MagickExport char
70 **GetModuleList(const char *,const MagickModuleType,size_t *,ExceptionInfo *);
71
72extern MagickExport const ModuleInfo
73 **GetModuleInfoList(const char *,size_t *,ExceptionInfo *);
74
75extern MagickExport MagickBooleanType
76 InvokeDynamicImageFilter(const char *,Image **,const int,const char **,
78 ListModuleInfo(FILE *,ExceptionInfo *),
79 ModuleComponentGenesis(void),
80 OpenModule(const char *,ExceptionInfo *),
81 OpenModules(ExceptionInfo *);
82
83extern MagickExport ModuleInfo
84 *GetModuleInfo(const char *,ExceptionInfo *);
85
86extern MagickExport void
87 DestroyModuleList(void),
88 ModuleComponentTerminus(void);
89
90#if defined(__cplusplus) || defined(c_plusplus)
91}
92#endif
93
94#endif