#include <freerdp/freerdp.h>
+#include <guacamole/protocol.h>
+
+typedef struct guac_rdp_bitmap {
+
+ /**
+ * FreeRDP bitmap data - MUST GO FIRST.
+ */
+ rdpBitmap bitmap;
+
+ /**
+ * Guacamole layer containing cached image data.
+ */
+ guac_layer* layer;
+
+ /**
+ * The number of times a bitmap has been used.
+ */
+ int used;
+
+} guac_rdp_bitmap;
+
+void guac_rdp_cache_bitmap(rdpContext* context, rdpBitmap* bitmap);
void guac_rdp_bitmap_new(rdpContext* context, rdpBitmap* bitmap);
+void guac_rdp_bitmap_decompress(rdpContext* context, rdpBitmap* bitmap, uint8* data, int width, int height, int bpp, int length, boolean compressed);
+void guac_rdp_bitmap_paint(rdpContext* context, rdpBitmap* bitmap);
+void guac_rdp_bitmap_free(rdpContext* context, rdpBitmap* bitmap);
+void guac_rdp_bitmap_setsurface(rdpContext* context, rdpBitmap* bitmap, boolean primary);
#endif