libalpm
Arch Linux Package Manager Library
|
#include <stdlib.h>
Go to the source code of this file.
Data Structures | |
struct | __alpm_list_t |
Linked list type used by libalpm. More... | |
Defines | |
#define | FREELIST(p) do { alpm_list_free_inner(p, free); alpm_list_free(p); p = NULL; } while(0) |
Typedefs | |
typedef struct __alpm_list_t | alpm_list_t |
Linked list type used by libalpm. | |
typedef void(* | alpm_list_fn_free )(void *) |
typedef int(* | alpm_list_fn_cmp )(const void *, const void *) |
Functions | |
void | alpm_list_free (alpm_list_t *list) |
Free a list, but not the contained data. | |
void | alpm_list_free_inner (alpm_list_t *list, alpm_list_fn_free fn) |
Free the internal data of a list structure. | |
alpm_list_t * | alpm_list_add (alpm_list_t *list, void *data) |
Add a new item to the end of the list. | |
alpm_list_t * | alpm_list_add_sorted (alpm_list_t *list, void *data, alpm_list_fn_cmp fn) |
Add items to a list in sorted order. | |
alpm_list_t * | alpm_list_join (alpm_list_t *first, alpm_list_t *second) |
Join two lists. | |
alpm_list_t * | alpm_list_mmerge (alpm_list_t *left, alpm_list_t *right, alpm_list_fn_cmp fn) |
Merge the two sorted sublists into one sorted list. | |
alpm_list_t * | alpm_list_msort (alpm_list_t *list, size_t n, alpm_list_fn_cmp fn) |
Sort a list of size `n` using mergesort algorithm. | |
alpm_list_t * | alpm_list_remove_item (alpm_list_t *haystack, alpm_list_t *item) |
Remove an item from the list. | |
alpm_list_t * | alpm_list_remove (alpm_list_t *haystack, const void *needle, alpm_list_fn_cmp fn, void **data) |
Remove an item from the list. | |
alpm_list_t * | alpm_list_remove_str (alpm_list_t *haystack, const char *needle, char **data) |
Remove a string from a list. | |
alpm_list_t * | alpm_list_remove_dupes (const alpm_list_t *list) |
Create a new list without any duplicates. | |
alpm_list_t * | alpm_list_strdup (const alpm_list_t *list) |
Copy a string list, including data. | |
alpm_list_t * | alpm_list_copy (const alpm_list_t *list) |
Copy a list, without copying data. | |
alpm_list_t * | alpm_list_copy_data (const alpm_list_t *list, size_t size) |
Copy a list and copy the data. | |
alpm_list_t * | alpm_list_reverse (alpm_list_t *list) |
Create a new list in reverse order. | |
alpm_list_t * | alpm_list_nth (const alpm_list_t *list, size_t n) |
Return nth element from list (starting from 0). | |
alpm_list_t * | alpm_list_next (const alpm_list_t *list) |
Get the next element of a list. | |
alpm_list_t * | alpm_list_previous (const alpm_list_t *list) |
Get the previous element of a list. | |
alpm_list_t * | alpm_list_last (const alpm_list_t *list) |
Get the last item in the list. | |
size_t | alpm_list_count (const alpm_list_t *list) |
Get the number of items in a list. | |
void * | alpm_list_find (const alpm_list_t *haystack, const void *needle, alpm_list_fn_cmp fn) |
Find an item in a list. | |
void * | alpm_list_find_ptr (const alpm_list_t *haystack, const void *needle) |
Find an item in a list. | |
char * | alpm_list_find_str (const alpm_list_t *haystack, const char *needle) |
Find a string in a list. | |
alpm_list_t * | alpm_list_diff (const alpm_list_t *lhs, const alpm_list_t *rhs, alpm_list_fn_cmp fn) |
Find the items in list `lhs` that are not present in list `rhs`. | |
void | alpm_list_diff_sorted (const alpm_list_t *left, const alpm_list_t *right, alpm_list_fn_cmp fn, alpm_list_t **onlyleft, alpm_list_t **onlyright) |
Find the differences between list `left` and list `right`. | |
void * | alpm_list_to_array (const alpm_list_t *list, size_t n, size_t size) |
Copy a list and data into a standard C array of fixed length. |
#define FREELIST | ( | p | ) | do { alpm_list_free_inner(p, free); alpm_list_free(p); p = NULL; } while(0) |
Definition at line 45 of file alpm_list.h.
Referenced by _alpm_db_find_fileconflicts(), _alpm_db_free(), _alpm_handle_free(), _alpm_pkg_free(), _alpm_trans_free(), alpm_db_set_servers(), alpm_db_unregister_all(), alpm_option_set_cachedirs(), alpm_option_set_ignoregroups(), alpm_option_set_ignorepkgs(), alpm_option_set_noextracts(), alpm_option_set_noupgrades(), cb_progress(), config_free(), display_targets(), dump_pkg_full(), pacman_remove(), pacman_sync(), select_display(), and sync_prepare_execute().
typedef int(* alpm_list_fn_cmp)(const void *, const void *) |
Definition at line 48 of file alpm_list.h.
typedef void(* alpm_list_fn_free)(void *) |
Definition at line 47 of file alpm_list.h.
typedef struct __alpm_list_t alpm_list_t |
Linked list type used by libalpm.
It is exposed so front ends can use it to prevent the need to reimplement lists of their own; however, it is not required that the front end uses it.