00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _EGG_PARTYCHAN_H
00023 #define _EGG_PARTYCHAN_H
00024
00025 struct partychan_member {
00026 partymember_t *p;
00027 int flags;
00028 };
00029
00030 struct partychan {
00031 partychan_t *next;
00032 partychan_t *prev;
00033
00034 int cid;
00035 char *name;
00036 int flags;
00037
00038 partychan_member_t *members;
00039 int nmembers;
00040 };
00041
00042 struct partymember_common {
00043 partymember_common_t *next;
00044 partymember_t **members;
00045 int len;
00046 int max;
00047 };
00048
00049
00050 partychan_t *partychan_new(int cid, const char *name);
00051 void partychan_delete(partychan_t *chan);
00052 partychan_t *partychan_lookup_cid(int cid);
00053 partychan_t *partychan_lookup_name(const char *name);
00054 partychan_t *partychan_get_default(partymember_t *p);
00055 int partychan_ison_name(const char *chan, partymember_t *p);
00056 int partychan_ison(partychan_t *chan, partymember_t *p);
00057 int partychan_join_name(const char *chan, partymember_t *p, int linking);
00058 int partychan_join_cid(int cid, partymember_t *p, int linking);
00059 int partychan_join(partychan_t *chan, partymember_t *p, int linking);
00060 int partychan_part_name(const char *chan, partymember_t *p, const char *text);
00061 int partychan_part_cid(int cid, partymember_t *p, const char *text);
00062 int partychan_part(partychan_t *chan, partymember_t *p, const char *text);
00063 int partychan_msg_name(const char *name, botnet_entity_t *src, const char *text, int len);
00064 int partychan_msg_cid(int cid, botnet_entity_t *src, const char *text, int len);
00065 int partychan_msg(partychan_t *chan, botnet_entity_t *src, const char *text, int len);
00066 int localchan_msg(partychan_t *chan, botnet_entity_t *src, const char *text, int len);
00067 partymember_common_t *partychan_get_common(partymember_t *p);
00068 int partychan_free_common(partymember_common_t *common);
00069
00070 #endif
00071