The Independent JPEG Group's JPEG software v6b
diff --git a/jmemsys.h b/jmemsys.h
index 6d4c7f2..6c3c6d3 100644
--- a/jmemsys.h
+++ b/jmemsys.h
@@ -1,7 +1,7 @@
/*
* jmemsys.h
*
- * Copyright (C) 1992-1996, Thomas G. Lane.
+ * Copyright (C) 1992-1997, Thomas G. Lane.
* This file is part of the Independent JPEG Group's software.
* For conditions of distribution and use, see the accompanying README file.
*
@@ -14,7 +14,8 @@
* in the IJG distribution. You may need to modify it if you write a
* custom memory manager. If system-dependent changes are needed in
* this file, the best method is to #ifdef them based on a configuration
- * symbol supplied in jconfig.h, as we have done with USE_MSDOS_MEMMGR.
+ * symbol supplied in jconfig.h, as we have done with USE_MSDOS_MEMMGR
+ * and USE_MAC_MEMMGR.
*/
@@ -114,6 +115,7 @@
#define TEMP_NAME_LENGTH 64 /* max length of a temporary file's name */
+
#ifdef USE_MSDOS_MEMMGR /* DOS-specific junk */
typedef unsigned short XMSH; /* type of extended-memory handles */
@@ -127,6 +129,11 @@
#endif /* USE_MSDOS_MEMMGR */
+#ifdef USE_MAC_MEMMGR /* Mac-specific junk */
+#include <Files.h>
+#endif /* USE_MAC_MEMMGR */
+
+
typedef struct backing_store_struct * backing_store_ptr;
typedef struct backing_store_struct {
@@ -148,12 +155,20 @@
handle_union handle; /* reference to backing-store storage object */
char temp_name[TEMP_NAME_LENGTH]; /* name if it's a file */
#else
+#ifdef USE_MAC_MEMMGR
+ /* For the Mac manager (jmemmac.c), we need: */
+ short temp_file; /* file reference number to temp file */
+ FSSpec tempSpec; /* the FSSpec for the temp file */
+ char temp_name[TEMP_NAME_LENGTH]; /* name if it's a file */
+#else
/* For a typical implementation with temp files, we need: */
FILE * temp_file; /* stdio reference to temp file */
char temp_name[TEMP_NAME_LENGTH]; /* name of temp file */
#endif
+#endif
} backing_store_info;
+
/*
* Initial opening of a backing-store object. This must fill in the
* read/write/close pointers in the object. The read/write routines