diff --git a/drm_hwcomposer.h b/drm_hwcomposer.h
index 172b15b..c82506c 100644
--- a/drm_hwcomposer.h
+++ b/drm_hwcomposer.h
@@ -14,52 +14,60 @@
  * limitations under the License.
  */
 
+#ifndef ANDROID_DRM_HWCOMPOSER_H_
+#define ANDROID_DRM_HWCOMPOSER_H_
+
 #include <stdbool.h>
 #include <stdint.h>
 
+#include <hardware/hardware.h>
+#include <hardware/hwcomposer.h>
+
 struct hwc_import_context;
 
 enum {
-	/* perform(const struct gralloc_module_t *mod,
-	 *	   int op,
-	 *	   int drm_fd,
-	 *	   buffer_handle_t buffer,
-	 *	   struct hwc_drm_bo *bo);
-	 */
-	GRALLOC_MODULE_PERFORM_DRM_IMPORT = 0xffeeff00,
+  /* perform(const struct gralloc_module_t *mod,
+   *	   int op,
+   *	   int drm_fd,
+   *	   buffer_handle_t buffer,
+   *	   struct hwc_drm_bo *bo);
+   */
+  GRALLOC_MODULE_PERFORM_DRM_IMPORT = 0xffeeff00,
 
-	/* perform(const struct gralloc_module_t *mod,
-	 *	   int op,
-	 *	   buffer_handle_t buffer,
-	 *	   void (*free_callback)(void *),
-	 *	   void *priv);
-	 */
-	GRALLOC_MODULE_PERFORM_SET_IMPORTER_PRIVATE = 0xffeeff01,
+  /* perform(const struct gralloc_module_t *mod,
+   *	   int op,
+   *	   buffer_handle_t buffer,
+   *	   void (*free_callback)(void *),
+   *	   void *priv);
+   */
+  GRALLOC_MODULE_PERFORM_SET_IMPORTER_PRIVATE = 0xffeeff01,
 
-	/* perform(const struct gralloc_module_t *mod,
-	 *	   int op,
-	 *	   buffer_handle_t buffer,
-	 *	   void (*free_callback)(void *),
-	 *	   void **priv);
-	 */
-	GRALLOC_MODULE_PERFORM_GET_IMPORTER_PRIVATE = 0xffeeff02,
+  /* perform(const struct gralloc_module_t *mod,
+   *	   int op,
+   *	   buffer_handle_t buffer,
+   *	   void (*free_callback)(void *),
+   *	   void **priv);
+   */
+  GRALLOC_MODULE_PERFORM_GET_IMPORTER_PRIVATE = 0xffeeff02,
 };
 
-struct hwc_drm_bo {
-	uint32_t width;
-	uint32_t height;
-	uint32_t format;	/* DRM_FORMAT_* from drm_fourcc.h */
-	uint32_t pitches[4];
-	uint32_t offsets[4];
-	uint32_t gem_handles[4];
-	uint32_t fb_id;
-	int acquire_fence_fd;
-};
+typedef struct hwc_drm_bo {
+  uint32_t width;
+  uint32_t height;
+  uint32_t format; /* DRM_FORMAT_* from drm_fourcc.h */
+  uint32_t pitches[4];
+  uint32_t offsets[4];
+  uint32_t gem_handles[4];
+  uint32_t fb_id;
+  int acquire_fence_fd;
+} hwc_drm_bo_t;
 
 int hwc_import_init(struct hwc_import_context **ctx);
 int hwc_import_destroy(struct hwc_import_context *ctx);
 
 int hwc_import_bo_create(int fd, struct hwc_import_context *ctx,
-			buffer_handle_t buf, struct hwc_drm_bo *bo);
+                         buffer_handle_t buf, struct hwc_drm_bo *bo);
 bool hwc_import_bo_release(int fd, struct hwc_import_context *ctx,
-			struct hwc_drm_bo *bo);
+                           struct hwc_drm_bo *bo);
+
+#endif
