home *** CD-ROM | disk | FTP | other *** search
/ Aminet 18 / aminetcdnumber181997.iso / Aminet / misc / emu / AROS_m68k_bin.lha / AROS / include / exec / nodes.h < prev    next >
C/C++ Source or Header  |  1997-02-08  |  2KB  |  99 lines

  1. #ifndef EXEC_NODES_H
  2. #define EXEC_NODES_H
  3. /* (C) 1995 AROS - The Amiga Replacement OS */
  4.  
  5. /******************************************************************************
  6.  
  7.     MODUL
  8.     $Id: nodes.h,v 1.2 1997/01/01 05:05:45 ldp Exp $
  9.  
  10.     DESCRIPTION
  11.     Header-file for nodes.
  12.  
  13. ******************************************************************************/
  14.  
  15. /**************************************
  16.         Includes
  17. **************************************/
  18. #ifndef AROS_CONFIG_H
  19. #   include <aros/config.h>
  20. #endif
  21. #ifndef AROS_SYSTEM_H
  22. #   include <aros/system.h>
  23. #endif
  24. #ifndef EXEC_TYPES_H
  25. #   include <exec/types.h>
  26. #endif
  27.  
  28.  
  29. /**************************************
  30.            Structures
  31. **************************************/
  32.  
  33. #if AROS_FLAVOUR == AROS_FLAVOUR_NATIVE
  34. struct Node
  35. {
  36.     struct Node * ln_Succ,
  37.         * ln_Pred;
  38.     UBYTE      ln_Type;
  39.     BYTE      ln_Pri;
  40.     /* AROS: pointer should be 32bit aligned, but we can not do this on
  41.        the native machine because of binary compatibility.
  42.     */
  43.     char    * ln_Name;
  44. };
  45.  
  46. #else
  47. struct Node
  48. {
  49.     struct Node * ln_Succ,
  50.         * ln_Pred;
  51.     /* AROS: pointer should be 32bit aligned */
  52.     char    * ln_Name;
  53.     UBYTE      ln_Type;
  54.     BYTE      ln_Pri;
  55. };
  56. #endif /* AROS_FLAVOUR */
  57.  
  58. struct MinNode
  59. {
  60.     struct MinNode * mln_Succ,
  61.            * mln_Pred;
  62. };
  63.  
  64.  
  65. /**************************************
  66.          Defines
  67. **************************************/
  68. /* Values for ln_Type */
  69. #define NT_UNKNOWN    0    /* Unknown node                 */
  70. #define NT_TASK     1    /* Exec task                    */
  71. #define NT_INTERRUPT    2    /* Interrupt                    */
  72. #define NT_DEVICE    3    /* Device                    */
  73. #define NT_MSGPORT    4    /* Message-Port                 */
  74. #define NT_MESSAGE    5    /* Indicates message currently pending        */
  75. #define NT_FREEMSG    6
  76. #define NT_REPLYMSG    7    /* Message has been replied            */
  77. #define NT_RESOURCE    8
  78. #define NT_LIBRARY    9
  79. #define NT_MEMORY    10
  80. #define NT_SOFTINT    11    /* Internal flag used by SoftInits        */
  81. #define NT_FONT     12
  82. #define NT_PROCESS    13    /* AmigaDOS Process                */
  83. #define NT_SEMAPHORE    14
  84. #define NT_SIGNALSEM    15    /* signal semaphores                */
  85. #define NT_BOOTNODE    16
  86. #define NT_KICKMEM    17
  87. #define NT_GRAPHICS    18
  88. #define NT_DEATHMESSAGE 19
  89.  
  90. #define NT_USER     254    /* User node types work down from here        */
  91. #define NT_EXTENDED    255
  92.  
  93.  
  94. /******************************************************************************
  95. *****  ENDE exec/nodes.h
  96. ******************************************************************************/
  97.  
  98. #endif /* EXEC_NODES_H */
  99.