4 - structs in MixedCase, variables, functions in lower_case
6 - the destructors always unregister the object from the next bigger
7 object, not the other way around
9 - to minimize strict aliasing violations we prefer unions over casting
11 - for robustness reasons destructors should be able to destruct
12 half-initialized objects, too
14 - error codes are returned as negative Exxx. i.e. return -EINVAL. There
15 are some exceptions: for constructors its is OK to return NULL on
16 OOM. For lookup functions NULL is fine too for "not found"
18 - Do not issue NSS requests (that includes user name and host name
19 lookups) from the main daemon as this might trigger deadlocks when
20 we those lookups involve synchronously talking to services that we
21 would need to start up
23 - Do not access any directories outside of /etc, /dev, /lib from the
24 init daemon to avoid deadlocks with the automounter
26 - Don't synchronously talk to any other service, due to risk of