2 Copyright 2010-2017, The AROS Development Team. All rights reserved.
6 #ifndef _SYSMON_INTERN_H
7 #define _SYSMON_INTERN_H
9 #include <proto/exec.h>
10 #include <proto/intuition.h>
11 #include <libraries/mui.h>
18 #define SYSMON_TABCOUNT 3
27 CONST_STRPTR tabs
[SYSMON_TABCOUNT
+ 1];
29 struct Hook tasklistconstructhook
;
30 struct Hook tasklistdestructhook
;
31 struct Hook tasklistdisplayhook
;
32 struct Hook taskselectedhook
;
34 struct Hook pageactivehook
;
37 Object
* tasklistinfo
;
39 Object
** cpuusagegauges
;
40 Object
** cpufreqlabels
;
41 Object
** cpufreqvalues
;
43 Object
* memorysize
[5];
44 Object
* memoryfree
[5];
46 struct List sm_TaskList
;
47 struct Task
*sm_TaskSelected
;
49 ULONG sm_TasksWaiting
;
51 ULONG sm_TaskTotalRuntime
;
53 STRPTR tasklistinfobuf
;
64 BOOL (*Init
)(struct SysMonData
*);
65 VOID (*DeInit
)(struct SysMonData
*);
68 extern struct SysMonModule memorymodule
;
69 extern struct SysMonModule videomodule
;
70 extern struct SysMonModule processormodule
;
71 extern struct SysMonModule timermodule
;
72 extern struct SysMonModule tasksmodule
;
74 VOID
UpdateMemoryInformation(struct SysMonData
* smdata
);
75 VOID
UpdateMemoryStaticInformation(struct SysMonData
* smdata
);
77 VOID
UpdateVideoInformation(struct SysMonData
* smdata
);
78 VOID
UpdateVideoStaticInformation(struct SysMonData
* smdata
);
80 ULONG
GetProcessorCount();
81 VOID
UpdateProcessorInformation(struct SysMonData
* smdata
);
82 VOID
UpdateProcessorStaticInformation(struct SysMonData
* smdata
);
84 VOID
UpdateTasksInformation(struct SysMonData
* smdata
);
85 VOID
UpdateTasksStaticInformation(struct SysMonData
* smdata
);
89 AROS_UFP3(struct TaskInfo
*, TasksListConstructFunction
,
90 AROS_UFHA(struct Hook
*, h
, A0
),
91 AROS_UFHA(APTR
, pool
, A2
),
92 AROS_UFHA(struct Task
*, curTask
, A1
));
94 AROS_UFP3(VOID
, TasksListDestructFunction
,
95 AROS_UFHA(struct Hook
*, h
, A0
),
96 AROS_UFHA(APTR
, pool
, A2
),
97 AROS_UFHA(struct TaskInfo
*, obj
, A1
));
99 AROS_UFP3(VOID
, TasksListDisplayFunction
,
100 AROS_UFHA(struct Hook
*, h
, A0
),
101 AROS_UFHA(STRPTR
*, strings
, A2
),
102 AROS_UFHA(struct TaskInfo
*, obj
, A1
));
104 AROS_UFP3(VOID
, TaskSelectedFunction
,
105 AROS_UFHA(struct Hook
*, h
, A0
),
106 AROS_UFHA(Object
*, object
, A2
),
107 AROS_UFHA(APTR
, msg
, A1
));
109 ULONG
GetSIG_TIMER();
110 VOID
SignalMeAfter(ULONG msecs
);