]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - include/linux/darray_types.h
Update bcachefs sources to 50847e296b34 bcachefs: Check subvol <-> inode pointers...
[bcachefs-tools-debian] / include / linux / darray_types.h
diff --git a/include/linux/darray_types.h b/include/linux/darray_types.h
new file mode 100644 (file)
index 0000000..a400a0c
--- /dev/null
@@ -0,0 +1,22 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * (C) 2022-2024 Kent Overstreet <kent.overstreet@linux.dev>
+ */
+#ifndef _LINUX_DARRAY_TYpES_H
+#define _LINUX_DARRAY_TYpES_H
+
+#include <linux/types.h>
+
+#define DARRAY_PREALLOCATED(_type, _nr)                                        \
+struct {                                                               \
+       size_t nr, size;                                                \
+       _type *data;                                                    \
+       _type preallocated[_nr];                                        \
+}
+
+#define DARRAY(_type) DARRAY_PREALLOCATED(_type, 0)
+
+typedef DARRAY(char)   darray_char;
+typedef DARRAY(char *) darray_str;
+
+#endif /* _LINUX_DARRAY_TYpES_H */