#include <string.h>
#include <time.h>
#include <stdarg.h>
+#include <stdint.h>
+
#include "../lib/sstring.h"
#include "../core/schedule.h"
#include "../lib/flags.h"
#include "../channel/channel.h"
#include "../parser/parser.h"
#include "../localuser/localuserchannel.h"
+
+#ifndef CS_NODB
#include "../dbapi/dbapi.h"
+#endif
#define CS_PARANOID
#include "chanserv_messages.h"
+#define CSMIN(a, b) ((a)<(b)?(a):(b))
+#define CSMAX(a, b) ((a)>(b)?(a):(b))
+
/* List of privileged operations */
#define QPRIV_SUSPENDBYPASS 1
extern int chanserv_init_status;
extern int chanservdb_ready;
+
+#ifndef CS_NODB
extern DBModuleIdentifier q9dbid, q9adbid, q9cdbid, q9udbid;
+#endif
extern maildomain *maildomainnametable[MAILDOMAINHASHSIZE];
extern maildomain *maildomainIDtable[MAILDOMAINHASHSIZE];
void chanservjoinchan(channel *cp);
#define chanservsendmessage(np, fmt, args...) chanservsendmessage_real(np, 0, fmt , ## args)
#define chanservsendmessageoneline(np, fmt, args...) chanservsendmessage_real(np, 1, fmt , ## args)
-void chanservsendmessage_real(nick *np, int oneline, char *message, ... );
-void chanservwallmessage(char *message, ... );
+void chanservsendmessage_real(nick *np, int oneline, char *message, ... ) __attribute__ ((format (printf, 3, 4)));;
+void chanservwallmessage(char *message, ... ) __attribute__ ((format (printf, 1, 2)));
void chanservcommandinit();
void chanservcommandclose();
void chanservstdmessage(nick *np, int messageid, ... );
/* chanservlog.c */
void cs_initlog();
void cs_closelog();
-void cs_log(nick *np, char *event, ...);
+void cs_log(nick *np, char *event, ...) __attribute__ ((format (printf, 2, 3)));
/* chanservdump.c */
int dumplastjoindata(const char *filename);
void csdb_createmaildomain(maildomain *mdp);
void csdb_updatemaildomain(maildomain *mdp);
void csdb_chanlevhistory_insert(regchan *rcp, nick *np, reguser *trup, flag_t oldflags, flag_t newflags);
-void csdb_accounthistory_insert(nick *np, char *oldpass, char *newpass, sstring *oldemail, sstring *newemail);
+void csdb_accounthistory_insert(nick *np, char *oldpass, char *newpass, char *oldemail, char *newemail);
void csdb_cleanuphistories();
void csdb_deletemaillock(maillock *mlp);
void csdb_createmaillock(maillock *mlp);
void q9vsnprintf(char *buf, size_t size, const char *format, const char *args, va_list ap);
/* chanserv_flags.c */
-flag_t cs_accountflagmap(reguser *rup);
-flag_t cs_accountflagmap_str(char *flags);
+u_int64_t cs_accountflagmap(reguser *rup);
+u_int64_t cs_accountflagmap_str(char *flags);
#endif