Subversion Repositories filter_foundry

Rev

Rev 193 | Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. /*------------------------------------------------------------------------------
  2. #
  3. #       Macintosh Developer Technical Support
  4. #
  5. #       Sample Control Panel Device and INIT Combination
  6. #
  7. #       Program:        INIT - CDEV
  8. #       File:           SAGlobals.c     -       C Source
  9. #
  10. #       Copyright © 1990 Apple Computer, Inc.
  11. #       All rights reserved.
  12. #
  13. ------------------------------------------------------------------------------*/
  14.  
  15. #include <Memory.h>
  16. #include <OSUtils.h>
  17. #include "SAGlobals.h"
  18.  
  19. #define kAppParmsSize 32
  20.  
  21. /*
  22.         !!! NOTE !!!
  23.  
  24.         These routines are used to implement global variables in standalone code,
  25.         as per Technote #256. However, they have been modified here to allocate
  26.         the buffer space from a non-relocatable pointer rather than a relocatable
  27.         handle. ... since the best place for a
  28.         block of memory that isn't going to be moving is low in the heap, we
  29.         allocate the block with NewPtr.
  30. */
  31.  
  32. long A5Size (void);
  33. /* prototype for routine in MacRuntime.o */
  34.  
  35. void A5Init (Ptr myA5);
  36. /* prototype for routine in MacRuntime.o */
  37.  
  38. pascal void MakeA5World (A5RefType *A5Ref) {
  39.         DebugStr("\pMakeA5World");
  40.         *A5Ref = NewPtr(A5Size());
  41.         if ((long)*A5Ref) {
  42.                 A5Init((Ptr)( (long)*A5Ref + A5Size() - kAppParmsSize));
  43.         }
  44. }
  45.  
  46. pascal long SetA5World (A5RefType A5Ref) {
  47.         return SetA5( (long)A5Ref + A5Size() - kAppParmsSize);
  48. }
  49.  
  50. pascal void DisposeA5World (A5RefType A5Ref) {
  51.         DisposePtr((Ptr)A5Ref);
  52. }
  53.