/OpenBlanket

Open API for Kindle's libBlanket

Primary LanguageC

This is my attempt at reverse engineering libblanket.so from the Kindle Touch. LibBlanket is used on the Kindle to draw graphics natively using Cairo. There are various Blanket modules on the system that handle events. For example, one module shows the USB connection screen, another one shows the language picker screen, and two modules handle the screensaver (ad and non-ad). In order to better understand the Blanket system, I have re-implemented the screensaver (non-ad) module in C and reversed the API calls to libBlanket. My screensaver module should compile to very similar machine code as Amazon's original, and the header file I wrote for Blanket should be fairly accurate. Unknown function arguments are un-named, and the named arguments should be clear as of their purpose.

To compile, you must have the following packages:
libcairo2-dev
libglib2.0-dev
libpango1.0-dev
libx11-dev