* cmake: Add Haiku as a supported platform
* move mixer.cc to platform-specific as Haiku doesn't use OSS
* Add haiku.h with some stubs
* Use haiku.h
* Add some Haiku stubs
* Some Haiku network workarounds
It does not define SUN_LEN, provide a default.
It doesn't name the union in struct ifreq, use ifr_addr directly.
It seems Linux also declares it so it should work without change.
We can always define it for other platforms lacking it (add a cmake test ?).
Haiku does not have IFF_RUNNING, IFF_LINK seems close in semantics, so use it.
* Haiku: Minimal implementation of update_meminfo & get_top_info
* Haiku: implement update_cpu_usage
* don't use kvm_* calls, just sysctl (so no suid perm necessary)
* sysctls calls in general aren't thread safe, collapse callbacks
using same sysctls (specifically total/running procs and proc list
ones).
Some sysctls need two calls (first to get size of obj returned,
second to get object self); if different threads use this schema
on same sysctl, weird values are returned (first/second calls
sequence should be serialized).
In general it makes not much sense too having more threads that use
the same sysctl; just get info once and populate all data.
* add DragonFly specific extended uname string ($version in conky.conf)
with git version and signature
Todo:
- top process list logic is old style, use top.cc funcs.
- find a solution for cpu freq
Signed-off-by: Pavel Labath <pavelo@centrum.sk>