00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef MAGICKCORE_POLICY_H
00019 #define MAGICKCORE_POLICY_H
00020
00021 #include "MagickCore/pixel.h"
00022 #include "MagickCore/exception.h"
00023
00024 #if defined(__cplusplus) || defined(c_plusplus)
00025 extern "C" {
00026 #endif
00027
00028 typedef enum
00029 {
00030 UndefinedPolicyDomain,
00031 CoderPolicyDomain,
00032 DelegatePolicyDomain,
00033 FilterPolicyDomain,
00034 PathPolicyDomain,
00035 ResourcePolicyDomain,
00036 SystemPolicyDomain,
00037 CachePolicyDomain,
00038 ModulePolicyDomain
00039 } PolicyDomain;
00040
00041 typedef enum
00042 {
00043 UndefinedPolicyRights = 0x00,
00044 NoPolicyRights = 0x00,
00045 ReadPolicyRights = 0x01,
00046 WritePolicyRights = 0x02,
00047 ExecutePolicyRights = 0x04,
00048 AllPolicyRights = 0xff
00049 } PolicyRights;
00050
00051 typedef struct _PolicyInfo
00052 PolicyInfo;
00053
00054 extern MagickExport char
00055 *GetPolicyValue(const char *),
00056 **GetPolicyList(const char *,size_t *,ExceptionInfo *);
00057
00058 extern MagickExport const PolicyInfo
00059 **GetPolicyInfoList(const char *,size_t *,ExceptionInfo *);
00060
00061 extern MagickExport MagickBooleanType
00062 IsRightsAuthorized(const PolicyDomain,const PolicyRights,const char *),
00063 ListPolicyInfo(FILE *,ExceptionInfo *),
00064 SetMagickSecurityPolicy(const char *,ExceptionInfo *),
00065 SetMagickSecurityPolicyValue(const PolicyDomain,const char *,const char *,
00066 ExceptionInfo *);
00067
00068 #if defined(__cplusplus) || defined(c_plusplus)
00069 }
00070 #endif
00071
00072 #endif