home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Misc / DC-POS24.LZX / pOS / IncPOS.lzx / pExec / MsgPort.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-03-18  |  1.7 KB  |  55 lines

  1. #ifndef __INC_POS_PEXEC_MSGPORT_H
  2. #define __INC_POS_PEXEC_MSGPORT_H
  3. /*******************************************************************
  4.  Includes Release 24
  5.  (C) Copyright 1995-1997 proDAD
  6.      All Rights Reserved
  7.  
  8.  $AUT Holger Burkarth
  9.  $DAT >>MsgPort.h<<   12 Sep 1996    10:14:51 - (C) ProDAD
  10. *******************************************************************/
  11. #ifndef __INC_POS_PEXEC_LIST_H
  12. #include <pExec/List.h>
  13. #endif
  14.  
  15.  
  16. /*----------------------------------
  17. -----------------------------------*/
  18. struct pOS_MsgPort
  19. {
  20.   struct pOS_ExNode  mp_Node;
  21.   UBYTE              mp_Flags;      /* (enum pOS_MsgPortFlag) */
  22.   UBYTE              mp_SigBit;     /* signal bit number    */
  23.   struct pOS_Task   *mp_SigTask;    /* object to be signalled */
  24.   struct pOS_ExList  mp_MsgList;    /* message linked list  */
  25. };
  26.  
  27.  
  28. enum pOS_MsgPortFlag
  29. {
  30.   MSGPORTF_Signal    =0x00, /* Signal an Task (mp_SigTask) senden */
  31.   MSGPORTF_SoftInt   =0x01, /* Softinterrupt an pOS_Interrupt* (mp_SigTask) */
  32.   MSGPORTF_Ignore    =0x02, /* kein Signal, kein Interrupt auslösen */
  33.   MSGPORTF_Mask      =0x07,
  34.  
  35.   MSGPORTF_TPEnqueue =0x08, /* Enqueue Request like Task-Priority */
  36. };
  37.  
  38.  
  39. /*----------------------------------
  40. -----------------------------------*/
  41. struct pOS_Message
  42. {
  43.   struct pOS_ExNode   mn_Node;
  44.   struct pOS_MsgPort *mn_ReplyPort;     /* message reply port */
  45.   UWORD               mn_Length;        /* total message length, in bytes
  46.                                         ** (include the size of the Message
  47.                                         ** structure in the length).
  48.                                         ** In privaten Ports kann dieser Wert beliebig
  49.                                         ** gesetzt werden.
  50.                                         */
  51. };
  52.  
  53.  
  54. #endif
  55.