The functions machine.h provides are deliberately using standard
functions from a base install of the operating system. This IS
intentional. I'd like to be able to modify and reuse this anywhere
without having to untangle additional dependencies from machine to
machine.
To make this maintainable (for now), split the machine querying
code into separate files. I'd like to be able to modify the file
without fear of breaking it here or there. Also, for anyone who
wants to make a change or ammendment doing this is cleaner.