1#ifndef VSF_STRLIST_H 2#define VSF_STRLIST_H 3 4/* Forward declarations */ 5struct mystr; 6struct mystr_list_node; 7 8struct mystr_list 9{ 10 unsigned int PRIVATE_HANDS_OFF_alloc_len; 11 unsigned int PRIVATE_HANDS_OFF_list_len; 12 struct mystr_list_node* PRIVATE_HANDS_OFF_p_nodes; 13}; 14 15#define INIT_STRLIST \ 16 { 0, 0, (void*)0 } 17 18void str_list_free(struct mystr_list* p_list); 19 20void str_list_add(struct mystr_list* p_list, const struct mystr* p_str, 21 const struct mystr* p_sort_key_str); 22void str_list_sort(struct mystr_list* p_list, int reverse); 23 24int str_list_get_length(const struct mystr_list* p_list); 25int str_list_contains_str(const struct mystr_list* p_list, 26 const struct mystr* p_str); 27 28const struct mystr* str_list_get_pstr(const struct mystr_list* p_list, 29 unsigned int indexx); 30 31#endif /* VSF_STRLIST_H */ 32 33