2 Copyright © 2015-2017, The AROS Development Team. All rights reserved.
6 #ifndef TASKRES_INTERN_H
7 #define TASKRES_INTERN_H
10 #include <exec/types.h>
13 #include <exec/nodes.h>
16 #include <exec/lists.h>
18 #ifndef EXEC_SEMAPHORES_H
19 #include <exec/semaphores.h>
21 #ifndef UTILITY_UTILITY_H
22 #include <utility/utility.h>
25 #include <exec_intern.h>
27 #define TASKRES_ENABLE
29 #if defined(__AROSEXEC_SMP__)
30 #include <aros/types/spinlock_s.h>
31 #include <resources/execlock.h>
32 #ifndef TASKRES_ENABLE
33 #define TASKRES_ENABLE
39 struct Library trb_LibNode
;
43 struct SignalSemaphore trb_Sem
;
44 #if defined(__AROSEXEC_SMP__)
45 spinlock_t TaskListSpinLock
;
48 struct List trb_TaskList
;
49 struct List trb_NewTasks
;
50 struct List trb_LockedLists
;
51 struct Library
* trb_UtilityBase
;
57 struct Task
*tle_Task
;
61 struct TaskListPrivate
65 struct List
*tlp_Tasks
;
66 struct TaskListEntry
*tlp_Next
;
69 struct TaskListPrivate
71 struct List
*tlp_TaskList
;
72 struct Task
*tlp_Current
;
74 #endif /* TASKRES_ENABLE */
80 #define KernelBase TaskResBase->trb_KernelBase
82 void task_CleanList(struct Task
* task
, struct TaskResBase
*TaskResBase
);
84 #endif /* TASKRES_INTERN_H */