00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 #ifndef _MAGICKCORE_MAC_H
00019 #define _MAGICKCORE_MAC_H
00020 
00021 #if defined(__cplusplus) || defined(c_plusplus)
00022 extern "C" {
00023 #endif
00024 
00025 #include <locale.h>
00026 #include <Errors.h>
00027 #include <Files.h>
00028 #include <errno.h>
00029 
00030 #if defined(_MAGICKCORE_POSIX_SUPPORT_VERSION)
00031 # include <dirent.h>
00032 # if !defined(DISABLE_SIOUX)
00033 #  include <SIOUX.h>
00034 # endif
00035 #else
00036 # include <stat.h>
00037 
00038 #define S_IREAD  00400
00039 #define S_IWRITE  00200
00040 
00041 typedef struct _DIR
00042 {
00043   int
00044     d_VRefNum;
00045 
00046   long int
00047     d_DirID;
00048 
00049   int
00050     d_index;
00051 } DIR;
00052 
00053 struct dirent
00054 {
00055   char
00056     d_name[255];
00057 
00058   int
00059     d_namlen;
00060 };
00061 #endif
00062 
00063 MagickExport Image
00064   *ReadPICTImage(const ImageInfo *,ExceptionInfo *);
00065 
00066 extern MagickExport int
00067   Exit(int),
00068   MACSystemCommand(const char *);
00069 
00070 extern MagickExport MagickBooleanType
00071   MACIsMagickConflict(const char *);
00072 
00073 extern MagickExport void
00074   MACErrorHandler(const ExceptionType,const char *,const char *),
00075   MACWarningHandler(const ExceptionType,const char *,const char *),
00076   ProcessPendingEvents(const char *),
00077   SetApplicationType(const char *,const char *,OSType);
00078 
00079 #if defined(DISABLE_SIOUX)
00080 typedef void
00081   (*MACEventHookPtr)(const char *);
00082 
00083 typedef void
00084   (*MACErrorHookPtr)(const short,const char *text);
00085 
00086 extern MagickExport void
00087   MACSetErrorHook(MACErrorHookPtr),
00088   MACSetEventHook(MACEventHookPtr),
00089   MACFatalErrorHandler(const ExceptionType,const char *,const char *);
00090 #endif
00091 
00092 #if !defined(_MAGICKCORE_POSIX_SUPPORT_VERSION)
00093 extern MagickExport DIR
00094   *opendir(const char *);
00095 
00096 extern MagickExport long
00097   telldir(DIR *);
00098 
00099 extern MagickExport struct dirent
00100   *readdir(DIR *);
00101 
00102 extern MagickExport void
00103   seekdir(DIR *,long),
00104   closedir(DIR *);
00105 #endif
00106 
00107 #if defined(__cplusplus) || defined(c_plusplus)
00108 }
00109 #endif
00110 
00111 #endif