c++ hardware interface