server.h 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. /*
  2. * server.h -- part of server.mod
  3. *
  4. */
  5. #ifndef _EGG_MOD_SERVER_SERVER_H
  6. #define _EGG_MOD_SERVER_SERVER_H
  7. #include "src/tclhash.h"
  8. #define DO_LOST 1
  9. #define NO_LOST 0
  10. #define fixcolon(x) do { \
  11. if ((x)[0] == ':') \
  12. (x)++; \
  13. else \
  14. (x) = newsplit(&(x)); \
  15. } while (0)
  16. #define write_to_server(x,y) do { \
  17. tputs(serv, (x), (y)); \
  18. tputs(serv, "\r\n", 2); \
  19. } while (0)
  20. struct server_list {
  21. struct server_list *next;
  22. char *name;
  23. char *pass;
  24. char *realname;
  25. port_t port;
  26. };
  27. /* Available net types. */
  28. enum {
  29. NETT_EFNET = 0, /* EfNet except new +e/+I hybrid. */
  30. NETT_IRCNET = 1, /* Ircnet. */
  31. NETT_UNDERNET = 2, /* Undernet. */
  32. NETT_DALNET = 3, /* Dalnet. */
  33. NETT_HYBRID_EFNET = 4 /* new +e/+I Efnet hybrid. */
  34. };
  35. #define IRC_CANTCHANGENICK "Can't change nickname on %s. Is my nickname banned?"
  36. #endif /* _EGG_MOD_SERVER_SERVER_H */
  37. extern bind_table_t *BT_ctcp, *BT_ctcr, *BT_msgc;
  38. extern size_t nick_len;
  39. extern bool quiet_reject, trigger_on_ignore, floodless;
  40. extern int servidx, ctcp_mode, flud_thr, flud_ctcp_thr, answer_ctcp, serv;
  41. extern port_t default_port, newserverport;
  42. extern time_t server_online, cycle_time, flud_time, flud_ctcp_time;
  43. extern char cursrvname[], botrealname[], botuserhost[], ctcp_reply[],
  44. newserver[], newserverpass[], curnetwork[], botuserip[];
  45. extern struct server_list *serverlist;
  46. int check_bind_ctcpr(char *, char *, struct userrec *, char *, char *, char *, bind_table_t *);
  47. #define check_bind_ctcp(a, b, c, d, e, f) check_bind_ctcpr(a, b, c, d, e, f, BT_ctcp)
  48. #define check_bind_ctcr(a, b, c, d, e, f) check_bind_ctcpr(a, b, c, d, e, f, BT_ctcr)
  49. bool detect_avalanche(char *);
  50. void server_report(int, int);
  51. void server_init();
  52. void queue_server(int, char *, int);
  53. void server_die();
  54. void add_server(char *);
  55. void clearq(struct server_list *);
  56. void nuke_server(const char *);
  57. bool match_my_nick(char *);