struct kmod_list *kmod_list_remove(struct kmod_list *list);
struct kmod_list *kmod_list_remove_data(struct kmod_list *list,
const void *data) __must_check;
-
+struct kmod_list *kmod_list_remove_n_latest(struct kmod_list *list,
+ unsigned int n) __must_check;
/* libkmod.c */
const char *kmod_get_dirname(struct kmod_ctx *ctx) __attribute__((nonnull(1)));
+int kmod_lookup_alias_from_config(struct kmod_ctx *ctx, const char *name, struct kmod_list **list);
+int kmod_lookup_alias_from_symbols_file(struct kmod_ctx *ctx, const char *name, struct kmod_list **list);
+int kmod_lookup_alias_from_aliases_file(struct kmod_ctx *ctx, const char *name, struct kmod_list **list);
+int kmod_lookup_alias_from_moddep_file(struct kmod_ctx *ctx, const char *name, struct kmod_list **list);
/* libkmod-config.c */
struct kmod_config {
char *getline_wrapped(FILE *fp, unsigned int *linenum);
char *underscores(struct kmod_ctx *ctx, char *s);
#define streq(a, b) (strcmp((a), (b)) == 0)
+bool startswith(const char *s, const char *prefix);
#endif