return ((unsigned long)entry & 3) == 2;
}
-#define XA_ZERO_ENTRY xa_mk_internal(257)
+#define XA_ZERO_ENTRY xa_mk_internal(259)
/**
* xa_is_zero() - Is the entry a zero entry?
return unlikely(entry == XA_RETRY_ENTRY);
}
+#define XA_SKIP_ENTRY xa_mk_internal(257)
+
+/**
+ * xa_is_skip() - Is the entry a skip entry?
+ * @entry: Entry retrieved from the XArray
+ *
+ * Return: %true if the entry is a skip entry.
+ */
+static inline bool xa_is_skip(const void *entry)
+{
+ return unlikely(entry == XA_SKIP_ENTRY);
+}
+
+#define XA_DELETED_ENTRY xa_mk_internal(258)
+
+/**
+ * xa_is_deleted() - has the entry been deleted?
+ * @entry: Entry retrieved from the XArray
+ *
+ * Return: %true if the entry has been deleted.
+ */
+static inline bool xa_is_deleted(const void *entry)
+{
+ return unlikely(entry == XA_DELETED_ENTRY);
+}
+
/**
* xa_is_advanced() - Is the entry only permitted for the advanced API?
* @entry: Entry to be stored in the XArray.