home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 199.lha / GimmeLib / message.c < prev    next >
Encoding:
C/C++ Source or Header  |  1988-12-28  |  957 b   |  46 lines

  1. /*
  2.  *  FILE: message.c
  3.  *  Support routines for dynamic (de)allocation of [extended] message structs
  4.  *
  5.  *  Public Domain, but keep my name in it as the original author.
  6.  *  31-Aug-88    Jan Sven Trabandt   first release version
  7.  */
  8.  
  9.  
  10. #include "gimmelib/gimmefuncs.h"
  11.  
  12.  
  13. struct Message *gimmeMessage( size, replyport )
  14.     ULONG        size;
  15.     struct MsgPort  *replyport;
  16. {
  17.     struct Message  *msg;
  18.  
  19. #ifdef GIMME_WIMPY
  20.     if( size > 0x0FFFFL ) {
  21.     return( NULL );
  22.     }
  23. #endif
  24.     msg = (struct Message *) AllocMem( size, MEMF_PUBLIC );
  25.     if( msg ) {
  26.     msg->mn_Node.ln_Type = NT_FREEMSG;
  27.     msg->mn_Node.ln_Pri = 0;
  28.     msg->mn_Node.ln_Name = NULL;
  29.     msg->mn_ReplyPort = replyport;
  30.     msg->mn_Length = size;
  31.     }
  32.     return( msg );
  33. } /* gimmeMessage */
  34.  
  35.  
  36. short getRidOfMessage( msg )
  37.     struct Message  *msg;
  38. {
  39. #ifdef GIMME_WIMPY
  40.     if( !msg || !msg->mn_Length > 0 ) {
  41.     return( -1 );
  42.     }
  43. #endif
  44.     FreeMem( msg, (ULONG) msg->mn_Length );
  45. } /* getRidOfMessage */
  46.