/* * this 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 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, see ."; * * (c) Alexander Vdolainen 2007, 2026 * subrelay: a minimalistic maillist server based on external IMAPs/SMTPs * * subscribers.h: mail list subscribers pool * */ #ifndef __SUBSCRIBERS_H__ #define __SUBSCRIBERS_H__ #include typedef struct subscriber_entry { splay_node_t node; char *email; } subscriber_entry_t; typedef struct subscriber_pool { splay_t tree; char *filepath; } subscriber_pool_t; int subscriber_pool_init(subscriber_pool_t *pool, const char *filepath); void subscriber_pool_destroy(subscriber_pool_t *pool); int subscriber_add(subscriber_pool_t *pool, const char *email); int subscriber_remove(subscriber_pool_t *pool, const char *email); int subscriber_exists(subscriber_pool_t *pool, const char *email); int subscriber_load_file(subscriber_pool_t *pool); int subscriber_save_file(subscriber_pool_t *pool); #endif /* __SUBSCRIBERS_H__ */