doveadm-util.h revision c9dd53f7180a78668cbc1e6eb34d5b1722beccb9
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen#ifndef DOVEADM_UTIL_H
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen#define DOVEADM_UTIL_H
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
16f816d3f3c32ae3351834253f52ddd0212bcbf3Timo Sirainen#include "net.h"
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen#define DOVEADM_SERVER_PROTOCOL_VERSION_MAJOR 1
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen#define DOVEADM_SERVER_PROTOCOL_VERSION_MINOR 1
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen#define DOVEADM_SERVER_PROTOCOL_VERSION_LINE "VERSION\tdoveadm-server\t1\t1"
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen#define DOVEADM_CLIENT_PROTOCOL_VERSION_LINE "VERSION\tdoveadm-client\t1\t1"
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainenextern bool doveadm_verbose, doveadm_debug, doveadm_server;
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
8afec4d1a32b78f540257a27769b372aad753384Timo Sirainenconst char *unixdate2str(time_t timestamp);
56561d472db25ebda35ae6afdc7f7deb75c323fcTimo Sirainenconst char *doveadm_plugin_getenv(const char *name);
94a8cb0ee1d85569ad1a2acacd92d3ce22f8a1cbTimo Sirainenint doveadm_connect(const char *path);
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainenint doveadm_tcp_connect(const char *target, in_port_t default_port);
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainenint doveadm_connect_with_default_port(const char *path,
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen in_port_t default_port);
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainenvoid doveadm_load_modules(void);
bcf5af3335a814e4923ba1bf2e0d80eb6dabfb22Timo Sirainenvoid doveadm_unload_modules(void);
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainenbool doveadm_has_unloaded_plugin(const char *name);
5a58037ad75b88356d82240fab2bc604de03107eTimo Sirainen
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainenchar doveadm_log_type_to_char(enum log_type type) ATTR_PURE;
0cb2e8eb55e70f8ebe1e8349bdf49e4cbe5d8834Timo Sirainenbool doveadm_log_type_from_char(char c, enum log_type *type_r);
b032dc80e358f09893f09999f172ff12f5dbbb8eTimo Sirainen
94a8cb0ee1d85569ad1a2acacd92d3ce22f8a1cbTimo Sirainen/* Similar to strcmp(), except "camel case" == "camel-case" == "camelCase".
94a8cb0ee1d85569ad1a2acacd92d3ce22f8a1cbTimo Sirainen Otherwise the comparison is case-sensitive. */
b032dc80e358f09893f09999f172ff12f5dbbb8eTimo Sirainenint i_strccdascmp(const char *a, const char *b) ATTR_PURE;
94a8cb0ee1d85569ad1a2acacd92d3ce22f8a1cbTimo Sirainen
94a8cb0ee1d85569ad1a2acacd92d3ce22f8a1cbTimo Sirainen#endif
94a8cb0ee1d85569ad1a2acacd92d3ce22f8a1cbTimo Sirainen