···2727 * @ION_HEAP_TYPE_SYSTEM: memory allocated via vmalloc2828 * @ION_HEAP_TYPE_SYSTEM_CONTIG: memory allocated via kmalloc2929 * @ION_HEAP_TYPE_CARVEOUT: memory allocated from a prereserved3030- * carveout heap, allocations are physically3131- * contiguous3030+ * carveout heap, allocations are physically3131+ * contiguous3232 * @ION_HEAP_TYPE_DMA: memory allocated via DMA API3333 * @ION_NUM_HEAPS: helper for iterating over heaps, a bit mask3434- * is used to identify the heaps, so only 323535- * total heap types are supported3434+ * is used to identify the heaps, so only 323535+ * total heap types are supported3636 */3737enum ion_heap_type {3838 ION_HEAP_TYPE_SYSTEM,···5050#define ION_HEAP_CARVEOUT_MASK (1 << ION_HEAP_TYPE_CARVEOUT)5151#define ION_HEAP_TYPE_DMA_MASK (1 << ION_HEAP_TYPE_DMA)52525353-#define ION_NUM_HEAP_IDS sizeof(unsigned int) * 85353+#define ION_NUM_HEAP_IDS (sizeof(unsigned int) * 8)54545555/**5656 * allocation flags - the lower 16 bits are used by core ion, the upper 16···7878 * @align: required alignment of the allocation7979 * @heap_id_mask: mask of heap ids to allocate from8080 * @flags: flags passed to heap8181- * @handle: pointer that will be populated with a cookie to use to 8181+ * @handle: pointer that will be populated with a cookie to use to8282 * refer to this allocation8383 *8484 * Provided by userspace as an argument to the ioctl