00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 #ifndef _MAGICKCORE_MAGIC_H
00019 #define _MAGICKCORE_MAGIC_H
00020 
00021 #if defined(__cplusplus) || defined(c_plusplus)
00022 extern "C" {
00023 #endif
00024 
00025 typedef struct _MagicInfo
00026 {
00027   char
00028     *path,
00029     *name,
00030     *target;
00031 
00032   unsigned char
00033     *magic;
00034 
00035   size_t
00036     length;
00037 
00038   MagickOffsetType
00039     offset;
00040 
00041   MagickBooleanType
00042     stealth;
00043 
00044   struct _MagicInfo
00045     *previous,
00046     *next;  
00047 
00048   unsigned long
00049     signature;
00050 } MagicInfo;
00051 
00052 extern MagickExport char
00053   **GetMagicList(const char *,unsigned long *,ExceptionInfo *);
00054 
00055 extern MagickExport const char
00056   *GetMagicName(const MagicInfo *);
00057 
00058 extern MagickExport MagickBooleanType
00059   ListMagicInfo(FILE *,ExceptionInfo *);
00060 
00061 extern MagickExport const MagicInfo
00062   *GetMagicInfo(const unsigned char *,const size_t,ExceptionInfo *),
00063   **GetMagicInfoList(const char *,unsigned long *,ExceptionInfo *);
00064 
00065 extern MagickExport void
00066   DestroyMagicList(void);
00067 
00068 #if defined(__cplusplus) || defined(c_plusplus)
00069 }
00070 #endif
00071 
00072 #endif