+
+typedef struct{
+ uint64_t flags;
+ uint64_t hotfile_size; /* in bytes */
+ uint64_t hibernate_minsize;
+ uint64_t swapfile_pinning;
+
+ uint64_t padding[4];
+} dk_corestorage_info_t;
+
+#define DK_CORESTORAGE_PIN_YOUR_METADATA 0x00000001
+#define DK_CORESTORAGE_ENABLE_HOTFILES 0x00000002
+#define DK_CORESTORAGE_PIN_YOUR_SWAPFILE 0x00000004
+
+#define DK_PROVISION_TYPE_MAPPED 0x00
+#define DK_PROVISION_TYPE_DEALLOCATED 0x01
+#define DK_PROVISION_TYPE_ANCHORED 0x02
+
+typedef struct{
+ uint64_t offset;
+ uint64_t length;
+ uint8_t provisionType;
+ uint8_t reserved[7];
+} dk_provision_extent_t;
+
+typedef struct{
+ uint64_t offset; /* input: logical byte offset */
+ uint64_t length; /* input: byte length, 0 for whole length */
+ uint64_t options; /* reserved, clear to zero */
+ uint32_t reserved; /* not used */
+ uint32_t extentsCount; /* input/output: count for extents */
+ dk_provision_extent_t * extents; /* output: provision extents */
+} dk_provision_status_t;
+
+typedef struct{
+ uint64_t options; /* reserved, clear to zero */
+ uint64_t reserved; /* reserved, clear to zero */
+ uint64_t description_size;
+ char * description;
+} dk_error_description_t;
+
+
+#ifdef KERNEL
+#ifdef PRIVATE
+
+/* Definitions of option bits for dk_unmap_t */
+#define _DK_UNMAP_INITIALIZE 0x00000100
+
+#endif /* PRIVATE */
+#endif /* KERNEL */
+