home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 7 / Apprentice-Release7.iso / Source Code / C / Applications / POV-Ray 3.0.2 / src / MacSource / MemAlloc.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-07-14  |  2.3 KB  |  64 lines  |  [TEXT/CWIE]

  1. /*==============================================================================
  2. Project:    POV
  3.  
  4. Version:    3
  5.  
  6. File:    MemAlloc.h
  7.  
  8. Description:
  9. Routines to handle the Mac-specific memory handling.
  10. ------------------------------------------------------------------------------
  11. Author:
  12.     Eduard [esp] Schwan
  13. ------------------------------------------------------------------------------
  14.     from Persistence of Vision(tm) Ray Tracer
  15.     Copyright 1996 Persistence of Vision Team
  16. ------------------------------------------------------------------------------
  17.     NOTICE: This source code file is provided so that users may experiment
  18.     with enhancements to POV-Ray and to port the software to platforms other 
  19.     than those supported by the POV-Ray Team.  There are strict rules under
  20.     which you are permitted to use this file.  The rules are in the file
  21.     named POVLEGAL.DOC which should be distributed with this file. If 
  22.     POVLEGAL.DOC is not available or for more info please contact the POV-Ray
  23.     Team Coordinator by leaving a message in CompuServe's Graphics Developer's
  24.     Forum.  The latest version of POV-Ray may be found there as well.
  25.  
  26.     This program is based on the popular DKB raytracer version 2.12.
  27.     DKBTrace was originally written by David K. Buck.
  28.     DKBTrace Ver 2.0-2.12 were written by David K. Buck & Aaron A. Collins.
  29. ------------------------------------------------------------------------------
  30. Change History:
  31. ==============================================================================*/
  32.  
  33. #if !defined(MEMALLOC_H)
  34. #define MEMALLOC_H
  35.  
  36. #include "config.h"
  37.  
  38. #include <types.h>    // Boolean
  39. #include <stdlib.h>
  40.  
  41. // rename POV-Ray's MEM.C library calls to call Mac-POV-Ray's memalloc.c routines
  42. #define MALLOC                Mac_malloc
  43. #define CALLOC                Mac_calloc
  44. #define REALLOC                Mac_realloc
  45. #define FREE                Mac_free
  46.  
  47. // rename Std C's Stdlib library calls to call Mac-POV-Ray's memalloc.c routines
  48. #define malloc(size)        Mac_malloc(size)
  49. #define calloc(nitems,size)    Mac_calloc((nitems),(size))
  50. #define realloc(ptr,size)    Mac_realloc((ptr),(size))
  51. #define free(ptr)            Mac_free(ptr)
  52.  
  53. void UseTempMem(int doIt);
  54. void AllocateSafetyBuffer(size_t reserve_size);
  55. void PurgeSafetyBuffer(void);
  56. Boolean InLowMemoryMode(void);
  57. void *Mac_malloc(size_t size);
  58. void *Mac_calloc(size_t nmemb, size_t size);
  59. void *Mac_realloc(void * p, size_t newsize);
  60. void Mac_free(void *p);
  61.  
  62.  
  63. #endif // MEMALLOC_H
  64.