irc.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #include "map.h"
  2. // IRC .conf file [Zido]
  3. #define IRC_CONF "irc_athena.conf"
  4. // IRC Access levels [Zido]
  5. #define ACCESS_OWNER 5
  6. #define ACCESS_SOP 4
  7. #define ACCESS_OP 3
  8. #define ACCESS_HOP 2
  9. #define ACCESS_VOICE 1
  10. #define ACCESS_NORM 0
  11. #define MAX_CHANNEL_USERS 500
  12. extern short use_irc;
  13. extern short irc_announce_flag;
  14. extern short irc_announce_mvp_flag;
  15. extern short irc_announce_shop_flag;
  16. extern short irc_announce_jobchange_flag;
  17. void irc_announce(char *buf);
  18. void irc_announce_jobchange(struct map_session_data *sd);
  19. void irc_announce_shop(struct map_session_data *sd,int flag);
  20. void irc_announce_mvp(struct map_session_data *sd, struct mob_data *md);
  21. int irc_parse(int fd);
  22. void do_final_irc(void);
  23. void do_init_irc(void);
  24. void irc_send(char *buf);
  25. void irc_parse_sub(int fd, char *incoming_string);
  26. int send_to_parser(int fd, char *input,char key[2]);
  27. struct IRC_Session_Info {
  28. int state;
  29. int fd;
  30. char username[30];
  31. char password[33];
  32. };
  33. typedef struct IRC_Session_Info IRC_SI;
  34. struct channel_data {
  35. struct {
  36. char name[256];
  37. int level;
  38. }user[MAX_CHANNEL_USERS];
  39. };
  40. int parse_names_packet(char *str); // [Zido]
  41. int parse_names(char *str); // [Zido]
  42. int set_access(char *nick,int level); // [Zido]
  43. int get_access(char *nick); // [Zido]
  44. int irc_rmnames(void); // [Zido]
  45. int irc_read_conf(char *file); // [Zido]