diff options
Diffstat (limited to 'src/old-stats/client.h')
-rw-r--r-- | src/old-stats/client.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/old-stats/client.h b/src/old-stats/client.h new file mode 100644 index 0000000..5650d7f --- /dev/null +++ b/src/old-stats/client.h @@ -0,0 +1,35 @@ +#ifndef CLIENT_H +#define CLIENT_H + +struct client { + struct client *prev, *next; + + int fd; + struct io *io; + struct istream *input; + struct ostream *output; + struct timeout *to_pending; + + pool_t cmd_pool; + struct client_export_cmd *cmd_export; + int (*cmd_more)(struct client *client); + + /* command iterators. while non-NULL, they've increased the + struct's refcount so it won't be deleted during iteration */ + unsigned int iter_count; + struct mail_command *mail_cmd_iter; + struct mail_session *mail_session_iter; + struct mail_user *mail_user_iter; + struct mail_domain *mail_domain_iter; + struct mail_ip *mail_ip_iter; +}; + +struct client *client_create(int fd); +void client_destroy(struct client **client); + +bool client_is_busy(struct client *client); +void client_enable_io(struct client *client); + +void clients_destroy_all(void); + +#endif |