Public Interface
From Libcpu
The public interface must be pure C, so that libcpu can be easily used by the maximum amount of emulator projects.
Every CPU in an emulated system has a cpu_t, which contains all properties of the CPU as well as the emulation context. The cpu_t contains the CPU state, which is accessible by the client; all other fields are opaque to the client and must be accessed through the C interface.
