param.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /* $Id$ */
  2. /*
  3. * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
  4. * See the copyright notice in the ACK home directory, in the file "Copyright".
  5. */
  6. #include "size_type.h"
  7. # define NON_STANDARD /* If defined, the contents of a block
  8. will NOT be left undisturbed after it
  9. is freed, as opposed to what it says
  10. in the manual (malloc(2)).
  11. Setting this option reduces the memory
  12. overhead considerably. I personally
  13. consider the specified behaviour an
  14. artefact of the original
  15. implementation.
  16. */
  17. # undef ASSERT /* If defined, some inexpensive tests
  18. will be made to ensure the
  19. correctness of some sensitive data.
  20. It often turns an uncontrolled crash
  21. into a controlled one.
  22. */
  23. # undef CHECK /* If defined, extensive and expensive
  24. tests will be done, inculding a
  25. checksum on the mallinks (chunk
  26. information blocks). The resulting
  27. information will be printed on a file
  28. called mal.out .
  29. Additionally a function
  30. maldump(n) int n;
  31. will be defined, which will dump
  32. pertinent info in pseudo-readable
  33. form; it aborts afterwards if n != 0.
  34. */
  35. # undef EXTERN /* If defined, all static names will
  36. become extern, which is a help in
  37. using adb(1) or prof(1)
  38. */
  39. # define STORE /* If defined, separate free lists will
  40. be kept of chunks with small sizes,
  41. to speed things up a little.
  42. */
  43. # undef SYSTEM /* If defined, the system module is used.
  44. Otherwise, "sbrk" is called directly.
  45. */
  46. #define ALIGNMENT 8
  47. /* alignment common to all types */
  48. #define LOG_MIN_SIZE 3
  49. #define LOG_MAX_SIZE 24