*
* srvx is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*
* srvx is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
#define HI_FLAG_NODELETE 0x00000080
#define HI_FLAG_NETWORK_HELPER 0x00000100
#define HI_FLAG_BOT 0x00000200
#define HI_FLAG_NODELETE 0x00000080
#define HI_FLAG_NETWORK_HELPER 0x00000100
#define HI_FLAG_BOT 0x00000200
struct handle_info {
struct nick_info *nicks;
struct string_list *masks;
struct userNode *users;
struct userData *channels;
struct handle_cookie *cookie;
struct handle_info {
struct nick_info *nicks;
struct string_list *masks;
struct userNode *users;
struct userData *channels;
struct handle_cookie *cookie;
int oper_has_access(struct userNode *user, struct userNode *bot, unsigned int min_level, unsigned int quiet);
void nickserv_show_oper_accounts(struct userNode *user, struct svccmd *cmd);
int oper_has_access(struct userNode *user, struct userNode *bot, unsigned int min_level, unsigned int quiet);
void nickserv_show_oper_accounts(struct userNode *user, struct svccmd *cmd);
/* auth_funcs are called when a user gets a new handle_info. They are
* called *after* user->handle_info has been updated. */
typedef void (*auth_func_t)(struct userNode *user, struct handle_info *old_handle);
/* auth_funcs are called when a user gets a new handle_info. They are
* called *after* user->handle_info has been updated. */
typedef void (*auth_func_t)(struct userNode *user, struct handle_info *old_handle);
typedef void (*failpw_func_t)(struct userNode *user, struct handle_info *handle);
void reg_failpw_func(failpw_func_t func);
typedef void (*failpw_func_t)(struct userNode *user, struct handle_info *handle);
void reg_failpw_func(failpw_func_t func);