mirror of
https://github.com/irssi/irssi.git
synced 2026-08-15 22:52:15 +02:00
47 lines
1.1 KiB
C
47 lines
1.1 KiB
C
|
|
#ifndef __BOT_USERS_H
|
||
|
|
#define __BOT_USERS_H
|
||
|
|
|
||
|
|
#define USER_OP 0x0001
|
||
|
|
#define USER_AUTO_OP 0x0002
|
||
|
|
#define USER_AUTO_VOICE 0x0004
|
||
|
|
#define USER_MASTER 0x0008
|
||
|
|
|
||
|
|
#define USER_FLAG_COUNT 4
|
||
|
|
|
||
|
|
/* Channel specific flags */
|
||
|
|
typedef struct {
|
||
|
|
char *channel;
|
||
|
|
int flags;
|
||
|
|
NICK_REC *nickrec; /* Nick record in channel,
|
||
|
|
FIXME: User can be in channel with multiple nicks too! */
|
||
|
|
} USER_CHAN_REC;
|
||
|
|
|
||
|
|
typedef struct {
|
||
|
|
char *mask;
|
||
|
|
int not_flags; /* do not let this mask use these flags.. */
|
||
|
|
} USER_MASK_REC;
|
||
|
|
|
||
|
|
/* User specific flags */
|
||
|
|
typedef struct {
|
||
|
|
char *nick;
|
||
|
|
int flags;
|
||
|
|
char *password;
|
||
|
|
|
||
|
|
GSList *masks;
|
||
|
|
GHashTable *channels;
|
||
|
|
|
||
|
|
int not_flags; /* active not_flags based on current host mask,
|
||
|
|
botuser_find() updates this */
|
||
|
|
} USER_REC;
|
||
|
|
|
||
|
|
int botuser_flags2value(const char *flags);
|
||
|
|
char *botuser_value2flags(int value);
|
||
|
|
|
||
|
|
USER_REC *botuser_find(const char *nick, const char *host);
|
||
|
|
USER_REC *botuser_find_rec(CHANNEL_REC *channel, NICK_REC *nick);
|
||
|
|
USER_MASK_REC *botuser_add_mask(USER_REC *user, const char *mask);
|
||
|
|
|
||
|
|
void botuser_set_password(USER_REC *user, const char *password);
|
||
|
|
int botuser_verify_password(USER_REC *user, const char *password);
|
||
|
|
|
||
|
|
#endif
|