home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / misc / emu / AROSdev.lha / AROS / rom / exec / getmsg.c < prev    next >
Encoding:
C/C++ Source or Header  |  1997-01-09  |  1.8 KB  |  86 lines

  1. /*
  2.     (C) 1995-96 AROS - The Amiga Replacement OS
  3.     $Id: getmsg.c,v 1.7 1997/01/01 03:46:10 ldp Exp $
  4.     $Log: getmsg.c,v $
  5.     Revision 1.7  1997/01/01 03:46:10  ldp
  6.     Committed Amiga native (support) code
  7.  
  8.     Changed clib to proto
  9.  
  10.     Revision 1.6  1996/12/10 13:51:46  aros
  11.     Moved all #include's in the first column so makedepend can see it.
  12.  
  13.     Revision 1.5  1996/10/24 15:50:51  aros
  14.     Use the official AROS macros over the __AROS versions.
  15.  
  16.     Revision 1.4  1996/08/13 13:56:03  digulla
  17.     Replaced AROS_LA by AROS_LHA
  18.     Replaced some AROS_LH*I by AROS_LH*
  19.     Sorted and added includes
  20.  
  21.     Revision 1.3  1996/08/01 17:41:12  digulla
  22.     Added standard header for all files
  23.  
  24.     Desc:
  25.     Lang: english
  26. */
  27. #include <exec/execbase.h>
  28. #include <exec/ports.h>
  29. #include <aros/libcall.h>
  30. #include <proto/exec.h>
  31.  
  32. /*****************************************************************************
  33.  
  34.     NAME */
  35.  
  36.     AROS_LH1(struct Message *, GetMsg,
  37.  
  38. /*  SYNOPSIS */
  39.     AROS_LHA(struct MsgPort *, port, A0),
  40.  
  41. /*  LOCATION */
  42.     struct ExecBase *, SysBase, 62, Exec)
  43.  
  44. /*  FUNCTION
  45.     Get a message from a given messageport. This function doesn't wait
  46.     and returns NULL if the messageport is empty. Therefore it's
  47.     generally a good idea to WaitPort() or Wait() on the given port first.
  48.  
  49.     INPUTS
  50.     port - Pointer to messageport
  51.  
  52.     RESULT
  53.     Pointer to message removed from the port.
  54.  
  55.     NOTES
  56.  
  57.     EXAMPLE
  58.  
  59.     BUGS
  60.  
  61.     SEE ALSO
  62.     WaitPort(), PutMsg()
  63.  
  64.     INTERNALS
  65.  
  66.     HISTORY
  67.  
  68. ******************************************************************************/
  69. {
  70.     AROS_LIBFUNC_INIT
  71.  
  72.     struct Message *msg;
  73.  
  74.     /* Protect the message list. */
  75.     Disable();
  76.  
  77.     /* Get first node. */
  78.     msg=(struct Message *)RemHead(&port->mp_MsgList);
  79.  
  80.     /* All done. */
  81.     Enable();
  82.     return msg;
  83.     AROS_LIBFUNC_EXIT
  84. }
  85.  
  86.