#ifndef __AUTHEXT_H
#define __AUTHEXT_H
+#include "../irc/irc_config.h"
#include "../lib/flags.h"
+#include "../lib/ccassert.h"
+
+#include <sys/types.h>
#define MAXAUTHNAMEEXTS 5
+/* checking to see that u_int64_t == unsigned long long for strtoull */
+CCASSERT(sizeof(unsigned long long) == sizeof(u_int64_t))
+
struct nick;
typedef struct authname {
struct nick *nicks;
struct authname *next, *nextbyname;
unsigned int namebucket;
- flag_t flags;
+ u_int64_t flags;
+ char name[ACCOUNTLEN+1];
/* These are extensions only used by other modules */
void *exts[MAXAUTHNAMEEXTS];
} authname;
void freeauthname (authname *hp);
/* EXT management */
-int registerauthnameext(const char *name);
+int registerauthnameext(const char *name, int persistant);
int findauthnameext(const char *name);
void releaseauthnameext(int index);