|
@@ -188,4 +188,31 @@ bool qdf_list_has_node(qdf_list_t *list, qdf_list_node_t *node);
|
|
|
*/
|
|
|
bool qdf_list_node_in_any_list(const qdf_list_node_t *node);
|
|
|
|
|
|
+/**
|
|
|
+ * qdf_list_join - Join two lists and reinitialize the emptied list
|
|
|
+ * @list1: Pointer to list 1
|
|
|
+ * @list2: Pointer to list 2
|
|
|
+ *
|
|
|
+ * This API joins list1 and list2 and writes the resultant list (list1 + list2)
|
|
|
+ * to list1. list2 is re initialized to an empty list.
|
|
|
+ *
|
|
|
+ * Return: QDF_STATUS of operation
|
|
|
+ */
|
|
|
+QDF_STATUS qdf_list_join(qdf_list_t *list1, qdf_list_t *list2);
|
|
|
+
|
|
|
+/**
|
|
|
+ * qdf_list_split - Split a list into two chunks
|
|
|
+ * @new: Pointer to the list to store one of the chunks after splitting.
|
|
|
+ * This list will be overwritten by the API and hence it should be
|
|
|
+ * an empty list to avoid data loss.
|
|
|
+ * @list: Pointer to the list to be split
|
|
|
+ * @node: Pointer to a node within the @list. If @node is not present in
|
|
|
+ * the @list, behaviour is undefined.
|
|
|
+ *
|
|
|
+ * This API splits @list after @node. The initial portion of the @list
|
|
|
+ * up to and including @node will be moved to @new. The remaining portion will
|
|
|
+ * be assigned to @list.
|
|
|
+ */
|
|
|
+QDF_STATUS qdf_list_split(qdf_list_t *new, qdf_list_t *list,
|
|
|
+ qdf_list_node_t *node);
|
|
|
#endif /* __QDF_LIST_H */
|