#ifndef VSF_STRLIST_H #define VSF_STRLIST_H /* Forward declarations */ struct mystr; struct mystr_list_node; struct mystr_list { unsigned int PRIVATE_HANDS_OFF_alloc_len; unsigned int PRIVATE_HANDS_OFF_list_len; struct mystr_list_node* PRIVATE_HANDS_OFF_p_nodes; }; #define INIT_STRLIST \ { 0, 0, (void*)0 } void str_list_free(struct mystr_list* p_list); void str_list_add(struct mystr_list* p_list, const struct mystr* p_str, const struct mystr* p_sort_key_str); void str_list_sort(struct mystr_list* p_list, int reverse); int str_list_get_length(const struct mystr_list* p_list); int str_list_contains_str(const struct mystr_list* p_list, const struct mystr* p_str); const struct mystr* str_list_get_pstr(const struct mystr_list* p_list, unsigned int indexx); #endif /* VSF_STRLIST_H */