add flag for spinning tasks
[AROS.git] / compiler / include / exec / nodes.h
blobceed978ee2cb60cb7156685a4bc65935038fb22f
1 /*
2 Copyright © 1995-2011, The AROS Development Team. All rights reserved.
3 $Id$
4 */
6 #ifndef EXEC_NODES_H
7 #define EXEC_NODES_H
9 /******************************************************************************
11 MODUL
12 $Id$
14 DESCRIPTION
15 Header-file for nodes.
17 ******************************************************************************/
19 /**************************************
20 Includes
21 **************************************/
22 #ifndef EXEC_TYPES_H
23 # include <exec/types.h>
24 #endif
27 /**************************************
28 Structures
29 **************************************/
31 struct __mayalias Node;
32 struct Node
34 struct Node * ln_Succ,
35 * ln_Pred;
36 UBYTE ln_Type;
37 BYTE ln_Pri;
38 char * ln_Name;
41 struct __mayalias MinNode;
42 struct MinNode
44 struct MinNode * mln_Succ,
45 * mln_Pred;
49 /**************************************
50 Defines
51 **************************************/
52 /* Values for ln_Type */
53 #define NT_UNKNOWN 0 /* Unknown node */
54 #define NT_TASK 1 /* Exec task */
55 #define NT_INTERRUPT 2 /* Interrupt */
56 #define NT_DEVICE 3 /* Device */
57 #define NT_MSGPORT 4 /* Message-Port */
58 #define NT_MESSAGE 5 /* Indicates message currently pending */
59 #define NT_FREEMSG 6
60 #define NT_REPLYMSG 7 /* Message has been replied */
61 #define NT_RESOURCE 8
62 #define NT_LIBRARY 9
63 #define NT_MEMORY 10
64 #define NT_SOFTINT 11 /* Internal flag used by SoftInts */
65 #define NT_FONT 12
66 #define NT_PROCESS 13 /* AmigaDOS Process */
67 #define NT_SEMAPHORE 14
68 #define NT_SIGNALSEM 15 /* signal semaphores */
69 #define NT_BOOTNODE 16
70 #define NT_KICKMEM 17
71 #define NT_GRAPHICS 18
72 #define NT_DEATHMESSAGE 19
73 #define NT_HIDD 20 /* AROS specific */
75 #define NT_USER 254 /* User node types work down from here */
76 #define NT_EXTENDED 255
78 /***************************************
79 Macros
80 ****************************************/
82 #define SetNodeName(node,name) \
83 (((struct Node *)(node))->ln_Name = (char *)(name))
84 #define GetNodeName(node) \
85 (((struct Node *)(node))->ln_Name)
87 /******************************************************************************
88 ***** ENDE exec/nodes.h
89 ******************************************************************************/
91 #endif /* EXEC_NODES_H */