#define BLOCK_SIZE_BITS 10
 #define BLOCK_SIZE (1<<BLOCK_SIZE_BITS)
 
+/* flags for integrity meta */
+#define IO_INTEGRITY_CHK_GUARD         (1U << 0) /* enforce guard check */
+#define IO_INTEGRITY_CHK_REFTAG                (1U << 1) /* enforce ref check */
+#define IO_INTEGRITY_CHK_APPTAG                (1U << 2) /* enforce app check */
+
+#define IO_INTEGRITY_VALID_FLAGS (IO_INTEGRITY_CHK_GUARD | \
+                                 IO_INTEGRITY_CHK_REFTAG | \
+                                 IO_INTEGRITY_CHK_APPTAG)
+
 #define SEEK_SET       0       /* seek relative to beginning of file */
 #define SEEK_CUR       1       /* seek relative to current file position */
 #define SEEK_END       2       /* seek relative to end of file */
 /* per-IO negation of O_APPEND */
 #define RWF_NOAPPEND   ((__force __kernel_rwf_t)0x00000020)
 
+/* Atomic Write */
+#define RWF_ATOMIC     ((__force __kernel_rwf_t)0x00000040)
+
+/* buffered IO that drops the cache after reading or writing data */
+#define RWF_DONTCACHE  ((__force __kernel_rwf_t)0x00000080)
+
 /* mask of flags supported by the kernel */
 #define RWF_SUPPORTED  (RWF_HIPRI | RWF_DSYNC | RWF_SYNC | RWF_NOWAIT |\
-                        RWF_APPEND | RWF_NOAPPEND)
+                        RWF_APPEND | RWF_NOAPPEND | RWF_ATOMIC |\
+                        RWF_DONTCACHE)
 
 #define PROCFS_IOCTL_MAGIC 'f'
 
 #define PAGE_IS_PFNZERO                (1 << 5)
 #define PAGE_IS_HUGE           (1 << 6)
 #define PAGE_IS_SOFT_DIRTY     (1 << 7)
+#define PAGE_IS_GUARD          (1 << 8)
 
 /*
  * struct page_region - Page region with flags