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

  1. @DATABASE "pExec/Sema.h"
  2. @MASTER   "Work2:AD/IInc/pExec/Sema.h"
  3. @REMARK   This file was created by ADtoHT 2.0 on 11-Mär-97  13:34:31
  4. @REMARK   Do not edit
  5. @REMARK   ADtoHT is © 1993-1995 Christian Stieber
  6.  
  7. @NODE MAIN "pExec/Sema.h"
  8. @TOC "__pOS_Dev.guide/MAIN"
  9.  
  10. @{"pExec/Sema.h" LINK File}
  11.  
  12.  
  13. @{b}Structures@{ub}
  14.  
  15. @{"pOS_Semaphore" LINK "pExec/Sema.h/File" 36}  @{"pOS_SemaphoreRequest" LINK "pExec/Sema.h/File" 26}
  16.  
  17. @ENDNODE
  18. @NODE File "pExec/Sema.h"
  19. #ifndef __INC_POS_PEXEC_SEMA_H
  20. #define __INC_POS_PEXEC_SEMA_H
  21. /*******************************************************************
  22.  Includes Release 24
  23.  (C) Copyright 1995-1997 proDAD
  24.      All Rights Reserved
  25.  
  26.  $AUT Holger Burkarth
  27.  $DAT >>Sema.h<<   29 Sep 1996    11:02:54 - (C) ProDAD
  28. *******************************************************************/
  29. #ifndef __INC_POS_PEXEC_NODE_H
  30. #include <@{"pExec/Node.h" LINK "pExec/Node.h/File"}>
  31. #endif
  32.  
  33. /*\\
  34. *** WICHTIG !
  35. ***
  36. *** @{"pOS_ProcureSemaphore" LINK "pExecD/pOS_ProcureSemaphore"},@{"pOS_AttemptProcureSemaphore" LINK "pExecD/pOS_AttemptProcureSemaphore"},ss_QueueReply
  37. *** Immer wenn eine Message vom Semaphore-Manager replyed wird, befindet
  38. *** sich in msg->mn_Node.ln_Name der Zeiger auf die Semaphore.
  39. \\*/
  40.  
  41.  
  42. /*----------------------------------
  43. -----------------------------------*/
  44. struct pOS_SemaphoreRequest
  45. {
  46.   @{"struct pOS_ExNode" LINK "pExec/List.h/File" 37}  sr_Link;
  47.   @{"struct pOS_Task" LINK "pExec/Task.h/File" 18}   *sr_Waiter;
  48. };
  49.  
  50.  
  51. /*----------------------------------
  52.  Semaphore data structure
  53. -----------------------------------*/
  54. struct pOS_Semaphore
  55. {
  56.   @{"struct pOS_ExNode" LINK "pExec/List.h/File" 37}           ss_Link;
  57.   @{"UWORD" LINK "pExec/Types.h/File" 93}                       ss_NestCount;
  58.   @{"struct pOS_ExList" LINK "pExec/List.h/File" 50}           ss_WaitQueue;
  59.   @{"struct pOS_SemaphoreRequest" LINK File 26} ss_MultipleLink;
  60.   @{"struct pOS_Task" LINK "pExec/Task.h/File" 18}*            ss_Owner;
  61.   @{"UWORD" LINK "pExec/Types.h/File" 93}                       ss_QueueCount;
  62.   @{"struct pOS_Message" LINK "pExec/MsgPort.h/File" 41}         *ss_QueueReply; /* wird bei ss_QueueCount++ zurückgesendet (@{"pOS_ReplyMsg" LINK "pExecD/pOS_ReplyMsg"}) */
  63.   @{"struct pOS_ExList" LINK "pExec/List.h/File" 50}           ss_ShList;
  64.   @{"UBYTE" LINK "pExec/Types.h/File" 95}                       ss_Flags;      /* (enum pOS_SemaphoreFlags) */
  65.   @{"UBYTE" LINK "pExec/Types.h/File" 95}                       ss_Reserved[19];
  66. };
  67.  
  68.  
  69.  
  70. enum pOS_SemaphoreFlags
  71. {
  72.   SEMF_TPEnqueue= 0x01, /* Enqueue Request like Task-Priority */
  73.  
  74.   SEMF_Shared   = 0x80, /* pOS-private (never set this bit) */
  75. };
  76.  
  77.  
  78.  
  79. #endif
  80. @ENDNODE
  81.