···4949u_string_list_create_from_list(struct u_string_list *usl);
50505151/*!
5252+ * @brief Create a new string list from an array of suitable strings.
5353+ *
5454+ * @param arr an array of zero or more non-null, null-terminated string that must live at least as long as the list,
5555+ * preferably string literals.
5656+ * @param size the number of elements in the array.
5757+ *
5858+ * @public @memberof u_string_list
5959+ */
6060+struct u_string_list *
6161+u_string_list_create_from_array(const char *const *arr, uint32_t size);
6262+6363+/*!
5264 * @brief Retrieve the number of elements in the list
5365 *
5466 * @public @memberof u_string_list
···7688 */
7789int
7890u_string_list_append(struct u_string_list *usl, const char *str);
9191+9292+9393+/*!
9494+ * @brief Append an array of new string literals to the list.
9595+ *
9696+ * @param usl self pointer
9797+ * @param arr an array of zero or more non-null, null-terminated string that must live at least as long as the list,
9898+ * preferably string literals.
9999+ * @param size the number of elements in the array.
100100+ * @return 1 if successfully added, negative for errors.
101101+ *
102102+ * @public @memberof u_string_list
103103+ */
104104+int
105105+u_string_list_append_array(struct u_string_list *usl, const char *const *arr, uint32_t size);
7910680107/*!
81108 * @brief Append a new string literal to the list, if it's not the same as a string already in the list.