2 Copyright 2010-2013, 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>
24 CONST_STRPTR tabs
[4];
26 struct Hook tasklistconstructhook
;
27 struct Hook tasklistdestructhook
;
28 struct Hook tasklistdisplayhook
;
29 struct Hook taskselectedhook
;
30 struct Hook tasklistrefreshbuttonhook
;
33 Object
* tasklistinfo
;
35 Object
** cpuusagegauges
;
36 Object
** cpufreqlabels
;
37 Object
** cpufreqvalues
;
39 Object
* memorysize
[5];
40 Object
* memoryfree
[5];
42 IPTR tasklistautorefresh
;
44 struct List sm_TaskList
;
45 struct Task
*sm_TaskSelected
;
47 ULONG sm_TasksWaiting
;
49 ULONG sm_TaskTotalRuntime
;
51 STRPTR tasklistinfobuf
;
56 BOOL (*Init
)(struct SysMonData
*);
57 VOID (*DeInit
)(struct SysMonData
*);
60 extern struct SysMonModule memorymodule
;
61 extern struct SysMonModule videomodule
;
62 extern struct SysMonModule processormodule
;
63 extern struct SysMonModule timermodule
;
64 extern struct SysMonModule tasksmodule
;
66 VOID
UpdateMemoryInformation(struct SysMonData
* smdata
);
67 VOID
UpdateMemoryStaticInformation(struct SysMonData
* smdata
);
69 VOID
UpdateVideoInformation(struct SysMonData
* smdata
);
70 VOID
UpdateVideoStaticInformation(struct SysMonData
* smdata
);
72 ULONG
GetProcessorCount();
73 VOID
UpdateProcessorInformation(struct SysMonData
* smdata
);
74 VOID
UpdateProcessorStaticInformation(struct SysMonData
* smdata
);
76 VOID
UpdateTasksInformation(struct SysMonData
* smdata
);
77 VOID
UpdateTasksStaticInformation(struct SysMonData
* smdata
);
81 AROS_UFP3(struct TaskInfo
*, TasksListConstructFunction
,
82 AROS_UFHA(struct Hook
*, h
, A0
),
83 AROS_UFHA(APTR
, pool
, A2
),
84 AROS_UFHA(struct Task
*, curTask
, A1
));
86 AROS_UFP3(VOID
, TasksListDestructFunction
,
87 AROS_UFHA(struct Hook
*, h
, A0
),
88 AROS_UFHA(APTR
, pool
, A2
),
89 AROS_UFHA(struct TaskInfo
*, obj
, A1
));
91 AROS_UFP3(VOID
, TasksListDisplayFunction
,
92 AROS_UFHA(struct Hook
*, h
, A0
),
93 AROS_UFHA(STRPTR
*, strings
, A2
),
94 AROS_UFHA(struct TaskInfo
*, obj
, A1
));
96 AROS_UFP3(VOID
, TaskSelectedFunction
,
97 AROS_UFHA(struct Hook
*, h
, A0
),
98 AROS_UFHA(Object
*, object
, A2
),
99 AROS_UFHA(APTR
, msg
, A1
));
101 ULONG
GetSIG_TIMER();
102 VOID
SignalMeAfter(ULONG msecs
);