For the load_config and load_firmware, these functions should take a native format (such as an array of "unsigned char") and then have another function that does the file IO. (this applies to line 67 also)