cfg.h 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. #ifndef _CFG_H
  2. #define _CFG_H
  3. #ifdef HAVE_CONFIG_H
  4. # include "config.h"
  5. #endif
  6. #define CFGF_GLOBAL 1 /* Accessible as .config */
  7. #define CFGF_LOCAL 2 /* Accessible as .botconfig */
  8. typedef struct cfg_entry {
  9. char *name;
  10. int flags;
  11. char *gdata;
  12. char *ldata;
  13. void (*globalchanged) (struct cfg_entry *, int *valid);
  14. void (*localchanged) (struct cfg_entry *, int *valid);
  15. #ifdef HUB
  16. void (*describe) (struct cfg_entry *, int idx);
  17. #endif /* HUB */
  18. } cfg_entry_T;
  19. extern struct cfg_entry CFG_MOTD, CFG_CMDPREFIX, CFG_FORKINTERVAL, CFG_CHANSET, CFG_SERVERS, CFG_SERVERS6,
  20. CFG_NICK, CFG_REALNAME, CFG_INBOTS, CFG_LAGTHRESHOLD, CFG_OPREQUESTS,
  21. CFG_OPBOTS, CFG_INBOTS, CFG_SERVPORT, CFG_AUTHKEY, CFG_MSGOP, CFG_MSGPASS,
  22. CFG_MSGINVITE, CFG_MSGIDENT, CFG_LOGIN, CFG_HIJACK, CFG_TRACE, CFG_PROMISC,
  23. CFG_BADPROCESS, CFG_PROCESSLIST, CFG_FIGHTTHRESHOLD, CFG_CLOSETHRESHOLD, CFG_KILLTHRESHOLD,
  24. CFG_DCCAUTH;
  25. #ifdef G_MEAN
  26. extern struct cfg_entry CFG_MEANDEOP, CFG_MEANKICK, CFG_MEANBAN;
  27. #endif /* G_MEAN */
  28. void set_cfg_str(char *, char *, char *);
  29. void add_cfg(struct cfg_entry *);
  30. void got_config_share(int, char *, int);
  31. void userfile_cfg_line(char *);
  32. void trigger_cfg_changed();
  33. int check_cmd_pass(const char *, char *);
  34. int has_cmd_pass(const char *);
  35. void set_cmd_pass(char *, int);
  36. extern struct cmd_pass *cmdpass;
  37. extern char cmdprefix;
  38. extern int cfg_count;
  39. extern bool cfg_noshare;
  40. extern struct cfg_entry **cfg;
  41. #define OP_BOTS (CFG_OPBOTS.gdata ? atoi(CFG_OPBOTS.gdata) : 1)
  42. #define IN_BOTS (CFG_INBOTS.gdata ? atoi(CFG_INBOTS.gdata) : 1)
  43. #define LAG_THRESHOLD (CFG_LAGTHRESHOLD.gdata ? atoi(CFG_LAGTHRESHOLD.gdata) : 15)
  44. #define OPREQ_COUNT (CFG_OPREQUESTS.gdata ? atoi( CFG_OPREQUESTS.gdata ) : 2)
  45. #define OPREQ_SECONDS (CFG_OPREQUESTS.gdata ? atoi( strchr(CFG_OPREQUESTS.gdata, ':') + 1 ) : 5)
  46. #define msgop CFG_MSGOP.ldata ? CFG_MSGOP.ldata : CFG_MSGOP.gdata ? CFG_MSGOP.gdata : ""
  47. #define msgpass CFG_MSGPASS.ldata ? CFG_MSGPASS.ldata : CFG_MSGPASS.gdata ? CFG_MSGPASS.gdata : ""
  48. #define msginvite CFG_MSGINVITE.ldata ? CFG_MSGINVITE.ldata : CFG_MSGINVITE.gdata ? CFG_MSGINVITE.gdata : ""
  49. #define msgident CFG_MSGIDENT.ldata ? CFG_MSGIDENT.ldata : CFG_MSGIDENT.gdata ? CFG_MSGIDENT.gdata : ""
  50. #define kill_threshold (CFG_KILLTHRESHOLD.gdata ? atoi(CFG_KILLTHRESHOLD.gdata) : 0)
  51. #define dccauth CFG_DCCAUTH.ldata ? 1 : CFG_DCCAUTH.gdata ? 1 : 0
  52. #endif /* !_CFG_H */