/* INT32 must hold at least signed 32-bit values. */
-#ifndef XMD_H /* X11/xmd.h correctly defines INT32 */
+/* Modified JACS 23/4/99. 1200 means VC++ 6 */
+#if !defined(XMD_H) && !(_MSC_VER >= 1200) && !(__BORLANDC__ >= 0x550) /* X11/xmd.h correctly defines INT32 */
typedef long INT32;
#endif
+/* Added JACS 23/4/99, to get INT32 definition */
+#if (_MSC_VER >= 1200) || (__BORLANDC__ >= 0x550)
+#include <windows.h>
+#endif
+
/* Datatype used for image dimensions. The JPEG standard only supports
* images up to 64K*64K due to 16-bit fields in SOF markers. Therefore
* "unsigned int" is sufficient on all machines. However, if you need to
* or code profilers that require it.
*/
+#if defined(__VISAGECPP__) /* need this for /common/imagjpeg.obj but not loclly */
+/* a function called through method pointers: */
+#define METHODDEF(type) static type _Optlink
+/* a function used only in its module: */
+#define LOCAL(type) static type _Optlink
+/* a function referenced thru EXTERNs: */
+#define GLOBAL(type) type
+/* a reference to a GLOBAL function: */
+#define EXTERN(type) extern type _Optlink
+#else
/* a function called through method pointers: */
#define METHODDEF(type) static type
/* a function used only in its module: */
#define GLOBAL(type) type
/* a reference to a GLOBAL function: */
#define EXTERN(type) extern type
-
+#endif
/* This macro is used to declare a "method", that is, a function pointer.
* We want to supply prototype parameters if the compiler can cope.
* Again, you can customize this if you need special linkage keywords.
*/
+#if defined(__VISAGECPP__) /* need this for /common/imagjpeg.obj but not loclly */
+#ifdef HAVE_PROTOTYPES
+#define JMETHOD(type,methodname,arglist) type (_Optlink *methodname) arglist
+#else
+#define JMETHOD(type,methodname,arglist) type (_Optlink *methodname) ()
+#endif
+
+#else
+
#ifdef HAVE_PROTOTYPES
#define JMETHOD(type,methodname,arglist) type (*methodname) arglist
#else
#define JMETHOD(type,methodname,arglist) type (*methodname) ()
#endif
+#endif
/* Here is the pseudo-keyword for declaring pointers that must be "far"
* on 80x86 machines. Most of the specialized coding for 80x86 is handled