added concrete implementations of putc(), getc(), getchar() and gets()
[tangerine.git] / compiler / include / exec / nodes.h
blob6738889a76109be5657f01a1a0f9c2a67cb388fa
1 /*
2 Copyright © 1995-2008, 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 AROS_CONFIG_H
23 # include <aros/config.h>
24 #endif
25 #ifndef EXEC_TYPES_H
26 # include <exec/types.h>
27 #endif
30 /**************************************
31 Structures
32 **************************************/
34 #if (AROS_FLAVOUR & AROS_FLAVOUR_BINCOMPAT)
35 struct Node
37 struct Node * ln_Succ,
38 * ln_Pred;
39 UBYTE ln_Type;
40 BYTE ln_Pri;
41 /* AROS: pointer should be 32bit aligned, but we cannot do this on
42 the native machine because of binary compatibility.
44 char * ln_Name;
47 #else
48 struct Node
50 struct Node * ln_Succ,
51 * ln_Pred;
52 /* AROS: pointer should be 32bit aligned */
53 char * ln_Name;
54 UBYTE ln_Type;
55 BYTE ln_Pri;
57 #endif /* AROS_FLAVOUR */
59 struct MinNode
61 struct MinNode * mln_Succ,
62 * mln_Pred;
66 /**************************************
67 Defines
68 **************************************/
69 /* Values for ln_Type */
70 #define NT_UNKNOWN 0 /* Unknown node */
71 #define NT_TASK 1 /* Exec task */
72 #define NT_INTERRUPT 2 /* Interrupt */
73 #define NT_DEVICE 3 /* Device */
74 #define NT_MSGPORT 4 /* Message-Port */
75 #define NT_MESSAGE 5 /* Indicates message currently pending */
76 #define NT_FREEMSG 6
77 #define NT_REPLYMSG 7 /* Message has been replied */
78 #define NT_RESOURCE 8
79 #define NT_LIBRARY 9
80 #define NT_MEMORY 10
81 #define NT_SOFTINT 11 /* Internal flag used by SoftInits */
82 #define NT_FONT 12
83 #define NT_PROCESS 13 /* AmigaDOS Process */
84 #define NT_SEMAPHORE 14
85 #define NT_SIGNALSEM 15 /* signal semaphores */
86 #define NT_BOOTNODE 16
87 #define NT_KICKMEM 17
88 #define NT_GRAPHICS 18
89 #define NT_DEATHMESSAGE 19
90 #define NT_HIDD 20 /* AROS specific */
92 #define NT_USER 254 /* User node types work down from here */
93 #define NT_EXTENDED 255
95 /***************************************
96 Macros
97 ****************************************/
99 #define SetNodeName(node,name) \
100 (((struct Node *)(node))->ln_Name = (char *)(name))
101 #define GetNodeName(node) \
102 (((struct Node *)(node))->ln_Name)
104 /******************************************************************************
105 ***** ENDE exec/nodes.h
106 ******************************************************************************/
108 #endif /* EXEC_NODES_H */