X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=alias.h;h=29231bf95c7bc08413f2eeaa65569bf01a5d5706;hp=59086f5b568919bde82cc584b760d40ab5f5eb2b;hb=05e61a9707a6da5c0bca77aa7c3c019a918494de;hpb=c88f8ebd5e7542e4ee2ac2c24dfd5f358dbb4235 diff --git a/alias.h b/alias.h index 59086f5..29231bf 100644 --- a/alias.h +++ b/alias.h @@ -1,3 +1,21 @@ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + * MA 02110-1301, USA. + * + * Copyright © 2006 Pierre Habouzit + */ /* * Copyright notice from original mutt: * Copyright (C) 1996-2000 Michael R. Elkins @@ -9,28 +27,41 @@ #ifndef _MUTT_ALIAS_H #define _MUTT_ALIAS_H +#include +#include + #include -typedef struct alias { - struct alias *self; /* XXX - ugly hack */ - char *name; - address_t *addr; - struct alias *next; - short tagged; - short del; - short num; -} ALIAS; - -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 *); +int luaopen_MAlias(lua_State *L); + +typedef struct alias_t { + struct alias_t *next; + char *name; + address_t *addr; + short tagged; + short del; + short num; +} alias_t; + +extern alias_t *Aliases; + +DO_INIT(alias_t, alias); +static inline void alias_wipe(alias_t *a) { + address_list_wipe(&a->addr); +} +DO_NEW(alias_t, alias); +DO_DELETE(alias_t, alias); +DO_SLIST(alias_t, alias, alias_delete); + +const address_t *alias_lookup(const char *s); +const address_t *alias_reverse_lookup(const address_t *); + +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 *); +int mutt_alias_complete(char *, size_t); #endif /* !_MUTT_ALIAS_H */