#ifndef _MUTT_ALIAS_H
#define _MUTT_ALIAS_H
+#include <lib-lib/list.h>
#include <lib-mime/mime.h>
-typedef struct alias {
- struct alias *self; /* XXX - ugly hack */
+typedef struct alias_t {
+ struct alias_t *next;
char *name;
address_t *addr;
- struct alias *next;
short tagged;
short del;
short num;
-} ALIAS;
+} alias_t;
-void mutt_create_alias (ENVELOPE *, address_t *);
-int mutt_check_alias_name (const char *, char *);
-address_t *mutt_get_address (ENVELOPE *, const char **);
-address_t *mutt_lookup_alias (const char *s);
-address_t *mutt_expand_aliases (address_t *);
-void mutt_expand_aliases_env (ENVELOPE *);
-void mutt_free_alias (ALIAS **);
-address_t *alias_reverse_lookup (address_t *);
-int mutt_alias_complete (char *, size_t);
-int mutt_addr_is_user (address_t *);
-void mutt_alias_menu (char *, size_t, ALIAS *);
+DO_INIT(alias_t, alias);
+void alias_wipe(alias_t *a);
+
+DO_NEW(alias_t, alias);
+DO_DELETE(alias_t, alias);
+DO_SLIST(alias_t, alias);
+
+const address_t *alias_lookup(const alias_t *list, const char *s);
+int mutt_addr_is_user(address_t *);
+address_t *mutt_get_address(ENVELOPE *, const char **);
+void mutt_create_alias(ENVELOPE *, address_t *);
+
+address_t *mutt_expand_aliases(address_t *);
+void mutt_expand_aliases_env(ENVELOPE *);
+address_t *alias_reverse_lookup(address_t *);
+int mutt_alias_complete(char *, size_t);
+void mutt_alias_menu(char *, size_t, alias_t *);
#endif /* !_MUTT_ALIAS_H */